Timeline



Dec 13, 2013:

11:53 PM Changeset in webkit [160592] by commit-queue@webkit.org
  • 8 edits in trunk

Some Set and Map prototype functions have incorrect function lengths
https://bugs.webkit.org/show_bug.cgi?id=125732

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-13
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):

LayoutTests:

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:
  • js/script-tests/basic-set.js:
11:43 PM Changeset in webkit [160591] by msaboff@apple.com
  • 10 edits in branches/jsCStack/Source

CStack Branch: Remove WTF_USE_SEPARATE_C_AND_JS_STACK
https://bugs.webkit.org/show_bug.cgi?id=125733

Reviewed by Mark Lam.

WTF_USE_SEPARATE_C_AND_JS_STACK is only set for ENABLE(LLINT_C_LOOP) and is
therefore not needed. Replaced #if USE(SEPARATE_C_AND_JS_STACK) with
#if ENABLE(LLINT_C_LOOP) and eliminated WTF_USE_SEPARATE_C_AND_JS_STACK.

Source/JavaScriptCore:

  • assembler/MaxFrameExtentForSlowPathCall.h:
  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • interpreter/JSStack.cpp:

(JSC::JSStack::gatherConservativeRoots):

  • interpreter/JSStackInlines.h:

(JSC::JSStack::updateStackLimit):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WTF:

  • wtf/Platform.h:
11:29 PM Changeset in webkit [160590] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Move RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
<https://webkit.org/b/125712>

This function is only ever called on RenderElements, so move it there.
Removes some RenderObject::style() branchiness.

Reviewed by Darin Adler.

11:17 PM Changeset in webkit [160589] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source

cStack: Crypto crashes in GC
https://bugs.webkit.org/show_bug.cgi?id=125730

Reviewed by Filip Pizlo.

Need to disable visiting the JSStack when we are on the C stack.
Made visiting the JSStack conditional on USE(SEPARATE_C_AND_JS_STACK)
and then turned off WTF_USE_SEPARATE_C_AND_JS_STACK in platform.h.

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • interpreter/JSStack.cpp:

(JSC::JSStack::gatherConservativeRoots):

Source/WTF:

  • wtf/Platform.h:
10:50 PM Changeset in webkit [160588] by Joseph Pecoraro
  • 26 edits
    2 moves
    1 add in trunk

Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=125707

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • inspector/protocol/Debugger.json: Renamed from Source/WebCore/inspector/protocol/Debugger.json.
  • inspector/protocol/GenericTypes.json: Added.
  • inspector/protocol/InspectorDomain.json: Renamed from Source/WebCore/inspector/protocol/InspectorDomain.json.

Add new files to inspector generation.

  • inspector/scripts/CodeGeneratorInspector.py:

(Generator.go):
Only build TypeBuilder output if the domain only has types. Avoid
backend/frontend dispatchers and backend commands.

(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(format_setter_value_expression):
(Generator.process_command):
(Generator.generate_send_method):

  • inspector/scripts/CodeGeneratorInspectorStrings.py:

Export and name the get{JS,Web}EnumConstant function.

Source/WebCore:

  • Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch which comes from InspectorJSTypeBuilders.
  • Remove domains that moved to JavaScriptCore.

No new tests, this only moves code around. There are no functional changes.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:

Add new files.

  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::buildObjectForSearchMatch):
(WebCore::ContentSearchUtils::searchInTextByLines):

  • inspector/ContentSearchUtils.h:
  • inspector/InspectorAgent.cpp:
  • inspector/InspectorAgent.h:
  • inspector/InspectorDebuggerAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::searchInResource):

  • inspector/InspectorPageAgent.h:
  • inspector/protocol/Page.json:

Update includes and type builder type names.

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::breakpointActionTypeForString):
(WebCore::InspectorDebuggerAgent::searchInContent):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
Use the new getEnum function names.

Source/WebInspectorUI:

  • UserInterface/InspectorJSBackendCommands.js:
  • UserInterface/InspectorWebBackendCommands.js:

Regenerate now that domains have moved around.

LayoutTests:

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorTest.checkForError):
Since having a protocol error is likely wrong, make the output
for it as detailed as possible.

10:33 PM Changeset in webkit [160587] by fpizlo@apple.com
  • 32 edits in trunk/Source/JavaScriptCore

Get rid of forward exit on UInt32ToNumber by adding an op_unsigned bytecode instruction
https://bugs.webkit.org/show_bug.cgi?id=125553

Reviewed by Oliver Hunt.

UInt32ToNumber was a super complicated node because it had to do a speculation, but it
would do it after we already had computed the urshift. It couldn't just back to the
beginning of the urshift because the inputs to the urshift weren't necessarily live
anymore. We couldn't jump forward to the beginning of the next instruction because the
result of the urshift was not yet unsigned-converted.

For a while we solved this by forward-exiting in UInt32ToNumber. But that's really
gross and I want to get rid of all forward exits. They cause a lot of bugs.

We could also have turned UInt32ToNumber to a backwards exit by forcing the inputs to
the urshift to be live. I figure that this might be a bit too extreme.

So, I just created a new place that we can exit to: I split op_urshift into op_urshift
followed by op_unsigned. op_unsigned is an "unsigned cast" along the lines of what
UInt32ToNumber does. This allows me to get rid of all of the nastyness in the DFG for
forward exiting in UInt32ToNumber.

This patch enables massive code carnage in the DFG and FTL, and brings us closer to
eliminating one of the DFG's most confusing concepts. On the flipside, it does make the
bytecode slightly more complex (one new instruction). This is a profitable trade. We
want the DFG and FTL to trend towards simplicity, since they are both currently too
complicated.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/ValueRecovery.cpp:

(JSC::ValueRecovery::dumpInContext):

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::gpr):

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):
(JSC::emitReadModifyAssignment):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::toInt32):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild1):
(JSC::DFG::StrengthReductionPhase::convertToIdentityOverChild2):

  • ftl/FTLFormattedValue.h:

(JSC::FTL::int32Value):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileUInt32ToNumber):

  • ftl/FTLValueFormat.cpp:

(JSC::FTL::reboxAccordingToFormat):
(WTF::printInternal):

  • ftl/FTLValueFormat.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_urshift):
(JSC::JIT::emitSlow_op_urshift):
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emitSlow_op_unsigned):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitRightShift):
(JSC::JIT::emitRightShiftSlowCase):
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emitSlow_op_unsigned):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
10:25 PM Changeset in webkit [160586] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

cStack: Crypto doesn't work at all unless LLInt is disabled
https://bugs.webkit.org/show_bug.cgi?id=125729

Reviewed by Filip Pizlo.

At the end of the functionArityCheck() macro, updated the stack pointer with the
amount the frame moved. This change has already been made in the
arityFixup thunk generator.

  • llint/LowLevelInterpreter64.asm:
8:55 PM Changeset in webkit [160585] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Exception: TypeError: undefined is not a function (evaluating 'marker.find()')
https://bugs.webkit.org/show_bug.cgi?id=125724

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-13
Reviewed by Darin Adler.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype.):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
The callback changed to returning WebInspector.TextMarkers, however
this class expected a raw CodeMirror marker. Since this class knows
about CodeMirror and expects to access these markers later go
directly to the CodeMirror marker.

8:42 PM Changeset in webkit [160584] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebKit2

[WK2] Fix the build and enable the NetworkProcess by default on iOS
https://bugs.webkit.org/show_bug.cgi?id=125723

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-13
Reviewed by Sam Weinig.

  • Configurations/WebKit2.xcconfig:

Fix the list of excluded file to get the processes building.

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHosAt):
Update PlatformCertificateInfo->CertificateInfo match the new name after r159647.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):
Enable the NetworkProcess by default.

  • UIProcess/Network/mac/NetworkProcessProxyMac.mm:

(WebKit::shouldUseXPC):
Use the right macro.

  • WebKit2Prefix.h:

Eanble the flags NETWORK_PROCESS and CUSTOM_PROTOCOLS.

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

Demoted ActivityAssertion.h to a project header.

Rubber-stamped by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj:
7:16 PM Changeset in webkit [160582] by weinig@apple.com
  • 2 edits in trunk/Tools

Fix API tests.

  • TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:

(TestWebKitAPI::TEST_F):

7:14 PM Changeset in webkit [160581] by Brent Fulgham
  • 10 edits in trunk

Source/WebCore: [Win] Remove pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::setQuota): Use C99 format arguments

  • loader/FTPDirectoryParser.cpp:

(WebCore::parseOneFTPLine): Ditto

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::pruneUnretainedIcons): Ditto

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::setMaximumSize): Ditto

Source/WTF: [Win] Remove Pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

  • wtf/StringPrintStream.cpp:

(WTF::StringPrintStream::vprintf): Use va_copy, like a civilized person.

Tools: [Win] Remove Pre-VS2013 support code.
https://bugs.webkit.org/show_bug.cgi?id=125693

Reviewed by Darin Adler.

  • DumpRenderTree/cg/ImageDiffCG.cpp: Remove strtof stub now supplied by

the math library.

  • DumpRenderTree/win/ImageDiffCairo.cpp: Ditto.
6:53 PM Changeset in webkit [160580] by Darin Adler
  • 2 edits in trunk/Source/WTF

Incorrect handling of non-ASCII characters in WTF::base64DecodeInternal
https://bugs.webkit.org/show_bug.cgi?id=125658

Reviewed by Alexey Proskuryakov.

  • wtf/text/Base64.cpp:

(WTF::base64EncodeInternal): Use a reference to an array instead of a pointer
for the table argument type so we check the size of the array at the call site.
(WTF::base64DecodeInternal): Ditto. Also added an bounds check before using the
table so we don't load some random value for non-ASCII characters.

6:02 PM Changeset in webkit [160579] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix for VS2013

  • win/lib32/WebKitSystemInterface.lib: Updated to use VS2013 _MSC_VER symbols

for linking.

5:53 PM Changeset in webkit [160578] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

SVG bindings are improperly being generated with "fastGetAttribute"
https://bugs.webkit.org/show_bug.cgi?id=125670

Reviewed by Darin Adler.

A bug was introduced in r152845 that improperly called the
IsSVGAnimatedType using the $attribute hash, rather than the
expected $attribute->signature->type.

  • bindings/scripts/CodeGenerator.pm:

(GetterExpression): Clean up attribute type confusion.

5:43 PM Changeset in webkit [160577] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r160548

  • WebCore.vcxproj/WebCore.vcxproj: Exclude MediaPlayerPrivateQuickTimeVisualContext from

Windows build.

  • platform/graphics/MediaPlayer.cpp: Don't use QuickTime as the PlatformMediaEngine.
5:23 PM Changeset in webkit [160576] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build correction after r160548.

  • WebKit.vcxproj/WebKit/WebKitApple.props: Exclude linking with QTMoveWin, which does

not build with VS2013.

5:16 PM Changeset in webkit [160575] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build correction after r160548

  • WebKit.vcxproj/WebKit.sln: Revise build order to avoid errors with ANGLE included.
5:01 PM Changeset in webkit [160574] by Brent Fulgham
  • 9 edits in trunk/Source

[Win] Unreviewed build fix after r160548

Source/ThirdParty/ANGLE:

I missed the ANGLE files, since we aren't building these
on the Apple Windows port at the moment.

  • ANGLE.vcxproj/libEGL.vcxproj: Update to VS2013
  • ANGLE.vcxproj/libGLESv2.vcxproj: Ditto
  • ANGLE.vcxproj/preprocessor.vcxproj: Ditto
  • ANGLE.vcxproj/translator_common.vcxproj: Ditto
  • ANGLE.vcxproj/translator_glsl.vcxproj: Ditto
  • ANGLE.vcxproj/translator_hlsl.vcxproj: Ditto

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln: Revised to build under VS2013.
4:39 PM Changeset in webkit [160573] by mark.lam@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

Fix exception handling for the LLINT.
https://bugs.webkit.org/show_bug.cgi?id=125672.

Reviewed by Geoffrey Garen.

The baseline JIT exception handling is still broken.

  • JavaScriptCore.order:
  • llint/LLIntSlowPaths.cpp:
  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • updated the 32bit file with some of the changes to keep track with the 64bit one though it doesn't build yet. The build failure will clearly tell us some of the things that need to be fixed later.
  • llint/LowLevelInterpreter64.asm:
  • Called restoreStackPointerAfterCall() in op_catch and nativeCallTrampoline to restore the appropriate stack pointer.
  • Renamed the restoreStackPointerAfterJSCall() macro to restoreStackPointerAfterCall because we also need to call it after a call to a native / host function.
  • Removed llint_throw_from_native_call because it no longer does anything useful.
  • Moved call to functionEpilogue() in nativeCallTrampoline before the exception check because we should have returned from the native / host function already.

The Interpreter::unwind() code also relies on this. The VM will unwind and "pop"
JS frames, but will stop at host frames. The host frame should pop itself. Then,
we call Interpreter::unwind() again to continue for caller frames further up
the stack.

  • Removed the check for the sentinel frame in handleUncaughtException because we're guaranteed to be at the frame above the sentinel frame.
3:59 PM Changeset in webkit [160572] by weinig@apple.com
  • 9 edits in trunk/Source/WebKit2

[WK2] Start removing calls to String::characters()
https://bugs.webkit.org/show_bug.cgi?id=125699

Reviewed by Anders Carlsson.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(CoreIPC::::decodePlatformData):

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
(WebKit::PluginInfoStore::findPlugin):

  • UIProcess/Plugins/PluginInfoStore.h:
  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::pluginsDirectories):
(WebKit::PluginInfoStore::pluginPathsInDirectory):

  • UIProcess/cf/WebPreferencesCF.cpp:

(WebKit::makeKey):

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadStringImpl):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):

  • WebProcess/WebPage/WebPage.h:
3:57 PM Changeset in webkit [160571] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

LLInt should not conditionally branch to to labels outside of its function
https://bugs.webkit.org/show_bug.cgi?id=125713

Reviewed by Geoffrey Garen.

Conditional branches are insufficient for jumping to out-of-function labels.
The fix is to use an unconditional jmp to the label combined with a conditional branch around the jmp.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
3:56 PM Changeset in webkit [160570] by roger_fong@apple.com
  • 2 edits in trunk/Websites/webkit.org

Update build instructions for Windows following upgrade to VS2013.

  • building/tools.html:
3:29 PM Changeset in webkit [160569] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Webkit bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:28 PM Changeset in webkit [160568] by Joseph Pecoraro
  • 6 edits in trunk

[GTK] Remove Warnings in building about duplicate INSPECTOR variables
https://bugs.webkit.org/show_bug.cgi?id=125710

Reviewed by Tim Horton.

  • GNUmakefile.am:

Source/JavaScriptCore:

  • GNUmakefile.am:

Source/WebCore:

  • GNUmakefile.am:
3:04 PM Changeset in webkit [160567] by roger_fong@apple.com
  • 6 edits in trunk

[WebGL] Check for global variable precision mismatch between vertex and fragment shaders.
https://bugs.webkit.org/show_bug.cgi?id=125546.
<rdar://problem/15203364>

Reviewed by Brent Fulgham.

Covered Khronos conformances tests:
webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::linkProgram):

  • platform/graphics/GraphicsContext3D.h: Rename areProgramSymbolsValid since it currently only serves one purpose.
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::precisionsMatch):

  • platform/mac/TestExpectations:

Unskip webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html

2:09 PM Changeset in webkit [160566] by enrica@apple.com
  • 13 edits in trunk/Source/WebKit2

WK2: Add support for inline candidates on iOS.
https://bugs.webkit.org/show_bug.cgi?id=125667

Reviewed by Benjamin Poulain.

The state required to support inline candidates is cached in the UI process.
Asynchronous messages are used to set and confirm the composition.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:
  • UIProcess/API/ios/WKInteractionView.mm:

(-[WKInteractionView textFirstRect]):
(-[WKInteractionView textLastRect]):
(-[WKInteractionView hasMarkedText]):
(-[WKInteractionView markedText]):
(-[WKInteractionView setMarkedText:selectedRange:]):
(-[WKInteractionView unmarkText]):
(-[WKInteractionView _selectionChanged]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::editorStateChanged):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::notifyRevealedSelection):

  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setComposition):
(WebKit::WebPage::confirmComposition):

1:57 PM Changeset in webkit [160565] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Cleanup CodeGeneratorInspectorStrings a bit
https://bugs.webkit.org/show_bug.cgi?id=125705

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-13
Reviewed by Timothy Hatcher.

  • inspector/scripts/CodeGeneratorInspectorStrings.py:

Use ${foo} variable syntax and add an ASCIILiteral.

1:52 PM Changeset in webkit [160564] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix after r160563

  • JavaScriptCore.vcxproj/JavaScriptCoreGenerated.vcxproj: Missed the Debug

target in my last patch.

1:49 PM Changeset in webkit [160563] by Brent Fulgham
  • 10 edits in trunk

[Win] Unreviewed build fix after r160548

Source/JavaScriptCore:

that we are using the vs12_xp target for Makefile-based projects.

  • JavaScriptCore.vcxproj/LLInt/LLIntAssembly/LLIntAssembly.vcxproj: Ditto
  • JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/LLIntDesiredOffsets.vcxproj: Ditto.

Source/WebCore:

  • WebCore.vcxproj/WebCoreGenerated.vcxproj: Specify that we are

using the vs120_xp build target for Makefile-based projects.

Source/WTF:

  • WTF.vcxproj/WTFGenerated.vcxproj: Specify that we are using

the vs12_xp target for Makefile-based projects.

Tools:

  • win/AssembleBuildLogs/AssembleBuildLogs.vcxproj: Specify

we are using vs12_xp target for Makefile-based projects.

1:36 PM Changeset in webkit [160562] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

jsCStack:REGRESSION: "print(“My object: “ + { });” crashes LLINT in op_call
https://bugs.webkit.org/show_bug.cgi?id=125694

Reviewed by Filip Pizlo.

We were clobbering the rbx value saved on the stack at the top of callToJavaScript
and callToNativeFunction. This is due to a difference between the JSStack's notion
of top of stack being the first usable location and the stack pointer register
pointing to the last used location. I changed the allocation of the sentinel frame
accordingly.

In the process I cleaned up the rounding of paddedArgsCount in ProtoCallFrame::init
to use WTF::roundUpToMultipleOf<> since the rounding had to change to keep the stack
pointer aligned.

  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init):

  • llint/LowLevelInterpreter64.asm:
1:36 PM Changeset in webkit [160561] by andersca@apple.com
  • 5 edits in trunk/Source/WTF

Require variadic templates to build WebKit
https://bugs.webkit.org/show_bug.cgi?id=125701

Reviewed by Andreas Kling.

  • wtf/Compiler.h:

Add an #error if variadic templates are disabled.

  • wtf/NeverDestroyed.h:
  • wtf/PassRef.h:
  • wtf/StdLibExtras.h:

Remove a bunch of COMPILER_SUPPORTS(CXX_VARIADIC_TEMPLATES) #ifdefs.

1:26 PM Changeset in webkit [160560] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Apple Webkit Bots

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:18 PM Changeset in webkit [160559] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

Post-process exported WebKit headers based on PLATFORM_NAME
https://bugs.webkit.org/show_bug.cgi?id=125682

Reviewed by Dan Bernstein.

Added a build phase that calls unifdef(1) on each of WebKit's Public
and Private headers, defining TARGET_OS_EMBEDDED, TARGET_OS_IPHONE, and
TARGET_IPHONE_SIMULATOR based on the value of PLATFORM_NAME. This has
the effect of stripping out bits not needed by the SDK being built for.

  • WebKit.xcodeproj/project.pbxproj:
1:08 PM Changeset in webkit [160558] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Make inspector folder groups smarter in JavaScriptCore.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=125663

Reviewed by Darin Adler.

1:07 PM Changeset in webkit [160557] by Joseph Pecoraro
  • 78 edits
    7 moves
    6 adds in trunk

Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
https://bugs.webkit.org/show_bug.cgi?id=125595

Reviewed by Timothy Hatcher.

  • GNUmakefile.am:

Source/JavaScriptCore:

  • Move CodeGeneration scripts from WebCore into JavaScriptCore/inspector/scripts
  • For ports that build WebKit frameworks separately, export the scripts as PrivateHeaders
  • Update CodeGeneratorInspector.py in a few ways:
    • output dynamic filenames, so JavaScriptCore generates InspectorJSFoo.* and WebCore generates InspectorWebFoo.*
    • take in more then one protocol JSON file. The first contains domains to generate, the others are dependencies that are generated elsewhere that we can depend on for Types.
  • Add DerivedSources build step to generate the Inspector Interfaces

Add scripts and code generation.

  • inspector/protocol/Runtime.json: Renamed from Source/WebCore/inspector/protocol/Runtime.json.

Move protocol file into JavaScriptCore so its types will be generated in JavaScriptCore.

  • inspector/scripts/CodeGeneratorInspector.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspector.py.

Updates to the script as listed above.

  • inspector/scripts/CodeGeneratorInspectorStrings.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspectorStrings.py.
  • inspector/scripts/generate-combined-inspector-json.py: Renamed from Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py.

Moved from WebCore into JavaScriptCore for code generation.

Source/WebCore:

  • CodeGeneration changed to output Frontend and Backend dispatchers in namespace Inspector. So update all the agent's appropriately.
  • Update Derived Sources code generation to use the Scripts that had moved to JavaScriptCore. Some ports just use JSC/inspector/scripts directly, but others have to use the Scripts exported by JSC in JavaScriptCore's PrivateHeaders.
  • Add ForwardingHeaders for the files generated in JavaScriptCore.
  • Update the names of Inspector DerivedSources files, since they were renamed to InspectorWeb*.

No new tests, this only moves code around. There are no functional changes.

  • CMakeLists.txt:
  • DerivedSources.make:
  • ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/build-generated-files.sh:
  • WebCore.xcodeproj/project.pbxproj:

Remove files, rename files, update code generation.

  • make-generated-sources.sh:

Update this standalone developer script to fill in the new InspectorScripts variable.

  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp:
  • inspector/InspectorAgent.cpp:
  • inspector/InspectorAgent.h:
  • inspector/InspectorApplicationCacheAgent.cpp:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCanvasAgent.cpp:
  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorConsoleAgent.cpp:
  • inspector/InspectorConsoleAgent.h:
  • inspector/InspectorController.cpp:
  • inspector/InspectorDOMAgent.cpp:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorDebuggerAgent.cpp:
  • inspector/InspectorDebuggerAgent.h:
  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInputAgent.h:
  • inspector/InspectorLayerTreeAgent.cpp:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorMemoryAgent.cpp:
  • inspector/InspectorMemoryAgent.h:
  • inspector/InspectorPageAgent.cpp:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorProfilerAgent.cpp:
  • inspector/InspectorProfilerAgent.h:
  • inspector/InspectorResourceAgent.cpp:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorRuntimeAgent.h:
  • inspector/InspectorTimelineAgent.cpp:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageRuntimeAgent.h:
  • inspector/ScriptCallFrame.cpp:
  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerRuntimeAgent.h:

Updates header names and class namespace changes.

Source/WebInspectorUI:

  • Scripts/copy-user-interface-resources.sh:

Copy all the different backend commands files.

  • Scripts/update-InspectorBackendCommands.rb:

Update with respect to new script location and new file names.

  • WebInspectorUI.xcodeproj/project.pbxproj:

Remove Inputs and Outputs of build phase, which were wrong.
Now this build phase always runs, and not by accident.

  • UserInterface/InspectorJSBackendCommands.js: Added.
  • UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
  • UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
  • UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
  • UserInterface/LoadInspectorBackendCommands.js:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

LayoutTests:

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorTest.importInspectorScripts):
Update for the new backend commands files.

12:54 PM Changeset in webkit [160556] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed build fix after r160548.

  • Scripts/webkitdirs.pm:

(setupCygwinEnv): VCExpress.exe is now called WDExpress.exe.

12:43 PM Changeset in webkit [160555] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

Work around a problem in Functional.h by making the DatabaseProcess destructor public.

  • DatabaseProcess/DatabaseProcess.h:
12:15 PM Changeset in webkit [160554] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[wk2] Handle pinch-to-zoom gesture
https://bugs.webkit.org/show_bug.cgi?id=125604

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:

(-[WKView magnifyWithEvent:]):
(-[WKView endGestureWithEvent:]):
Forward the event up the chain if we're not going to handle it.

12:04 PM Changeset in webkit [160553] by thiago.lacerda@openbossa.org
  • 22 edits
    2 moves in trunk

Adding RTCPeerConnectionErrorCallback
https://bugs.webkit.org/show_bug.cgi?id=125574

Reviewed by Eric Carlson.

According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.

Source/WebCore:

Existing tests were updated.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::addIceCandidate):

  • Modules/mediastream/RTCErrorCallback.h: Removed.
  • Modules/mediastream/RTCErrorCallback.idl: Removed.
  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
  • Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
  • Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:

