⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 18, 2016:

11:51 PM Changeset in webkit [206086] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[GTK] Empty referer header after WebKit session state restoration trips Bad Behavior Wordpress plugin
https://bugs.webkit.org/show_bug.cgi?id=159606

Reviewed by Carlos Garcia Campos.

Leave the referrer member of FrameState unset when restoring from session state, unless
there is actually a nonempty referrer saved in the state. If we set it to an empty string,
then an empty referrer gets sent to the server, which some servers do not accept. It
triggers the Bad Behavior plugin on my WordPress blog, for instance. It also breaks vox.com.

  • UIProcess/API/gtk/WebKitWebViewSessionState.cpp:

(decodeFrameState):

12:49 PM Changeset in webkit [206085] by Matt Baker
  • 3 edits in trunk/LayoutTests

Web Inspector: Add test coverage for all array utility functions
https://bugs.webkit.org/show_bug.cgi?id=162044
<rdar://problem/28330846>

Reviewed by Joseph Pecoraro.

New test cases and expectations for Array utility functions.

  • inspector/unit-tests/array-utilities-expected.txt:
  • inspector/unit-tests/array-utilities.html:
12:04 PM Changeset in webkit [206084] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] Remove unused methods from _WKInputDelegate
https://bugs.webkit.org/show_bug.cgi?id=162098

Patch by Chelsea Pugh <cpugh@apple.com> on 2016-09-18
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/_WKInputDelegate.h:
11:03 AM Changeset in webkit [206083] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Assert length of LLInt opcodes using isCellWithType is 3
https://bugs.webkit.org/show_bug.cgi?id=162134

Reviewed by Saam Barati.

  • llint/LLIntData.cpp:

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

10:40 AM Changeset in webkit [206082] by Yusuke Suzuki
  • 3 edits
    1 add in trunk

[JSC] Do not need to use defineProperty to define methods for object literals
https://bugs.webkit.org/show_bug.cgi?id=162111

Reviewed by Saam Barati.

JSTests:

  • stress/object-literal-methods.js: Added.

(shouldBe):
(throw.new.Error.let.object.get name):
(throw.new.Error):
(shouldBe.let.object.get name):
(shouldBe.let.object.get prototype):
(shouldBe.let.object.get 42):

Source/JavaScriptCore:

When we receive the following code,

var object = { method() { } };

currently, we use defineProperty to define "method" function for "object".
This patch replaces it with the ordinary put_by_id_direct / put_by_val_direct
because the following 2 conditions are met.

  1. While methods in classes have special attributes ({configurable: true, writable: true, enumerable: false}), the attributes of methods in object literals is just the same to the other normal properties ({configurable: true, writable: true, enumerable: true}). This means that we can use the usual put_by_id_direct / put_by_val_direct to define method properties for object literals.
  1. Furthermore, all the own properties that can reside in objects created by object literals have {configurable: true}. So there is no need to check conflict by defineProperty. Always overwriting is OK.

let name = 'method';
var object = { get [name]() { }, method() { } };
Latter method wins.

On the other hand, in class syntax, conflict check is necessary since "prototype" own property is defined as {configurable: false}.

class Hello { static prototype() { } } Should throw error by defineProperty's check.

This means that conflict check done in defneProperty is not necessary for object literals' properties.

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitPutConstantProperty):

10:36 AM Changeset in webkit [206081] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Uncaught Exception: null is not an object (evaluating 'this.listItemElement.classList')
https://bugs.webkit.org/show_bug.cgi?id=162123
<rdar://problem/28352900>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-18
Reviewed by Matt Baker.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.onexpand):
If not attached yet, don't update title. We will update title
when attaching, so this avoids work and avoids doing that
work when the tree element is not fully setup.

(WebInspector.DOMTreeElement.prototype._startEditing):
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
(WebInspector.DOMTreeElement.prototype._nodePseudoClassesDidChange):
Switch to the public name instead of the private name.

8:10 AM Changeset in webkit [206080] by Gustavo Noronha Silva
  • 9 edits in trunk/Source/WebKit2

