WebKit-https.git
2 years ago[GCrypt] Implement CryptoKeyEC::keySizeInBits(), ::platformGeneratePair()
zandobersek@gmail.com [Mon, 3 Apr 2017 18:40:54 +0000 (18:40 +0000)]
[GCrypt] Implement CryptoKeyEC::keySizeInBits(), ::platformGeneratePair()
https://bugs.webkit.org/show_bug.cgi?id=170345

Reviewed by Michael Catanzaro.

Source/WebCore:

Start implementing the libgcrypt-based platform bits of CryptoKeyEC.

Implement keySizeInBits() by returning the appropriate size for this
object's curve type. An assertion is added to ensure that this size
matches the one that's returned by gcry_pk_get_nbits() for this
object's EC key as represented by the m_platformKey gcry_sexp_t object.

Implement platformGeneratePair() by constructing a genkey s-expression
that requests a generation of an EC key for the specified curve type.
The s-expression is then passed to gcry_pk_genkey(), and the public
and private key data is then retrieved from the returned s-expression
upon success and used to create the public and private CryptoKeyEC
objects.

The PlatformECKey type alias is changed to match gcry_sexp_t. The
CryptoKeyEC destructor releases the gcry_sexp_t object through
a PAL::GCrypt::HandleDeleter<gcry_sexp_t> instance.

The method definitions in the CryptoKeyECGCrypt.cpp file are also
sorted to match the declaration order in the header.

No new tests -- current ones cover this sufficiently, but are not yet
enabled due to other missing platform-specific SUBTLE_CRYPTO
implementations.

* crypto/gcrypt/CryptoKeyECGCrypt.cpp:
(WebCore::curveSize):
(WebCore::curveName):
(WebCore::CryptoKeyEC::~CryptoKeyEC):
(WebCore::CryptoKeyEC::keySizeInBits):
(WebCore::CryptoKeyEC::platformGeneratePair):
(WebCore::CryptoKeyEC::platformImportSpki):
(WebCore::CryptoKeyEC::platformImportPkcs8):
(WebCore::CryptoKeyEC::platformExportRaw):
(WebCore::CryptoKeyEC::platformAddFieldElements):
(WebCore::CryptoKeyEC::platformExportSpki):
* crypto/keys/CryptoKeyEC.h:

Source/WebCore/PAL:

* pal/crypto/gcrypt/Handle.h:
(PAL::GCrypt::HandleDeleter<gcry_sexp_t>::operator()): Add a HandleDeleter
specialization for the gcry_sexp_t type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214825 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebAssembly: Update spec tests
keith_miller@apple.com [Mon, 3 Apr 2017 18:38:37 +0000 (18:38 +0000)]
WebAssembly: Update spec tests
https://bugs.webkit.org/show_bug.cgi?id=170361

Rubber-stamped by Saam Barati.

JSTests:

Update the spec tests to run tests generated by the newer spec
test builder wasm-spec/test/builder.py. This patch also adds the
necessary harness code in spec-harness.js so we can run the tests.