(WebCore::RTCSessionDescriptionRequestImpl::create):
(WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
(WebCore::RTCSessionDescriptionRequestImpl::requestFailed):

  • Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
  • Modules/mediastream/RTCVoidRequestImpl.cpp:

(WebCore::RTCVoidRequestImpl::create):
(WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
(WebCore::RTCVoidRequestImpl::requestFailed):

  • Modules/mediastream/RTCVoidRequestImpl.h:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/RTCPeerConnectionHandler.cpp:

(WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
(WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
(WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
(WebCore::RTCPeerConnectionHandler::internalErrorName):

  • platform/mediastream/RTCPeerConnectionHandler.h:
  • platform/mock/RTCNotifiersMock.cpp:

(WebCore::SessionRequestNotifier::SessionRequestNotifier):
(WebCore::SessionRequestNotifier::fire):
(WebCore::VoidRequestNotifier::VoidRequestNotifier):
(WebCore::VoidRequestNotifier::fire):

  • platform/mock/RTCNotifiersMock.h:
  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::createOffer):
(WebCore::RTCPeerConnectionHandlerMock::createAnswer):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createAnswer.html:
  • fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createOffer.html:
11:32 AM Changeset in webkit [160552] by Antoine Quint
  • 7 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: provide an abstraction for CodeMirror's TextMarker
https://bugs.webkit.org/show_bug.cgi?id=125695

Reviewed by Timothy Hatcher.

Introduce a new WebInspector.TextMarker class which is used by code with CodeMirror knowledge
to return information related to text markers to objects that should have no direct knowledge
of CodeMirror. Start using this class in TextEditor and SourceCodeTextEditor to remove the
last remaining pieces of CodeMirror knowledge added to SourceCodeTextEditor to fix
https://webkit.org/b/124364.

  • UserInterface/CodeMirrorAdditions.js:

Stop using markedColor to identify a color marker and instead use the type on the matching
WebInspector.TextMarker. Additionally, create a WebInspector.TextMarker with type
WebInspector.TextMarker.Type.Color in createColorMarkers().

  • UserInterface/CodeMirrorColorEditingController.js:

(WebInspector.CodeMirrorColorEditingController):
Use a WebInspector.TextRange to track the edited range and obtain it directly from the
WebInspector.TextMaker used to instantiate the object. We also use the new "text" public
property to create the color.

(WebInspector.CodeMirrorColorEditingController.prototype.set color):
Simply assing the serialized color to the new "text" public property.

(WebInspector.CodeMirrorColorEditingController.prototype.get text):
(WebInspector.CodeMirrorColorEditingController.prototype.set text):
New public property to set get and set the text for the edited range, automatically updating
the range upon setting to a new text.

(WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
Obtain the bounds directly from the WebInspector.TextMarker object.

  • UserInterface/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
Since we're now tracking the hoveredMarker as a WebInspector.TextMarker, get the CodeMirror
TextMarker from that object to check if it's contained within the text markers at the
hovered position.

  • UserInterface/Main.html:

Add the new TextMarker class source.

  • UserInterface/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
Use the WebInspector.TextMarker type to identify a given text marker is marking a color.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
Use the renamed markersAtPosition() method from TextEditor.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Use the WebInspector.TextMarker type to identify a given text marker is marking a color.

(WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
Since the CodeMirrorColorEditingController is now using a WebInspector.TextRange for its range,
update to use a WebInspector.TextRange API to get the range's start line.

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.get markers):
Return WebInspector.TextMarker objects instead of CodeMirror TextRange objects.

(WebInspector.TextEditor.prototype.markersAtPosition):
Rename method to a better name instead of using the CodeMirror-influenced name. Also, return
WebInspector.TextMarker objects instead of CodeMirror TextRange objects.

  • UserInterface/TextMarker.js: Added.

(WebInspector.TextMarker):
Create a WebInspector.TextMarker with a CodeMirror TextMarker and an optional type.

(WebInspector.TextMarker.textMarkerForCodeMirrorTextMarker):
Static method to either obtain the existing WebInspector.TextMarker for a given CodeMirror
TextMarker, or create a new WebInspector.TextMarker.

(WebInspector.TextMarker.prototype.get codeMirrorTextMarker):
Public property to access the CodeMirror TextMarker objects for classes that have direct
knowledge of CodeMirror.

(WebInspector.TextMarker.prototype.get type):
Public property to access the type used to create this text marker.

(WebInspector.TextMarker.prototype.get range):
(WebInspector.TextMarker.prototype.get bounds):
Public properties allowing easy access to generally useful information related to marked text.

(WebInspector.TextMarker.prototype.clear):
Wrapper for the CodeMirror TextMarker clear() method.

11:27 AM Changeset in webkit [160551] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Apple bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
11:24 AM Changeset in webkit [160550] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Delete INTEL C compiler related code parts.
https://bugs.webkit.org/show_bug.cgi?id=125625

Patch by Peter Szanka <h868064@stud.u-szeged.hu> on 2013-12-13
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • jsc.cpp:
  • testRegExp.cpp:

Source/WTF:

  • wtf/Assertions.h:
  • wtf/Compiler.h:
11:21 AM Changeset in webkit [160549] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Put classes in the IPC directory in the IPC namespace
https://bugs.webkit.org/show_bug.cgi?id=125665

Reviewed by Sam Weinig.

Also add a hack to config.h that lets us use CoreIPC and IPC interchangeably.

  • Platform/IPC/DataReference.cpp:
  • Platform/IPC/DataReference.h:
  • Platform/IPC/MessageSender.cpp:
  • Platform/IPC/MessageSender.h:
  • Platform/IPC/StringReference.cpp:
  • Platform/IPC/StringReference.h:
  • config.h:
11:17 AM Changeset in webkit [160548] by Brent Fulgham
  • 34 edits in trunk

[Win] Switch WebKit solution to Visual Studio 2013
https://bugs.webkit.org/show_bug.cgi?id=125192

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Update for VS2013
  • JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcxproj:

Ditto

Source/ThirdParty:

  • gtest/msvc/gtest-md.vcxproj: Update for VS2013

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj: Update for VS2013
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Update for VS2013

Source/WebKit:

  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj: Update for VS2013
  • WebKit.vcxproj/WebKit.sln: Ditto
  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Ditto
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj: Ditto
  • WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj: Ditto

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj: Update for VS2013
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto

Tools:

Project files must reference vs12_xp for 32-bit builds.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:

Update for VS2013

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:

Ditto

  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiff.vcxproj:

Ditto

  • DumpRenderTree/DumpRenderTree.vcxproj/ImageDiff/ImageDiffLauncher.vcxproj:

Ditto

  • DumpRenderTree/DumpRenderTree.vcxproj/TestNetscapePlugin/TestNetscapePlugin.vcxproj:

Ditto

  • Scripts/webkitdirs.pm:

(visualStudioInstallDir): Specify VS2013
(visualStudioVersion): Ditto.
(setupAppleWinEnv): Use VS2013 in messages
(setupCygwinEnv): Ditto

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:

Update for VS2013

  • WinLauncher/WinLauncher.vcxproj/WinLauncher.vcxproj:

Ditto

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:

Ditto

  • win/record-memory/record-memory.vcxproj:

Ditto

11:10 AM Changeset in webkit [160547] by ap@apple.com
  • 32 edits in trunk

WebCrypto Key.usages should be ordered alphabetically
https://bugs.webkit.org/show_bug.cgi?id=125696

Reviewed by Darin Adler.

Source/WebCore:

  • crypto/CryptoKey.cpp: (WebCore::CryptoKey::usages): Do it.

LayoutTests:

  • crypto/subtle/aes-cbc-192-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-generate-key-expected.txt:
  • crypto/subtle/aes-cbc-generate-key.html:
  • crypto/subtle/aes-cbc-invalid-length-expected.txt:
  • crypto/subtle/aes-cbc-invalid-length.html:
  • crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/aes-kw-wrap-unwrap-aes.html:
  • crypto/subtle/aes-postMessage-expected.txt:
  • crypto/subtle/aes-postMessage.html:
  • crypto/subtle/hmac-postMessage-expected.txt:
  • crypto/subtle/hmac-postMessage.html:
  • crypto/subtle/jwk-import-use-values-expected.txt:
  • crypto/subtle/jwk-import-use-values.html:
  • crypto/subtle/postMessage-worker-expected.txt:
  • crypto/subtle/postMessage-worker.html:
  • crypto/subtle/resources/postMessage-worker.js:

(onmessage):

  • crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
  • crypto/subtle/rsa-oaep-key-manipulation.html:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes.html:
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html:
8:27 AM Changeset in webkit [160546] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Make some optimizations for DOM bindings involving vectors
https://bugs.webkit.org/show_bug.cgi?id=125680

Reviewed by Andreas Kling.

  • bindings/js/JSDOMBinding.h:

(WebCore::toJS): Removed unnecessary copying of vectors when converting them
to JavaScript values.
(WebCore::toRefPtrNativeArray): Use reserveInitialCapacity and uncheckedAppend.
(WebCore::toNativeArray): Ditto.
(WebCore::toNativeArguments): Ditto.

7:41 AM Changeset in webkit [160545] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r155784): [GTK] Some methods incorrectly removed in r155784 and deprecated in r158662
https://bugs.webkit.org/show_bug.cgi?id=125692

Reviewed by Martin Robinson.

In r155784 the build was fixed by skipping Console::profile() and
Console::profileEnd(), but the patch also skipped other methods
containing the profile method name. Those were incorrectly
deprecated in r158662 thinking that the property had been removed
in the idl.

  • bindings/gobject/WebKitDOMDeprecated.cpp: Undeprecate

webkit_dom_html_head_element_get_profile and
webkit_dom_html_head_element_set_profile.

  • bindings/gobject/WebKitDOMDeprecated.h: Ditto.
  • bindings/gobject/WebKitDOMDeprecated.symbols: Ditto.
  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skip webkit_dom_console_profile and
webkit_dom_console_profile_end.

6:13 AM Changeset in webkit [160544] by rwlbuis@webkit.org
  • 5 edits
    2 adds in trunk

Clean up SVGScriptElement
https://bugs.webkit.org/show_bug.cgi?id=125527

Reviewed by Darin Adler.

Source/WebCore:

From the Blink port of this bug it becomes clear that svg/dom/SVGScriptElement/script-set-href.svg and
svg/dom/svg-element-attribute-js-null.xhtml still hit an assert in Debug because SVGNames::typeAttr can't
be used with fastGetAttribute in all cases, because it can be animatable. However for SVGScriptElement
it is not animatable, so make isAnimatableAttribute virtual (note Debug only method) and allow typeAttr
in the SVGScriptElement case to be useable for fastGetAttribute.

Test: svg/dom/SVGScriptElement/script-type-attribute.svg

  • svg/SVGElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::isAnimatableAttribute):

  • svg/SVGScriptElement.h:

LayoutTests:

Add test to verify the new type getter/setter behavior on SVScriptElement.
Specifically, the old behavior was setting the JS type property did not reflect in
the actual content attribute being set, the new behavior is to do set the content
attribute when setting the JS type property.

  • svg/dom/SVGScriptElement/script-type-attribute-expected.txt: Added.
  • svg/dom/SVGScriptElement/script-type-attribute.svg: Added.
4:40 AM Changeset in webkit [160543] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Expose also webkit_dom_document_get_url
https://bugs.webkit.org/show_bug.cgi?id=125691

Reviewed by Martin Robinson.

For some reason we expose the URL property, so it can be accessed
with g_object_get(), but we have a special case to not provide a
public getter.

  • bindings/gobject/webkitdom.symbols: Add new symbol.
  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunctions): Remove the special case of URL property.

4:36 AM Changeset in webkit [160542] by Michał Pakuła vel Rutka
  • 1 edit
    2 deletes in trunk/LayoutTests

Unreviewed EFL gardening

Remove wrong http baselines.

  • platform/efl/http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt: Removed.
  • platform/efl/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Removed.
  • platform/efl/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Removed.
2:32 AM Changeset in webkit [160541] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

CSSFilterImageValue constructor should require both image and filter.
<https://webkit.org/b/125056>

Make the CSSFilterImageValue::create() helper take both the image and
filter CSSValues by PassRef since they should never be null.

Tweaked ComputedStyleExtractor::valueForFilter() to return a PassRef
for this to work.

Reviewed by Anders Carlsson.

2:24 AM Changeset in webkit [160540] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Add a unit tests to WebKit2 to test node names
https://bugs.webkit.org/show_bug.cgi?id=125686

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/tests/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::runTest):
(registerTests):

  • UIProcess/API/gtk/tests/TestDOMNode.cpp:

(testWebKitDOMNodeTagNames):
(beforeAll):

1:56 AM Changeset in webkit [160539] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

StyleResolver::adjustRenderStyle() should take RenderStyle references.
<https://webkit.org/b/125623>

This function doesn't handle null styles being passed, so prevent
it at compile time.

Reviewed by Anders Carlsson.

1:41 AM Changeset in webkit [160538] by zandobersek@gmail.com
  • 2 edits in trunk

[GTK] Remove the -Wno-c++11-extensions compiler option for Clang builds
https://bugs.webkit.org/show_bug.cgi?id=125639

Reviewed by Anders Carlsson.

  • Source/autotools/SetupCompilerFlags.m4: The -Wno-c++11-extensions compiler option was in use

when building with Clang. It is now removed as the C++11 standard is enabled throughout the project.

1:16 AM Changeset in webkit [160537] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Further GTK WK2 build fixes after r160504.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_snapshot):

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

(didInitiateLoadForResource):
(willSendRequestForFrame):
(didReceiveResponseForResource):
(didReceiveContentLengthForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(webkitWebPageDidReceiveMessage):

1:14 AM Changeset in webkit [160536] by Darin Adler
  • 7 edits in trunk/Source/WebCore

Eliminate awkward virtualComputedStyle construction
https://bugs.webkit.org/show_bug.cgi?id=125681

Reviewed by Andreas Kling.

  • dom/Element.cpp:

(WebCore::Element::computedStyle): Tweak coding style a bit.

  • dom/Element.h: Marked computedStyle virtual and got rid of virtualComputedStyle.

This fixes a bug that we would not call SVGElement::computedStyle if we called
it through an Element pointer or reference. Not sure how to get test coverage for this.

  • dom/Node.cpp:

(WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.

  • dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
  • svg/SVGElement.cpp:

(WebCore::SVGElement::computedStyle): Tweak coding style a bit.

  • svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo

virtualComputedStyle.

1:10 AM Changeset in webkit [160535] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix a couple stray uses of RefPtr that should release
https://bugs.webkit.org/show_bug.cgi?id=125679

Reviewed by Andreas Kling.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFilter): Add calls to release, in
one case rearranging the order of operations slightly so we
don't release the pointer before using it.

12:56 AM Changeset in webkit [160534] by ap@apple.com
  • 3 edits
    4 adds in trunk

WebCrypto wrapKey operation doesn't check key usage
https://bugs.webkit.org/show_bug.cgi?id=125675

Reviewed by Darin Adler.

Source/WebCore:

Tests: crypto/subtle/unwrapKey-check-usage.html

crypto/subtle/wrapKey-check-usage.html

  • bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):

Added accidentally omitted code. Other operations are fine.

LayoutTests:

  • crypto/subtle/unwrapKey-check-usage-expected.txt: Added.
  • crypto/subtle/unwrapKey-check-usage.html: Added.
  • crypto/subtle/wrapKey-check-usage-expected.txt: Added.
  • crypto/subtle/wrapKey-check-usage.html: Added.
12:35 AM Changeset in webkit [160533] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r160509.

  • GNUmakefile.list.am: MessageSender.(cpp|h) files were moved to Platform/IPC.
12:24 AM Changeset in webkit [160532] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

GTK buildfix after r160504.

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-13
Reviewed by Csaba Osztrogonác.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_prefetch_dns):

12:16 AM Changeset in webkit [160531] by Martin Robinson
  • 4 edits
    1 add in trunk

Adding a .ycm_extra_conf file for webkitGtk
https://bugs.webkit.org/show_bug.cgi?id=119618

Patch by Martin Robinson <mrobinson@igalia.com> and Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-12-11
Reviewed by Gustavo Noronha Silva.

Added a YouCompleteMe flag discovery script for Vim and the GTK+ port. The script
read the GTK+ build files to determine dynamically what flags to compile a source
file with. This allows Vim to provide auto-complete for C++/C language. See
https://github.com/Valloric/YouCompleteMe for how to use this file.

.:

  • .gitignore: Ignore the YCM symlinks in the tree.

Tools:

  • gtk/common.py:

(get_build_path): Added a fatal argument to build_path to avoid crashing YCM on failure.

  • gtk/ycm_extra_conf.py: Added.

Dec 12, 2013:

11:22 PM Changeset in webkit [160530] by commit-queue@webkit.org
  • 3 edits
    13 adds in trunk/Source/WebKit2

Need ObjC APIs for some InjectedBundle classes.
https://bugs.webkit.org/show_bug.cgi?id=125600

Add ObjC API classes for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult and InjectedBundleNodeHandle.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-12-12
Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm: creates API wrapper for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult

and InjectedBundleNodeHandle.

(API::Object::newObject):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: Added.

(-[WKWebProcessPlugInFrame dealloc]):
(-[WKWebProcessPlugInFrame jsContextForWorld:]): returns the JSContextRef for a ScriptWorld in frame.
(-[WKWebProcessPlugInFrame hitTest:]): returns hitTestResult (with API type) from a hitTest.
(-[WKWebProcessPlugInFrame jsWrapperForNodeHandle:inWorld:]):
(-[WKWebProcessPlugInFrame API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm: Added.

(-[WKWebProcessPlugInHitTestResult dealloc]):
(-[WKWebProcessPlugInHitTestResult nodeHandle]):
(-[WKWebProcessPlugInHitTestResult API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResultInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: Added.

(-[WKWebProcessPlugInNodeHandle dealloc]):
(-[WKWebProcessPlugInNodeHandle API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Added.

(WebKit::wrapper):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Added.
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: Added.

(+[WKWebProcessPlugInScriptWorld world]): returns a new isolated world.
(+[WKWebProcessPlugInScriptWorld normalWorld]): returns the mainThread normal world.
(-[WKWebProcessPlugInScriptWorld dealloc]):
(-[WKWebProcessPlugInScriptWorld API::]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Added.

(WebKit::wrapper):

11:04 PM Changeset in webkit [160529] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

Fix unsafe memory load/store from the argument encoder/decoder affecting ARM
https://bugs.webkit.org/show_bug.cgi?id=125674

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-12
Reviewed by Darin Adler.

Depending on the CPU and CPU config, load and store may have to be aligned.
The argument buffer has no particular alignment which can cause problems.

In this case, on ARMv7, strd and ldrd can have alignment restriction on 16 bytes.
The code encoding double and 64 bits integers was causing bugs.

To avoid problems, the encoders/decoders are modified to just use memcpy. The compiler optimizes
it away for the right instructions (clang uses two ldr/str in the case of 64bits values on ARMv7).

  • Platform/CoreIPC/ArgumentDecoder.cpp:

(CoreIPC::decodeValueFromBuffer):
(CoreIPC::ArgumentDecoder::decode):

  • Platform/CoreIPC/ArgumentEncoder.cpp:

(CoreIPC::copyValueToBuffer):
(CoreIPC::ArgumentEncoder::encode):

10:52 PM Changeset in webkit [160528] by Darin Adler
  • 11 edits in trunk/Source/WebCore

Make some improvements in CSSImageGeneratorValue code
https://bugs.webkit.org/show_bug.cgi?id=125676

Reviewed by Simon Fraser.

  • css/CSSCrossfadeValue.cpp:

(WebCore::subimageKnownToBeOpaque): Take a reference to the CSSValue, since
it's known not to be null. Used checked cast.
(WebCore::CSSCrossfadeValue::knownToBeOpaque): Updated to pass a reference.

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::saveCachedImageForSize): Use
make_unique instead of adoptPtr.
(WebCore::CSSImageGeneratorValue::subimageIsPending): Use checked cast.
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto, also
use nullptr.

  • css/CSSImageGeneratorValue.h: Removed unneeded includes, added some forward

declarations, used unique_ptr instead of OwnPtr, and used CSS_VALUE_TYPE_CASTS
macro to create cast functions.

  • css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear): Use nullptr instead of 0.
(WebCore::StyleResolver::applyProperty): Use checked cast and pass references
instead of pointers to StyleGeneratedImage::create.
(WebCore::StyleResolver::styleImage): Use checked cast and pass references
instead of pointers to generatedOrPendingFromValue.
(WebCore::StyleResolver::generatedOrPendingFromValue): Take the value as a
reference instead of a pointer.
(WebCore::StyleResolver::loadPendingImage): Pass a refernece instead of a
pointer to StyleGeneratedImage::create.
(WebCore::StyleResolver::loadPendingImages): Use auto for iteration instead of
a lot type name.

  • css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value

as a reference instead of a pointer.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFilter): Pass a reference insted of a pointer to
StyleGeneratedImage::create.
(WebCore::crossfadeBlend): Ditto.
(WebCore::blendFunc): Ditto. Also use references for local variables.

  • rendering/style/StyleGeneratedImage.cpp:

(WebCore::StyleGeneratedImage::StyleGeneratedImage): Use PassRef instead of
PassRefPtr for the argument type.
(WebCore::StyleGeneratedImage::cssValue): Updated since m_imageGeneratorValue
is now a Ref instead of a RefPtr. Sadly this requires a const_cast that we can
come back and get rid of later.
(WebCore::StyleGeneratedImage::imageSize): Ditto.
(WebCore::StyleGeneratedImage::image): Ditto.

  • rendering/style/StyleGeneratedImage.h: Changed create function and constructor

to take a PassRef. Made imageValue non-const since it returns a non-const value,
to be consistent with "conceptual const". Changed m_imageGeneratorValue to be a
Ref instead of a RefPtr.

  • rendering/style/StyleImage.h: Made WrappedImagePtr be const void*, since it's

a pointer used only for equality checks. Not a great idiom, but fine to use a
const pointer instead of non-const, and avoids the const_cast we'd otherwise
need in StyleGeneratedImage::data.

9:51 PM Changeset in webkit [160527] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Use proper values for stack checks
https://bugs.webkit.org/show_bug.cgi?id=125677

Reviewed by Filip Pizlo.

For the LLInt using CodeBlock::m_numCalleeRegisters + maxFrameExtentForSlowPathCall.
For the baseline JIT using frameRegisterCountFor().
For the DFG using Graph::requiredRegisterCountForExecutionAndExit().

Using virtualRegisterForLocal().offset() to get the register offset given a count.
Note that for N registers, the value passed into virtualRegisterForLocal() needs
to be N-1, since we are trying to check to see if there is space for registers 0..N-1.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • llint/LowLevelInterpreter.asm:
8:59 PM Changeset in webkit [160526] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Improve the find word boundary performance
https://bugs.webkit.org/show_bug.cgi?id=125619

In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
So use separate function for endWordBoundary can improve the performance.

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2013-12-12
Reviewed by Darin Adler.

No tests because no operation changes.

  • editing/VisibleUnits.cpp: Use findEndWordBoundary in endWordBoundary

(WebCore::endWordBoundary):

  • platform/text/TextBoundaries.cpp: Add findEndWordBoundary function

(WebCore::findEndWordBoundary):

  • platform/text/TextBoundaries.h:
  • platform/text/mac/TextBoundaries.mm: Add findEndWordBoundary function

(WebCore::findEndWordBoundary):

7:50 PM Changeset in webkit [160525] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix a silly mistake of r160467
https://bugs.webkit.org/show_bug.cgi?id=125657

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-12
Reviewed by Alexey Proskuryakov.

Fix a typo. The validity check was missing the logical not.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):

6:41 PM Changeset in webkit [160524] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.74.1

New Tag.

6:19 PM Changeset in webkit [160523] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add a few more ASCIILiterals
https://bugs.webkit.org/show_bug.cgi?id=125662

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-12
Reviewed by Darin Adler.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):

6:06 PM Changeset in webkit [160522] by msaboff@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Add equivalent values from MaxFrameExtentForSlowPathCall.h to lint files
https://bugs.webkit.org/show_bug.cgi?id=125669

Reviewed by Mark Lam.

Added platform specific value of maxFrameExtentForSlowPathCall to llint code.
Also added ASSERTs to check that we are using the save value in both places.

Per review comments, I also updated the CPU(ARM)
... in MaxFrameExtentForSlowPathCall.h

to be just CPU(ARM) since it covers all ARM 32 bit variants.

  • assembler/MaxFrameExtentForSlowPathCall.h:
  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LowLevelInterpreter.asm:
5:45 PM Changeset in webkit [160521] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for 32-bit.

There was no reason for these to be CGFloat.

  • UIProcess/mac/ViewGestureController.cpp:
5:36 PM Changeset in webkit [160520] by timothy_horton@apple.com
  • 18 edits
    3 adds in trunk

[wk2] Handle pinch-to-zoom gesture
https://bugs.webkit.org/show_bug.cgi?id=125604

Reviewed by Simon Fraser.

Add the concept of a "transient" zoom to DrawingArea, which is a zoom
that affects the content, but does not cause repaint, as would be used
for a live pinch-zoom gesture.

Add ViewGestureController, which currently only handles magnification
gestures, and keeps track of the current gesture's scale and origin, and
forwards relevant events on to the DrawingArea via the transient zoom mechanism.

  • DerivedSources.make:

Add ViewGestureController to the list of message receivers.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Add shouldHandleMagnificationGesture property, which controls whether WKView will
attempt to handle magnifyWithEvent:.

  • UIProcess/API/mac/WKView.mm:

(-[WKView waitForAsyncDrawingAreaSizeUpdate]):
Fix a typo.

(-[WKView _ensureGestureController]):
Create our ViewGestureController if it doesn't already exist.

(-[WKView setAllowsMagnification:]):
(-[WKView allowsMagnification]):
SPI to enable/disable handling the magnification gesture.

(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
(-[WKView magnification]):
Adjust or retrieve the current page scale.
The variant of setMagnification that does not take an origin uses the view's center.

(-[WKView magnifyWithEvent:]):

(-[WKView endGestureWithEvent:]):
Forward gesture methods to ViewGestureController.

  • UIProcess/mac/ViewGestureController.cpp: Added.

(WebKit::ViewGestureController::create):
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::resistanceForDelta):
Compute a resistance factor, which makes it feel "hard" to zoom out past
scale=1, and accelerates scaling out before you hit scale=1.

(WebKit::ViewGestureController::scaledMagnificationOrigin):
Compute the origin of the magnification gesture with the transient zoom unapplied.

(WebKit::ViewGestureController::handleMagnificationGesture):
The first magnification gesture will send a message to the WebProcess
to retrieve the visible content rect. Subsequent gestures will
hand the new magnification and origin to the DrawingArea to apply.

(WebKit::ViewGestureController::didBeginTransientZoom):
Callback from the WebProcess, with the current visible content rect.
Subsequent magnification gestures will forward the scale and origin to the DrawingArea.

(WebKit::ViewGestureController::endMagnificationGesture):
Commit the current transient scale as the actual page scale, which will cause
a repaint and bring in all the tiles.

(WebKit::ViewGestureController::endActiveGesture):
If we have an active gesture, call its end function.

  • UIProcess/mac/ViewGestureController.h: Added.
  • UIProcess/mac/ViewGestureController.messages.in: Added.
  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
Call back to ViewGestureController with the visibleContentRect.

(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Scale and translate the RenderView's PlatformCALayer.
Reaching into the layer tree like this is scary, we should consider
teaching RenderLayerCompositor about transient zoom.
Hide the content shadow layer for now.

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Clear our custom transform on the RenderView's layer, and
change the actual page scale, causing a repaint.
Un-hide the shadow layer.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::beginTransientZoom):
(WebKit::DrawingAreaProxy::adjustTransientZoom):
(WebKit::DrawingAreaProxy::commitTransientZoom):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::beginTransientZoom):
(WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::beginTransientZoom):
(WebKit::DrawingArea::adjustTransientZoom):
(WebKit::DrawingArea::commitTransientZoom):

  • WebProcess/WebPage/DrawingArea.messages.in:

Generic plumbing for {begin, adjust, end}TransientZoom.

  • WebCore.exp.in:

Export some TransformationMatrix functions.

  • WebCore.xcodeproj/project.pbxproj:

Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.

  • rendering/RenderLayerCompositor.h:

(WebCore::RenderLayerCompositor::layerForContentShadow):
Add a getter for the content shadow layer.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
Enable handling of the magnification gesture in Minibrowser WebKit2 windows.

5:32 PM Changeset in webkit [160519] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Add the new assembler/MaxFrameExtentForSlowPathCall.h to build files
https://bugs.webkit.org/show_bug.cgi?id=125668

Reviewed by Mark Lam.

Added assembler/MaxFrameExtentForSlowPathCall.h to Xcode, Visual Studio and
GNUmake build files.

5:13 PM Changeset in webkit [160518] by eunmi15.lee@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
4:42 PM Changeset in webkit [160517] by beidson@apple.com
  • 22 edits
    4 copies
    4 adds in trunk/Source

DatabaseProcess IndexedDB: Establish a metadata backing store on disk
https://bugs.webkit.org/show_bug.cgi?id=125258

Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.

Source/WebCore:

Teach CrossThreadCopier how to handle IDBDatabaseMetadata.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.

(WebCore::IDBDatabaseMetadata::isolatedCopy):
(WebCore::IDBObjectStoreMetadata::isolatedCopy):
(WebCore::IDBIndexMetadata::isolatedCopy):

  • Modules/indexeddb/IDBDatabaseMetadata.h:
  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPath::isolatedCopy):

  • Modules/indexeddb/IDBKeyPath.h:
  • platform/CrossThreadCopier.cpp:

(WebCore::::copy): Add an IDBDatabaseMetadata specialization.

  • platform/CrossThreadCopier.h:

Source/WebKit2:

The DatabaseProcess already has an "Indexed Database path".
Each SecurityOrigin with indexed databases will have a subdirectory under the path.
Each indexed database will have a subdirectory under its SecurityOrigin's path.
Inside that directory will exist (1) metadata database, and 0-N ObjectStore databases.

This patch establishes the directory structure and the (1) metadata database.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::initializeDatabaseProcess): Asynchronously ensure the indexed database directory exists.
(WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists): Allow anyone to make necessary directories relative to

the indexed database directory.

(WebKit::DatabaseProcess::ensurePathExists):
(WebKit::DatabaseProcess::absoluteIndexedDatabasePathFromDatabaseRelativePath): Instead of exposing the indexed database directory,

give DatabaseProcess a method to allow others to compute a path relative to the indexed database directory.

(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):

  • DatabaseProcess/DatabaseProcess.h:

(WebKit::DatabaseProcess::queue):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
(WebKit::UniqueIDBDatabase::filenameForDatabaseName):
(WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
(WebKit::UniqueIDBDatabase::canShareDatabases):
(WebKit::UniqueIDBDatabase::shutdown): Method to cleanly shutdown a database, emptying its task and request queues.
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata): To be run on the database work queue, establishes a backing store