[GTK] Stop using glReadPixels() to blit AC surfaces in the UIProcess under Wayland
https://bugs.webkit.org/show_bug.cgi?id=161530

Reviewed by Carlos Garcia Campos.

Use gdk_cairo_draw_from_gl when all necessary conditions exist.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::create): take TextureMapper::PaintFlags as optional argument.
(WebKit::ThreadedCompositor::ThreadedCompositor): ditto.
(WebKit::ThreadedCompositor::renderLayerTree): relay paint flags to TextureMapper::beginPaint.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:

(WebKit::AcceleratedBackingStoreWayland::paint): use the faster gdk_cairo_draw_from_gl when a new
enough GTK+ is in use.

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:

(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): create compositor
with PaintingMirrored flag if we have recent GTK+ and are running under Wayland.

  • WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: implement shouldPaintMirrored by always

returning false.

  • WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: implement shouldPaintMirrored by always

returning true.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::compositeLayersToContext): pass PaintingMirror flag to TextureMapper
when under a recent enough GTK+ and Wayland.

7:03 AM Changeset in webkit [206079] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=162136

Patch by Yuri Chornoivan <yurchor@ukr.net> on 2016-09-18
Rubber-stamped by Michael Catanzaro.

  • uk.po:
6:47 AM Changeset in webkit [206078] by Gyuyoung Kim
  • 4 edits in trunk

[EFL] Bump efl library to 1.18.1
https://bugs.webkit.org/show_bug.cgi?id=162120

Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-09-18
Reviewed by Michael Catanzaro.

.:

  • Source/cmake/OptionsEfl.cmake: Use efl-1.18.1 instead of 1.18.

Tools:

  • efl/jhbuild.modules: Use efl-1.18.1 instead of 1.18.
6:13 AM Changeset in webkit [206077] by Gyuyoung Kim
  • 3 edits in trunk/Tools

[EFL] Adjust EFL coding style to EFL MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=162119

Reviewed by Michael Catanzaro.

Apply EFL coding style to main.c for MiniBrowser.

  • Use _foo_cb instead of on_foo for callback function
  • Use 3 spaces and use 2 spaces in keywords.

Additionally this patch adds an exception rule that style checker doesn't
check indentation rule in EFL MiniBrowser.

  • MiniBrowser/efl/main.c:

(miniBrowserViewSmartClass):
(window_find_with_ewk_view):
(_tooltip_show):
(window_tooltip_hide):
(window_tooltip_update):
(_mouse_in_cb):
(_mouse_move_cb):
(_mouse_out_cb):
(_mouse_wheel_cb):
(_window_resize_cb):
(update_view_favicon):
(_icon_changed_cb):
(window_free):
(window_close):
(search_icon_show):
(search_box_show):
(search_box_hide):
(history_list_hide):
(save_page_contents_callback):
(script_execute_callback):
(toggle_window_fullscreen):
(_key_down_cb):
(_mouse_down_cb):
(_title_changed_cb):
(_url_changed_cb):
(_back_forward_list_changed_cb):
(_progress_cb):
(_error_cb):
(_download_request_cb):
(close_file_picker):
(_filepicker_parent_deletion_cb):
(_filepicker_deletion_cb):
(_fileselector_done_cb):
(_file_chooser_request_cb):
(_download_finished_cb):
(_download_failed_cb):
(_color_changed_cb):
(_color_item_selected_cb):
(_color_picker_ok_clicked_cb):
(_color_picker_cancel_clicked_cb):
(_color_picker_dismiss_cb):
(_color_picker_request_cb):
(_url_bar_activated_cb):
(_url_bar_clicked_cb):
(_search_field_aborted_cb):
(_search_field_activated_cb):
(_search_field_clicked_cb):
(_back_button_clicked_cb):
(_forward_button_clicked_cb):
(_search_backward_button_clicked_cb):
(_search_forward_button_clicked_cb):
(_search_case_option_changed):
(_search_word_start_option_changed_cb):
(_search_close_button_clicked_cb):
(_refresh_button_clicked_cb):
(_stop_button_clicked_cb):
(_list_item_select_cb):
(navigation_button_longpress_process):
(_forward_button_longpress_cb):
(_back_button_longpress_cb):
(_ok_clicked_cb):
(_file_entry_dialog_show):
(_javascript_alert_cb):
(_javascript_confirm_cb):
(_javascript_prompt_cb):
(_javascript_before_unload_confirm_cb):
(_popup_menu_item_clicked_cb):
(popup_menu_populate):
(_popup_menu_show):
(_popup_menu_hide):
(_window_geometry_get):
(_window_geometry_set):
(_fullscreen_accept_cb):
(_fullscreen_deny_cb):
(_fullscreen_enter_cb):
(_fullscreen_exit_cb):
(_window_create_cb):
(_window_close_cb):
(_context_menu_item_selected_cb):
(context_menu_populate):
(_context_menu_show):
(_context_menu_hide):
(auth_popup_close):
(_auth_cancel_cb):
(_auth_ok_cb):
(_authentication_request_cb):
(_search_text_found_cb):
(_tooltip_text_set):
(_tooltip_text_unset):
(_navigation_policy_decision_cb):
(_home_button_clicked_cb):
(_window_deletion_cb):
(create_toolbar_button):
(window_create):
(configuration):
(parse_cookies_policy):
(parse_window_size):
(elm_main):
(on_tooltip_show): Deleted.
(on_mouse_in): Deleted.
(on_mouse_move): Deleted.
(on_mouse_out): Deleted.
(on_mouse_wheel): Deleted.
(on_window_resize): Deleted.
(on_icon_changed_cb): Deleted.
(on_key_down): Deleted.
(on_mouse_down): Deleted.
(on_title_changed): Deleted.
(on_url_changed): Deleted.
(on_back_forward_list_changed): Deleted.
(on_progress): Deleted.
(on_error): Deleted.
(on_download_request): Deleted.
(on_filepicker_parent_deletion): Deleted.
(on_filepicker_deletion): Deleted.
(on_fileselector_done): Deleted.
(on_file_chooser_request): Deleted.
(on_download_finished): Deleted.
(on_download_failed): Deleted.
(on_color_changed): Deleted.
(on_color_item_selected): Deleted.
(on_color_picker_ok_clicked): Deleted.
(on_color_picker_cancel_clicked): Deleted.
(on_color_picker_dismiss): Deleted.
(on_color_picker_request): Deleted.
(on_url_bar_activated): Deleted.
(on_url_bar_clicked): Deleted.
(on_search_field_aborted): Deleted.
(on_search_field_activated): Deleted.
(on_search_field_clicked): Deleted.
(on_back_button_clicked): Deleted.
(on_forward_button_clicked): Deleted.
(on_search_backward_button_clicked): Deleted.
(on_search_forward_button_clicked): Deleted.
(on_search_case_option_changed): Deleted.
(on_search_word_start_option_changed): Deleted.
(on_search_close_button_clicked): Deleted.
(on_refresh_button_clicked): Deleted.
(on_stop_button_clicked): Deleted.
(on_list_item_select): Deleted.
(on_forward_button_longpress): Deleted.
(on_back_button_longpress): Deleted.
(on_ok_clicked): Deleted.
(show_file_entry_dialog): Deleted.
(on_javascript_alert): Deleted.
(on_javascript_confirm): Deleted.
(on_javascript_prompt): Deleted.
(on_javascript_before_unload_confirm): Deleted.
(on_popup_menu_item_clicked): Deleted.
(on_popup_menu_show): Deleted.
(on_popup_menu_hide): Deleted.
(on_window_geometry_get): Deleted.
(on_window_geometry_set): Deleted.
(on_fullscreen_accept): Deleted.
(on_fullscreen_deny): Deleted.
(on_fullscreen_enter): Deleted.
(on_fullscreen_exit): Deleted.
(on_window_create): Deleted.
(on_window_close): Deleted.
(context_menu_item_selected_cb): Deleted.
(on_context_menu_show): Deleted.
(on_context_menu_hide): Deleted.
(on_auth_cancel): Deleted.
(on_auth_ok): Deleted.
(on_authentication_request): Deleted.
(on_search_text_found): Deleted.
(on_tooltip_text_set): Deleted.
(on_tooltip_text_unset): Deleted.
(on_navigation_policy_decision): Deleted.
(on_home_button_clicked): Deleted.
(on_window_deletion): Deleted.

  • Scripts/webkitpy/style/checker.py:
1:01 AM Changeset in webkit [206076] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unnecessary String allocations in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162089

Reviewed by Chris Dumez.

No change in behavior except a performance improvement.

  • platform/URL.cpp:

(WebCore::assertProtocolIsGood):
(WebCore::URL::protocolIs):
(WebCore::protocolIs):

  • platform/URL.h:

Added a new protocolIs for non-null-terminated strings from user input.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):
Don't make a String to compare protocols.

Sep 17, 2016:

10:38 PM Changeset in webkit [206075] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Inline functions in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162106

Reviewed by Antti Koivisto.

No change in behavior. Just make URLParser faster.

  • platform/URLParser.cpp:

(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isInSimpleEncodeSet):
(WebCore::isInDefaultEncodeSet):
(WebCore::isInUserInfoEncodeSet):
(WebCore::isInvalidDomainCharacter):
(WebCore::isPercentOrNonASCII):
(WebCore::isSlashQuestionOrHash):
(WebCore::isWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::percentEncode):
(WebCore::utf8PercentEncode):
(WebCore::utf8PercentEncodeQuery):
(WebCore::encodeQuery):
(WebCore::isDefaultPort):
(WebCore::isSpecialScheme):
(WebCore::copyASCIIStringUntil):
(WebCore::isPercentEncodedDot):
(WebCore::isSingleDotPathSegment):
(WebCore::isDoubleDotPathSegment):
(WebCore::consumeSingleDotPathSegment):
(WebCore::consumeDoubleDotPathSegment):
(WebCore::serializeIPv4):
(WebCore::zeroSequenceLength):
(WebCore::findLongestZeroSequence):
(WebCore::serializeIPv6Piece):
(WebCore::serializeIPv6):
(WebCore::parseIPv4Number):
(WebCore::pow256):
(WebCore::parseIPv4Host):
(WebCore::parseIPv6Host):
(WebCore::percentDecode):
(WebCore::containsOnlyASCII):
(WebCore::domainToASCII):
(WebCore::hasInvalidDomainCharacter):
(WebCore::formURLDecode):
(WebCore::serializeURLEncodedForm):

4:14 AM Changeset in webkit [206074] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

MainThreadBridge needs an isolatedCopy() of SecurityOrigin
<https://webkit.org/b/162116>
<rdar://problem/27525870>

Reviewed by Carlos Garcia Campos.

Covered by existing tests.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
Make an isolatedCopy() of SecurityOrigin here since that's the
correct idiom to use when the object is passed from a worker
thread back to the main thread. Fix suggested by Daniel Bates.

3:53 AM Changeset in webkit [206073] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore

Merge r206019 - [TextureMapper] Scrolling through 01.org/dleyna crashes WebKitWebProcess
https://bugs.webkit.org/show_bug.cgi?id=162020

Reviewed by Žan Doberšek.

The problem is that we are trying to clone a ReferenceFilterOperation, which is not expected to be cloned, from
FilterAnimationValue copy constructor, and FilterOperations are never expected to be nullptr, so we end up
crashing. We just need to validate the filters before setting then and before creating a TextureMapperAnimation
for them.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::filtersCanBeComposited): Return false if there are reference filters or no
filters at all. I don't know if we really support other filters, but at least we won't crash for the others.
(WebCore::GraphicsLayerTextureMapper::addAnimation): Check if filters can be composited before creating a
TextureMapperAnimation.
(WebCore::GraphicsLayerTextureMapper::setFilters): Check if filters can be composited before setting them.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::filtersCanBeComposited): Return false if there are reference filters or no
filters at all. I don't know if we really support other filters, but at least we won't crash for the others.
(WebCore::CoordinatedGraphicsLayer::setFilters): Check if filters can be composited before setting them.
(WebCore::CoordinatedGraphicsLayer::addAnimation): Check if filters can be composited before creating a
TextureMapperAnimation.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3:52 AM Changeset in webkit [206072] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2