* wasm.yaml:
* wasm/import-spec-tests.rb:
* wasm/spec-harness.js: Added.
(import.string_appeared_here.then):
(test):
(promise_test):
(let.assert_unreached):
* wasm/spec-harness/index.js: Added.
(let.testNum):
(assertThrows):
(_assert):
(ValueResult):
(ErrorResult):
(Result.prototype.isError):
(binary):
(module):
(uniqueTest):
(assert_invalid):
(assert_soft_invalid):
(register):
(call):
(get instance):
(exports):
(run):
(assert_unlinkable):
(assert_uninstantiable):
(assert_trap):
(try.f):
(catch):
(assert_exhaustion):
(assert_return):
(assert_return_nan):
* wasm/spec-harness/testharness.css: Added.
(html):
(#log .warning,):
(#log .error,):
(section#summary):
(table#results):
(table#results th:first-child,):
(table#results th:last-child,):
(table#results.assertions th:last-child,):
(table#results th):
(table#results td):
(tr.pass > td:first-child):
(tr.fail > td:first-child):
(tr.timeout > td:first-child):
(tr.notrun > td:first-child):
(.pass > td:first-child, .fail > td:first-child, .timeout > td:first-child, .notrun > td:first-child):
(table#results span):
(table#results span.expected):
(table#results span.actual):
(span.ok):
(tr.error):
(span.timeout):
(span.ok, span.timeout, span.error):
* wasm/spec-harness/testharness.js: Added.
(WindowTestEnvironment):
(WindowTestEnvironment.prototype._dispatch):
(WindowTestEnvironment.prototype._forEach_windows):
(WindowTestEnvironment.prototype.on_tests_ready):
(WindowTestEnvironment.prototype.setup_messages):
(WindowTestEnvironment.prototype.next_default_test_name):
(WindowTestEnvironment.prototype.on_new_harness_properties):
(WindowTestEnvironment.prototype.add_on_loaded_callback):
(WindowTestEnvironment.prototype.test_timeout):
(WindowTestEnvironment.prototype.global_scope):
(WorkerTestEnvironment):
(WorkerTestEnvironment.prototype._dispatch):
(WorkerTestEnvironment.prototype._add_message_port):
(WorkerTestEnvironment.prototype.next_default_test_name):
(WorkerTestEnvironment.prototype.on_new_harness_properties):
(WorkerTestEnvironment.prototype.on_tests_ready):
(WorkerTestEnvironment.prototype.add_on_loaded_callback):
(WorkerTestEnvironment.prototype.test_timeout):
(WorkerTestEnvironment.prototype.global_scope):
(DedicatedWorkerTestEnvironment):
(DedicatedWorkerTestEnvironment.prototype.on_tests_ready):
(SharedWorkerTestEnvironment):
(SharedWorkerTestEnvironment.prototype.on_tests_ready):
(ServiceWorkerTestEnvironment):
(ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback):
(create_test_environment):
(is_shared_worker):
(is_service_worker):
(test):
(async_test):
(promise_test):
(this.wait_for):
(EventWatcher):
(setup):
(done):
(generate_tests):
(step_timeout):
(truncate):
(is_node):
(format_value):
* wasm/spec-harness/testharnessreport.js: Added.
* wasm/spec-harness/wasm-constants.js: Added.
(bytes):
(bytesWithHeader):
(makeSig):
(makeSig_v_x):
(makeSig_v_xx):
(makeSig_r_v):
(makeSig_r_x):
(makeSig_r_xx):
(assertTraps):
(assertWasmThrows):
* wasm/spec-harness/wasm-module-builder.js: Added.
(Binary.prototype.emit_u8):
(Binary.prototype.emit_u16):
(Binary.prototype.emit_u32):
(Binary.prototype.emit_u32v):
(Binary.prototype.emit_bytes):
(Binary.prototype.emit_string):
(Binary.prototype.emit_header):
(Binary.prototype.emit_section):
(Binary):
(WasmFunctionBuilder):
(WasmFunctionBuilder.prototype.exportAs):
(WasmFunctionBuilder.prototype.exportFunc):
(WasmFunctionBuilder.prototype.addBody):
(WasmFunctionBuilder.prototype.addLocals):
(WasmFunctionBuilder.prototype.end):
(WasmGlobalBuilder):
(WasmGlobalBuilder.prototype.exportAs):
(WasmModuleBuilder):
(WasmModuleBuilder.prototype.addStart):
(WasmModuleBuilder.prototype.addMemory):
(WasmModuleBuilder.prototype.addExplicitSection):
(WasmModuleBuilder.prototype.addType):
(WasmModuleBuilder.prototype.addGlobal):
(WasmModuleBuilder.prototype.addFunction):
(WasmModuleBuilder.prototype.addImport):
(WasmModuleBuilder.prototype.addImportedGlobal):
(WasmModuleBuilder.prototype.addImportedMemory):
(WasmModuleBuilder.prototype.addImportedTable):
(WasmModuleBuilder.prototype.addExport):
(WasmModuleBuilder.prototype.addExportOfKind):
(WasmModuleBuilder.prototype.addDataSegment):
(WasmModuleBuilder.prototype.exportMemoryAs):
(WasmModuleBuilder.prototype.addFunctionTableInit):
(WasmModuleBuilder.prototype.appendToTable):
(WasmModuleBuilder.prototype.setFunctionTableLength):
(WasmModuleBuilder.prototype.toArray):
(WasmModuleBuilder.prototype.toBuffer):
(WasmModuleBuilder.prototype.instantiate):
* wasm/spec-harness/wast.js: Added.
(normalize):
(require.else._registry.name):
(require):
(add_hex_char):
(add_char):
(string_with):
(list_of_opt):
(break_bytes.f):
(break_bytes):
(f):
(decls):
(func_type):
(limits):
(global_type):
(testop):
(relop):
(unop):
(binop):
(cvtop):
(oper):
(mem_size):
(extension):
(memop):
(storeop):
(var):
(constop):
(instr.else.switch.case.0.f):
(instr.else.switch.case.1.f.1):
(instr.else.switch.case.2.f.2):
(instr):
(func_with_name):
(func):
(start):
(table):
(memory):
(segment):
(elems):
(data):
(typedef):
(import_kind):
(import):
(export_kind):
(export):
(var_opt):
(is_func_import):
(is_table_import):
(is_memory_import):
(is_global_import):
(f.1):
(f.2):
(f.3):
(module_with_var_opt):
(module_):
(literal):
(definition):
(access):
(action):
(script):
(_registry.string_appeared_here):
(init):
(make_matrix):
(copy):
(append):
(sub):
(fill):
(blit):
(iter):
(map):
(iteri):
(mapi):
(to_list):
(list_length):
(of_list):
(fold_left):
(fold_right):
(maxson):
(trickle):
(bubble):
(trickleup):
(sort):
(merge):
(isortto):
(sortto):
(stable_sort):
(import_type):
(export_type):
(dims.n):
(dims.d.i):
(dims):
(map_file):
(create):
(of_array):
(slice_left):
(slice_right):
(slice_left_1):
(slice_right_1):
(slice_left_2):
(slice_right_2):
(array1_of_genarray):
(array2_of_genarray):
(array3_of_genarray):
(reshape_1):
(reshape_2):
(reshape_3):
(reshape):
(__):
(contents):
(to_bytes):
(nth):
(length):
(clear):
(reset):
(resize):
(add_substring):
(add_subbytes):
(add_string):
(add_bytes):
(add_buffer):
(add_channel):
(output_buffer):
(closing):
(advance_to_closing):
(advance_to_non_alpha):
(find_ident):
(add_substitute):
(make):
(to_string):
(of_string):
(sub_string):
(extend):
(blit_string):
(concat):
(cat):
(is_space):
(trim):
(escaped):
(uppercase):
(lowercase):
(apply1):
(capitalize):
(uncapitalize):
(index_rec):
(index):
(index_from):
(rindex_rec):
(rindex):
(rindex_from):
(contains_from):
(contains):
(rcontains_from):
(caml_array_sub):
(len):
(caml_array_concat):
(caml_make_vect):
(caml_array_blit):
(get if):
(caml_set_oo_id):
(get_id):
(caml_int32_float_of_bits):
(caml_int32_bits_of_float):
(caml_classify_float):
(caml_modf_float):
(caml_ldexp_float):
(caml_frexp_float):
(caml_copysign_float):
(caml_expm1_float):
(caml_hypot_float):
(caml_log10_float):
(caml_failwith):
(parse_digit):
(int_of_string_base):
(parse_sign_and_base):
(caml_int_of_string.aux):
(caml_int_of_string):
(caml_int64_of_string.aux):
(caml_int64_of_string):
(int_of_base):
(parse_format):
(finish_formatting):
(caml_format_int):
(caml_int64_format):
(caml_format_float):
(float_of_string):
(div):
(mod_):
(caml_bswap16):
(caml_int32_bswap):
(imul):
(neg_signed):
(not):
(eq):
(neg):
(lsl_):
(lsr_):
(asr_):
(is_zero):
(mul):
(swap):
(xor):
(or_):
(and_):
(ge):
(lt):
(gt):
(le):
(to_float):
(of_float):
(div_mod):
(compare):
(of_int32):
(to_int32):
(to_hex.aux):
(to_hex):
(discard_sign):
(float_of_bits):
(bits_of_float.to_nat):
(bits_of_float):
(get64):
(erase_rel):
(concat_fmtty):
(concat_fmt):
(create_char_set):
(add_in_char_set):
(rev_char_set):
(is_in_char_set):
(prec_of_prec_opt):
(param_format_of_ignored_format):
(buffer_check_size):
(buffer_add_char):
(buffer_add_string):
(buffer_contents):
(char_of_iconv):
(char_of_fconv):
(char_of_counter):
(print_char):
(set while.set var):
(set while.set else):
(set var):
(set else):
(set print_char):
(set if):
(bprint_padty):
(bprint_ignored_flag):
(bprint_pad_opt):
(bprint_padding):
(bprint_precision):
(bprint_iconv_flag):
(bprint_int_fmt):
(bprint_altint_fmt):
(bprint_fconv_flag):
(bprint_float_fmt):
(string_of_formatting_lit):
(string_of_formatting_gen):
(bprint_char_literal):
(bprint_string_literal):
(bprint_fmtty):
(int_of_custom_arity):
(bprint_fmt):
(string_of_fmt):
(symm):
(fmtty_rel_det):
(trans):
(fmtty_of_formatting_gen):
(fmtty_of_fmt):
(fmtty_of_custom):
(fmtty_of_padding_fmtty):
(fmtty_of_precision_fmtty):
(type_padding):
(type_padprec):
(type_ignored_param_one):
(type_format_gen):
(type_ignored_format_substitution):
(type_format):
(recast):
(fix_padding):
(fix_int_precision):
(string_to_caml_string):
(format_of_iconv):
(format_of_aconv):
(format_of_fconv):
(convert_int):
(convert_int32):
(convert_nativeint):
(convert_int64):
(else.is_valid):
(convert_float):
(format_caml_char):
(string_of_fmtty):
(else.switch.):
(else.switch.k.prime):
(else.switch.else.):
(else.switch.else.k.prime.1):
(make_printf):
(make_from_fmtty):
(make_invalid_arg):
(make_string_padding):
(make_int_padding_precision):
(make_custom):
(output_acc):
(bufput_acc):
(strput_acc):
(failwith_message.k):
(failwith_message):
(open_box_of_string.else.invalid_box):
(open_box_of_string.else.parse_spaces):
(open_box_of_string.else.parse_lword):
(open_box_of_string.else.parse_int):
(open_box_of_string):
(make_padding_fmt_ebb):
(make_precision_fmt_ebb):
(make_padprec_fmt_ebb):
(invalid_format_message):
(invalid_format_without):
(expected_character):
(compute_int_conv):
(incompatible_flag):
(parse_positive):
(parse_conv):
(parse_after_precision):
(else.parse_literal):
(parse_after_padding):
(parse_literal):
(parse_after_at):
(add_literal):
(parse_spaces):
(parse_integer):
(compute_float_conv):
(search_subformat_end):
(check_no_0):
(opt_of_pad):
(get_prec_opt):
(else.switch.case.99.char_format):
(else.switch.scan_format):
(parse_conversion):
(set_flag):
(parse_flags):
(is_int_base):
(counter_of_char):
(add_range):
(fail_single_percent):
(parse_char_set_after_char):
(parse_char_set_content):
(parse_char_set_start):
(parse_char_set):
(check_open_box):
(parse_tag):
(fmt_ebb_of_string):
(format_of_string_fmtty):
(format_of_string_format):
(caret):
(caml_ml_open_descriptor_in):
(caml_ml_open_descriptor_out):
(caml_ml_flush):
(node_std_output):
(caml_ml_output_char):
(caml_ml_input):
(caml_ml_input_char):
(caml_ml_out_channels_list):
(fail):
(caml_lex_array):
(caml_lex_engine):
(caml_lex_run_mem):
(caml_lex_run_tag):
(caml_new_lex_engine):
(caml_obj_dup):
(caml_obj_truncate):
(caml_lazy_make_forward):
(caml_update_dummy):
(caml_int_compare):
(caml_compare):
(caml_equal):
(caml_notequal):
(caml_greaterequal):
(caml_lessequal):
(else.aux):
(caml_get_public_method):
(caml_parse_engine):
(caml_set_parser_trace):
(js_string_of_char):
(caml_string_get):
(caml_create_string):
(caml_string_compare):
(caml_fill_string):
(caml_blit_string):
(caml_blit_bytes):
(bytes_of_string):
(bytes_to_string):
(caml_string_of_char_array):
(caml_is_printable):
(caml_string_get16):
(caml_string_get32):
(repeat):
(chr):
(app):
(js):
(curry_1):
(_1):
(js1):
(__1):
(curry_2):
(_2):
(js2):
(__2):
(curry_3):
(_3):
(js3):
(__3):
(curry_4):
(_4):
(js4):
(__4):
(curry_5):
(_5):
(js5):
(__5):
(curry_6):
(_6):
(js6):
(__6):
(curry_7):
(_7):
(js7):
(__7):
(curry_8):
(_8):
(js8):
(__8):
(stream):
(eos):
(skip):
(read):
(peek):
(string_of_byte):
(position):
(region):
(error):
(guard):
(get 1):
(get expect):
(get illegal):
(at):
(u32):
(u64):
(get require):
(vuN):
(get var):
(vsN):
(vu32):
(vs32):
(vs64):
(f32):
(f64):
(len32):
(string):
(opt):
(vec):
(sized):
(value_type):
(elem_type):
(stack_type):
(table_type):
(memory_type):
(mutability.get if):
(mutability):
(instr.get if):
(instr_block):
(const):
(id):
(section):
(type_section):
(import_kind.get if):
(import_section):
(func_section):
(table_section):
(memory_section):
(global):
(global_section):
(export_kind.get if):
(export_section):
(start_section):
(local):
(code):
(code_section):
(table_segment):
(elem_section):
(memory_segment):
(data_section):
(partial_arg.1):
(custom):
(custom_section):
(iterate):
(decode):
(patch):
(encode.u8):
(encode.u16):
(encode.u32):
(encode.vu64):
(encode.vs64):
(encode.vu32):
(encode.len):
(encode.bool):
(encode.string):
(encode.vec):
(encode.gap32):
(encode.patch_gap32):
(encode.value_type):
(encode.stack_type):
(encode.func_type):
(encode.limits):
(encode.table_type):
(encode.memory_type):
(encode.global_type):
(encode.memop):
(encode):
(encode.instr):
(encode.const):
(encode.section):
(encode.type_section):
(encode.import):
(encode.import_section):
(encode.func):
(encode.func_section):
(encode.table):
(encode.table_section):
(encode.memory):
(encode.memory_section):
(encode.global):
(encode.global_section):
(encode.export_kind):
(encode.export):
(encode.export_section):
(encode.start_section):
(encode.combine):
(encode.compress):
(encode.local):
(encode.code):
(encode.code_section):
(encode.segment):
(encode.table_segment):
(encode.elem_section):
(encode.memory_segment):
(encode.module_):
(Make.warn):
(Make.error):
(Make):
(print_nan_significand_digits):
(Make.of_bits):
(Make.to_bits):
(Make.is_nan):
(Make.canonicalize_nan):
(Make.determine_binary_nan):
(Make.determine_unary_nan):
(Make.binary):
(Make.unary):
(Make.add):
(Make.sub):
(Make.mul):
(Make.div):
(Make.sqrt):
(Make.ceil):
(Make.floor):
(Make.trunc):
(Make.nearest):
(Make.min):
(Make.max):
(Make.abs):
(Make.neg):
(Make.copysign):
(Make.eq):
(Make.ne):
(Make.lt):
(Make.gt):
(Make.le):
(Make.ge):
(Make.of_signless_string):
(Make.of_string):
(Make.to_string):
(add_queue):
(peek_queue):
(take_queue):
(pp_enqueue):
(pp_clear_queue):
(pp_output_string):
(break_new_line):
(break_same_line):
(pp_force_break_line):
(switch.add_tab):
(else.switch.find):
(format_pp_token):
(advance_left):
(enqueue_advance):
(enqueue_string_as):
(set_size):
(scan_push):
(pp_open_box_gen):
(pp_close_box):
(pp_open_tag):
(pp_close_tag):
(pp_set_print_tags):
(pp_set_mark_tags):
(pp_get_print_tags):
(pp_get_mark_tags):
(pp_set_tags):
(pp_get_formatter_tag_functions):
(pp_set_formatter_tag_functions):
(pp_rinit):
(pp_flush_queue):
(pp_print_as_size):
(pp_print_string):
(pp_print_int):
(pp_print_float):
(pp_print_bool):
(pp_open_hbox):
(pp_open_vbox):
(pp_open_hvbox):
(pp_open_hovbox):
(pp_open_box):
(pp_print_newline):
(pp_print_flush):
(pp_force_newline):
(pp_print_if_newline):
(pp_print_break):
(pp_print_space):
(pp_print_cut):
(pp_open_tbox):
(pp_close_tbox):
(pp_print_tbreak):
(pp_print_tab):
(pp_set_tab):
(pp_print_list):
(flush):
(pp_print_text):
(pp_set_max_boxes):
(pp_get_max_boxes):
(pp_over_max_boxes):
(pp_get_ellipsis_text):
(pp_limit):
(pp_set_max_indent):
(pp_get_max_indent):
(pp_set_margin):
(pp_get_margin):
(pp_set_formatter_out_functions):
(pp_get_formatter_out_functions):
(pp_set_formatter_output_functions):
(pp_get_formatter_output_functions):
(pp_set_all_formatter_output_functions):
(pp_get_all_formatter_output_functions):
(display_newline):
(display_blanks):
(state.16):
(state.17):
(state.18):
(state.19):
(pp_set_formatter_out_channel):
(default_pp_mark_open_tag):
(default_pp_mark_close_tag):
(default_pp_print_open_tag):
(default_pp_print_close_tag):
(pp_make_formatter):
(ppf.18):
(ppf.19):
(make_formatter):
(formatter_of_out_channel):
(formatter_of_buffer):
(flush_str_formatter):
(flush_buf_formatter):
(open_hbox):
(open_vbox):
(open_hvbox):
(open_hovbox):
(open_box):
(close_box):
(open_tag):
(close_tag):
(print_as):
(print_string):
(print_int):
(print_float):
(print_bool):
(print_cut):
(print_space):
(force_newline):
(print_flush):
(print_newline):
(print_if_newline):
(open_tbox):
(close_tbox):
(print_tbreak):
(set_tab):
(print_tab):
(set_margin):
(get_margin):
(set_max_indent):
(get_max_indent):
(set_max_boxes):
(get_max_boxes):
(over_max_boxes):
(set_ellipsis_text):
(get_ellipsis_text):
(set_formatter_out_channel):
(set_formatter_out_functions):
(get_formatter_out_functions):
(set_formatter_output_functions):
(get_formatter_output_functions):
(set_all_formatter_output_functions):
(get_all_formatter_output_functions):
(set_formatter_tag_functions):
(get_formatter_tag_functions):
(set_print_tags):
(get_print_tags):
(set_mark_tags):
(get_mark_tags):
(set_tags):
(compute_tag):
(output_formatting_lit):
(kfprintf):
(ikfprintf):
(fprintf):
(ifprintf):
(printf):
(eprintf):
(k.prime):
(ksprintf):
(sprintf):
(asprintf.k.prime):
(asprintf):
(k):
(bprintf):
(succ):
(pred):
(abs):
(lognot):
(Make.cmp_u):
(Make.divrem_u):
(Make.div_s):
(Make.div_u):
(Make.rem_s):
(Make.rem_u):
(Make.shift):
(Make.shl):
(Make.shr_s):
(Make.shr_u):
(Make.clamp_rotate_count):
(Make.rotl):
(Make.rotr):
(Make.loop):
(Make.clz):
(Make.ctz):
(Make.popcnt):
(Make.eqz):
(Make.lt_u):
(Make.le_u):
(Make.gt_u):
(Make.ge_u):
(Make.of_int_u):
(Make.to_string_u):
(Make.require):
(Make.dec_digit):
(Make.hex_digit):
(Make.parse_int):
(Make.of_string_s):
(Make.of_string_u):
(convert_pos):
(error_nest):
(text):
(intop):
(floatop):
(numop):
(memsz):
(ext):
(token.else.switch):
(token.else.switch.):
(token):
(__ocaml_lex_comment_rec):
(engine):
(new_engine):
(from_function):
(from_channel):
(from_string):
(lexeme):
(sub_lexeme):
(sub_lexeme_opt):
(sub_lexeme_char):
(sub_lexeme_char_opt):
(lexeme_char):
(lexeme_start):
(lexeme_end):
(lexeme_start_p):
(lexeme_end_p):
(new_line):
(flush_input):
(take):
(drop):
(last):
(split_last):
(index_of):
(index_of_int32):
(dim):
(set 1):
(get 2):
(log2):
(is_power_of_two):
(loop):
(breakup):
(hd):
(tl):
(rev_append):
(rev):
(flatten):
(rev_map):
(map2):
(rev_map2):
(iter2):
(fold_left2):
(fold_right2):
(for_all):
(exists):
(for_all2):
(exists2):
(mem):
(memq):
(assoc):
(assq):
(mem_assoc):
(mem_assq):
(remove_assoc):
(remove_assq):
(find):
(find_all):
(partition):
(split):
(combine):
(chop):
(rev_sort):
(sort_uniq):
(Make.height):
(Make.create):
(Make.singleton):
(Make.bal):
(Make.is_empty):
(Make.find):
(Make.mem):
(Make.min_binding):
(Make.max_binding):
(Make.remove_min_binding):
(Make.remove):
(Make.iter):
(Make.map):
(Make.mapi):
(Make.fold):
(Make.for_all):
(Make.exists):
(Make.add_min_binding):
(Make.add_max_binding):
(Make.join):
(Make.concat):
(Make.concat_or_join):
(Make.split):
(Make.merge):
(Make.filter):
(Make.partition):
(Make.cons_enum):
(Make.compare):
(Make.equal):
(Make.cardinal):
(Make.bindings_aux):
(Make.bindings):
(double_field):
(set_double_field):
(marshal):
(unmarshal):
(extension_slot):
(extension_name):
(extension_id):
(i32_const):
(i64_const):
(f32_const):
(f64_const):
(block):
(br):
(br_if):
(br_table):
(if_):
(call):
(call_indirect):
(get_local):
(set_local):
(tee_local):
(get_global):
(set_global):
(i32_load):
(i64_load):
(f32_load):
(f64_load):
(i32_load8_s):
(i32_load8_u):
(i32_load16_s):
(i32_load16_u):
(i64_load8_s):
(i64_load8_u):
(i64_load16_s):
(i64_load16_u):
(i64_load32_s):
(i64_load32_u):
(i32_store):
(i64_store):
(f32_store):
(f64_store):
(i32_store8):
(i32_store16):
(i64_store8):
(i64_store16):
(i64_store32):
(parse):
(string_to):
(string_to_script):
(string_to_module):
(parse_error):
(position_to_pos):
(positions_to_region):
(ati):
(nat):
(nat32):
(empty_context):
(enter_func):
(type_):
(lookup):
(label):
(anon_type):
(bind):
(bind_func):
(bind_local):
(bind_global):
(bind_table):
(bind_memory):
(anon):
(anon_func):
(anon_locals):
(anon_global):
(anon_table):
(anon_memory):
(anon_label):
(explicit_sig):
(inline_type):
(yyact):
(script1):
(module1):
(grow_stacks):
(clear_parser):
(current_lookahead_fun):
(catch.else.current_lookahead_fun.0):
(yyparse):
(peek_val):
(symbol_start_pos):
(symbol_end_pos):
(rhs_start_pos):
(rhs_end_pos):
(symbol_start):
(symbol_end):
(rhs_start):
(rhs_end):
(is_current_lookahead):
(failwith):
(invalid_arg):
(min):
(max):
(lnot):
(char_of_int):
(string_of_bool):
(bool_of_string):
(string_of_int):
(valid_float_lexem):
(string_of_float):
(open_out_gen):
(open_out):
(open_out_bin):
(flush_all):
(output_bytes):
(output_string):
(output):
(output_substring):
(output_value):
(close_out):
(close_out_noerr):
(open_in_gen):
(open_in):
(open_in_bin):
(input):
(else.r):
(unsafe_really_input):
(really_input):
(really_input_string):
(input_line.build_result):
(input_line.n):
(input_line.scan):
(input_line):
(close_in_noerr):
(print_bytes):
(print_endline):
(prerr_char):
(prerr_string):
(prerr_bytes):
(prerr_int):
(prerr_float):
(prerr_endline):
(prerr_newline):
(read_line):
(read_int):
(read_float):
(string_of_format):
(at_exit.exit_function.0):
(at_exit):
(do_at_exit):
(exit):
(output_binary_int):
(seek_out):
(pos_out):
(out_channel_length):
(set_binary_mode_out):
(input_binary_int):
(input_value):
(seek_in):
(pos_in):
(in_channel_length):
(close_in):
(set_binary_mode_in):
(LargeFile_000):
(LargeFile_001):
(LargeFile_002):
(LargeFile_003):
(LargeFile_004):
(LargeFile_005):
(kbprintf):
(plus):
(pp):
(print):
(string_of_pos):
(string_of_region):
(escaped.needs_escape):
(set_signal):
(catch_break):
(size):
(string_of_value_type):
(string_of_value_types):
(string_of_elem_type):
(string_of_limits):
(string_of_table_type):
(string_of_global_type):
(string_of_stack_type):
(string_of_func_type):
(type_of):
(default_value):
(value_of_bool):
(string_of_values):
(to_value):
(of_value):
(g):
(binary):
(bytes):
* wasm/spec-tests/address.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/binary.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/block.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/br.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/br_if.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/br_table.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/break-drop.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/call.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/call_indirect.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/comments.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/conversions.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/custom_section.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/endianness.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/exports.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/f32.wast.js: Removed.
* wasm/spec-tests/f32_cmp.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/f64.wast.js: Removed.
* wasm/spec-tests/f64_cmp.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/fac.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/float_exprs.wast.js: Removed.
* wasm/spec-tests/float_literals.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/float_memory.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/float_misc.wast.js: Removed.
* wasm/spec-tests/forward.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/func.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/func_ptrs.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/get_local.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/globals.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/i32.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/i64.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/if.wast.js: Added.
* wasm/spec-tests/imports.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/int_exprs.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/int_literals.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/jsapi.js: Added.
(testJSAPI.get test):
(testJSAPI.test):
(testJSAPI.set test):
(testJSAPI.assertCompileError):
(testJSAPI.assertCompileSuccess):
(testJSAPI):
* wasm/spec-tests/labels.wast.js: Added.
* wasm/spec-tests/left-to-right.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/linking.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/loop.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/memory.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/memory_redundancy.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/memory_trap.wast.js: Removed.
* wasm/spec-tests/names.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/nop.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/resizing.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/return.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/select.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/set_local.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/skip-stack-guard-page.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/stack.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/start.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/store_retval.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/switch.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/tee_local.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/traps.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/typecheck.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/unreachable.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.
* wasm/spec-tests/unreached-invalid.wast.js: Added.
* wasm/spec-tests/unwind.wast.js:
(register): Deleted.
(module): Deleted.
(instance): Deleted.
(assert_malformed): Deleted.
(assert_invalid): Deleted.
(assert_soft_invalid): Deleted.
(assert_unlinkable): Deleted.
(assert_uninstantiable): Deleted.
(assert_trap): Deleted.
(assert_return): Deleted.
(assert_return_nan): Deleted.

Tools:

Update the runner to know the new wasm spec test harness code.

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214824 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GCrypt] Implement AES_KW support
zandobersek@gmail.com [Mon, 3 Apr 2017 18:36:03 +0000 (18:36 +0000)]
[GCrypt] Implement AES_KW support
https://bugs.webkit.org/show_bug.cgi?id=170274

Reviewed by Michael Catanzaro.

Implement the CryptoAlgorithmAES_KW::platform{Wrap,Unwrap}Key()
functionality for configurations that use libgcrypt. This is done
by leveraging the gcry_cipher_* APIs for the AES algorithm that's
deducted appropriately from the key size and the AESWRAP cipher mode.

No new tests -- current ones cover this sufficiently, but are not yet
enabled due to other missing platform-specific SUBTLE_CRYPTO
implementations.

* crypto/gcrypt/CryptoAlgorithmAES_KWGCrypt.cpp:
(WebCore::gcryptWrapKey):
(WebCore::gcryptUnwrapKey):
(WebCore::CryptoAlgorithmAES_KW::platformWrapKey):
(WebCore::CryptoAlgorithmAES_KW::platformUnwrapKey):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214823 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GCrypt] Implement AES_GCM support
zandobersek@gmail.com [Mon, 3 Apr 2017 18:12:38 +0000 (18:12 +0000)]
[GCrypt] Implement AES_GCM support
https://bugs.webkit.org/show_bug.cgi?id=170271

Reviewed by Michael Catanzaro.

Source/WebCore:

Implement the CryptoAlgorithmAES_GCM::platform{Encrypt,Decrypt}
functionality for configurations that use libgcrypt. This is done
by leveraging the gcry_cipher_* APIs for the AES algorithm that's
deducted appropriately from the key size and the GCM cipher mode.

No new tests -- current ones cover this sufficiently, but are not yet
enabled due to other missing platform-specific SUBTLE_CRYPTO
implementations.

* crypto/gcrypt/CryptoAlgorithmAES_GCMGCrypt.cpp:
(WebCore::gcryptEncrypt):
(WebCore::gcryptDecrypt):
(WebCore::CryptoAlgorithmAES_GCM::platformEncrypt):
(WebCore::CryptoAlgorithmAES_GCM::platformDecrypt):

Source/WebCore/PAL:

* pal/crypto/gcrypt/Handle.h:
(PAL::GCrypt::HandleDeleter<gcry_cipher_hd_t>::operator()): Specialize
the HandleDeleter<> template for the gcry_cipher_hd_t type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[GCrypt] Implement PBKDF2 support
zandobersek@gmail.com [Mon, 3 Apr 2017 18:10:29 +0000 (18:10 +0000)]
[GCrypt] Implement PBKDF2 support
https://bugs.webkit.org/show_bug.cgi?id=170270

Reviewed by Michael Catanzaro.

Implement the CryptoAlgorithmPBKDF2::platformDeriveBits() functionality
for configurations that use libgcrypt. This is done by leveraging the
gcry_kdf_derive() API, using GCRY_KDF_PBKDF2 as the preferred KDF
along with the properly deducted SHA algorithm.

No new tests -- current ones cover this sufficiently, but are not yet
enabled due to other missing platform-specific SUBTLE_CRYPTO
implementations.

* crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp:
(WebCore::gcryptDeriveBits):
(WebCore::CryptoAlgorithmPBKDF2::platformDeriveBits):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoLayoutTest pointer-lock/mouse-event-delivery.html is a flaky failure
commit-queue@webkit.org [Mon, 3 Apr 2017 18:00:06 +0000 (18:00 +0000)]
LayoutTest pointer-lock/mouse-event-delivery.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=167965

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-04-03
Reviewed by Jon Lee.

Wait for wheel event before doing next step of test. The wheel event is delivered asynchronously and
can therefore be delivered later than expected by the test. This is already done for the first one,
do this for the second one also.

* platform/mac-wk2/TestExpectations:
* pointer-lock/mouse-event-delivery.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoClean up touch event handler registration when moving nodes between documents
simon.fraser@apple.com [Mon, 3 Apr 2017 17:51:29 +0000 (17:51 +0000)]
Clean up touch event handler registration when moving nodes between documents
https://bugs.webkit.org/show_bug.cgi?id=170384
rdar://problem/30816694

Reviewed by Chris Dumez.

Source/WebCore:

Make sure that Node::didMoveToNewDocument() does the correct unregistration on the
old document, and registration on the new document for nodes with touch event listeners,
and gesture event listeners. Touch "handler" nodes (those for overflow and sliders) are
already correctly moved via renderer-related teardown.

Add assertions that fire when removal was not complete.

Use references in more places.

Tests: fast/events/touch/ios/gesture-node-move-between-documents.html
       fast/events/touch/ios/overflow-node-move-between-documents.html
       fast/events/touch/ios/slider-node-move-between-documents.html
       fast/events/touch/ios/touch-node-move-between-documents.html

* dom/EventNames.h:
(WebCore::EventNames::gestureEventNames):
* dom/Node.cpp:
(WebCore::Node::willBeDeletedFrom):
(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::registerForTouchEvents):
(WebCore::SliderThumbElement::unregisterForTouchEvents):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::registerAsTouchEventListenerForScrolling):
(WebCore::RenderLayer::unregisterAsTouchEventListenerForScrolling):

LayoutTests:

Tests for moving nodes with various listener/handler combinations between documents.

* fast/events/touch/ios/gesture-node-move-between-documents-expected.txt: Added.
* fast/events/touch/ios/gesture-node-move-between-documents.html: Added.
* fast/events/touch/ios/overflow-node-move-between-documents-expected.txt: Added.
* fast/events/touch/ios/overflow-node-move-between-documents.html: Added.
* fast/events/touch/ios/slider-node-move-between-documents-expected.txt: Added.
* fast/events/touch/ios/slider-node-move-between-documents.html: Added.
* fast/events/touch/ios/touch-node-move-between-documents-expected.txt: Added.
* fast/events/touch/ios/touch-node-move-between-documents.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214819 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[SOUP] URI Fragment is lost after redirect
carlosgc@webkit.org [Mon, 3 Apr 2017 17:08:12 +0000 (17:08 +0000)]
[SOUP] URI Fragment is lost after redirect
https://bugs.webkit.org/show_bug.cgi?id=170058

Reviewed by Michael Catanzaro.

Source/WebKit2:

In case of redirection check if the current request has a fragment identifier and apply it to the redirection
only when it doesn't have a fragment identifier yet.

* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::createRequest):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
* NetworkProcess/soup/NetworkDataTaskSoup.h:

LayoutTests:

Add tests to check we correctly handle fragment identifiers on server redirections.

* http/tests/navigation/redirect-preserves-fragment-expected.txt: Added.
* http/tests/navigation/redirect-preserves-fragment.html: Added.
* http/tests/navigation/redirect-to-fragment-expected.txt: Added.
* http/tests/navigation/redirect-to-fragment.html: Added.
* http/tests/navigation/redirect-to-fragment2-expected.txt: Added.
* http/tests/navigation/redirect-to-fragment2.html: Added.
* http/tests/navigation/resources/redirect-preserves-fragment.php: Added.
* http/tests/navigation/resources/redirect-to-fragment.php: Added.
* http/tests/navigation/resources/redirect-to-fragment2.php: Added.
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214807 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agocaptureStream is getting black frames with webgl canvas
commit-queue@webkit.org [Mon, 3 Apr 2017 16:59:41 +0000 (16:59 +0000)]
captureStream is getting black frames with webgl canvas
https://bugs.webkit.org/show_bug.cgi?id=170325

Patch by Youenn Fablet <youenn@apple.com> on 2017-04-03
Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/mediastream/captureStream/canvas3d.html

Changing the webgl context to save buffers in case the canvas is captured.
Adding a canvas changed notification in case of clear.
In the future, we might want to change this notification and do it when endPaint or similar is called.

Adding an Internals API to grab the RGBA equivalent of the next track frame.
For that purpose, adding a bunch of WEBCORE_EXPORT.

* Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::Source): Adding constraints support so that track settings
getter actually transmits the width and height of the source.
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged): ensuring webgl canvas context keep their drawing buffer.
* Modules/mediastream/MediaStreamTrack.h:
* bindings/js/JSDOMGuardedObject.h:
* bindings/js/JSDOMPromise.h:
(WebCore::DeferredPromise::resolve):
(WebCore::DeferredPromise::reject):
* dom/ActiveDOMCallback.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::captureStream):
* html/ImageData.h:
* html/ImageData.idl:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::clear): ensuring canvas observers get notified in case of clear calls.
* html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::preserveDrawingBuffer): Added to allow canvas capture to update this property.
* platform/MediaSample.h:
(WebCore::MediaSample::getRGBAImageData): Added for internals API.
* platform/graphics/avfoundation/MediaSampleAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::getRGBAImageData):
* platform/graphics/cv/PixelBufferConformerCV.cpp:
(WebCore::PixelBufferConformerCV::convert): Helper routine for getRGBAImageData.
* platform/graphics/cv/PixelBufferConformerCV.h:
* platform/mediastream/RealtimeMediaSourceSettings.h:
(WebCore::RealtimeMediaSourceSettings::setSupportedConstraints):
(WebCore::RealtimeMediaSourceSettings::setSupportedConstraits): Deleted.
* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::initializeSettings):
* platform/mediastream/openwebrtc/RealtimeAudioSourceOwr.h:
* platform/mediastream/openwebrtc/RealtimeVideoSourceOwr.h:
* platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::initializeSettings):
* testing/Internals.cpp:
(WebCore::Internals::grabNextMediaStreamTrackFrame):
(WebCore::Internals::videoSampleAvailable):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* fast/mediastream/captureStream/canvas3d-expected.txt: Added.
* fast/mediastream/captureStream/canvas3d.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214806 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoImplement stroke-miterlimit.
pvollan@apple.com [Mon, 3 Apr 2017 13:17:11 +0000 (13:17 +0000)]
Implement stroke-miterlimit.
https://bugs.webkit.org/show_bug.cgi?id=169078

Reviewed by Dean Jackson.

Source/WebCore:

Support stroke-miterlimit for text rendering, see https://drafts.fxtf.org/paint/.

Tests: fast/css/stroke-miterlimit-default.html
       fast/css/stroke-miterlimit-large.html
       fast/css/stroke-miterlimit-zero.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSProperties.json:
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
* rendering/TextPaintStyle.cpp:
(WebCore::computeTextPaintStyle):
(WebCore::updateGraphicsContext):
* rendering/TextPaintStyle.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::strokeMiterLimit):
(WebCore::RenderStyle::setStrokeMiterLimit):
(WebCore::RenderStyle::initialStrokeMiterLimit):
(WebCore::RenderStyle::setStrokeDashOffset):
* rendering/style/RenderStyleConstants.cpp:
* rendering/style/RenderStyleConstants.h:
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff):
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::initialStrokeDashArray):
(WebCore::SVGRenderStyle::strokeDashArray):
(WebCore::SVGRenderStyle::initialStrokeMiterLimit): Deleted.
(WebCore::SVGRenderStyle::strokeMiterLimit): Deleted.
(WebCore::SVGRenderStyle::setStrokeMiterLimit): Deleted.
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleStrokeData::StyleStrokeData):
(WebCore::StyleStrokeData::operator==):
* rendering/style/SVGRenderStyleDefs.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::hasSmoothStroke):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):

LayoutTests:

* fast/css/stroke-miterlimit-default-expected.html: Added.
* fast/css/stroke-miterlimit-default.html: Added.
* fast/css/stroke-miterlimit-large-expected-mismatch.html: Added.
* fast/css/stroke-miterlimit-large.html: Added.
* fast/css/stroke-miterlimit-zero-expected-mismatch.html: Added.
* fast/css/stroke-miterlimit-zero.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMutex may be freed too late in NetworkCache::Storage::traverse
antti@apple.com [Mon, 3 Apr 2017 13:08:46 +0000 (13:08 +0000)]
Mutex may be freed too late in NetworkCache::Storage::traverse
https://bugs.webkit.org/show_bug.cgi?id=170400
<rdar://problem/30515865>

Reviewed by Carlos Garcia Campos and Andreas Kling.

Fix a race.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::traverse):

    Ensure the mutex is not accessed after we dispatch to the main thread.
    The main thread call deletes the owning TraverseOperation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[OWR] Fix class structure for the OWR mock classes after last modifications
commit-queue@webkit.org [Mon, 3 Apr 2017 12:24:23 +0000 (12:24 +0000)]
[OWR] Fix class structure for the OWR mock classes after last modifications
https://bugs.webkit.org/show_bug.cgi?id=170173

Patch by Alejandro G. Castro <alex@igalia.com> on 2017-04-03
Reviewed by Youenn Fablet.

In case of OWR MockRealtimeMediaSource inherits from
RealtimeMediaSourceOwr, so we have to change some of the function
interfaces.

* platform/mock/MockRealtimeMediaSource.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[jsc] Add patchableJumpSize() for MIPS
commit-queue@webkit.org [Mon, 3 Apr 2017 07:58:53 +0000 (07:58 +0000)]
[jsc] Add patchableJumpSize() for MIPS
https://bugs.webkit.org/show_bug.cgi?id=169716

Patch by Zan Dobersek <zdobersek@igalia.com> on 2017-04-03
Reviewed by Yusuke Suzuki.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::patchableJumpSize): Added.
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::patchableJumpSize): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[jsc] implement MIPSAssembler::relinkJumpToNop()
commit-queue@webkit.org [Mon, 3 Apr 2017 07:43:16 +0000 (07:43 +0000)]
[jsc] implement MIPSAssembler::relinkJumpToNop()
https://bugs.webkit.org/show_bug.cgi?id=169720

Patch by Guillaume Emont <guijemont@igalia.com> on 2017-04-03
Reviewed by Yusuke Suzuki.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::relinkJumpToNop): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoShare implementation of JSRunLoopTimer::timerDidFire
carlosgc@webkit.org [Mon, 3 Apr 2017 05:41:30 +0000 (05:41 +0000)]
Share implementation of JSRunLoopTimer::timerDidFire
https://bugs.webkit.org/show_bug.cgi?id=170392

Reviewed by Michael Catanzaro.

The code is cross-platform but it's duplicated in CF and GLib implementations, it could be shared instead.

* runtime/JSRunLoopTimer.cpp:
(JSC::JSRunLoopTimer::timerDidFire): Move common implementation here.
(JSC::JSRunLoopTimer::setRunLoop): Use timerDidFireCallback.
(JSC::JSRunLoopTimer::timerDidFireCallback): Call JSRunLoopTimer::timerDidFire().
* runtime/JSRunLoopTimer.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214732 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove accidentally added DumpJSConsoleLogInStdErr from http/tests/fetch/fetch-in...
ap@apple.com [Mon, 3 Apr 2017 03:30:14 +0000 (03:30 +0000)]
Remove accidentally added DumpJSConsoleLogInStdErr from http/tests/fetch/fetch-in-worker-crash.html expectation.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214731 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoBuild fix for
ap@apple.com [Mon, 3 Apr 2017 03:13:42 +0000 (03:13 +0000)]
Build fix for
Add missing text styles
https://bugs.webkit.org/show_bug.cgi?id=170295

Source/WebCore:

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::cachedSystemFontDescription):
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):

LayoutTests:

* platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214730 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix lint errors.
ap@apple.com [Mon, 3 Apr 2017 01:26:31 +0000 (01:26 +0000)]
Fix lint errors.

* TestExpectations:
* platform/ios-wk1/TestExpectations:
* platform/ios-wk2/TestExpectations:
* platform/ios/TestExpectations:
* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMark http/tests/fetch/fetch-in-worker-crash.html and imported/w3c/web-platform-tests...
ap@apple.com [Sun, 2 Apr 2017 18:55:45 +0000 (18:55 +0000)]
Mark http/tests/fetch/fetch-in-worker-crash.html and imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html as flaky.

For https://bugs.webkit.org/show_bug.cgi?id=170395
rdar://problem/30975761, rdar://problem/31394017

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214727 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoLong Arabic text in ContentEditable with css white-space=pre hangs Safari
zalan@apple.com [Sun, 2 Apr 2017 05:39:29 +0000 (05:39 +0000)]
Long Arabic text in ContentEditable with css white-space=pre hangs Safari
https://bugs.webkit.org/show_bug.cgi?id=170245

Reviewed by Myles C. Maxfield.

While searching for mid-word break, we measure the text by codepoints in a loop until the accumulated width > available width.
When we see that the accumulated width for the individual codepoints overflows, we join the codepoints and re-measure them.
These 2 widths could be considerably different for number of reasons (ligatures is a prime example). When we figure that
the run still fits, we go back to the main loop (since we are not supposed to wrap the line here) and take the next codepoint.
However this time we start the measurement from the last whitespace, so we end up remeasuring a potentially long chuck of text
until we hit the wrapping point. This is way too expensive.
This patch changes the logic so that we just go back to measuring individual codepoints until we hit the constrain again.