and extracts metadata from it.

(WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): Callback once metadata from the backing store is ready for use.
(WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
(WebKit::UniqueIDBDatabase::postMainThreadTask): Add a main thread task for this database.
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask): Add a database queue task for this database.
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Add a virtual backing store interface:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

(WebKit::UniqueIDBDatabaseBackingStore::~UniqueIDBDatabaseBackingStore):

Add a SQLite implementation of that interface:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Added.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Add a general purpose asynchronous task that does cross thread copying:

  • Shared/AsyncTask.h: Added.

(WebKit::AsyncTask::~AsyncTask):
(WebKit::AsyncTask::AsyncTask):
(WebKit::createAsyncTask):

Add more isolated copiers and introduce WebKit CrossThreadCopier specializations:

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:

(WebKit::UniqueIDBDatabaseIdentifier::isolatedCopy):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:
  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::isolatedCopy):

  • Shared/SecurityOriginData.h:
  • Shared/WebCrossThreadCopier.cpp:

(WebCore::::copy):

  • Shared/WebCrossThreadCopier.h:
  • WebKit2.xcodeproj/project.pbxproj:

Source/WTF:

  • wtf/text/WTFString.h: Export toUInt64Strict().
4:30 PM Changeset in webkit [160516] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Put all stack saving and restoring callToJavaScript in {push/pop}CalleeSaves
https://bugs.webkit.org/show_bug.cgi?id=125666

Not yet reviewed.

Eliminated "extraStack" arguments and related stack pointer manipulation for 64 bit platforms.
Both ARM64 and X86_64 already have aligned stacks. Eliminated some related commented out
code.

  • llint/LowLevelInterpreter64.asm:
4:18 PM Changeset in webkit [160515] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: HANG: virginamerica.com: Pressing the print button on the boarding pass page locks up VoiceOver and Safari.
https://bugs.webkit.org/show_bug.cgi?id=125603

Reviewed by Anders Carlsson.

Allow the print dialog to spin its run loop while accessibility is enabled so that VoiceOver does not hang on the WebProcess.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print):

4:18 PM Changeset in webkit [160514] by msaboff@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Eliminate unnecessary add/sub 16 to stack pointer
https://bugs.webkit.org/show_bug.cgi?id=125653

Reviewed by Geoffrey Garen.

Changes as a result of review.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::frameRegisterCount): Changed c-style cast to static_cast.

Changed rounding for stack alignment to use WTF::roundUpToMultipleOf

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions): Added assertion for JSStack::CallerFrameAndPCSize

4:10 PM Changeset in webkit [160513] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed CMake build fix after r160509

  • CMakeLists.txt: Apply MessageSender's changes
3:49 PM Changeset in webkit [160512] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Let the load delegate know when the Web process crashes
https://bugs.webkit.org/show_bug.cgi?id=125660

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(processDidCrash): Implemented this WKPageLoaderClient callback by calling the load
delegate.
(setUpPageLoaderClient): Set the above callback in the client structure

  • UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Declare new delegate method.
3:46 PM Changeset in webkit [160511] by Lucas Forschler
  • 2 edits in trunk/Tools

Update hardware for Apple bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:41 PM Changeset in webkit [160510] by Lucas Forschler
  • 2 edits in trunk/Tools

Remove unused Apple Bots.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:26 PM Changeset in webkit [160509] by andersca@apple.com
  • 2 edits
    2 moves in trunk/Source/WebKit2

Move MessageSender to Platform/IPC.

Rubber-stamped by Andreas Kling.

  • Platform/IPC/MessageSender.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.cpp.
  • Platform/IPC/MessageSender.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.h.
  • WebKit2.xcodeproj/project.pbxproj:
3:12 PM Changeset in webkit [160508] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

WebPageProxy should be a MessageSender
https://bugs.webkit.org/show_bug.cgi?id=125654

Reviewed by Sam Weinig.

  • Platform/CoreIPC/MessageSender.cpp:

(CoreIPC::MessageSender::sendMessage):

  • Platform/CoreIPC/MessageSender.h:

(CoreIPC::MessageSender::send):

  • Shared/ChildProcessProxy.h:
  • Shared/WebConnection.cpp:

(WebKit::WebConnection::postMessage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::sendMessage):
(WebKit::WebPageProxy::messageSenderConnection):
(WebKit::WebPageProxy::messageSenderDestinationID):

  • UIProcess/WebPageProxy.h:
2:55 PM Changeset in webkit [160507] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Tools

committer

2:54 PM Changeset in webkit [160506] by msaboff@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Eliminate unnecessary add/sub 16 to stack pointer
https://bugs.webkit.org/show_bug.cgi?id=125653

Not yet reviewed.

Changed the DFG stack frame to include outgoing space for at least the two
pointers for returnPC and callerFrame. Changed the setting of the stack
pointer to not include the space for the outgoing returnPC and callerFrame.
Eliminated the add/sub 16 around calls in the DFG.

Adjusted the LLInt and baseline JIT calculation of the stack pointer for calls.
In both cases, the frame is set up with temp that points to the base of the callee
frame. The space for the outgoing returnPC and callerFrame is added to the temp
to create the stack pointer for the call.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::frameRegisterCount):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • interpreter/JSStack.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
1:48 PM WebKitGTK/2.2.x edited by berto@igalia.com
(diff)
1:25 PM Changeset in webkit [160505] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Fix handling of uncaught exceptions.
https://bugs.webkit.org/show_bug.cgi?id=125648.

Reviewed by Geoffrey Garen.

  • llint/LowLevelInterpreter64.asm:
  • handleUncaughtException should load the "catch" callFrame instead of assuming that the current one is appropriate. This is now fixed.
12:28 PM Changeset in webkit [160504] by andersca@apple.com
  • 16 edits in trunk/Source/WebKit2

Clean up dictionary handling a little
https://bugs.webkit.org/show_bug.cgi?id=125644

Reviewed by Dan Bernstein.

Add a WKDictionaryCreate function as a first step towards eliminating WKMutableDictionaryRef,
(in the same way we've eliminated WKMutableArrayRef). Also, rename adopt to create and make it take a Map by value
so we can use std::move where appropriate.

  • Shared/API/c/WKDictionary.cpp:

(WKDictionaryCreate):

  • Shared/API/c/WKDictionary.h:
  • Shared/Cocoa/WKNSDictionary.mm:

(-[WKNSDictionary copyWithZone:]):

  • Shared/ImmutableDictionary.cpp:

(WebKit::ImmutableDictionary::create):
(WebKit::ImmutableDictionary::ImmutableDictionary):

  • Shared/ImmutableDictionary.h:
  • Shared/MutableDictionary.cpp:

(WebKit::MutableDictionary::MutableDictionary):

  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::createPluginInformationDictionary):

  • Shared/UserData.cpp:

(WebKit::UserData::transform):
(WebKit::UserData::decode):

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageDecoder::baseDecode):

  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):

  • UIProcess/WebFormClient.cpp:

(WebKit::WebFormClient::willSubmitForm):

  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::createNewPage):

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:

(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
(WebKit::InjectedBundlePageFormClient::willSubmitForm):

12:18 PM Changeset in webkit [160503] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Add support for RSAES-PKCS1-v1_5
https://bugs.webkit.org/show_bug.cgi?id=125647

Build fix.

  • crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
12:12 PM Changeset in webkit [160502] by ap@apple.com
  • 8 edits
    7 adds in trunk

Add support for RSAES-PKCS1-v1_5
https://bugs.webkit.org/show_bug.cgi?id=125647

Reviewed by Anders Carlsson.

Source/WebCore:

Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html

crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html

  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_KW.h:

Removed meaningless parameters arguments from private functions. The base arguments
class is always empty.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
(WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: Added.

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::identifier):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Added.
  • crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: Added.

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/mac/CryptoAlgorithmRegistryMac.cpp:

(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
Added support for this algorithm.

LayoutTests:

  • crypto/subtle/rsaes-pkcs1-v1_5-decrypt-expected.txt: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt: Added.
  • crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html: Added.
11:57 AM Changeset in webkit [160501] by matthew_hanson@apple.com
  • 17 edits
    2 adds in branches/safari-537.74-branch

Merged patch from <rdar://problems/15474133>. This patch is a port of r157821.

11:52 AM Changeset in webkit [160500] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebInspectorUI

Web Inspector: ES6: JavaScript syntax highlighting and recognition of for..of
https://bugs.webkit.org/show_bug.cgi?id=122868

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-12
Reviewed by Timothy Hatcher.

Update to CodeMirror 3.20 including javascript ES6 updates.

  • Tools/PrettyPrinting/codemirror.css:
  • Tools/PrettyPrinting/codemirror.js: Minor local change due to error from jsmin.py
  • Tools/PrettyPrinting/css.js:
  • Tools/PrettyPrinting/javascript.js:
  • UserInterface/External/CodeMirror/codemirror.css:
  • UserInterface/External/CodeMirror/codemirror.js: Minor local change due to error from jsmin.py
  • UserInterface/External/CodeMirror/coffeescript.js:
  • UserInterface/External/CodeMirror/css.js:
  • UserInterface/External/CodeMirror/htmlmixed.js:
  • UserInterface/External/CodeMirror/javascript.js:
  • UserInterface/External/CodeMirror/less.js:
  • UserInterface/External/CodeMirror/matchbrackets.js:
  • UserInterface/External/CodeMirror/placeholder.js:
  • UserInterface/External/CodeMirror/runmode.js:
  • UserInterface/External/CodeMirror/searchcursor.js:
  • UserInterface/External/CodeMirror/sql.js:
  • UserInterface/External/CodeMirror/xml.js:
11:37 AM Changeset in webkit [160499] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Change the disabling of DFG OSR entry to be based on an option
https://bugs.webkit.org/show_bug.cgi?id=125645

Rubber stamped by Filip Pizlo.

Added a new enableOSREntryToDFG option and set the default value to false.
If the option is false, prepareOSREntry() will return 0 which disables OSR
entry, as the return value is the address to jump to or 0 if we can't OSR enter.
Restored the code in emitEnterOptimizationCheck() and emitSlow_op_loop_hint()
that checks the exit value from operationOptimize().

Per a discussion with Filip, removed the enableOSREntryInLoops option and
associated use. All OSR entry to the DFG is now controlled with the new option.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):

  • runtime/Options.h:
11:22 AM Changeset in webkit [160498] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Stop not caching HTTP resources with "Vary" header in response.
<https://webkit.org/b/125483>
<rdar://problem/11781097>

Remove the workaround preventing resources with the "Vary" header
from going into cache, as the CFNetwork cache has supported this
for quite a while now.

31.5 MB progression on Membuster3, because we can now mmap those
resources from disk once they are in the cache.

We keep the workaround on PLATFORM(WIN) for now.

Reviewed by Antti Koivisto.

11:21 AM Changeset in webkit [160497] by mark.lam@apple.com
  • 12 edits in branches/jsCStack/Source/JavaScriptCore

Rename returnFromJavaScript to handleUncaughtException.
https://bugs.webkit.org/show_bug.cgi?id=125613.

Reviewed by Filip Pizlo.

Also did a few minor fixes to get the C Loop LLINT offline asm stage
to build properly, and also some trivial changes to minimize the
compile errors for LowLevelInterpreter.cpp. It doesn't build completely
and run yet since we'll need to update it for CStack changes that have
not been implemented for the C Loop LLINT yet.

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITStubs.h:
  • jit/JITStubsMSVC64.asm:
  • jit/JITStubsX86.h:
  • llint/LLIntOpcode.h:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.cpp:

(JSC::CLoop::execute):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/cloop.rb:
10:42 AM Changeset in webkit [160496] by ap@apple.com
  • 3 edits
    2 adds in trunk

Source/WebCore: Replace uses of WTF::BitArray with std::bitset
https://bugs.webkit.org/show_bug.cgi?id=125642

Patch by Sam Weinig <sam@webkit.org> on 2013-12-12
Reviewed by Anders Carlsson.

  • css/CSSParser.cpp:

(WebCore::filterProperties):
(WebCore::CSSParser::createStyleProperties):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::asText):

LayoutTests: Public key in a generated KeyPair should always be extractable
https://bugs.webkit.org/show_bug.cgi?id=125643

Reviewed by Sam Weinig.

  • crypto/subtle/rsa-oaep-generate-non-extractable-key-expected.txt: Added.
  • crypto/subtle/rsa-oaep-generate-non-extractable-key.html: Added.
10:41 AM Changeset in webkit [160495] by mitz@apple.com
  • 11 edits
    1 add in trunk/Source/WebKit2

[Cocoa] Navigation action information for policy decisions is missing the original request
https://bugs.webkit.org/show_bug.cgi?id=125612

Reviewed by Anders Carlsson.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction): Added template with additional message parameter.

  • UIProcess/API/C/WKPagePolicyClientInternal.h: Added. Defines a new version of the client

interface with a new version of the policy decision callback.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Use the new internal version of the client. Pass the original
request in the action information dictionary under a new key.

  • UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Declared new action information

key.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originalRequest parameter,
which is passed to the policy client.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added originalRequest parameter in

DecidePolicyForNavigationAction.

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForNavigationAction): Pass the original request to
the client.

  • UIProcess/WebPolicyClient.h:
  • WebKit2.xcodeproj/project.pbxproj: Added reference to new file.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the original
request from the navigation action to the UI process.

10:41 AM Changeset in webkit [160494] by Joseph Pecoraro
  • 7 edits in trunk

Test new JSContext name APIs
https://bugs.webkit.org/show_bug.cgi?id=125607

Source/JavaScriptCore:

Reviewed by Darin Adler.

  • API/JSContext.h:
  • API/JSContextRef.h:

Fix whitespace issues.

  • API/tests/testapi.c:

(globalContextNameTest):
(main):

  • API/tests/testapi.mm:

Add tests for JSContext set/get name APIs.

Tools:

  • Scripts/run-javascriptcore-tests:

Remove trailing whitespace.

10:38 AM Changeset in webkit [160493] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

ARM64: Hang running pdfjs test, suspect DFG generated code for "in"
https://bugs.webkit.org/show_bug.cgi?id=124727
<rdar://problem/15566923>

Reviewed by Michael Saboff.

Get rid of In's hackish use of StructureStubInfo. Previously it was using hotPathBegin,
and it was the only IC that used that field, which was wasteful. Moreover, it used it
to store two separate locations: the label for patching the jump and the label right
after the jump. The code was relying on those two being the same label, which is true
on X86 and some other platforms, but it isn't true on ARM64.

This gets rid of hotPathBegin and makes In express those two locations as offsets from
the callReturnLocation, which is analogous to what the other IC's do.

This fixes a bug where any successful In patching would result in a trivially infinite
loop - and hence a hang - on ARM64.

  • bytecode/StructureStubInfo.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::InRecord::InRecord):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::finalize):

  • jit/Repatch.cpp:

(JSC::replaceWithJump):
(JSC::patchJumpToGetByIdStub):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
(JSC::tryRepatchIn):
(JSC::resetGetByID):
(JSC::resetPutByID):
(JSC::resetIn):

10:31 AM Changeset in webkit [160492] by weinig@apple.com
  • 9 edits
    1 delete in trunk/Source

Replace uses of WTF::BitArray with std::bitset
https://bugs.webkit.org/show_bug.cgi?id=125642

Reviewed by Anders Carlsson.

../WebCore:

  • css/CSSParser.cpp:

(WebCore::filterProperties):
(WebCore::CSSParser::createStyleProperties):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::asText):

../WTF:

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/BitArray.h: Removed.
  • wtf/CMakeLists.txt:
10:21 AM Changeset in webkit [160491] by ap@apple.com
  • 65 edits in trunk

Make algorithm.name return registered name, not normalized one
https://bugs.webkit.org/show_bug.cgi?id=125641

Reviewed by Anders Carlsson.

Source/WebCore:

Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
as part of normalization.

But it makes little sense to register algorithms as mixed (mostly upper) case, yet
return the name lowercased. Other implementations don't bother respecting this,
and signs are that the spec will change.

I'd like to match other implementations here, because sticking to the spec only
makes us fail 3rd party test suites for no good reason.

Updated many existing tests.

  • crypto/CryptoAlgorithmRegistry.cpp:

(WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):

  • crypto/CryptoAlgorithmRegistry.h:
  • crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
  • crypto/algorithms/CryptoAlgorithmHMAC.cpp:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA1.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:

LayoutTests:

  • crypto/subtle/aes-cbc-192-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-generate-key-expected.txt:
  • crypto/subtle/aes-cbc-generate-key.html:
  • crypto/subtle/aes-cbc-import-jwk-expected.txt:
  • crypto/subtle/aes-cbc-import-jwk.html:
  • crypto/subtle/aes-cbc-invalid-length-expected.txt:
  • crypto/subtle/aes-cbc-invalid-length.html:
  • crypto/subtle/aes-cbc-unwrap-failure-expected.txt:
  • crypto/subtle/aes-cbc-unwrap-failure.html:
  • crypto/subtle/aes-cbc-unwrap-rsa-expected.txt:
  • crypto/subtle/aes-cbc-unwrap-rsa.html:
  • crypto/subtle/aes-cbc-wrap-rsa-expected.txt:
  • crypto/subtle/aes-cbc-wrap-rsa-non-extractable-expected.txt:
  • crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html:
  • crypto/subtle/aes-cbc-wrap-rsa.html:
  • crypto/subtle/aes-kw-key-manipulation-expected.txt:
  • crypto/subtle/aes-kw-key-manipulation.html:
  • crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/aes-kw-wrap-unwrap-aes.html:
  • crypto/subtle/aes-postMessage-expected.txt:
  • crypto/subtle/aes-postMessage.html:
  • crypto/subtle/hmac-generate-key-expected.txt:
  • crypto/subtle/hmac-generate-key.html:
  • crypto/subtle/hmac-import-jwk-expected.txt:
  • crypto/subtle/hmac-import-jwk.html:
  • crypto/subtle/hmac-postMessage-expected.txt:
  • crypto/subtle/hmac-postMessage.html:
  • crypto/subtle/hmac-sign-verify-empty-key-expected.txt:
  • crypto/subtle/hmac-sign-verify-empty-key.html:
  • crypto/subtle/hmac-sign-verify-expected.txt:
  • crypto/subtle/hmac-sign-verify.html:
  • crypto/subtle/postMessage-worker-expected.txt:
  • crypto/subtle/postMessage-worker.html:
  • crypto/subtle/resources/postMessage-worker.js:
  • crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
  • crypto/subtle/rsa-oaep-key-manipulation.html:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt:
  • crypto/subtle/rsa-oaep-wrap-unwrap-aes.html:
  • crypto/subtle/rsa-postMessage-expected.txt:
  • crypto/subtle/rsa-postMessage.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt:
  • crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt:
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html:
9:21 AM Changeset in webkit [160490] by zandobersek@gmail.com
  • 4 edits in trunk

[Autotools] Prepend the WebCore layer archives' names with 'lib'
https://bugs.webkit.org/show_bug.cgi?id=125627

Reviewed by Martin Robinson.

Source/WebKit2:

  • GNUmakefile.am: Libtool can complain about the WebCore layer archives not being prepended with 'lib'

when they are used during linking, so the prefix is now added to avoid such issues.

Tools:

  • TestWebKitAPI/GNUmakefile.am: Libtool can complain about the WebCore layer archives not being prepended

with 'lib' when they are used during linking, so the prefix is now added to avoid such issues.

9:03 AM Changeset in webkit [160489] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Rebaseline fast/table/empty-cells.html after r160410.

  • platform/efl/fast/table/empty-cells-expected.png:
  • platform/efl/fast/table/empty-cells-expected.txt:
6:02 AM Changeset in webkit [160488] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing compositing tests.

  • platform/efl-wk2/TestExpectations:
4:30 AM Changeset in webkit [160487] by Csaba Osztrogonác
  • 41 edits
    1 copy
    3 moves
    1 delete in trunk/Source

Move CertificateInfo to WebCore
https://bugs.webkit.org/show_bug.cgi?id=124720

Reviewed by Darin Adler.

Based on the patch by Kwang Yul Seo <skyul@company100.net>

Source/WebCore:

  • GNUmakefile.list.am:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.h.

(WebCore::CertificateInfo::setCertificateChain): Added, because WebCoreArgumentCoders needs it.

  • platform/network/mac/CertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.mm.

(WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersMac.mm.

  • platform/network/soup/CertificateInfo.cpp: Copied from Source/WebKit2/Shared/WebCertificateInfo.h.

(WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersSoup.cpp.

  • platform/network/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/CertificateInfo.h.

(WebCore::CertificateInfo::setCertificate): Added, because WebCoreArgumentCoders needs it.
(WebCore::CertificateInfo::setTLSErrors): Added, because WebCoreArgumentCoders needs it.

Source/WebKit2:

  • GNUmakefile.list.am:
  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/mac/NetworkProcessMac.mm:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/API/c/mac/WKCertificateInfoMac.mm:
  • Shared/Authentication/AuthenticationManager.h:
  • Shared/Authentication/AuthenticationManager.messages.in:
  • Shared/Authentication/mac/AuthenticationManager.mac.mm:
  • Shared/UserMessageCoders.h:

(WebKit::UserMessageDecoder::baseDecode):

  • Shared/WebCertificateInfo.h:

(WebKit::WebCertificateInfo::create):
(WebKit::WebCertificateInfo::certificateInfo):

  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(CoreIPC::ArgumentCoder<CertificateInfo>::encode):
(CoreIPC::ArgumentCoder<CertificateInfo>::decode):

  • Shared/soup/CertificateInfo.cpp: Removed.
  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(CoreIPC::ArgumentCoder<CertificateInfo>::encode):
(CoreIPC::ArgumentCoder<CertificateInfo>::decode):

  • UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_tls_info):

  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::useCredential):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didCommitLoad):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Network/WebResourceLoader.cpp:
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):

4:21 AM Changeset in webkit [160486] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r160446.
http://trac.webkit.org/changeset/160446
https://bugs.webkit.org/show_bug.cgi?id=125630

The upower-glib-based implementation is using API that was
recently removed (Requested by zdobersek1 on #webkit).

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • platform/gtk/TestExpectations:
4:04 AM Changeset in webkit [160485] by commit-queue@webkit.org
  • 13 edits
    2 deletes in trunk

Unreviewed, rolling out r160417.
http://trac.webkit.org/changeset/160417
https://bugs.webkit.org/show_bug.cgi?id=125629

The patch is causing crashes (Requested by zdobersek1 on
#webkit).

Source/WebCore:

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::remove):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::detachWrapper):

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::detachWrapper):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::detachWrapper):

  • accessibility/win/AXObjectCacheWin.cpp:

(WebCore::AXObjectCache::detachWrapper):

Tools:

  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:

(axObjectEventListener):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:

LayoutTests:

  • accessibility/children-changed-sends-notification-expected.txt: Removed.
  • accessibility/children-changed-sends-notification.html: Removed.
  • accessibility/loading-iframe-sends-notification.html:
  • platform/mac/TestExpectations:
3:54 AM Changeset in webkit [160484] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

Remove a few more guards mistakenly added in r160367

Reviewed by Carlos Garcia Campos

r160367 was too liberal in hiding APIs from the GObject DOM bindings.
We should expose the BatteryManager and the text and audio tracks.

  • Modules/battery/BatteryManager.idl:
  • html/HTMLMediaElement.idl:
2:17 AM Changeset in webkit [160483] by Antoine Quint
  • 10 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: allow editing of colors in CSS resources
https://bugs.webkit.org/show_bug.cgi?id=124364

Reviewed by Timothy Hatcher.

Identify colors in CSS and HTML resources so that hovering these colors shows a HoverMenu
allowing a ColorPicker hosted in a Popover to be shown to edit the hovered color.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
Remove the code that goes through the lines of the CodeMirror editor to look for
color strings and replace it with a call to the .createColorMarkers() CodeMirror
extension in which the code was refactored. The callback passed to
.createColorMarkers() handles the CSSStyleDeclarationTextEditor-specific creation
of color swatches to show the popover, keeping the existing behavior of the Styles
sidebar panel.

  • UserInterface/CodeMirrorAdditions.js:

Refactor existing code into two new CodeMirror extensions: .boundsForRange(), which
was previously defined on the CodeMirrorTokenTrackingController but was also needed
in the new CodeMirrorColorEditingController, and .createColorMarkers(), discussed above.

  • UserInterface/CodeMirrorColorEditingController.js: Added.

(WebInspector.CodeMirrorColorEditingController):
New class used by SourceCodeTextEditor to coordinate the editing of a color in a CodeMirror
TextMarker by a ColorPicker hosted in a Popover shown by the activation of a HoverMenu. This
controller automatically gets the color set by the user using the ColorPicker and updates
the CodeMirror text editor with the new value. When the user presses the Esc. key while the
popover is shown, it's automatically dismissed and the original color is reset in the editor.

(WebInspector.CodeMirrorColorEditingController.prototype.get marker):
(WebInspector.CodeMirrorColorEditingController.prototype.get range):
(WebInspector.CodeMirrorColorEditingController.prototype.get delegate):
(WebInspector.CodeMirrorColorEditingController.prototype.set delegate):
Getters and setters for public properties.

(WebInspector.CodeMirrorColorEditingController.prototype.get color):
(WebInspector.CodeMirrorColorEditingController.prototype.set color):
Get and set the color for the edited color marker, replacing the text in the marker's range
upon setting.

(WebInspector.CodeMirrorColorEditingController.prototype.presentHoverMenu):
Public API allowing for a HoverMenu to be shown around the bounds of the TextMarker passed
in the constructor. This method is called from SourceCodeTextEditor when the
CodeMirrorTokenTrackingController identifies that a token that is part of a TextMarker is
hovered and that token is a color.

(WebInspector.CodeMirrorColorEditingController.prototype.dismissHoverMenu):
Public API allowing for the HoverMenu to be dismissed. This method is called when the
CodeMirrorTokenTrackingController identifies that its "hoveredMarker" is no longer being
hovered as well as when we identify that editing of the color has completed.

(WebInspector.CodeMirrorColorEditingController.prototype.handleEvent):
Event handler for the "keydown" event that are being listened to when the HoverMenu
is activated such that the Esc. key can be used to dimiss the popover and reset the
original color before any edits.

(WebInspector.CodeMirrorColorEditingController.prototype.hoverMenuButtonWasPressed):
Implementation of the HoverMenu delegation method used to show a Popover containing a
ColorPicker upon clicking on the color wheel attached to the HoverMenu. We also remember
the color set on the marker so that it may be restored when Esc. is pressed and used to
set the original state of the ColorPicker. The delegation method
colorEditingControllerDidStartEditing() is also called at this point, which the
SourceCodeTextEditor implements.

(WebInspector.CodeMirrorColorEditingController.prototype.didDismissPopover):
Implementation of the Popover delegation method used to identify that color editing has
completed. The delegation method colorEditingControllerDidFinishEditing() is called
at this point, which the SourceCodeTextEditor implements.

(WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):
Apply the color set in the color picker to the CodeMirror text editor.

  • UserInterface/CodeMirrorTokenTrackingController.js:

Add two new modes to CodeMirrorTokenTrackingController. The first mode is "None" and is
the default, incurring no specific token handling behavior. The second mode is "MarkedTokens"
which identifies hover of a token contained in a CodeMirror TextMarker range. The new
"MarkedTokens" mode is used by SourceCodeTextEditor to identify when a marked color is being
hovered to display a HoverMenu.

(WebInspector.CodeMirrorTokenTrackingController):
(WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
Make "None" the new default mode for CodeMirrorTokenTrackingController.

(WebInspector.CodeMirrorTokenTrackingController.prototype.get hoveredMarker):
(WebInspector.CodeMirrorTokenTrackingController.prototype.set hoveredMarker):
(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
Check, when we have a "hoveredMarker" set on the CodeMirrorTokenTrackingController,
whether the "hoveredMarker" is still being hovered when there is no token at the current
mouse position. We can then determine when we're mousing out of the "hoveredMarker" and
notify the delegate via the new tokenTrackingControllerMouseOutOfHoveredMarker delegate
method. The SourceCodeTextEditor uses this method to dismiss its CodeMirrorColorEditingController.

(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
Add support for the new "MarkedTokens" mode.

(WebInspector.CodeMirrorTokenTrackingController.prototype._processMarkedToken):
For the moment, use the same behavior as the existing "MarkedTokens" mode.

  • UserInterface/Color.js:

(WebInspector.Color):
Add a new "valid" property to identify whether a color has any invalid (NaN) component. This property
is used by SourceCodeTextEditor to establish whether a hovered color marker is indeed set to a
valid color still.

(WebInspector.Color.prototype.copy):
New method to create an exact copy of a Color instance, used by CodeMirrorColorEditingController
to duplicate the edited color in case we need to revert it.

  • UserInterface/HoverMenu.js:

(WebInspector.HoverMenu.prototype._handleClickEvent):
Rename hoverMenuWasActivated to hoverMenuButtonWasPressed per review feedback.

  • UserInterface/Images/ColorIcon.png: Added.
  • UserInterface/Images/ColorIcon@2x.png: Added.

New color wheel icon used to customize the HoverMenu shown by a CodeMirrorColorEditingController.

  • UserInterface/Main.html:

Link to the new CodeMirrorColorEditingController.js file.

  • UserInterface/SourceCodeTextEditor.css:

(.hover-menu.color):
(.hover-menu.color > img):
Customize the HoverMenu shown by a CodeMirrorColorEditingController to use the new ColorIcon asset.

  • UserInterface/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
Add a new "_ignoreContentDidChange" ivar that increments and decrements to track when handling
of CodeMirror content changes should be disabled.

(WebInspector.SourceCodeTextEditor.prototype.close):
Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
CodeMirrorTokenTrackingController.

(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
Override the new TextEditor public API called when content in the CodeMirror text editor is changed.
We use this method to process any newly added line to create any newly added color marker.

(WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._sourceCodeSourceMapAdded):
Adopt the new ._updateTokenTrackingControllerState() method to update the state of the
CodeMirrorTokenTrackingController.

(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
New method acting as the only point where we check the state of the text editor and set the right
mode and settings on the CodeMirrorTokenTrackingController, including setting the new "MarkedTokens"
mode when we have color markers, as determined by ._hasColorMarkers().

(WebInspector.SourceCodeTextEditor.prototype._hasColorMarkers):
Check whether any of the TextMarkers set on the CodeMirror text editor were created for a color.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
Check the CodeMirrorTokenTrackingController mode rather than the removed "_jumpToSymbolTrackingModeEnabled"
ivar to identify we're in the "NonSymbolTokens" mode.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
Refactor method to use the CodeMirrorTokenTrackingController mode to branch into mode-specific code
and add a new branch for the new "MarkedTokens" mode where we check if the newly hovered token
is part of a color TextMarker range.

(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerMouseOutOfHoveredMarker):
Implement this new CodeMirrorTokenTrackingController delegation method to dismiss the
CodeMirrorColorEditingController as we identify we're no longer hovering over the TextMarker
for which the CodeMirrorColorEditingController was created.

(WebInspector.SourceCodeTextEditor.prototype._showPopover):
Adopt the new TextEditor boundsForRange() method.

(WebInspector.SourceCodeTextEditor.prototype._updateColorMarkers):
Harness the new TextEditor createColorMarkers() method to create new TextMarkers for the provided
line, or the entire text editor content if none provided. We then immediately call _updateTokenTrackingControllerState()
so that the new "MarkedTokens" mode is entered in case color TextMarkers were created for the first
time for this text editor.

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression):
Called when we've identified the CodeMirrorTokenTrackingController highlighted a TextMarker. We check
if any of the hovered TextMarkers are for a color, and in this case create a CodeMirrorColorEditingController
to coordinate the display of a ColorPicker in a Popover to edit the hovered color token. We also check
whether the hovered marker still contains a valid color, clearing the marker in case it was edited to
no longer contain a color.

(WebInspector.SourceCodeTextEditor.prototype._dismissCodeMirrorColorEditingController):
Used to dismiss the CodeMirrorColorEditingController, if previously presented, and reset some internal state.

(WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidStartEditing):
Implement this CodeMirrorColorEditingController delegation method to temporarily disable the
CodeMirrorTokenTrackingController while we edit the color with the ColorPicker, remove
the TextMarker for the edited color and instruct that content changes should be ignored
such that we act on the complete set of color edits upon completion.

(WebInspector.SourceCodeTextEditor.prototype.colorEditingControllerDidFinishEditing):
Update color markers for the edited line such that any color edits are correctly updated for
the future and so that, as a side-effect, the CodeMirrorColorEditingController is reset to the
appropriate mode depending on whether color TextMarkers are indeed available, resetting states
that may have been altered by colorEditingControllerDidStartEditing().

  • UserInterface/TextEditor.js:

(WebInspector.TextEditor.prototype.contentDidChange):
New public method meant to be overriden by subclasses, added for the use of SourceCodeTextEditor, exposing
the list of TextRanges affected by the content change, both in the context of the old content and new content.

(WebInspector.TextEditor.prototype.boundsForRange):
(WebInspector.TextEditor.prototype.get markers):
(WebInspector.TextEditor.prototype.findMarkersAtPosition):
(WebInspector.TextEditor.prototype.createColorMarkers):
(WebInspector.TextEditor.prototype.colorEditingControllerForMarker):
New public methods calling into the CodeMirror private ivar for the benefit of SourceCodeTextEditor.

(WebInspector.TextEditor.prototype._contentChanged):
Call the new contentDidChange() method.

2:10 AM Changeset in webkit [160482] by zandobersek@gmail.com
  • 6 edits in trunk

Use of ar T option not supported by older binutils
https://bugs.webkit.org/show_bug.cgi?id=118732

Reviewed by Gustavo Noronha Silva.

.:

  • Source/autotools/SetupLibtool.m4: Make the AR_FLAGS value usable inside makefiles as an Automake variable.

Source/WebKit2:

  • GNUmakefile.am: To support non-thin archives when generating the WebCoreLayerGtk2 archive,

switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
new archive. Non-thin archives also pose the problem as their members are only noted by the basename
of the member's object file, and not the full path to it. To work around that, all the object files
under the build directory are listed by their relative paths. The members of various archives then have
the basenames of their paths grepped against that list, with the found path correlating to the member
finally added as the new member of the WebCoreLayerGtk2 archive.

Tools:

  • TestWebKitAPI/GNUmakefile.am: To support non-thin archives when generating the WebCoreLayer archive,

switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
new archive. Non-thin archives also pose the problem as their members are only noted by the basename
of the member's object file, and not the full path to it. To work around that, all the object files
under the build directory are listed by their relative paths. The members of various archives then have
the basenames of their paths grepped against that list, with the found path correlating to the member
finally added as the new member of the WebCoreLayer archive.

1:17 AM Changeset in webkit [160481] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] WebProcess tests are failing with newer glib
https://bugs.webkit.org/show_bug.cgi?id=125621

Reviewed by Martin Robinson.

Newer versions of glib unset the DISPLAY env variable in
g_test_dbus_up(). The WebProcess needs the DISPLAY variable to
work, and it's important to keep its value when running the tests
under Xvfb.

  • UIProcess/API/gtk/tests/WebProcessTestRunner.cpp:

(WebProcessTestRunner::WebProcessTestRunner): Restore the DISPLAY
env variable after calling g_test_dbus_up().

1:12 AM Changeset in webkit [160480] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Make sure unit tests don't use GVFS and dconf
https://bugs.webkit.org/show_bug.cgi?id=125620

Reviewed by Martin Robinson.

They should use the local vfs and the gsettings memory backend.

  • UIProcess/API/gtk/tests/TestMain.cpp:

(main):

12:58 AM Changeset in webkit [160479] by Darin Adler
  • 9 edits
    2 adds in trunk

StylePendingImage needs to correctly manage the CSSValue pointer lifetime
https://bugs.webkit.org/show_bug.cgi?id=125468

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/pending-image-crash.xhtml

Disconnect the reference counted StylePendingImage from the CSSValue that owns
it when it's not needed any more, otherwise we could end up using a pointer
that might no longer be valid.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue
on the current image if it is a StylePendingImage.
(WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage.
(WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing
m_image to a new value.
(WebCore::CSSCursorImageValue::clearCachedImage): Ditto.

  • css/CSSCursorImageValue.h: Added detachPendingImage.
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue
on the current image set if it is a StylePendingImage.
(WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage.
(WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing
m_imageSet to a new value.

  • css/CSSImageSetValue.h: Added detachPendingImage.
  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the
current image if it is a StylePendingImage.
(WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage.
(WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image
to a new value.

  • css/CSSImageValue.h: Added detachPendingImage.
  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::cssImageValue): Added a null check.
(WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check.
(WebCore::StylePendingImage::cssCursorImageValue): Added a null check.
(WebCore::StylePendingImage::cssImageSetValue): Added a null check.
(WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since
the style is no longer using this StylePendingImage.
(WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we
need is some arbitrary pointer uniquely identifying the image. Before loading the image,
we have no suitable weak identifier, so it suffices to use the unique pointer to each
StylePendingImage object. This function is used only in a limited way; it would be nice
to find a way to make the code less strange long term.

LayoutTests:

  • fast/css/pending-image-crash-expected.txt: Added.
  • fast/css/pending-image-crash.xhtml: Added.
12:44 AM Changeset in webkit [160478] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Remove some unneeded code noticed while looking at StylePendingImage
https://bugs.webkit.org/show_bug.cgi?id=125618

Reviewed by Andreas Kling.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.

  • rendering/RenderImageResource.cpp: Removed unneeded nullImage and

usesImageContainerSize member functions.
(WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
through RenderImageResourceImage::nullImage.

  • rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize

and nullImage functions. Also removed unneeded includes.

  • rendering/RenderImageResourceStyleImage.h: Removed unneeded

usesImageContainerSize override. Nobody was calling it.

Dec 11, 2013:

10:38 PM Changeset in webkit [160477] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Set stack pointer in OSR exit handler
https://bugs.webkit.org/show_bug.cgi?id=125617

Not yet reviewed.

Set the stack pointer off of the callFrameRegister just like at the top of the function.

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::adjustAndJumpToTarget):

8:01 PM Changeset in webkit [160476] by gyuyoung.kim@samsung.com
  • 9 edits in trunk/Source/WebKit2

[WK2] Build fix after r160464
https://bugs.webkit.org/show_bug.cgi?id=125615

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2013-12-11
Reviewed by Gyuyoung Kim.

Modify the 2nd parameter for calling WebContext::addMessageReceiver from "this" to "*this"
because the parameter type is modified from CoreIPC::MessageReceiver* to CoreIPC::MessageReceiver&

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):

  • UIProcess/WebBatteryManagerProxy.cpp:

(WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):

  • UIProcess/WebNetworkInfoManagerProxy.cpp:

(WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):

  • UIProcess/WebVibrationProxy.cpp:

(WebKit::WebVibrationProxy::WebVibrationProxy):

  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:

(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):

  • WebProcess/Battery/WebBatteryManager.cpp:

(WebKit::WebBatteryManager::WebBatteryManager):

  • WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:

(WebKit::WebNetworkInfoManager::WebNetworkInfoManager):

  • WebProcess/soup/WebSoupRequestManager.cpp:

(WebKit::WebSoupRequestManager::WebSoupRequestManager):

7:20 PM Changeset in webkit [160475] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r156290. <rdar://problem/15498810>

7:08 PM Changeset in webkit [160474] by matthew_hanson@apple.com
  • 24 edits in branches/safari-537.74-branch

Merged r154513. <rdar://problem/15498763>

6:47 PM Changeset in webkit [160473] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

6:44 PM Changeset in webkit [160472] by Lucas Forschler
  • 1 copy in tags/Safari-538.9

New Tag.

6:35 PM Changeset in webkit [160471] by matthew_hanson@apple.com
  • 15 edits
    2 deletes in branches/safari-537.74-branch

Rolled out r160469.

6:23 PM Changeset in webkit [160470] by mark.lam@apple.com
  • 1 edit
    1 add in branches/jsCStack/Source/JavaScriptCore

Introducing MaxFrameExtentForSlowPathCall.h.
https://bugs.webkit.org/show_bug.cgi?id=125609.

Reviewed by Mark Hahnenberg.

  • assembler/MaxFrameExtentForSlowPath.h: Added.
  • defines a constant for the max amount of stack space that we need to allocate (per JS frame) for holding the outgoing args for slow path calls from JS to C functions.
5:59 PM Changeset in webkit [160469] by matthew_hanson@apple.com
  • 15 edits
    2 adds in branches/safari-537.74-branch

Merged r157821. <rdar://problem/15474133>

5:57 PM Changeset in webkit [160468] by msaboff@apple.com
  • 17 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: enable use of DFG for simple JavaScript
https://bugs.webkit.org/show_bug.cgi?id=125599

Not yet reviewed.

Added code to set up the stack pointer on entry and for call for the DFG. Changed the
SpeculativeJIT::calleeFrame*() helpers to use the stack pointer instead of the call frame
register to build the callee frame relative to the stack.

Disabled JSStack::sanitizeStack(). Removed some calls to checkStackPointerAlignment() used
for earlier debugging.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::frameRegisterCount):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::calleeFrameOffset):
(JSC::DFG::SpeculativeJIT::calleeFrameSlot):
(JSC::DFG::SpeculativeJIT::calleeArgumentSlot):
(JSC::DFG::SpeculativeJIT::calleeFrameTagSlot):
(JSC::DFG::SpeculativeJIT::calleeFramePayloadSlot):
(JSC::DFG::SpeculativeJIT::calleeArgumentTagSlot):
(JSC::DFG::SpeculativeJIT::calleeArgumentPayloadSlot):
(JSC::DFG::SpeculativeJIT::calleeFrameCallerFrame):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):

  • interpreter/JSStack.cpp:

(JSC::JSStack::sanitizeStack):

  • interpreter/JSStack.h:
  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init):

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::privateCompile):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_enter):
(JSC::JIT::emitSlow_op_loop_hint):

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
5:56 PM Changeset in webkit [160467] by benjamin@webkit.org
  • 12 edits
    2 adds in trunk/Source/WebCore

Add the CFNetwork implementation of the asynchronous ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=124440

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-11
Reviewed by Alexey Proskuryakov.

Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
The difference is those objects handle the network callback on a different queue.

Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.

The initialization of the request and connection is moved to the subclass to clean up initialization.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.cpp:

(WebCore::ResourceHandleClient::willCacheResponseAsync):

  • platform/network/ResourceHandleClient.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::connectionWasCancelled):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillSendRequest):
(WebCore::ResourceHandle::continueDidReceiveResponse):
(WebCore::ResourceHandle::continueShouldUseCredentialStorage):
(WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillCacheResponse):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
(WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
(WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
5:26 PM Changeset in webkit [160466] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style shouldn't check spacing in #if preprocessor lines
https://bugs.webkit.org/show_bug.cgi?id=125534

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-11
Reviewed by Ryosuke Niwa.

Preprocessor lines that start with #if shouldn't have to adhere to
the same spacing requirements that regular code does

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_spacing):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_spacing_for_binary_ops):
(WebKitStyleTest.test_line_breaking):

3:38 PM Changeset in webkit [160465] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[Win] Build fix after r159768.
https://bugs.webkit.org/show_bug.cgi?id=125467

Patch by Alex Christensen <achristensen@webkit.org> on 2013-12-11
Reviewed by Brent Fulgham.

  • WebKit.vcxproj/WebKit/WebKitVersion.cmd:

Set PATH environment variable to include cygwin bin directory.

3:36 PM Changeset in webkit [160464] by andersca@apple.com
  • 38 edits in trunk/Source/WebKit2

MessageReceiverMap should take MessageReceiver objects by reference
https://bugs.webkit.org/show_bug.cgi?id=125605

Reviewed by Tim Horton.

  • Platform/CoreIPC/MessageReceiverMap.cpp:

(CoreIPC::MessageReceiverMap::addMessageReceiver):

  • Platform/CoreIPC/MessageReceiverMap.h:
  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::AuthenticationManager):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::addMessageReceiver):

  • Shared/ChildProcess.h:
  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::addMessageReceiver):

  • Shared/ChildProcessProxy.h:
  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::createDownloadProxy):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::DrawingAreaProxy):

  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):

  • UIProcess/WebApplicationCacheManagerProxy.cpp:

(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):

  • UIProcess/WebConnectionToWebProcess.cpp:

(WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::addMessageReceiver):

  • UIProcess/WebContext.h:
  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):

  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):

  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):

  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::WebIconDatabase):

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::WebInspectorProxy):

  • UIProcess/WebMediaCacheManagerProxy.cpp:

(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):

  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):

  • UIProcess/WebResourceCacheManagerProxy.cpp:

(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):

  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:

(WebKit::WebApplicationCacheManager::WebApplicationCacheManager):

  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::WebCookieManager):

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::WebGeolocationManager):

  • WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:

(WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):

  • WebProcess/MediaCache/WebMediaCacheManager.cpp:

(WebKit::WebMediaCacheManager::WebMediaCacheManager):

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::WebNotificationManager):

  • WebProcess/OriginData/WebOriginDataManager.cpp:

(WebKit::WebOriginDataManager::WebOriginDataManager):

  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

(WebKit::WebResourceCacheManager::WebResourceCacheManager):

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):

  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):

  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:

(WebKit::WebDatabaseManager::WebDatabaseManager):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

3:17 PM Changeset in webkit [160463] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed link fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Corrected 64-bit linker symbols.

3:15 PM Changeset in webkit [160462] by ddkilzer@apple.com
  • 7 edits in trunk/Source

Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
<http://webkit.org/b/125329>

Reviewed by Darin Adler.

Source/WebCore:

No tests since this is a build fix for:

$ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"

  • rendering/InlineBox.cpp:
  • rendering/InlineBox.h:
  • Replace ASSERT_DISABLED use with ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::~InlineFlowBox):

  • Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of #ifndef NDEBUG since this calls setHasBadParent().

(WebCore::InlineFlowBox::checkConsistency):

  • Move ASSERT(!m_hasBadChildList) outside of #if CHECK_CONSISTENCY and change to ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).
  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::InlineFlowBox):
(WebCore::InlineFlowBox::setHasBadChildList):

  • Change #ifndef NDEBUG to #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using m_hasBadChildList.

Source/WTF:

  • wtf/Assertions.h: Define macro

ASSERT_WITH_SECURITY_IMPLICATION_DISABLED based on whether
ASSERT_WITH_SECURITY_IMPLICATION() is enabled.

3:05 PM Changeset in webkit [160461] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style can't determine if a comma is part of an initialization list
https://bugs.webkit.org/show_bug.cgi?id=125537

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-11
Reviewed by Darin Adler.

The original check to make sure that initialization list lines start with
a comma didn't distinguish between commas that belong to the initialization
list and commas that are part of function calls. Because we don't want to
match parentheses with regular expressions, we should weaken this check to
only check for commas at the end of initialization list lines.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_member_initialization_list):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_member_initialization_list):

3:00 PM Changeset in webkit [160460] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Type punning error in MD5.cpp
https://bugs.webkit.org/show_bug.cgi?id=125412

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-11
Reviewed by Darin Adler.

  • wtf/MD5.cpp:

(WTF::toLittleEndian): Renamed, and use memcpy instead of casting.
(WTF::MD5::addBytes): Renamed reverseBytes to toLittleEndian.
(WTF::MD5::checksum): Same, and use memcpy instead of casting to prevent type punning error.

2:47 PM Changeset in webkit [160459] by timothy_horton@apple.com
  • 9 edits
    1 add in trunk/Tools

Make it possible to compare layout test results between various configurations of WebKit
https://bugs.webkit.org/show_bug.cgi?id=125212
<rdar://problem/15199108>

Reviewed by Darin Adler.

  • Scripts/compare-webkit-configurations: Added.

Add a script that allows comparison between the "normal" WebKit configuration
used for testing and a different configuration (e.g. with accelerated drawing
turned on, with the remote layer tree enabled, or WebKit1 vs WebKit2), like so:

compare-webkit-configurations -2 --comparison=accelerated-drawing compositing/background-color

This script runs the tests once in the default configuration, ignoring
all test expectations, writing the results out to a temporary directory.

It then runs the tests again in the modified configuration, against the
just-written temporary results.

Ref tests are treated as pixel tests, with their pixel output dumped to disk.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):
(initializeGlobalsFromCommandLineOptions):
Enable accelerated drawing if requested.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):
Add --accelerated-drawing and --remote-layer-tree feature switches, which
are forwarded on to the test drivers.
Move those two and --complex-text into their own "feature switches" section.
Drive-by change "Mac OS X" to "OS X".
Add --treat-ref-tests-as-pixel-tests option, which treats ref tests
as traditional pixel tests (with PNGs dumped on disk), and
ignores e.g. -expected.html files.

  • Scripts/webkitpy/port/base.py:

(Port.reference_files):
Pretend that there are no ref tests.
Since is_reference_html_file is intact, our mechanism to ignore
the expected files will continue working in this case.

  • Scripts/webkitpy/port/driver.py:

(Driver.cmd_line):
Forward --accelerated-drawing and --remote-layer-tree to DRT/WKTR.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::TestController):
(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.h:

(WTR::TestController::shouldUseRemoteLayerTree):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::updateThreadedScrollingForCurrentTest):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView):
Parse and implement the three feature switches.

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

[WebGL] Fix build on GL ES 2.0 targets after r160119
https://bugs.webkit.org/show_bug.cgi?id=125541

Patch by Ralph Thomas <ralpht@gmail.com> on 2013-12-11
Reviewed by Brent Fulgham.

GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.

No new tests, no change in functionality.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::texSubImage2D):

2:40 PM Changeset in webkit [160457] by Joseph Pecoraro
  • 209 edits
    4 copies
    12 moves
    11 adds
    1 delete in trunk/Source

Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=125324

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
  • JavaScriptCore.vcxproj/copy-files.cmd:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bindings/ScriptFunctionCall.cpp: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.cpp.
  • bindings/ScriptFunctionCall.h: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.h.
  • bindings/ScriptObject.cpp: Copied from Source/WebCore/inspector/WorkerConsoleAgent.cpp.
  • bindings/ScriptObject.h: Renamed from Source/WebCore/inspector/InspectorBaseAgent.h.
  • bindings/ScriptValue.cpp: Renamed from Source/WebCore/bindings/js/ScriptValue.cpp.
  • bindings/ScriptValue.h: Renamed from Source/WebCore/bindings/js/ScriptValue.h.
  • inspector/InspectorAgentBase.h: Copied from Source/WebCore/inspector/InspectorAgentRegistry.h.
  • inspector/InspectorAgentRegistry.cpp: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.cpp.
  • inspector/InspectorBackendDispatcher.h: Renamed from Source/WebCore/inspector/InspectorBackendDispatcher.h.

(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
(Inspector::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher):

  • inspector/InspectorValues.cpp: Renamed from Source/WebCore/inspector/InspectorValues.cpp.
  • inspector/InspectorValues.h: Renamed from Source/WebCore/inspector/InspectorValues.h.

Source/WebCore:

Part 1: Push down core inspector classes.

  • Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues down to JavaScriptCore and into the Inspector namespace.
  • Add forwarding headers for JavaScriptCore/inspector files.
  • Use the Inspector namespace where appropriate.
  • Rename InspectorBaseAgent to InspectorAgentBase for clarity.

Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.

  • Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
  • Add forwarding headers
  • Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.

Part 3: Push Down ScriptFunctionCall

  • Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
  • Give constructor a function to all for a different JSC::call, because WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
  • Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.

Part 4: Extract InspectorTypeBuilder helper functions

  • There is a chunk of InspectorTypeBuilder that never changes. Extract it into its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
  • This moves TypeBuilder from namespace WebCore to namespace Inspector
  • Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders, eventually the CodeGenerator script will do this for more then TypeBuilders and there will be "JS" TypeBuilders and "Web" TypeBuilders files.

No new tests. No change in functionality, just moving things around.

  • CMakeLists.txt:
  • ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
  • ForwardingHeaders/bindings/ScriptObject.h: Added.
  • ForwardingHeaders/bindings/ScriptValue.h: Added.
  • ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
  • ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
  • ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
  • ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
  • ForwardingHeaders/inspector/InspectorValues.h: Added.
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Modules/indexeddb/IDBAny.cpp:

(WebCore::IDBAny::scriptValue):
(WebCore::IDBAny::IDBAny):

  • Modules/indexeddb/IDBAny.h:
  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::key):
(WebCore::IDBCursor::primaryKey):
(WebCore::IDBCursor::value):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::setValueReady):

  • Modules/indexeddb/IDBCursor.h:
  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::cmp):

  • Modules/indexeddb/IDBFactory.h:
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBKeyRange.cpp:

(WebCore::IDBKeyRange::lowerValue):
(WebCore::IDBKeyRange::upperValue):
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):

  • Modules/indexeddb/IDBKeyRange.h:

(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get):
(WebCore::generateIndexKeysForValue):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):

  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::setResultCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessInternal):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/mediastream/CapabilityRange.cpp:

(WebCore::scriptValue):
(WebCore::CapabilityRange::min):
(WebCore::CapabilityRange::max):

  • Modules/mediastream/CapabilityRange.h:
  • Modules/mediastream/MediaTrackConstraint.h:
  • Modules/mediastream/RTCIceCandidate.cpp:
  • Modules/plugins/QuickTimePluginReplacement.cpp:
  • Modules/plugins/QuickTimePluginReplacement.h:
  • UseJSC.cmake:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/Dictionary.h:

(WebCore::Dictionary::getEventListener):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::deserializeIDBValue):
(WebCore::deserializeIDBValueBuffer):
(WebCore::idbKeyToScriptValue):
(WebCore::scriptValueToIDBKey):

  • bindings/js/IDBBindingUtilities.h:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:
  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::scriptValueAsNode):
(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):
(WebCore::JSInjectedScriptHost::inspect):

  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):

  • bindings/js/JSMainThreadExecState.cpp:

(WebCore::functionCallHandlerFromAnyThread):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::currentState):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::data):
(WebCore::handleInitMessageEvent):

  • bindings/js/ScheduledAction.cpp:
  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptArguments):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::executeScriptInWorld):
(WebCore::ScriptController::executeScript):
(WebCore::ScriptController::executeIfJavaScriptURL):

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::updateCallStack):
(WebCore::ScriptDebugServer::dispatchDidPause):
(WebCore::ScriptDebugServer::runScript):

  • bindings/js/ScriptDebugServer.h:
  • bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.

(WebCore::handleException):
(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):

  • bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.

(WebCore::ScriptGlobalObject::ScriptGlobalObject):

  • bindings/js/ScriptObject.h: Removed.
  • bindings/js/ScriptProfile.cpp:

(WebCore::buildInspectorObjectFor):
(WebCore::ScriptProfile::buildInspectorObjectForHead):
(WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):

  • bindings/js/ScriptProfile.h:
  • bindings/js/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::objectByHeapObjectId):
(WebCore::ScriptProfiler::getHeapObjectId):

  • bindings/js/ScriptProfiler.h:
  • bindings/js/ScriptState.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::deserializeForInspector):
(WebCore::SerializedScriptValue::serialize):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/SerializedScriptValue.h:
  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):

  • bindings/js/WorkerScriptController.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjAnyAttribute):

  • dom/CustomEvent.cpp:

(WebCore::CustomEvent::initCustomEvent):

  • dom/CustomEvent.h:

(WebCore::CustomEvent::detail):

  • dom/MessageEvent.cpp:

(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):

  • dom/MessageEvent.h:

(WebCore::MessageEvent::create):
(WebCore::MessageEvent::dataAsScriptValue):

  • dom/PopStateEvent.h:

(WebCore::PopStateEvent::state):

  • dom/ScriptElement.cpp:
  • html/HTMLMediaElement.cpp:
  • html/parser/XSSAuditor.cpp:
  • html/parser/XSSAuditorDelegate.cpp:
  • inspector/CodeGeneratorInspector.py:

(RawTypes.BaseType.get_raw_validator_call_text):
(RawTypes.Object.get_array_item_raw_c_type_text):
(RawTypes.Any.get_array_item_raw_c_type_text):
(RawTypes.Array.get_array_item_raw_c_type_text):
(CommandReturnPassModel.OptOutput.get_return_var_type):
(CommandReturnPassModel.OptOutput.get_output_parameter_type):
(TypeModel.ExactlyInt.get_input_param_type_text):
(TypeModel.ExactlyInt.get_opt_output_type_):
(TypeModel.init_class):
(TypeBindings.create_named_type_declaration.Helper):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
(TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Inspector):
(ArrayBinding.get_array_item_c_type_text):
(Generator.go):
(Generator.process_command):

  • inspector/CodeGeneratorInspectorStrings.py:

(void):
(InspectorFrontend_h):
(InspectorBackendDispatchers_h):

  • inspector/ConsoleMessage.cpp:

(WebCore::messageSourceValue):
(WebCore::messageTypeValue):
(WebCore::messageLevelValue):
(WebCore::ConsoleMessage::addToFrontend):

  • inspector/ConsoleMessage.h:
  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::buildObjectForSearchMatch):
(WebCore::ContentSearchUtils::searchInTextByLines):

  • inspector/ContentSearchUtils.h:
  • inspector/InjectedScript.cpp:

(WebCore::InjectedScript::InjectedScript):
(WebCore::InjectedScript::evaluate):
(WebCore::InjectedScript::callFunctionOn):
(WebCore::InjectedScript::evaluateOnCallFrame):
(WebCore::InjectedScript::getFunctionDetails):
(WebCore::InjectedScript::getProperties):
(WebCore::InjectedScript::getInternalProperties):
(WebCore::InjectedScript::nodeForObjectId):
(WebCore::InjectedScript::releaseObject):
(WebCore::InjectedScript::wrapCallFrames):
(WebCore::InjectedScript::wrapObject):
(WebCore::InjectedScript::wrapTable):
(WebCore::InjectedScript::wrapNode):
(WebCore::InjectedScript::findObjectById):
(WebCore::InjectedScript::inspectNode):
(WebCore::InjectedScript::releaseObjectGroup):
(WebCore::InjectedScript::nodeAsScriptValue):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.cpp:

(WebCore::InjectedScriptBase::InjectedScriptBase):
(WebCore::InjectedScriptBase::initialize):
(WebCore::InjectedScriptBase::injectedScriptObject):
(WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
(WebCore::InjectedScriptBase::makeCall):
(WebCore::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptBase.h:
  • inspector/InjectedScriptCanvasModule.cpp:

(WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
(WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
(WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
(WebCore::InjectedScriptCanvasModule::markFrameEnd):
(WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
(WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
(WebCore::InjectedScriptCanvasModule::traceLog):
(WebCore::InjectedScriptCanvasModule::replayTraceLog):
(WebCore::InjectedScriptCanvasModule::resourceInfo):
(WebCore::InjectedScriptCanvasModule::resourceState):

  • inspector/InjectedScriptCanvasModule.h:
  • inspector/InjectedScriptHost.cpp:

(WebCore::InjectedScriptHost::inspectImpl):
(WebCore::InjectedScriptHost::InspectableObject::get):

  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::injectedScriptFor):

  • inspector/InjectedScriptManager.h:
  • inspector/InjectedScriptModule.cpp:

(WebCore::InjectedScriptModule::ensureInjected):

  • inspector/InspectorAgent.cpp:

(WebCore::InspectorAgent::InspectorAgent):
(WebCore::InspectorAgent::didCreateFrontendAndBackend):
(WebCore::InspectorAgent::inspect):

  • inspector/InspectorAgent.h:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::SelectorProfile::toInspectorObject):
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::stopSelectorProfiler):
(WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::collectStyleSheets):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
(WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
(WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):

  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorCanvasInstrumentation.h:

(WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):

  • inspector/InspectorClient.cpp:
  • inspector/InspectorClient.h:
  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
(WebCore::InspectableHeapObject::get):

  • inspector/InspectorConsoleAgent.h:
  • inspector/InspectorController.cpp:
  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::breakpointActionTypeForString):
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::scriptToInspectorObject):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::setScriptSource):
(WebCore::InspectorDebuggerAgent::getFunctionDetails):
(WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
(WebCore::InspectorDebuggerAgent::compileScript):
(WebCore::InspectorDebuggerAgent::runScript):
(WebCore::InspectorDebuggerAgent::currentCallFrames):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::didContinue):
(WebCore::InspectorDebuggerAgent::clear):

  • inspector/InspectorDebuggerAgent.h:
  • inspector/InspectorForwarding.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::FrontendMenuProvider::create):
(WebCore::FrontendMenuProvider::disconnect):
(WebCore::FrontendMenuProvider::FrontendMenuProvider):
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
(WebCore::FrontendMenuProvider::contextMenuCleared):
(WebCore::InspectorFrontendHost::showContextMenu):

  • inspector/InspectorHeapProfilerAgent.cpp:

(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
(WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::getHeapObjectId):

  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInputAgent.cpp:

(WebCore::InspectorInputAgent::InspectorInputAgent):
(WebCore::InspectorInputAgent::didCreateFrontendAndBackend):

  • inspector/InspectorInputAgent.h:
  • inspector/InspectorInstrumentation.cpp:
  • inspector/InspectorInstrumentation.h:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):

  • inspector/InspectorMemoryAgent.h:
  • inspector/InspectorOverlay.cpp:
  • inspector/InspectorOverlay.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::createProfileHeader):
(WebCore::InspectorProfilerAgent::createSnapshotHeader):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::getCPUProfile):
(WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorProfilerAgent::getHeapObjectId):

  • inspector/InspectorProfilerAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::InspectorResourceAgent):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorRuntimeAgent.cpp:

(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
(WebCore::buildErrorRangeObject):
(WebCore::InspectorRuntimeAgent::parse):
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::callFunctionOn):
(WebCore::InspectorRuntimeAgent::getProperties):

  • inspector/InspectorRuntimeAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorStyleSheet::canBind):

  • inspector/InspectorStyleTextEditor.cpp:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
(WebCore::InspectorTimelineAgent::setDOMCounters):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::sendEvent):

  • inspector/InspectorTimelineAgent.h:

(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):

  • inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.

(WebCore::InspectorAgentBase::InspectorAgentBase):

  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):

  • inspector/InspectorWorkerAgent.h:
  • inspector/InstrumentingAgents.cpp:
  • inspector/NetworkResourcesData.cpp:
  • inspector/PageConsoleAgent.cpp:

(WebCore::InspectableNode::get):

  • inspector/PageDebuggerAgent.cpp:
  • inspector/PageDebuggerAgent.h:
  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):

  • inspector/PageRuntimeAgent.h:
  • inspector/ScriptArguments.cpp:

(WebCore::ScriptArguments::create):
(WebCore::ScriptArguments::ScriptArguments):
(WebCore::ScriptArguments::argumentAt):
(WebCore::ScriptArguments::getFirstArgumentAsString):

  • inspector/ScriptArguments.h:
  • inspector/ScriptCallFrame.cpp:

(WebCore::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(WebCore::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/ScriptDebugListener.h:
  • inspector/TimelineRecordFactory.cpp:
  • inspector/TimelineRecordFactory.h:

(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):

  • inspector/WorkerConsoleAgent.cpp:
  • inspector/WorkerDebuggerAgent.cpp:
  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerInspectorController.h:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):

  • inspector/WorkerRuntimeAgent.h:
  • page/Console.cpp:
  • page/ContentSecurityPolicy.cpp:
  • page/Frame.cpp:
  • page/PageConsole.cpp:
  • plugins/PluginView.cpp:

(WebCore::PluginView::performRequest):

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):

  • testing/Internals.h:
  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::createConnectEvent):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::importScripts):

  • workers/WorkerThread.cpp:
  • xml/XMLTreeViewer.cpp:
  • xml/parser/XMLDocumentParser.cpp:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • ewk/ewk_frame.cpp:

Source/WebKit/gtk:

  • webkit/webkitwebview.cpp:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
  • WebCoreSupport/WebInspectorClient.mm:
  • WebView/WebFrame.mm:
  • WebView/WebView.mm:

Source/WebKit/win:

  • WebFrame.cpp:
  • WebView.cpp:

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performJavaScriptURLRequest):

  • WebProcess/WebPage/WebInspector.cpp:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebPage.cpp:
2:31 PM Changeset in webkit [160456] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Store SHA1 hash in std::array
https://bugs.webkit.org/show_bug.cgi?id=125446

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-11
Reviewed by Darin Adler.

Change Vector to std::array and use typedef.

Source/JavaScriptCore:

  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::CodeBlockHash):

Source/WebCore:

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::createDigest):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::HostTLSCertificateSet::computeCertificateHash):

Source/WTF:

  • wtf/SHA1.cpp:

(WTF::SHA1::computeHash):
(WTF::SHA1::hexDigest):
(WTF::SHA1::computeHexDigest):

  • wtf/SHA1.h:
2:13 PM Changeset in webkit [160455] by ap@apple.com
  • 13 edits
    9 adds in trunk

WebCrypto keys should support structured clone
https://bugs.webkit.org/show_bug.cgi?id=125590

Reviewed by Oliver Hunt.

Source/WebCore:

Tests: crypto/subtle/aes-postMessage.html

crypto/subtle/hmac-postMessage.html
crypto/subtle/postMessage-worker.html
crypto/subtle/rsa-postMessage.html

  • crypto/CryptoAlgorithmIdentifier.h:

(WebCore::CryptoAlgorithmIdentifier):

  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
adding a matching enum for structired clone serialization, it's as good a time as
any to update the order of values to match.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::countUsages):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::read):
(WebCore::CloneDeserializer::readHMACKey):
(WebCore::CloneDeserializer::readAESKey):
(WebCore::CloneDeserializer::readRSAKey):
(WebCore::CloneDeserializer::readCryptoKey):
(WebCore::CloneDeserializer::readTerminal):
Added serialization/deserialization for CryptoKey. This doesn't update version
number, because we don't currently store structured clones in persistent storage -
and even if we did, we wouldn't want to invalidate everything users already stored.

  • crypto/CryptoAlgorithmRegistry.cpp:

(WebCore::CryptoAlgorithmRegistry::shared):
(WebCore::registryMutex):
(WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
(WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
(WebCore::CryptoAlgorithmRegistry::create):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):

  • crypto/CryptoKey.idl:

With structured clone, it is now possible to send a Key to a web worker. That's
of no practical use because the crypto API is not exposed in workers, but we
shouldn't crash anyway.

  • crypto/keys/CryptoKeyAES.cpp:

(WebCore::CryptoKeyAES::CryptoKeyAES):
(WebCore::CryptoKeyAES::isValidAESAlgorithm):

  • crypto/keys/CryptoKeyAES.h:

Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
will assert.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/WebCoreCommon.props:

Added crypto/keys to search paths to avoid build breakage.

LayoutTests:

  • crypto/subtle/aes-postMessage-expected.txt: Added.
  • crypto/subtle/aes-postMessage.html: Added.
  • crypto/subtle/hmac-postMessage-expected.txt: Added.
  • crypto/subtle/hmac-postMessage.html: Added.
  • crypto/subtle/postMessage-worker-expected.txt: Added.
  • crypto/subtle/postMessage-worker.html: Added.
  • crypto/subtle/rsa-postMessage-expected.txt: Added.
  • crypto/subtle/rsa-postMessage.html: Added.
  • crypto/subtle/resources/postMessage-worker.js: Added.
2:13 PM Changeset in webkit [160454] by mrowe@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/125141> Modernize the JavaScriptCore API headers
<rdar://problem/15540121>

This consists of three main changes:
1) Converting the return type of initializer methods to instancetype.
2) Declaring properties rather than getters and setters.
3) Tagging C API methods with information about their memory management semantics.

Changing the declarations from getters and setters to properties also required
updating the headerdoc in a number of places.

Reviewed by Anders Carlsson.

  • API/JSContext.h:
  • API/JSContext.mm:
  • API/JSManagedValue.h:
  • API/JSManagedValue.mm:
  • API/JSStringRefCF.h:
  • API/JSValue.h:
  • API/JSVirtualMachine.h:
  • API/JSVirtualMachine.mm:
2:06 PM Changeset in webkit [160453] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Give Unique StringImpls a meaningful data pointer
https://bugs.webkit.org/show_bug.cgi?id=125598

Reviewed by Michael Saboff.

Found by code inspection. If there is a collision in an Identifier
table when comparing to a string literal we attempt to use the data
pointer (essentially this ends up being a null termination check).

Previously unique pointers just used the literal 1 as the data address
but this obviously fails when dereferenced. Instead we now make the
data pointer point to the location of the buffer pointer itself. As
the buffer pointer is initialised to 0, this satisfies the requirement
that the 0-length unique string is null terminated.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):

2:06 PM Changeset in webkit [160452] by mrowe@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/125559> Move JavaScriptCore off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit over
using the system availability macros directly. The original vision was that they'd serve
a cross-platform purpose but that never came to be.

Map from WebKit version to OS X version based on the mapping in WebKitAvailability.h.
All iOS versions are specified as 7.0 as that is when the JavaScriptCore C API was made
public.

Part of <rdar://problem/15512304>.

Reviewed by Anders Carlsson.

  • API/JSBasePrivate.h:
  • API/JSContextRef.h:
  • API/JSContextRefPrivate.h:
  • API/JSObjectRef.h:
  • API/JSValueRef.h:
1:33 PM Changeset in webkit [160451] by betravis@adobe.com
  • 14 edits
    2 adds in trunk

Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
https://bugs.webkit.org/show_bug.cgi?id=125175

Reviewed by Darin Adler.

Source/WebCore:

In addition to highlighting the shape, also highlight the shape created
by shape-margin with a slightly more transparent color. This patch modifies
the shape info passed to the Inspector Overlay to include a path for both
the raw shape and the shape with margin.

Test: inspector-protocol/model/highlight-shape-outside-margin.html

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
Shape::buildPath, and pass along any relevant paths to the Inspector overlay.

  • inspector/InspectorOverlayPage.js:

(_drawShapeHighlight): Draw the margin shape in addition to the raw shape.

  • rendering/shapes/BoxShape.cpp:

(WebCore::addRoundedRect): Add a rounded rect to the path.
(WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.

  • rendering/shapes/BoxShape.h:
  • rendering/shapes/PolygonShape.cpp:

(WebCore::addPolygon): Add a set of vertices as a polygon to the path.
(WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.

  • rendering/shapes/PolygonShape.h:
  • rendering/shapes/RasterShape.h:

(WebCore::RasterShape::buildDisplayPaths): Ditto.

  • rendering/shapes/RectangleShape.cpp:

(WebCore::RectangleShape::buildDisplayPaths): Ditto.

  • rendering/shapes/RectangleShape.h:
  • rendering/shapes/Shape.h:

LayoutTests:

Test that the shape and margin-shape are properly passed to the Inspector Overlay.
Arcs for rounded rectangles, circles, and ellipses are approximated using the same
bezier curve method present in Path.cpp.

  • inspector-protocol/model/highlight-shape-outside-margin.html: Added.
  • inspector-protocol/model/highlight-shape-outside.html: Updating shape-outside info model.
  • inspector-protocol/resources/shape-info-helper.js: Adding utilities to compare alternate path formats.
12:18 PM WebKitGTK/Debugging edited by berto@igalia.com
Fix typo (diff)
12:16 PM WebKitGTK/Debugging edited by berto@igalia.com
How to debug the web and network processes in WebKitGTK+ (diff)
11:49 AM Changeset in webkit [160450] by mario.prada@samsung.com
  • 9 edits in trunk

[ATK] Expose accessibility objects WAI-ARIA landmark roles
https://bugs.webkit.org/show_bug.cgi?id=125584

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed accessibility objects with landmark roles with the proper
AtkRole, to be provided by the next stable release of ATK.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):
(atkRole):

Tools:

Add mappings to DRT & WKTR for landmark roles.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::role):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::role):

  • gtk/jhbuild.modules:

LayoutTests:

Update test to unskip landmark elements and update expectations.

  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/gtk/accessibility/roles-exposed.html:
11:18 AM Changeset in webkit [160449] by andersca@apple.com
  • 9 edits
    2 deletes in trunk/Source/WebKit2

Remove platform specific gunk from WebURLRequest and WebURLResponse
https://bugs.webkit.org/show_bug.cgi?id=125589

Reviewed by Andreas Kling.

  • Shared/API/c/WKURLRequest.cpp:

(WKURLRequestCopyURL):

  • Shared/API/c/mac/WKURLRequestNS.mm:

(WKURLRequestCopyNSURLRequest):

  • Shared/API/c/mac/WKURLResponseNS.mm:

(WKURLResponseCopyNSURLResponse):

  • Shared/WebURLRequest.cpp:
  • Shared/WebURLRequest.h:
  • Shared/WebURLResponse.h:
  • Shared/mac/WebURLRequestMac.mm: Removed.
  • Shared/mac/WebURLResponseMac.mm: Removed.
  • UIProcess/WebInspectorProxy.cpp:

(WebKit::isMainInspectorPage):

  • WebKit2.xcodeproj/project.pbxproj:
11:03 AM Changeset in webkit [160448] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Avoid double quotations when passing parameters to valgrind in gtk.py
https://bugs.webkit.org/show_bug.cgi?id=125441

Patch by Alejandro G. Castro <alex@igalia.com> on 2013-12-11
Reviewed by Martin Robinson.

Just avoid the double quotations when building the parameter
because some versions of valgrind are not handling it correctly.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server):

10:58 AM Changeset in webkit [160447] by mario.prada@samsung.com
  • 1 edit
    2 adds in trunk/LayoutTests

[ATK] Add new layout test to check ATK roles in a central place
https://bugs.webkit.org/show_bug.cgi?id=125525

Reviewed by Chris Fleizach.

New test added, with some skipped tests already present in
platform/mac/accessibility/role-subrole-roledescription.html (this
test is based in that one) as well as some issues specific to ATK
that have been reported in bugs, for traceability.

  • platform/gtk/accessibility/roles-exposed-expected.txt: Added.
  • platform/gtk/accessibility/roles-exposed.html: Added.
10:25 AM Changeset in webkit [160446] by zandobersek@gmail.com
  • 4 edits in trunk

[GTK] Enable Battery Status API
https://bugs.webkit.org/show_bug.cgi?id=125453

Reviewed by Martin Robinson.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Enable the Battery Status API feature for the GTK port.

LayoutTests:

  • platform/gtk/TestExpectations: Remove expectations for the Battery Status API layout tests

since all the tests pass now that the feature is enabled.

10:23 AM Changeset in webkit [160445] by zandobersek@gmail.com
  • 5 edits
    2 adds in trunk

[GTK][WK2] Add the WebKitBatteryProvider class
https://bugs.webkit.org/show_bug.cgi?id=115720

Reviewed by Martin Robinson.

Source/WebKit2:

This patch adds the WebKitBatteryProvider class which sets up a BatteryProviderUPower instance,
controlling the provider's activity when instrumented to do so by the WebBatteryManagerProxy
and relaying the battery status updates from the battery provider to the battery manager.

  • GNUmakefile.list.am: Add the build targets for the new source files.
  • UIProcess/API/gtk/WebKitBatteryProvider.cpp: Added.

(toBatteryProvider): A helper inline method that casts the client info to the battery provider instance.
(startUpdatingCallback): Relays the instruction to the WebKitBattery instance.
(stopUpdatingCallback): Ditto.
(WebKitBatteryProvider::create):
(WebKitBatteryProvider::WebKitBatteryProvider): Set up a WKBatteryProvider and set it to the passed-in battery manager.
(WebKitBatteryProvider::~WebKitBatteryProvider): Force the BatteryProviderUPower to stop updating.
(WebKitBatteryProvider::startUpdating): Relays the instruction to the BatteryProviderUPower instance.
(WebKitBatteryProvider::stopUpdating): Ditto.
(WebKitBatteryProvider::notifyBatteryStatusUnavailable): Update the battery manager with the new status that
has the default values that are to be used when the implementation cannot determine the battery status (as per
the Battery Status API specification).
(WebKitBatteryProvider::notifyBatteryStatusUpdated): Update the battery status.

  • UIProcess/API/gtk/WebKitBatteryProvider.h: Added.

(WebKitBatteryProvider): Define the WebKitBatteryProvider reference-counted interface that also inherits from the
BatteryProviderUPowerClient interface.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(_WebKitWebContextPrivate): Add a WebKitBatteryProvider member variable to the struct.
(createDefaultWebContext): Create a new battery provider when initializing the default web context.

Tools:

  • gtk/generate-gtkdoc:

(get_webkit2_options): Ignore the WebKitBatteryProvider source files when generating the documentation.

10:16 AM Changeset in webkit [160444] by zandobersek@gmail.com
  • 8 edits
    4 adds in trunk/Source

[GTK] Add a UPower-based BatteryProvider
https://bugs.webkit.org/show_bug.cgi?id=115719

Reviewed by Martin Robinson.

Source/Platform:

  • GNUmakefile.am: Add the Source/WebCore/platform/glib directory to the list of directories searched

for header inclusion. Add the upower-glib dependency CFLAGS to the list of libPlatform's CPPFLAGS.

Source/WebCore:

Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
using the upower-glib library.

The BatteryProviderUPower creates a new UPower client when the provider should start emitting updates and hooks
up to device alteration signals. These only fire recalculation of the battery status when a battery device is altered.

When recalculating, every battery device is taken into account, accumulating the energy capacities when both empty
and full, the current rate of energy charging/discharging, and the battery status (whether the device is charging or
discharging). This gives a set of data that covers the overall battery status of the system.

This data is then used to calculate the battery status as perceived by the WebCore implementation. Charging is determined
by examining the integral sign of the current combined energy rate. Charging and discharging times are calculated, when
appropriate, by dividing the chargable/dischargable capacity with the current combined energy rate. The battery level is
calculated by dividing the current energy capacity with the full energy capacity (i.e. the combined capacity of all
the batteries that the system possesses). The status is (indirectly) passed onto BatteryManager by invoking the
updateBatteryStatus method on the client, with the first parameter representing the battery charging/discharging state,
the second parameter representing the time left until the battery is fully charged (when charging) or fully
depleted (when discharging), and the third parameter representing the current battery level.

Whenever the implementation cannot provide any information about the battery status of the system, the client's
updateBatteryStatus method is invoked with the first parameter reporting the unavailability of any information
about the battery status. The other two parameters can be omitted as they default to 0 when not given and are neither
available nor useful in such circumstances. The client should handle such an update by reporting the 'default' battery
status - charging, the battery level being at 1.0 and both the charging and discharging time having the value of
the positive infinity (as per the Battery Status API specification).

The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.

No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.

  • GNUmakefile.list.am: Add the BatteryProviderUPower(Client) build targets.
  • platform/glib/BatteryProviderUPower.cpp: Added.

(powerDeviceAlterationCallback):
(BatteryProviderUPower::BatteryProviderUPower):
(BatteryProviderUPower::startUpdating):
(BatteryProviderUPower::stopUpdating):
(BatteryProviderUPower::updateBatteryStatus):

  • platform/glib/BatteryProviderUPower.h: Added.

(WebCore):
(BatteryProviderUPower):

  • platform/glib/BatteryProviderUPowerClient.h: Added.

(WebCore):
(BatteryProviderUPowerClient):

Source/WebKit/gtk:

  • GNUmakefile.am: Link the libwebkigtk library against the upower-glib library.

Source/WebKit2:

  • GNUmakefile.am: Link the libwebkit2gtk library against the upower-glib library.
10:05 AM Changeset in webkit [160443] by matthew_hanson@apple.com
  • 1 edit in branches/safari-537.74-branch/Tools/Scripts/webkitdirs.pm

Merge 157303: <rdar://problem/15498872>.

10:01 AM Changeset in webkit [160442] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/JavaScriptCore

Merge 156934: <rdar://problem/15498872>.

9:53 AM Changeset in webkit [160441] by commit-queue@webkit.org
  • 4 edits in trunk

Arithmetic overflow when computing max-height CSS property with subpixel layout
https://bugs.webkit.org/show_bug.cgi?id=119273

Patch by Javier Fernandez <jfernandez@igalia.com> on 2013-12-11
Reviewed by Martin Robinson.

Enabled SATURATED_LAYOUT_ARITHMETIC for the gtk+ port.

.:

  • Source/autotools/SetupWebKitFeatures.m4:

LayoutTests:

  • platform/gtk/TestExpectations: Removed failure expectation for autoheight-correct-region-for-lines-2.html
9:53 AM Changeset in webkit [160440] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Tools

Merge 154368: <rdar://problem/15498872>.

9:49 AM Changeset in webkit [160439] by mrowe@apple.com
  • 4 edits
    1 delete in trunk/Tools

<https://webkit.org/b/125563> Remove the DumpRenderTree Perl Support module

Now that old-run-webkit-tests is not used on OS X it's not worth the time and effort
to build and maintain this custom Perl module.

Reviewed by Anders Carlsson.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Remove the target.
  • DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c: Removed.
  • DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportPregenerated.pm: Removed.
  • DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c: Removed.
  • DumpRenderTree/mac/PerlSupport/Makefile: Removed.
  • Scripts/old-run-webkit-tests: Update a comment that referred to DumpRenderTreeSupport as a reason to

build DumpRenderTree.
(dumpToolDidCrash): Stop importing and using the module.

  • Scripts/webkitpy/port/base.py:

(Port._build_driver): Update a comment in the same manner as in old-run-webkit-tests.

9:47 AM Changeset in webkit [160438] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit

<https://webkit.org/b/125562> Remove a Leopard-specific check from WebKit.xcodeproj

Reviewed by Anders Carlsson.

  • WebKit.xcodeproj/project.pbxproj:
8:46 AM Changeset in webkit [160437] by zandobersek@gmail.com
  • 3 edits
    2 adds in trunk/Source/WebKit/gtk

[GTK][WK1] Add an empty BatteryClientGtk
https://bugs.webkit.org/show_bug.cgi?id=115628

Reviewed by Martin Robinson.

Add an empty BatteryClientGtk, implementing the WebCore's BatteryClient interface.
The implementation is left empty intentionally as the WebKit1 port is now in maintenance
mode and there's no desire to support new features under it. It's still required as the
WebCore implementation of the Battery Status API expects an existing BatteryClient, even
if the latter does not set up a provider that would then serve information about the battery
state.

  • GNUmakefile.am: Add the BatteryClientGtk source files to the build.
  • WebCoreSupport/BatteryClientGtk.cpp: Added.

(WebKit):
(WebKit::BatteryClientGtk::BatteryClientGtk):
(WebKit::BatteryClientGtk::startUpdating):
(WebKit::BatteryClientGtk::stopUpdating):
(WebKit::BatteryClientGtk::batteryControllerDestroyed):

  • WebCoreSupport/BatteryClientGtk.h: Added.

(WebKit):
(BatteryClientGtk):

  • webkit/webkitwebview.cpp:

(webkit_web_view_init): Set up the BatteryClientGtk for the new WebCore::Page object.

8:43 AM Changeset in webkit [160436] by commit-queue@webkit.org
  • 7 edits in trunk

Improving createOffer and createAnswer LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=125568

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-11
Reviewed by Philippe Normand.

The constraints parameter should be optional in both. Also adding tests to check if we already have a local SDP
when creating an answer.

Source/WebCore:

Existing tests were updated.

  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::createOffer):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createAnswer.html:
  • fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createOffer.html:
8:40 AM Changeset in webkit [160435] by Gustavo Noronha Silva
  • 7 edits in trunk/Source/WebKit2

[GTK] Support right-side attachment of the inspector
https://bugs.webkit.org/show_bug.cgi?id=124126

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/C/gtk/WKInspectorClientGtk.h: add changed attached width callback.
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseAddWebInspector): take attachment side parameter into account when adding the
inspector view.
(webkitWebViewBaseContainerRemove): renamed inspectorViewHeight to inspectorViewSize.
(resizeWebKitWebViewBaseFromAllocation): take attachment side into account when allocating the
sizes for the inspector view and the inspected view.
(webkitWebViewBaseSetInspectorViewSize): renamed from webkitWebViewBaseSetInspectorViewHeight.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/WebInspectorClientGtk.cpp:

(WebKit::WebInspectorClientGtk::didChangeAttachedWidth): notify client that view width has changed.

  • UIProcess/gtk/WebInspectorClientGtk.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformAttach): use attachment side for setting the default size
for the inspector view.
(WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): use the new generic SetInspectorViewSize.
(WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): allow setting the inspector view width.

8:28 AM Changeset in webkit [160434] by commit-queue@webkit.org
  • 13 edits in trunk

[GTK] Add "enable-mediasource" property to WebKitWebSettings
https://bugs.webkit.org/show_bug.cgi?id=125566

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-11
Reviewed by Philippe Normand.

Source/WebKit/gtk:

  • tests/testwebsettings.c:

(test_webkit_web_settings_copy):

  • webkit/webkitwebsettings.cpp:

(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):

  • webkit/webkitwebsettingsprivate.h:
  • webkit/webkitwebview.cpp:

(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

Source/WebKit2:

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_mediasource):
(webkit_settings_set_enable_mediasource):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings):

Tools:

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Turn MediaSource on by default for easier testing.

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:

(TestRunner::overridePreference): Allow overriding WebKitMediaSourceEnabled.

8:16 AM Changeset in webkit [160433] by mitz@apple.com
  • 2 edits in trunk/Tools

[Mac] Observe the activeURL property to keep the MiniBrowser URL field up to date
https://bugs.webkit.org/show_bug.cgi?id=125579

Reviewed by Anders Carlsson.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController dealloc]): Stop observing the activeURL property.
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]): When the
activeURL property changes, update the URL field with its value.
(-[WK2BrowserWindowController awakeFromNib]): Start observing the activeURL property.
(-[WK2BrowserWindowController browsingContextControllerDidStartProvisionalLoad:]): Just log.
(-[WK2BrowserWindowController browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:]):
Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailProvisionalLoadWithError:]):
Ditto.
(-[WK2BrowserWindowController browsingContextControllerDidCommitLoad:]): Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailLoadWithError:]): Ditto.

8:10 AM Changeset in webkit [160432] by Michał Pakuła vel Rutka
  • 8 edits in trunk/Source

Source/WebCore: [EFL] Fix build with CONTEXT_MENUS flag set OFF
https://bugs.webkit.org/show_bug.cgi?id=125572

Reviewed by Gyuyoung Kim.

dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
thus its definition in InspectorFrontendHost should not be guarded by this flag.

No new tests, no behaviour change.

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):

Source/WebKit2: [EFL] Fix build with CONTEXT_MENUS flag set OFF
https:///bugs.webkit.org/show_bug.cgi?id=125572

Reviewed by Gyuyoung Kim.

Fix EFL build by adding necessary guard, also UNUSED_PARAM macros where added.

  • Shared/API/c/WKContextMenuItem.cpp: Added UNUSED_PARAM macros.

(WKContextMenuItemCreateAsAction):
(WKContextMenuItemCreateAsCheckableAction):
(WKContextMenuItemCreateAsSubmenu):
(WKContextMenuItemGetTag):
(WKContextMenuItemGetType):
(WKContextMenuItemCopyTitle):
(WKContextMenuItemGetEnabled):
(WKContextMenuItemGetChecked):
(WKContextMenuCopySubmenuItems):
(WKContextMenuItemGetUserData):
(WKContextMenuItemSetUserData):

  • UIProcess/API/C/WKPage.cpp: Ditto.

(WKPageSetPageContextMenuClient):
(WKPageSelectContextMenuItem):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Ditto.

(WKBundlePageSetContextMenuClient):
(WKBundlePageClickMenuItem):
(WKBundlePageCopyContextMenuItems):
(WKBundlePageCopyContextMenuAtPointInWindow)

  • UIProcess/efl/WebViewEfl.cpp: Guard createContextMenuProxy method.
  • UIProcess/efl/WebViewEfl.h: Ditto.
7:42 AM Changeset in webkit [160431] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing ref-tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
7:34 AM Changeset in webkit [160430] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[CURL] Build fails after r160386.
https://bugs.webkit.org/show_bug.cgi?id=125571

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-11
Reviewed by Zoltan Herczeg.

Need no new tests.

Fix a typo in commit r160386 that prevents building with curl.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::generateBaseFilename):

5:38 AM Changeset in webkit [160429] by rwlbuis@webkit.org
  • 6 edits in trunk

[CSS Shapes] Take into account fill-rule for polygon interpolation
https://bugs.webkit.org/show_bug.cgi?id=125508

Reviewed by Dirk Schulze.

Source/WebCore:

Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.

Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend):

LayoutTests:

Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html so it also tests polygon animation
when using different fill rules.

  • animations/resources/animation-test-helpers.js:

(parseBasicShape): also allow evenodd when parsing the polygon

  • fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
  • fast/shapes/shape-outside-floats/shape-outside-animation.html:
4:42 AM Changeset in webkit [160428] by Lucas Forschler
  • 3 edits in branches/safari-537.74-branch/Source/WebKit2

Merged r160197. <rdar://problem/15614679>

4:29 AM Changeset in webkit [160427] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit/win

Merged r160184. <rdar://problem/15611608>

4:26 AM Changeset in webkit [160426] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit

Merged r160118. <rdar://problem/15566844>

4:22 AM Changeset in webkit [160425] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit

Merged r160017. <rdar://problem/15566844>

4:14 AM Changeset in webkit [160424] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebCore

Merged r159691. <rdar://problem/15560410>

4:12 AM Changeset in webkit [160423] by Lucas Forschler
  • 14 edits
    2 copies in branches/safari-537.74-branch

Merged r159460. <rdar://problem/15517467>

4:00 AM Changeset in webkit [160422] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r159328. <rdar://problem/15560414>

3:58 AM Changeset in webkit [160421] by Lucas Forschler
  • 5 edits in branches/safari-537.74-branch/Source/WebKit2

Merged r159173. <rdar://problem/15474120>

3:34 AM Changeset in webkit [160420] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Source/WebKit/mac

Merged r157279. <rdar://problem/15560450>

2:54 AM Changeset in webkit [160419] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fixed test-wepkitpy logging for buildslaves
https://bugs.webkit.org/show_bug.cgi?id=125445

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-11
Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunPythonTests):

2:51 AM Changeset in webkit [160418] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Test results of postMessage-clone-port-error.html test are broken
https://bugs.webkit.org/show_bug.cgi?id=125487

Patch by Michal Poteralski <m.poteralski@samsung.com> on 2013-12-11
Reviewed by Alexey Proskuryakov.

Improved Layout test checks correctness of value thrown by postMessage:

  • fast/dom/Window/postMessage-clone-port-error-expected.txt:
  • fast/dom/Window/postMessage-clone-port-error.html:
2:28 AM Changeset in webkit [160417] by mario.prada@samsung.com
  • 13 edits
    2 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: Added new enumeration to know

when we are detaching a wrapper because of the cache or the
element is being destroyed, so we can use that information.
(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.

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.
2:00 AM Changeset in webkit [160416] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][Soup] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125557

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-11
Reviewed by Carlos Garcia Campos.

Do what WebProcess::allowSpecificHTTPSCertificateForHost does.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):

1:45 AM Changeset in webkit [160415] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r160389): SVG test assertion extravaganza.

Unreviewed. Use getAttribute() instead of fastGetAttribute() for
the "type" attribute since it's animatable on SVG elements.

1:27 AM Changeset in webkit [160414] by mrowe@apple.com
  • 26 edits in trunk

<https://webkit.org/b/125139> Modernize the WebKit API headers
<rdar://problem/15540175>

Source/WebKit/mac:

This consists of three main changes:
1) Converting the return type of initializer methods to instancetype.
2) Declaring properties rather than getters and setters.
3) Declaring explicitly sized enums.

Changing the declarations from getters and setters to properties also required
updating the headerdoc in a number of places.

Reviewed by Anders Carlsson.

  • DOM/WebDOMOperations.h:
  • History/WebBackForwardList.h:
  • History/WebHistory.h:
  • History/WebHistoryItem.h:
  • History/WebHistoryItem.mm:
  • Plugins/WebPlugin.h:
  • Plugins/WebPluginContainer.h:
  • WebView/WebArchive.h:
  • WebView/WebArchive.mm:
  • WebView/WebDataSource.h:
  • WebView/WebDataSource.mm:
  • WebView/WebEditingDelegate.h:
  • WebView/WebFrame.h:
  • WebView/WebFrame.mm:
  • WebView/WebFrameView.h:
  • WebView/WebPolicyDelegate.h:
  • WebView/WebPreferences.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences cacheModel]): Cast to the enum.

  • WebView/WebResource.h:
  • WebView/WebResource.mm:
  • WebView/WebUIDelegate.h:
  • WebView/WebView.h:
  • WebView/WebView.mm:

(+[WebView _didSetCacheModel]): Fix the return type.

Tools:

Reviewed by Anders Carlsson.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setCacheModel): Cast to the enum type.

12:31 AM Changeset in webkit [160413] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Set m_nextBreakablePosition as private in InlineIterator, and use it.
https://bugs.webkit.org/show_bug.cgi?id=125482

Reviewed by Andreas Kling.

InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
This patch set it as private, and add getter/setter functions for it.

No new tests, no behavior changes.

  • rendering/InlineIterator.h:

(WebCore::InlineIterator::InlineIterator):
(WebCore::InlineIterator::nextBreakablePosition):
(WebCore::InlineIterator::setNextBreakablePosition):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleText):

Dec 10, 2013:

11:25 PM Changeset in webkit [160412] by mrowe@apple.com
  • 4 edits in trunk/Source

<http://webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly
<rdar://problem/15634192>

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • WebView/WebView.mm:

(createUserVisibleWebKitVersionString): Strip as many leading digits as is necessary to
bring the major component of the version down to 3 digits.

Source/WebKit2:

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::userVisibleWebKitVersionString): Strip as many leading digits as is necessary to
bring the major component of the version down to 3 digits.

10:50 PM Changeset in webkit [160411] by fpizlo@apple.com
  • 10 edits
    2 adds in trunk

Get rid of forward exit on DoubleAsInt32
https://bugs.webkit.org/show_bug.cgi?id=125552

PerformanceTests/SunSpider:

Reviewed by Oliver Hunt.

Use SunSpider as a kind of spot-check for the
no-architecture-specific-optimization paths in the compiler.

  • no-architecture-specific-optimizations.yaml: Added.

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The forward exit was just there so that we wouldn't have to keep the inputs alive up to
the DoubleAsInt32. That's dumb. Forward exits are a complicated piece of machinery and
we shouldn't have it just for a bit of liveness micro-optimization.

Also add a bunch of machinery to test this case on X86.

  • assembler/AbstractMacroAssembler.h:

(JSC::optimizeForARMv7s):
(JSC::optimizeForARM64):
(JSC::optimizeForX86):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):

  • runtime/Options.h:
  • tests/stress/double-as-int32.js: Added.

(foo):
(test):

Tools:

Reviewed by Oliver Hunt.

Add some support for testing the generic (non-X86) paths on X86 by disabling
architecture-specific optimizations (ASO's).

  • Scripts/run-javascriptcore-tests:
  • Scripts/run-jsc-stress-tests:
9:57 PM Changeset in webkit [160410] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

top and bottom black background line not getting displayed
https://bugs.webkit.org/show_bug.cgi?id=21664

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-12-10
Reviewed by Simon Fraser.

Source/WebCore:

The table cell's background was not being displayed. Since the table
cell had no child correct offsetWidth was not being set even if table
width is being defined.

Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):
cellHasContent should also be set to true incase background color is
present.

LayoutTests:

  • fast/dom/HTMLTableElement/empy-table-cell-with-background-color-expected.txt: Added.
  • fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html: Added.

Added new test case to verify that table cell offsetWidth is set even
when it has no contents but has background color.

  • fast/table/auto-100-percent-width-expected.txt:
  • platform/mac/fast/table/empty-cells-expected.txt:
  • tables/mozilla/bugs/bug1818-6-expected.txt:

Rebaselining the existing test case as per the new changes. The new
dimension changes are as per mozilla behaviour. For
auto-100-percent-width-expected.txt we get 1 px red background because
if cellHasContent we set columnLayout's minLogicalWidth and
columnLayout's maxLogicalWidth as 1 initially even if cell is empty.

8:44 PM Changeset in webkit [160409] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix attempt after r160395 (second)

  • GNUmakefile.list.am:

Added new files for UserData, APIFrameHandle, APIGeometry and APIPageHandle.

8:16 PM Changeset in webkit [160408] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit2

Unreviewed GTK build fix attempt after r160395

Renamed WebUInt64 to API::UInt64, WebDouble to API::Double, WebBoolean
to API::Boolean.

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_get_snapshot):

  • UIProcess/API/gtk/WebKitWindowProperties.cpp: Included APINumber.h instead of WebNumber.h

(webkitWindowPropertiesUpdateFromWebWindowFeatures):

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

(didInitiateLoadForResource):
(willSendRequestForFrame):
(didReceiveResponseForResource):
(didReceiveContentLengthForResource):
(didFinishLoadForResource):
(didFailLoadForResource):
(webkitWebPageDidReceiveMessage):

6:10 PM Changeset in webkit [160407] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Simplify CSE's treatment of NodeRelevantToOSR
https://bugs.webkit.org/show_bug.cgi?id=125538

Reviewed by Oliver Hunt.

Make the NodeRelevantToOSR thing obvious: if there is any MovHint on a node then the
node is relevant to OSR.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::run):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::performBlockCSE):

6:08 PM Changeset in webkit [160406] by matthew_hanson@apple.com
  • 29 edits in branches/safari-537.74-branch/Source

Merge 154333: <rdar://problem/15498740>.

6:07 PM Changeset in webkit [160405] by mitz@apple.com
  • 6 edits in trunk/Source/WebKit2

All observable PageLoadState properties should change in an atomic fashion, with properly nested change notifications
https://bugs.webkit.org/show_bug.cgi?id=125431

Reviewed by Anders Carlsson.

Made PageLoadState maintain two copies of its state data members, one representing the
committed state and one possibly containing uncommitted changes. When changes are committed,
change notifications are sent and the uncommitted state is copied into the committed state.
Changes can be committed explicitly at any time, but are also committed when the last
outstanding transaction ends. Transactions are RAII objects vended by the PageLoadState.
Mutating the PageLoadState requires holding a Transaction, which is enforced by making all
the mutating member functions take a Transaction::Token. Passing a Token also marks the
PageLoadState as possibly having uncommitted changes.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

Added PageLoadStateObserver::{will,did}ChangeActiveURL overrides that call
-{will,did}ChangeValueForKey:.

  • UIProcess/PageLoadState.cpp:

Moved constant from the middle of the file to the beginning and reworded comment.
(WebKit::PageLoadState::PageLoadState): Added initializers for new member variables, removed
initialization of members that are not part of Data, which initializes them in its
constructor.
(WebKit::PageLoadState::endTransaction): Added. Calles when a Transaction is destructed.
Decrements the outstanding transaction count, and if it is zero, commits changes.
(WebKit::PageLoadState::commitChanges): Added. Checks for differences in observable
properties between the committed state and the uncommitted state, then makes appropriate
willChange Observer callbacks, then copies the uncommitted state into the committed state,
then makes appropriate didChange Observer callbacks in reverse order. Also added active URL
to the set of observable properties.
(WebKit::PageLoadState::reset): Changed to take a transaction token, act on
m_uncommittedState, and not make observer callbacks.
(WebKit::PageLoadState::isLoading): Changed to access m_committedState.
(WebKit::PageLoadState::activeURL): Changed to call a static function factored out of this.
(WebKit::PageLoadState::estimatedProgress): Ditto.
(WebKit::PageLoadState::pendingAPIRequestURL): Changed to access m_committedState.
(WebKit::PageLoadState::setPendingAPIRequestURL): Changed to take a transaction token, act
on m_uncommittedState, and not make observer callbacks.
(WebKit::PageLoadState::clearPendingAPIRequestURL): Ditto.
(WebKit::PageLoadState::didStartProvisionalLoad): Ditto.
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad): Ditto.
(WebKit::PageLoadState::didFailProvisionalLoad): Ditto.
(WebKit::PageLoadState::didCommitLoad): Ditto.
(WebKit::PageLoadState::didFinishLoad): Ditto.
(WebKit::PageLoadState::didFailLoad): Ditto.
(WebKit::PageLoadState::didSameDocumentNavigation): Ditto.
(WebKit::PageLoadState::setUnreachableURL): Ditto.
(WebKit::PageLoadState::title): Changed to access m_committedState.
(WebKit::PageLoadState::setTitle): Changed to take a transaction token, act on
m_uncommittedState, and not make observer callbacks.
(WebKit::PageLoadState::didStartProgress): Ditto.
(WebKit::PageLoadState::didChangeProgress): Ditto.
(WebKit::PageLoadState::didFinishProgress): Ditto.

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::Transaction::Transaction): Added. Calls
PageLoadState::beginTransaction.
(WebKit::PageLoadState::Transaction::~Transaction): Added. Calls
PageLoadState::endTransaction.
(WebKit::PageLoadState::Transaction::Token::Token): Added. Sets m_mayHaveUncommittedChanges.
(WebKit::PageLoadState::transaction): Added. Returns a Transaction for this PageLoadState.
(WebKit::PageLoadState::provisionalURL): Changed to access m_committedState.
(WebKit::PageLoadState::url): Ditto.
(WebKit::PageLoadState::unreachableURL): Ditto.
(WebKit::PageLoadState::beginTransaction): Added. Increments the outstanding transaction
count.
(WebKit::PageLoadState::Data::Data): Added. Moved internal state members into this struct
and made its constructor initialize state and estimatedProgress.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadURL): Changed to create a PageLoadState::Transaction and pass it
along.
(WebKit::WebPageProxy::loadURLRequest): Ditto.
(WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
(WebKit::WebPageProxy::reload): Ditto.
(WebKit::WebPageProxy::goForward): Ditto.
(WebKit::WebPageProxy::goBack): Ditto.
(WebKit::WebPageProxy::goToBackForwardItem): Ditto.
(WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
(WebKit::WebPageProxy::didStartProgress): Ditto. Also added a call to
PageLoadState::commitChanges before calling the client, so that the client sees the updated
state.
(WebKit::WebPageProxy::didChangeProgress): Ditto.
(WebKit::WebPageProxy::didFinishProgress): Ditto.
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Ditto.
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Ditto.
(WebKit::WebPageProxy::didCommitLoadForFrame): Ditto.
(WebKit::WebPageProxy::didFinishLoadForFrame): Ditto.
(WebKit::WebPageProxy::didFailLoadForFrame): Ditto.
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
(WebKit::WebPageProxy::didReceiveTitleForFrame): Ditto.
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Changed to create a
PageLoadState::Transaction and pass it along.
(WebKit::WebPageProxy::processDidCrash): Ditto. This addressed a FIXME about the client not
seeing the state prior to the crash, because now the changes cuased by reset() aren’t
committed until after the client callback.

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::restoreFromSessionStateData): Changed to create a
PageLoadState::Transaction and pass it along.

5:28 PM Changeset in webkit [160404] by ryuan.choi@samsung.com
  • 5 edits in trunk

Unreviewed EFL build fix attempt

Source/WebKit2:

  • CMakeLists.txt: Added APIGeometry.cpp to source lists.

Tools:

  • TestWebKitAPI/CMakeLists.txt: Added ${WEBKIT2_DIR}/Platform/CoreIPC to include lists.
  • WebKitTestRunner/CMakeLists.txt: Ditto.
5:25 PM Changeset in webkit [160403] by matthew_hanson@apple.com
  • 6 edits in branches/safari-537.74-branch/Source

Merge 152982: <rdar://problem/15498697>.

5:11 PM Changeset in webkit [160402] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r156928. <rdar://problem/15560412>

5:09 PM Changeset in webkit [160401] by Lucas Forschler
  • 2 edits in branches/safari-537.74-branch/Tools

Merged r156926. <rdar://problem/15560412>

5:08 PM Changeset in webkit [160400] by andersca@apple.com
  • 4 edits in trunk

Add a HashMap constructor that takes an initializer list
https://bugs.webkit.org/show_bug.cgi?id=125551

Reviewed by Dan Bernstein.

Source/WTF:

  • wtf/HashMap.h:

(WTF::HashMap::HashMap):

Tools:

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

5:01 PM Changeset in webkit [160399] by matthew_hanson@apple.com
  • 40 edits in branches/safari-537.74-branch

Merge 152921

4:59 PM Changeset in webkit [160398] by commit-queue@webkit.org
  • 1 edit
    1 move in trunk/LayoutTests

AX: Share accessibility/aria-hidden-negates-no-visibility.html expectation with other ports
https://bugs.webkit.org/show_bug.cgi?id=125495

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-12-10
Reviewed by Chris Fleizach.

Expectation of accessibility/aria-hidden-negates-no-visibility.html is the same for EFL and GTK.

  • accessibility/aria-hidden-negates-no-visibility-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-hidden-negates-no-visibility-expected.txt.
4:54 PM Changeset in webkit [160397] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Horizontal rubber-banding without a horizontal scrollbar is distracting
https://bugs.webkit.org/show_bug.cgi?id=125550

Reviewed by Simon Fraser.

Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only
rubber-band horizontally when there is a horizontal scrollbar.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):

4:38 PM Changeset in webkit [160396] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

Correct a preprocessor guard from a mis-merged patch

In r160367, I mismerged a patch from Gustavo Noronha. This commit
fixes the merge and thus fixes the CMake build.

  • html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
4:19 PM Changeset in webkit [160395] by andersca@apple.com
  • 22 edits in trunk/Source/WebKit2

Move number and geometry classes into the API namespace
https://bugs.webkit.org/show_bug.cgi?id=125549

Reviewed by Geoffrey Garen.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(-[WKRemoteObjectEncoder encodeBool:forKey:]):
(-[WKRemoteObjectEncoder encodeInt64:forKey:]):
(-[WKRemoteObjectEncoder encodeDouble:forKey:]):
(-[WKRemoteObjectDecoder decodeBoolForKey:]):
(-[WKRemoteObjectDecoder decodeInt64ForKey:]):
(-[WKRemoteObjectDecoder decodeDoubleForKey:]):

  • Shared/API/c/WKGeometry.cpp:

(WKSizeGetTypeID):
(WKPointGetTypeID):
(WKRectGetTypeID):
(WKPointCreate):
(WKSizeCreate):
(WKRectCreate):

  • Shared/API/c/WKNumber.cpp:

(WKBooleanGetTypeID):
(WKBooleanCreate):
(WKDoubleGetTypeID):
(WKDoubleCreate):
(WKUInt64GetTypeID):
(WKUInt64Create):

  • Shared/API/c/WKSharedAPICast.h:
  • Shared/APIGeometry.cpp:

(API::Point::encode):
(API::Point::decode):
(API::Size::encode):
(API::Size::decode):
(API::Rect::encode):
(API::Rect::decode):

  • Shared/APIGeometry.h:

(API::Size::create):
(API::Size::Size):
(API::Point::create):
(API::Point::Point):
(API::Rect::create):
(API::Rect::Rect):

  • Shared/APINumber.h:

(API::Number::create):
(API::Number::decode):
(API::Number::Number):

  • Shared/APIObject.h:
  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::getPluginModuleInformation):
(WebKit::createPluginInformationDictionary):

  • Shared/Plugins/Netscape/mac/PluginInformationMac.mm:

(WebKit::getPlatformPluginModuleInformation):

  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/UserMessageCoders.h:

(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):

  • UIProcess/Notifications/WebNotificationProvider.cpp:

(WebKit::WebNotificationProvider::clearNotifications):

  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable):

  • UIProcess/StatisticsRequest.cpp:

(WebKit::addToDictionaryFromHashMap):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFindStringMatches):

  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::createNewPage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::trackedRepaintRects):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

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

Get rid of forward exit in GetByVal on Uint32Array
https://bugs.webkit.org/show_bug.cgi?id=125543

Reviewed by Oliver Hunt.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetByVal):

3:30 PM Changeset in webkit [160393] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add encode and decode functions to WebNumber
https://bugs.webkit.org/show_bug.cgi?id=125547

Reviewed by Beth Dakin.

  • Shared/APINumber.h:

(WebKit::WebNumber::encode):
(WebKit::WebNumber::decode):

  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

3:27 PM Changeset in webkit [160392] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebKit2

[EFL] One more WK2 build fix
https://bugs.webkit.org/show_bug.cgi?id=125544

API::TypedObject has been renamed to API::ObjectImpl

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-10
Reviewed by Tim Horton.

  • Shared/WebBatteryStatus.h:
  • Shared/WebNetworkInfo.h:
  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/WebBatteryManagerProxy.h:
  • UIProcess/WebNetworkInfoManagerProxy.h:
  • UIProcess/WebTextChecker.h:
  • UIProcess/WebVibrationProxy.h:
  • UIProcess/WebViewportAttributes.h:
  • UIProcess/efl/WebPopupItemEfl.h:
  • UIProcess/soup/WebSoupRequestManagerProxy.h:
3:00 PM Changeset in webkit [160391] by andersca@apple.com
  • 12 edits
    1 move in trunk/Source/WebKit2

Rename WebNumber.h to APINumber.h
https://bugs.webkit.org/show_bug.cgi?id=125545

Reviewed by Beth Dakin.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:
  • Shared/API/c/WKNumber.cpp:
  • Shared/API/c/WKSharedAPICast.h:
  • Shared/APINumber.h: Renamed from Source/WebKit2/Shared/WebNumber.h.
  • Shared/Plugins/Netscape/PluginInformation.cpp:
  • Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
  • Shared/UserData.cpp:
  • Shared/UserMessageCoders.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:
  • UIProcess/Notifications/WebNotificationProvider.cpp:
  • UIProcess/WebUIClient.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
2:43 PM Changeset in webkit [160390] by andersca@apple.com
  • 2 adds in trunk/Source/WebKit2/Shared

Add files.

2:28 PM Changeset in webkit [160389] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Clean up SVGScriptElement
https://bugs.webkit.org/show_bug.cgi?id=125527

Patch by Rob Buis <rob.buis@samsung.com> on 2013-12-10
Reviewed by Sam Weinig.

Rewrite to not store type in m_type and also remove type getter/setter.

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::parseAttribute):
(WebCore::SVGScriptElement::typeAttributeValue):

  • svg/SVGScriptElement.h:
  • svg/SVGScriptElement.idl:
2:11 PM Changeset in webkit [160388] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source/WebKit2

UserData should handle geometry types
https://bugs.webkit.org/show_bug.cgi?id=125542

Reviewed by Andreas Kling.

Rename WebGeometry.h to APIGeometry.h in preparation for moving the classes into the API namespace.
Add encode/decode functions to geometry classes. Use them in UserData::encode and UserData::decode.

  • Shared/API/c/WKGeometry.cpp:
  • Shared/APIGeometry.cpp: Added.
  • Shared/APIGeometry.h: Renamed from Source/WebKit2/Shared/WebGeometry.h.

(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/UserMessageCoders.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:
1:51 PM Changeset in webkit [160387] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[MIPS] Redundant instructions in code generated from offlineasm.
https://bugs.webkit.org/show_bug.cgi?id=125528

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-12-10
Reviewed by Michael Saboff.

Optimize lowering of offlineasm BaseIndex Addresses.

  • offlineasm/mips.rb:
1:48 PM Changeset in webkit [160386] by commit-queue@webkit.org
  • 11 edits in trunk

Use std::array when computing MD5 checksum
https://bugs.webkit.org/show_bug.cgi?id=125509

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-10
Reviewed by Anders Carlsson.

Source/WebCore:

Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::generateBaseFilename):

Source/WTF:

Added MD5::Digest type and MD5::hashSize for computing MD5 checksum.

  • wtf/MD5.cpp:

(WTF::MD5::checksum):

  • wtf/MD5.h:

Tools:

Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.

  • DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp:

(computeMD5HashStringForBitmapContext):

  • DumpRenderTree/cairo/PixelDumpSupportCairo.cpp:

(computeMD5HashStringForBitmapContext):

  • TestWebKitAPI/Tests/WTF/MD5.cpp:

(TestWebKitAPI::expectMD5):

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::computeMD5HashStringForCairoSurface):

  • WebKitTestRunner/cg/TestInvocationCG.cpp:

(WTR::computeMD5HashStringForContext):

1:39 PM Changeset in webkit [160385] by Beth Dakin
  • 12 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=125533
BackgroundExtendsBeyondPage setting should be switchable per WKView
-and corresponding-
<rdar://problem/15571310>

Reviewed by Anders Carlsson.

This patch removes the WKPreferences API and adds WKPage API in its place. To
ensure that the setting sticks after a crash, it is also now a creation parameter.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetBackgroundExtendsBeyondPage):
(WKPageBackgroundExtendsBeyondPage):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKPreferences.cpp:
  • UIProcess/API/C/WKPreferencesPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setBackgroundExtendsBeyondPage):
(WebKit::WebPageProxy::backgroundExtendsBeyondPage):
(WebKit::WebPageProxy::initializeCreationParameters):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setBackgroundExtendsBeyondPage):
(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
1:28 PM Changeset in webkit [160384] by andersca@apple.com
  • 76 edits in trunk/Source/WebKit2

Rename API::TypedObject to API::ObjectImpl
https://bugs.webkit.org/show_bug.cgi?id=125539

Reviewed by Tim Horton.

All API::Objects are by definition typed, so ObjectImpl makes more sense as a name.

  • Shared/APIArray.h:
  • Shared/APIFrameHandle.h:
  • Shared/APIObject.h:

(API::ObjectImpl::~ObjectImpl):
(API::ObjectImpl::ObjectImpl):

  • Shared/APIPageHandle.h:
  • Shared/ImmutableDictionary.h:
  • Shared/WebArchive.h:
  • Shared/WebArchiveResource.h:
  • Shared/WebBackForwardListItem.h:
  • Shared/WebCertificateInfo.h:
  • Shared/WebConnection.h:
  • Shared/WebContextMenuItem.h:
  • Shared/WebData.h:
  • Shared/WebError.h:
  • Shared/WebGeolocationPosition.h:
  • Shared/WebGeometry.h:
  • Shared/WebHitTestResult.h:
  • Shared/WebImage.h:
  • Shared/WebNumber.h:
  • Shared/WebOpenPanelParameters.h:
  • Shared/WebRenderLayer.h:
  • Shared/WebRenderObject.h:
  • Shared/WebSecurityOrigin.h:
  • Shared/WebSerializedScriptValue.h:
  • Shared/WebString.h:
  • Shared/WebURL.h:
  • Shared/WebURLRequest.h:
  • Shared/WebURLResponse.h:
  • Shared/WebUserContentURLPattern.h:
  • Shared/mac/ObjCObjectGraph.h:
  • UIProcess/APINavigationData.h:
  • UIProcess/Authentication/AuthenticationChallengeProxy.h:
  • UIProcess/Authentication/AuthenticationDecisionListener.h:
  • UIProcess/Authentication/WebCredential.h:
  • UIProcess/Authentication/WebProtectionSpace.h:
  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/GeolocationPermissionRequestProxy.h:
  • UIProcess/Notifications/NotificationPermissionRequest.h:
  • UIProcess/Notifications/WebNotification.h:
  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/Plugins/WebPluginSiteDataManager.h:
  • UIProcess/WebApplicationCacheManagerProxy.h:
  • UIProcess/WebBackForwardList.h:
  • UIProcess/WebColorPickerResultListenerProxy.h:
  • UIProcess/WebContext.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebEditCommandProxy.h:
  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebGrammarDetail.h:
  • UIProcess/WebIconDatabase.h:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebKeyValueStorageManager.h:
  • UIProcess/WebMediaCacheManagerProxy.h:
  • UIProcess/WebOpenPanelResultListenerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebPageGroup.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPreferences.h:
  • UIProcess/WebResourceCacheManagerProxy.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
  • WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
  • WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
  • WebProcess/WebPage/PageBanner.h:
  • WebProcess/WebPage/PageOverlay.h:
  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPageGroupProxy.h:
1:19 PM Changeset in webkit [160383] by oliver@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Reduce the mass templatizing of the JS parser
https://bugs.webkit.org/show_bug.cgi?id=125535

Reviewed by Michael Saboff.

The various caches we have now have removed the need for many of
the template vs. regular parameters. This patch converts those
template parameters to regular parameters and updates the call
sites. This reduces the code size of the parser by around 15%.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):

  • parser/Parser.cpp:

(JSC::::parseInner):
(JSC::::parseSourceElements):
(JSC::::parseVarDeclarationList):
(JSC::::createBindingPattern):
(JSC::::tryParseDeconstructionPatternExpression):
(JSC::::parseDeconstructionPattern):
(JSC::::parseSwitchClauses):
(JSC::::parseSwitchDefaultClause):
(JSC::::parseBlockStatement):
(JSC::::parseFormalParameters):
(JSC::::parseFunctionInfo):
(JSC::::parseFunctionDeclaration):
(JSC::::parseProperty):
(JSC::::parseObjectLiteral):
(JSC::::parseStrictObjectLiteral):
(JSC::::parseMemberExpression):

  • parser/Parser.h:
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::createGetterOrSetterProperty):

1:10 PM Changeset in webkit [160382] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix WK2 build after r160341
https://bugs.webkit.org/show_bug.cgi?id=125529

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-10
Reviewed by Anders Carlsson.

  • CMakeLists.txt: Added new files UserData.cpp, APIFrameHandle.cpp and APIPageHandle.cpp.
1:07 PM Changeset in webkit [160381] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add more API object types to UserData
https://bugs.webkit.org/show_bug.cgi?id=125532

Reviewed by Beth Dakin.

  • Shared/UserData.cpp:

(WebKit::UserData::transform):
Handle dictionaries.

(WebKit::UserData::encode):
(WebKit::UserData::decode):
Handle more API::Objects.

12:12 PM Changeset in webkit [160380] by mario.prada@samsung.com
  • 9 edits in trunk

[ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
https://bugs.webkit.org/show_bug.cgi?id=125522

Reviewed by Chris Fleizach.

Source/WebCore:

Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

Tools:

Update strings representing ATK_ROLE_SEPARATOR for layout tests.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Update expected results in layout test for EFL and GTK.

  • platform/efl-wk1/accessibility/lists-expected.txt:
  • platform/efl-wk2/accessibility/lists-expected.txt:
  • platform/gtk/accessibility/lists-expected.txt:
12:11 PM Changeset in webkit [160379] by mario.prada@samsung.com
  • 4 edits in trunk

[ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
https://bugs.webkit.org/show_bug.cgi?id=125521

Reviewed by Chris Fleizach.

Source/WebCore:

Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
ATK_ROLE_ALERT instead.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

LayoutTests:

Update expected result in layout test.

  • accessibility/aria-mappings-expected.txt:
11:43 AM Changeset in webkit [160378] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

More UserData work
https://bugs.webkit.org/show_bug.cgi?id=125524

Reviewed by Dan Bernstein.

  • Shared/APIObject.h:
  • Shared/UserData.cpp:

(WebKit::UserData::transform):
New helper function that takes an API::Object and returns a new API::Object with all "sub-objects" (arrays etc)
transformed by calling the transformer.

  • Shared/UserData.h:

(WebKit::UserData::object):
New getter.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
Helper function that creates a new API::Object graph by converting WebFrameProxy objects to FrameHandles.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::apiObjectByConvertingFromHandles):
Helper function that creates a new API::Object graph by converting FrameHandles to WebFrame objects.

11:37 AM Changeset in webkit [160377] by mhahnenberg@apple.com
  • 8 edits
    1 add in trunk/Source/JavaScriptCore

ASSERT !heap.vm()->isInitializingObject() when finishing DFG compilation at beginning of GC
https://bugs.webkit.org/show_bug.cgi?id=125472

Reviewed by Geoff Garen.

This patch makes it look like it's okay to allocate so that the DFG plan finalization stuff
can do what it needs to do. We already expected that we might do allocation during plan
finalization and we increased the deferral depth to handle this, but we need to fix this other
ASSERT stuff too.

(JSC::Heap::collect):

  • heap/Heap.h:
  • heap/RecursiveAllocationScope.h: Added.

(JSC::RecursiveAllocationScope::RecursiveAllocationScope):
(JSC::RecursiveAllocationScope::~RecursiveAllocationScope):

  • runtime/VM.h:
11:29 AM Changeset in webkit [160376] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.74-branch/Source/WTF

Merge r159892

10:54 AM Changeset in webkit [160375] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
https://bugs.webkit.org/show_bug.cgi?id=125411

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-10
Reviewed by Philippe Normand.

No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).

  • platform/graphics/gstreamer/TextCombinerGStreamer.cpp:

(webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
(webkitTextCombinerPadEvent): Add locking.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
(WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
(WebCore::TrackPrivateBaseGStreamer::tagsChanged): Lookup the tags while we're in this callback, because it's the only time we can guarantee that the input-selector won't unref them.
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.
10:53 AM Changeset in webkit [160374] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

PageConsole::addMessage should automatically determine column number alongside line number
https://bugs.webkit.org/show_bug.cgi?id=114319

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-10
Reviewed by Joseph Pecoraro.

Source/WebCore:

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::ScriptElement):

  • dom/ScriptableDocumentParser.h:
  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged):

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::pumpPendingSpeculations):

  • html/parser/HTMLDocumentParser.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • page/Console.cpp:

(WebCore::internalAddMessage):

  • page/PageConsole.cpp:

(WebCore::PageConsole::printSourceURLAndPosition):
(WebCore::PageConsole::addMessage):

  • page/PageConsole.h:
  • xml/parser/XMLDocumentParser.h:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::error):

LayoutTests:

  • inspector-protocol/page/deny-X-FrameOption-expected.txt: Added.
  • inspector-protocol/page/deny-X-FrameOption.html: Added.
10:49 AM Changeset in webkit [160373] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

[WK2] [SOUP] Allow running the network process with an arbitrary prefix command
https://bugs.webkit.org/show_bug.cgi?id=125520

Reviewed by Carlos Garcia Campos.

Launch the network process using NETWORK_PROCESS_CMD_PREFIX as a
prefix. Useful for debugging the web process with gdb, valgrind,
etc.

  • UIProcess/Network/soup/NetworkProcessProxySoup.cpp:

(WebKit::NetworkProcessProxy::platformGetLaunchOptions):

9:47 AM Changeset in webkit [160372] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add --makeargs option to build-jsc
https://bugs.webkit.org/show_bug.cgi?id=125344

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-10
Reviewed by Filip Pizlo.

  • Scripts/build-jsc: Handle and pass makefile arguments in jsc build.
9:47 AM Changeset in webkit [160371] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Allow us to use network process with a single process model
https://bugs.webkit.org/show_bug.cgi?id=125507

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-10
Reviewed by Brady Eidson.

Currently, WebContext::sendToNetworkingProcess and
WebContext::sendToNetworkingProcessRelaunchingIfNecessary assume that
network process is not used when the given process model is
ProcessModelSharedSecondaryProcess. This is not consistent with
WebContext::networkingProcessConnection which returns the networking
process connection for ProcessModelSharedSecondaryProcess.

  • UIProcess/WebContext.h:

(WebKit::WebContext::sendToNetworkingProcess):
(WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):

8:50 AM Changeset in webkit [160370] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Jettison all StyleResolver data on memory pressure.
<https://webkit.org/b/125498>

The StyleResolver can be rebuilt relatively quickly; we already
have an optimization that discards it some time after last use.

If we find ourseles under serious memory pressure, don't wait for
the timer to kick in, throw everything overboard right away.

~5MB progression post-pressure on Membuster3.

Reviewed by Anders Carlsson.

8:47 AM Changeset in webkit [160369] by Michał Pakuła vel Rutka
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL build fix

  • CMakeLists.txt: Remove UIProcess/DrawingAreaProxy.cpp.
  • PlatformGTK.cmake: Add the file above.
8:43 AM Changeset in webkit [160368] by Martin Robinson
  • 3 edits in trunk/Source/WebKit2

[GTK] [CMake] Add support for building the WebKit injected bundle
https://bugs.webkit.org/show_bug.cgi?id=116373

Reviewed by Gustavo Noronha Silva.

  • PlatformGTK.cmake: Add support for building the InjectedBundle and link the WebKit2

shared library against the GObject DOM bindings.

  • WebProcess/gtk/WebGtkExtensionManager.h: Properly export symbols used by the InjectedBundle.
8:41 AM Changeset in webkit [160367] by Martin Robinson
  • 9 edits in trunk/Source/WebCore

[GTK] [CMake] Add support for building the DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=116375

Reviewed by Gustavo Noronha Silva.

The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
protect these attributes from DOM binding generation.

  • Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
  • Modules/battery/NavigatorBattery.idl: Ditto.
  • Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
  • Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
  • Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
  • PlatformGTK.cmake: Add build steps for building the bindings.
  • dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
  • html/HTMLMediaElement.idl: Ditto.
8:37 AM Changeset in webkit [160366] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure expectations for tests added in r157725.

  • platform/efl/TestExpectations:
7:44 AM Changeset in webkit [160365] by jdiggs@igalia.com
  • 6 edits
    22 adds in trunk

AX: [ATK] Convert the get_text atktest.c unit tests to layout tests
https://bugs.webkit.org/show_bug.cgi?id=125497

Reviewed by Mario Sanchez Prada.

Source/WebKit/gtk:

  • tests/testatk.c: Remove the portions of the remaining tests which now exist as

layout tests.
(testWebkitAtkCaretOffsets):
(testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces):
(testWebkitAtkComboBox):
(testWebkitAtkEmbeddedObjects):
(testWebkitAtkTextSelections):
(testWebkitAtkListsOfItems):
(main):

Tools:

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::stringForRange): Implemented.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::stringForRange): Implemented.

LayoutTests:

  • platform/gtk/accessibility/text-for-range-combo-box-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-combo-box.html: Added.
  • platform/gtk/accessibility/text-for-range-embedded-objects-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-embedded-objects.html: Added.
  • platform/gtk/accessibility/text-for-range-entry-and-password-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-entry-and-password.html: Added.
  • platform/gtk/accessibility/text-for-range-extraneous-whitespace-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-extraneous-whitespace.html: Added.
  • platform/gtk/accessibility/text-for-range-formatted-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-formatted.html: Added.
  • platform/gtk/accessibility/text-for-range-heading-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-heading.html: Added.
  • platform/gtk/accessibility/text-for-range-list-items-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-list-items.html: Added.
  • platform/gtk/accessibility/text-for-range-simple-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-simple.html: Added.
  • platform/gtk/accessibility/text-for-range-table-cells-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-table-cells.html: Added.
  • platform/gtk/accessibility/text-for-range-with-link-expected.txt: Added.
  • platform/gtk/accessibility/text-for-range-with-link.html: Added.
  • platform/gtk/accessibility/text-for-table-expected.txt: Added.
  • platform/gtk/accessibility/text-for-table.html: Added.
7:39 AM Changeset in webkit [160364] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][SOUP] WebContext::setIgnoreTLSErrors should send SetIgnoreTLSErrors to the network process when network process is enabled
https://bugs.webkit.org/show_bug.cgi?id=125505

Patch by Kwang Yul Seo <skyul@company100.net> on 2013-12-10
Reviewed by Carlos Garcia Campos.

This is a follow-up patch for r160355.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::setIgnoreTLSErrors):

7:23 AM Changeset in webkit [160363] by Martin Robinson
  • 3 edits in trunk/Source/WebKit2

Try to fix the EFL build

  • CMakeLists.txt: Remove DrawingAreaImpl.cpp from the global list.
  • PlatformGTK.cmake: Move it to the GTK+ specific list.
6:33 AM Changeset in webkit [160362] by commit-queue@webkit.org
  • 2 edits in trunk

[CMAKE] Remove code that disables C++0x compat warnings for gcc-4.6 and above.
https://bugs.webkit.org/show_bug.cgi?id=125492

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-10
Reviewed by Zoltan Herczeg.

Remove the code that disables these warnings for GCC >= 4.6.0

  • Source/cmake/WebKitHelpers.cmake:
6:32 AM Changeset in webkit [160361] by Martin Robinson
  • 12 edits in trunk

Various fixes for the CMake GTK+ build

Reviewed by Gustavo Noronha.

.:

  • Source/cmake/OptionsGTK.cmake: Disable Quota support to maintain consistency with

autotools build.

Source/WebCore:

  • PlatformGTK.cmake: Update source list.

Source/WebKit2:

  • CMakeLists.txt: Update the source lists.
  • PlatformGTK.cmake: Ditto.

Source/WTF:

  • wtf/PlatformGTK.cmake: Add Zlib library to the WTF build.

Tools:

  • MiniBrowser/gtk/CMakeLists.txt: Update source list and correct the name of BrowserMarshal.h.
  • TestWebKitAPI/PlatformGTK.cmake: Add GTK+ libraries to the test program. They're required.
6:31 AM Changeset in webkit [160360] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ATK] accessibility/alt-tag-on-image-with-nonimage-role.html is failing after r160311
https://bugs.webkit.org/show_bug.cgi?id=125504

Unreviewed ATK gardening.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-12-10

  • platform/efl/TestExpectations: Marked as failing.
  • platform/gtk/TestExpectations: Marked as failing.
6:31 AM Changeset in webkit [160359] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

--cloop option does not work in Tools/Scripts/build-jsc.
https://bugs.webkit.org/show_bug.cgi?id=125214

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-10
Reviewed by Csaba Osztrogonác.

  • Scripts/build-jsc:
5:49 AM WebKitGTK/2.2.x edited by Gustavo Noronha Silva
(diff)
5:06 AM Changeset in webkit [160358] by berto@igalia.com
  • 3 edits in trunk/Source/WebKit2

[WK2] [GTK] Enable the network process in the WebContext
https://bugs.webkit.org/show_bug.cgi?id=125494

Reviewed by Carlos Garcia Campos.

This should be initialized using the setUsesNetworkProcess() API.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

4:55 AM Changeset in webkit [160357] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure expectations for tests that started to fail after r154906.

  • platform/efl/TestExpectations:
4:44 AM Changeset in webkit [160356] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[nix][curl] Buildfix after r160310
https://bugs.webkit.org/show_bug.cgi?id=125489

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2013-12-10
Reviewed by Gustavo Noronha Silva.

Curl doesn't include soup files.

  • PlatformNix.cmake:
4:21 AM Changeset in webkit [160355] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[WK2][SOUP] initialise the Network Process with ignoreTLSErrors
https://bugs.webkit.org/show_bug.cgi?id=125490

ResourceHandleSoup in the Network Process and is not initialised with
a policy on ignoring TLS errors. This simply requires that the
appropriate message is created for the Network Process and the
parameter created for initialisation.

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-10
Reviewed by Gustavo Noronha Silva.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::setIgnoreTLSErrors):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/soup/WebContextSoup.cpp:

(WebKit::WebContext::platformInitializeNetworkProcess):

2:19 AM Changeset in webkit [160354] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebCore

[GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
https://bugs.webkit.org/show_bug.cgi?id=125444

Reviewed by Martin Robinson.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
(WebCore::standardUserAgent): ditto.

2:18 AM Changeset in webkit [160353] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Merge mark_for_landing and mark_for_commit_queue into one argument
https://bugs.webkit.org/show_bug.cgi?id=125448

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-10
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(CommitQueueFlag):
(Bugzilla._commit_queue_flag):
(Bugzilla._fill_attachment_form):
(Bugzilla.add_patch_to_bug):
(Bugzilla.create_bug):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:

(test_commit_queue_flag.assert_commit_queue_flag):
(test_commit_queue_flag):

2:07 AM Changeset in webkit [160352] by Gustavo Noronha Silva
  • 4 edits in trunk/Source/WebCore

[Soup] Send original encoded data size to didReceiveBuffer
https://bugs.webkit.org/show_bug.cgi?id=125410

Reviewed by Martin Robinson.

No tests, the only way to test this seems to be through the inspector UI.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
position.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
the first seekable input stream we find.
(WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
(WebCore::sendRequestCallback): store the position before we start reading the response body.
(WebCore::readCallback): pass the position delta to didReceiveData.

12:51 AM WebKitGTK/2.2.x edited by sergio@webkit.org
(diff)
12:36 AM WebKitGTK/2.2.x edited by sergio@webkit.org
(diff)

Dec 9, 2013:

11:19 PM Changeset in webkit [160351] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ctiNativeCallFallback and friends should renamed ...NativeTailCall
https://bugs.webkit.org/show_bug.cgi?id=125485

Not yet reviewed.

Changed ctiNativeCallFallback to ctiNativeTailCall and nativeCallFallbackGenerator
to nativeTailCallGenerator to be more descriptive of what is happening.

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeTailCall):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::nativeTailCallGenerator):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):
(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
10:54 PM Changeset in webkit [160350] by msaboff@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Fixed spelling errors in the ChangeLog entry for
CStack Branch: Fix baseline JIT for basic operation

9:57 PM Changeset in webkit [160349] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Clear out font width measurement caches on memory pressure.
<https://webkit.org/b/125481>

The data kept in WidthCaches can be regenerated on demand. Throwing
it away when we're under memory pressure buys us ~4MB on Membuster3.

Reviewed by Antti Koivisto.

9:52 PM Changeset in webkit [160348] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Impose and enforce some basic rules of sanity for where Phi functions are allowed to occur and where their (optional) corresponding MovHints can be
https://bugs.webkit.org/show_bug.cgi?id=125480

Reviewed by Geoffrey Garen.

Previously, if you wanted to insert some speculation right after where a value was
produced, you'd get super confused if that value was produced by a Phi node. You can't
necessarily insert speculations after a Phi node because Phi nodes appear in this
special sequence of Phis and MovHints that establish the OSR exit state for a block.
So, you'd probably want to search for the next place where it's safe to insert things.
We already do this "search for beginning of next bytecode instruction" search by
looking at the next node that has a different CodeOrigin. But this would be hard for a
Phi because those Phis and MovHints have basically random CodeOrigins and they can all
have different CodeOrigins.

This change imposes some sanity for this situation:

  • Phis must have unset CodeOrigins.
  • In each basic block, all nodes that have unset CodeOrigins must come before all nodes that have set CodeOrigins.

This all ends up working out just great because prior to this change we didn't have a
use for unset CodeOrigins. I think it's appropriate to make "unset CodeOrigin" mean
that we're in the prologue of a basic block.

It's interesting what this means for block merging, which we don't yet do in SSA.
Consider merging the edge A->B. One possibility is that the block merger is now
required to clean up Phi/Upsilons, and reascribe the MovHints to have the CodeOrigin of
the A's block terminal. But an answer that might be better is that the originless
nodes at the top of the B are just given the origin of the terminal and we keep the
Phis. That would require changing the above rules. We'll see how it goes, and what we
end up picking...

Overall, this special-things-at-the-top rule is analogous to what other SSA-based
compilers do. For example, LLVM has rules mandating that Phis appear at the top of a
block.

  • bytecode/CodeOrigin.cpp:

(JSC::CodeOrigin::dump):

  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::OSRExitBase):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::validateSSA):

7:24 PM Changeset in webkit [160347] by fpizlo@apple.com
  • 24 edits
    5 adds in trunk/Source/JavaScriptCore

Reveal array bounds checks in DFG IR
https://bugs.webkit.org/show_bug.cgi?id=125253

Reviewed by Oliver Hunt and Mark Hahnenberg.

In SSA mode, this reveals array bounds checks and the load of array length in DFG IR,
making this a candidate for LICM.

This also fixes a long-standing performance bug where the JSObject slow paths would
always create contiguous storage, rather than type-specialized storage, when doing a
"storage creating" storage, like:

var o = {};
o[0] = 42;

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):
(JSC::exitKindIsCountable):

  • bytecode/ExitKind.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::permitsBoundsCheckLowering):
(JSC::DFG::ArrayMode::permitsBoundsCheckLowering):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::lengthNeedsStorage):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSSALoweringPhase.cpp: Added.

(JSC::DFG::SSALoweringPhase::SSALoweringPhase):
(JSC::DFG::SSALoweringPhase::run):
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
(JSC::DFG::performSSALowering):

  • dfg/DFGSSALoweringPhase.h: Added.
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckInBounds):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::contiguousPutByValOutOfBounds):

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedForValue):
(JSC::JSObject::createInitialForValueAndSet):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):

  • runtime/JSObject.h:
  • tests/stress/float32array-out-of-bounds.js: Added.

(make):
(foo):
(test):

  • tests/stress/int32-object-out-of-bounds.js: Added.

(make):
(foo):
(test):

  • tests/stress/int32-out-of-bounds.js: Added.

(foo):
(test):

6:08 PM Changeset in webkit [160346] by weinig@apple.com
  • 6 edits
    1 delete in trunk/Source/WTF

Remove FixedArray
https://bugs.webkit.org/show_bug.cgi?id=125478

Reviewed by Anders Carlsson.

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FixedArray.h: Removed.
5:47 PM Changeset in webkit [160345] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove enabled() in InspectorRuntimeAgent.
https://bugs.webkit.org/show_bug.cgi?id=125476

Reviewed by Joseph Pecoraro.

Dead code. It's never called anywhere.

No new tests, no behavior change.

  • inspector/InspectorRuntimeAgent.h:
5:28 PM Changeset in webkit [160344] by weinig@apple.com
  • 24 edits in trunk/Source

Replace use of WTF::FixedArray with std::array
https://bugs.webkit.org/show_bug.cgi?id=125475

Reviewed by Anders Carlsson.

../JavaScriptCore:

  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::dump):

  • bytecode/Opcode.cpp:

(JSC::OpcodeStats::~OpcodeStats):

  • dfg/DFGCSEPhase.cpp:
  • ftl/FTLAbstractHeap.h:
  • heap/MarkedSpace.h:
  • parser/ParserArena.h:
  • runtime/CodeCache.h:
  • runtime/DateInstanceCache.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObject.h:
  • runtime/JSString.h:
  • runtime/LiteralParser.h:
  • runtime/NumericStrings.h:
  • runtime/RegExpCache.h:
  • runtime/SmallStrings.h:

../WebCore:

  • crypto/parameters/CryptoAlgorithmAesCbcParams.h:
  • platform/graphics/GlyphMetricsMap.h:

../WTF:

  • wtf/AVLTree.h:
  • wtf/Bitmap.h:
  • wtf/SixCharacterHash.cpp:

(WTF::integerToSixCharacterHashString):

  • wtf/SixCharacterHash.h:
4:37 PM Changeset in webkit [160343] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Change nativeForGenerator fallBack bool to an enum
https://bugs.webkit.org/show_bug.cgi?id=125473

Reviewed by Filip Pizlo.

Change the "bool fallBack" to an enum name ThunkEntryType with values
EnterViaCall and EnterViaJump to indicate how the thunk will be entered.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):
(JSC::nativeCallFallbackGenerator):