Merge r206067 - [GTK] Move the rendering of auth dialog shadow to the auth dialog widget
https://bugs.webkit.org/show_bug.cgi?id=162061

Reviewed by Michael Catanzaro.

Instead of rendering the shadow in the web view, we can let the auth dialog do it. This fixes the rendering of
the shadow in Wayland when using gdk_cairo_draw_from_gl().

  • UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:

(webkitAuthenticationDialogDraw): Draw the shadow before rendering the child.
(webkitAuthenticationDialogSizeAllocate): Center the child on the allocated space.
(webkit_authentication_dialog_class_init): Add size_allocate implementation.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDraw): Do not draw the shadow when auth dialog is present.
(webkitWebViewBaseSizeAllocate): Give the whole web view allocation to the auth dialog.

3:51 AM Changeset in webkit [206071] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2

Merge r206066 - [ThreadedCompositor] Scrolling artifacts on accelerated subframes
https://bugs.webkit.org/show_bug.cgi?id=149060

Reviewed by Michael Catanzaro.

The problem is that we are scrolling the main frame even when scrolling is not delegated.

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:

(WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Return early if main frame view doesn't
delegate scrolling.

3:50 AM Changeset in webkit [206070] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2

Merge r206045 - [GTK] Surface created for glReadPixels path on Wayland is bigger than needed
https://bugs.webkit.org/show_bug.cgi?id=162025

Reviewed by Carlos Garcia Campos.

  • UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:

(WebKit::AcceleratedBackingStoreWayland::paint): the texture created by the Wayland
compositor is already scaled, so scaling its size when creating the surface causes it
to end up bigger than necessary.

3:48 AM Changeset in webkit [206069] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore

Merge r205998 - REGRESSION (r205462): Lot of leaks
https://bugs.webkit.org/show_bug.cgi?id=161946

Reviewed by Saam Barati.

We were forgetting to delete LargeAllocations on VM exit!

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::~MarkedSpace):

3:47 AM Changeset in webkit [206068] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14

Merge r206020 - [CMake] Build broken with current debian testing
https://bugs.webkit.org/show_bug.cgi?id=162054

Reviewed by Žan Doberšek.

Building WTR bindings is broken now in Debian testing. The reason is that '.' is no longer included in @INC for
perl, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588017 and
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1238.

  • Source/cmake/WebKitMacros.cmake(GENERATE_BINDINGS): Pass also the given BASE_DIR to perl executable so that it

can find modules in the current directory even if '.' is not in @INC. Also include generators in BASE_DIR to the
list of dependencies.

1:34 AM Changeset in webkit [206067] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Move the rendering of auth dialog shadow to the auth dialog widget
https://bugs.webkit.org/show_bug.cgi?id=162061

Reviewed by Michael Catanzaro.

Instead of rendering the shadow in the web view, we can let the auth dialog do it. This fixes the rendering of
the shadow in Wayland when using gdk_cairo_draw_from_gl().

  • UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:

(webkitAuthenticationDialogDraw): Draw the shadow before rendering the child.
(webkitAuthenticationDialogSizeAllocate): Center the child on the allocated space.
(webkit_authentication_dialog_class_init): Add size_allocate implementation.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDraw): Do not draw the shadow when auth dialog is present.
(webkitWebViewBaseSizeAllocate): Give the whole web view allocation to the auth dialog.

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

[ThreadedCompositor] Scrolling artifacts on accelerated subframes
https://bugs.webkit.org/show_bug.cgi?id=149060

Reviewed by Michael Catanzaro.

The problem is that we are scrolling the main frame even when scrolling is not delegated.

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:

(WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Return early if main frame view doesn't
delegate scrolling.

Note: See TracTimeline for information about the timeline view.