Covered by existing tests.

* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText): canUseSimpleFontCodePath() is just to mitigate the potential risk of regression and
complex text is more likely to fall into this category.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214726 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAdd test for expected fallback behavior between stroke-width and -webkit-text-stroke...
pvollan@apple.com [Sun, 2 Apr 2017 05:28:53 +0000 (05:28 +0000)]
Add test for expected fallback behavior between stroke-width and -webkit-text-stroke-width.
https://bugs.webkit.org/show_bug.cgi?id=169466

Reviewed by Jon Lee.

Now that we have added support for stroke-width, we should have a test for expected fallback behavior between
stroke-width and -webkit-text-stroke-width. Currently, stroke-width is always preferred, also when inherited,
and when -webkit-text-stroke-width is declared inline. When stroke-width is not specified, we fall back to
-webkit-text-stroke-width.

* fast/css/stroke-width-fallback-expected.html: Added.
* fast/css/stroke-width-fallback.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214725 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAdd missing text styles
jonlee@apple.com [Sun, 2 Apr 2017 05:28:10 +0000 (05:28 +0000)]
Add missing text styles
https://bugs.webkit.org/show_bug.cgi?id=170295
rdar://problem/30219503

Reviewed by Dean Jackson.

Source/WebCore:

Updated existing test to include new text styles.

* css/CSSValueKeywords.in: Add title0 and title4.
* platform/spi/cocoa/CoreTextSPI.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::cachedSystemFontDescription):
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):

Source/WebInspectorUI:

* UserInterface/Models/CSSKeywordCompletions.js: Update keyword completions

LayoutTests:

* platform/ios/ios/fast/text/opticalFontWithTextStyle.html: Update test to include title0 and title4.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214724 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[iOS] <input type=file> label should be specified using plural rules
mitz@apple.com [Sun, 2 Apr 2017 04:53:39 +0000 (04:53 +0000)]
[iOS] <input type=file> label should be specified using plural rules
https://bugs.webkit.org/show_bug.cgi?id=170388

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* English.lproj/Localizable.strings: Updated using update-webkit-localizable-strings.

* English.lproj/Localizable.stringsdict: Added an entry for the new key "%lu photo(s) and
  %lu video(s)", with plural rules covering all the different combinations in English.
  Other localizations may specify additional combinations as needed.

Source/WebKit2:

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:processedImageCount:processedVideoCount:successBlock:failureBlock:]):
  Instead of calling -_displayStringForPhotos:videos:, use
  +[NSString localizedStringWithFormat:] with the new format string "%lu photo(s) and
  %lu video(s)" for which there are plural rules.
(-[WKFileUploadPanel _displayStringForPhotos:videos:]): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214723 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRolling back <https://trac.webkit.org/r214697>, as it made WebKit2.DataDetectionRefer...
ap@apple.com [Sun, 2 Apr 2017 01:56:34 +0000 (01:56 +0000)]
Rolling back <https://trac.webkit.org/r214697>, as it made WebKit2.DataDetectionReferenceDate time out.

Was REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
https://bugs.webkit.org/show_bug.cgi?id=170365

Source/WebCore:

* editing/cocoa/DataDetection.mm:
(WebCore::searchForLinkRemovingExistingDDLinks):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214722 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWe should pause silent WebAudio rendering in background tabs
cdumez@apple.com [Sun, 2 Apr 2017 00:55:20 +0000 (00:55 +0000)]
We should pause silent WebAudio rendering in background tabs
https://bugs.webkit.org/show_bug.cgi?id=170299
<rdar://problem/31289132>

Reviewed by Eric Carlson.

Source/WebCore:

We should pause silent WebAudio rendering in background tabs since it uses CPU and is
not observable by the user. Such silent WebAudio rendering seems to be used by
doubleclick ads.

Test: webaudio/silent-audio-interrupted-in-background.html

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::lazyInitialize):
(WebCore::AudioContext::uninitialize):
Have AudioContext register / unregister itself with the Document to get
visibility change notifications, similarly to what HTMLMediaElement was
already doing.

(WebCore::AudioContext::visibilityStateChanged):
Begin / End session interruption whenever the page visiblity changes.

* Modules/webaudio/AudioContext.h:
* WebCore.xcodeproj/project.pbxproj:

* dom/Document.cpp:
(WebCore::Document::registerForVisibilityStateChangedCallbacks):
(WebCore::Document::unregisterForVisibilityStateChangedCallbacks):
(WebCore::Document::visibilityStateChanged):
* dom/Document.h:
* dom/Element.h:
* dom/VisibilityChangeClient.h: Added.
(WebCore::VisibilityChangeClient::~VisibilityChangeClient):
* html/HTMLMediaElement.h:
Introduce a new VisibilityChangeClient interface and have both AudioContext
and HTMLMediaElement subclass it. Previously, the visibilityStateChanged()
function was on Element but this prevented AudioContext from registering
itself since AudioContext is not an Element.

LayoutTests:

Add layout test coverage.

* webaudio/silent-audio-interrupted-in-background-expected.txt: Added.
* webaudio/silent-audio-interrupted-in-background.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214721 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[Cocoa] A couple of UI strings use three periods instead of an ellipsis
mitz@apple.com [Sun, 2 Apr 2017 00:17:55 +0000 (00:17 +0000)]
[Cocoa] A couple of UI strings use three periods instead of an ellipsis
https://bugs.webkit.org/show_bug.cgi?id=170386

Reviewed by Tim Horton.

* English.lproj/Localizable.strings: Updated using update-webkit-localizable-strings.

* platform/LocalizedStrings.cpp:
(WebCore::mediaElementLoadingStateText): Changed "Loading..." to "Loading…".

* platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::contextMenuItemTagStyles): Changed "Styles..." to "Styles…".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214720 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoLocalizable strings files are out of date
mitz@apple.com [Sun, 2 Apr 2017 00:03:51 +0000 (00:03 +0000)]
Localizable strings files are out of date
https://bugs.webkit.org/show_bug.cgi?id=170383

Reviewed by Tim Horton.

Ran update-webkit-localizable-strings.

Source/WebCore:

* English.lproj/Localizable.strings:

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214719 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[Xcode] In engineering builds, linker warns about libwebrtc.dylib’s install name...
mitz@apple.com [Sat, 1 Apr 2017 22:57:47 +0000 (22:57 +0000)]
[Xcode] In engineering builds, linker warns about libwebrtc.dylib’s install name being invalid
https://bugs.webkit.org/show_bug.cgi?id=170385

Reviewed by Tim Horton.

Source/WebCore:

* Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES like we do
  in some other projects’ DebugRelease.xcconfig. Engineering builds are always relocatable.
* Configurations/WebCore.xcconfig: When WebCore is relocatable, tell the linker that it’s
  not going to be in the shared cache, even if its install name implies that it might be.

Source/WebKit2:

* Configurations/WebKit.xcconfig: When WebKit is relocatable, tell the linker that it’s
  not going to be in the shared cache, even if its install name implies that it might be.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214718 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMac cmake buildfix after 214586.
ossy@webkit.org [Sat, 1 Apr 2017 12:48:30 +0000 (12:48 +0000)]
Mac cmake buildfix after 214586.
https://bugs.webkit.org/show_bug.cgi?id=170381

Unreviewed speculative buildfix.

* WebKitTestRunner/PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214717 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMac cmake buildfix after 214586.
ossy@webkit.org [Sat, 1 Apr 2017 12:35:20 +0000 (12:35 +0000)]
Mac cmake buildfix after 214586.
https://bugs.webkit.org/show_bug.cgi?id=170381

Unreviewed.

* wtf/BlockPtr.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214716 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed speculative Mac cmake buildfix after r214586, just for fun.
ossy@webkit.org [Sat, 1 Apr 2017 10:25:11 +0000 (10:25 +0000)]
Unreviewed speculative Mac cmake buildfix after r214586, just for fun.
https://bugs.webkit.org/show_bug.cgi?id=161675

* WebKitTestRunner/PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214715 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoObject with numerical keys with gaps gets filled by NaN values
gskachkov@gmail.com [Sat, 1 Apr 2017 08:14:15 +0000 (08:14 +0000)]
Object with numerical keys with gaps gets filled by NaN values
https://bugs.webkit.org/show_bug.cgi?id=164412

Reviewed by Mark Lam.

This patch fixes issue when object have two properties
with name as number. The issue appears when during invoking
convertDoubleToArrayStorage, array is filled by pNaN and
method converting it to real NaN. This happeneds because a
pNaN in a Double array is a hole, and Double arrays cannot
have NaN values. To fix issue we need to check value and
clear it if it pNaN.

Source/JavaScriptCore:
* runtime/JSObject.cpp:
(JSC::JSObject::convertDoubleToArrayStorage):

JSTests:
* stress/object-number-properties.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214714 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRolling back http://trac.webkit.org/r214663 - memory corruption
ap@apple.com [Sat, 1 Apr 2017 07:47:17 +0000 (07:47 +0000)]
Rolling back trac.webkit.org/r214663 - memory corruption

Source/WebCore:

* Modules/streams/ReadableByteStreamInternals.js:
(cloneArrayBuffer):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
* bindings/js/StructuredClone.cpp:
(WebCore::structuredCloneArrayBuffer):
(WebCore::cloneArrayBufferImpl): Deleted.
(WebCore::cloneArrayBuffer): Deleted.
* bindings/js/StructuredClone.h:
* bindings/js/WebCoreBuiltinNames.h:
* testing/Internals.cpp:
(WebCore::markerTypeFrom):
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::isLoadingFromMemoryCache):
(WebCore::Internals::setImageFrameDecodingDuration):
(WebCore::deferredStyleRulesCountForList):
(WebCore::deferredGroupRulesCountForList):
(WebCore::deferredKeyframesRulesCountForList):
(WebCore::Internals::eventThrottlingBehaviorOverride):
(WebCore::Internals::enableMockSpeechSynthesizer):
(WebCore::Internals::rangeForDictionaryLookupAtLocation):
(WebCore::Internals::nodesFromRect):
(WebCore::Internals::layerIDForElement):
(WebCore::Internals::setElementUsesDisplayListDrawing):
(WebCore::Internals::setElementTracksDisplayListReplay):
(WebCore::Internals::styleRecalcCount):
(WebCore::Internals::compositingUpdateCount):
(WebCore::Internals::setCaptionDisplayMode):
(WebCore::Internals::endMediaSessionInterruption):
(WebCore::Internals::postRemoteControlCommand):
(WebCore::appendOffsets):
(WebCore::Internals::scrollSnapOffsets):
(WebCore::Internals::setShowAllPlugins):
(WebCore::Internals::cloneArrayBuffer): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* streams/readable-stream-byob-request-expected.txt:
* streams/readable-stream-byob-request.js:
(self.importScripts.test): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago<table>: Including <caption>, <thead> or <tbody> causes clipping across page breaks
zalan@apple.com [Sat, 1 Apr 2017 06:30:00 +0000 (06:30 +0000)]
<table>: Including <caption>, <thead> or <tbody> causes clipping across page breaks
https://bugs.webkit.org/show_bug.cgi?id=170348
<rdar://problem/24727151>

Reviewed by David Hyatt.

Source/WebCore:

1. In RenderFlowThread::offsetFromLogicalTopOfFirstRegion() we need to take table section offset into account (they are skipped
during the containing block traversal).
2. Trigger paginated relayout when body is moved vertically due to caption/thead etc.

Test: fast/multicol/table-section-page-break.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):

LayoutTests:

* fast/multicol/table-section-page-break-expected.html: Added.
* fast/multicol/table-section-page-break.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214712 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebAssembly: Make our calls out to JS PIC friendly
sbarati@apple.com [Sat, 1 Apr 2017 02:09:51 +0000 (02:09 +0000)]
WebAssembly: Make our calls out to JS PIC friendly
https://bugs.webkit.org/show_bug.cgi?id=170261

Reviewed by Keith Miller.

This patch removes a direct call from the module to the Wasm to JS stub.
Instead, we do an indirect call to the stub by loading the stub's executable
address off of the CodeBlock. This is to make the code we emit for comply with
requirements needed for PIC.

Adding this indirection is not ideal. Although this patch is neutral on
WasmBench, we really want to get back to a world where we have an IC
call infrastructure. This patch is obviously a regression on some
types of programs. I've filed this bug to make sure we implement a
PIC compliant Wasm to JS call IC:
https://bugs.webkit.org/show_bug.cgi?id=170375

* wasm/WasmB3IRGenerator.cpp:
* wasm/WasmFormat.h:
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::complete):
* wasm/js/JSWebAssemblyCodeBlock.cpp:
(JSC::JSWebAssemblyCodeBlock::initialize):
* wasm/js/JSWebAssemblyCodeBlock.h:
(JSC::JSWebAssemblyCodeBlock::create):
(JSC::JSWebAssemblyCodeBlock::offsetOfImportWasmToJSStub):
(JSC::JSWebAssemblyCodeBlock::offsetOfCallees):
(JSC::JSWebAssemblyCodeBlock::allocationSize):
(JSC::JSWebAssemblyCodeBlock::importWasmToJSStub):
* wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::addUnitializedCodeBlock):
* wasm/js/JSWebAssemblyInstance.h:
(JSC::JSWebAssemblyInstance::offsetOfCodeBlock):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214711 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed. Add some WebGPU examples.
dino@apple.com [Sat, 1 Apr 2017 02:05:01 +0000 (02:05 +0000)]
Unreviewed. Add some WebGPU examples.

* demos/webgpu/2d.html: Added.
* demos/webgpu/2d.js: Added.
* demos/webgpu/cubes.html: Added.
* demos/webgpu/cubes.js: Added.
* demos/webgpu/shared.css: Added.
* demos/webgpu/shared.js: Added.
* demos/webgpu/simple.html: Added.
* demos/webgpu/simple.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214710 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebAssembly: webAssemblyB3OptimizationLevel should use defaultB3OptLevel by default
keith_miller@apple.com [Sat, 1 Apr 2017 01:54:53 +0000 (01:54 +0000)]
WebAssembly: webAssemblyB3OptimizationLevel should use defaultB3OptLevel by default
https://bugs.webkit.org/show_bug.cgi?id=170378

Reviewed by Saam Barati.

* runtime/Options.h:
* wasm/WasmB3IRGenerator.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214709 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebAssembly: Add compilation level option
keith_miller@apple.com [Sat, 1 Apr 2017 00:47:38 +0000 (00:47 +0000)]
WebAssembly: Add compilation level option
https://bugs.webkit.org/show_bug.cgi?id=170374

Reviewed by Mark Lam.

This patch adds an option, webAssemblyB3OptimizationLevel, which
changes the optimization mode wasm passes to B3.

* runtime/Options.h:
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::compileFunctions):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214708 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoBuild fix. For OS versions, we can end up with non-alphanumeric revision.
rniwa@webkit.org [Sat, 1 Apr 2017 00:45:51 +0000 (00:45 +0000)]
Build fix. For OS versions, we can end up with non-alphanumeric revision.
Delete the code path only used by the v2 UI since nobody uses that now.

* public/api/commits.php:
(main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoLayoutTest fast/images/animated-gif-restored-from-bfcache.html is a flaky failure
cdumez@apple.com [Sat, 1 Apr 2017 00:31:34 +0000 (00:31 +0000)]
LayoutTest fast/images/animated-gif-restored-from-bfcache.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=162510
<rdar://problem/31380650>

Reviewed by Alexey Proskuryakov.

The test restores a page from PageCache and wants to check that an animated
GIF is properly animating. To do so, it store the data of the current image
frame, and then checks in a 100ms timer that the current image frame is
different. This is flaky by nature since the image only has 10 frames and
you therefore have a 1/10 chance that the new frame will be the same as the
previous one, even if the image is properly animating.

To address the problem, do a setInterval instead of a setTimeout and check
until the frame becomes different.

* fast/images/animated-gif-restored-from-bfcache.html:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214706 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agowebkitpy: Add target host concept
jbedard@apple.com [Sat, 1 Apr 2017 00:24:48 +0000 (00:24 +0000)]
webkitpy: Add target host concept
https://bugs.webkit.org/show_bug.cgi?id=170186
<rdar://problem/31301797>

Reviewed by Alexey Proskuryakov.

Adding the idea of a target host. Target hosts are objects conforming to the
structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py
Target hosts are the hosts associated with a worker process.

* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.map_base_host_path): Convert a path from an absolute path on the base
host to an absolute path on this host.
(FileSystem.move_to_base_host): Move file from this host to the base host.
(FileSystem.move_from_base_host): Move file from the base host to this host.
(FileSystem.copy_to_base_host): Copy file from this host to the base host.
(FileSystem.copy_from_base_host): Copy file from the base host to this host.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base
host to an absolute path on this host.
(MockFileSystem.move_to_base_host): Move file from this host to the base host.
(MockFileSystem.move_from_base_host): Move file from the base host to this host.
(MockFileSystem.copy_to_base_host): Copy file from this host to the base host.
(MockFileSystem.copy_from_base_host): Copy file from the base host to this host.
* Scripts/webkitpy/port/base.py:
(Port.target_host): Return host determined by worker number.
(Port.abspath_for_test): Accept optional target_host argument to return location
of test on a target host.
(Port._driver_tempdir): Accept optional target_host argument to return a temporary
directory on a target host.
(Port.sample_process): Accept optional target_host argument to sample process on
a target host.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.sample_process): Run sample process on target host.
(DarwinPort.sample_file_path): Accept directory for file.
(DarwinPort.spindump_file_path): Ditto.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_spindump): Check file movement.
(DarwinTest.test_sample_process): Ditto.
(DarwinTest.test_sample_process_exception):
* Scripts/webkitpy/port/driver.py:
(Driver.__init__): Add and set self._target_host variable.
(Driver._start): Pass target host to _driver_tempdir().
(Driver.stop): Call the target host's rmtree.
(Driver._check_for_driver_timeout): Pass target host to sample_process.
(Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
(Driver._command_from_driver_input): Pass target host to abspath_for_test and map
layout test directory to target host.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
(IOSPort.target_host): Replaced device_for_worker_number.
(IOSPort.setup_test_run): Replace device_for_worker_number with target_host.
(IOSPort.device_for_worker_number): Replaced with target_host.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.__init__): Accept target_host instead of worker_number.
(ServerProcess._start): Replace _host with _target_host.
(ServerProcess._handle_timeout): Ditto.
(ServerProcess._kill): Ditto.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.__init__): Accept target_host instead of worker_number.
(SimulatorProcess._start): Replace _device with _target_host.
(SimulatorProcess.stop): Ditto.
(SimulatorProcess._kill): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214705 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRename DOMWindow's m_touchEventListenerCount to m_touchAndGestureEventListenerCount
simon.fraser@apple.com [Sat, 1 Apr 2017 00:11:08 +0000 (00:11 +0000)]
Rename DOMWindow's m_touchEventListenerCount to m_touchAndGestureEventListenerCount
https://bugs.webkit.org/show_bug.cgi?id=170371

Reviewed by Tim Horton.

This count tracks touch and gesture event listeners, so name it appropriately.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* page/DOMWindow.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214703 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWhen destroying a Node, assert that it's been removed from all the touch handler...
simon.fraser@apple.com [Sat, 1 Apr 2017 00:10:59 +0000 (00:10 +0000)]
When destroying a Node, assert that it's been removed from all the touch handler maps
https://bugs.webkit.org/show_bug.cgi?id=170363
rdar://problem/31377469

Reviewed by Tim Horton.

Assert that the Node has been removed from the touch handler maps in all documents on destruction.

* dom/Document.h:
(WebCore::Document::hasTouchEventHandlers):
(WebCore::Document::touchEventTargetsContain):
* dom/Node.cpp:
(WebCore::Node::~Node):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214702 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove a logging statement left in by mistake.
simon.fraser@apple.com [Sat, 1 Apr 2017 00:00:52 +0000 (00:00 +0000)]
Remove a logging statement left in by mistake.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::restoreViewState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214701 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRolling back https://trac.webkit.org/r214689, as it caused many crashes.
ap@apple.com [Fri, 31 Mar 2017 23:59:20 +0000 (23:59 +0000)]
Rolling back https://trac.webkit.org/r214689, as it caused many crashes.

Was:
Fix memory leak in CreateSessionDescriptionObserver::OnSuccess
https://bugs.webkit.org/show_bug.cgi?id=170357

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214700 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix memory leak in RealtimeVideoIncomingSource
commit-queue@webkit.org [Fri, 31 Mar 2017 23:55:07 +0000 (23:55 +0000)]
Fix memory leak in RealtimeVideoIncomingSource
https://bugs.webkit.org/show_bug.cgi?id=170356

Patch by Youenn Fablet <youenn@apple.com> on 2017-03-31
Reviewed by Eric Carlson.

No change of behavior.

* platform/mediastream/mac/RealtimeIncomingVideoSource.cpp:
(WebCore::RealtimeIncomingVideoSource::OnFrame): Adopting the newly created pointer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214699 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed fix after r214569
jbedard@apple.com [Fri, 31 Mar 2017 23:38:17 +0000 (23:38 +0000)]
Unreviewed fix after r214569
https://bugs.webkit.org/show_bug.cgi?id=170255

Unreviewed infrastructure fix.

* Scripts/webkitpy/port/ios.py:
(IOSPort.clean_up_test_run): Check if the device is defined before teardown.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214698 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoREGRESSION (r202472): Data Detection overwrites existing links in detected ranges
aestes@apple.com [Fri, 31 Mar 2017 23:33:24 +0000 (23:33 +0000)]
REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
https://bugs.webkit.org/show_bug.cgi?id=170365
<rdar://problem/29205721>

Reviewed by Tim Horton.

Source/WebCore:

r202472 changed the node traversal in searchForLinkRemovingExistingDDLinks() to only
consider nodes that are descendants of startNode, but we need to traverse all nodes between
startNode and endNode to find existing non-DD links.

As a result, we'd add a Data Detector link to the following snippet and make the original
links un-clickable:

    <a href='#'>tomorrow</a> <a href='#'>night</a>

Fix this by not specifying a stayWithin node when calling NodeTraversal::next(). The loop
will terminate when we reach endNode.

Updated WebKit2.DataDetectionReferenceDate API test.

* editing/cocoa/DataDetection.mm:
(WebCore::searchForLinkRemovingExistingDDLinks):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
(TEST): Re-enabled the test, which now passes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214697 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAddress post-review feedback after r214692
wenson_hsieh@apple.com [Fri, 31 Mar 2017 23:19:11 +0000 (23:19 +0000)]
Address post-review feedback after r214692
https://bugs.webkit.org/show_bug.cgi?id=170328

Reviewed by Dan Bernstein.

Clearing the selection when UIKit calls into WKContentView to set its selected text range to nil is a rule
that should be applied when using a text interaction assistant, not just when using character granularity
for selecting text.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setSelectedTextRange:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214696 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebAssembly: Strip WasmParser and WasmFunctionParser from knowing about VM
sbarati@apple.com [Fri, 31 Mar 2017 23:06:20 +0000 (23:06 +0000)]
WebAssembly: Strip WasmParser and WasmFunctionParser from knowing about VM
https://bugs.webkit.org/show_bug.cgi?id=170312

Reviewed by Mark Lam.

This is another step towards PIC-ifying Wasm. This patch removes
the VM field that is no longer used.

* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::parseAndCompile):
* wasm/WasmB3IRGenerator.h:
* wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::FunctionParser):
* wasm/WasmModuleParser.h:
(JSC::Wasm::ModuleParser::ModuleParser):
* wasm/WasmParser.h:
(JSC::Wasm::Parser<SuccessType>::Parser):
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::parseAndValidateModule):
(JSC::Wasm::Plan::compileFunctions):
* wasm/WasmValidate.cpp:
(JSC::Wasm::validateFunction):
* wasm/WasmValidate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214695 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoIncoming video source doesn't propogate frame rotation
eric.carlson@apple.com [Fri, 31 Mar 2017 22:50:47 +0000 (22:50 +0000)]
Incoming video source doesn't propogate frame rotation
https://bugs.webkit.org/show_bug.cgi?id=170364

Reviewed by Youenn Fablet.

No new tests, the mock video source doesn't support rotation. Test will be added when
this is fixed in https://bugs.webkit.org/show_bug.cgi?id=169822. The changes were
verified manually.

* platform/mediastream/mac/RealtimeIncomingVideoSource.cpp:
(WebCore::RealtimeIncomingVideoSource::OnFrame): Convert frame rotation to sample
orientation and swap width and height when necessary.
(WebCore::RealtimeIncomingVideoSource::processNewSample):
* platform/mediastream/mac/RealtimeIncomingVideoSource.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214694 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoPossible null dereference under SourceBuffer::sourceBufferPrivateDidReceiveSample()
cdumez@apple.com [Fri, 31 Mar 2017 22:48:50 +0000 (22:48 +0000)]
Possible null dereference under SourceBuffer::sourceBufferPrivateDidReceiveSample()
https://bugs.webkit.org/show_bug.cgi?id=159639

Reviewed by Eric Carlson.

Add a null check for trackBuffer.description before dereferencing as it seems
it can be null.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214693 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WK2] Tapping away to dismiss the selection does not update the selected DOM range...
wenson_hsieh@apple.com [Fri, 31 Mar 2017 22:36:00 +0000 (22:36 +0000)]
[WK2] Tapping away to dismiss the selection does not update the selected DOM range using character granularity
https://bugs.webkit.org/show_bug.cgi?id=170328
<rdar://problem/30904558>

Reviewed by Tim Horton.

Source/WebKit2:

When UIKit clears the selection while in text interaction mode, it notifies its document view (i.e., the
WKContentView) by setting its selected text range to nil. When character granularity selection is enabled, use
this as a cue to notify the web process that the selection is being cleared out.

-setSelectedTextRange: is a noop in the general case because the web process acts as the source of truth for what
the selection currently consists of, and notifies the UI process and UIKit via WKTextPosition and WKTextRange.
However, in the case of character granularity selections, tapping away to clear the selection is handled by
UIKit's text gesture recognizer cluster, which then informs the document (via -setSelectedTextRange:) that the
selection should be cleared out.

Adds a new Layout test: editing/selection/character-granularity-selected-range-after-dismissing-selection.html.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setSelectedTextRange:]):

LayoutTests:

Adds a new layout test verifying that when a user taps away to clear the current selection in character
granularity selection mode, the selected DOM range in the web process does not fall out of sync with UIKit's
selection views, which are dismissed.

* editing/selection/character-granularity-selected-range-after-dismissing-selection-expected.txt: Added.
* editing/selection/character-granularity-selected-range-after-dismissing-selection.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214692 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebAssembly: Ref count Signature and SignatureInformation should not care about VM
sbarati@apple.com [Fri, 31 Mar 2017 22:18:27 +0000 (22:18 +0000)]
WebAssembly: Ref count Signature and SignatureInformation should not care about VM
https://bugs.webkit.org/show_bug.cgi?id=170316

Reviewed by Keith Miller.

This is yet again another step towards PIC-ifying Wasm.
Signature should be ref counted so we can tell when
no code is holding onto a Signature. This makes it easy
to free unused Signatures. Also, this patch rids SignatureInfo
of any VM knowledge. Now, there is just a single SignatureInfo that
lives in a process.

* runtime/VM.h:
* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::createJSToWasmWrapper):
(JSC::Wasm::parseAndCompile):
* wasm/WasmB3IRGenerator.h:
* wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToJs):
* wasm/WasmCallingConvention.h:
(JSC::Wasm::CallingConvention::loadArguments):
* wasm/WasmFormat.h:
* wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::FunctionParser):
* wasm/WasmModuleParser.cpp:
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::parseAndValidateModule):
(JSC::Wasm::Plan::compileFunctions):
(JSC::Wasm::Plan::complete):
* wasm/WasmSignature.cpp:
(JSC::Wasm::Signature::hash):
(JSC::Wasm::Signature::tryCreate):
(JSC::Wasm::SignatureInformation::SignatureInformation):
(JSC::Wasm::SignatureInformation::singleton):
(JSC::Wasm::SignatureInformation::adopt):
(JSC::Wasm::SignatureInformation::get):
(JSC::Wasm::SignatureInformation::tryCleanup):
(JSC::Wasm::Signature::create): Deleted.
(JSC::Wasm::Signature::createInvalid): Deleted.
(JSC::Wasm::Signature::destroy): Deleted.
(JSC::Wasm::SignatureInformation::~SignatureInformation): Deleted.
* wasm/WasmSignature.h:
(JSC::Wasm::Signature::allocatedSize):
(JSC::Wasm::Signature::operator==):
* wasm/WasmValidate.cpp:
(JSC::Wasm::validateFunction):
* wasm/WasmValidate.h:
* wasm/js/JSWebAssemblyModule.cpp:
(JSC::JSWebAssemblyModule::destroy):
* wasm/js/WebAssemblyFunction.cpp:
(JSC::callWebAssemblyFunction):
* wasm/js/WebAssemblyFunction.h:
* wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):
(JSC::WebAssemblyModuleRecord::evaluate):
* wasm/js/WebAssemblyWrapperFunction.cpp:
(JSC::WebAssemblyWrapperFunction::create):
* wasm/js/WebAssemblyWrapperFunction.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214691 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAdd a test to ensure webrtc generated certificates and names are ephemeral
commit-queue@webkit.org [Fri, 31 Mar 2017 22:08:36 +0000 (22:08 +0000)]
Add a test to ensure webrtc generated certificates and names are ephemeral
https://bugs.webkit.org/show_bug.cgi?id=170225

Patch by Youenn Fablet <youenn@apple.com> on 2017-03-31
Reviewed by Jon Lee.

* webrtc/ephemeral-certificates-and-cnames-expected.txt: Added.
* webrtc/ephemeral-certificates-and-cnames.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoFix memory leak in CreateSessionDescriptionObserver::OnSuccess
commit-queue@webkit.org [Fri, 31 Mar 2017 22:05:22 +0000 (22:05 +0000)]
Fix memory leak in CreateSessionDescriptionObserver::OnSuccess
https://bugs.webkit.org/show_bug.cgi?id=170357

Patch by Youenn Fablet <youenn@apple.com> on 2017-03-31
Reviewed by Geoffrey Garen.

No change of behavior.

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded): Adopting the raw pointer parameter.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WinCairo] WebCore::PlatformDisplay::terminateEGLDisplay causes a crash in libGLESv2...
commit-queue@webkit.org [Fri, 31 Mar 2017 22:03:39 +0000 (22:03 +0000)]
[WinCairo] WebCore::PlatformDisplay::terminateEGLDisplay causes a crash in libGLESv2.dll while processing atexit
https://bugs.webkit.org/show_bug.cgi?id=170331

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-03-31
Reviewed by Michael Catanzaro.

Source/WebCore:

WebCore::PlatformDisplay uses atexit to destruct EGL displays
while exiting process. But, when the atexit will be processed,
heap of libGLESv2.dll would be already destructed and causing a
crash on Windows. Do not use atexit for Windows.

AppleWin port does not use PlatformDisplay. Thus, it does not have
this bug.

* platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::initializeEGLDisplay): Do not use atexit for Windows.
(WebCore::PlatformDisplay::shutDownEglDisplays): Added.
* platform/graphics/PlatformDisplay.h: Added a declaration of shutDownEglDisplays.

Source/WebKit/win:

* WebKitDLL.cpp:
(shutDownWebKit): Call PlatformDisplay::shutDownEglDisplays in shutDownWebKit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214688 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[WK2] Tapping editable text inside of a range selection no longer changes the selecti...
wenson_hsieh@apple.com [Fri, 31 Mar 2017 21:46:42 +0000 (21:46 +0000)]
[WK2] Tapping editable text inside of a range selection no longer changes the selection to a caret
https://bugs.webkit.org/show_bug.cgi?id=170327
<rdar://problem/31363816>