4:12 PM Changeset in webkit [160342] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Tools

Remove dead extract_reference_link.py (and the reftests module)
https://bugs.webkit.org/show_bug.cgi?id=125116

Reviewed by Ryosuke Niwa.

This code doesn't seem to have ever been used.

  • Scripts/webkitpy/layout_tests/reftests/init.py: Removed.
  • Scripts/webkitpy/layout_tests/reftests/extract_reference_link.py: Removed.
  • Scripts/webkitpy/layout_tests/reftests/extract_reference_link_unittest.py: Removed.
4:11 PM Changeset in webkit [160341] by andersca@apple.com
  • 3 edits
    6 adds in trunk/Source/WebKit2

Begin working on a UserData class intended to replace UserMessageCoders
https://bugs.webkit.org/show_bug.cgi?id=125471

Reviewed by Sam Weinig.

  • Shared/APIFrameHandle.cpp: Added.
  • Shared/APIFrameHandle.h: Added.

Add a new API::FrameHandle class that represents a frame.

  • Shared/APIObject.h:
  • Shared/APIPageHandle.cpp: Added.
  • Shared/APIPageHandle.h: Added.

Add a new API::PageHandle class that represents a page.

  • Shared/UserData.cpp: Added.

(WebKit::UserData::UserData):
(WebKit::UserData::~UserData):
(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/UserData.h: Added.

Add a UserData class that can be encoded and decoded. This will be used for sending data

between the web process and UI process without doing any of the Page -> BundlePage etc conversions.

  • WebKit2.xcodeproj/project.pbxproj:
3:50 PM Changeset in webkit [160340] by msaboff@apple.com
  • 12 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix baseline JIT for basic operation
https://bugs.webkit.org/show_bug.cgi?id=125470

Not yet reviewed.

Fixed compileOpCall and it's slow case to properly adjust the stack pointer before
and after a call.

Cleaned up the calling convention in the various thunks. Adjusted the stack
pointer at the end of the arity fixup thunk to account for the frame moving.

Added ctiNativeCallFallback() thunk generator for when another thunk that can't
perform its operation inline needs to make a native call. This thunk generator
differes from ctiNativeCall() in that it doesn't emit a funciton prologue, thus
allowing the original thunk to jump to the "fallback" thunk. I'm open to another
name beside "fallback". Maybe "ctiNativeTailCall()".

Fixed the OSR entry handling in the LLInt prologue macro to properly account
for the callee saving the caller frame pointer.

Added stack alignement check function for use in debug builds to find and break
if the stack pointer is not appropriately aligned.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::checkStackPointerAlignment):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::JIT::frameRegisterCountFor):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_enter):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeCallFallback):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::nativeForGenerator):
(JSC::nativeCallFallbackGenerator):
(JSC::arityFixup):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):
(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
3:48 PM Changeset in webkit [160339] by Lucas Forschler
  • 2 edits in tags/Safari-538.8.1/Source/WebKit/mac

Merge 160326 for <rdar://problem/15615561>.

3:45 PM Changeset in webkit [160338] by benjamin@webkit.org
  • 7 edits
    4 adds in trunk/Source/WebCore

Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
https://bugs.webkit.org/show_bug.cgi?id=125379

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-09
Reviewed by Alexey Proskuryakov.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.

(WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
(WebCore::synthesizeRedirectResponseIfNecessary):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
3:44 PM Changeset in webkit [160337] by rniwa@webkit.org
  • 5 edits
    1 delete in trunk

REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
https://bugs.webkit.org/show_bug.cgi?id=125392

Reviewed by Darin Adler.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101

Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
"If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."

New behavior also matches that of Internet Explorer and Firefox.

Tests: fast/forms/input-image-submit.html

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.

LayoutTests:

  • fast/events/stopPropagation-submit-expected.txt:
  • fast/forms/input-image-submit.html:
  • platform/gtk/fast/events/stopPropagation-submit-expected.txt: Removed.
3:36 PM Changeset in webkit [160336] by jer.noble@apple.com
  • 28 edits
    5 adds in trunk

[MSE] Add support for VideoPlaybackMetrics.
https://bugs.webkit.org/show_bug.cgi?id=125380

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-video-playback-quality.html

Add a new object type VideoPlaybackQuality to be returned by
HTMLMediaElement.getVideoPlaybackQuality().

HTMLMediaElements must separately track a droppedVideoFrame count, as
certain operations on SourceBuffer will drop incoming frames, which must
be accounted for. Reset this count when the media engine changes, which is
indicitive of a new media load requset starting.

Add the new VideoPlaybackQuality class:

  • Modules/mediasource/VideoPlaybackQuality.cpp: Added.

(WebCore::VideoPlaybackQuality::create):
(WebCore::VideoPlaybackQuality::VideoPlaybackQuality):

  • Modules/mediasource/VideoPlaybackQuality.h: Added.

(WebCore::VideoPlaybackQuality::creationTime):
(WebCore::VideoPlaybackQuality::totalVideoFrames):
(WebCore::VideoPlaybackQuality::droppedVideoFrames):
(WebCore::VideoPlaybackQuality::corruptedVideoFrames):
(WebCore::VideoPlaybackQuality::totalFrameDelay):

  • Modules/mediasource/VideoPlaybackQuality.idl: Added.

Add support for the new class to HTMLMediaElement:

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::shouldUseVideoPluginProxy):
(HTMLMediaElement::getVideoPlaybackQuality):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

Report the video quality metrics from the MediaPlayer:

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::totalVideoFrames):
(WebCore::MediaPlayer::droppedVideoFrames):
(WebCore::MediaPlayer::corruptedVideoFrames):
(WebCore::MediaPlayer::totalFrameDelay):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
(WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::totalFrameDelay):

Correctly report the dropped frame count:

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
(WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.

  • Modules/mediasource/SourceBuffer.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
(HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.

  • platform/MediaSample.h:

(WebCore::MediaSample::isSync): Convenience function.
(WebCore::MediaSample::isNonDisplaying): Ditto.

Add support in the AVFoundation MediaSource Engine:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):

Add support in the Mock MediaSource Engine:

  • platform/mock/mediasource/MockBox.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
(WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on

the incoming sample.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

Add the new files to the project:

  • bindings/gobject/GNUmakefile.am:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • GNUMakefile.list.am:
  • CMakeLists.txt:

LayoutTests:

  • media/media-source/media-source-video-playback-quality-expected.txt: Added.
  • media/media-source/media-source-video-playback-quality.html: Added.
  • media/media-source/mock-media-source.js:

(var):

3:27 PM Changeset in webkit [160335] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
https://bugs.webkit.org/show_bug.cgi?id=125469
<rdar://problem/15535772>

Reviewed by Beth Dakin.

In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
end up as NaN if scrollbar->totalSize() were zero. Protect against that.

Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
END_BLOCK_OBJC_EXCEPTIONS.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
(WebCore::scrollbarPainterPaint):

3:27 PM Changeset in webkit [160334] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Remove miscellaneous unnecessary build statements
https://bugs.webkit.org/show_bug.cgi?id=125466

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Darin Adler.

3:27 PM Changeset in webkit [160333] by Lucas Forschler
  • 1 copy in tags/Safari-538.8.1

New Tag.

3:11 PM Changeset in webkit [160332] by fpizlo@apple.com
  • 3 edits in trunk/WebKitLibraries

Unreviewed, update LLVM binary drops to r196830.

  • LLVMIncludesMountainLion.tar.bz2:
  • LLVMLibrariesMountainLion.tar.bz2:
2:38 PM Changeset in webkit [160331] by Lucas Forschler
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

2:06 PM Changeset in webkit [160330] by rniwa@webkit.org
  • 14 edits
    6 adds in trunk

Implement Document.cloneNode()
https://bugs.webkit.org/show_bug.cgi?id=11646

Reviewed by Darin Adler.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80

Implement the behavior specified in the current DOM4 working draft:
http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode

Tests: fast/dom/Document/clone-node.html

fast/dom/HTMLDocument/clone-node-quirks-mode.html
svg/custom/clone-node.html

  • dom/Document.cpp:

(WebCore::Document::cloneNode):
(WebCore::Document::cloneDocumentWithoutChildren):
(WebCore::Document::cloneDataFromDocument):

  • dom/Document.h:
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::cloneDocumentWithoutChildren):

  • html/HTMLDocument.h:
  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::cloneDocumentWithoutChildren):

  • svg/SVGDocument.h:

LayoutTests:

  • dom/xhtml/level3/core/documentgetinputencoding04-expected.txt:
  • dom/xhtml/level3/core/documentgetxmlencoding05-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode01-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode21-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode25-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode26-expected.txt:
  • fast/dom/Document/clone-node-expected.txt: Added.
  • fast/dom/Document/clone-node.html: Added.
  • fast/dom/HTMLDocument/clone-node-quirks-mode-expected.txt: Added.
  • fast/dom/HTMLDocument/clone-node-quirks-mode.html: Added.
  • svg/custom/clone-node-expected.txt: Added.
  • svg/custom/clone-node.html: Added.
2:04 PM Changeset in webkit [160329] by Lucas Forschler
  • 1 copy in branches/safari-537.74-branch

New Branch.

2:02 PM Changeset in webkit [160328] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CSE should work in SSA
https://bugs.webkit.org/show_bug.cgi?id=125430

Reviewed by Oliver Hunt and Mark Hahnenberg.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::run):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

1:15 PM Changeset in webkit [160327] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r160260): Memory pressure signal causes web process to hang.
<https://webkit.org/b/125465>

Reviewed by Tim Horton.

This command caused all of my web processes to hang:

notifyutil -p org.WebKit.lowMemory

This only happens when the cache pruning code encounters a resource
using purgeable memory.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):

Grab the next CachedResource pointer before continuing the loop.

12:38 PM Changeset in webkit [160326] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the build of projects including <WebKit/WebUIDelegatePrivate.h>

Rubber-stamped by Dan Bernstein.

  • WebView/WebAllowDenyPolicyListener.h:

Use TARGET_OS_IPHONE rather than PLATFORM(IOS) in an exposed header.

12:20 PM Changeset in webkit [160325] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/JavaScriptCore

Remove docs/make-bytecode-docs.pl
https://bugs.webkit.org/show_bug.cgi?id=125462

This sript is very old and no longer outputs useful data since the
op code definitions have moved from Interpreter.cpp.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Darin Adler.

  • DerivedSources.make:
  • docs/make-bytecode-docs.pl: Removed.
12:17 PM Changeset in webkit [160324] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] OpenGL compile error.
https://bugs.webkit.org/show_bug.cgi?id=125383

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-09
Reviewed by Darin Adler.

  • platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
12:16 PM Changeset in webkit [160323] by mario.prada@samsung.com
  • 22 edits in trunk

[ATK] Translate ATK_ROLE_SECTION into "AXSection" in DRT/WKTR
https://bugs.webkit.org/show_bug.cgi?id=125456

Reviewed by Chris Fleizach.

Tools:

Return 'AXSection' for section roles instead of 'AXDiv'.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Update expectations for GTK and EFL that were expecting AXDiv for
section roles, so they now expect AXSection.

  • accessibility/adjacent-continuations-cause-assertion-failure-expected.txt:
  • accessibility/div-within-anchors-causes-crash-expected.txt:
  • platform/efl-wk1/accessibility/image-map2-expected.txt:
  • platform/efl-wk1/accessibility/transformed-element-expected.txt:
  • platform/efl-wk2/accessibility/image-map2-expected.txt:
  • platform/efl-wk2/accessibility/transformed-element-expected.txt:
  • platform/efl/accessibility/media-emits-object-replacement-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored.html:
  • platform/gtk/accessibility/entry-and-password-expected.txt:
  • platform/gtk/accessibility/image-map2-expected.txt:
  • platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
  • platform/gtk/accessibility/object-with-title-expected.txt:
  • platform/gtk/accessibility/object-with-title.html:
  • platform/gtk/accessibility/replaced-objects-in-anonymous-blocks-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs.html:
  • platform/gtk/accessibility/transformed-element-expected.txt:
11:45 AM Changeset in webkit [160322] by commit-queue@webkit.org
  • 12 edits in trunk

Fix handling of 'inherit' and 'initial' for grid lines.
https://bugs.webkit.org/show_bug.cgi?id=125223

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-09
Reviewed by Darin Adler.

'initial' and 'inherit' are always allowed values for CSS properties.
As the CSSParser handles them automatically, those 2 values were never
taken care of in StyleResolver, leading to crashes.

Source/WebCore:

Added tests cases for 'inherit' and 'initial' to the following tests:

fast/css-grid-layout/grid-item-column-row-get-set.html
fast/css-grid-layout/grid-item-end-after-get-set.html
fast/css-grid-layout/grid-item-start-before-get-set.html

Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleGridItemData.cpp:

(WebCore::StyleGridItemData::StyleGridItemData):

LayoutTests:

Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision

  • fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
  • fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js:
11:30 AM Changeset in webkit [160321] by ryuan.choi@samsung.com
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] LayoutTests are broken after r160301
https://bugs.webkit.org/show_bug.cgi?id=125447

Reviewed by Darin Adler.

r160301 moved FullScreenManagerProxyClient logic to WebViewEfl, child class
of CoordinatedGraphics::WebView, because implementations are EFL specific.
However, CoordinatedGraphics::WebView creates WebPageProxy in constructor and
WebPageProxy requires FullScreenManagerProxyClient in constructor.
So, All WK2/Efl based applications got crashed

This patch adds virtual methods for FullScreenManagerProxyClient to CoordinatedGraphics::WebView
so that WebPageProxy can get FullScreenManagerProxyClient instance without
pure viertual methods.

  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:

(WKViewExitFullScreen):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::fullScreenManagerProxyClient):
(WebKit::WebView::requestExitFullScreen):
renamed from exitFullScreen not to conflict with methods of FullScreenManagerProxyClient.

  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/efl/WebViewEfl.cpp:
  • UIProcess/efl/WebViewEfl.h:
11:21 AM Changeset in webkit [160320] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Inspector.json and CodeGenerator tweaks
https://bugs.webkit.org/show_bug.cgi?id=125321

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Timothy Hatcher.

  • inspector/protocol/Runtime.json:

Runtime.js was depending on Network.FrameId. This is a layering
violation, so ideally we can fix this later. For now, just copy
the FrameId type into Runtime. They are strings so all is good.

  • inspector/CodeGeneratorInspector.py:

(Generator.EventMethodStructTemplate.append_epilog):

  • inspector/CodeGeneratorInspectorStrings.py:

Improve --help usage information.
Make the script work with a single domain json file.
Add ASCIILiteral's where appropriate.

11:01 AM Changeset in webkit [160319] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style should check for extra newlines at EOF
https://bugs.webkit.org/show_bug.cgi?id=125424

Patch by Brian J. Burg <Brian Burg> on 2013-12-09
Reviewed by Darin Adler.

Report a style violation if extraneous newlines are added
to the end of a C++ file. There should only be one newline at EOF.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_for_missing_new_line_at_eof): Renamed from check_for_new_line_at_eof.
(check_for_extra_new_line_at_eof): Added.
(_process_lines): Added new check and renamed existing EOF check.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_extra_newlines_at_eof): Added.
(CppStyleTest.test_extra_newlines_at_eof.do_test): Added.

10:57 AM Changeset in webkit [160318] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style: ternary operator in macro call identified as initialization list
https://bugs.webkit.org/show_bug.cgi?id=125443

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-09
Reviewed by Ryosuke Niwa.

Do not match initialization list when questionmark is placed before :

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_member_initialization_list):

10:51 AM Changeset in webkit [160317] by rniwa@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add a test for style sharing if grandparents matches different rule chain and nth-last child
https://bugs.webkit.org/show_bug.cgi?id=125397

Reviewed by Darin Adler.

Add the test from https://chromium.googlesource.com/chromium/blink/+/30ff49bf63cdec31070ab4eda8784564f56789d4
and https://chromium.googlesource.com/chromium/blink/+/3cb1724bb52f3607006ddd0a89d356da23766115
so that we may not introduce the same regressions in WebKit.

  • fast/css/nth-last-child-recalc-expected.html: Added.
  • fast/css/nth-last-child-recalc.html: Added.
  • fast/css/style-sharing-grand-parent-invalidate-expected.txt: Added.
  • fast/css/style-sharing-grand-parent-invalidate.html: Added.
10:40 AM Changeset in webkit [160316] by jdiggs@igalia.com
  • 11 edits
    16 adds in trunk

AX: [ATK] Convert the get_{string,text}_at_offset atktest.c unit tests to layout tests
https://bugs.webkit.org/show_bug.cgi?id=125451

Reviewed by Mario Sanchez Prada.

Source/WebKit/gtk:

  • tests/testatk.c: Remove the tests which now exist as layout tests. Note that the

tests for atk_text_get_text_{before,after}_offset were removed without equivalents
added to the layout tests. The same is true for the END AtkTextBoundary types. Both
have been deprecated in ATK and are not being used by AT-SPI2 assistive technologies.
(testGetTextFunction):
(main):

Tools:

Create the needed callbacks for DRT and WKTR.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(characterAtOffsetCallback): added
(wordAtOffsetCallback): added
(lineAtOffsetCallback): added
(sentenceAtOffsetCallback): added
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(stringAtOffset): added
(AccessibilityUIElement::characterAtOffset): added
(AccessibilityUIElement::wordAtOffset): added
(AccessibilityUIElement::lineAtOffset): added
(AccessibilityUIElement::sentenceAtOffset): added

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::characterAtOffset): added
(WTR::AccessibilityUIElement::wordAtOffset): added
(WTR::AccessibilityUIElement::lineAtOffset): added
(WTR::AccessibilityUIElement::sentenceAtOffset): added

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::stringAtOffset): added
(WTR::AccessibilityUIElement::characterAtOffset): added
(WTR::AccessibilityUIElement::wordAtOffset): added
(WTR::AccessibilityUIElement::lineAtOffset): added
(WTR::AccessibilityUIElement::sentenceAtOffset): added

LayoutTests:

New tests and expectations based on the tests and expectations found in atktest.c.
These were done as platform-specific tests because only ATK-based assistive technologies
seem to have any need for this support.

  • platform/gtk/accessibility/text-at-offset-embedded-objects-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-embedded-objects.html: Added.
  • platform/gtk/accessibility/text-at-offset-newlines-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-newlines.html: Added.
  • platform/gtk/accessibility/text-at-offset-preformatted-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-preformatted.html: Added.
  • platform/gtk/accessibility/text-at-offset-simple-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-simple.html: Added.
  • platform/gtk/accessibility/text-at-offset-special-chars-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-special-chars.html: Added.
  • platform/gtk/accessibility/text-at-offset-textarea-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-textarea.html: Added.
  • platform/gtk/accessibility/text-at-offset-textinput-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-textinput.html: Added.
  • platform/gtk/accessibility/text-at-offset-wrapped-lines-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-wrapped-lines.html: Added.
10:36 AM Changeset in webkit [160315] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix sh4 LLINT build.
https://bugs.webkit.org/show_bug.cgi?id=125454

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-09
Reviewed by Michael Saboff.

In LLINT, sh4 backend implementation didn't handle properly conditional jumps using
a LabelReference instance. This patch fixes it through sh4LowerMisplacedLabels phase.
Also, to avoid the need of a 4th temporary gpr, this phase is triggered later in
getModifiedListSH4.

  • offlineasm/sh4.rb:
10:30 AM Changeset in webkit [160314] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Nix] Fix file name typo in PlatformNix.cmake
https://bugs.webkit.org/show_bug.cgi?id=125457

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-09
Reviewed by Gustavo Noronha Silva.

Wrong file name introduced in http://trac.webkit.org/changeset/160310.

  • PlatformNix.cmake:
10:30 AM Changeset in webkit [160313] by Michał Pakuła vel Rutka
  • 8 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure test expectations and rebaselines for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl-wk1/fast/forms/validation-message-appearance-expected.png: Rebaseline after r159915.
  • platform/efl-wk2/fast/forms/validation-message-appearance-expected.png: Ditto.
  • platform/efl/fast/forms/validation-message-appearance-expected.txt: Ditto.
  • platform/efl/fast/parser/entity-comment-in-textarea-expected.png: Rebaseline after r159192.
  • platform/efl/fast/parser/entity-comment-in-textarea-expected.txt: Ditto.
8:18 AM Changeset in webkit [160312] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
https://bugs.webkit.org/show_bug.cgi?id=125452

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-09
Reviewed by Philippe Normand.

No new tests because this fixes a memory leak.

  • platform/graphics/gstreamer/TextCombinerGStreamer.cpp:

(webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.

6:17 AM Changeset in webkit [160311] by Chris Fleizach
  • 4 edits
    2 adds in trunk

AX: WebKit ignores @alt on IMG elements with role="text"
https://bugs.webkit.org/show_bug.cgi?id=125363

Reviewed by Mario Sanchez Prada.

Source/WebCore:

If an <img> element has a different role, the alt attribute should still be used in the
name calculation if present.

Test: accessibility/alt-tag-on-image-with-nonimage-role.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
(WebCore::AccessibilityNodeObject::text):

  • accessibility/AccessibilityNodeObject.h:

LayoutTests:

  • accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Added.
  • accessibility/alt-tag-on-image-with-nonimage-role.html: Added.
6:10 AM Changeset in webkit [160310] by Martin Robinson
  • 14 edits
    2 adds in trunk/Source

[WK2][Soup] Use didReceiveBuffer instead of didReceiveData
https://bugs.webkit.org/show_bug.cgi?id=118598

Reviewed by Gustavo Noronha Silva.

Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <Csaba Osztrogonác>.

Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
only supports getting data via SharedBuffer.

Source/WebCore:

  • GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformNix.cmake:
  • platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
  • platform/SharedBuffer.h: Ditto.
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Use didReceiveBuffer instead of didReceiveData.
  • platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
  • platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
  • platform/network/soup/GOwnPtrSoup.h: Ditto.
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
called now.
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
(WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
(WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
(WebCore::cleanupSoupRequestOperation): Ditto.
(WebCore::nextMultipartResponsePartCallback): Ditto.
(WebCore::sendRequestCallback): Ditto.
(WebCore::readCallback):

  • platform/soup/SharedBufferSoup.cpp: Added.

Source/WebKit/gtk:

  • webkit/webkitdownload.cpp:

(DownloadClient::didReceiveData): Replace with ASSERT_NOT_REACHED.
(DownloadClient::didReceiveBuffer): Use this to process incoming data.

4:42 AM Changeset in webkit [160309] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebCore: DataCloneError exception is not thrown when postMessage's second parameter is the source
port or the target port.

https://bugs.webkit.org/show_bug.cgi?id=124708

Patch by Michal Poteralski <m.poteralski@samsung.com> on 2013-12-09
Reviewed by Alexey Proskuryakov.

According to specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage

If the method was invoked with a second argument transfer then if any of the objects in the
transfer are either the source port or the target port (if any), then a DataCloneError
exception should be thrown. Currently an InvalidStateError exception is thrown what is an
incorrect behaviour.

The proposed solution is change to the correct the exception value.

Tests: fast/dom/Window/postMessage-clone-port-error.html

  • dom/MessagePort.cpp:

(WebCore::MessagePort::postMessage): Improve exception value

LayoutTests: DataCloneError exception is not thrown when postMessage's second parameter
is the source port or the target port.

https://bugs.webkit.org/show_bug.cgi?id=124708

Patch by Michal Poteralski <m.poteralski@samsung.com> on 2013-12-09
Reviewed by Alexey Proskuryakov.

Added layout test to check correctness of value thrown by postMessage:

  • fast/dom/Window/postMessage-clone-port-error-expected.txt: Added.
  • fast/dom/Window/postMessage-clone-port-error.html: Added.
4:28 AM Changeset in webkit [160308] by svillar@igalia.com
  • 7 edits in trunk/Source/WebKit2

[WK2] Add UNIX_DOMAIN_SOCKETS specific bits for supporting NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=110093

Reviewed by Martin Robinson.

Original patch by Balazs Kelemen <kbalazs@webkit.org>.

Adds the UNIX specific bits to support connections to the
NetworkProcess. Since the process of creating the pair of sockets
is exactly the same as in the PluginProcess, I've decided to
refactor it in ConnectionUnix::createPlatformConnection(). This
can be reused later to create a cross-platform solution and remove
all the ifdefs (see bug 110978).

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • Platform/CoreIPC/Connection.h:
  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::createPlatformConnection):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::createWebProcessConnection):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureNetworkProcessConnection):

4:06 AM Changeset in webkit [160307] by kseo@webkit.org
  • 4 edits in trunk/Source/WebKit2

[WK2][Soup] Support cache model in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=118343

Reviewed by Carlos Garcia Campos.

Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <Csaba Osztrogonác>.

Copied cache model code from WebProcess.
NetworkProcess is configured not to use the WebCore memory cache.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):
(WebKit::getMemorySize):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
Initialize soup cache.
(WebKit::NetworkProcess::platformSetCacheModel):
Copied code from WebProcess::platformSetCacheModel but removed
WebCore memory cache initialization because NetworkProcess does not use
the WebCore memory cache.
(WebKit::NetworkProcess::clearCacheForAllOrigins):
Copied code from WebProcess::clearCacheForAllOrigins.

  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:

Copied initialization code from WebProcessMainGtk.cpp.
(WebKit::NetworkProcessMain):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel):
Don't set the disk cache if NetworkProcess is used.
(WebKit::WebProcess::platformClearResourceCaches):
Don't clear the non-existing disk cache. (if NetworkProcess is used)
(WebKit::WebProcess::platformInitializeWebProcess):
Don't initialize the disk cache if NetworkProcess is used.

3:49 AM Changeset in webkit [160306] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix the GTK+ build with NetworkProcess enabled.

  • GNUmakefile.list.am: Add missing file to compilation.
3:45 AM Changeset in webkit [160305] by Gustavo Noronha Silva
  • 3 edits in trunk/LayoutTests

accessibility/press-targets-center-point.html should not depend on font layout
https://bugs.webkit.org/show_bug.cgi?id=125387

Reviewed by Chris Fleizach.

  • accessibility/press-targets-center-point.html: use explicit sizes for heights (and width

for vertical writing mode), so that font layout does not alter the results.

  • platform/gtk/TestExpectations: remove failure expectation for accessibility/press-targets-center-point.html
1:55 AM Changeset in webkit [160304] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebKit2

[GTK] run-webkit-tests may DOS the system, specially in debug builds
https://bugs.webkit.org/show_bug.cgi?id=125436

Reviewed by Martin Robinson.

  • GNUmakefile.am: use -no-fast-install for WebKitWebProcess and WebKitPluginProcess so

they do not need to be relinked the first time they are executed in-tree.

1:54 AM Changeset in webkit [160303] by zandobersek@gmail.com
  • 5 edits
    1 delete in trunk/Source/WebKit2

[GTK][WK2] Move WebFullScreenManagerProxyGtk logic to PageClientImpl
https://bugs.webkit.org/show_bug.cgi?id=125440

Reviewed by Martin Robinson.

Make PageClientImpl a WebFullScreenManagerProxyClient. This brings the GTK port in line
with changes in r160296 and fixes the WK2 build for that port.

  • GNUmakefile.list.am:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreateWebPage):

  • UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1:37 AM Changeset in webkit [160302] by commit-queue@webkit.org
  • 8 edits in trunk

[WK2][Gtk] Add support for ENABLE_NETWORK_PROCESS to the build system
https://bugs.webkit.org/show_bug.cgi?id=118231

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-09
Reviewed by Martin Robinson.

Original patch by Kwang Yul Seo <skyul@company100.net>.

.:

Disabled ENABLE_NETWORK_PROCESS by default.

  • Source/autotools/SetupAutomake.m4:
  • Source/autotools/SetupWebKitFeatures.m4:

Source/WebKit2:

Add source files to the build system and build NetworkProcess executable.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:
  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

Note: See TracTimeline for information about the timeline view.