Timeline
Oct 17, 2016:
- 11:03 PM Changeset in webkit [207454] by
-
- 4 edits in trunk/Source/WebKit2
NetworkSession: PendingDownload is leaked if canceled before willDecidePendingDownloadDestination
https://bugs.webkit.org/show_bug.cgi?id=163545
Reviewed by Alex Christensen.
If a download started by DownloadManager::startDownload() is cancelled before
DownloadManager::willDecidePendingDownloadDestination() is called, DownloadManager::cancelDownload() does
nothing, because the Download hasn't been created yet and m_downloadsWaitingForDestination map doesn't contain
the download ID, and the PendingDownload is never removed from the m_pendingDownloads map.
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::cancelDownload): Always take the PendingDownload from m_pendingDownloads map. Then, if
the download was already in m_downloadsWaitingForDestination map, get the network data task to properly cancel
it and then call the completion handler to ignore the request. Otherwise cancel the pending download if exists.
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::cancel): Cancel the network load and notify the UI process that the download was canceled.
- NetworkProcess/Downloads/PendingDownload.h:
- 7:02 PM Changeset in webkit [207453] by
-
- 18 edits2 adds in trunk
Add support for WASM Memory.
https://bugs.webkit.org/show_bug.cgi?id=161710
Reviewed by Geoffrey Garen.
JSTests:
Add store and load opcodes to wasm.json. Additionally, add new
enums for those opcodes in the generator.
- stress/wasm/generate-wasmops-header.js:
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.LoadOpType):
(const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.StoreOpType):
Source/JavaScriptCore:
This patch add initial support for WASM memory operations. First,
it adds the concept of a WASM Module memory management object.
This object currently mmaps a 32-bit address space for WASM use,
although it marks all the memory outside the current breakpoint as
PROT_NONE. For now, we do a range check on each store and load. In
the future, we should change this to be an signal handler that
checks what module the program trapped in.
Additionally, this patch changes the way that our temporary tests
call into WASM code. There is now a true "thunk" that relocates
arguments and calls into WASM. This thunk does not tail call
because we use pinned values to memory base-pointer and
size. We use the new B3 pinned register api to pin the values.
- CMakeLists.txt:
- Configurations/ToolExecutable.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- testWASM.cpp:
(runWASMTests):
(main):
- wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::createJSWrapper):
(JSC::WASM::parseAndCompile):
- wasm/WASMB3IRGenerator.h:
- wasm/WASMCallingConvention.h:
(JSC::WASM::CallingConvention::iterate):
(JSC::WASM::CallingConvention::setupCall):
(JSC::WASM::nextJSCOffset):
- wasm/WASMFormat.h:
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::parseExpression):
- wasm/WASMMemory.cpp: Copied from Source/JavaScriptCore/wasm/WASMPlan.cpp.
(JSC::WASM::Memory::Memory):
- wasm/WASMMemory.h: Copied from Source/JavaScriptCore/wasm/WASMModuleParser.h.
(JSC::WASM::Memory::~Memory):
(JSC::WASM::Memory::memory):
(JSC::WASM::Memory::size):
(JSC::WASM::Memory::pinnedRegisters):
(JSC::WASM::Memory::mode):
(JSC::WASM::Memory::growMemory):
(JSC::WASM::Memory::offsetOfSize):
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse):
(JSC::WASM::ModuleParser::parseMemory):
- wasm/WASMModuleParser.h:
(JSC::WASM::ModuleParser::functionInformation):
(JSC::WASM::ModuleParser::memory):
- wasm/WASMOps.h:
- wasm/WASMPlan.cpp:
(JSC::WASM::Plan::Plan):
- wasm/WASMPlan.h:
- wasm/WASMSections.h:
- 6:25 PM Changeset in webkit [207452] by
-
- 3 edits in tags/Safari-603.1.9.0.1/Source/WebCore
Merged r207446. rdar://problem/28786160
- 6:22 PM Changeset in webkit [207451] by
-
- 5 edits in tags/Safari-603.1.9.0.1/Source
Versioning.
- 6:17 PM Changeset in webkit [207450] by
-
- 1 copy in tags/Safari-603.1.9.0.1
New tag.
- 6:17 PM Changeset in webkit [207449] by
-
- 1 delete in tags/Safari-603.1.9.1
Delete tag.
- 6:14 PM Changeset in webkit [207448] by
-
- 1 copy in tags/Safari-603.1.9.1
New tag.
- 6:08 PM Changeset in webkit [207447] by
-
- 14 edits2 adds in trunk
Add test and infrastructure for link popover
https://bugs.webkit.org/show_bug.cgi?id=163406
Patch by Megan Gardner <Megan Gardner> on 2016-10-17
Reviewed by Simon Fraser.
Source/WebKit2:
Add infrastructure to see when a link popover appears, and what URL it has loaded.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView didShowForcePressPreview]):
(-[WKWebView didDismissForcePressPreview]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _contentsOfUserInterfaceItem:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _previewItemController:didDismissPreview:committing:]):
(-[WKContentView _previewItemControllerDidCancelPreview:]):
Tools:
Added functionality test for link popovers.
Can query for what URL is loaded, and that the popover has appeared or has
been dismissed.
Added a link popover test.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptContext.h:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setDidShowForcePressPreviewCallback):
(WTR::UIScriptController::didShowForcePressPreviewCallback):
(WTR::UIScriptController::setDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::didDismissForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::didEndFormControlInteractionCallback): Deleted.
(WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
(-[TestRunnerWKWebView didShowForcePressPreview]):
(-[TestRunnerWKWebView didDismissForcePressPreview]):
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
LayoutTests:
- fast/events/touch/ios/iphone7/force-press-on-link-expected.txt: Added.
- fast/events/touch/ios/iphone7/force-press-on-link.html: Added.
- 6:00 PM Changeset in webkit [207446] by
-
- 3 edits in trunk/Source/WebCore
Remove dependency cycle with UIKit
https://bugs.webkit.org/show_bug.cgi?id=163577
<rdar://problem/28786160>
Reviewed by Tim Horton.
Soft link against UIKit.
- Configurations/WebCoreTestSupport.xcconfig:
- testing/Internals.mm:
- 5:45 PM Changeset in webkit [207445] by
-
- 4 edits in trunk
REGRESSION (r169805): WKWebView canGoBack returning YES when nothing is in the back-forward list after restoring session state
https://bugs.webkit.org/show_bug.cgi?id=163573
<rdar://problem/28744549>
Reviewed by Dan Bernstein.
Source/WebKit2:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::restoreFromSessionState):
Update PageLoadState's canGoBack/canGoForward bits when restoring from
session state, because in the don't-navigate case, nothing else will make this happen,
and it will remain stale.
Tools:
- TestWebKitAPI/Tests/WebKit2/WKBackForwardList.mm:
(TEST):
Add a test ensuring that canGoBack returns NO after restoring session state without navigating.
- 5:36 PM Changeset in webkit [207444] by
-
- 12 edits4 adds in trunk
Web Inspector: Add toggles for debugger pauses at console.assert failures
https://bugs.webkit.org/show_bug.cgi?id=139542
<rdar://problem/19281600>
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/agents/InspectorDebuggerAgent.h:
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::disable):
(Inspector::InspectorDebuggerAgent::setPauseOnAssertions):
Toggle pause on assertions state. Default is disabled,
and disable it when frontends disconnect.
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
Instead of using the PauseOnAllExceptions state, use this
new state specific to assertions.
- inspector/protocol/Debugger.json:
New protocol method to toggle pausing on assertions.
Source/WebInspectorUI:
- UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.prototype.get assertionsBreakpoint):
(WebInspector.DebuggerManager.prototype.isBreakpointRemovable):
(WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange):
New breakpoint and toggling behavior.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
(WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements.isSpecialBreakpoint):
(WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):
New breakpoint tree element behavior.
(WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie):
(WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
Sidebar restoration if it was selected.
- UserInterface/Images/Assertion.svg: Added.
- UserInterface/Images/gtk/Assertion.svg: Added.
- UserInterface/Views/BreakpointTreeElement.css:
(.breakpoint-assertion-icon .icon):
New sidebar icon for the global breakpoint.
LayoutTests:
- inspector/debugger/pause-on-assert.html:
- inspector/debugger/pause-reason.html:
These tests need to enable pause on assertions.
- inspector/debugger/setPauseOnAssertions-expected.txt: Added.
- inspector/debugger/setPauseOnAssertions.html: Added.
Specific tests for the new protocol method.
- 5:28 PM Changeset in webkit [207443] by
-
- 6 edits1 add in trunk
Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
https://bugs.webkit.org/show_bug.cgi?id=163476
<rdar://problem/26941395>
Reviewed by Tim Horton.
Source/WebKit2:
When custom content providers are registered and a response has a null MIME type, WebPage
will pass a null String to HashSet::contains(). This results in a null pointer dereference,
since the String hash functions do not support null Strings and unconditionally dereference
their StringImpls. Fixed by checking that Strings are non-null before calling
HashSet::contains() on m_mimeTypesWithCustomContentProviders.
Rearranging WebPage::shouldUseCustomContentProviderForResponse() to call
canPluginHandleResponse() before checking m_mimeTypesWithCustomContentProviders uncovered a
crash in existing layout tests where WebPage::m_mainFrame can be NULL during WebPage
construction (m_mainFrame isn't yet initialized). Fixed this by passing the main Frame to
canPluginHandleResponseInFrame() instead of relying on m_mainFrame.
New API test: WebKit2.LoadDataWithNilMIMEType.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Passed
m_frame->coreFrame() to shouldUseCustomContentProviderForResponse().
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Ditto.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::canPluginHandleResponse): Added a mainFrame parameter and used it instead
of m_mainFrame->coreFrame().
(WebKit::WebPage::shouldUseCustomContentProviderForResponse): Passed mainFrame to
canPluginHandleResponse(), and checked if mimeType is null before calling
m_mimeTypesWithCustomContentProviders.contains().
(WebKit::WebPage::canShowMIMEType): Checked if MIMEType is null before calling
m_mimeTypesWithCustomContentProviders.contains().
- WebProcess/WebPage/WebPage.h: Made canPluginHandleResponse() a private declaration.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/LoadDataWithNilMIMEType.mm: Added.
(TEST): Added an API test that passes a nil MIMEType to
-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:].
- 5:12 PM Changeset in webkit [207442] by
-
- 14 edits1 add in trunk
Allow creation of ExtendedColors and make Color immutable
https://bugs.webkit.org/show_bug.cgi?id=163557
<rdar://problem/28805360>
Reviewed by Darin Adler and Dave Hyatt.
Source/WebCore:
- Support the creation of ExtendedColor objects via the
Color class.
- Fix the remaining few places where a Color object is
modified after creation, instead creating a new Color.
Move all the mutation methods into the private section,
making Color now immutable.
Changes to Color are covered by existing tests. Changes
to ExtendedColor are covered by the ExtendedColor API test.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::fastParseColor): Return a new named Color.
- dom/Document.cpp:
(WebCore::Document::resetActiveLinkColor): Set to be the named "red" color.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::addHTMLColorToStyle): Use the string-based constructor
where possible.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS): No need to
use the string "black" here - we have a constant value.
- platform/graphics/cairo/GraphicsContextCairo.cpp: Don't use setRGB.
- platform/graphics/Color.cpp:
(WebCore::findNamedColor): Move this up in the file.
(WebCore::Color::Color): Copy in the code from setNamedColor. Also
add a constructor for ExtendedColor.
(WebCore::Color::serialized): Call ExtendedColor's serializer if necessary.
(WebCore::Color::cssText): Ditto.
(WebCore::Color::setNamedColor): Deleted.
(WebCore::Color::tagAsExtended): Deleted.
- platform/graphics/Color.h: Add a new constructor.
(WebCore::Color::setRGB): Move to private.
- platform/graphics/ExtendedColor.cpp:
(WebCore::ExtendedColor::cssText): Implement serializer.
- platform/graphics/ExtendedColor.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::colorIncludingFallback): Construct a new Color rather than changing an existing object.
Tools:
API tests for ExtendedColor.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
- 4:27 PM Changeset in webkit [207441] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][NetworkCache] PendingFrameLoad objects are sometimes leaked
https://bugs.webkit.org/show_bug.cgi?id=163569
<rdar://problem/28810836>
Reviewed by Antti Koivisto.
PendingFrameLoad objects are created to track frame loads and added to
the m_pendingFrameLoads hash map. These objects are supposed to remove
themselves from the hash map once they detect that the page load has
finished by calling PendingFrameLoad::m_loadCompletionHandler().
PendingFrameLoad::m_loadCompletionHandler() is called from
markLoadAsCompleted() when we detect that the page load has finished
via the m_loadHysteresisActivity HysteresisActivity. We call impulse()
on the HysteresisActivity every time a subresource is loaded in the
frame. The issue is that if no subresource is ever loaded, then we
never call impulse() on the HysteresisActivity, which is therefore
never started. If it nevers starts, then it nevers stops and never
calls markLoadAsCompleted(). To address the problem, we now call
impulse() on the HysteresisActivity as soon as we construct it.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
- 4:00 PM Changeset in webkit [207440] by
-
- 2 edits in trunk/LayoutTests
Marking platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html as flaky on ios-simulator debug.
https://bugs.webkit.org/show_bug.cgi?id=163362
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 3:56 PM Changeset in webkit [207439] by
-
- 4 edits in trunk/Source
Enable keyboard in fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=163146
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-10-17
Reviewed by Jer Noble.
Allow keyboard in fullscreen.
Source/WebKit/mac:
- WebView/WebView.mm:
(-[WebView _supportsFullScreenForElement:withKeyboard:]):
Source/WebKit2:
- UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::supportsFullScreen):
- 3:30 PM Changeset in webkit [207438] by
-
- 15 edits8 adds in trunk
Implement DOMRect/DOMRectReadOnly
https://bugs.webkit.org/show_bug.cgi?id=163464
Reviewed by Darin Adler.
Source/WebCore:
Implement the DOMRectInit/DOMRectReadOnly/DOMRect interfaces specified in
https://dev.w3.org/fxtf/geometry/
DOMRects allow negative height/width and require double storage, so we can't just
use FloatRect for storage. They also require handling of NaN and Infinity.
To have the left/right/top/bottom accessors follow IEEE NaN rules, we need to use
custom min/max functions that return NaN if either argument is NaN, so add
nanPropagatingMin/nanPropagatingMax helpers to MathExtras.h.
Test: fast/dom/domrect.html
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- dom/DOMRect.h: Added.
(WebCore::DOMRect::create):
(WebCore::DOMRect::fromRect):
(WebCore::DOMRect::setX):
(WebCore::DOMRect::setY):
(WebCore::DOMRect::setWidth):
(WebCore::DOMRect::setHeight):
(WebCore::DOMRect::DOMRect):
- dom/DOMRect.idl: Added.
- dom/DOMRectInit.h: Added.
- dom/DOMRectInit.idl: Added.
- dom/DOMRectReadOnly.h: Added.
(WebCore::DOMRectReadOnly::create):
(WebCore::DOMRectReadOnly::fromRect):
(WebCore::DOMRectReadOnly::x):
(WebCore::DOMRectReadOnly::y):
(WebCore::DOMRectReadOnly::width):
(WebCore::DOMRectReadOnly::height):
(WebCore::DOMRectReadOnly::top):
(WebCore::DOMRectReadOnly::right):
(WebCore::DOMRectReadOnly::bottom):
(WebCore::DOMRectReadOnly::left):
(WebCore::DOMRectReadOnly::DOMRectReadOnly):
- dom/DOMRectReadOnly.idl: Added.
Source/WTF:
Implement min()/max() in a way that follows Math.min/Math.max, which return
NaN if either argument is NaN.
- wtf/MathExtras.h:
(WTF::nanPropagatingMin):
(WTF::nanPropagatingMax):
LayoutTests:
New test and new results for global constructor tests.
- geometry/DOMRect-001-expected.txt: Added.
- geometry/DOMRect-001.html: Added.
- js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- js/dom/global-constructors-attributes-expected.txt:
- platform/efl/js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- platform/win/js/dom/global-constructors-attributes-expected.txt:
- 3:09 PM Changeset in webkit [207437] by
-
- 5 edits in trunk/Source/JavaScriptCore
[DOMJIT][JSC] Add Option::useDOMJIT
https://bugs.webkit.org/show_bug.cgi?id=163457
Reviewed by Saam Barati.
Add an option to switch the DOMJIT optimization.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generateImpl):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetById):
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- runtime/Options.h:
- 3:03 PM Changeset in webkit [207436] by
-
- 4 edits10 adds in trunk
[Modern Media Controls] Basic MediaController
https://bugs.webkit.org/show_bug.cgi?id=163539
<rdar://problem/28797542>
Patch by Antoine Quint <Antoine Quint> on 2016-10-17
Reviewed by Darin Adler.
Source/WebCore:
We add a new main.js file which acts as the entry point by implementing the createControls()
function that HTMLMediaElement::ensureMediaControlsInjectedScript() once the shadow root has
been created. That functions creates an instance of the new MediaController class, which is
the controller object that will handle communication between the media controls and the media
element. At first, this MediaController class is very limited and assumes macOS inline
layout traits and forces a start button to be shown over the media, which can be played
to start the media and show the full controls. More functionality will be added by future patches.
Tests: media/modern-media-controls/media-controller/media-controller-click-to-start.html
media/modern-media-controls/media-controller/media-controller-constructor.html
media/modern-media-controls/media-controller/media-controller-resize.html
- Modules/modern-media-controls/main.js: Added.
(createControls):
- Modules/modern-media-controls/media/media-controller.js: Added.
(MediaController):
(MediaController.prototype.set pageScaleFactor):
(MediaController.prototype.set usesLTRUserInterfaceLayoutDirection):
(MediaController.prototype.handleEvent):
(MediaController.prototype.buttonWasClicked):
(MediaController.prototype._updateControlsSize):
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsStyleSheet):
(WebCore::RenderThemeMac::mediaControlsScript):
LayoutTests:
Testing the properties of the new MediaController class and the availability and behavior of the
createControls() global function.
- media/modern-media-controls/media-controller/media-controller-click-to-start-expected.txt: Added.
- media/modern-media-controls/media-controller/media-controller-click-to-start.html: Added.
- media/modern-media-controls/media-controller/media-controller-constructor-expected.txt: Added.
- media/modern-media-controls/media-controller/media-controller-constructor.html: Added.
- media/modern-media-controls/media-controller/media-controller-resize-expected.txt: Added.
- media/modern-media-controls/media-controller/media-controller-resize.html: Added.
- 2:51 PM Changeset in webkit [207435] by
-
- 2 edits in trunk/LayoutTests
[GTK] Skip layout tests under crypto/workers/subtle
- platform/gtk/TestExpectations:
- 2:45 PM Changeset in webkit [207434] by
-
- 13 edits2 adds in trunk/Source/JavaScriptCore
Air::IRC doesn't need to have a special-case for uncolored Tmps since they all get colored
https://bugs.webkit.org/show_bug.cgi?id=163548
<rdar://problem/28804381>
Reviewed by Geoffrey Garen.
Before r207408, IRC had a mode where it would silently assign the first assignable register (so
%rax, %xmm0, etc) to any tmp that was not colorable due to a pathological interference fencepost.
We reason about interference at instruction boundaries. This means that if you have, for example,
an instruction that clobbers all registers late followed by an instruction that has an early def
in the same register file, then the early def will not be colorable because it interferes with
all registers. This already happens in our tests, but IRC silently returns the first assignable
register to such tmps. For some reason the resulting code works OK - probably because this tends
to only be hit by fuzzing, which may not then stress that code enough to shake out the register
corruption. Also, this can only happen for floating point registers, so it's hard to get an
exciting crash. The worst case is that your numbers get all messed up.
This change fixes the issue:
- IRC will now crash if it can't color a tmp.
- IRC doesn't crash on our tests anymore because I added a padInterference() utility that works around the interference problem by inserting Nops to pad between those instructions where conflating their early and late actions into one interference fencepost could create an uncolorable graph.
See https://bugs.webkit.org/show_bug.cgi?id=163548#c2 for a detailed discussion of how the
problem can arise.
This problem almost made me want to abandon our use of interference at instruction boundaries,
and introduce something more comprehensive, like interference at various stages of an
instruction's execution. The reason why I didn't do this is that this problem only arises in well
confined corner cases: you need an instruction that does a late use or def followed by an
instruction that does an early def. Register clobbers count as defs for this equation.
Fortunately, early defs are rare, and even when they do happen, you still need the previous
instruction to have a late something. Late uses are rare and many instructions don't have defs at
all, which means that it's actually pretty common for an instruction to not have anything late.
This means that the padInterference() strategy is ideal: our algorithms stay simple because they
only have to worry about interference at boundaries, and we rarely insert any Nops in
padInterference() so the IR stays nice and compact. Those Nops get removed by any phase that does
DCE, which includes eliminateDeadCode(), allocateStack(), and reportUsedRegisters(). In practice
allocateStack() kills them.
This also finally refactors our passing of RegisterSet to pass it by value, since it's small
enough that we're not gaining anything by using references. On x86, RegisterSet ought to be
smaller than a pointer.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::extraClobberedRegs):
(JSC::B3::StackmapSpecial::extraEarlyClobberedRegs):
- b3/B3StackmapSpecial.h:
- b3/air/AirCCallSpecial.cpp:
(JSC::B3::Air::CCallSpecial::extraEarlyClobberedRegs):
(JSC::B3::Air::CCallSpecial::extraClobberedRegs):
- b3/air/AirCCallSpecial.h:
- b3/air/AirInst.h:
- b3/air/AirInstInlines.h:
(JSC::B3::Air::Inst::extraClobberedRegs):
(JSC::B3::Air::Inst::extraEarlyClobberedRegs):
- b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::iteratedRegisterCoalescing):
- b3/air/AirPadInterference.cpp: Added.
(JSC::B3::Air::padInterference):
- b3/air/AirPadInterference.h: Added.
- b3/air/AirSpecial.h:
- b3/air/AirSpillEverything.cpp:
(JSC::B3::Air::spillEverything):
- jit/RegisterSet.h:
(JSC::RegisterSet::isEmpty):
- 2:44 PM Changeset in webkit [207433] by
-
- 2 edits in trunk/JSTests
Add more tests for the double->String conversion in ValueAdd constant folding
https://bugs.webkit.org/show_bug.cgi?id=163517
Reviewed by Yusuke Suzuki.
- microbenchmarks/string-add-constant-folding.js:
(test):
- 2:36 PM Changeset in webkit [207432] by
-
- 11 edits4 adds in trunk
WebAssembly JS API: implement basic stub
Implement the global WebAssembly JavaScript object, and its constructor +
function properties as described in:
These don't do anything at the moment, the parent bug will take care of adding
more functionality and associated tests.
WebAssembly JS API: implement basic stub
https://bugs.webkit.org/show_bug.cgi?id=163404
Reviewed by Keith Miller.
JSTests:
- wasm.yaml:
- wasm/js-api/test_basic_api.js: Added.
(const.f.of.functionProperties.WebAssembly.f.undefined.throw.new.Error.Couldn.const.c.of.constructorProperties.WebAssembly.c.undefined.throw.new.Error.Couldn):
(const.c.of.constructorProperties.catch):
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinNames.h: register the new WebAssembly object's name and its constructor properties
- jsc.cpp: remove useless include
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): add the WebAssembly global object and its constructor properties, but only if the JSC option enables it
- runtime/Options.h: add the useWebAssembly (alias: enableWebAssembly) option, defaulting to false
- wasm/WebAssemblyObject.cpp: Added.
(JSC::WebAssemblyObject::create): boilerplate
(JSC::WebAssemblyObject::createStructure): boilerplate
(JSC::WebAssemblyObject::finishCreation): boilerplate
(JSC::WebAssemblyObject::WebAssemblyObject): boilerplate
(JSC::wasmObjectFuncvalidate): auto-throws for now
(JSC::wasmObjectFunccompile): auto-throws for now
- wasm/WebAssemblyObject.h: Added.
Tools:
- Scripts/run-jsc-stress-tests: use the new JSC option which exposes the WebAssembly object.
- 2:17 PM Changeset in webkit [207431] by
-
- 3 edits in trunk/Source/WebCore
Remove an unused HistoryItem function
https://bugs.webkit.org/show_bug.cgi?id=163565
Reviewed by Tim Horton.
- history/HistoryItem.cpp:
(WebCore::HistoryItem::isAncestorOf): Deleted.
- history/HistoryItem.h:
- 2:10 PM Changeset in webkit [207430] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, build fix after r207428
https://bugs.webkit.org/show_bug.cgi?id=163223
Previous build fix r207428 broke all the builds.
- bytecode/PolymorphicAccess.h:
- 2:00 PM Changeset in webkit [207429] by
-
- 12 edits2 adds in trunk
AX: [Mac] mapping for output elements
https://bugs.webkit.org/show_bug.cgi?id=163471
Reviewed by Chris Fleizach.
Source/WebCore:
Mapped the output element to status role and exposed its text content
as AXTitle.
Test: accessibility/mac/output-element.html
- English.lproj/Localizable.strings:
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::visibleText):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isOutput):
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper roleDescription]):
- platform/LocalizedStrings.cpp:
(WebCore::AXOutputText):
- platform/LocalizedStrings.h:
- platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXOutputText):
- platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXOutputText):
LayoutTests:
- accessibility/mac/output-element-expected.txt: Added.
- accessibility/mac/output-element.html: Added.
- 1:57 PM Changeset in webkit [207428] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, build fix for GTK and Windows
https://bugs.webkit.org/show_bug.cgi?id=163223
Attempt to fix build failures in GTK port and Windows port.
- bytecode/PolymorphicAccess.cpp:
- bytecode/PolymorphicAccess.h:
(JSC::AccessGenerationState::SpillState::SpillState):
- 1:43 PM Changeset in webkit [207427] by
-
- 16 edits1 copy6 adds in trunk
[DOMJIT] Use DOMJIT::Patchpoint in IC
https://bugs.webkit.org/show_bug.cgi?id=163223
Reviewed by Saam Barati.
JSTests:
- stress/domjit-exception-ic.js: Added.
(shouldBe):
(access):
- stress/domjit-exception.js: Added.
(shouldBe):
(access):
- stress/domjit-getter-complex-with-incorrect-object.js: Added.
(shouldThrow):
(access):
(i.shouldThrow):
- stress/domjit-getter-complex.js: Added.
(shouldBe):
(access):
- stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js: Added.
(assert):
(bar):
(foo):
Source/JavaScriptCore:
This patch uses DOMJIT::Patchpoint to inline DOM accesses even in IC!
It is useful for Baseline JIT cases and GetById cases in DFG and FTL.
In AccessCase, we construct the environment that allows DOMJIT::Patchpoint
to emit code and make DOMJIT accessors inlined in IC.
To allow DOMJIT::Patchpoint to emit code, we create a mechanism to emit calls
required in DOMJIT::Patchpoint. This system is useful when we create the super-
polymorphic support[1] later. And inlining mechanism is useful even after
introducing super-polymorphic support since it can work even after we fire the
watchpoint for super-polymorphic handling.
This patch improves Dromaeo dom-traverse 8% (263.95 runs/s v.s. 244.07 runs/s).
[1]: https://bugs.webkit.org/show_bug.cgi?id=163226
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/DOMJITAccessCasePatchpointParams.cpp: Added.
(JSC::SlowPathCallGeneratorWithArguments::SlowPathCallGeneratorWithArguments):
(JSC::SlowPathCallGeneratorWithArguments::generateImpl):
(JSC::DOMJITAccessCasePatchpointParams::emitSlowPathCalls):
- bytecode/DOMJITAccessCasePatchpointParams.h: Copied from Source/JavaScriptCore/ftl/FTLDOMJITPatchpointParams.h.
(JSC::DOMJITAccessCasePatchpointParams::DOMJITAccessCasePatchpointParams):
(JSC::DOMJITAccessCasePatchpointParams::SlowPathCallGenerator::~SlowPathCallGenerator):
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessGenerationState::liveRegistersForCall):
(JSC::AccessGenerationState::liveRegistersToPreserveAtExceptionHandlingCallSite):
(JSC::calleeSaveRegisters):
(JSC::AccessGenerationState::calculateLiveRegistersForCallAndExceptionHandling):
(JSC::AccessGenerationState::restoreLiveRegistersFromStackForCallWithThrownException):
(JSC::AccessGenerationState::restoreLiveRegistersFromStackForCall):
(JSC::AccessGenerationState::callSiteIndexForExceptionHandlingOrOriginal):
(JSC::AccessGenerationState::originalExceptionHandler):
(JSC::AccessCase::generateImpl):
(JSC::AccessCase::emitDOMJITGetter):
(JSC::PolymorphicAccess::regenerate):
(JSC::AccessGenerationState::preserveLiveRegistersToStackForCall): Deleted.
- bytecode/PolymorphicAccess.h:
(JSC::AccessGenerationState::SpillState::isEmpty):
(JSC::AccessGenerationState::setSpillStateForJSGetterSetter):
(JSC::AccessGenerationState::spillStateForJSGetterSetter):
(JSC::AccessGenerationState::liveRegistersForCall): Deleted.
(JSC::AccessGenerationState::numberOfStackBytesUsedForRegisterPreservation): Deleted.
(JSC::AccessGenerationState::liveRegistersToPreserveAtExceptionHandlingCallSite): Deleted.
- dfg/DFGDOMJITPatchpointParams.cpp:
- dfg/DFGDOMJITPatchpointParams.h:
- domjit/DOMJITPatchpoint.h:
- domjit/DOMJITPatchpointParams.h:
(JSC::DOMJIT::PatchpointParams::addSlowPathCall):
- ftl/FTLDOMJITPatchpointParams.cpp:
- ftl/FTLDOMJITPatchpointParams.h:
- jsc.cpp:
(WTF::DOMJITNode::checkDOMJITNode):
(WTF::DOMJITGetterComplex::DOMJITGetterComplex):
(WTF::DOMJITGetterComplex::createStructure):
(WTF::DOMJITGetterComplex::create):
(WTF::DOMJITGetterComplex::DOMJITNodeDOMJIT::DOMJITNodeDOMJIT):
(WTF::DOMJITGetterComplex::domJITNodeGetterSetter):
(WTF::DOMJITGetterComplex::finishCreation):
(WTF::DOMJITGetterComplex::functionEnableException):
(WTF::DOMJITGetterComplex::customGetter):
(GlobalObject::finishCreation):
(functionCreateDOMJITGetterComplexObject):
Source/WebCore:
Make DOMJITPatchpointParams non-const.
- domjit/DOMJITHelpers.h:
(WebCore::DOMJITHelpers::toWrapper):
- domjit/JSNodeDOMJIT.cpp:
(WebCore::createCallDOMForOffsetAccess):
(WebCore::checkNode):
(WebCore::NodeNodeTypeDOMJIT::callDOM):
- 1:38 PM Changeset in webkit [207426] by
-
- 18 edits in trunk/Source
Move form.reportValidity() behind InteractiveFormValidation setting
https://bugs.webkit.org/show_bug.cgi?id=163550
Reviewed by Darin Adler.
Source/WebCore:
Move form.reportValidity() behind InteractiveFormValidation setting for consistency
given that the two features are strongly related.
Also enable the setting by default so we can get feedback on the implementation.
Demos:
- Interactive form validation: http://jsfiddle.net/tj_vantoll/HdSqt/
- Report validity: https://googlechrome.github.io/samples/report-validity/
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setInteractiveFormValidationEnabled):
(WebCore::RuntimeEnabledFeatures::interactiveFormValidationEnabled):
- html/HTMLButtonElement.idl:
- html/HTMLFieldSetElement.idl:
- html/HTMLFormElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLKeygenElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOutputElement.idl:
- html/HTMLSelectElement.idl:
- html/HTMLTextAreaElement.idl:
Source/WebKit/mac:
Enable InteractiveFormValidation setting by default and link it to
RuntimeEnabledFeatures so we can use it in the IDL.
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
- WebView/WebViewData.mm:
(-[WebViewPrivate init]):
Source/WebKit2:
Enable InteractiveFormValidation setting by default and link it to
RuntimeEnabledFeatures so we can use it in the IDL.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 1:34 PM Changeset in webkit [207425] by
-
- 2 edits in trunk/Source/JavaScriptCore
Build fix for HasOwnPropertyCache::Entry caused slowdown by introducing a constructor that doesn't use move semantics for the RefPtr<UniquedStringImpl> parameter
https://bugs.webkit.org/show_bug.cgi?id=163490
Reviewed by Darin Adler.
- runtime/HasOwnPropertyCache.h:
(JSC::HasOwnPropertyCache::Entry::Entry):
(JSC::HasOwnPropertyCache::tryAdd):
- 1:18 PM Changeset in webkit [207424] by
-
- 7 edits in trunk/Source/WebKit2
UIProcess should determine throttle state for WebContent process
https://bugs.webkit.org/show_bug.cgi?id=163556
Reviewed by Anders Carlsson.
This is a step towards merging page/process throttling code for mac & iOS.
Previously WebPage determined whether to start a UserActivity based on page activity,
visibility and the preference to disable. Now WebPage passes the activity state across
to WebPageProxy, which makes the decision & explicitly instructs WebPage to start/stop
the UserActivity.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- updateActivityToken + updateProccessSuppressionState -> updateThrottleState
(WebKit::WebPageProxy::reattachToWebProcess):
- updateActivityToken -> updateThrottleState
(WebKit::WebPageProxy::dispatchViewStateChange):
- updateActivityToken -> updateThrottleState
(WebKit::WebPageProxy::setPageActivityState):
- Record activity state passed from WebPage, and update.
(WebKit::WebPageProxy::preferencesDidChange):
- updateProccessSuppressionState -> updateThrottleState
(WebKit::WebPageProxy::updateActivityToken): Deleted.
(WebKit::WebPageProxy::updateProccessSuppressionState): Deleted.
(WebKit::WebPageProxy::updateThrottleState):
- Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
- Compute whether page should be suppressed, and send SetPageSuppressed message accordingly.
- UIProcess/WebPageProxy.h:
- Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
- Added setPageActivityState/m_activityState to report/record page activity.
- Added m_pageSuppressed to prevent redundant message sends.
- UIProcess/WebPageProxy.messages.in:
- Expose SetPageActivityState message (called by WebPage).
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
- removed m_processSuppressionEnabled
- updateUserActivity -> setPageSuppressed - explicitly set the page to not be suppressed, until WebPageProxy tells us to do so.
(WebKit::WebPage::setPageActivityState):
- post activity state on to WebPageProxy.
(WebKit::WebPage::setPageSuppressed):
- Start/stop USerActivity accordingly.
(WebKit::WebPage::setViewState):
- No longer need to monitor ViewState changes on the WebProcess side.
(WebKit::WebPage::updatePreferences):
- No longer need to monitor preference changes on the WebProcess side.
(WebKit::WebPage::updateUserActivity): Deleted.
- Only updated on reciept of setPageSuppressed message.
- WebProcess/WebPage/WebPage.h:
- Removed m_activityState, m_processSuppressionEnabled, updateUserActivity.
- Added setPageSuppressed message.
- WebProcess/WebPage/WebPage.messages.in:
- Added SetPageSuppressed message.
- 12:54 PM Changeset in webkit [207423] by
-
- 11 edits in trunk
[Modern Media Controls] Add a MediaControlsHost API to retrieve images as base64
https://bugs.webkit.org/show_bug.cgi?id=163502
<rdar://problem/28792017>
Patch by Antoine Quint <Antoine Quint> on 2016-10-17
Reviewed by Darin Adler.
Add a new
base64StringForIconAndPlatform()method to MediaControlsHost such that we
may load images from the modern-media-controls directory in the WebCore.framework bundle.
We use this new method in the iconService singleton when amediaControlsHostis set,
which will be set in a later patch.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::base64StringForIconAndPlatform):
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediacontrols/MediaControlsHost.idl:
- Modules/modern-media-controls/controls/icon-service.js:
(const.iconService.new.IconService.prototype.urlForIconNameAndLayoutTraits):
(const.iconService.new.IconService):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::mediaControlsBase64StringForIconAndPlatform):
(WebCore::RenderTheme::mediaControlsScript): Deleted.
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsBase64StringForIconAndPlatform):
- 12:17 PM Changeset in webkit [207422] by
-
- 2 edits in trunk/Source/WebKit/mac
Fix iOS build.
- History/WebBackForwardList.mm:
(-[WebBackForwardList dictionaryRepresentation]):
- 12:11 PM Changeset in webkit [207421] by
-
- 5 edits in trunk/Source/WebCore
[Modern Media Controls] Add a MediaControlsHost API to retrieve the shadow root CSS
https://bugs.webkit.org/show_bug.cgi?id=163501
<rdar://problem/28792014>
Patch by Antoine Quint <Antoine Quint> on 2016-10-17
Reviewed by Darin Adler.
Add a new
shadowRootCSSTextproperty to MediaControlsHost so that we may obtain the
concatenated CSS sources for the media controls shadow root via JS. Actually using this
API will be done in a later patch. We also no longer inject those styles as a user-agent
stylesheet when the runtime flag is on since it will no longer be necessary.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::shadowRootCSSText):
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediacontrols/MediaControlsHost.idl:
- css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
- 12:06 PM Changeset in webkit [207420] by
-
- 13 edits9 adds in trunk
Implement DOMPoint/DOMPointReadOnly
https://bugs.webkit.org/show_bug.cgi?id=133916
Reviewed by Darin Adler.
Source/WebCore:
Patch mostly by Dirk Schultz <krit@webkit.org>.
Implement DOMPoint/DOMPointReadOnly following https://drafts.fxtf.org/geometry/
(although we may need to match https://www.w3.org/TR/geometry-1/ to be compatible
with Chrome).
Test: geometry/DOMPoint-001.html
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- dom/DOMPoint.h: Added.
- dom/DOMPoint.idl: Added.
- dom/DOMPointInit.h: Added.
- dom/DOMPointInit.idl: Added.
- dom/DOMPointReadOnly.h: Added.
(WebCore::DOMPointReadOnly::create):
(WebCore::DOMPointReadOnly::fromPoint):
(WebCore::DOMPointReadOnly::x):
(WebCore::DOMPointReadOnly::y):
(WebCore::DOMPointReadOnly::z):
(WebCore::DOMPointReadOnly::w):
(WebCore::DOMPointReadOnly::DOMPointReadOnly):
- dom/DOMPointReadOnly.idl: Added.
LayoutTests:
New Web Platform-style test, and rebaselines.
- geometry/DOMPoint-001-expected.txt: Added.
- geometry/DOMPoint-001.html: Added.
- js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- js/dom/global-constructors-attributes-expected.txt:
- platform/efl/js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- platform/win/js/dom/global-constructors-attributes-expected.txt:
- 11:35 AM Changeset in webkit [207419] by
-
- 4 edits in trunk/Source/WebKit/mac
CTTE some of the BackForwardList member functions
https://bugs.webkit.org/show_bug.cgi?id=163555
Reviewed by Dan Bernstein.
- History/BackForwardList.h:
(BackForwardList::entries):
- History/BackForwardList.mm:
(BackForwardList::removeItem):
(BackForwardList::containsItem):
(BackForwardList::entries): Deleted.
- History/WebBackForwardList.mm:
(-[WebBackForwardList removeItem:]):
(-[WebBackForwardList containsItem:]):
(-[WebBackForwardList description]):
- 11:26 AM Changeset in webkit [207418] by
-
- 3 edits in trunk/Source/WebCore
[Modern Media Controls] Use modern-media-controls module sources for media controls stylesheet and script injection
https://bugs.webkit.org/show_bug.cgi?id=163500
<rdar://problem/28792010>
Patch by Antoine Quint <Antoine Quint> on 2016-10-17
Reviewed by Darin Adler.
Add files from the Modules/modern-media-controls directory to the Xcode project and add a copy phase
to copy those files with their directory stucture as a subdirectory of the WebCore.framework Resources
directory.
Additionally, use the modern-media-controls Module CSS and JS files when concatenating the media controls
scripts and styles in RenderTheme when the runtime flag is on.
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsStyleSheet):
(WebCore::RenderThemeMac::mediaControlsScript):
- 11:14 AM Changeset in webkit [207417] by
-
- 2 edits in trunk/Source/WebCore
Fix typo in error message.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateSerializerFunction):
- 10:59 AM Changeset in webkit [207416] by
-
- 2 edits in trunk/Tools
resolve-ChangeLogs: Specify --no-page to git diff
https://bugs.webkit.org/show_bug.cgi?id=163441
Patch by Fujii Hironori <Fujii Hironori> on 2016-10-17
Reviewed by Darin Adler.
resolve-ChangeLogs shows the result after resolving by invoking
'git diff'. It runs a pager for every ChangeLog if it is under
TTY.
- Scripts/resolve-ChangeLogs:
(showStatus): Specify '--no-page' to git diff.
- 10:59 AM Changeset in webkit [207415] by
-
- 2 edits in trunk/Source/WebKit/mac
Remove WEBCORE_EXPORT from BackForwardList, it lives in WebKit now
https://bugs.webkit.org/show_bug.cgi?id=163551
Reviewed by Tim Horton.
- History/BackForwardList.h:
- 10:49 AM Changeset in webkit [207414] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r206189): logs error statements when API::URLRequest is canceled
https://bugs.webkit.org/show_bug.cgi?id=163393
Reviewed by Antti Koivisto.
Print this case at normal logging level, not as an error.
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource):
- 10:48 AM Changeset in webkit [207413] by
-
- 3 edits in trunk/Source/WebKit2
[iOS] Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
https://bugs.webkit.org/show_bug.cgi?id=163547
Reviewed by Darin Adler.
Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
now that it is available in UIKit.
- Platform/spi/ios/UIKitSPI.h:
- Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::extractWebTouchPoint):
- 10:32 AM Changeset in webkit [207412] by
-
- 2 edits in trunk/Source/WebCore
preprocessor.pm: cl.exe outputs processing filenames if Windows Perl is used
https://bugs.webkit.org/show_bug.cgi?id=163435
Patch by Fujii Hironori <Fujii Hironori> on 2016-10-17
Reviewed by Alex Christensen.
cl.exe outputs processing filenames to stderr. Suppress this
annoying messages by using open3 instead of open2.
- bindings/scripts/preprocessor.pm:
(applyPreprocessor): Use open3 in case of Windows Perl.
- 9:59 AM Changeset in webkit [207411] by
-
- 31 edits in trunk/Source
Use the reject() helper function for conditionally throwing TypeErrors.
https://bugs.webkit.org/show_bug.cgi?id=163491
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
In some places where we may conditionally throw a TypeError (e.g. when in strict
mode), we already use the reject() helper function to conditionally throw the
TypeError. Doing so makes the code mode compact. This patch applies this idiom
consistently in all places that throws TypeError where appropriate.
This patch also does the following:
- Make the reject() helper function take an ASCIILiteral instead of a const char* because we always pass it a literal string anyway.
- Change the reject helper() to take a ThrowScope&. This allows the thrown error to be attributed to its caller.
- When an error message string is instantiated repeatedly in more than 1 place, create a common copy of that literal string in JSObject.cpp (if one doesn't already exist) and use that common string in all those places.
- Since I was auditing call sites of throwTypeError() to check if they should be using the reject() helper instead, I also fixed those up to pass the error message as an ASCIILiteral where appropriate.
- In functions that I touched, change the code to not recompute the VM& when it is already available.
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/ArrayPrototype.cpp:
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncReverse):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/GetterSetter.cpp:
(JSC::callSetter):
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::pop):
- runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::put):
(JSC::JSArrayBuffer::defineOwnProperty):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
- runtime/JSDataView.cpp:
(JSC::JSDataView::put):
(JSC::JSDataView::defineOwnProperty):
- runtime/JSFunction.cpp:
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::defineOwnProperty):
- runtime/JSObject.cpp:
(JSC::ordinarySetSlow):
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
(JSC::validateAndApplyPropertyDescriptor):
- runtime/JSObject.h:
- runtime/JSObjectInlines.h:
(JSC::JSObject::putInline):
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
- runtime/JSSymbolTableObject.h:
(JSC::symbolTablePut):
- runtime/Lookup.h:
(JSC::putEntry):
- runtime/RegExpObject.cpp:
(JSC::RegExpObject::defineOwnProperty):
- runtime/RegExpObject.h:
(JSC::RegExpObject::setLastIndex):
- runtime/Reject.h:
(JSC::reject):
- runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayValueMap::putDirect):
(JSC::SparseArrayEntry::put):
- runtime/StringObject.cpp:
(JSC::StringObject::put):
(JSC::StringObject::putByIndex):
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorKeyFor):
Source/WebCore:
No new tests because this patch does not introduce new behavior.
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::createRsaKeyGenParams):
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
- bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::invokeMethod):
- 9:56 AM Changeset in webkit [207410] by
-
- 1 edit1 add in trunk/LayoutTests
Rebaseline mathml/mathml-in-dashboard.html for mac.
Unreviewed test gardening.
- platform/mac/mathml/mathml-in-dashboard-expected.txt: Added.
- 9:56 AM Changeset in webkit [207409] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
https://bugs.webkit.org/show_bug.cgi?id=163511
Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-17
Reviewed by Carlos Garcia Campos.
Perform the video repaint in the main thread when accelerated compositing is disabled.
Covered by existent tests.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 9:19 AM Changeset in webkit [207408] by
-
- 2 edits in trunk/Source/JavaScriptCore
Air::IRC needs to place all Tmps on some worklist, even if they have no interference edges
https://bugs.webkit.org/show_bug.cgi?id=163509
Reviewed by Mark Lam.
The worklist building function in IRC skips temporaries that have no degree. This doesn't appear
to be necessary. This has been there since the original IRC commit. It hasn't caused bugs because
ordinarily, the only way to have a tmp with no degree is to not have any mention of that tmp. But
while working on bug 163371, I hit a crazy corner case where a temporary would have no
interference edges (i.e. no degree). Here's how it happens:
A spill tmp from a previous iteration of IRC may have no degree: imagine a tmp that is live
everywhere and interferes with everyone, but has one use like:
Move %ourTmp, %someOtherTmp
Where there are no other tmps live. After spill conversion, this may look like:
Move (ourSpill), %newTmp
Move %newTmp, %someOtherTmp
Of course, we'd rather not get this kind of spill code but it's totally possible because we now
have a bunch of random conditions under which we won't slap the spill address directly into the
Move.
After this happens, assuming that the only thing live was %someOtherTmp, we will have zero degree
for %newTmp because the Move is coalescable and does not contribute to interference.
Then, we might coalesce %someOtherTmp with %newTmp. Once this happens, if we make the %newTmp be
the master, we're in deep trouble because %newTmp is not on any worklist.
I don't know how to reproduce this except through the patch in bug 163371. Removing the two lines
of code that skipped no-degree tmps causes no regressions, and resolves the problem I was having.
- b3/air/AirIteratedRegisterCoalescing.cpp:
- 4:59 AM Changeset in webkit [207407] by
-
- 5 edits in trunk/Source
Eleminate code duplication between ResourceRequest encoding/decoding implementations
https://bugs.webkit.org/show_bug.cgi?id=163507
Reviewed by Carlos Garcia Campos.
ResourceRequestBase::encodeWithoutPlatformData() and Soup implementation of
ArgumentCoder<ResourceRequest>::encodePlatformData() share most of the code,
ditto for decoding implementations.
Source/WebCore:
No new tests needed.
- platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::encodeBase):
(WebCore::ResourceRequestBase::decodeBase):
(WebCore::ResourceRequestBase::encodeWithoutPlatformData):
(WebCore::ResourceRequestBase::decodeWithoutPlatformData):
- platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::encodeWithPlatformData):
(WebCore::ResourceRequest::decodeWithPlatformData):
Source/WebKit2:
- Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
- 4:30 AM Changeset in webkit [207406] by
-
- 11 edits1 copy2 moves1 add1 delete in trunk
Move user agent quirks to cross-platform location
https://bugs.webkit.org/show_bug.cgi?id=163508
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Tested by Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp.
- PlatformGTK.cmake:
- platform/UserAgent.h: Renamed from Source/WebCore/platform/gtk/UserAgentGtk.h.
- platform/UserAgentQuirks.cpp: Added. Moved from UserAgentGtk.cpp.
(WebCore::urlRequiresChromeBrowser): Sneakily tighten up Google domain detection, it should
only apply to sites if the base domain matches google.*, not any base domain that starts
with google.
(WebCore::urlRequiresMacintoshPlatform):
(WebCore::UserAgentQuirks::quirksForURL):
(WebCore::UserAgentQuirks::stringForQuirk):
- platform/UserAgentQuirks.h: Moved from UserAgentGtk.cpp. prepare-ChangeLog thinks it was
renamed from Source/WebCore/platform/efl/UserAgentEfl.h, but prepare-ChangeLog is dumb.
(WebCore::UserAgentQuirks::UserAgentQuirks):
(WebCore::UserAgentQuirks::add):
(WebCore::UserAgentQuirks::contains):
(WebCore::UserAgentQuirks::isEmpty):
- platform/efl/UserAgentEfl.cpp:
(WebCore::standardUserAgentForURL):
- platform/gtk/UserAgentGtk.cpp:
(WebCore::buildUserAgentString):
(WebCore::standardUserAgentForURL):
(): Deleted.
(WebCore::UserAgentQuirks::UserAgentQuirks): Deleted.
(WebCore::UserAgentQuirks::add): Deleted.
(WebCore::UserAgentQuirks::contains): Deleted.
(WebCore::UserAgentQuirks::isEmpty): Deleted.
(WebCore::urlRequiresChromeBrowser): Deleted.
(WebCore::urlRequiresMacintoshPlatform): Deleted.
Source/WebKit2:
#include <WebCore/UserAgent.h> instead of <WebCore/UserAgentGtk.h>.
- UIProcess/API/gtk/WebKitSettings.cpp:
- UIProcess/efl/WebPageProxyEfl.cpp:
- UIProcess/gtk/WebPageProxyGtk.cpp:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
Tools:
Move the test to a cross-platform location and improve it to better check the full list of
sites we have defined quirks for.
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/gtk/UserAgentQuirks.cpp.
(TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
(TestWebKitAPI::TEST):
- 3:52 AM Changeset in webkit [207405] by
-
- 4 edits in trunk
[SOUP] Downloads should always sniff contents
https://bugs.webkit.org/show_bug.cgi?id=163538
Reviewed by Michael Catanzaro.
Source/WebKit2:
It's quite common that downloads have weird filenames with no extension, so it would be better if the loader
sniff the contents to guess the mime type.
- NetworkProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::startNetworkLoad): Pass true for shouldContentSniff parameter of ResourceHandle::create().
Tools:
Add a test case to check that the MIME type is correctly guessed for downloads.
- TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(writeNextChunk):
(serverCallback):
(testDownloadMIMEType):
(beforeAll):
(writeNextChunkIdle): Deleted.
- 3:45 AM Changeset in webkit [207404] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Switch to use API::DownloadClient instead of the C API client
https://bugs.webkit.org/show_bug.cgi?id=163537
Reviewed by Michael Catanzaro.
The code is simpler and we avoid all the toImpl/toAPI.
- UIProcess/API/gtk/WebKitDownloadClient.cpp:
(attachDownloadClientToContext):
(didStart):
(didReceiveResponse):
(didReceiveData):
(decideDestinationWithSuggestedFilename):
(didCreateDestination):
(didFail):
(didCancel):
(didFinish):
- 2:07 AM WebKitGTK/2.14.x edited by
- (diff)
- 2:07 AM WebKitGTK/2.14.x edited by
- (diff)
- 2:06 AM Changeset in webkit [207403] by
-
- 2 edits in trunk/Source/WebCore
[GTK] gobject-introspection on package build with webkit2gtk fails without active X session
https://bugs.webkit.org/show_bug.cgi?id=163105
Reviewed by Carlos Garcia Campos.
Don't call XCompositeQueryExtension() or XDamageQueryExtension()
if m_display is NULL.
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::supportsXComposite):
(WebCore::PlatformDisplayX11::supportsXDamage):
- 12:40 AM WebKitGTK/2.14.x edited by
- (diff)
- 12:23 AM Changeset in webkit [207402] by
-
- 2 edits in trunk/Source/WebKit2
[css-grid] Disable CSS Grid Layout runtime flag by default
https://bugs.webkit.org/show_bug.cgi?id=163432
Reviewed by Darin Adler.
It was enabled in r201042, but now Safari Technology Preview
has a UI to switch runtime flags so it doesn't need to be enabled
by default anymore.
- Shared/WebPreferencesDefinitions.h: Disable grid layout runtime flag
by default.
Oct 16, 2016:
- 10:58 PM Changeset in webkit [207401] by
-
- 9 edits in trunk
AX: [Mac] roleDescription for AXTextField input types
https://bugs.webkit.org/show_bug.cgi?id=163419
<rdar://problem/28766192>
Reviewed by Darin Adler.
Source/WebCore:
Provided more detailed role description for input types that
exposed as standard text fields on the mac.
Changes are covered in modified test expectation.
- English.lproj/Localizable.strings:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper roleDescription]):
- platform/LocalizedStrings.cpp:
(WebCore::AXEmailFieldText):
(WebCore::AXTelephoneFieldText):
(WebCore::AXURLFieldText):
(WebCore::AXDateFieldText):
(WebCore::AXTimeFieldText):
- platform/LocalizedStrings.h:
- platform/efl/LocalizedStringsEfl.cpp:
(WebCore::AXEmailFieldText):
(WebCore::AXTelephoneFieldText):
(WebCore::AXURLFieldText):
(WebCore::AXDateFieldText):
(WebCore::AXTimeFieldText):
- platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::AXEmailFieldText):
(WebCore::AXTelephoneFieldText):
(WebCore::AXURLFieldText):
(WebCore::AXDateFieldText):
(WebCore::AXTimeFieldText):
LayoutTests:
- platform/mac/accessibility/roles-exposed-expected.txt:
- 8:42 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:41 PM Changeset in webkit [207400] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK test gardening
- mathml/mathml-in-dashboard-expected.txt:
- platform/gtk/TestExpectations:
- 8:03 PM Changeset in webkit [207399] by
-
- 2 edits in trunk/Tools
Fix Perl warning about masked variable following <http://trac.webkit.org/changeset/207382>
(https://bugs.webkit.org/show_bug.cgi?id=163456)
- Scripts/prepare-ChangeLog:
(actuallyGenerateFunctionLists):
- 7:12 PM Changeset in webkit [207398] by
-
- 2 edits in trunk/Source/WebCore
Update WebKit localizable strings
https://bugs.webkit.org/show_bug.cgi?id=163513
Reviewed by Dan Bernstein.
Update WebKit localizable strings as it was missing the "too short" one needed
by form validation. This was causing a "Localized string not found" message to
be shown when testing the following sample on WebKit ToT:
- English.lproj/Localizable.strings:
- 6:28 PM Changeset in webkit [207397] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r206750): Crash when pressing Caps Lock if “Use the Caps Lock key to switch to and from U.S.” is selected in Input Sources preferences
https://bugs.webkit.org/show_bug.cgi?id=163506
<rdar://problem/28792483>
Reviewed by Darin Adler.
As per the NSEvent documentation [1], calling [NSEvent characters] is only
valid on key up / key down events and will raise an NSInternalInconsistencyException
if accessed on any other kind of event object. The crash happens when keyForKeyEvent()
is called with the third kind of key event (NSFlagsChanged) which is used for
detecting modifier keys. We normally detect the modifier key and return early before
calling [NSEvent characters]. However, in some rare cases, we fail to detect the
modifier key and we fall through.
To address the issue, we now return "Unidentified" for NSFlagsChanged events, if we
fail to detect the modifier key and before calling [NSEvent characters].
[1] https://developer.apple.com/reference/appkit/nsevent/1534183-characters
No new test, not easily testable.
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::keyForKeyEvent):
- 5:16 PM Changeset in webkit [207396] by
-
- 97 edits1 delete in trunk/Source
Move CSS classes from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163494
Reviewed by Sam Weinig.
Source/WebCore:
Removed the "get" prefix from the names of many CSSPrimitiveValue
functions to match WebKit coding style and to disambiguate them
from the public CSS DOM functions that raise exceptions.
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::propertyNamePrefix): Use enum class.
(WebCore::parseJavaScriptCSSPropertyName): Tweak style a bit.
(WebCore::stylePropertyGetter): Refactor to simplify structure.
(WebCore::stylePropertyGetterPixelOrPosPrefix): Ditto. Also use floatValue.
(WebCore::JSCSSStyleDeclaration::putDelegate): Use findIgnoringASCIICase,
and use propagateException to handle ExcpetionOr.
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): Tweak style a bit.
(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Use a lambda to
initialize a global here.
- bindings/js/JSDOMBinding.h: Added toJSString to support bindings for
functions returning ExceptionOr<String>.
- bindings/scripts/gobject-generate-headers.pl: Deleted.
- css/BasicShapeFunctions.cpp:
(WebCore::convertToLengthSize): Use pairValue.
(WebCore::convertToCenterCoordinate): Use valueID and pairValue.
(WebCore::cssValueToBasicShapeRadius): Ditto.
- css/CSSBasicShapes.cpp:
(WebCore::serializePositionOffset): Ditto.
(WebCore::buildSerializablePositionOffset): Ditto.
(WebCore::CSSBasicShapeCircle::cssText): Ditto.
(WebCore::CSSBasicShapeEllipse::cssText): Ditto.
(WebCore::updateCornerRadiusWidthAndHeight): Ditto.
- css/CSSBorderImageSliceValue.h: Use quadValue.
- css/CSSCalculationValue.cpp:
(WebCore::determineCategory): Use floatValue and doubleValue.
- css/CSSCharsetRule.h: Use ExceptionOr. Also made more things private.
- css/CSSCharsetRule.idl: Use non-legacy exceptions.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::setCssText): Use ExceptionOr.
(WebCore::ComputedStyleExtractor::propertyMatches): Use valueID.
(WebCore::CSSComputedStyleDeclaration::setProperty): Use ExceptionOr.
(WebCore::CSSComputedStyleDeclaration::removeProperty): Ditto.
(WebCore::CSSComputedStyleDeclaration::setPropertyInternal): Ditto.
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue): Return
a Ref instead of a RefPtr.
- css/CSSComputedStyleDeclaration.h: Updated for above changes.
- css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::fixedSize): Use floatValue.
(WebCore::CSSCrossfadeValue::image): Ditto.
(WebCore::CSSCrossfadeValue::blend): Use doubleValue.
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::calculateStyleMask): Use valueID.
(WebCore::CSSFontFace::calculateWeightMask): Ditto.
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::familyNameFromPrimitive): Ditto.
(WebCore::CSSFontFaceSet::matchingFaces): Use ExceptoinOr.
(WebCore::CSSFontFaceSet::check): Ditto.
- css/CSSFontFaceSet.h: Updated for above changes.
- css/CSSGradientValue.cpp:
(WebCore::compareStops): Use doubleValue.
(WebCore::CSSGradientValue::addStops): Use floatValue.
(WebCore::positionFromValue): Use floatValue and valudID.
(WebCore::CSSLinearGradientValue::customCSSText): Use doubleValue and valueID.
(WebCore::CSSLinearGradientValue::createGradient): Use floatValue and valueID.
(WebCore::CSSRadialGradientValue::customCSSText): Use doubleValue and valueID.
(WebCore::CSSRadialGradientValue::resolveRadius): Use floatValue.
(WebCore::CSSRadialGradientValue::createGradient): Use valueID.
- css/CSSGroupingRule.cpp:
(WebCore::CSSGroupingRule::insertRule): Use ExceptionOr.
(WebCore::CSSGroupingRule::deleteRule): Ditto.
- css/CSSGroupingRule.h: Updated for above changes.
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::subimageIsPending): Use valueID.
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto.
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::fillImageSet): Use floatValue.
- css/CSSMediaRule.idl: Use non-legacy exceptions.
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeDegrees): Use doubleValue.
(WebCore::CSSPrimitiveValue::setFloatValue): Use ExceptionOr.
(WebCore::CSSPrimitiveValue::getFloatValue): Replaced getDoubleValue with this,
since getDoubleValue is unused, moving the call to clampTo into this function.
Also changed this to use ExceptionOr.
(WebCore::CSSPrimitiveValue::doubleValue): Renamed from getDoubleValue.
(WebCore::CSSPrimitiveValue::doubleValueInternal): Use Optional instead of a bool
and an out argument to return the value and check for type failure.
(WebCore::CSSPrimitiveValue::setStringValue): Use ExceptionOr.
(WebCore::CSSPrimitiveValue::getStringValue): Ditto.
(WebCore::CSSPrimitiveValue::stringValue): Renamed from getStringValue.
(WebCore::CSSPrimitiveValue::getCounterValue): Use ExceptionOr.
(WebCore::CSSPrimitiveValue::getRectValue): Use ExceptionOr.
(WebCore::CSSPrimitiveValue::getQuadValue): Deleted.
(WebCore::CSSPrimitiveValue::getLengthRepeatValue): Deleted.
(WebCore::CSSPrimitiveValue::getRGBColorValue): Use ExceptionOr.
(WebCore::CSSPrimitiveValue::getPairValue): Deleted.
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText): Use new names for functions.
- css/CSSPrimitiveValue.h: Reorganized the class, moved large inline function bodies
out of the class definition. Updated for the above changes.
- css/CSSPrimitiveValue.idl: Use non-legacy exceptions.
- css/CSSPrimitiveValueMappings.h: Use value instead of getValue, etc.
- css/CSSRule.cpp:
(WebCore::CSSRule::setCssText): Use ExceptionOr.
- css/CSSRule.h: Updated for above change.
- css/CSSRule.idl: Use non-legacy exceptions.
- css/CSSStyleDeclaration.h: Use ExceptionOr.
- css/CSSStyleDeclaration.idl: Use non-legacy exceptions.
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::deprecatedInsertRule): Use ExceptionOr.
(WebCore::CSSStyleSheet::insertRule): Ditto.
(WebCore::CSSStyleSheet::deleteRule): Ditto.
(WebCore::CSSStyleSheet::addRule): Ditto.
- css/CSSStyleSheet.h: Updated for the above changes.
- css/CSSStyleSheet.idl: Use non-legacy exceptions.
- css/CSSSupportsRule.idl: Use non-legacy exceptions.
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillAttachment): Use valueID instead of getValueID, etc.
(WebCore::convertToLengthSize): Ditto.
(WebCore::CSSToStyleMap::mapFillSize): Ditto.
(WebCore::CSSToStyleMap::mapFillXPosition): Ditto.
(WebCore::CSSToStyleMap::mapFillYPosition): Ditto.
(WebCore::CSSToStyleMap::mapFillMaskSourceType): Ditto.
(WebCore::CSSToStyleMap::mapAnimationDirection): Ditto.
(WebCore::CSSToStyleMap::mapAnimationFillMode): Ditto.
(WebCore::CSSToStyleMap::mapAnimationIterationCount): Ditto.
(WebCore::CSSToStyleMap::mapAnimationName): Ditto.
(WebCore::CSSToStyleMap::mapAnimationPlayState): Ditto.
(WebCore::CSSToStyleMap::mapAnimationProperty): Ditto.
(WebCore::CSSToStyleMap::mapAnimationTimingFunction): Ditto.
(WebCore::CSSToStyleMap::mapAnimationTrigger): Ditto.
(WebCore::CSSToStyleMap::mapNinePieceImageSlice): Ditto.
(WebCore::CSSToStyleMap::mapNinePieceImageQuad): Ditto.
(WebCore::CSSToStyleMap::mapNinePieceImageRepeat): Ditto.
- css/CSSValue.h: Use ExceptionOr.
- css/CSSValue.idl: Use non-legacy exceptions.
- css/Counter.h: Use stringValue instead of getStringValue, etc.
- css/FontFace.cpp:
(WebCore::FontFace::create): Use ExceptionOr.
(WebCore::FontFace::setFamily): Ditto.
(WebCore::FontFace::setStyle): Ditto.
(WebCore::FontFace::setWeight): Ditto.
(WebCore::FontFace::setStretch): Ditto.
(WebCore::FontFace::setUnicodeRange): Ditto.
(WebCore::FontFace::setVariant): Ditto.
(WebCore::FontFace::setFeatureSettings): Ditto.
- css/FontFace.h: Updated for above changes.
- css/FontFace.idl: Use non-legacy exceptions.
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::load): Use ExceptionOr.
(WebCore::FontFaceSet::check): Ditto.
- css/FontFaceSet.h: Updated for above changes.
- css/FontFaceSet.idl: Use non-legacy exceptions.
- css/FontVariantBuilder.cpp:
(WebCore::extractFontVariantLigatures): Use valueID instead of getValueID, etc.
(WebCore::extractFontVariantNumeric): Ditto.
(WebCore::extractFontVariantEastAsian): Ditto.
- css/MediaList.cpp:
(WebCore::MediaList::setMediaText): Use ExceptionOr.
(WebCore::MediaList::deleteMedium): Ditto.
(WebCore::MediaList::appendMedium): Ditto.
- css/MediaList.h: Updated for above changes.
- css/MediaList.idl: Use non-legacy exceptions.
- css/MediaQueryEvaluator.cpp:
(WebCore::doubleValue): Use valueID instead of getValueID, etc.
(WebCore::colorGamutEvaluate): Ditto.
(WebCore::invertedColorsEvaluate): Ditto.
(WebCore::orientationEvaluate): Ditto.
(WebCore::evaluateResolution): Ditto.
(WebCore::computeLength): Ditto.
(WebCore::viewModeEvaluate): Ditto.
(WebCore::hoverEvaluate): Ditto.
(WebCore::pointerEvaluate): Ditto.
(WebCore::prefersReducedMotionEvaluate): Ditto.
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText): Use ExceptionOr.
(WebCore::PropertySetCSSStyleDeclaration::setProperty): Ditto.
(WebCore::PropertySetCSSStyleDeclaration::removeProperty): Ditto.
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal): Ditto.
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal): Ditto.
- css/PropertySetCSSStyleDeclaration.h: Updated for above changes.
Also marked a couple additional functions private.
- css/StyleBuilderConverter.h: Use doubleValue instead of getDoubleValue, etc.
- css/StyleBuilderCustom.h: Ditto.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getLayeredShorthandValue): Ditto.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::MatchResult::addMatchedProperties): Ditto.
(WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement): Ditto.
(WebCore::StyleResolver::colorFromPrimitiveValue): Ditto.
(WebCore::StyleResolver::createFilterOperations): Ditto.
- css/TransformFunctions.cpp:
(WebCore::transformsForValue): Ditto.
- css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::getViewportArgumentValue): Ditto.
- css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::WebKitCSSMatrix): Tweaked constructors a bit,
getting rid of the one that uses an ExceptionCode.
(WebCore::WebKitCSSMatrix::create): Moved in here, and use ExceptionOr.
(WebCore::WebKitCSSMatrix::setMatrixValue): Use ExceptionOr.
(WebCore::WebKitCSSMatrix::multiply): Tweak coding style a bit.
(WebCore::WebKitCSSMatrix::inverse): Use ExceptionOr.
(WebCore::WebKitCSSMatrix::translate): Return a Ref instead of RefPtr.
(WebCore::WebKitCSSMatrix::scale): Ditto.
(WebCore::WebKitCSSMatrix::rotate): Ditto.
(WebCore::WebKitCSSMatrix::rotateAxisAngle): Ditto.
(WebCore::WebKitCSSMatrix::skewX): Ditto.
(WebCore::WebKitCSSMatrix::skewY): Ditto.
(WebCore::WebKitCSSMatrix::toString): Tweaked formatting a bit.
- css/WebKitCSSMatrix.h: Updated for above changes.
- css/WebKitCSSMatrix.idl: Use non-legacy extensions.
- css/makeprop.pl:
(handleCurrentColorValue): Use valueID instead of getValueID.
(generateValueSetter): Ditto.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parse4ValuesFillPosition): Use valueID instead of getValueID, etc.
(WebCore::CSSParser::parse3ValuesFillPosition): Ditto.
(WebCore::CSSParser::parseFillPosition): Ditto.
(WebCore::CSSParser::parseFillRepeat): Ditto.
(WebCore::CSSParser::parseGridPosition): Ditto.
(WebCore::CSSParser::parseGridTemplateRowsAndAreasAndColumns): Ditto.
(WebCore::isGridTrackFixedSized): Ditto.
(WebCore::CSSParser::parseRadialGradient): Ditto.
(WebCore::CSSParser::parseBuiltinFilterArguments): Ditto.
- css/parser/CSSParserValues.cpp:
(WebCore::CSSParserValue::createCSSValue): Removed the unneeded call to
setPrimitiveType here. The createParserOperator returns an object that
already has the correct primitive type.
- css/parser/CSSPropertyParser.cpp: Updated most cases of calling the old
getXXXValue functions, but not sure if it's right since it is commented out
code that I did not compile.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::clampRGBComponent): Use intValue instead of getIntValue, etc.
(WebCore::CSSPropertyParserHelpers::parseHSLParameters): Ditto.
(WebCore::CSSPropertyParserHelpers::isHorizontalPositionKeywordOnly): Ditto.
(WebCore::CSSPropertyParserHelpers::isVerticalPositionKeywordOnly): Ditto.
(WebCore::CSSPropertyParserHelpers::positionFromThreeOrFourValues): Ditto.
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient): Ditto.
- dom/Range.cpp: Added now-needed include of ExceptionCode.h.
- dom/SelectorQuery.cpp: Ditto.
- editing/ApplyStyleCommand.cpp:
(WebCore::toIdentifier): Use valueID instead of getValueID, etc.
(WebCore::ApplyStyleCommand::computedFontSize): Ditto.
- editing/EditingStyle.cpp:
(WebCore::identifierForStyleProperty): Ditto.
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle): Ditto.
(WebCore::EditingStyle::extractFontSizeDelta): Ditto.
(WebCore::EditingStyle::textDirection): Ditto.
(WebCore::EditingStyle::prepareToApplyAt): Ditto.
(WebCore::EditingStyle::textDirectionForSelection): Ditto.
(WebCore::fontWeightIsBold): Ditto.
(WebCore::legacyFontSizeFromCSSValue): Ditto.
(WebCore::isTransparentColorValue): Ditto.
(WebCore::hasTransparentBackgroundColor): Ditto.
(WebCore::backgroundColorInEffect): Ditto.
- editing/Editor.cpp:
(WebCore::Editor::applyEditingStyleToElement): Removed IGNORE_EXCEPTION; that is
what we do by default for things returning ExceptionOr.
- editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::doApply): Ditto.
(WebCore::RemoveCSSPropertyCommand::doUnapply): Ditto.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Ditto.
- editing/cocoa/HTMLConverter.mm:
(floatValueFromPrimitiveValue): Use floatValue instead of getFloatValue, etc.
- editing/markup.cpp:
(WebCore::propertyMissingOrEqualToNone): Ditto.
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::addRule): Updated to call ExceptionOr-returning functions.
(WebCore::InspectorStyleSheet::deleteRule): Ditto.
(WebCore::InspectorStyleSheet::setStyleText): Ditto.
- svg/SVGLength.cpp:
(WebCore::SVGLength::fromCSSPrimitiveValue): Use floatValue instead of getFloatValue.
Source/WebKit/mac:
- DOM/DOMCSSMediaRule.mm:
(-[DOMCSSMediaRule insertRule:index:]): Use raiseOnDOMError
the new way to handle ExceptionOr instead of ExceptionCode.
(-[DOMCSSMediaRule deleteRule:]): Ditto.
- DOM/DOMCSSPrimitiveValue.mm:
(-[DOMCSSPrimitiveValue setFloatValue:floatValue:]): Ditto.
(-[DOMCSSPrimitiveValue getFloatValue:]): Ditto.
(-[DOMCSSPrimitiveValue setStringValue:stringValue:]): Ditto.
(-[DOMCSSPrimitiveValue getStringValue]): Ditto.
(-[DOMCSSPrimitiveValue getCounterValue]): Ditto.
(-[DOMCSSPrimitiveValue getRectValue]): Ditto.
(-[DOMCSSPrimitiveValue getRGBColorValue]): Ditto.
- DOM/DOMCSSRule.mm:
(-[DOMCSSRule setCssText:]): Ditto.
- DOM/DOMCSSStyleDeclaration.mm:
(-[DOMCSSStyleDeclaration setCssText:]): Ditto.
(-[DOMCSSStyleDeclaration removeProperty:]): Ditto.
(-[DOMCSSStyleDeclaration setProperty:value:priority:]): Ditto.
- DOM/DOMCSSStyleSheet.mm:
(-[DOMCSSStyleSheet insertRule:index:]): Ditto.
(-[DOMCSSStyleSheet deleteRule:]): Ditto.
(-[DOMCSSStyleSheet addRule:style:index:]): Ditto.
(-[DOMCSSStyleSheet removeRule:]): Ditto.
- DOM/DOMCSSValue.mm:
(-[DOMCSSValue setCssText:]): Ditto.
- DOM/DOMMediaList.mm:
(-[DOMMediaList setMediaText:]): Ditto.
(-[DOMMediaList deleteMedium:]): Ditto.
(-[DOMMediaList appendMedium:]): Ditto.
- DOM/ExceptionHandlers.h: Added an overload of raiseDOMException
that works with a WebCore::Exception&& and overloads of
raiseOnDOMError that work with WebCore::ExceptionOr&&.
- DOM/ExceptionHandlers.mm:
(raiseDOMException): Implemented the new version.
Source/WebKit/win:
- DOMCSSClasses.cpp:
(DOMCSSStyleDeclaration::setCssText): Remove ExceptionCode handling.
(DOMCSSStyleDeclaration::setProperty): Ditto.
Source/WebKit2:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
(webkit_dom_css_rule_set_css_text): Updated for ExceptionOr.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.cpp:
(webkit_dom_css_style_declaration_remove_property): Ditto.
(webkit_dom_css_style_declaration_set_property): Ditto.
(webkit_dom_css_style_declaration_set_css_text): Ditto.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.cpp:
(webkit_dom_css_style_sheet_insert_rule): Ditto.
(webkit_dom_css_style_sheet_delete_rule): Ditto.
(webkit_dom_css_style_sheet_add_rule): Ditto.
(webkit_dom_css_style_sheet_remove_rule): Ditto.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.cpp:
(webkit_dom_css_value_set_css_text): Ditto.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp:
(webkit_dom_media_list_delete_medium): Ditto.
(webkit_dom_media_list_append_medium): Ditto.
(webkit_dom_media_list_set_media_text): Ditto.
- 3:11 PM Changeset in webkit [207395] by
-
- 2 edits3 adds in trunk
[Modern Media Controls] Styles for StartButton are missing
https://bugs.webkit.org/show_bug.cgi?id=163499
<rdar://problem/28792009>
Patch by Antoine Quint <Antoine Quint> on 2016-10-16
Reviewed by Darin Adler.
Source/WebCore:
Add styling for StartButton so that instances are always displayed in the center of their container.
Test: media/modern-media-controls/start-button/start-button-styles.html
- Modules/modern-media-controls/controls/start-button.css: Added.
(button.start):
(button.start > *):
(button.start > div):
(button.start > img):
(button.start:active > img):
LayoutTests:
New test checking StartButton instances have the right CSS styles applied to their DOM structure.
- media/modern-media-controls/start-button/start-button-styles-expected.txt: Added.
- media/modern-media-controls/start-button/start-button-styles.html: Added.
- 11:59 AM Changeset in webkit [207394] by
-
- 2 edits in trunk/Source/WebCore
Implement serializer = { attribute }
https://bugs.webkit.org/show_bug.cgi?id=163466
Follow-up fix to die if "serializer {...}" lists an attribute not present
on the interface. I don't think this is testable with the current bindings tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateSerializerFunction):
- 11:47 AM Changeset in webkit [207393] by
-
- 2 edits in trunk/Source/WebCore
Add the "Geometry Interfaces" to features.json.
- features.json:
- 7:30 AM Changeset in webkit [207392] by
-
- 2 edits1 add in trunk/LayoutTests
[EFL] Meter tests have been failed since r207280
Unreviewed EFL gardening. And add new baseline for meter-element.html.
- platform/efl/TestExpectations: Mark 2 tests to failure.
- platform/efl/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added.
- 2:31 AM Changeset in webkit [207391] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Default WebKitWebsiteDataManager is always leaked in WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=163443
Reviewed by Michael Catanzaro.
Adopt the reference returned by webkitWebsiteDataManagerCreate().
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
- 2:27 AM Changeset in webkit [207390] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix GTK+ unit test /webkit2/WebKitWebContext/languages after r206949.
After r206949 navigator.language returns en-US instead of en-us. Language tags in Accept-Language header are
actually case-insensitive, so we should actually do case-insensitive comparisons, but we only have
g_assert_cmpstr for tests.
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextLanguages):
- 2:11 AM Changeset in webkit [207389] by
-
- 4 edits in trunk
[GTK] WebKitWebPage URI not updated after URI is modified by InjectedBundlePageResourceLoadClient::willSendRequestForFrame
https://bugs.webkit.org/show_bug.cgi?id=163389
Reviewed by Michael Catanzaro.
Source/WebKit2:
Update the page URI also when the load is committed.
- WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(getDocumentLoaderURL):
(didStartProvisionalLoadForFrame):
(didReceiveServerRedirectForProvisionalLoadForFrame):
(didCommitLoadForFrame):
(webkitWebPageCreate):
(getProvisionalURLForFrame): Deleted.
Tools:
Update /webkit2/WebKitWebPage/get-uri test to check that web view and page uri always match even when request is
modified by WebKitWebPage::send-request signal.
- TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:
(testWebPageURI):
- 1:35 AM Changeset in webkit [207388] by
-
- 8 edits in trunk
Document request not updated after willSendRequest is called for a redirect
https://bugs.webkit.org/show_bug.cgi?id=163436
Reviewed by Michael Catanzaro.
Source/WebCore:
The first willSendRequest happens before DocumentLoader::startLoadingMainResource(), that calls setRequest, but
the second one happens after DocumentLoader::redirectReceived() and then the request is never updated again.
Covered by GTK+ unit tests.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willContinueMainResourceLoadAfterRedirect): Set the new request.
- loader/DocumentLoader.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal): Notify the document loader when loading the main resource
and called for a redirection.
Tools:
Update /webkit2/WebKitWebView/active-uri test to check the active URI also when modified by
WebKitPage::send-request signal in a web extension.
- TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:
(testWebViewActiveURI):
(serverCallback):
- TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(sendRequestCallback):
- TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:
(loadChangedCallback):