Reviewed by Tim Horton.

Source/WebKit2:

Currently, we're forcing all text interaction gestures to duck in lieu of data interaction gestures
when we should only be doing so for gestures that begin a loupe. This prevents other gestures, such as
single taps, from changing the selection when they should be allowed to.

Hooks into new UIKit SPI to make this tweak.
Introduces a new LayoutTest: editing/selection/caret-after-tap-in-editable-selection.html.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointIsInAssistedNode:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):

LayoutTests:

Adds a new WK2 interaction test for iOS verifying that tapping a selection in editable content sets the selection
to a caret, rather than maintaining the range selection. This test is disabled in OpenSource, since it relies on
synthetic touch events.

* TestExpectations:
* editing/selection/caret-after-tap-in-editable-selection-expected.txt: Added.
* editing/selection/caret-after-tap-in-editable-selection.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214687 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoArray.prototype.splice() should not be using JSArray::tryCreateForInitializationPriva...
mark.lam@apple.com [Fri, 31 Mar 2017 20:18:05 +0000 (20:18 +0000)]
Array.prototype.splice() should not be using JSArray::tryCreateForInitializationPrivate().
https://bugs.webkit.org/show_bug.cgi?id=170303
<rdar://problem/31358281>

Reviewed by Filip Pizlo.

This is because it needs to call getProperty() later to get the values for
initializing the array.  getProperty() can execute arbitrary code and potentially
trigger the GC.  This is not allowed for clients of JSArray::tryCreateForInitializationPrivate().

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
(JSC::copySplicedArrayElements): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214684 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMail can get stuck underneath FindController::findStringMatches after searching in...
timothy_horton@apple.com [Fri, 31 Mar 2017 19:56:30 +0000 (19:56 +0000)]
Mail can get stuck underneath FindController::findStringMatches after searching in a long message
https://bugs.webkit.org/show_bug.cgi?id=170326
<rdar://problem/30330395>

Reviewed by Simon Fraser.

Source/WebKit2:

* UIProcess/mac/WKTextFinderClient.mm:
(-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
Cap the number of find matches at 1000, the same maximum that Safari uses.

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
(TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove PRELOAD_DEBUG related code.
yoav@yoav.ws [Fri, 31 Mar 2017 19:42:07 +0000 (19:42 +0000)]
Remove PRELOAD_DEBUG related code.
https://bugs.webkit.org/show_bug.cgi?id=170352

Reviewed by Youenn Fablet.

As the PRELOAD_DEBUG related code stopped building and it seems like no one noticed,
it seems safe to assume that we can remove that code. This patch removes it.

No new tests as there's no functional change.

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::clearPreloads):
(WebCore::CachedResourceLoader::printPreloadStats): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214682 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoClean up the "StorageType" enum.
beidson@apple.com [Fri, 31 Mar 2017 19:27:52 +0000 (19:27 +0000)]
Clean up the "StorageType" enum.
https://bugs.webkit.org/show_bug.cgi?id=170349

Reviewed by Tim Horton.

Source/WebCore:

- Make this `enum` into an `enum class`
- Add a new type specific for "transient local storage"

No new tests (No behavior change).

* WebCore.xcodeproj/project.pbxproj:

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):

* inspector/InspectorInstrumentation.h:

* loader/EmptyClients.cpp:

* storage/Storage.cpp:
(WebCore::Storage::isDisabledByPrivateBrowsing):

* storage/StorageArea.h:
(): Deleted.

* storage/StorageEventDispatcher.cpp:
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):

* storage/StorageType.h:
(WebCore::isLocalStorage):

Source/WebKit:

* Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::dispatchStorageEvent):

* Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
(WebKit::StorageNamespaceImpl::getOrCreateLocalStorageNamespace):
(WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
(WebKit::StorageNamespaceImpl::~StorageNamespaceImpl):
(WebKit::StorageNamespaceImpl::copy):
(WebKit::StorageNamespaceImpl::close):

Source/WebKit2:

* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::dispatchStorageEvent):
(WebKit::StorageAreaMap::dispatchSessionStorageEvent):
(WebKit::StorageAreaMap::dispatchLocalStorageEvent):

* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
(WebKit::StorageNamespaceImpl::createTransientLocalStorageNamespace):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214680 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove bundle checks for attachmentElementEnabled
timothy_horton@apple.com [Fri, 31 Mar 2017 19:27:14 +0000 (19:27 +0000)]
Remove bundle checks for attachmentElementEnabled
https://bugs.webkit.org/show_bug.cgi?id=170329
<rdar://problem/25135244>

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
Remove bundle checks.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214679 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMark fast/mediastream/MediaStream-page-muted.html as flaky for
ap@apple.com [Fri, 31 Mar 2017 19:18:26 +0000 (19:18 +0000)]
Mark fast/mediastream/MediaStream-page-muted.html as flaky for
https://bugs.webkit.org/show_bug.cgi?id=170355

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214678 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed, Mark "HTML interactive form validation" as done.
cdumez@apple.com [Fri, 31 Mar 2017 17:50:17 +0000 (17:50 +0000)]
Unreviewed, Mark "HTML interactive form validation" as done.

It is shipping in Safari 10.1.

* features.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214676 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoCorrection for the previous change - this is an image failure.
ap@apple.com [Fri, 31 Mar 2017 17:41:39 +0000 (17:41 +0000)]
Correction for the previous change - this is an image failure.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAdopt PKCanMakePaymentsWithMerchantIdentifierAndDomainAndSourceApplication
andersca@apple.com [Fri, 31 Mar 2017 17:33:01 +0000 (17:33 +0000)]
Adopt PKCanMakePaymentsWithMerchantIdentifierAndDomainAndSourceApplication
https://bugs.webkit.org/show_bug.cgi?id=170257
rdar://problem/31289764

Reviewed by Beth Dakin.

* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214674 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMark fast/images/animated-image-different-dest-size.html as flaky for
ap@apple.com [Fri, 31 Mar 2017 17:29:12 +0000 (17:29 +0000)]
Mark fast/images/animated-image-different-dest-size.html as flaky for
https://bugs.webkit.org/show_bug.cgi?id=170203

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214673 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMac cmake buildfix after r214403
ossy@webkit.org [Fri, 31 Mar 2017 17:28:43 +0000 (17:28 +0000)]
Mac cmake buildfix after r214403
https://bugs.webkit.org/show_bug.cgi?id=170346

Unreviewed speculative buildfix.

* UIProcess/API/Cocoa/WKWebView.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214672 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMac cmake buildfix after r214666
ossy@webkit.org [Fri, 31 Mar 2017 17:08:50 +0000 (17:08 +0000)]
Mac cmake buildfix after r214666
https://bugs.webkit.org/show_bug.cgi?id=170342

Unreviewed buildfix.

* PlatformMac.cmake:
* testing/MockPreviewLoaderClient.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214671 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove unneeded custom constructors include.
weinig@apple.com [Fri, 31 Mar 2017 16:57:00 +0000 (16:57 +0000)]
Remove unneeded custom constructors include.

* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ios: Removed.
* bindings/js/ios/TouchConstructors.cpp: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214670 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoResource Load Statistics: Check if the store exists before clearing it
wilander@apple.com [Fri, 31 Mar 2017 16:54:41 +0000 (16:54 +0000)]
Resource Load Statistics: Check if the store exists before clearing it
https://bugs.webkit.org/show_bug.cgi?id=170324
<rdar://problem/31258505>

Reviewed by Brent Fulgham.

No new tests. Added a null check.

* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::clearInMemoryAndPersistentStore):
    Added a null check.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214669 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRemove erroneously committed changes from r214078
beidson@apple.com [Fri, 31 Mar 2017 16:16:41 +0000 (16:16 +0000)]
Remove erroneously committed changes from r214078

Unreviewed.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess): Whoops!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214667 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoModern media controls should never be enabled in non cocoa ports
carlosgc@webkit.org [Fri, 31 Mar 2017 13:37:33 +0000 (13:37 +0000)]
Modern media controls should never be enabled in non cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=170338

Reviewed by Michael Catanzaro.

It's currently enabled, because it uses the default value for all other runtime features, but modern media
controls are not a cross-platform feature. I think this is why media/video-click-dblckick-standalone.html
started to fail in GTK+ port after r214426. I can't reprouduce the failure locally, so I can't confirm it,
though.

* Shared/WebPreferencesDefinitions.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214666 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Update expectations of several tests.
carlosgc@webkit.org [Fri, 31 Mar 2017 12:31:58 +0000 (12:31 +0000)]
Unreviewed GTK+ gardening. Update expectations of several tests.

Also rebaseline fast/css/getComputedStyle/computed-style-font-family.html after r214394, it also requires variation
fonts.

* platform/gtk/TestExpectations:
* platform/gtk/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214665 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed GTK+ gardening. Rebaseline several tests after r214546.
carlosgc@webkit.org [Fri, 31 Mar 2017 11:13:14 +0000 (11:13 +0000)]
Unreviewed GTK+ gardening. Rebaseline several tests after r214546.

GTK+ port doesn't support variation fonts. Also mark canvas/philip/tests/2d.pattern.animated.gif.html as failing
after r214503.

* platform/gtk/TestExpectations:
* platform/gtk/fast/text/font-selection-font-loading-api-parse-expected.txt: Added.
* platform/gtk/fast/text/font-stretch-parse-expected.txt: Added.
* platform/gtk/fast/text/font-style-parse-expected.txt: Added.
* platform/gtk/fast/text/font-weight-parse-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214664 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[Readable Streams API] Implement cloneArrayBuffer in WebCore
commit-queue@webkit.org [Fri, 31 Mar 2017 10:37:06 +0000 (10:37 +0000)]
[Readable Streams API] Implement cloneArrayBuffer in WebCore
https://bugs.webkit.org/show_bug.cgi?id=170008

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-03-31
Reviewed by Youenn Fablet.

Source/WebCore:

Implemented cloneArrayBuffer based on existing structuredCloneArrayBuffer
implementation. The code has been factorized so that both cloneArrayBuffer
and structuredCloneArrayBuffer rely on the same code (which is basically
the previous implementation of structuredCloneArrayBuffer + the ability
to clone only a part of considered buffer).

Added test to check cloneArrayBuffer behaviour.

* Modules/streams/ReadableByteStreamInternals.js: Deleted cloneArrayBuffer JS implementation.
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals): Add cloneArrayBuffer private declaration.
* bindings/js/StructuredClone.cpp:
(WebCore::cloneArrayBufferImpl): Added (mostly based on previous structuredCloneArrayBuffer).
(WebCore::cloneArrayBuffer): Added.
(WebCore::structuredCloneArrayBuffer): Updated.
* bindings/js/StructuredClone.h: Added cloneArrayBuffer declaration.
* bindings/js/WebCoreBuiltinNames.h: Added cloneArrayBuffer declaration.
* testing/Internals.cpp: Added support for testing cloneArrayBuffer.
* testing/Internals.h: Added support for testing cloneArrayBuffer.
* testing/Internals.idl: Added support for testing cloneArrayBuffer.

LayoutTests:

Added test to check cloneArrayBuffer behaviour.

* streams/readable-stream-byob-request.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214663 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoString.prototype.replace incorrectly applies "special replacement parameters" when...
gskachkov@gmail.com [Fri, 31 Mar 2017 10:06:08 +0000 (10:06 +0000)]
String.prototype.replace incorrectly applies "special replacement parameters" when passed a function
https://bugs.webkit.org/show_bug.cgi?id=170151

Reviewed by Saam Barati.

This patch fixes issue for String.prototype.replace when passed a function
with special symbols "$$". It happeneds because substituteBackreferences applies
unconditionally, but according to the spec it should be applied only for text
21.1.3.16.8 https://tc39.github.io/ecma262/#sec-string.prototype.replace

Source/JavaScriptCore:
* runtime/StringPrototype.cpp:
(JSC::replaceUsingStringSearch):

LayoutTests:
* js/script-tests/string_replace_function.js: Added.
* js/script-tests/string_replace_regexp.js: Renamed from LayoutTests/js/script-tests/string_replace.js.
* js/string_replace_function-expected.txt: Added.
* js/string_replace_function.html: Copied from LayoutTests/js/string_replace.html.
* js/string_replace_regexp-expected.txt: Renamed from LayoutTests/js/string_replace-expected.txt.
* js/string_replace_regexp.html: Renamed from LayoutTests/js/string_replace.html.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214662 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed. Fix WTR crashes in GTK+ port after r214413.
carlosgc@webkit.org [Fri, 31 Mar 2017 09:39:53 +0000 (09:39 +0000)]
Unreviewed. Fix WTR crashes in GTK+ port after r214413.

Fixes: http/tests/ssl/upgrade-origin-usage.html
       http/tests/websocket/tests/hybi/network-process-crash-error.html
       http/tests/websocket/tests/hybi/simple-wss.html

* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformContext): Return the context.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214661 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[css-grid] Update W3C Test Suite
rego@igalia.com [Fri, 31 Mar 2017 09:27:04 +0000 (09:27 +0000)]
[css-grid] Update W3C Test Suite
https://bugs.webkit.org/show_bug.cgi?id=170170

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

This adds 2 new tests for "Implied Minimum Size of Grid Items" section,
which check the behavior of percentages:
- grid-items/grid-minimum-size-grid-items-019.html
- grid-items/grid-minimum-size-grid-items-020.html

Additionally, as the csswg-test repo has been merged into web-platform-tests,
we're using the new path in this import.

* csswg-test/css-grid-1/grid-definition/w3c-import.log: Removed.
* csswg-test/css-grid-1/grid-items/w3c-import.log: Removed.
* csswg-test/css-grid-1/grid-model/w3c-import.log: Removed.
* csswg-test/css-grid-1/placement/w3c-import.log: Removed.
* csswg-test/css-grid-1/w3c-import.log: Removed.
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-grid-1/OWNERS: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/OWNERS.
* web-platform-tests/css/css-grid-1/README.md: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/README.md.
* web-platform-tests/css/css-grid-1/grid-definition/fr-unit-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/fr-unit-expected.html.
* web-platform-tests/css/css-grid-1/grid-definition/fr-unit-with-percentage-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/fr-unit-with-percentage-expected.html.
* web-platform-tests/css/css-grid-1/grid-definition/fr-unit-with-percentage.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/fr-unit-with-percentage.html.
* web-platform-tests/css/css-grid-1/grid-definition/fr-unit.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/fr-unit.html.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-repeat-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-layout-auto-tracks-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-layout-auto-tracks-expected.html.
* web-platform-tests/css/css-grid-1/grid-definition/grid-layout-auto-tracks.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-layout-auto-tracks.html.
* web-platform-tests/css/css-grid-1/grid-definition/grid-layout-basic-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-layout-basic-expected.html.
* web-platform-tests/css/css-grid-1/grid-definition/grid-layout-basic.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-layout-basic.html.
* web-platform-tests/css/css-grid-1/grid-definition/grid-layout-repeat-notation-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-layout-repeat-notation-expected.html.
* web-platform-tests/css/css-grid-1/grid-definition/grid-layout-repeat-notation.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-layout-repeat-notation.html.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-flexible-lengths-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-grid-template-areas-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-named-grid-lines-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-repeat-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-support-repeat-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht.
* web-platform-tests/css/css-grid-1/grid-definition/support/testing-utils.js: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/support/testing-utils.js.
* web-platform-tests/css/css-grid-1/grid-definition/support/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-definition/support/w3c-import.log.
* web-platform-tests/css/css-grid-1/grid-definition/w3c-import.log: Added.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-inline-blocks-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-inline-blocks-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-inline-blocks-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-items-inline-blocks-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-auto-placement-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-order-property-painting-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-006-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-006-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-006.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-006.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-001.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-002.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-002.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-003.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-003.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-004.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-item-containing-block-004.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-inline-blocks-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-inline-blocks-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-inline-blocks-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-inline-blocks-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-sizing-alignment-001-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-sizing-alignment-001-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-items-sizing-alignment-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-items-sizing-alignment-001.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-layout-grid-in-grid-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-layout-grid-in-grid-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-layout-grid-in-grid.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-layout-grid-in-grid.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-layout-z-order-a-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-layout-z-order-a-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-layout-z-order-a.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-layout-z-order-a.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-layout-z-order-b-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-layout-z-order-b-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-layout-z-order-b.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-layout-z-order-b.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-005-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-005-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-006-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-006-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-006.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-006.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-007-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-007-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-007.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-007.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-008-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-008-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-008.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-008.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-009-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-009-expected.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-009.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-009.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-010-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-010-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-010.html: Copied from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-010.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-011-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-011-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-011.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-011.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-012-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-012-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-012.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-012.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-013-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-013-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-013.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-013.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-014-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-014-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-014.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-014.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-015-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-015-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-015.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-015.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-016-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-016-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-016.html: Copied from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-016.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-017-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-017-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-017.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-017.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-018-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-018-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-018.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-018.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-019-expected.xht: Copied from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-019.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-010.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-020-expected.xht: Copied from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-020.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-minimum-size-grid-items-016.html.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-auto-placement-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-order-property-painting-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-001.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-002.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-003.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-004-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-004-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-004.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-004.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-005-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-005-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-005.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-005.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-006-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-006-expected.xht.
* web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-006.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-006.xht.
* web-platform-tests/css/css-grid-1/grid-items/ref-filled-green-100px-square-image.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/ref-filled-green-100px-square-image.html.
* web-platform-tests/css/css-grid-1/grid-items/support/100x100-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/support/100x100-green.png.
* web-platform-tests/css/css-grid-1/grid-items/support/100x50-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/support/100x50-green.png.
* web-platform-tests/css/css-grid-1/grid-items/support/200x200-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/support/200x200-green.png.
* web-platform-tests/css/css-grid-1/grid-items/support/50x100-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/support/50x100-green.png.
* web-platform-tests/css/css-grid-1/grid-items/support/50x50-green.png: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/support/50x50-green.png.
* web-platform-tests/css/css-grid-1/grid-items/support/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-items/support/w3c-import.log.
* web-platform-tests/css/css-grid-1/grid-items/w3c-import.log: Added.
* web-platform-tests/css/css-grid-1/grid-layout-properties-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-layout-properties-expected.txt.
* web-platform-tests/css/css-grid-1/grid-layout-properties.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-layout-properties.html.
* web-platform-tests/css/css-grid-1/grid-model/display-grid-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/display-grid-expected.html.
* web-platform-tests/css/css-grid-1/grid-model/display-grid.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/display-grid.html.
* web-platform-tests/css/css-grid-1/grid-model/display-inline-grid-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/display-inline-grid-expected.html.
* web-platform-tests/css/css-grid-1/grid-model/display-inline-grid.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/display-inline-grid.html.
* web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-computed-value-display-floated-items-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-display-grid-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-display-grid-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-display-grid-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-display-grid-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-display-inline-grid-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-display-inline-grid-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-display-inline-grid-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-display-inline-grid-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-letter-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-letter-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-letter-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-letter-002.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-letter-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-letter-003.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-line-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-line-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-line-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-line-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-line-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-line-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-line-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-line-002.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-line-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-line-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-first-line-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-first-line-003.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-float-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-float-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-float-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-float-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-floats-no-intrude-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-floats-no-intrude-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-floats-no-intrude-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-floats-no-intrude-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-letter-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-letter-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-letter-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-letter-002.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-letter-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-letter-003.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-line-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-line-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-002-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-line-002-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-002.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-line-002.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-003-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-line-003-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-003.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-first-line-003.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-float-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-float-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-float-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-float-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-floats-no-intrude-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-floats-no-intrude-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-floats-no-intrude-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-floats-no-intrude-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-margins-no-collapse-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-margins-no-collapse-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-margins-no-collapse-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-margins-no-collapse-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-multicol-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-multicol-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-multicol-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-multicol-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-vertical-align-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-vertical-align-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-inline-vertical-align-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-inline-vertical-align-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-margins-no-collapse-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-margins-no-collapse-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-margins-no-collapse-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-margins-no-collapse-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-multicol-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-multicol-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-multicol-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-multicol-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-support-display-001-expected.txt.
* web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-support-display-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-vertical-align-001-expected.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-vertical-align-001-expected.xht.
* web-platform-tests/css/css-grid-1/grid-model/grid-vertical-align-001.xht: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/grid-model/grid-vertical-align-001.xht.
* web-platform-tests/css/css-grid-1/grid-model/w3c-import.log: Added.
* web-platform-tests/css/css-grid-1/implicit-grids/grid-support-grid-auto-columns-rows-001-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/implicit-grids/grid-support-grid-auto-columns-rows-001-expected.html.
* web-platform-tests/css/css-grid-1/implicit-grids/grid-support-grid-auto-columns-rows-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/implicit-grids/grid-support-grid-auto-columns-rows-001.html.
* web-platform-tests/css/css-grid-1/implicit-grids/w3c-import.log: Copied from LayoutTests/imported/w3c/csswg-test/css-grid-1/implicit-grids/w3c-import.log.
* web-platform-tests/css/css-grid-1/layout-algorithm/grid-layout-free-space-unit-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/layout-algorithm/grid-layout-free-space-unit-expected.html.
* web-platform-tests/css/css-grid-1/layout-algorithm/grid-layout-free-space-unit.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/layout-algorithm/grid-layout-free-space-unit.html.
* web-platform-tests/css/css-grid-1/layout-algorithm/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/implicit-grids/w3c-import.log.
* web-platform-tests/css/css-grid-1/placement/grid-layout-grid-span-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-grid-span-expected.html.
* web-platform-tests/css/css-grid-1/placement/grid-layout-grid-span.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-grid-span.html.
* web-platform-tests/css/css-grid-1/placement/grid-layout-lines-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-lines-expected.html.
* web-platform-tests/css/css-grid-1/placement/grid-layout-lines-shorthands-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-lines-shorthands-expected.html.
* web-platform-tests/css/css-grid-1/placement/grid-layout-lines-shorthands.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-lines-shorthands.html.
* web-platform-tests/css/css-grid-1/placement/grid-layout-lines.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-lines.html.
* web-platform-tests/css/css-grid-1/placement/grid-layout-placement-shorthands-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-placement-shorthands-expected.html.
* web-platform-tests/css/css-grid-1/placement/grid-layout-placement-shorthands.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/placement/grid-layout-placement-shorthands.html.
* web-platform-tests/css/css-grid-1/placement/w3c-import.log: Added.
* web-platform-tests/css/css-grid-1/test-plan/index.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/test-plan/index.html.
* web-platform-tests/css/css-grid-1/test-plan/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/test-plan/w3c-import.log.
* web-platform-tests/css/css-grid-1/w3c-import.log: Renamed from LayoutTests/imported/w3c/csswg-test/css-grid-1/layout-algorithm/w3c-import.log.

LayoutTests:

Update path to tests in TestExpectations as the CSS Grid Layout suite
is now under web-platform-tests.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214660 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html...
commit-queue@webkit.org [Fri, 31 Mar 2017 08:25:42 +0000 (08:25 +0000)]
[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168409
<rdar://problem/30799198>

Source/WebCore:

Unreviewed. Yet more logging to determine under what circumstance ScriptedAnimationController gets suspended.

Patch by Antoine Quint <graouts@apple.com> on 2017-03-31

* dom/Document.cpp:
(WebCore::Document::requestAnimationFrame):

LayoutTests:

Unreviewed. Capture new logging events.

Patch by Antoine Quint <graouts@apple.com> on 2017-03-31

* media/modern-media-controls/airplay-button/airplay-button.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214659 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoSource/WebCore:
zandobersek@gmail.com [Fri, 31 Mar 2017 05:43:12 +0000 (05:43 +0000)]
Source/WebCore:
Unreviewed GTK+ build fix. Add missing ANGLE build targets
to the build.

* CMakeLists.txt:

Source/WebKit2:
Unreviewed GTK+ build fix. List WebCore before JavaScriptCore as the
two WebKit2 dependency libraries to avoid WTF directiories being
listed for inclusion before WebCore directories at compile-time.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214658 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agosync-buildbot.js can schedule more than one build per builder
rniwa@webkit.org [Fri, 31 Mar 2017 02:33:44 +0000 (02:33 +0000)]
sync-buildbot.js can schedule more than one build per builder
https://bugs.webkit.org/show_bug.cgi?id=170318

Reviewed by Saam Barati.

The bug was caused by _scheduleNextRequestInGroupIfSlaveIsAvailable not returning a promise when
scheduling the first build request of a test group. This resulted in _pullBuildbotOnAllSyncers
to prematurely resolve before POST'ing new build had finished. That in turn could result in the
next cycle of syncing to occur before POST'ing has actually taken place.

More precisely, when the nextRequest was the first request or its associated syncer object could
not be identified, we were supposed to find the first available syncer, schedule the request,
and then return the promise returned by scheduleRequestInGroupIfAvailable. However, the for loop
which called scheduleRequestInGroupIfAvailable on every syncer was declaring its own variable
named "promise" thereby shadowing the outer variable, which is returned to the caller.

Fixed the bug by not declaring a shadowing variable, and refactored the code. Namely, the only
reason we had such a complicated logic with two local variables, promise and syncer, was so that
we could log that we're scheduling a build. Extracted this code as _scheduleRequestWithLog.

_scheduleNextRequestInGroupIfSlaveIsAvailable can now simply exit early with a call to
_scheduleRequestWithLog when the syncer is readily identified. When looping over syncers, it can
simply return the first non-null result of _scheduleNextRequestInGroupIfSlaveIsAvailable.

* server-tests/tools-buildbot-triggerable-tests.js: Added a test case where we wait 10ms after
receiving the request to POST a build. There should be no new network request until we resolve
this request.

* tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype._scheduleNextRequestInGroupIfSlaveIsAvailable): Fixed the bug.
(BuildbotTriggerable.prototype._scheduleRequestWithLog): Extracted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214652 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoModernize BuildbotSyncer and BuildbotTriggerable
rniwa@webkit.org [Fri, 31 Mar 2017 02:11:32 +0000 (02:11 +0000)]
Modernize BuildbotSyncer and BuildbotTriggerable
https://bugs.webkit.org/show_bug.cgi?id=170310

Reviewed by Chris Dumez.

Modernized the code to use arrow functions and other modern idoms in ES2016.

* ReadMe.md: Added instructions on how to run tests, and moved the steps to configure postgres
above the steps to configure Apache since only the former is needed to run tests.
* tools/js/buildbot-syncer.js:
* tools/js/buildbot-triggerable.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoEnsure that Node::willBeDeletedFrom() always removes touch event handlers from the...
simon.fraser@apple.com [Fri, 31 Mar 2017 02:08:07 +0000 (02:08 +0000)]
Ensure that Node::willBeDeletedFrom() always removes touch event handlers from the document
https://bugs.webkit.org/show_bug.cgi?id=170323
rdar://problem/23647630

Reviewed by Chris Dumez.

There are two instances where nodes are registered as touch event handlers without
having normal touch event listeners: slider thumb elements, and elements with overflow scrolling,
on iOS.

For such nodes, hasEventTargetData() will be false, but we want to ensure
that they are removed from the Document's touchEventHandler set, so move the
call to document.removeTouchEventHandler() outside of the conditional block.

This should be cheap in most cases when the touchEventHandler is empty.

* dom/Node.cpp:
(WebCore::Node::willBeDeletedFrom):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoMinor cleanup checking for gesture event names
simon.fraser@apple.com [Fri, 31 Mar 2017 02:08:03 +0000 (02:08 +0000)]
Minor cleanup checking for gesture event names
https://bugs.webkit.org/show_bug.cgi?id=170319

Reviewed by Tim Horton.

Just use isGestureEventType() in a couple of places.

* dom/Node.cpp:
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoYet another build fix after r214502. Workaround webkit.org/b/169907 for now.
rniwa@webkit.org [Fri, 31 Mar 2017 02:04:57 +0000 (02:04 +0000)]
Yet another build fix after r214502. Workaround webkit.org/b/169907 for now.

* public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.cssTemplate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAllow for extended color in snapshots
megan_gardner@apple.com [Fri, 31 Mar 2017 01:36:20 +0000 (01:36 +0000)]
Allow for extended color in snapshots
https://bugs.webkit.org/show_bug.cgi?id=170314
<rdar://problem/28676092> WKImageCreateCGImage should support WideGamut in WebKit2 on macOS

Reviewed by Simon Fraser.

Piping options through snapshots to allow for wide gamut support.

* Shared/API/c/WKImage.h:
* Shared/API/c/WKSharedAPICast.h:
(WebKit::snapshotOptionsFromImageOptions):
* Shared/ImageOptions.h:
(WebKit::snapshotOptionsToImageOptions):
* Shared/WebImage.cpp:
(WebKit::WebImage::create):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWebAssembly: When Wasm calls to C, it should use Wasm::Context* instead of ExecState...
sbarati@apple.com [Fri, 31 Mar 2017 01:15:25 +0000 (01:15 +0000)]
WebAssembly: When Wasm calls to C, it should use Wasm::Context* instead of ExecState* to get VM
https://bugs.webkit.org/show_bug.cgi?id=170185

Reviewed by Michael Saboff.

This is one more step in the direction of PIC-ified Wasm.
When we lift WasmCallee above VM, we will no longer be
able to get VM from ExecState*. This patch ensures that
we don't do that from within the Wasm runtime. Instead,
we use the Wasm::Context* to get the VM.

This patch also adds a new class, Wasm::Thunks. There
is a single Wasm::Thunks that lives in the process. It
is responsible for generating a thunk that Wasm relies on.
The only such thunk right now is the exception throwing
thunk.

This patch also rids WasmFaultSignalHandler from any knowledge
of VM. Previously, it relied on VM to get the exception handling
thunk.

The only part of the Wasm runtime that will be allowed
to get VM& from ExecState will be WasmBinding. In the
future, we plan to keep the calls out to JS to keep
a JSCell as the callee.

* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer):
(JSC::AssemblyHelpers::copyCalleeSavesToVMEntryFrameCalleeSavesBufferImpl):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer):
* jit/ThunkGenerators.cpp:
(JSC::throwExceptionFromWasmThunkGenerator): Deleted.
* jit/ThunkGenerators.h:
* runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::getAllCalleeSaveRegisterOffsets):
* runtime/VM.h:
(JSC::VM::topVMEntryFrameOffset):
(JSC::VM::getAllCalleeSaveRegisterOffsets): Deleted.
* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::emitExceptionCheck):
* wasm/WasmFaultSignalHandler.cpp:
(JSC::Wasm::trapHandler):
* wasm/WasmMemory.cpp:
(JSC::Wasm::tryGetFastMemory):
* wasm/WasmThunks.cpp: Added.
(JSC::Wasm::throwExceptionFromWasmThunkGenerator):
(JSC::Wasm::Thunks::initialize):
(JSC::Wasm::Thunks::singleton):
(JSC::Wasm::Thunks::stub):
(JSC::Wasm::Thunks::existingStub):
* wasm/WasmThunks.h: Added.
* wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::JSWebAssemblyInstance):
* wasm/js/JSWebAssemblyInstance.h:
(JSC::JSWebAssemblyInstance::offsetOfVM):
* wasm/js/JSWebAssemblyMemory.cpp:
(JSC::JSWebAssemblyMemory::grow):
* wasm/js/JSWebAssemblyMemory.h:
* wasm/js/WebAssemblyMemoryPrototype.cpp:
(JSC::webAssemblyMemoryProtoFuncGrow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214645 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoUnreviewed. Update test expectations after https://bugs.webkit.org/show_bug.cgi?id...
mattbaker@apple.com [Fri, 31 Mar 2017 00:51:51 +0000 (00:51 +0000)]
Unreviewed. Update test expectations after https://bugs.webkit.org/show_bug.cgi?id=170279.

* inspector/css/getAllStyleSheets-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214644 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoExpose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI
weinig@apple.com [Fri, 31 Mar 2017 00:45:06 +0000 (00:45 +0000)]
Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI
Source/WebKit2:

<rdar://problem/31350588>
https://bugs.webkit.org/show_bug.cgi?id=170315

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _prepareForMoveToWindow:completionHandler:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
Copy SPI to WKWebView. Remove 'with' prefix to match conventions.

Tools:

https://bugs.webkit.org/show_bug.cgi?id=170315

Reviewed by Simon Fraser.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Added.
Add test showing the completion handler is called.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoTurning ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js back as it...
msaboff@apple.com [Fri, 31 Mar 2017 00:40:50 +0000 (00:40 +0000)]
Turning ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js back as it appears to always work
https://bugs.webkit.org/show_bug.cgi?id=170313

Reviewed by Saam Barati.

Enable ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js as it seems solid.

* ChakraCore.yaml:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRebaseline js/dom/global-constructors-attributes.html.
ryanhaddad@apple.com [Fri, 31 Mar 2017 00:23:36 +0000 (00:23 +0000)]
Rebaseline js/dom/global-constructors-attributes.html.

Unreviewed test gardening.

* platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoRename a touch event function, and new touch region test results
simon.fraser@apple.com [Fri, 31 Mar 2017 00:04:21 +0000 (00:04 +0000)]
Rename a touch event function, and new touch region test results
https://bugs.webkit.org/show_bug.cgi?id=170309
rdar://problem/31329520

Reviewed by Chris Dumez.

Source/WebCore:

Adapt to a naming change in WebKitAdditions.

* dom/Document.cpp:
(WebCore::Document::removeAllEventListeners):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

A code change in WebKitAdditions progresses this test result.

* fast/events/touch/ios/touch-event-regions/iframes-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoYouTube sometimes does not respect "user gesture" restriction for videos.
mrajca@apple.com [Thu, 30 Mar 2017 23:35:55 +0000 (23:35 +0000)]
YouTube sometimes does not respect "user gesture" restriction for videos.
https://bugs.webkit.org/show_bug.cgi?id=170297

I discovered a code path that does not honor the "user gesture" requirement and playback is able to begin
even though we have a restriction in place. When using Media Source Extensions, which YouTube does, we transition
from a "Have Metadata" to a "Future Data" state that causes playback to begin, however, we never check
if we have a playback restriction in place.

Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoIntlObject should not be using JSArray::initializeIndex().
mark.lam@apple.com [Thu, 30 Mar 2017 23:06:21 +0000 (23:06 +0000)]
IntlObject should not be using JSArray::initializeIndex().
https://bugs.webkit.org/show_bug.cgi?id=170302
<rdar://problem/31356918>

Reviewed by Saam Barati.

JSArray::initializeIndex() is only meant to be used with arrays created using
JSArray::tryCreateForInitializationPrivate() under very constrained conditions.

* runtime/IntlObject.cpp:
(JSC::canonicalizeLocaleList):
(JSC::intlObjectFuncGetCanonicalLocales):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoAir should support linear scan for optLevel<2
fpizlo@apple.com [Thu, 30 Mar 2017 22:55:44 +0000 (22:55 +0000)]
Air should support linear scan for optLevel<2
https://bugs.webkit.org/show_bug.cgi?id=170161

Reviewed by Saam Barati.

Source/JavaScriptCore:

This changes the default opt level of B3 to 2. It makes the other opt levels useful by adding a
new register allocator. This new linear scan allocator will produce significantly worse code.
But it will produce that code a lot faster than IRC or Briggs.

The opt levels are:
    0: no optimizations, linear scan
    1: some optimizations, linear scan
    2: full optimizations, graph coloring (IRC or Briggs based on CPU)

What we used to call optLevel=1 is not called optLevel=2, or better yet,
optLevel=B3::defaultOptLevel(). We no longer have anything like the old optLevel=0 (which did no
optimizations but ran graph coloring).

allocateRegistersByLinearScan() faithfully implements Massimiliano Poletto and Vivek Sarkar's
famous algorithm. It uses the variant that handles clobbered registers by avoiding assigning
ranges to those registers if the range overlaps a clobber. It's engineered to allocate registers
very quickly and generate inefficient code without falling off a cliff.

The new optLevel=1 speeds up B3 by a factor of 2, and results in a 80% throughput regression.
Linear scan runs 4.7x faster than graph coloring on average.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3BasicBlockUtils.h:
(JSC::B3::blocksInPreOrder):
(JSC::B3::blocksInPostOrder):
* b3/B3BlockWorklist.h:
* b3/B3CFG.h:
(JSC::B3::CFG::newMap):
* b3/B3Common.h:
(JSC::B3::defaultOptLevel):
* b3/B3Compile.h:
* b3/B3DuplicateTails.cpp:
* b3/B3EliminateCommonSubexpressions.cpp:
* b3/B3FixSSA.cpp:
(JSC::B3::demoteValues):
(JSC::B3::fixSSA):
* b3/B3FixSSA.h:
* b3/B3Generate.cpp:
(JSC::B3::prepareForGeneration):
(JSC::B3::generateToAir):
* b3/B3Generate.h:
* b3/B3HeapRange.cpp: Removed.
* b3/B3HeapRange.h:
(JSC::B3::HeapRange::HeapRange): Deleted.
(JSC::B3::HeapRange::top): Deleted.
(JSC::B3::HeapRange::operator==): Deleted.
(JSC::B3::HeapRange::operator!=): Deleted.
(JSC::B3::HeapRange::operator|): Deleted.
(JSC::B3::HeapRange::operator bool): Deleted.
(JSC::B3::HeapRange::begin): Deleted.
(JSC::B3::HeapRange::end): Deleted.
(JSC::B3::HeapRange::overlaps): Deleted.
* b3/B3LowerToAir.cpp:
* b3/B3MoveConstants.cpp:
* b3/B3PhiChildren.h:
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::dump):
(JSC::B3::Procedure::deleteOrphans):
(JSC::B3::Procedure::setBlockOrderImpl):
* b3/B3ReduceDoubleToFloat.cpp:
* b3/B3ReduceStrength.cpp:
* b3/B3SSACalculator.h:
* b3/B3UseCounts.h:
* b3/air/AirAllocateRegistersByGraphColoring.cpp:
* b3/air/AirAllocateRegistersByLinearScan.cpp: Added.
(JSC::B3::Air::allocateRegistersByLinearScan):
* b3/air/AirAllocateRegistersByLinearScan.h: Added.
* b3/air/AirAllocateStack.cpp:
(JSC::B3::Air::allocateStack):
* b3/air/AirArg.cpp:
(WTF::printInternal):
* b3/air/AirArg.h:
(JSC::B3::Air::Arg::activeAt):
(JSC::B3::Air::Arg::timing):
(JSC::B3::Air::Arg::forEachPhase):
* b3/air/AirBasicBlock.h:
* b3/air/AirBlockWorklist.h:
* b3/air/AirCFG.h:
(JSC::B3::Air::CFG::newMap):
* b3/air/AirEliminateDeadCode.cpp:
(JSC::B3::Air::eliminateDeadCode):
* b3/air/AirFixObviousSpills.cpp:
* b3/air/AirFixPartialRegisterStalls.cpp:
(JSC::B3::Air::fixPartialRegisterStalls):
* b3/air/AirFixSpillsAfterTerminals.cpp: Added.
(JSC::B3::Air::fixSpillsAfterTerminals):
* b3/air/AirFixSpillsAfterTerminals.h: Added.
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::prepareForGeneration):
(JSC::B3::Air::generate):
* b3/air/AirGenerate.h:
* b3/air/AirGenerationContext.h:
* b3/air/AirInsertionSet.h:
* b3/air/AirInst.cpp:
(JSC::B3::Air::Inst::needsPadding):
* b3/air/AirLowerAfterRegAlloc.cpp:
(JSC::B3::Air::lowerAfterRegAlloc):
* b3/air/AirLowerEntrySwitch.cpp:
(JSC::B3::Air::lowerEntrySwitch):
* b3/air/AirOpcode.opcodes:
* b3/air/AirPhaseInsertionSet.cpp: Added.
(JSC::B3::Air::PhaseInsertionSet::execute):
* b3/air/AirPhaseInsertionSet.h: Added.
(JSC::B3::Air::PhaseInsertion::PhaseInsertion):
(JSC::B3::Air::PhaseInsertion::phase):
(JSC::B3::Air::PhaseInsertion::operator<):
(JSC::B3::Air::PhaseInsertionSet::PhaseInsertionSet):
(JSC::B3::Air::PhaseInsertionSet::appendInsertion):
(JSC::B3::Air::PhaseInsertionSet::insertInst):
(JSC::B3::Air::PhaseInsertionSet::insert):
* b3/air/AirRegLiveness.h:
(JSC::B3::Air::RegLiveness::LocalCalc::LocalCalc):
* b3/air/AirSpillEverything.cpp:
(JSC::B3::Air::spillEverything):
* b3/air/AirTmp.cpp:
* b3/air/AirTmp.h:
(JSC::B3::Air::Tmp::tmpForIndex):
* b3/air/AirTmpInlines.h:
(JSC::B3::Air::Tmp::Indexed::Indexed):
(JSC::B3::Air::Tmp::Indexed::index):
(JSC::B3::Air::Tmp::AbsolutelyIndexed::AbsolutelyIndexed):
(JSC::B3::Air::Tmp::AbsolutelyIndexed::index):
(JSC::B3::Air::Tmp::indexed):
(JSC::B3::Air::Tmp::absolutelyIndexed):
(JSC::B3::Air::Tmp::tmpForAbsoluteIndex):
* b3/testb3.cpp:
(JSC::B3::compile):
(JSC::B3::testMulLoadTwice):
* jit/RegisterSet.h:
(JSC::RegisterSet::add):
(JSC::RegisterSet::remove):
* runtime/Options.h:
* wasm/WasmB3IRGenerator.h:

Source/WTF:

This change introduces a new low-latency register allocator. It can allocate registers very
quickly by doing a relatively poor job. Implementing this algorithm required beefing up some of
our core algorithms.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Deque.h: Make it possible to do some basic priority queueing with this data structure.
(WTF::inlineCapacity>::removeAllMatching):
(WTF::inlineCapacity>::appendAndBubble):
(WTF::inlineCapacity>::takeLast):
* wtf/IndexKeyType.h: Added. This makes it possible to use IndexMap and IndexSet with value or pointer types. Previously they just worked with pointer types.
(WTF::IndexKeyType::index):
* wtf/IndexMap.h: Adopt IndexKeyType.
(WTF::IndexMap::operator[]):
(WTF::IndexMap::append):
* wtf/IndexSet.h: Adopt IndexKeyType.
(WTF::IndexSet::add):
(WTF::IndexSet::addAll):
(WTF::IndexSet::remove):
(WTF::IndexSet::contains):
(WTF::IndexSet::Iterable::iterator::operator*):
* wtf/Range.h: Added. This used to be B3::HeapRange. This generalizes that data structure to any kind of range stuff.
(WTF::Range::Range):
(WTF::Range::top):
(WTF::Range::operator==):
(WTF::Range::operator!=):
(WTF::Range::operator bool):
(WTF::Range::operator|):
(WTF::Range::operator|=):
(WTF::Range::begin):
(WTF::Range::end):
(WTF::Range::overlaps):
(WTF::Range::dump):
* wtf/RangeSet.h:
(WTF::RangeSet::add):

Tools:

This makes us run a bunch of JS tests at optLevel=1 to force testing of this new compiler
pipeline.

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214636 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoREGRESSION (r213764): Background image from sprite sheet incorrectly scaled
commit-queue@webkit.org [Thu, 30 Mar 2017 22:41:14 +0000 (22:41 +0000)]
REGRESSION (r213764): Background image from sprite sheet incorrectly scaled
https://bugs.webkit.org/show_bug.cgi?id=169547

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-03-30
Reviewed by Simon Fraser.

Source/WebCore:

The bug happens when drawing only a rectangle of an image not the whole
image. In BitmapImage::draw(), sizeForDrawing was calculated as the destRect
scaled by the transformation which is applied to the GraphicsContext. Two
problems with this approach. The first one is destRect can be only part of
the image. The second problem is, the ratio destRect / srcRect is another
scaling that needs to be considered.

To fix this issue, first the base size has to be size of the image and not
destRect.size(). Secondly, we need to scale this base size with the context
transformation multiplied by the ratio destRect / srcRect. This scaling is
exactly the same scaling which is calculated in subsamplingScale(). Finally
we use this scaled size as the sizeForDrawing to send to the ImageDecoder.

Test: fast/images/sprite-sheet-image-draw.html

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw): Fix the bug.
(WebCore::BitmapImage::stopAnimation): Stops the async image decoding for animated images only.
The decoding for large images will be stopped when BitmapImage::newFrameNativeImageAvailableAtIndex()
is called and the decoding queue is idle.
(WebCore::BitmapImage::newFrameNativeImageAvailableAtIndex): Add image logging.
* platform/graphics/BitmapImage.h: Move sourceURL() to the Image class.
* platform/graphics/GraphicsContext.cpp: Pass imagePaintingOptions.m_decodingMode to Image::drawTiled().
(WebCore::GraphicsContext::drawTiledImage): Pass imagePaintingOptions.m_decodingMode) to Image::drawTiled().
* platform/graphics/Image.cpp:
(WebCore::Image::sourceURL): Moved from BitmapImage.
(WebCore::Image::drawTiled): Add a DecodingMode argument instead of calling always with DecodingMode::Synchronous.
* platform/graphics/Image.h:
* platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::cacheAsyncFrameNativeImageAtIndex): Add image logging.
(WebCore::ImageFrameCache::startAsyncDecodingQueue): Ditto,
(WebCore::ImageFrameCache::requestFrameAsyncDecodingAtIndex): Ditto.
(WebCore::ImageFrameCache::stopAsyncDecodingQueue): Ditto.
(WebCore::ImageFrameCache::sourceURL): A helper function to avoid checking the value of m_image.
* platform/graphics/ImageFrameCache.h:
* platform/graphics/NativeImage.h: Rename subsamplingScale() to nativeImageDrawingScale() and return image scaling instead.
* platform/graphics/cairo/NativeImageCairo.cpp:
(WebCore::nativeImageDrawingScale): Ditto.
(WebCore::subsamplingScale): Deleted.
* platform/graphics/cg/NativeImageCG.cpp:
(WebCore::nativeImageDrawingScale): Ditto.
(WebCore::subsamplingScale): Deleted.
* platform/graphics/win/NativeImageDirect2D.cpp:
(WebCore::nativeImageDrawingScale): Ditto.
(WebCore::subsamplingScale): Deleted.

LayoutTests:

* fast/images/async-image-background-image.html:
* fast/images/resources/sprite-sheet-red-green-blue.png: Added.
* fast/images/sprite-sheet-image-draw-expected.html: Added.
* fast/images/sprite-sheet-image-draw.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoWeb Inspector: Assertion failure in InspectorStyleProperty::setRawTextFromStyleDeclar...
mattbaker@apple.com [Thu, 30 Mar 2017 22:37:34 +0000 (22:37 +0000)]
Web Inspector: Assertion failure in InspectorStyleProperty::setRawTextFromStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=170279
<rdar://problem/30200492>

Reviewed by David Hyatt.

Source/WebCore:

The SourceRange for a CSSPropertySourceData should be relative to the start
of the declaration body, not the start of the StyleSheetHandler’s parsed
text. This only affected the ranges of unparsed (parsedOK == false) properties
lacking a trailing semi-colon.

This patch doesn't change the behavior of InspectorStyleSheet other than
silencing an irksome assert, as String::substring does a safety check on
the passed in length.

* inspector/InspectorStyleSheet.cpp:
(WebCore::fixUnparsedProperties):

LayoutTests:

* inspector/css/getAllStyleSheets.html:
Add stylesheet with an "unparsed" property having no final semicolon.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years agoEnable ChakraCore/Function/FuncBody.js test as it now works
msaboff@apple.com [Thu, 30 Mar 2017 22:35:21 +0000 (22:35 +0000)]
Enable ChakraCore/Function/FuncBody.js test as it now works
https://bugs.webkit.org/show_bug.cgi?id=170301

Reviewed by Mark Lam.

This test no longer crashes, so enable it and create a JSC specific
expected file.

* ChakraCore.yaml:
* ChakraCore/test/Function/FuncBodyES5.baseline-jsc: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214633 268f45cc-cd09-0410-ab3c-d52691b4dbfc