Timeline
Dec 21, 2013:
- 11:01 PM Changeset in webkit [160973] by
-
- 3 edits in trunk/Source/WebCore
Start refactoring Filter code to reuse CachedSVGDocument for clipPath
https://bugs.webkit.org/show_bug.cgi?id=126069
Reviewed by Andreas Kling.
Smaller refactoring of the CSS filter style resolver code. Previously the code
requested the FilterOperations list from RenderStyle and compared the content
in this list with an internal map. Then the resource loading was triggered.
With the refactoring we do not request the list from RenderStyle anymore but
rely on the hash map data entirely.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments):
- platform/graphics/filters/FilterOperation.h:
- 6:45 PM Changeset in webkit [160972] by
-
- 4 edits in trunk/Source/WebKit2
Unreviewed build fix attempt on EFL port after r160971 and r160969
- CMakeLists.txt:
- UIProcess/soup/WebSoupRequestManagerClient.cpp:
(WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
- UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):
- 6:18 PM Changeset in webkit [160971] by
-
- 16 edits2 moves in trunk/Source/WebKit2
[WK2] Rename WebError to API::Error
https://bugs.webkit.org/show_bug.cgi?id=126125
Reviewed by Anders Carlsson.
- Shared/API/c/WKError.cpp:
(WKErrorGetTypeID):
(WKErrorCopyWKErrorDomain):
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
- Shared/API/c/cf/WKErrorCF.cpp:
(WKErrorCreateWithCFError):
- Shared/APIError.cpp: Copied from Source/WebKit2/Shared/WebError.cpp.
(API::Error::webKitErrorDomain):
(API::Error::encode):
(API::Error::decode):
- Shared/APIError.h: Copied from Source/WebKit2/Shared/WebError.h.
(API::Error::create):
(API::Error::domain):
(API::Error::failingURL):
(API::Error::localizedDescription):
(API::Error::Error):
- Shared/Cocoa/WKNSError.h:
(WebKit::wrapper):
- Shared/Cocoa/WKNSError.mm:
(-[WKNSError _web_createTarget]):
- Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
- Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
- Shared/WebError.cpp: Removed.
- Shared/WebError.h: Removed.
- UIProcess/AutoCorrectionCallback.h:
(WebKit::AutocorrectionDataCallback::invalidate):
- UIProcess/GenericCallback.h:
(WebKit::VoidCallback::invalidate):
(WebKit::GenericCallback::invalidate):
(WebKit::ComputedPagesCallback::invalidate):
(WebKit::ImageCallback::invalidate):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::printFinishedCallback):
- UIProcess/WebPageProxy.h:
(WebKit::ValidateCommandCallback::invalidate):
(WebKit::GestureCallback::invalidate):
(WebKit::TouchesCallback::invalidate):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
- WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
- WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
(WebKit::blockedError):
(WebKit::cannotShowURLError):
(WebKit::interruptedForPolicyChangeError):
(WebKit::cannotShowMIMETypeError):
(WebKit::pluginWillHandleLoadError):
(WebKit::internalError):
- 5:04 PM Changeset in webkit [160970] by
-
- 5 edits in trunk/Source/WebCore
[Mac] Soft-link WebContentAnalysis.framework
https://bugs.webkit.org/show_bug.cgi?id=126102
Reviewed by Dan Bernstein.
- Configurations/WebCore.xcconfig: There's no need to modify LDFLAGS
now that we don't hard link against WebContentAnalysis.framework.
- WebCore.xcodeproj/project.pbxproj: Removed
WebContentAnalysis.framework from the 'Link Binary with Libraries'
build phase.
- platform/mac/ContentFilterMac.mm: Soft-linked
WebContentAnalysis.framework and the WebFilterEvaluator @class.
(WebCore::ContentFilter::ContentFilter): Called getWebFilterEvaluatorClass().
(WebCore::ContentFilter::isEnabled): Ditto.
- platform/mac/SoftLinking.h: Added an implementation of
SOFT_LINK_PRIVATE_FRAMEWORK().
- 4:57 PM Changeset in webkit [160969] by
-
- 20 edits1 move in trunk/Source/WebKit2
[WK2] Rename WebURL to API::URL
https://bugs.webkit.org/show_bug.cgi?id=126100
Reviewed by Anders Carlsson.
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toURLRef):
(WebKit::toCopiedURLAPI):
- Shared/API/c/WKURL.cpp:
(WKURLGetTypeID):
(WKURLCreateWithUTF8CString):
(WKURLCreateWithBaseURL):
- Shared/API/c/cf/WKURLCF.mm:
(WKURLCreateWithCFURL):
- Shared/APIURL.h: Copied from Source/WebKit2/Shared/WebURL.h.
(API::URL::create):
(API::URL::string):
(API::URL::host):
(API::URL::protocol):
(API::URL::path):
(API::URL::lastPathComponent):
(API::URL::encode):
(API::URL::decode):
(API::URL::URL):
- Shared/Cocoa/WKNSURL.h:
(WebKit::wrapper):
- Shared/Cocoa/WKNSURL.mm:
(-[WKNSURL _web_createTarget]):
- Shared/Plugins/Netscape/PluginInformation.cpp:
(WebKit::createPluginInformationDictionary):
- Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
- Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
- Shared/WebArchiveResource.h:
- Shared/WebURL.h: Removed.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::getResourceData):
- UIProcess/WebFrameProxy.h:
- UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::didChangeIconForPageURL):
(WebKit::WebIconDatabase::notifyIconDataReadyForPageURL):
- UIProcess/WebIconDatabaseClient.cpp:
(WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
(WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
- UIProcess/WebIconDatabaseClient.h:
- UIProcess/WebOpenPanelResultListenerProxy.cpp:
(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getResourceDataFromFrame):
- UIProcess/WebPageProxy.h:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
- 12:25 PM Changeset in webkit [160968] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r160916.
http://trac.webkit.org/changeset/160916
https://bugs.webkit.org/show_bug.cgi?id=126073
Roll out a temporary fix. The underlying issue was fixed.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::detach):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
- accessibility/AccessibilityRenderObject.h:
- 11:25 AM Changeset in webkit [160967] by
-
- 13 edits in branches/jsCStack/Source/JavaScriptCore
CStack: Update the VMEntryScope's stack limit when the VM enters/exits ErrorMode.
https://bugs.webkit.org/show_bug.cgi?id=126009.
Not yet reviewed.
- Renamed JSStack::updateStackLimit() to setStackLimit() because that is what it actually does. We're going to repurpose the updateStackLimit name for another function.
- Fixed a bug in setStackLimit() where setJSStackLimit() was called with the value of newEnd which points past the end of the stack. The fix is to add 1 to point at the last slot at top of the stack. This is what is the users of the jsStackLimit value expects.
- Introduce the new JSStack::updateStackLimit() which is responsible for re-setting the current stack limit. updateStackLimit() will handle both cases of the JS stack being on the C stack or a separate stack.
For the C stack case, JStack::updateStackLimit() will check if a
VMEntryScope has been installed in the VM. If so, it will tell the
VMEntryScope to do the real work of updating the stack limit. The
VMEntryScope will take into account whether the VM's Interpreter is
in an error handling mode or not when determining the amount of host
zone space to reserve on the stack for computing the stack limit value.
- Interpreter::ErrorHandlingMode now calls JSStack::updateStackLimit whenever it enters / exit error handling mode. This allows the stack limit to change with the error mode change.
- A lot of places in the code were throwing StackOverflowErrors by creating and throwing the error themselves instead of using the throwStackOverflowError() helper function. As a result, the VM never got the chance to enter error mode. This is a bug and is now fixed by making all these sites use throwStackOverflowError() instead.
For sites that can't use throwStackOverflowError(), I updated them to
instantiate Interpreter::ErrorHandlingMode to set the error mode
appropriately.
- Made JSStack::enableErrorStackReserve() and disableErrorStackReserve() private. They are no longer called from outside of JSStack.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::ErrorHandlingMode::ErrorHandlingMode):
(JSC::Interpreter::ErrorHandlingMode::~ErrorHandlingMode):
(JSC::sizeFrameForVarargs):
- interpreter/JSStack.cpp:
(JSC::JSStack::JSStack):
(JSC::JSStack::growSlowCase):
(JSC::JSStack::updateStackLimit):
- interpreter/JSStack.h:
- interpreter/JSStackInlines.h:
(JSC::JSStack::shrink):
(JSC::JSStack::setStackLimit):
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- parser/ParserError.h:
(JSC::ParserError::toErrorObject):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSONObject.cpp:
(JSC::Walker::walk):
- runtime/StringRecursionChecker.cpp:
(JSC::StringRecursionChecker::throwStackOverflowError):
- runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::updateStackLimit):
- runtime/VMEntryScope.h:
- 10:51 AM Changeset in webkit [160966] by
-
- 51 edits in trunk/Source/WebCore
Figure out if node is focusable without requiring renderer
https://bugs.webkit.org/show_bug.cgi?id=126118
Reviewed by Andreas Kling.
- dom/Element.cpp:
(WebCore::Element::computedStyle):
Use inDocument() test instead of the attached() test. We can compute style for anything that
is in document.
- dom/Node.cpp:
(WebCore::Node::isContentEditable):
(WebCore::Node::isContentRichlyEditable):
(WebCore::Node::hasEditableStyle):
Use computedStyle instead of getting the style from renderer. Computed style gets constructed
on demand if renderer does not exist. If it does then the existing style is used.
(WebCore::Node::isEditableToAccessibility):
(WebCore::Node::canStartSelection):
(WebCore::Node::isRootEditableElement):
(WebCore::Node::rootEditableElement):
- dom/Node.h:
(WebCore::Node::hasEditableStyle):
(WebCore::Node::hasRichlyEditableStyle):
Renamed from rendererIsEditable since these no longer require renderer.
(WebCore::HTMLElement::supportsFocus):
Stop calling updateStyleIfNeeded() and forcing render tree construction.
- 6:40 AM Changeset in webkit [160965] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Test /webkit2/WebKitWebResource/mime-type fails when run after /webkit2/WebKitWebView/resources
https://bugs.webkit.org/show_bug.cgi?id=126119
Reviewed by Martin Robinson.
The problem is that when the blank.ico resource is loaded from the
disk cache, the mime type is null, because the soup cache doesn't
cache sniffed mime types. This doesn't happen when a resource is
loaded form the memory cache, because the ResourceResponse is
cached, not only the headers. I think the disk cache should also
cache the sniffed content type, but that needs to be done in
soup. For now we can workaround the issue in the unit test by
making sure that resources that can be cached, also include the
Content-Type header, this way the mime type won't be sniffed and
it will be cached as a HTTP header in the disk cache.
- UIProcess/API/gtk/tests/TestResources.cpp:
(serverCallback): Add Content-Type header for resources that can
be cached.
- 6:36 AM Changeset in webkit [160964] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION(r160909): [GTK] Tests /webkit2/WebKitWebView/default-menu and /webkit2/WebKitSettings/webkit-settings fail
https://bugs.webkit.org/show_bug.cgi?id=126117
Reviewed by Martin Robinson.
In r160909 the fullscreen setting default value was changed, but
the unit tests relaying on the default value were not updated
accordingly.
- UIProcess/API/gtk/tests/TestContextMenu.cpp:
- UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(testWebKitSettings):
- 1:49 AM Changeset in webkit [160963] by
-
- 5 edits in branches/jsCStack/Source/JavaScriptCore
Register restoration thunk should restore the ArgumentCount after it restores registers
https://bugs.webkit.org/show_bug.cgi?id=126115
Not yet reviewed.
Just getting us further along in V8/crypto...
- ftl/FTLJSCall.cpp:
(JSC::FTL::JSCall::JSCall):
(JSC::FTL::JSCall::link):
- ftl/FTLJSCall.h:
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
- jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterRestoration):
- 12:59 AM Changeset in webkit [160962] by
-
- 2 edits in trunk/Tools
Unreviewed. Add myself to some more watch lists.
- Scripts/webkitpy/common/config/watchlist: Watch also soup, gst
and binding scripts patches.
- 12:51 AM Changeset in webkit [160961] by
-
- 3 edits in trunk/Source/WebCore
[SOUP] ResourceHandleSoup should use async client callbacks when client uses async callbacks
https://bugs.webkit.org/show_bug.cgi?id=126006
Reviewed by Martin Robinson.
This fixes WebKit2 loader client unit tests when using the network
process.
- platform/network/ResourceHandle.cpp:
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Call willSendRequestAsync on the client
when usesAsyncCallbacks returns true.
(WebCore::nextMultipartResponsePartCallback): Call
didReceiveResponseAsync on the client when usesAsyncCallbacks
returns true.
(WebCore::sendRequestCallback): Ditto.
(WebCore::ResourceHandle::continueWillSendRequest): Empty
implementation for now because the default one asserts.
(WebCore::ResourceHandle::continueDidReceiveResponse): Ditto.
(WebCore::ResourceHandle::continueShouldUseCredentialStorage): Ditto.
Dec 20, 2013:
- 11:11 PM Changeset in webkit [160960] by
-
- 8 edits in branches/jsCStack/Source/JavaScriptCore
CStack: Introduce JSStack::ensureCapacityFor().
https://bugs.webkit.org/show_bug.cgi?id=126109.
Not yet reviewed.
Client code should use JSStack::ensureCapacityFor() when checking for
available stack space for pushing JS frames or making arity adjustments.
JSStack::ensureCapacityFor() works for both cases of the JS stack on the
C stack or as a sperate stack.
JSStack::grow() is now private, and is only used by the C Loop LLINT.
Also made some other JSStack methods private as they are not needed
outside of the JSSTack class.
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):
- interpreter/Interpreter.cpp:
(JSC::sizeFrameForVarargs):
- interpreter/JSStack.h:
- interpreter/JSStackInlines.h:
(JSC::JSStack::ensureCapacityFor):
(JSC::JSStack::topOfStackForCapacityCheck):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
- 9:23 PM Changeset in webkit [160959] by
-
- 8 edits in trunk/Source
Replace yield() and pauseBriefly() with std::this_thread::yield()
https://bugs.webkit.org/show_bug.cgi?id=126105
Reviewed by Sam Weinig.
Source/WebCore:
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::interrupt):
Source/WTF:
- wtf/ByteSpinLock.h:
(WTF::ByteSpinLock::lock):
- wtf/Threading.h:
- wtf/ThreadingPrimitives.h:
- wtf/ThreadingPthreads.cpp:
- wtf/ThreadingWin.cpp:
- 8:58 PM Changeset in webkit [160958] by
-
- 3 edits3 adds in branches/jsCStack/Source/JavaScriptCore
FTL OSR exit should be able to handle the arity check fail case
https://bugs.webkit.org/show_bug.cgi?id=126111
Not yet reviewed.
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
- jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterRestoration):
- tests/stress: Added.
- tests/stress/exit-from-ftl-with-arity-check-fail.js: Added.
(foo):
(bar):
- tests/stress/repeated-arity-check-fail.js: Added.
(bar):
- 7:50 PM Changeset in webkit [160957] by
-
- 2 edits in trunk/Source/WebCore
Assert that RootInlineBox::setLineBreakInfo should is never called on a RenderInline without line boxes
https://bugs.webkit.org/show_bug.cgi?id=126101
Reviewed by Simon Fraser.
Merge assertions added in https://chromium.googlesource.com/chromium/blink/+/716ac74fd475b581d69c0aa8ec2d806201c3a420
The code change was not merged since we never hit the added assertion on the attached test case in WebKit.
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::setLineBreakInfo):
- 6:48 PM Changeset in webkit [160956] by
-
- 3 edits in branches/jsCStack/Source/JavaScriptCore
Arity check stack restoration should preserve the ArgumentCount in case there is a register restoration thunk below it
https://bugs.webkit.org/show_bug.cgi?id=126106
Not yet reviewed.
- assembler/MacroAssemblerCodeRef.h:
(JSC::ReturnAddressPtr::dump):
- jit/ArityCheckFailReturnThunks.cpp:
(JSC::ArityCheckFailReturnThunks::returnPCsFor):
- 6:47 PM Changeset in webkit [160955] by
-
- 9 edits in trunk/Source/WebCore
Web Inspector: Remove the references to Node in InjectedScript
https://bugs.webkit.org/show_bug.cgi?id=126091
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-20
Reviewed by Timothy Hatcher.
Remove the last DOM references from InjectedScript so that
InjectedScript can move down into JavaScriptCore. The only
remaining references were to Nodes, which are all just thin
wrappers around existing functions. Move Node / JSNode (JSValue)
conversion into InspectorDOMAgent, where it was used.
No new tests, no observable change in functionality.
- bindings/js/JSInjectedScriptHostCustom.cpp:
- inspector/InjectedScript.cpp:
(WebCore::InjectedScript::inspectObject):
(WebCore::InjectedScript::releaseObject):
- inspector/InjectedScript.h:
- inspector/InjectedScriptHost.h:
- inspector/InjectedScriptSource.js:
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::focusNode):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::requestNode):
(WebCore::InspectorDOMAgent::nodeForObjectId):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::scriptValueAsNode):
(WebCore::InspectorDOMAgent::nodeAsScriptValue):
- inspector/InspectorDOMAgent.h:
- inspector/PageConsoleAgent.cpp:
- 6:25 PM Changeset in webkit [160954] by
-
- 4 edits in trunk/Source/WTF
Speed up case folding for 8-bit strings
https://bugs.webkit.org/show_bug.cgi?id=126098
Reviewed by Geoffrey Garen.
Add a case folding lookup table for 8-bit strings and use it instead of calling down to u_foldCase.
On a simple microbenchmark using a lookup table is about 15x faster.
- wtf/text/StringHash.h:
(WTF::CaseFoldingHash::foldCase):
- wtf/text/StringImpl.cpp:
(WTF::equalIgnoringCase):
- wtf/text/StringImpl.h:
- 6:15 PM Changeset in webkit [160953] by
-
- 3 edits in trunk/Tools
Unreviewed, rolling out r160941.
http://trac.webkit.org/changeset/160941
https://bugs.webkit.org/show_bug.cgi?id=126095
Doesn't handle subpixel layout being disabled (Requested by
smfr on #webkit).
- gdb/webkit.py:
(JSCJSStringPrinter.to_string):
(add_pretty_printers):
- lldb/lldb_webkit.py:
(WTFMediaTime_SummaryProvider):
(WTFStringProvider.to_string):
- 6:11 PM Changeset in webkit [160952] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix after r160939
Add ENABLE(CUSTOM_PROTOCOLS) guard.
- UIProcess/WebContext.cpp:
- 5:55 PM Changeset in webkit [160951] by
-
- 8 edits in trunk/Source
Faster implementation of text-decoration-skip: ink
https://bugs.webkit.org/show_bug.cgi?id=125718
Reviewed by Simon Fraser.
Source/WebCore:
This new implementation of text-decoration-skip: ink extracts
each glyph into a path, then decomposes each path into a series
of contours. It then intersects each contour with the top and
bottom of the underline (by approximating the contour with a line).
It then draws underlines in between these intersection regions.
Tests for text-decoration-skip: ink already exist in
fast/css3-text/css3-text-decoration/text-decoration-skip
- platform/graphics/Font.h: Signature of new function
- platform/graphics/mac/FontMac.mm:
(WebCore::GlyphIterationState::GlyphIterationState): Persistent
between calls to findPathIntersections
(WebCore::findIntersectionPoint): Calculates an intersection point
between two lines
(WebCore::findPathIntersections): Called by CGPathApply to find
intersections of each contour
(WebCore::Font::intersectionPoints): Function to get the places
where an underline would intersect a TextRun.
- rendering/InlineTextBox.cpp:
(WebCore::compareTuples): Used for sorting intersection ranges
(WebCore::translateIntersectionPointsToSkipInkBoundaries): Converts
a sequence of intersection points to the locations where
text-decoration-skip: ink should draw underlines
(WebCore::drawSkipInkUnderline): Draws a sequence of short underlines
(WebCore::InlineTextBox::paintDecoration):
- rendering/TextPainter.cpp:
(WebCore::TextPainter::intersectionPoints): Calls Font::intersectionPoints
- rendering/TextPainter.h:
Source/WTF:
This creates a new preprocessor define, CSS3_TEXT_DECORATION_SKIP_INK,
which enables the use of the text-decoration-skip: ink CSS value.
Creating this new value simplifies the logic about when to enable the
codepath for this CSS value.
- wtf/Platform.h:
- 5:27 PM Changeset in webkit [160950] by
-
- 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog
Updating review status for r160947.
- 5:05 PM Changeset in webkit [160949] by
-
- 7 edits in tags/Safari-538.10/Source/WebKit2
Merge r160939.
- 4:59 PM Changeset in webkit [160948] by
-
- 2 edits in trunk/Source/WebKit
Try to fix the Windows build.
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
- 4:56 PM Changeset in webkit [160947] by
-
- 12 edits in branches/jsCStack/Source/JavaScriptCore
CStack: callToJavaScript should do stack check for incoming args.
https://bugs.webkit.org/show_bug.cgi?id=126088.
Not yet reviewed.
- Change callToJavaScript()'s prototype to:
EncodedJSValue callToJavaScript(void*, VM*, ProtoCallFrame*);
We now pass VM* instead of &vm.topCallFrame for the second argument.
This gives us greater utility out of that arg.
We also now save the VM* in the VMEntrySentinelFrame instead of
&vm.topCallFrame.
- Change callToJavaScript() to do a stack check to ensure that we have adequate stack space to copy all the args from the protoCallFrame. If not, it'll throw a StackOverflowError.
- Removed JSStack::entryCheck() and calls to it.
callToJavaScript now takes care of the stack check that ensures
adequate stack space for incoming args.
callToJavaScript does assume that we have adequate stack space for
the VMEntrySentinelFrame, but that is ensured by our stack host zone.
Changes to callToJavaScript are done in the doCallToJavaScript macro.
Hence, all the changes apply to callToNativeFunction as well.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
- interpreter/JSStack.h:
- interpreter/JSStackInlines.h:
- jit/JITCode.cpp:
(JSC::JITCode::execute):
- jit/JITStubs.h:
- jit/JITStubsMSVC64.asm: Added a FIXME.
- jit/JITStubsX86.h: Added a FIXME.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_throw_stack_overflow_error):
- llint/LLIntSlowPaths.h:
- llint/LLIntThunks.h:
- llint/LowLevelInterpreter64.asm:
- 4:44 PM Changeset in webkit [160946] by
-
- 32 edits3 copies1 add in trunk/Source/WebCore
Web Inspector: Give the CommandLineAPIModule its own Host object, making InjectedScriptHost viable for a JS Context
https://bugs.webkit.org/show_bug.cgi?id=126082
Reviewed by Timothy Hatcher.
Extract CommandLineAPIHost from InjectedScriptHost. The command line API contained
a bunch of DOM specific JavaScript that would not be suitable for a pure JavaScript
environment. Now that the DOM related code is in this WebCore only module, give this
module a host object that WebCore will provide.
No new tests, no observable change in functionality.
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- GNUmakefile.list.am:
- UseJSC.cmake:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
Add new files.
- bindings/js/JSCommandLineAPIHostCustom.cpp: Added.
(WebCore::JSCommandLineAPIHost::inspectedObject):
(WebCore::getJSListenerFunctions):
(WebCore::JSCommandLineAPIHost::getEventListeners):
(WebCore::JSCommandLineAPIHost::inspect):
(WebCore::JSCommandLineAPIHost::databaseId):
(WebCore::JSCommandLineAPIHost::storageId):
- bindings/js/JSInjectedScriptHostCustom.cpp:
- inspector/CommandLineAPIHost.cpp: Copied from Source/WebCore/inspector/InjectedScriptHost.cpp.
(WebCore::CommandLineAPIHost::create):
(WebCore::CommandLineAPIHost::CommandLineAPIHost):
(WebCore::CommandLineAPIHost::~CommandLineAPIHost):
(WebCore::CommandLineAPIHost::disconnect):
(WebCore::CommandLineAPIHost::inspectImpl):
(WebCore::CommandLineAPIHost::getEventListenersImpl):
(WebCore::CommandLineAPIHost::clearConsoleMessages):
(WebCore::CommandLineAPIHost::copyText):
(WebCore::CommandLineAPIHost::InspectableObject::get):
(WebCore::CommandLineAPIHost::addInspectedObject):
(WebCore::CommandLineAPIHost::clearInspectedObjects):
(WebCore::CommandLineAPIHost::inspectedObject):
(WebCore::CommandLineAPIHost::databaseIdImpl):
(WebCore::CommandLineAPIHost::storageIdImpl):
- inspector/CommandLineAPIHost.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
(WebCore::CommandLineAPIHost::init):
- inspector/CommandLineAPIHost.idl: Copied from Source/WebCore/inspector/InjectedScriptHost.idl.
- inspector/CommandLineAPIModule.cpp:
These are almost all pure copies from InjectedScriptHost files. Cleaned up a bit.
- inspector/InjectedScriptModule.h:
- inspector/InjectedScriptModule.cpp:
(WebCore::InjectedScriptModule::ensureInjected):
Modules can now define a host object when they are getting injected.
(WebCore::CommandLineAPIModule::host):
- inspector/CommandLineAPIModule.h:
Provide a CommandLineAPIHost, host object.
- inspector/InjectedScriptCanvasModule.h:
- inspector/InjectedScriptCanvasModule.cpp:
(WebCore::InjectedScriptCanvasModule::host):
No host object is needed for the CanvasModule.
- inspector/InjectedScriptSource.js:
- inspector/CommandLineAPIModuleSource.js:
When injecting a module, pass on an optional host object to
the module's source. Move a little more code between the
two files. The two files are very tightly coupled right now.
- inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::create):
- inspector/InjectedScriptHost.h:
(WebCore::InjectedScriptHost::~InjectedScriptHost):
(WebCore::InjectedScriptHost::InjectedScriptHost):
- inspector/InjectedScriptHost.idl:
Move any command line specific logic to CommandLineAPIHost classes.
- inspector/InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::disconnect):
- inspector/InjectedScriptManager.h:
(WebCore::InjectedScriptManager::commandLineAPIHost):
- inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addInspectedHeapObject):
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
- inspector/InspectorHeapProfilerAgent.cpp:
(WebCore::InspectorHeapProfilerAgent::resetState):
- inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::resetState):
- inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::addInspectedNode):
- inspector/PageInjectedScriptManager.cpp:
(WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
(WebCore::PageInjectedScriptManager::disconnect):
- inspector/PageInjectedScriptManager.h:
- inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
An InjectedScriptManager may optionally have a commandLineAPIHost object.
If it does, initialize it, and send it messages.
- 4:43 PM Changeset in webkit [160945] by
-
- 5 edits5 adds in trunk
Allow ImageBuffer to re-use IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=125477
Reviewed by Geoff Garen.
PerformanceTests:
This test times creating a variety of different sizes of canvases
once some have already been created. The second creation of the
canvases should re-use the existing IOSurfaces.
- Canvas/reuse.html: Added.
Source/WebCore:
This test adds a static class, ImageBufferBackingStoreCache, that vends
IOSurfaces. It remembers IOSurfaces that have been returned to it until
a configurable timeout.
The storage used by this class is in the form of a HashMap from a
bucketed size to the IOSurface. There are many other data structures
that could be used, but this implementation gives a 80% hit rate on
normal browsing of some example sites with Canvas and
text-decoration-skip: ink. Because the buckets are fairly
small (rounding the width and height up to multiples of 8), traversing the
bucket contents takes on average 2 steps.
Test: fast/canvas/canvas-backing-store-reuse.html
- WebCore.xcodeproj/project.pbxproj: Added new caching class
- platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added.
(WebCore::createIOSurface): Moved from ImageBufferCG.cpp
(WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache
contents
(WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
(WebCore::ImageBufferBackingStoreCache::get): Static getter
(WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
(WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management
creation function
(WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management
deletion function
(WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached
IOSurface fit the bill?
(WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup
a bucket and walk through its contents
(WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function
for clients who want a IOSurface from the cache
(WebCore::ImageBufferBackingStoreCache::deallocate): Public
function for clients to return an IOSurface to the pool
- platform/graphics/cg/ImageBufferBackingStoreCache.h: Added.
- platform/graphics/cg/ImageBufferCG.cpp: Update to use new cache
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):
LayoutTests:
Now that we're re-using the backing store of canvases, this
test makes sure that if we draw to a canvas, then destroy it,
then create a new canvas (which should share the same backing
store) that it doesn't have the stale data in it
- fast/canvas/canvas-backing-store-reuse-expected.txt: Added.
- fast/canvas/canvas-backing-store-reuse.html: Added.
- 4:35 PM Changeset in webkit [160944] by
-
- 51 edits in trunk/Source
Change "threaded scrolling" terminology to "asynchronous scrolling"
https://bugs.webkit.org/show_bug.cgi?id=126094
Source/WebCore:
Reviewed by Tim Horton.
Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change
references to "main thread scrolling" to "synchronous scrolling".
In a few places, functions with names like shouldUpdateScrollLayerPositionOnMainThread()
were actually returning SynchronousScrollingReasons, so rename them appropriately.
- WebCore.exp.in:
- page/FrameView.cpp:
(WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
(WebCore::FrameView::isRubberBandInProgress):
(WebCore::FrameView::requestScrollPositionUpdate):
(WebCore::FrameView::updatesScrollLayerPositionOnMainThread):
(WebCore::FrameView::wheelEvent):
- page/Page.cpp:
(WebCore::Page::synchronousScrollingReasonsAsText):
- page/Page.h:
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::create):
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinator::synchronousScrollingReasons):
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
(WebCore::ScrollingCoordinator::setForceSynchronousScrollLayerPositionUpdates):
(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously):
(WebCore::ScrollingCoordinator::setSynchronousScrollingReasons):
- page/scrolling/ScrollingStateFixedNode.cpp:
- page/scrolling/ScrollingStateFixedNode.h:
- page/scrolling/ScrollingStateNode.cpp:
- page/scrolling/ScrollingStateNode.h:
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateScrollingNode::dumpProperties):
- page/scrolling/ScrollingStateScrollingNode.h: Awkward "ReasonsForSynchronousScrolling" to avoid
conflict with the enum called SynchronousScrollingReasons.
- page/scrolling/ScrollingStateStickyNode.cpp:
- page/scrolling/ScrollingStateStickyNode.h:
- page/scrolling/ScrollingStateTree.cpp:
- page/scrolling/ScrollingStateTree.h:
- page/scrolling/ScrollingThread.cpp:
- page/scrolling/ScrollingThread.h:
- page/scrolling/ScrollingTree.cpp:
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeNode.cpp:
- page/scrolling/ScrollingTreeNode.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
- page/scrolling/ScrollingTreeScrollingNode.h:
(WebCore::ScrollingTreeScrollingNode::synchronousScrollingReasons):
(WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionSynchronously):
- page/scrolling/mac/ScrollingCoordinatorMac.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::setSynchronousScrollingReasons):
(WebCore::ScrollingCoordinatorMac::commitTreeState):
- page/scrolling/mac/ScrollingStateNodeMac.mm:
- page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
- page/scrolling/mac/ScrollingThreadMac.mm:
- page/scrolling/mac/ScrollingTreeFixedNode.h:
- page/scrolling/mac/ScrollingTreeFixedNode.mm:
- page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
(WebCore::logThreadedScrollingMode):
- page/scrolling/mac/ScrollingTreeStickyNode.h:
- page/scrolling/mac/ScrollingTreeStickyNode.mm:
- platform/Scrollbar.cpp:
(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
- platform/graphics/TiledBacking.h:
- platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::updateTileCoverageMap):
- platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::releaseMemory):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFontSubpixelQuantization):
- rendering/RenderLayerBacking.cpp:
(WebCore::computeTileCoverage):
- testing/Internals.cpp:
(WebCore::Internals::mainThreadScrollingReasons):
- testing/Internals.idl:
Source/WebKit2:
Reviewed by Tim Horton.
Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change
references to "main thread scrolling" to "synchronous scrolling".
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
- WebProcess/WebPage/EventDispatcher.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
Source/WTF:
Reviewed by Tim Horton.
Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING.
- wtf/FeatureDefines.h:
- 4:26 PM Changeset in webkit [160943] by
-
- 7 edits in trunk/Source/WebCore
Revert r160327, r160273, and r160260.
We'll come up with something less aggressive, as this doesn't quite work.
- loader/cache/CachedImage.h:
- loader/cache/CachedResource.h:
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneLiveResourcesToSize):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
- 4:12 PM Changeset in webkit [160942] by
-
- 5 edits in trunk/Source/WebCore
PostAttachCallbackDisabler should take a Document
https://bugs.webkit.org/show_bug.cgi?id=126090
Reviewed by Andreas Kling.
suspendPostAttachCallbacks and resumePostAttachCallbacks always only get the document from the
container node, so make them static member functions that take a Document&. Also, move PostAttachCallbackDisabler
to Element.h in preparation for moving post attach callback handling to Element.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::suspendPostAttachCallbacks):
(WebCore::ContainerNode::resumePostAttachCallbacks):
- dom/ContainerNode.h:
- dom/Element.h:
(WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
(WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):
- style/StyleResolveTree.cpp:
(WebCore::Style::attachRenderTree):
- 4:05 PM Changeset in webkit [160941] by
-
- 3 edits in trunk/Tools
Pretty print LayoutUnit, LayoutPoint, and LayoutSize in gdb and lldb
https://bugs.webkit.org/show_bug.cgi?id=126080
Reviewed by Anders Carlsson.
This changes the output of printing LayoutUnits to be in px, removing
the need to divide by 64 manually.
This will lead to gdb output like:
m_frameRect = {
m_location = LayoutPoint(0px, 0px),
m_size = LayoutSize(800px, 585px)
}
And lldb output like:
(const WebCore::LayoutRect) $0 = {
m_location = { x = 744px, y = 1px }
m_size = { width = 236px, height = 40px }
}
This patch is based on patch for Blink by cbiesinger@chromium.org.
- gdb/webkit.py:
(WebCoreLayoutUnitPrinter):
(WebCoreLayoutUnitPrinter.init):
(WebCoreLayoutUnitPrinter.to_string):
(WebCoreLayoutSizePrinter):
(WebCoreLayoutSizePrinter.init):
(WebCoreLayoutSizePrinter.to_string):
(WebCoreLayoutPointPrinter):
(WebCoreLayoutPointPrinter.init):
(WebCoreLayoutPointPrinter.to_string):
(add_pretty_printers):
- lldb/lldb_webkit.py:
(lldb_init_module):
(WebCoreLayoutUnit_SummaryProvider):
(WebCoreLayoutSize_SummaryProvider):
(WebCoreLayoutPoint_SummaryProvider):
(WebCoreLayoutUnitProvider):
(WebCoreLayoutUnitProvider.init):
(WebCoreLayoutUnitProvider.to_string):
(WebCoreLayoutSizeProvider):
(WebCoreLayoutSizeProvider.init):
(WebCoreLayoutSizeProvider.get_width):
(WebCoreLayoutSizeProvider.get_height):
(WebCoreLayoutPointProvider):
(WebCoreLayoutPointProvider.init):
(WebCoreLayoutPointProvider.get_x):
(WebCoreLayoutPointProvider.get_y):
- 3:56 PM Changeset in webkit [160940] by
-
- 7 edits in trunk/Source/WebKit2
Rename PlugInAutoStartProvider's ...EntriesAddedBeforeTime facility to ...EntriesAddedAfterTime
https://bugs.webkit.org/show_bug.cgi?id=126078
Patch by Ricky Mondello <Ricky Mondello> on 2013-12-20
Reviewed by Anders Carlsson.
r160922 accidentally named a facility for filtering out data added after a certain time,
"...FilteringOutEntriesAddedBeforeTime", which was incorrect. This patch renames those instances
to "...FilteringOutEntriesAddedAfterTime".
- UIProcess/API/C/WKContext.cpp:
(WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
- UIProcess/API/C/WKContext.h:
- UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime):
- UIProcess/Plugins/PlugInAutoStartProvider.h:
- UIProcess/WebContext.cpp:
(WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
- UIProcess/WebContext.h:
- 3:55 PM Changeset in webkit [160939] by
-
- 7 edits in trunk/Source/WebKit2
[WK2] Add SPI for using a custom protocol handler
https://bugs.webkit.org/show_bug.cgi?id=126089
Reviewed by Anders Carlsson.
- UIProcess/API/C/mac/WKContextPrivateMac.h:
- UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextRegisterSchemeForCustomProtocol):
(WKContextUnregisterSchemeForCustomProtocol):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
- UIProcess/WebContext.cpp:
(WebKit::WebContext::globalURLSchemesWithCustomProtocolHandlers):
(WebKit::WebContext::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
- UIProcess/WebContext.h:
- UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
(WebKit::WebContext::platformInitializeNetworkProcess):
(WebKit::WebContext::registerNotificationObservers):
(WebKit::WebContext::unregisterNotificationObservers):
- 3:46 PM Changeset in webkit [160938] by
-
- 2 edits1 add in trunk/Tools
[GTK] [CMake] Add support for building ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=125960
Reviewed by Gustavo Noronha Silva.
- CMakeLists.txt: Build ImageDiff for GTK+.
- ImageDiff/PlatformGTK.cmake: Added.
- 3:44 PM Changeset in webkit [160937] by
-
- 2 edits1 add in trunk/Tools
[GTK] [CMake] Add support for building DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=125767
Reviewed by Gustavo Noronha Silva.
- CMakeLists.txt: Load the DumpRenderTree cmake file for GTK+ when WebKit1 is enabled.
- DumpRenderTree/PlatformGTK.cmake: Added.
- 3:38 PM Changeset in webkit [160936] by
-
- 22 edits2 adds in branches/jsCStack/Source/JavaScriptCore
Arity check slow path should ensure that when we return, we restore SP back to what the caller expects
https://bugs.webkit.org/show_bug.cgi?id=126043
Not yet reviewed.
Implements proper stack restoration after return from a function that failed arity
check.
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
- ftl/FTLLink.cpp:
(JSC::FTL::link):
- ftl/FTLOSRExit.h:
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
- jit/ArityCheckFailReturnThunks.cpp: Added.
(JSC::ArityCheckFailReturnThunks::ArityCheckFailReturnThunks):
(JSC::ArityCheckFailReturnThunks::~ArityCheckFailReturnThunks):
(JSC::ArityCheckFailReturnThunks::returnPCsFor):
(JSC::ArityCheckFailReturnThunks::returnPCFor):
- jit/ArityCheckFailReturnThunks.h: Added.
- jit/JIT.cpp:
(JSC::JIT::privateCompile):
- jit/JITCode.cpp:
(JSC::DirectJITCode::addressForCall):
- jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterPreservationWrapper):
(JSC::generateRegisterRestoration):
(JSC::registerRestorationThunkGenerator):
- jit/RegisterPreservationWrapperGenerator.h:
- jit/ThunkGenerators.cpp:
(JSC::arityFixup):
- llint/LLIntOffsetsExtractor.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- offlineasm/x86.rb:
- runtime/CommonSlowPaths.cpp:
(JSC::setupArityCheckData):
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
- runtime/StackAlignment.h:
(JSC::logStackAlignmentRegisters):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- 3:30 PM Changeset in webkit [160935] by
-
- 2 edits in branches/jsCStack/PerformanceTests/SunSpider
Unreviewed change. Restoring v8-crypto.js back to trunk.
Removing print()'s that are no longer needed.
- tests/v8-v6/v8-crypto.js:
- 3:24 PM Changeset in webkit [160934] by
-
- 4 edits1 add in trunk/Tools
[GTK] [CMake] Add support for building WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=125768
Reviewed by Gustavo Noronha Silva.
- CMakeLists.txt: Compile WebKitTestRunner for GTK+ when WebKit2 is enabled.
- WebKitTestRunner/CMakeLists.txt: Remove some EFL specific flags from the common
build file.
- WebKitTestRunner/PlatformEfl.cmake: Move the flags here.
- WebKitTestRunner/PlatformGTK.cmake: Added.
- 3:09 PM Changeset in webkit [160933] by
-
- 2 edits in branches/jsCStack/Source/JavaScriptCore
Fix broken non-FTL build.
Not reviewed.
- jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterPreservationWrapper):
- 3:04 PM Changeset in webkit [160932] by
-
- 5 edits in branches/safari-537.74-branch/Source
Versioning
- 3:04 PM Changeset in webkit [160931] by
-
- 4 edits in branches/jsCStack/Source/JavaScriptCore
CStack Branch: CodeBlocks aren't being marked by garbage collector
https://bugs.webkit.org/show_bug.cgi?id=126084
Reviewed by Filip Pizlo.
Changed the native stack marking to include marking CodeBlocks and JITStubRoutines.
Patterned the code after what was in JSStack::gatherConservativeRoots()
- heap/Heap.cpp:
(JSC::Heap::markRoots):
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherFromOtherThread):
(JSC::MachineThreads::gatherConservativeRoots):
- heap/MachineStackMarker.h:
- 3:01 PM Changeset in webkit [160930] by
-
- 1 copy in tags/Safari-537.74.3
New tag.
- 2:59 PM Changeset in webkit [160929] by
-
- 2 edits in branches/jsCStack/Source/JavaScriptCore
Unreviewed build fix for building without the FTL.
- jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterPreservationWrapper):
- 2:34 PM Changeset in webkit [160928] by
-
- 6 edits in trunk/Source/WebCore
Move scheduleSetNeedsStyleRecalc to HTMLFrameOwnerElement
https://bugs.webkit.org/show_bug.cgi?id=126083
Reviewed by Antti Koivisto.
scheduleSetNeedsStyleRecalc is only ever called on HTMLFrameOwnerElement, so
move it there, remove the Node implementation and make it non-virtual.
- dom/ContainerNode.cpp:
- dom/ContainerNode.h:
- dom/Node.h:
- html/HTMLFrameOwnerElement.cpp:
(WebCore::needsStyleRecalcCallback):
(WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc):
- html/HTMLFrameOwnerElement.h:
- 2:19 PM Changeset in webkit [160927] by
-
- 2 edits in trunk/Source/WebCore
Remove an unneeded include of WebCoreSystemInterface.h.
Rubber-stamped by Dan Bernstein.
- platform/mac/ContentFilterMac.mm:
- 2:15 PM Changeset in webkit [160926] by
-
- 6 edits in trunk/Source/WebCore
Node post attach callbacks should use references
https://bugs.webkit.org/show_bug.cgi?id=126081
Reviewed by Antti Koivisto.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::queuePostAttachCallback):
(WebCore::ContainerNode::dispatchPostAttachCallbacks):
(WebCore::needsStyleRecalcCallback):
(WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
- dom/ContainerNode.h:
- html/HTMLFormControlElement.cpp:
(WebCore::focusPostAttach):
(WebCore::HTMLFormControlElement::didAttachRenderers):
(WebCore::updateFromElementCallback):
(WebCore::HTMLFormControlElement::didRecalcStyle):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAttachRenderers):
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
(WebCore::HTMLPlugInImageElement::startLoadingImageCallback):
- html/HTMLPlugInImageElement.h:
- 2:04 PM Changeset in webkit [160925] by
-
- 11 edits2 adds in trunk/Source/WebCore
Web Inspector: Extract CommandLineAPI into its own InjectedScriptModule
https://bugs.webkit.org/show_bug.cgi?id=126038
Reviewed by Timothy Hatcher.
Only inject the CommandLineAPIModule once, when the InjectedScript
is first created. This avoids running a small snippet of JavaScript
to check if the module is loaded every time we fetch the InjectedScript.
- CMakeLists.txt:
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorAllInOne.cpp:
Add new files to the build.
- inspector/InjectedScriptManager.h:
- inspector/InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createForPage):
(WebCore::InjectedScriptManager::injectedScriptFor):
(WebCore::InjectedScriptManager::didCreateInjectedScript):
Add didCreateInjectedScript hook for a subclass to inject more scripts.
- inspector/PageInjectedScriptManager.h: Added.
- inspector/PageInjectedScriptManager.cpp: Added.
(WebCore::PageInjectedScriptManager::didCreateInjectedScript):
For pages, inject the CommandLineAPIModule.
- inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::injectedScriptForEval):
This is replaced by PageInjectedScriptManager, we no longer need
to do extra work every time we fetch the injectedScriptForEval.
- 2:04 PM Changeset in webkit [160924] by
-
- 14 edits3 adds in trunk/Source/WebCore
Web Inspector: Extract CommandLineAPI into its own InjectedScriptModule
https://bugs.webkit.org/show_bug.cgi?id=126038
Reviewed by Timothy Hatcher.
No tests, no observable change in behavior.
Move the CommandLineAPI source into its own module. Load the module
in InjectedScripts for WebCore::Pages. Not for workers.
Moving CommandLineAPI into it's own module moves it from being inside
the same anonymous function to being evaluated outside the anonymous
function. To connect the two InjectedScript passes itself to the
injected module, and the CommandLineAPI module places its class on the
injectedScript as injectedScript.CommandLineAPI.
This essentially makes the CommandLineAPI module an InjectedScript
extension. InjectedScriptSource checks for the existence of
this.CommandLineAPI to see if the fuller version is available. Otherwise
it falls back to a BasicCommandLineAPI which only exposes "$_",
which is the "last evaluated result". That will be useful for JS Contexts
and Workers.
At the same time, this patch makes InjectedScriptModule more generic,
to support being used in a pure JavaScript environment, meaning one
without "window" as the global object.
- CMakeLists.txt:
- DerivedSources.make:
- GNUmakefile.am:
- GNUmakefile.list.am:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorAllInOne.cpp:
Add files. Minify the CommandLineAPIModuleSource in generation.
- inspector/CommandLineAPIModule.h: Added.
- inspector/CommandLineAPIModule.cpp: Added.
(WebCore::CommandLineAPIModule::CommandLineAPIModule):
(WebCore::CommandLineAPIModule::injectIfNeeded):
(WebCore::CommandLineAPIModule::source):
Inject the module that doesn't return an object, its just evaluated code
extending the original InjectedScript.
- inspector/InjectedScriptModule.h:
- inspector/InjectedScriptModule.cpp:
(WebCore::InjectedScriptModule::ensureInjected):
Only ASSERT the result was an object if the Module claims it returns an object.
- inspector/InjectedScriptCanvasModule.h:
(WebCore::InjectedScriptCanvasModule::returnsObject):
Return an object used later to call into the CanvasModule.
- inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::injectedScriptForEval):
Ensure the CommandLineAPIModule is loaded in the Page's InjectedScript.
- inspector/CommandLineAPIModuleSource.js: Added.
Create the CommandLineAPI class and place it on injectedScript.
- inspector/InjectedScriptSource.js:
(InjectedScript.prototype._evaluateOn):
Inject either the BasicCommandLineAPI or extended CommandLineAPI.
Derive the globalObject dynamically instead of assuming window.
Inject the commandLineAPI on window.console or the globalObject based on context.
Audit and rename uses of "window" to something like globalObject.
- 2:01 PM Changeset in webkit [160923] by
-
- 12 edits in trunk/Source
WebKit2 View Gestures: Implement smartMagnifyWithEvent: and make it work
https://bugs.webkit.org/show_bug.cgi?id=125752
<rdar://problem/15664245>
Reviewed by Anders Carlsson.
Implement "smart magnify", which is the double-tap-to-zoom gesture on OS X.
- UIProcess/API/mac/WKView.mm:
(-[WKView smartMagnifyWithEvent:]):
Forward smartMagnifyWithEvent to ViewGestureController.
- UIProcess/mac/ViewGestureController.cpp:
(WebKit::ViewGestureController::handleMagnificationGesture):
Drive-by repair a comment.
(WebKit::ViewGestureController::handleSmartMagnificationGesture):
Added. Immediately dispatch a message to the web process to retrieve
the rendered rect of the element under the gesture.
(WebKit::maximumRectangleComponentDelta):
Return the absolute maximum delta between corresponding components of two rects.
(WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
Once the WebProcess has replied with the relevant geometry, use it to
determine our target rectangle (the element's rect, with some padding)
and target magnification (attempting to keep replaced elements
fully in-view, and otherwise zooming in as far as possible to fit the
element's width).
If this gesture occurs after the page is already magnified, and targets
a similar region to the previous smart magnification gesture, zoom out
instead of panning across the page.
Begin a transient zoom with the current magnification, and immediately
commit it at our target magnification and offset, so that the drawing
area will animate to the new parameters.
(WebKit::ViewGestureController::endActiveGesture):
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureController.messages.in:
- WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
Hit-test the document to determine the node under the smart magnification
gesture, and return it to the UI process along with various other bits of data.
- WebProcess/WebPage/ViewGestureGeometryCollector.h:
- WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Instead of short-circuiting the animation if we didn't have to constrain
the origin, short-circuit if we're already *at* the right origin,
like the comment said. This prevents jarring jumps when double-tap-panning
between elements when zoomed all the way in.
- WebCore.exp.in:
Add some exports.
- 1:00 PM Changeset in webkit [160922] by
-
- 7 edits in trunk/Source/WebKit2
Allow partial application of PlugInAutoStart tables based on timestamp
https://bugs.webkit.org/show_bug.cgi?id=125871
Patch by Ricky Mondello <Ricky Mondello> on 2013-12-20
Reviewed by Anders Carlsson.
- UIProcess/API/C/WKContext.cpp:
(WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): New API.
- UIProcess/API/C/WKContext.h: New API.
- UIProcess/Plugins/PlugInAutoStartProvider.cpp:
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Call setAutoStartOriginsTableWithItemsPassingTest
with a predicate that lets all policies pass.
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Call
setAutoStartOriginsTableWithItemsPassingTest with a predicate that lets policies created before a certain
time pass.
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest): Added. Contains most of the
contents of setAutoStartOriginsTable, with support for applying a predicate.
- UIProcess/Plugins/PlugInAutoStartProvider.h: Add public method,
setAutoStartOriginsFilteringOutEntriesAddedBeforeTime, and private method,
setAutoStartOriginsTableWithItemsPassingTest.
- UIProcess/WebContext.cpp:
(WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Pass through to the
PlugInAutoStartProvider.
- UIProcess/WebContext.h: Declare
setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime.
- 12:54 PM Changeset in webkit [160921] by
-
- 2 edits in trunk/Tools
Myles C. Maxfield is a committer now
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 12:49 PM Changeset in webkit [160920] by
-
- 3 edits in trunk/Source/WebCore
http/tests/misc/object-image-error.html asserts
https://bugs.webkit.org/show_bug.cgi?id=126074
Reviewed by Andreas Kling.
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAttachRenderers):
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
(WebCore::HTMLPlugInImageElement::startLoadingImage):
(WebCore::HTMLPlugInImageElement::startLoadingImageCallback):
- html/HTMLPlugInImageElement.h:
Start image load from post-attach so we don't re-enter attach when image load fails synchronously.
- 12:19 PM Changeset in webkit [160919] by
-
- 6 edits in trunk/Source/JavaScriptCore
Clean up DFG write barriers
https://bugs.webkit.org/show_bug.cgi?id=126047
Reviewed by Filip Pizlo.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::storeToWriteBarrierBuffer): Use the register allocator to
determine which registers need saving instead of saving every single one of them.
(JSC::DFG::SpeculativeJIT::osrWriteBarrier): We don't need to save live register state
because the write barriers during OSR execute when there are no live registers. Also we
don't need to use pushes to pad the stack pointer for pokes on x86; we can just use an add.
(JSC::DFG::SpeculativeJIT::writeBarrier):
- dfg/DFGSpeculativeJIT.h:
- jit/Repatch.cpp:
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
- runtime/VM.h: Get rid of writeBarrierRegisterBuffer since it's no longer used.
- 11:45 AM Changeset in webkit [160918] by
-
- 4 edits in trunk/Source/WebKit2
[GTK] WebKitWebViewBase's ClickCounter should be reset
https://bugs.webkit.org/show_bug.cgi?id=122551
Patch by Enrique Ocaña González <eocanha@igalia.com> on 2013-12-20
Reviewed by Martin Robinson.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseResetClickCounter):
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- 11:34 AM Changeset in webkit [160917] by
-
- 7 edits in branches/safari-537.74-branch/Source/WebCore
Merge r160898: <rdar://problems/15709940>
- 11:05 AM Changeset in webkit [160916] by
-
- 3 edits in trunk/Source/WebCore
Crashes in AccessibilityRenderObject::computeAccessibilityIsIgnored()
https://bugs.webkit.org/show_bug.cgi?id=126073
Reviewed by Ryosuke Niwa.
Prevent the crash and try to catch in debug why it is happening.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::detach):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
- accessibility/AccessibilityRenderObject.h:
- 9:27 AM Changeset in webkit [160915] by
-
- 2 edits in trunk/Source/WebKit
[Win] Unreviewed build fix after r160908.
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add
missing export.
- 8:50 AM Changeset in webkit [160914] by
-
- 2 edits in trunk/Source/WebCore
Fix asserting accesibility tests.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::supportsFocus): Accessibility code checks focus status during painting.
- 7:51 AM Changeset in webkit [160913] by
-
- 2 edits in trunk/Source/JavaScriptCore
[MIPS] Missing MacroAssemblerMIPS::branchTest8(ResultCondition, BaseIndex, TrustedImm32)
https://bugs.webkit.org/show_bug.cgi?id=126062
Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-12-20
Reviewed by Mark Hahnenberg.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchTest8):
- 7:48 AM Changeset in webkit [160912] by
-
- 2 edits in trunk/Source/JavaScriptCore
[sh4] Add missing implementation in MacroAssembler to fix build.
https://bugs.webkit.org/show_bug.cgi?id=126063
Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-20
Reviewed by Mark Hahnenberg.
- assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::branchTest8):
- 7:46 AM Changeset in webkit [160911] by
-
- 2 edits in trunk/Source/JavaScriptCore
[arm] Add missing implementation in MacroAssembler to fix CPU(ARM_TRADITIONAL) build.
https://bugs.webkit.org/show_bug.cgi?id=126064
Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-20
Reviewed by Mark Hahnenberg.
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branchTest8):
- 7:36 AM Changeset in webkit [160910] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed GTK build fix after r160909.
Remove remaining uses of AttachLazily in code specific to the GTK port.
- html/shadow/MediaControlsGtk.cpp:
(WebCore::MediaControlsGtk::initializeControls):
(WebCore::MediaControlsGtk::createTextTrackDisplay):
- 6:58 AM Changeset in webkit [160909] by
-
- 4 edits in trunk/Source
[GTK] The fullscreen API should be enabled by default
https://bugs.webkit.org/show_bug.cgi?id=125993
Patch by Enrique Ocaña González <eocanha@igalia.com> on 2013-12-20
Reviewed by Gustavo Noronha Silva.
Set the WebSettings property to TRUE
Source/WebKit/gtk:
- webkit/webkitwebsettings.cpp:
(webkit_web_settings_class_init):
Source/WebKit2:
- UIProcess/API/gtk/WebKitSettings.cpp:
(webkit_settings_class_init):
- 6:44 AM Changeset in webkit [160908] by
-
- 75 edits in trunk
Create render tree lazily
https://bugs.webkit.org/show_bug.cgi?id=120685
Source/WebCore:
Reviewed by Andreas Kling.
We currently recompute style and construct renderer for each DOM node immediately after they are added to
the tree. This is often inefficient as the style may change immediately afterwards and the work needs to be
redone.
With this patch we always compute style and construct render tree lazily, either on style recalc timer or
synchronously when they are needed. It also removes the 'attached' bit. If document has render tree then
all nodes are conceptually "attached" even if this happens lazily.
The patch slightly changes behavior of implicit CSS transitions. A synchronous style change during parsing
may not trigger the animation anymore as laziness means we don't see anything changing. This matches Firefox
and Chrome in our test cases.
- WebCore.exp.in:
- bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::appendChild):
All attaching is now lazy, remove AttachLazily.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
SVG renderers with !isValid() have empty display property value for some reason. Keep the behavior.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::ContainerNode::updateTreeAfterInsertion):
- dom/ContainerNode.h:
- dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::createRenderTree):
(WebCore::Document::destroyRenderTree):
Remove attach bit maintenance.
(WebCore::Document::webkitDidExitFullScreenForElement):
Do lazy render tree reconstruction after returning from full screen. That is the only reliable way
to get the render tree back to decent shape.
- dom/Element.cpp:
(WebCore::Element::isFocusable):
Remove pointless !renderer()->needsLayout() assert.
(WebCore::Element::addShadowRoot):
(WebCore::Element::childShouldCreateRenderer):
(WebCore::Element::resetComputedStyle):
Take care to reset computed style in all descendants. attachRenderTree no longer does this.
- dom/Element.h:
- dom/Node.cpp:
(WebCore::Node::insertBefore):
(WebCore::Node::replaceChild):
(WebCore::Node::appendChild):
(WebCore::Node::setNeedsStyleRecalc):
Propagate ReconstructRenderTree.
(WebCore::Node::attached):
Emulate the behavior of old attached bit for now so existing code calling this mostly stays working.
- dom/Node.h:
Add new ReconstructRenderTree value for StyleChangeType.
- dom/Range.cpp:
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareNode):
(WebCore::Range::intersectsNode):
- editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::doApply):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::canRebalance):
- editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
- html/HTMLDocument.cpp:
(WebCore::HTMLDocument::activeElement):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::setInnerText):
TextControlInnerTextElement always preserves newline even if it doesn't have style yet.
(WebCore::HTMLElement::supportsFocus):
- html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseAttribute):
- html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):
Don't autofocus until we have renderer.
- html/HTMLFormControlElementWithState.cpp:
(WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
- html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
Lazy render tree construction.
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::defaultEventHandler):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseAttribute):
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
- html/parser/HTMLConstructionSite.cpp:
(WebCore::executeTask):
Don't attach renderer after construction.
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
- html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::invalidateDistribution):
- html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::willAttachRenderers):
(WebCore::InsertionPoint::willDetachRenderers):
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
- html/shadow/MediaControls.cpp:
(WebCore::MediaControls::createTextTrackDisplay):
- html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::createControls):
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::getDisplayTree):
- loader/PlaceholderDocument.cpp:
(WebCore::PlaceholderDocument::createRenderTree):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::preload):
- style/StyleResolveTree.cpp:
(WebCore::Style::attachTextRenderer):
(WebCore::Style::detachTextRenderer):
Remove attached bit maintenance.
(WebCore::Style::attachChildren):
(WebCore::Style::attachShadowRoot):
(WebCore::Style::attachRenderTree):
(WebCore::Style::detachShadowRoot):
(WebCore::Style::detachRenderTree):
(WebCore::Style::resolveLocal):
- svg/SVGTests.cpp:
(WebCore::SVGTests::handleAttributeChange):
Make lazy.
- testing/Internals.cpp:
(WebCore::Internals::attached):
(WebCore::Internals::elementRenderTreeAsText):
(WebCore::Internals::markerAt):
(WebCore::Internals::nodesFromRect):
LayoutTests:
Reviewed by Andreas Kling.
Most of these are non-visible render tree dump changes (they become simpler).
- editing/selection/click-on-head-margin-expected.txt:
- fast/css-generated-content/before-content-continuation-chain-expected.txt:
- fast/css/transition-color-unspecified.html:
- fast/dom/adopt-node-crash-2-expected.txt:
- fast/dom/modify-node-and-while-in-the-callback-too-crash-expected.txt:
- fast/forms/radio/radio_checked_dynamic-expected.txt:
- fast/frames/lots-of-iframes-expected.txt:
- fast/frames/sandboxed-iframe-autofocus-denied-expected.txt:
- fast/table/table-row-style-not-updated-with-after-content-expected.txt:
- fullscreen/full-screen-render-inline-expected.txt:
- fullscreen/parent-flow-inline-with-block-child-expected.txt:
- platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
- platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt:
- platform/mac/fast/dynamic/011-expected.txt:
- platform/mac/fast/forms/formmove3-expected.txt:
- platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
- platform/mac/fast/invalid/001-expected.txt:
- platform/mac/fast/invalid/003-expected.txt:
- platform/mac/fast/invalid/004-expected.txt:
- platform/mac/fast/invalid/007-expected.txt:
- platform/mac/fast/invalid/019-expected.txt:
- platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
- platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
- platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
- platform/mac/fast/ruby/ruby-base-merge-block-children-crash-expected.txt:
- platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
- platform/mac/tables/mozilla/bugs/bug647-expected.txt:
- platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:
- plugins/plugin-remove-readystatechange-expected.txt:
- svg/custom/system-language-crash-expected.txt:
- transitions/equivalent-background-image-no-transition.html:
- transitions/repeated-firing-background-color.html:
- transitions/transition-duration-cleared-in-transitionend-crash.html:
Adopt a few transition test cases to new behavior.
- 6:12 AM Changeset in webkit [160907] by
-
- 14 edits in trunk
[ATK] [WK2] platform/gtk/accessibility/roles-exposed.html is failing
https://bugs.webkit.org/show_bug.cgi?id=125854
Reviewed by Chris Fleizach.
Tools:
Ensure we don't ever create instances of AccessibilityUIElement
wrapping invalid platform-specific accessibility objects in DRT,
both for consistency with what WKTR does (so we avoid situations
where some tests fail in WK2 and not in WK1) and also to avoid
overlooking tests that might not be checking the right thing.
- DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::makeJSAccessibilityUIElement): Return a
nullPtr if the platformUIElement() is not a valid one.
- DumpRenderTree/AccessibilityUIElement.h:
(AccessibilityUIElement::platformUIElement): Added const modifier.
LayoutTests:
Updated tests and expectations to keep them passing after the
change done in DRT, without changing their actual purpose.
- platform/gtk/accessibility/roles-exposed.html: Make sure we
print "AXRole: (no element)" when accessibilityElementByID() does
not return a valid object, not to confuse it with cases where the
returned string for the role is an empty string.
- platform/gtk/accessibility/roles-exposed-expected.txt: Update
test expectations to reflect the "AXRole: (no element)" string
that is now being exposed. Also, replace the (wrongly added) PASS
expectations with FAIL for rowgroups, which are currently not
being exposed for ATK either.
- accessibility/deleting-iframe-destroys-axcache.html: Just
consider the first and third sons of the accessibility object for
the body (instead of the grandsons), so the test can run both in
Mac, where sons and grandsons are exposed, and ATK, where only
sons are exposed (no StaticText objects exposed there).
- accessibility/non-data-table-cell-title-ui-element.html: Use
accessibilityElementById() to get the accessibility object for the
"skip" table header instead of navigating with childAtIndex(),
since the hierarchy is not the same for Mac and ATK based ports.
- platform/mac/accessibility/search-predicate.html: Do not rely on
shouldBe() together with the string "AXRole: " when asking for the
role of objects that should no longer be in the accessibility
tree, and use shouldBeUndefined() instead.
- platform/mac/accessibility/search-when-element-starts-in-table.html: Ditto.
- platform/mac/accessibility/search-predicate-expected.txt: Update
expectations according to the usage of shouldBeUndefined().
- platform/mac/accessibility/search-when-element-starts-in-table-expected.txt: Ditto.
- platform/mac/TestExpectations: Add loading-iframe-updates-axtree.html
here, since it seems not to be returning the expected values for
either the scrollarea and the webarea in the iframe (see bug 126066).
- platform/mac-wk2/TestExpectations: Add search-when-element-starts-in-table.html
here, since it does not return an undefined object in WebKit2 when
the search query should return no results (see bug 125996).
- 5:47 AM Changeset in webkit [160906] by
-
- 6 edits in trunk/Source/WebCore
Devirtualize RenderElement::setStyle().
<https://webkit.org/b/126065>
setStyle() was only virtual in order to let RenderSVGBlock override
the display type in some cases. Devirtualized it and moved the fixup
logic to StyleResolver::adjustRenderStyle().
This hack had an evil twin in RenderElement::initializeStyle() that
also goes away. FIXME--!
Based on a Blink change by Elliott Sprehn.
Reviewed by Antti Koivisto.
- 5:44 AM Changeset in webkit [160905] by
-
- 5 edits4 adds in trunk
[CSS Regions] When changing flow-from/flow-into on :hover, elements overflowing the region are not correctly repainted
https://bugs.webkit.org/show_bug.cgi?id=117259
Reviewed by Antti Koivisto.
Source/WebCore:
When computing the repaint rect for a region, the existing visual overflow must be taken into consideration.
For this purpose, I overridden the visualOverflowRect method in RenderNamedFlowFragment, which ends up being
called from RenderBox::clippedOverflowRectForRepaint.
Test: fast/regions/hover-single-flow-from-none-overflow.html
fast/regions/hover-single-flow-from-none-overflow-top.html
- rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::visualOverflowRect):
- rendering/RenderNamedFlowFragment.h:
LayoutTests:
Added new tests and rebased existing test.
- fast/regions/hover-single-flow-from-none-overflow-expected.html: Added.
- fast/regions/hover-single-flow-from-none-overflow.html: Added.
- fast/regions/hover-single-flow-from-none-overflow-top-expected.html: Added.
- fast/regions/hover-single-flow-from-none-overflow-top.html: Added.
- fast/regions/repaint/repaint-regions-overflow-expected.txt: Rebased.
- 4:11 AM Changeset in webkit [160904] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Some unit tests using web extensions fail when run alone
https://bugs.webkit.org/show_bug.cgi?id=126002
Reviewed by Gustavo Noronha Silva.
The problem is that the page is created before the dbus connection
has been established, and we are connecting to web-page-created
signal once we have a valid dbus connection. We should connect to
the signal before connecting to dbus and queue any request to emit
a dbus signal until the connection is set. This also fixes the
WebExtensions tests when using the network process because a new
web process is launched for every test case.
- UIProcess/API/gtk/tests/WebExtensionTest.cpp:
(DelayedSignal::DelayedSignal): Helper struct to queue signal
emissions requested before the dbus connection has been
established.
(emitDocumentLoaded): Emit the dbus DocumentLoaded signal.
(documentLoadedCallback): Queue the signal emission if we still
don't have a connection or call emitDocumentLoaded otherwise.
(emitURIChanged): Emit the dbus URIChanged signal.
(uriChangedCallback): Queue the signal emission if we still don't
have a connection or call emitURIChanged otherwise.
(pageCreatedCallback): Pass the web extension as user data to
document-loaded and uri-changed callbacks.
(busAcquiredCallback): Set the connection as user data of the web
extension and process any delayed signal emission pending.
(webkit_web_extension_initialize): Connect to web-page-create
signal before connecting to dbus.
- 3:52 AM Changeset in webkit [160903] by
-
- 15 edits2 adds in trunk
Programmatically-inserted children lack accessibility events
https://bugs.webkit.org/show_bug.cgi?id=100275
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/children-changed-sends-notification.html
Emit children-changed::add and children-changed::remove whenever
an object has been added/removed to the accessibility hierarchy,
that is, when a new AtkObject is being attached/detached.
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::detachWrapper): Added a new parameter and
updated all the prototypes in different ports.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
specifying that we do it because the cache is being destroyed.
(WebCore::AXObjectCache::remove): Call detachWrapper() specifying
that we do it because an accessible element is being destroyed.
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::detachWrapper): Emit the children-changed
signal when needed. We rely on the cached reference to the parent
AtkObject (using the implementation of atk_object_get_parent from
the AtkObject class) to find the right object to emit the signal
from here, since the accessibility hierarchy from WebCore will no
longer be accessible at this point.
(WebCore::AXObjectCache::attachWrapper): Emit the children-change
signal from here unless we are in the middle of a layout update,
trying to provide as much information (e.g. the offset) as possible.
(WebCore::AXObjectCache::postPlatformNotification): Make sure we
update (touch) the subtree under an accessibility object whenever
we receive AXChildrenChanded from WebCore, to ensure that those
objects will also be visible rightaway to ATs, and that those get
properly notified of the event at that very same moment.
- accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::detachWrapper): Updated function signature.
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::detachWrapper): Ditto.
- accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::detachWrapper): Ditto.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::children): Add the option ot
request the AccessibilityChildrenVector without updating it if
needed, to avoid maybe recreating the child subtree when trying to
get the offset of a newly attached element from attachWrapper.
- accessibility/AccessibilityObject.h:
Tools:
Update DRT and WebKitTestRunner to handle the children-changed
signal properly, considering the detail and optional parameters.
- DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: Updated.
(axObjectEventListener):
- WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: Updated.
LayoutTests:
Add new test to chack that children-changed signals are properly
emitted when adding/removing elements in the accessibility hierarchy.
- accessibility/children-changed-sends-notification-expected.txt: Added.
- accessibility/children-changed-sends-notification.html: Added.
Update test to filter out unrelated non-loading events.
- accessibility/loading-iframe-sends-notification.html: Updated.
Skip the test on the Mac as it does not expose these kind of
notifications when children are being added or removed.
- platform/mac/TestExpectations: Skip newly added test.
- 3:28 AM Changeset in webkit [160902] by
-
- 2 edits in trunk/Tools
Removed unused BUILDER_BASE_URL.
https://bugs.webkit.org/show_bug.cgi?id=125442
Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.
- Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest._test_json_generation): Trivial test fix after r160900.
- 3:02 AM Changeset in webkit [160901] by
-
- 3 edits in trunk/Source/WebCore
Move function calls outside loop in dom
https://bugs.webkit.org/show_bug.cgi?id=125916
Patch by Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.
Do not call length() in each iteration.
- dom/Element.cpp:
(WebCore::Element::cloneAttributesFromElement):
- dom/Node.cpp:
(WebCore::Node::dumpStatistics):
- 3:00 AM Changeset in webkit [160900] by
-
- 4 edits in trunk/Tools
Removed unused BUILDER_BASE_URL.
https://bugs.webkit.org/show_bug.cgi?id=125442
Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.
The string constant BUILDER_BASE_URL is passed around several times,
but we don't use it anywhere. It is a leftover from Chromium, cleaned it up.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._upload_json_files):
- Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.init):
- Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator.init):
- 2:52 AM Changeset in webkit [160899] by
-
- 2 edits in trunk/Source/WTF
Build fails in debug mode after r160834.
https://bugs.webkit.org/show_bug.cgi?id=126059
Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-20
Reviewed by Csaba Osztrogonác.
Debug mode build failed due to comparing signed and unsigned in
ASSERT(). Now both values are unsigned.
- wtf/dtoa/double-conversion.cc: