Timeline



Jun 11, 2013:

11:38 PM WebKitIDL edited by Christophe Dumez
Bring back [ConstructorRaisesException] (diff)
11:05 PM Changeset in webkit [151487] by Christophe Dumez
  • 16 edits in trunk/Source/WebCore

Unreviewed, rolling out r151378.
http://trac.webkit.org/changeset/151378
https://bugs.webkit.org/show_bug.cgi?id=117400

Decreased IDL readability a bit.

  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/mediastream/RTCIceCandidate.idl:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCSessionDescription.idl:
  • Modules/webaudio/OfflineAudioContext.idl:
  • Modules/websockets/WebSocket.idl:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDefinition):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/TestInterface.idl:
  • bindings/scripts/test/TestNamedConstructor.idl:
  • css/WebKitCSSMatrix.idl:
  • html/HTMLOptionElement.idl:
  • page/EventSource.idl:
  • workers/SharedWorker.idl:
  • workers/Worker.idl:
10:29 PM Changeset in webkit [151486] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed, EFL Gardening. Unskip fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
for efl-wk2. Because Ubuntu 13.04 solves issues related to xvfb. However, EFL WK1 doesn't support
webgl yet. So, it needs to be moved to efl-wk1 TestExpectations.

  • platform/efl-wk1/TestExpectations:
  • platform/efl/TestExpectations:
10:10 PM Changeset in webkit [151485] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed, EFL Gardening.

EFL WK2 supports fast/canvas/webgl/read-pixels-test.html because Ubuntu 13.04 solves issues related to xvfb.
However, EFL WK1 doesn't support webgl yet. So, it is moved to efl-wk1 TestExpectations.

  • platform/efl-wk1/TestExpectations:
  • platform/efl/TestExpectations:
8:09 PM Changeset in webkit [151484] by barraclough@apple.com
  • 7 edits in trunk/Source/WebKit2

Add NSSupportsAppNap keys to WebProcess, PluginProcess
https://bugs.webkit.org/show_bug.cgi?id=117528

Reviewed by Mark Rowe.

  • PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
    • add NSSupportsAppNap key.
7:54 PM Changeset in webkit [151483] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Window resize should close the popupmenu
https://bugs.webkit.org/show_bug.cgi?id=117391

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-06-11
Reviewed by Christophe Dumez.

Added the code to close the popup when main window is resized.

  • MiniBrowser/efl/main.c:

(on_window_resize):

6:47 PM Changeset in webkit [151482] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Unskip passing tests for new EFL bots.

fast/parser/document-write-fighting-eof.html
fast/parser/document-write-partial-entity-before-load.html

  • platform/efl/TestExpectations:
6:40 PM Changeset in webkit [151481] by ggaren@apple.com
  • 90 edits
    4 deletes in branches/dfgFourthTier

Rolled back in <http://trac.webkit.org/changeset/151363>.

Source/JavaScriptCore:

Rubber stamped by Phil Pizlo.

The ASSERTs were due to the bytecode parser performing a
StructureTransitionWatchpoint optimization in a case where the CFA
wouldn't because the CFA could prove that the watchpoint would contradict
a preceding CheckStructure.

I fixed this by removing the bytecode parser optimization: now, we fully
rely on CFA and constant folding to optimize structure checks when
possible.

I verified that there's no performance change vs doing the optimization
in the bytecode parser. (The optimization is very simple, so this is not
surprising.)

LayoutTests:

Rubber stamped by Phil Pizlo.

6:12 PM Changeset in webkit [151480] by oliver@apple.com
  • 6 edits
    2 adds in trunk/Source/WebKit2

Make sure we aren't throttling plugin timers during initialisation and destruction
https://bugs.webkit.org/show_bug.cgi?id=117522

Reviewed by Darin Adler.

Add a new ActivityAssertion RAII class to handle allowing/disallowing
timer throttling. Then make use of it during plugin initialisation
and destruction, as well as any synchronous messages (on the basis
that if another process is waiting for the plugin we shouldn't be
throttling timers).

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::didReceiveSyncMessage):
(WebKit::WebProcessConnection::destroyPlugin):
(WebKit::WebProcessConnection::createPlugin):

  • Shared/ActivityAssertion.cpp: Added.

(WebKit::ActivityAssertion::ActivityAssertion):
(WebKit::ActivityAssertion::~ActivityAssertion):

  • Shared/ActivityAssertion.h: Added.
  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
4:51 PM Changeset in webkit [151479] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

[Windows] Unreviewed build correction after r151440.

  • AccessibleBase.cpp:

(MSAARole): Switch back to emiting ROLE_SYSTEM_LISTITEM for
ListItemRole Web role to avoid breaking existing test.

4:16 PM Changeset in webkit [151478] by roger_fong@apple.com
  • 1 edit
    1 delete in trunk/WebKitLibraries

Unreviewed. Another part of rollout of r151408.

  • win/tools64: Removed.
  • win/tools64/scripts: Removed.
  • win/tools64/vsprops: Removed.
3:23 PM Changeset in webkit [151477] by Lucas Forschler
  • 2 edits in tags/Safari-537.44.1/WebKitLibraries

Merged r151474. <rdar://problem/14120726>

2:59 PM Changeset in webkit [151476] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Have to invalidate the mute button when changing the volume
https://bugs.webkit.org/show_bug.cgi?id=117464

Reviewed by Darin Adler.

Merge https://chromium.googlesource.com/chromium/blink/+/c4c685c82908449526fd8c251cc551e729ebed08
but without a test since the test doesn't work in WebKit.

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::changedVolume):

2:55 PM Changeset in webkit [151475] by mvujovic@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Regions don't create a stacking context for their contents
https://bugs.webkit.org/show_bug.cgi?id=114268

Reviewed by Alexandru Chiculita.

Source/WebCore:

Paint the region content (from RenderFlowThread) during the background phase instead of the
foreground phase.

Let's assume there is a region and a sibling element. The sibling partially overlaps the
region and appears after the region in DOM order.

Before this patch, we would paint in this order:
1) Region background
2) Sibling background
3) Region content
4) Sibling content

As a result, the sibling background would incorrectly paint between the region
background and the region content. Instead, the sibling background should paint over the
region background and the region content.

After this patch, we paint in this order:
1) Region background
2) Region content
3) Sibling background
4) Sibling content

Test: fast/regions/region-sibling-paint-order.html

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::paintObject):

LayoutTests:

  • fast/regions/region-sibling-paint-order-expected.html: Added.
  • fast/regions/region-sibling-paint-order.html: Added.
2:46 PM Changeset in webkit [151474] by roger_fong@apple.com
  • 2 edits in trunk/WebKitLibraries

Unreviewed. WinTools makefile fix.

  • win/tools32/WinTools.make:
2:43 PM Changeset in webkit [151473] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: (r149232) videos on disney.com are initially scrambled on load
https://bugs.webkit.org/show_bug.cgi?id=117517

Reviewed by Eric Carlson.

Set a background color on the AVPlayerLayer to avoid corruption when no
frames are available to display.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):

2:23 PM Changeset in webkit [151472] by achristensen@apple.com
  • 1 edit
    1 delete in trunk/Tools

Removed old broken code coverage tool.
https://bugs.webkit.org/show_bug.cgi?id=117520

Reviewed by Sam Weinig.

  • CodeCoverage: Removed.
  • CodeCoverage/README: Removed.
  • CodeCoverage/amber.png: Removed.
  • CodeCoverage/cov.py: Removed.
  • CodeCoverage/emerald.png: Removed.
  • CodeCoverage/gcov.css: Removed.
  • CodeCoverage/glass.png: Removed.
  • CodeCoverage/regenerate-coverage-display: Removed.
  • CodeCoverage/ruby.png: Removed.
  • CodeCoverage/run-generate-coverage-data: Removed.
  • CodeCoverage/snow.png: Removed.
2:18 PM Changeset in webkit [151471] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Use HTMLElementFactory to create equivalent elements in WebVTTElement
https://bugs.webkit.org/show_bug.cgi?id=117423

Reviewed by Eric Carlson.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/3d60bec8e5dabfe877c482797d9ef430bfde31

This change forces the calls through the factory so that we create appropriate sub-classes based upon the passed tag name,
rather than just creating a concrete HTMLElement class with an inappropriate tag name.

Test: media/track/getCueAsHTMLCrash.html

  • html/track/WebVTTElement.cpp:

(WebCore::WebVTTElement::createEquivalentHTMLElement):

LayoutTests:

  • media/track/getCueAsHTMLCrash-expected.txt: Added.
  • media/track/getCueAsHTMLCrash.html: Added.
2:09 PM Changeset in webkit [151470] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Split SelectorDataList::executeSingleTagNameSelectorData() into the 4 kinds of traversal
https://bugs.webkit.org/show_bug.cgi?id=117486

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-06-11
Reviewed by Ryosuke Niwa.

Since this is pretty common, split the name selector to have the constant conditions
outside the traversal.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::executeSingleTagNameSelectorData):

1:55 PM Changeset in webkit [151469] by eric.carlson@apple.com
  • 11 edits in trunk

[Mac] Update text track menu
https://bugs.webkit.org/show_bug.cgi?id=117351

Reviewed by Darin Adler.

Source/WebCore:

No new tests, existing tests updated.

  • English.lproj/Localizable.strings: Update the menu title.
  • page/CaptionUserPreferencesMac.mm: System language is no longer needed.
  • platform/LocalizedStrings.cpp: Ditto.
  • platform/LocalizedStrings.h:

LayoutTests:

  • media/video-controls-captions-trackmenu-localized.html:
  • media/video-controls-captions-trackmenu-sorted.html:
  • platform/mac-lion/media/video-controls-captions-trackmenu-localized-expected.txt:
  • platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt:
  • platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt:
1:53 PM Changeset in webkit [151468] by mhahnenberg@apple.com
  • 3 edits in branches/dfgFourthTier/Source/JavaScriptCore

isContravenedByStructure is backwards
https://bugs.webkit.org/show_bug.cgi?id=117366

We should be checking if arrayModeForStructure(structure) is a
subset of arrayModesThatPassFiltering(), not the other way around.
Also renamed isContravenedByStructure to better reflect what the
function is trying to determine.

Rubber stamped by Filip Pizlo.

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::structureWouldPassArrayModeFiltering):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheckAccountingForArrayMode):
(JSC::DFG::ArrayTypeCheck::isContravenedByValue):

1:43 PM Changeset in webkit [151467] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix the element type in the selector checkers
https://bugs.webkit.org/show_bug.cgi?id=117450

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-06-11
Reviewed by Anders Carlsson.

  • css/SelectorCheckerFastPath.cpp:

(WebCore::HTMLNames::checkClassValue):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::executeSingleClassNameSelectorData):

1:40 PM Changeset in webkit [151466] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Clean up the initializer mess in Document
https://bugs.webkit.org/show_bug.cgi?id=117448

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-06-11
Reviewed by Ryosuke Niwa.

Basic cleaning from
https://chromium.googlesource.com/chromium/blink/+/e54ba8d3b62b0245ecdf2f3ec11cd33b4035a4d7

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:
1:39 PM Changeset in webkit [151465] by timothy@apple.com
  • 2 edits in trunk/Tools

Have build-webkit build the WebInspectorUI project.

  • Scripts/build-webkit:
1:12 PM Changeset in webkit [151464] by commit-queue@webkit.org
  • 1 edit
    1 move
    26 deletes in trunk/WebKitLibraries

Unreviewed, rolling out r151408.
http://trac.webkit.org/changeset/151408
https://bugs.webkit.org/show_bug.cgi?id=117519

Opting for a different approach (Requested by rfong on
#webkit).

  • win/WinTools.make: Removed.
  • win/tools32/WinTools.make: Renamed from WebKitLibraries/win/tools64/WinTools.make.
  • win/tools64/scripts/COPYRIGHT-END-YEAR: Removed.
  • win/tools64/scripts/VERSION: Removed.
  • win/tools64/scripts/auto-version.sh: Removed.
  • win/tools64/scripts/feature-defines.sh: Removed.
  • win/tools64/vsprops/FeatureDefines.props: Removed.
  • win/tools64/vsprops/FeatureDefines.vsprops: Removed.
  • win/tools64/vsprops/FeatureDefinesCairo.props: Removed.
  • win/tools64/vsprops/FeatureDefinesCairo.vsprops: Removed.
  • win/tools64/vsprops/WinCairo.props: Removed.
  • win/tools64/vsprops/WinCairo.vsprops: Removed.
  • win/tools64/vsprops/cURL.props: Removed.
  • win/tools64/vsprops/cURL.vsprops: Removed.
  • win/tools64/vsprops/common.props: Removed.
  • win/tools64/vsprops/common.vsprops: Removed.
  • win/tools64/vsprops/debug.props: Removed.
  • win/tools64/vsprops/debug.vsprops: Removed.
  • win/tools64/vsprops/debug_all.vsprops: Removed.
  • win/tools64/vsprops/debug_wincairo.props: Removed.
  • win/tools64/vsprops/debug_wincairo.vsprops: Removed.
  • win/tools64/vsprops/debugsuffix.props: Removed.
  • win/tools64/vsprops/production.props: Removed.
  • win/tools64/vsprops/production.vsprops: Removed.
  • win/tools64/vsprops/release.props: Removed.
  • win/tools64/vsprops/release.vsprops: Removed.
  • win/tools64/vsprops/releaseproduction.vsprops: Removed.
1:08 PM Changeset in webkit [151463] by robert@webkit.org
  • 6 edits
    3 adds in trunk/LayoutTests

Rebaseline results after r151451

Unreviewed, gardening.

  • platform/efl/fast/forms/button-positioned-expected.txt:
  • platform/efl/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/efl/fast/replaced/width-and-height-of-positioned-replaced-elements-expected.txt: Added.
  • platform/gtk/fast/forms/button-positioned-expected.txt:
  • platform/gtk/fast/forms/input-appearance-preventDefault-expected.png:
  • platform/gtk/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/gtk/fast/replaced/width-and-height-of-positioned-replaced-elements-expected.txt: Added.
  • platform/win/fast/forms/onselect-textfield-expected.txt: Added.
1:03 PM Changeset in webkit [151462] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Add an option to run-webkit-tests to skip java dependency check
https://bugs.webkit.org/show_bug.cgi?id=117516

Reviewed by Andreas Kling.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

  • Scripts/webkitpy/port/mac.py:

(MacPort._check_port_build):

1:02 PM Changeset in webkit [151461] by achristensen@apple.com
  • 2 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=117514
Removed extra Xcode code coverage flags.

Reviewed by Sam Weinig.

  • Scripts/webkitdirs.pm:

(XcodeCoverageSupportOptions):

12:58 PM Changeset in webkit [151460] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Set the font size for in-band captions on the display box, not the :cue.
https://bugs.webkit.org/show_bug.cgi?id=117515

Reviewed by Eric Carlson.

Make the in-band font size behavior match the out-of-band behavior.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::setFontSize):

12:53 PM Changeset in webkit [151459] by Brent Fulgham
  • 10 edits
    1 add in trunk

Source/WebCore: [Windows] Implement 'attributeValue' accessor to support testing.
https://bugs.webkit.org/show_bug.cgi?id=117513

Reviewed by Anders Carlsson.

  • WebCore.vcxproj/WebCore.vcxproj: Add new implementation file.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • accessibility/win/AccessibilityObjectWrapperWin.cpp: Added.
  • accessibility/win/AccessibilityObjectWrapperWin.h: Add declaration

Source/WebKit/win: [Windows] Implement 'attributeValue' accessor to support testing.
https://bugs.webkit.org/show_bug.cgi?id=117513

Reviewed by Anders Carlsson.

  • AccessibleBase.cpp:

(AccessibleBase::attributeValue): Added.

  • AccessibleBase.h: Added method declaration.
  • Interfaces/AccessibleComparable.idl: New accessor interface.

Tools: [Windows] Implement 'attributeValue' accessor to support testing
https://bugs.webkit.org/show_bug.cgi?id=117513

Reviewed by Anders Carlsson.

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(comparableObject): Move earlier in file.
(findAccessibleObjectById): New implemenation.
(AccessibilityController::accessibleElementById): New implementation.

12:49 PM Changeset in webkit [151458] by zandobersek@gmail.com
  • 11 edits in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining various tests that are at the moment failing and need the new baseline.

  • platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt:
  • platform/gtk/editing/pasteboard/4944770-2-expected.txt:
  • platform/gtk/editing/pasteboard/8145-2-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-006-expected.txt:
  • platform/gtk/editing/pasteboard/paste-text-008-expected.txt:
  • platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
  • platform/gtk/editing/pasteboard/paste-xml-expected.txt:
  • platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt:
12:37 PM Changeset in webkit [151457] by Lucas Forschler
  • 1 edit
    1 copy
    2 deletes in tags/Safari-537.44.1/WebKitLibraries

Rollout of r151408.

12:20 PM Changeset in webkit [151456] by mark.lam@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

Removed unused local variable to fix cab build.

Unreviewed.

  • interpreter/StackIterator.cpp:

(JSC::StackIterator::Frame::logicalFrame):

12:17 PM Changeset in webkit [151455] by timothy@apple.com
  • 2 edits in trunk

Add WebInspectorUI to the Makefile.

Reviewed by Mark Rowe.

  • Source/Makefile:
12:16 PM Changeset in webkit [151454] by timothy@apple.com
  • 5 edits in trunk/Source

Update the framework bundle identifier for the Web Inspector.

Reviewed by Mark Rowe.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(useWebKitWebInspector):
(WebInspectorFrontendClient::localizedStringsURL):
(-[WebInspectorWindowController inspectorPagePath]):

Source/WebKit2:

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::inspectorReallyUsesWebKitUserInterface):
(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):

  • WebProcess/WebPage/mac/WebInspectorMac.mm:

(WebKit::inspectorReallyUsesWebKitUserInterface):
(WebKit::WebInspector::localizedStringsURL):

12:16 PM Changeset in webkit [151453] by timothy@apple.com
  • 604 adds in trunk/Source/WebInspectorUI

Open Source the Safari Web Inspector back to WebKit.

12:06 PM Changeset in webkit [151452] by Lucas Forschler
  • 1 edit
    30 copies
    1 delete in tags/Safari-537.44.1/WebKitLibraries

Merged r151408. <rdar://problem/14097829>

12:03 PM Changeset in webkit [151451] by robert@webkit.org
  • 16 edits
    6 adds in trunk

Positioned Replaced Elements That Aren't RenderReplaced get Incorrect Width
https://bugs.webkit.org/show_bug.cgi?id=93735

Reviewed by Darin Adler.

Source/WebCore:

Replaced elements that aren't RenderReplaced aren't |isReplaced| and don't have an
intrinsic height or width. This causes them to go down the wrong height and width computation
path in RenderBox when they are absolute positioned.

The notion of |isReplaced| is entwined with the notion of being |isInline| so it isn't really
possible to make them isReplaced without re-wiring a lot of code. So instead use an ad-hoc definition
of isReplacedElement in RenderBox to bring all replaced elements into the height and width calculation.
To make sure we get the right height and width in there, give non-RenderReplaced replaced renderers
the helpers for returning their approximation of intrinsic height and width.

Test: fast/replaced/width-and-height-of-positioned-replaced-elements.html

  • rendering/RenderBox.cpp:

(WebCore::isReplacedElement):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalHeight):

  • rendering/RenderBox.h:

(WebCore::RenderBox::intrinsicSize):

  • rendering/RenderButton.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::RenderListBox):
(WebCore::RenderListBox::computeLogicalHeight):

  • rendering/RenderListBox.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderReplaced.h:
  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::RenderTextControl):
(WebCore::RenderTextControl::computeLogicalHeight):

  • rendering/RenderTextControl.h:

LayoutTests:

  • fast/forms/onselect-textfield-expected.txt:
  • fast/replaced/width-and-height-of-positioned-replaced-elements-expected.png: Added.
  • fast/replaced/width-and-height-of-positioned-replaced-elements-expected.txt: Added.
  • fast/replaced/width-and-height-of-positioned-replaced-elements.html: Added.
  • platform/mac-wk2/fast/replaced/width-and-height-of-positioned-replaced-elements-expected.txt: Added.
  • platform/mac/fast/forms/button-positioned-expected.txt:
  • platform/mac/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/mac/fast/replaced/width-and-height-of-positioned-replaced-elements-expected.txt: Added.
  • platform/qt/fast/forms/button-positioned-expected.txt:
  • platform/qt/fast/forms/input-appearance-preventDefault-expected.txt:
12:02 PM Changeset in webkit [151450] by Lucas Forschler
  • 4 edits in tags/Safari-537.44.1/Source

Versioning.

11:48 AM Changeset in webkit [151449] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

There are unused variables in ApplyStyleCommand::mergeEndWithNextIfIdentical and ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds
https://bugs.webkit.org/show_bug.cgi?id=117475

Reviewed by Andreas Kling.

Removed.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):

11:48 AM Changeset in webkit [151448] by robert@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add baselines for test added in r151444

Unreviewed.

  • platform/gtk/fast/repaint/table-cell-collapsed-border-scroll-expected.txt: Added.
  • platform/win/fast/repaint/table-cell-collapsed-border-scroll-expected.txt: Added.
11:48 AM Changeset in webkit [151447] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

Do not filter cookies requested through the CookieStorageShim.
https://bugs.webkit.org/show_bug.cgi?id=117511
<rdar://problem/13603433>

Reviewed by Beth Dakin.

Since the shim function is called when the underlying media engine is
creating an HTTPRequest, use CookieRequestHeaderFieldValue (which does
not filter out HTTP-only cookies) rather than CookiesForDOM (which does).

  • Shared/mac/CookieStorageShim.cpp:

(WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):

11:33 AM Changeset in webkit [151446] by robert@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix typo in r151445

Unreviewed build fix.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

11:22 AM Changeset in webkit [151445] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove redundant calls to ceilToFloat in RenderBlock::computeInlinePreferredLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=117490

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/be336b14325b2938ff6a4fb6191073a6e717a57c.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

11:11 AM Changeset in webkit [151444] by robert@webkit.org
  • 3 edits
    4 adds in trunk

Painting collapsed borders during scrolling
https://bugs.webkit.org/show_bug.cgi?id=85658

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/repaint/table-cell-collapsed-border-scroll.html

WHen painting collapsed borders we need to paint the borders of the row above
the topmost dirtied row so that we compute the correct value for the dirtied row's collapsed border.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::paintObject):

LayoutTests:

  • fast/repaint/table-cell-collapsed-border-scroll-expected.txt: Added.
  • fast/repaint/table-cell-collapsed-border-scroll.html: Added.
  • platform/qt/fast/repaint/table-cell-collapsed-border-scroll-expected.png: Added.
10:49 AM Changeset in webkit [151443] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: Type check hoisting phase has a dead if statement
https://bugs.webkit.org/show_bug.cgi?id=117510

Reviewed by Geoffrey Garen.

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

10:09 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
Only bug fixes are allowed in the stable branch (diff)
10:08 AM Changeset in webkit [151442] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.0.3

Tagging the WebKitGTK+ 2.0.3 release

9:37 AM Changeset in webkit [151441] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[curl] Custom HTTP method support
https://bugs.webkit.org/show_bug.cgi?id=117302

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-06-11
Reviewed by Kenneth Rohde Christiansen.

No new tests, already covered by existing ones like:
http/tests/xmlhttprequest/workers/methods.html
http/tests/xmlhttprequest/workers/methods-async.html

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::initializeHandle):

8:32 AM Changeset in webkit [151440] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

[Windows] Provide MSAA mappings for more WebCore roles.
https://bugs.webkit.org/show_bug.cgi?id=117389

Reviewed by Chris Fleizach.

  • AccessibleBase.cpp:

(MSAARole): Add additional mappings between WebCore roles and MSAA roles.

8:14 AM Changeset in webkit [151439] by commit-queue@webkit.org
  • 4 edits in trunk

Remove leftover wxWebkit code
https://bugs.webkit.org/show_bug.cgi?id=117471

Patch by Seokju Kwon <Seokju Kwon> on 2013-06-11
Reviewed by Andreas Kling.

.:

  • Source/cmake/WebKitPackaging.cmake:

Source/WebKit2:

  • Scripts/generate-forwarding-headers.pl:
8:09 AM Changeset in webkit [151438] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

editing/undo/undo-after-event-edited.html can be flaky
https://bugs.webkit.org/show_bug.cgi?id=117461

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/515de860730b34289df5805b40adb2535a9a8ba1

  • editing/undo/undo-after-event-edited.html:
8:06 AM Changeset in webkit [151437] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Remove 'using namespace std'
https://bugs.webkit.org/show_bug.cgi?id=117498

Patch by Seokju Kwon <Seokju Kwon> on 2013-06-11
Reviewed by Anders Carlsson.

No new tests, no behavior change.

  • inspector/InspectorAgent.cpp: Remove unneeded 'using namespace std'.
  • inspector/InspectorFrontendClientLocal.cpp: Use explicit std:: qualifiers instead.

(WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight):
(WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowWidth):

  • inspector/InspectorFrontendHost.cpp: Remove unneeded 'using namespace std'.
  • inspector/InspectorPageAgent.cpp: Remove unneeded 'using namespace std'.
7:42 AM Changeset in webkit [151436] by zarvai@inf.u-szeged.hu
  • 4 edits
    2 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Unskipping passing tests. Generate new baseline where needed.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-06-11

  • platform/qt-5.0-wk1/TestExpectations:
  • platform/qt-5.0-wk2/TestExpectations:
  • platform/qt-5.0-wk2/fast/images/paletted-png-with-color-profile-expected.png: Added.
  • platform/qt-5.0-wk2/fast/images/paletted-png-with-color-profile-expected.txt: Added.
  • platform/qt/TestExpectations:
6:45 AM Changeset in webkit [151435] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.0

Unreviewed. Update NEWS and Versions.m4 for 2.0.3 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.0.3.
6:28 AM WebKitIDL edited by Christophe Dumez
Remove [NamedGetter] after r151434 (diff)
6:04 AM Changeset in webkit [151434] by Christophe Dumez
  • 18 edits in trunk/Source/WebCore

Support latest Web IDL named property getters
https://bugs.webkit.org/show_bug.cgi?id=117403

Reviewed by Kentaro Hara.

Add support for the latest Web IDL named property getters to the JSC
bindings generator:
http://www.w3.org/TR/WebIDL/#idl-named-properties

Drop support for outdated [NamedGetter] IDL extended attribute.

Support for other kinds of named properties will be added in later
patches. This patch only brings named property getters.

This patch is based on Blink r149247 by kojih@chromium.org.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GetSpecialAccessorFunctionForType):
(GetNamedGetterFunction):
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/IDLParser.pm:

(applyTypedefs):
(parseSpecialOperation):
(parseSpecials):
(applyMemberList):

  • bindings/scripts/test/TestEventTarget.idl:
  • css/StyleSheetList.idl:
  • dom/DOMNamedFlowCollection.idl:
  • dom/DOMStringMap.idl:
  • dom/NamedNodeMap.idl:
  • dom/NodeList.idl:
  • html/HTMLAllCollection.idl:
  • html/HTMLCollection.idl:
  • html/HTMLFormControlsCollection.idl:
  • html/HTMLPropertiesCollection.idl:
  • plugins/DOMMimeTypeArray.idl:
  • plugins/DOMPlugin.idl:
  • plugins/DOMPluginArray.idl:
  • storage/Storage.idl:
5:12 AM Changeset in webkit [151433] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Add fallback for EWK2UnitTestBase if opengl is not available.
https://bugs.webkit.org/show_bug.cgi?id=117504

Patch by Changhyup Jwa <ch.jwa@samsung.com> on 2013-06-11
Reviewed by Christophe Dumez.

There're many fails on efl webkit2 unit test if opengl is not available.
So, add fallback to non-opengl evas engine.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::SetUp):

3:47 AM Changeset in webkit [151432] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0

Unreviewed. Rename gobject_introspection_required variable.

As gobject_introspection_required_version for consistency with all
other required_version variables.

  • Source/autotools/FindDependencies.m4:
  • Source/autotools/Versions.m4:
2:31 AM Changeset in webkit [151431] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r150182 - [GTK] TargetFrame and innerNodeFrame confused
https://bugs.webkit.org/show_bug.cgi?id=102907

Reviewed by Martin Robinson.

  • webkit/webkithittestresult.cpp:

(WebKit::kit):

1:48 AM Changeset in webkit [151430] by mihnea@adobe.com
  • 4 edits in trunk/LayoutTests

[Qt][EFL][GTK]fast/regions/overflow-size-change-with-stacking-context-rtl.html fails after r151202
https://bugs.webkit.org/show_bug.cgi?id=117295

Reviewed by Alexandru Chiculita.

Both test specify margins auto, which means that they can be computed to floats.
I changed the tests so that the margins are computed to integer values, to avoid
possible differences on platforms that enable subpixel layout.

  • fast/regions/overflow-size-change-with-stacking-context-rtl-expected.html:
  • fast/regions/overflow-size-change-with-stacking-context-rtl.html:
  • platform/qt/TestExpectations: Unskip the skipped test
1:39 AM Changeset in webkit [151429] by Csaba Osztrogonác
  • 11 edits in trunk

Make WTR use its own temporary directory for application cache
https://bugs.webkit.org/show_bug.cgi?id=117143

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetApplicationCacheDirectory):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applicationCacheDirectory):

  • UIProcess/WebContext.h:

(WebKit::WebContext::setApplicationCacheDirectory):

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultApplicationCacheDirectory):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultApplicationCacheDirectory):

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultApplicationCacheDirectory):

  • UIProcess/qt/WebContextQt.cpp:

(WebKit::WebContext::platformDefaultApplicationCacheDirectory):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

1:35 AM Changeset in webkit [151428] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Fix test_ewk2_context_menu
https://bugs.webkit.org/show_bug.cgi?id=116601

Patch by Michał Pakuła vel Rutka <Michał Pakuła vel Rutka> on 2013-06-11
Reviewed by Gyuyoung Kim.

test_ewk2_context_menu is always passing, it does not test any context menu feature
as it ends before context menu is called.
One single test was divided into two tests: testing WebKit2 created context menu and
testing menus and items created by application.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::waitUntilTrue): added function introducing internal loop until boolean value is changed to true

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  • UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:

(customItemSelected):
(showContextMenu):
(showContextMenuForRemoveAndAppend):
(showContextMenuForSubmenu):
(hideContextMenu):
(TEST_F):

1:10 AM Changeset in webkit [151427] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Add ewk_view_navigate API
https://bugs.webkit.org/show_bug.cgi?id=117467

Reviewed by Christophe Dumez.

The applications will use this API to navigate history more than one step.

  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:

(EwkBackForwardListItem::wkItem): Return WKBackForwardListItemRef for page to navigate.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_navigate_to): Added new API.

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F): Added more test case for navigation.

12:57 AM Changeset in webkit [151426] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Test editing/execCommand/indent-paragraphs.html times out
https://bugs.webkit.org/show_bug.cgi?id=117235

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-06-11
Reviewed by Rob Buis.

PR 346414.

After r150224 ResourceHandle::start() can fail returning false so
that the ResourceHandle is destroyed and the error not
handled. Handle the errors by scheduling a InvalidURLFailure and
returning true when startJob fails to make sure the ResourceHandle
is not destroyed and the error is handled and notified to the
client.

Fixes timeout in editing/execCommand/indent-paragraphs.html.

  • platform/network/blackberry/ResourceHandleBlackBerry.cpp:

(WebCore::ResourceHandle::start):

12:34 AM Changeset in webkit [151425] by rniwa@webkit.org
  • 6 edits in trunk/Source/WebCore

Remove IntRect::pixelSnapped* and its enclosingRect since they are no longer used
https://bugs.webkit.org/show_bug.cgi?id=117494

Reviewed by Darin Adler.

Merge: https://chromium.googlesource.com/chromium/blink/+/9433dc00e882e2808ac1db3c1fd89090896d7b58

https://chromium.googlesource.com/chromium/blink/+/7beaa73aa099170cb2cad02c12c5e0a448b12c21

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::update):

  • platform/graphics/IntRect.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::hitTestCulledInline):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintUsingContainer):

12:10 AM Changeset in webkit [151424] by sergio@webkit.org
  • 3 edits
    4 adds in trunk

Autoclose braces and parentheses at the end of style sheet
https://bugs.webkit.org/show_bug.cgi?id=117414

Reviewed by Andreas Kling.

From Blink r150202 by <serya@chromium.org>

Source/WebCore:

Use closing_parenthesis and closing_brace instead of the literals
'}' and ')'. This allows the parser to treat expressions with
unmatched closing braces/parenthesis as if all of them were
actually closed.

Tests: animations/keyframe-autoclose-brace.html

css3/autoclose-braces-and-parentheses.html

  • css/CSSGrammar.y.in:

LayoutTests:

  • animations/keyframe-autoclose-brace-expected.txt: Added.
  • animations/keyframe-autoclose-brace.html: Added.
  • css3/autoclose-braces-and-parentheses-expected.txt: Added.
  • css3/autoclose-braces-and-parentheses.html: Added.

Jun 10, 2013:

10:47 PM Changeset in webkit [151423] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[CoordinatedGraphics] Typos in custom shader support
https://bugs.webkit.org/show_bug.cgi?id=117413

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-06-10
Reviewed by Noam Rosenthal.

Wrong keyframe is passed when assigning filterValue.

Source/WebCore:

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):

10:40 PM Changeset in webkit [151422] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

text-transform: capitalize shouldn't upconvert
https://bugs.webkit.org/show_bug.cgi?id=117485

Reviewed by Adam Barth.

Avoid the upconversion. Merge https://chromium.googlesource.com/chromium/blink/+/c5a221d6da2443df0639c01c40aac6040908ec79.

  • rendering/RenderText.cpp:

(WebCore::makeCapitalized):

10:37 PM Changeset in webkit [151421] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

DocType strings should be 8 bit wide
https://bugs.webkit.org/show_bug.cgi?id=117487

Reviewed by Michael Saboff.

Merge https://chromium.googlesource.com/chromium/blink/+/8da02d0ce3965c4e6bf227db856bce930393429a.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertDoctype):

9:47 PM Changeset in webkit [151420] by mark.lam@apple.com
  • 23 edits
    4 adds in branches/dfgFourthTier/Source

Introducing the StackIterator class.
https://bugs.webkit.org/show_bug.cgi?id=117390.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The StackIterator class is meant to unify the way we iterate the JS
stack. It also makes it so that we don't have to copy the frame data
into the intermediate StackFrame struct before processing it.
Unfortunately we still can't get rid of StackFrame because it is used
to record frame information for the Exception stack that is expected
to persist beyond when the frames have been popped off the JS stack.

The StackIterator will iterate over all "logical" frames (i.e. including
inlined frames). As it iterates the JS stack, if it encounters a DFG
frame that has inlined frames, the iterator will canonicalize the
inlined frames before returning. Once canonicalized, the frame can be
read like any other frame.

The StackIterator implements a Frame class that inherits from CallFrame.
The StackIterator::Frame serves as reader of the CallFrame that makes
it easier to access information about the frame. The StackIterator::Frame
only adds functions, and no additional data fields.

  • API/JSContextRef.cpp:

(JSContextCreateBacktrace):

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • interpreter/CallFrame.cpp:

(JSC::CallFrame::begin):
(JSC::CallFrame::beginAt):

  • interpreter/CallFrame.h:

(JSC::ExecState::setInlineCallFrame):
(ExecState):
(JSC::ExecState::end):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::unwindCallFrame):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::throwException):
(JSC::Interpreter::debug):

  • interpreter/Interpreter.h:

(Interpreter):

  • interpreter/StackIterator.cpp: Added.

(JSC::StackIterator::StackIterator):
(JSC::StackIterator::beginAt):
(JSC::StackIterator::gotoNextFrame):

  • Based on the deleted Interpreter::findFunctionCallFrameFromVMCode().

(JSC::StackIterator::findFrameForFunction):

  • Based on the deleted Interpreter::retrieveCallerFromVMCode().

(JSC::StackIterator::Frame::codeType):

  • Based on the deleted getStackFrameCodeType().

(JSC::StackIterator::Frame::functionName):

  • Based on StackFrame::friendlyFunctionName().

(JSC::StackIterator::Frame::sourceURL):

  • Based on StackFrame::friendlySourceURL().

(JSC::StackIterator::Frame::toString):

  • Based on StackFrame::toString().

(JSC::StackIterator::Frame::bytecodeOffset):
(JSC::StackIterator::Frame::line):

  • Based on StackFrame::line().

(JSC::StackIterator::Frame::column):

  • Based on StackFrame::column().

(JSC::StackIterator::Frame::arguments):

  • Based on the deleted Interpreter::retrieveArgumentsFromVMCode().

(JSC::StackIterator::Frame::retrieveExpressionInfo):

  • Based on StackFrame::expressionInfo().

(JSC::StackIterator::Frame::logicalFrame):

  • Based on the now deleted CallFrame::trueCallFrame().

(JSC::StackIterator::Frame::logicalCallerFrame):

  • Based on the now deleted CallFrame::trueCallerFrame().

(JSC::jitTypeName):
(JSC::printIndents):
(JSC::printif):
(JSC::StackIterator::Frame::print):
(debugPrintCallFrame):

  • Prints the contents of the frame for debugging purposes. There are 2 versions that can be used as follows:
  1. When you have a valid StackIterator, you can print the current frame's content using the print instance method:

iter->print(indentLevel);

  1. When you have a CallFrame* that you want to dump from a debugger console, you can print its content as follows:

(gdb) call debugPrintCallFrame(callFrame)

A sample of the output looks like this:

frame 0x1510c70b0 {

name 'shouldBe'
sourceURL 'testapi.js'
hostFlag 0
isInlinedFrame 0
callee 0x15154efb0
returnPC 0x10ed0786d
callerFrame 0x1510c7058
logicalCallerFrame 0x1510c7058
rawLocationBits 27 0x1b
codeBlock 0x7fe79b037200

bytecodeOffset 27 0x1b / 210
line 46
column 20
jitType 3 <BaselineJIT> isOptimizingJIT 0
hasCodeOrigins 0

}

  • interpreter/StackIterator.h: Added.

(StackIterator::Frame):
(JSC::StackIterator::Frame::create):
(JSC::StackIterator::Frame::isJSFrame):
(JSC::StackIterator::Frame::callFrame):

  • interpreter/StackIteratorPrivate.h: Added.

(StackIterator):
(JSC::StackIterator::operator*):
(JSC::StackIterator::operator->):
(JSC::StackIterator::operator==):
(JSC::StackIterator::operator!=):
(JSC::StackIterator::operator++):
(JSC::StackIterator::end):
(JSC::StackIterator::empty):

  • jsc.cpp:

(functionJSCStack):

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::addParentForConsoleStart):

  • profiler/ProfileNode.h:

(ProfileNode):

  • runtime/JSFunction.cpp:

(JSC::retrieveArguments):
(JSC::JSFunction::argumentsGetter):
(JSC::skipOverBoundFunctions):
(JSC::retrieveCallerFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnPropertyDescriptor):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetPrototypeOf):

  • runtime/Operations.h:

Source/WebCore:

No new tests.

  • ForwardingHeaders/interpreter/StackIterator.h: Added.
  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::send):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

9:47 PM Changeset in webkit [151419] by Csaba Osztrogonác
  • 5 edits in trunk/Source/WebKit2

[Qt][GTK] Build fix after r151403
https://bugs.webkit.org/show_bug.cgi?id=117452

Patch by Seokju Kwon <Seokju Kwon> on 2013-06-10
Reviewed by Csaba Osztrogonác.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::preferencesDidChange):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/qt/raw/qrawwebview_p_p.h:

(QRawWebViewPrivate::preferencesDidChange):

  • UIProcess/qt/QtPageClient.h:

(WebKit::QtPageClient::preferencesDidChange):

9:16 PM Changeset in webkit [151418] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Use shouldBeType in animations/keyframes-rule.html
https://bugs.webkit.org/show_bug.cgi?id=117439

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/7eb727a7d5765eaa1779e00a45ac9f63e2e0047f

  • animations/keyframes-rule-expected.txt:
  • animations/keyframes-rule.html:
7:31 PM Changeset in webkit [151417] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Fix wrong expectation result on 151416.

  • platform/efl-wk2/TestExpectations:
6:15 PM Changeset in webkit [151416] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Manage tests which need to implement repaint rect.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:11 PM Changeset in webkit [151415] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

Make more functions const
https://bugs.webkit.org/show_bug.cgi?id=117455

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/886866f5034d7f30f8aa607b909313f99db1f3b4.

  • editing/VisibleUnits.cpp:

(WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):

  • html/canvas/WebGLRenderingContext.cpp:
  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::evalDisabledErrorMessage):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::LineWidth::shouldIndentText):

5:47 PM Changeset in webkit [151414] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r151411.
http://trac.webkit.org/changeset/151411
https://bugs.webkit.org/show_bug.cgi?id=117453

because it is duplicated with Bug 117441 (Requested by
gyuyoung_ on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-06-10

  • UIProcess/efl/WebViewEfl.cpp:
  • UIProcess/efl/WebViewEfl.h:
5:46 PM Changeset in webkit [151413] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Fix build error and warning
https://bugs.webkit.org/show_bug.cgi?id=117441

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-06-10
Reviewed by Anders Carlsson.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::preferencesDidChange): Added.
(WebKit::WebView::createPopupMenuProxy): Remove 'page'.

  • UIProcess/CoordinatedGraphics/WebView.h:
5:38 PM Changeset in webkit [151412] by ap@apple.com
  • 4 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=117449
Remove dead code for storing fonts in DATA section

Reviewed by Dan Bernstein.

  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:

Don't copy font resources to DATA, as we don't have any code that reads them
from there (previously removed due to being under "defined(BUILDING_ON_LEOPARD)").

  • DumpRenderTree/mac/DumpRenderTree.mm: (activateTestingFonts):
  • WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm: (WTR::activateFonts):

Removed comments suggesting that we want to restore the old solution.

5:27 PM Changeset in webkit [151411] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed, EFL Build fix after r151403.

Added preferencesDidChange to WebViewEfl.

  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::preferencesDidChange):

  • UIProcess/efl/WebViewEfl.h:
5:07 PM Changeset in webkit [151410] by jer.noble@apple.com
  • 4 edits
    10 adds in trunk

REGRESSION(r151302): Many broken webaudio/ tests on Mac port.
https://bugs.webkit.org/show_bug.cgi?id=117446

Reviewed by Chris Rogers.

Source/WebCore:

The new "pageConsentRequiredForAudioStart()" restriction was blocking playback event
even when page consent was given. Remvoe the restriction immediately in that case.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::startRendering):

LayoutTests:

Re-enable the tests on mac-wk2 and add new baselines for codec and audiobuffersource tests.

  • platform/mac-wk2/TestExpectations:
  • platform/mac-wk2/webaudio/audiobuffersource-loop-points-expected.wav: Added.
  • platform/mac-wk2/webaudio/audiobuffersource-playbackrate-expected.wav: Added.
  • platform/mac-wk2/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/mac-wk2/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • platform/mac-wk2/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
4:43 PM Changeset in webkit [151409] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash in StorageAreaMap::applyChange when clearing local storage in another web process
https://bugs.webkit.org/show_bug.cgi?id=117440
<rdar://problem/13961548>

Reviewed by Tim Horton.

Add an early return so we won't try to look up a null key in the m_pendingValueChanges map.
Also, fix an assertion - it's fine for m_storageMap to be null in applyChange.

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::applyChange):

4:16 PM Changeset in webkit [151408] by roger_fong@apple.com
  • 1 edit
    1 copy
    1 move in trunk/WebKitLibraries

Change WebKitLibraries/win folder structure around.
<rdar://problem/14097829>

Reviewed by Lucas Forschler.

  • win/WinTools.make: Copied from win/tools32/WinTools.make.
  • win/tools32/WinTools.make: Removed.
  • win/tools64: Copied from win/tools32.
3:28 PM Changeset in webkit [151407] by rakuco@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Remove a vestige of wxWidgets support.
https://bugs.webkit.org/show_bug.cgi?id=117419

Reviewed by Benjamin Poulain.

  • runtime/JSExportMacros.h: Remove a check for BUILDING_WX that

seems to have gone unnoticed when the wxWidgets port was removed.

3:10 PM Changeset in webkit [151406] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] Add default case to switches to fix strict build
https://bugs.webkit.org/show_bug.cgi?id=117416

Patch by Sergio Correia <Sergio Correia> on 2013-06-10
Reviewed by Noam Rosenthal.

This patch fixes a strict build by asserting on the default case of two
switch statements where gcc was previously complaining of unhandled cases.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

2:50 PM Changeset in webkit [151405] by fpizlo@apple.com
  • 5 edits
    3 adds in branches/dfgFourthTier

Source/JavaScriptCore: Marge trunk r146653.

2013-03-22 Filip Pizlo <fpizlo@apple.com>


DFG folding of PutById to SimpleReplace should consider the specialized function case
https://bugs.webkit.org/show_bug.cgi?id=113093


Reviewed by Geoffrey Garen and Mark Hahnenberg.


  • bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFor):

LayoutTests: Merge trunk r146653.

2013-03-22 Filip Pizlo <fpizlo@apple.com>


DFG folding of PutById to SimpleReplace should consider the specialized function case
https://bugs.webkit.org/show_bug.cgi?id=113093


Reviewed by Geoffrey Garen and Mark Hahnenberg.


  • fast/js/dfg-cfa-prove-put-by-id-simple-when-storing-to-specialized-function-expected.txt: Added.
  • fast/js/dfg-cfa-prove-put-by-id-simple-when-storing-to-specialized-function.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-cfa-prove-put-by-id-simple-when-storing-to-specialized-function.js: Added. (foo): (baz): (fuzz):
2:36 PM Changeset in webkit [151404] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION(r150633): Find on page non-focused text highlight color is bright yellow.
<rdar://problem/14098882>
<http://webkit.org/b/117371>

Reviewed by Anders Carlsson.

There was a mistake in the parameter ordering which still compiled because of
implicit bool/unsigned conversion.
Changed the interface of Page::findMatchesForText() to use enums instead of bools.

No test because the color of the highlighted matches is not available through APIs.

  • page/Page.h:
  • page/Page.cpp:

(WebCore::Page::findMatchesForText):
(WebCore::Page::markAllMatchesForText):
(WebCore::Page::countFindMatches):

2:32 PM Changeset in webkit [151403] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

-[WKView _updateWindowAndViewFrames] should avoid updating the view frame in window coordinates if we don't have plugins
https://bugs.webkit.org/show_bug.cgi?id=117420
<rdar://problem/14073034>

Reviewed by Tim Horton.

If plug-ins are disabled there's no need for the web process to know about the view frame in window coordinates so only
send it when plug-ins are enabled. In addition, if accessibility is disabled we don't need to send a message at all.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::preferencesDidChange):
Call through to -[WKView _preferencesDidChange].

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateWindowAndViewFrames]):
Don't compute viewFrameInWindowCoordinates or accessibilityPosition unless they're required. If neither are required,
don't even send a message to the web process.

(-[WKView _preferencesDidChange]):
Update _needsViewFrameInWindowCoordinates and call -[WKView _updateWindowAndViewFrames] if needed.

(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
Set _needsViewFrameInWindowCoordinates based on whether plug-ins are enabled or not.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::preferencesDidChange):
Call the page client.

2:23 PM Changeset in webkit [151402] by betravis@adobe.com
  • 31 edits
    15 moves
    1 add in trunk

[CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
https://bugs.webkit.org/show_bug.cgi?id=117162

Reviewed by Alexandru Chiculita.

Source/WebCore:

With the split between the CSS Exclusions and CSS Shapes specifications,
some renaming is necessary. In general, this patch removes 'Exclusion' from
any Shapes code, while organizing the rendering shapes code into a 'shapes'
folder.

Renames:
ExclusionShape -> Shape
Exclusion[Rectangle|Polygon] -> [Rectangle|Polygon]Shape
Exclusion -> Shape

Refactoring, no new tests.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSPrimitiveValue.h:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyShape::setValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyShape::createHandler):
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::PropertyWrapperShape::PropertyWrapperShape):
(WebCore::CSSPropertyAnimation::ensurePropertyMap):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::shapeInsideInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
(WebCore::shapeInfoRequiresRelayout):
(WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
(WebCore::RenderBlock::computeShapeSize):
(WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::computeLogicalLocationForFloat):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::ensureShapeInsideInfo):
(WebCore::RenderBlock::shapeInsideInfo):
(WebCore::RenderBlock::setShapeInsideInfo):
(WebCore::RenderBlock::allowsShapeInsideInfoSharing):
(WebCore::RenderBlock::xPositionForFloatIncludingMargin):
(WebCore::RenderBlock::yPositionForFloatIncludingMargin):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutShapeInsideInfo):
(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::constructBidiRunsForLine):
(WebCore::adjustLogicalLineTop):
(WebCore::RenderBlock::updateLineBoundariesForShapes):
(WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange):

  • rendering/RenderBox.h:

(WebCore::RenderBox::shapeOutsideInfo):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintOffset):

  • rendering/RenderView.h:

(WebCore::RenderView::pushLayoutState):

  • rendering/shapes/PolygonShape.cpp: Renamed from Source/WebCore/rendering/ExclusionPolygon.cpp.

(WebCore::leftSide):
(WebCore::isReflexVertex):
(WebCore::computeXIntersection):
(WebCore::inwardEdgeNormal):
(WebCore::outwardEdgeNormal):
(WebCore::appendArc):
(WebCore::snapVerticesToLayoutUnitGrid):
(WebCore::computeShapePaddingBounds):
(WebCore::computeShapeMarginBounds):
(WebCore::PolygonShape::shapePaddingBounds):
(WebCore::PolygonShape::shapeMarginBounds):
(WebCore::getVertexIntersectionVertices):
(WebCore::appendIntervalX):
(WebCore::compareEdgeIntersectionX):
(WebCore::computeXIntersections):
(WebCore::computeOverlappingEdgeXProjections):
(WebCore::PolygonShape::getExcludedIntervals):
(WebCore::PolygonShape::getIncludedIntervals):
(WebCore::firstFitRectInPolygon):
(WebCore::aboveOrToTheLeft):
(WebCore::PolygonShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/PolygonShape.h: Renamed from Source/WebCore/rendering/ExclusionPolygon.h.

(WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
(WebCore::OffsetPolygonEdge::edgeIndex):
(WebCore::OffsetPolygonEdge::basis):
(WebCore::PolygonShape::PolygonShape):

  • rendering/shapes/RectangleShape.cpp: Renamed from Source/WebCore/rendering/ExclusionRectangle.cpp.

(WebCore::ellipseXIntercept):
(WebCore::ellipseYIntercept):
(WebCore::FloatRoundedRect::paddingBounds):
(WebCore::FloatRoundedRect::marginBounds):
(WebCore::FloatRoundedRect::cornerInterceptForWidth):
(WebCore::RectangleShape::shapePaddingBounds):
(WebCore::RectangleShape::shapeMarginBounds):
(WebCore::RectangleShape::getExcludedIntervals):
(WebCore::RectangleShape::getIncludedIntervals):
(WebCore::RectangleShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/RectangleShape.h: Renamed from Source/WebCore/rendering/ExclusionRectangle.h.

(WebCore::FloatRoundedRect::FloatRoundedRect):
(WebCore::FloatRoundedRect::rx):
(WebCore::FloatRoundedRect::ry):
(WebCore::RectangleShape::RectangleShape):

  • rendering/shapes/Shape.cpp: Renamed from Source/WebCore/rendering/ExclusionShape.cpp.

(WebCore::createRectangleShape):
(WebCore::createShapeCircle):
(WebCore::createShapeEllipse):
(WebCore::createPolygonShape):
(WebCore::physicalRectToLogical):
(WebCore::physicalPointToLogical):
(WebCore::physicalSizeToLogical):
(WebCore::Shape::createShape):

  • rendering/shapes/Shape.h: Renamed from Source/WebCore/rendering/ExclusionShape.h.

(WebCore::LineSegment::LineSegment):
(WebCore::Shape::~Shape):
(WebCore::Shape::shapeMargin):
(WebCore::Shape::shapePadding):

  • rendering/shapes/ShapeInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.cpp.

(WebCore::::computedShape):
(WebCore::::computeSegmentsForLine):

  • rendering/shapes/ShapeInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.h.

(WebCore::MappedInfo::ensureInfo):
(WebCore::MappedInfo::removeInfo):
(WebCore::MappedInfo::info):
(WebCore::MappedInfo::infoMap):
(WebCore::ShapeInfo::~ShapeInfo):
(WebCore::ShapeInfo::setShapeSize):
(WebCore::ShapeInfo::clearSegments):
(WebCore::ShapeInfo::shapeLogicalTop):
(WebCore::ShapeInfo::shapeLogicalBottom):
(WebCore::ShapeInfo::shapeLogicalLeft):
(WebCore::ShapeInfo::shapeLogicalRight):
(WebCore::ShapeInfo::shapeLogicalWidth):
(WebCore::ShapeInfo::shapeLogicalHeight):
(WebCore::ShapeInfo::logicalLineTop):
(WebCore::ShapeInfo::logicalLineBottom):
(WebCore::ShapeInfo::shapeContainingBlockHeight):
(WebCore::ShapeInfo::lineOverlapsShapeBounds):
(WebCore::ShapeInfo::lineWithinShapeBounds):
(WebCore::ShapeInfo::dirtyShapeSize):
(WebCore::ShapeInfo::shapeSizeDirty):
(WebCore::ShapeInfo::owner):
(WebCore::ShapeInfo::ShapeInfo):
(WebCore::ShapeInfo::logicalTopOffset):
(WebCore::ShapeInfo::logicalLeftOffset):

  • rendering/shapes/ShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp.

(WebCore::LineSegmentRange::LineSegmentRange):
(WebCore::ShapeInsideInfo::isEnabledFor):
(WebCore::ShapeInsideInfo::adjustLogicalLineTop):

  • rendering/shapes/ShapeInsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.h.

(WebCore::LineSegmentIterator::LineSegmentIterator):
(WebCore::ShapeInsideInfo::createInfo):
(WebCore::ShapeInsideInfo::hasSegments):
(WebCore::ShapeInsideInfo::segments):
(WebCore::ShapeInsideInfo::segmentRanges):
(WebCore::ShapeInsideInfo::currentSegment):
(WebCore::ShapeInsideInfo::setNeedsLayout):
(WebCore::ShapeInsideInfo::needsLayout):
(WebCore::ShapeInsideInfo::ShapeInsideInfo):

  • rendering/shapes/ShapeInterval.cpp: Renamed from Source/WebCore/rendering/ExclusionInterval.cpp.

(WebCore::IntervalX1Comparator::operator()):
(WebCore::ShapeInterval::intersect):
(WebCore::sortShapeIntervals):
(WebCore::mergeShapeIntervals):
(WebCore::intersectShapeIntervals):
(WebCore::subtractShapeIntervals):

  • rendering/shapes/ShapeInterval.h: Renamed from Source/WebCore/rendering/ExclusionInterval.h.

(WebCore::ShapeInterval::ShapeInterval):

  • rendering/shapes/ShapeOutsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp.

(WebCore::ShapeOutsideInfo::isEnabledFor):
(WebCore::ShapeOutsideInfo::computeSegmentsForLine):

  • rendering/shapes/ShapeOutsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.h.

(WebCore::ShapeOutsideInfo::shapeLogicalOffset):
(WebCore::ShapeOutsideInfo::leftSegmentShapeBoundingBoxDelta):
(WebCore::ShapeOutsideInfo::rightSegmentShapeBoundingBoxDelta):
(WebCore::ShapeOutsideInfo::createInfo):
(WebCore::ShapeOutsideInfo::ShapeOutsideInfo):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::initialShapeInside):

  • rendering/style/RenderStyle.h:
  • rendering/style/ShapeValue.h: Renamed from Source/WebCore/rendering/style/ExclusionShapeValue.h.

(WebCore::ShapeValue::createShapeValue):
(WebCore::ShapeValue::createOutsideValue):
(WebCore::ShapeValue::createImageValue):
(WebCore::ShapeValue::type):
(WebCore::ShapeValue::shape):
(WebCore::ShapeValue::image):
(WebCore::ShapeValue::setImage):
(WebCore::ShapeValue::operator==):
(WebCore::ShapeValue::ShapeValue):

  • rendering/style/StyleRareNonInheritedData.h:

Source/WebKit:

Adding the WebCore/rendering/shapes directory to the include list.

  • CMakeLists.txt:

Source/WebKit2:

Adding the WebCore/rendering/shapes directory to the include list.

  • CMakeLists.txt:

Tools:

Adding the WebCore/rendering/shapes directory to the include list.

  • DumpRenderTree/efl/CMakeLists.txt:
2:12 PM Changeset in webkit [151401] by ggaren@apple.com
  • 104 edits
    4 adds in branches/dfgFourthTier

Unreviewd, rolled out

<http://trac.webkit.org/changeset/151362>
<http://trac.webkit.org/changeset/151363>

Source/JavaScriptCore:

because they caused crashes.

LayoutTests:

because they caused crashes.

1:47 PM Changeset in webkit [151400] by Lucas Forschler
  • 2 edits in tags/Safari-537.44.1/Source/WTF

Merged r151330. <rdar://problem/14094873>

1:36 PM Changeset in webkit [151399] by Lucas Forschler
  • 1 copy in tags/Safari-537.44.1

New Tag.

12:06 PM Changeset in webkit [151398] by commit-queue@webkit.org
  • 9 edits
    2 copies in trunk/Source

Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
https://bugs.webkit.org/show_bug.cgi?id=116717

Patch by Iago Toral Quiroga <itoral@igalia.com> on 2013-06-10
Reviewed by Martin Robinson.

Source/WebCore:

Refactored WidgetBackingStore to be an abstract base class and make
GtkWidgetBackingStoreX11 and WidgetBackingStoreCairo inherit from it.
GtkWidgetBackingStoreX11 renamed to WidgetBackingStoreGtkX11.

  • GNUmakefile.list.am:
  • platform/cairo/WidgetBackingStore.h:

(WebCore):
(WidgetBackingStore):
(WebCore::WidgetBackingStore::WidgetBackingStore):
(WebCore::WidgetBackingStore::~WidgetBackingStore):

  • platform/cairo/WidgetBackingStoreCairo.cpp:

(WebCore::WidgetBackingStoreCairo::create):
(WebCore):
(WebCore::WidgetBackingStoreCairo::WidgetBackingStoreCairo):
(WebCore::WidgetBackingStoreCairo::~WidgetBackingStoreCairo):
(WebCore::WidgetBackingStoreCairo::cairoSurface):
(WebCore::WidgetBackingStoreCairo::scroll):

  • platform/cairo/WidgetBackingStoreCairo.h: Added.

(WebCore):
(WidgetBackingStoreCairo):

  • platform/gtk/GtkWidgetBackingStoreX11.cpp:

(WebCore::WidgetBackingStoreGtkX11::create):
(WebCore):
(WebCore::WidgetBackingStoreGtkX11::WidgetBackingStoreGtkX11):
(WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11):
(WebCore::WidgetBackingStoreGtkX11::cairoSurface):
(WebCore::WidgetBackingStoreGtkX11::scroll):

  • platform/gtk/GtkWidgetBackingStoreX11.h: Added.

(WebCore):
(WidgetBackingStoreGtkX11):

Source/WebKit/gtk:

Decide which implementation of WidgetBackingStore to use (X11 or Cairo)
depending on whether we are running on X11 or not. Select Cairo
implementation when not running in X11.

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::createBackingStore):
(WebKit):
(WebKit::ChromeClient::widgetSizeChanged):
(WebKit::ChromeClient::attachRootGraphicsLayer):

Source/WebKit2:

Decide which implementation of WidgetBackingStore to use (X11 or Cairo)
depending on whether we are running on X11 or not. Select Cairo
implementation when not running in X11.

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit):
(WebKit::createBackingStoreForGTK):
(WebKit::BackingStore::incorporateUpdate):

10:45 AM Changeset in webkit [151397] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Store ParsedCookies as RefPtrs instead of PassRefPtrs in CookieDatabaseBackingStore
https://bugs.webkit.org/show_bug.cgi?id=117411

JIRA388672
BRWSR-11465
Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-06-10
Reviewed by Rob Buis.

When we queue up ParsedCookie objects for modification, we should be storing them as a refptr instead
of a PassRefPtr.

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
9:27 AM Changeset in webkit [151396] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

[CSSRegions] ASSERTION FAILED: roundedIntPoint(rendererMappedResult) == roundedIntPoint(result) in RenderGeometryMap::mapToContainer
https://bugs.webkit.org/show_bug.cgi?id=117395

Reviewed by Alexandru Chiculita.

Source/WebCore:

Test: fast/regions/assert-flow-thread-compositing.html

We should not allow RenderNamedFlowThread layers to be composited, rather their collected children should checked
for compositing through their associated RenderRegions.

The assert in RenderGeometryMap::mapToContainer was hit because after https://bugs.webkit.org/show_bug.cgi?id=117270
the render named flow threads are hooked in RenderView layer tree - with the caveat that they are not directly involved
in hit testing/paint which is done through their associated regions.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements): Bail out if we hit a render named flow thread layer.
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto.

LayoutTests:

  • fast/regions/assert-flow-thread-compositing-expected.txt: Added.
  • fast/regions/assert-flow-thread-compositing.html: Added.
8:26 AM Changeset in webkit [151395] by sergio@webkit.org
  • 2 edits in trunk/Source/WebCore

Refactor CALCFUNCTION rules in the CSS grammar
https://bugs.webkit.org/show_bug.cgi?id=117401

Reviewed by Andreas Kling.

From Blink r149862 by <serya@chromium.org>.

Reduce the number of CALCFUNCTION rules by refactoring the closing
parenthesis handling code.

No new tests required as this is a refactoring, no new functionality
added.

  • css/CSSGrammar.y.in:
7:19 AM Changeset in webkit [151394] by commit-queue@webkit.org
  • 33 edits
    2 moves
    1 add
    1 delete in trunk

[CSS Regions] Rename region-overflow to region-fragment
https://bugs.webkit.org/show_bug.cgi?id=117397

PerformanceTests:

Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft
at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property

Patch by Radu Stavila <stavila@adobe.com> on 2013-06-10
Reviewed by Alexander Pavlov.

  • Layout/resources/regions.css:

Source/WebCore:

Renamed -webkit-region-overflow to -webkit-region-fragment and
webkitRegionOverflow to webkitRegionFragment according to the new working draft
at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property

Patch by Radu Stavila <stavila@adobe.com> on 2013-06-10
Reviewed by Alexander Pavlov.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator RegionFragment):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::hasNextPage):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::overflowRectForFlowThreadPortion):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

Renamed -webkit-region-overflow to -webkit-region-fragment and
webkitRegionOverflow to webkitRegionFragment according to the new working draft
at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property

Patch by Radu Stavila <stavila@adobe.com> on 2013-06-10
Reviewed by Alexander Pavlov.

  • fast/regions/autoheight-breakafteralways-maxheight.html:
  • fast/regions/autoheight-breakbeforealways.html:
  • fast/regions/autoheight-singleregion-breakafteralways-maxheight.html:
  • fast/regions/autoheight-singleregion-breakafteralways.html:
  • fast/regions/autoheight-singleregion-breakaftermargin.html:
  • fast/regions/autoheight-singleregion-breakbeforealways-minheight.html:
  • fast/regions/autoheight-singleregion-breakbeforealways.html:
  • fast/regions/autoheight-singleregion-multiplebreaks.html:
  • fast/regions/css-regions-disabled-expected.txt:
  • fast/regions/region-overflow-auto-overflow-hidden.html:
  • fast/regions/region-overflow-auto-overflow-visible.html:
  • fast/regions/region-overflow-break.html:
  • fast/regions/regions-widows-and-orphans.html:
  • fast/regions/script-tests/css-regions-disabled.js:
  • fast/regions/script-tests/webkit-region-overflow-parsing.js:
  • fast/regions/webkit-region-overflow-parsing-expected.txt:
6:49 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
6:20 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
6:16 AM Changeset in webkit [151393] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0

Merge r150963 - [GTK] Needs to check for harfbuzz-icu
https://bugs.webkit.org/show_bug.cgi?id=116978

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-30
Reviewed by Xan Lopez.

HarfBuzz 0.9.18 splits harbuzz-icu into a separate library so we
also need to check for it in order to get the necessary flags for
the compiler and the linker.

We keep this conditional for now since we still want to support
earlier versions of HarfBuzz.

  • Source/autotools/FindDependencies.m4:
6:15 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
6:10 AM Changeset in webkit [151392] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore/platform/gtk/po

Merge r151189 - [GTK] Updated WebKit Translation in Hindi [hi] language
https://bugs.webkit.org/show_bug.cgi?id=115508

Patch by Rajesh Ranjan <rajeshkajha@yahoo.com> on 2013-06-04
Reviewed by Gustavo Noronha Silva (kov).

  • hi.po: Updated.
6:09 AM Changeset in webkit [151391] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore/platform/gtk/po

Merge r151188 - Updated Telugu [te] Translations for WebKitGTK+ HEAD
https://bugs.webkit.org/show_bug.cgi?id=115856

Patch by Krishnababu Krothapalli <kkrothap@redhat.com> on 2013-06-04
Reviewed by Gustavo Noronha Silva (kov).

  • te.po: Updated.
6:07 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
6:07 AM Changeset in webkit [151390] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore/platform/gtk/po

Merge r151187 - Updated WebKitGTK+ Translation for Odia [or] language.
https://bugs.webkit.org/show_bug.cgi?id=116825

Patch by Manoj Kumar Giri <mgiri@redhat.com> on 2013-06-04
Reviewed by Gustavo Noronha Silva (kov).

  • or.po: Updated.
6:06 AM Changeset in webkit [151389] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore/platform/gtk/po

Merge r151186 - [kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941

Patch by Shankar Prasad <svenkate@redhat.com> on 2013-06-04
Reviewed by Gustavo Noronha Silva (kov).

  • kn.po: Updated.
6:03 AM Changeset in webkit [151388] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore/platform/gtk/po

[GTK] Updated as-IN translations
https://bugs.webkit.org/show_bug.cgi?id=116953

Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2013-05-30
Reviewed by Gustavo Noronha Silva (kov).

  • as.po: Updated.
6:02 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
6:02 AM Changeset in webkit [151387] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r151141 - [harfbuzz] WebKit fails to build with MinGW compiler because of invalid cast in HarfBuzzShaper.cpp
https://bugs.webkit.org/show_bug.cgi?id=108373

Patch by Paweł Forysiuk <tuxator@o2.pl> on 2013-06-03
Reviewed by Darin Adler.

Fix building on platforms where UChar is defined as wchar_t.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):

5:57 AM Changeset in webkit [151386] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Tools

Merge r151135 - [GTK] Respect PKG_CONFIG env variable when generating gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=117168

Patch by Erik van Pienbroek <epienbro@fedoraproject.org> on 2013-06-03
Reviewed by Martin Robinson.

The tool generate-gtkdoc internally calls pkg-config.
When cross-compiling it shouldn't use pkg-config, but
it should use the pkg-config which was detected by
the ./configure script (for example this can be
i686-w64-mingw32-pkg-config when cross-compiling)

  • GNUmakefile.am:
  • gtk/gtkdoc.py:

(PkgConfigGTKDoc.init):

5:47 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
5:43 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
5:42 AM Changeset in webkit [151385] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.0

Merge r150326 - [GTK] Parallel build fails if gtk-doc is enabled
https://bugs.webkit.org/show_bug.cgi?id=116227

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-18
Reviewed by Martin Robinson.

.:

  • GNUmakefile.am:

Define an empty noinst_DATA variable where other automake files
can add additional objects to be built.

Source/WebCore:

  • GNUmakefile.am:

Don't overwrite noinst_DATA, modify its existing value instead.

Tools:

  • GNUmakefile.am:

Don't use the 'all' target to generate the documentation.
The prerequisites of this target must be files that need to be
built _before_ the actual compilation of WebKit starts. Since the
documentation depends on WebKit being built first, this means in
practice that the code will be built in parallel with the
generation of its dependencies, potentially making the build fail.

5:41 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
5:36 AM Changeset in webkit [151384] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Tools

Merge r150117 - [GTK] Fails to build while generating gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=115612

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-15
Reviewed by Philippe Normand.

Fix typo in the prerequisites of docs-build.stamp.

  • GNUmakefile.am:
5:35 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
5:30 AM Changeset in webkit [151383] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r150232 - [GTK] Fix memory leak in WebKitBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=116222

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-05-16
Reviewed by Carlos Garcia Campos.

Due to the use of leakRef() the ImmutableArray is not being released
automatically. Adding a local variable in the methods to make sure that
the ImmutableArray is freed.

  • UIProcess/API/gtk/WebKitBackForwardList.cpp:

(webkit_back_forward_list_get_back_list_with_limit): Add local variable
RefPtr and pass the ImmutableArray to
WebKitBackForwardList::webkitBackForwardListCreateList() using
RefPtr::get().
(webkit_back_forward_list_get_forward_list_with_limit): Ditto.

5:27 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
5:23 AM Changeset in webkit [151382] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r150758 - Reset all clients on WebPage close
https://bugs.webkit.org/show_bug.cgi?id=112334

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-27
Reviewed by Anders Carlsson.

We do not reset the clients on WebPage::close(), so there's a
small chance that someone will try to access them after that. This
won't work and will generally cause runtime warnings, crashes or
other issues. Reset them all to null to prevent this situation.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close):

4:33 AM Changeset in webkit [151381] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/JavaScriptCore

Merge r149114 - REGRESSION(r137994): Random crashes occur with SH4 JSC.
https://bugs.webkit.org/show_bug.cgi?id=115167.

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-04-25
Reviewed by Oliver Hunt.

Since r137994, uncommited pages could be inside the area of memory in
parameter of the cacheFlush function. That's why we have to flush each
page separately to avoid a fail of the whole flush, if an uncommited page
is in the area.

This patch is very similar to changeset 145194 made for ARMv7 architecture,
see https://bugs.webkit.org/show_bug.cgi?id=111441 for further information.

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::cacheFlush):

4:25 AM WebKitIDL edited by Christophe Dumez
Add documentation for RaisesException, harmonize with Blink IDL (diff)
4:25 AM Changeset in webkit [151380] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.0

Merge r151312 - Frame flattening: crash when child iframe is removed during beforeload.
https://bugs.webkit.org/show_bug.cgi?id=116220

Patch by Zalan Bujtas <Alan Bujtas> on 2013-06-07
Reviewed by Antti Koivisto.

FrameView can get destroyed in updateWidget(). Normally, it is protected by layout()
but with frame flattening on, it can also be called asynchronously through the
post layout timer.

Source/WebCore:

Test: fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

LayoutTests:

  • fast/frames/flattening/crash-remove-iframe-during-object-beforeload-expected.txt: Added.
  • fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html: Added.
4:16 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
4:10 AM Changeset in webkit [151379] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r151245 - [GTK] AcceleratedCompositingContext: fix layerFlushTimerFiredCallback condition
https://bugs.webkit.org/show_bug.cgi?id=117258

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-06-05
Reviewed by Martin Robinson.

The expressions were incorrectly grouped, a timeout handler can
only be added only if there's none running already.

  • WebCoreSupport/AcceleratedCompositingContextGL.cpp:

(WebKit::AcceleratedCompositingContext::renderLayersToWindow):

4:05 AM Changeset in webkit [151378] by Christophe Dumez
  • 16 edits in trunk/Source/WebCore

Replace [ConstructorRaisesException] with [RaisesException]
https://bugs.webkit.org/show_bug.cgi?id=117400

Reviewed by Kentaro Hara.

Replace [ConstructorRaisesException] with [RaisesException] IDL extended
attribute and drop [ConstructorRaisesException]. It makes little sense
to have 2 extended attributes with the same meaning.

[RaisesException] can now be used on IDL operations to indicate that the
method may throw exceptions or on interfaces to indicate that the
constructor may throw exceptions.

From Blink r148027 by Kentaro Hara <haraken@chromium.org>.

No new tests, no behavior change.

  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/mediastream/RTCIceCandidate.idl:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCSessionDescription.idl:
  • Modules/webaudio/OfflineAudioContext.idl:
  • Modules/websockets/WebSocket.idl:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDefinition):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/TestInterface.idl:
  • bindings/scripts/test/TestNamedConstructor.idl:
  • css/WebKitCSSMatrix.idl:
  • html/HTMLOptionElement.idl:
  • page/EventSource.idl:
  • workers/SharedWorker.idl:
  • workers/Worker.idl:
3:49 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:44 AM Changeset in webkit [151377] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit/gtk

Merge r151198 - [GTK] Make precedence of logical operators explicit
https://bugs.webkit.org/show_bug.cgi?id=117216

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-06-04
Reviewed by Martin Robinson.

There's a couple of cases where we mix && and
in the same

expression. In ChromeClient::contentsSizeChanged() the lack of
parentheses actually makes the expression wrong.

  • WebCoreSupport/AcceleratedCompositingContextGL.cpp:

(WebKit::AcceleratedCompositingContext::renderLayersToWindow):

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::contentsSizeChanged):

3:35 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:30 AM Changeset in webkit [151376] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r150763 - [GTK] WebKitWebView child widgets are not rendered with recent GTK+
https://bugs.webkit.org/show_bug.cgi?id=116794

Reviewed by Xan Lopez.

Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose
events are not propagated to child GdkWindows anymore, and child
widgets are rendered via gtk_container_propagate_draw(). Since all
our children have its own GdkWindow (auth widget, inspector view
and windowed plugins) we don't propagate the draw signal making
them invisible with current GTK+.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDraw): Chain up to the parent draw(), so it's
propagated to the children. This shouldn't have any effect in
previous versions of GTK+ because gtk_container_propagate_draw()
returned early when the child widget had its own GdkWindow.

3:09 AM Changeset in webkit [151375] by commit-queue@webkit.org
  • 27 edits in trunk

Web Inspector: refactor statusBarItems getter in front-end.
https://bugs.webkit.org/show_bug.cgi?id=110114

Patch by Mátyás Mustoha <mmatyas@inf.u-szeged.hu> on 2013-06-10
Reviewed by Noam Rosenthal.

Source/WebCore:

Refactored "statusBarItems" methods from getters into functions and
moved default implementation from Panel.js to View.js.

Patch created by Andrey Lushnikov.

  • inspector/front-end/AdvancedSearchController.js:

(WebInspector.SearchView.prototype.statusBarItems):

  • inspector/front-end/ApplicationCacheItemsView.js:

(WebInspector.ApplicationCacheItemsView.prototype.statusBarItems):

  • inspector/front-end/AuditsPanel.js:

(WebInspector.AuditsPanel.prototype.statusBarItems):

  • inspector/front-end/CPUProfileView.js:

(WebInspector.CPUProfileView.prototype.statusBarItems):

  • inspector/front-end/CSSSelectorProfileView.js:

(WebInspector.CSSSelectorProfileView.prototype.statusBarItems):

  • inspector/front-end/CanvasProfileView.js:

(WebInspector.CanvasProfileView.prototype.statusBarItems):
(WebInspector.CanvasProfileType.prototype.statusBarItems):

  • inspector/front-end/ConsolePanel.js:

(WebInspector.ConsolePanel.prototype.statusBarItems):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype.statusBarItems):

  • inspector/front-end/CookieItemsView.js:

(WebInspector.CookieItemsView.prototype.statusBarItems):

  • inspector/front-end/DOMStorageItemsView.js:

(WebInspector.DOMStorageItemsView.prototype.statusBarItems):

  • inspector/front-end/DatabaseTableView.js:

(WebInspector.DatabaseTableView.prototype.statusBarItems):

  • inspector/front-end/Drawer.js:
  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.statusBarItems):

  • inspector/front-end/ExtensionPanel.js:

(WebInspector.ExtensionPanel.prototype.statusBarItems):

  • inspector/front-end/FileSystemView.js:

(WebInspector.FileSystemView.prototype.statusBarItems):

  • inspector/front-end/HeapSnapshotView.js:
  • inspector/front-end/IndexedDBViews.js:

(WebInspector.IDBDataView.prototype.statusBarItems):

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype.statusBarItems):
(WebInspector.NetworkPanel.prototype.statusBarItems):

  • inspector/front-end/Panel.js:

(WebInspector.Panel.prototype.wasShown):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfileType.prototype.statusBarItems):
(WebInspector.ProfilesPanel.prototype.statusBarItems):
(WebInspector.ProfilesPanel.prototype._updateProfileTypeSpecificUI):
(WebInspector.ProfilesPanel.prototype._showProfile):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype.statusBarItems):
(WebInspector.ResourcesPanel.prototype._innerShowView):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.statusBarItems):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype.statusBarItems):

  • inspector/front-end/View.js:

(WebInspector.View.prototype.statusBarItems):

LayoutTests:

Fix layout test to correspond to refactoring.
Patch created by Andrey Lushnikov.

  • inspector/extensions/extensions-panel.html:
3:03 AM Changeset in webkit [151374] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r150500 - REGRESSION(r150491): WebKit2.CloseThenTerminate asserting below WebContext::disconnectProcess().
<http://webkit.org/b/116588>

Reviewed by Sam Weinig.

Do an early return from WebProcessProxy::requestTermination() if there is no child process
connection to terminate.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):

3:01 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
3:00 AM Changeset in webkit [151373] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebCore

Merge r150350 - GtkSelectionData length is off by one
https://bugs.webkit.org/show_bug.cgi?id=113962

Reviewed by Anders Carlsson.

No new tests. Since drag data is interpreted as a null-terminated string
this is difficult to test with a C program and we have no infrastructure
built for using GIR tests.

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillSelectionData): Instead of including the null
character in the paste data length, just include the string. This matches the behavior
of Firefox.

2:56 AM Changeset in webkit [151372] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r151270 - [Gtk] Connection is leaking when WebProcess is terminated
https://bugs.webkit.org/show_bug.cgi?id=117293

Reviewed by Martin Robinson.

Connection is leaking because WorkQueue::SocketEventSource inherits from
WorkQueue::EventSource but when it is destroyed, the actual destructor running
is the one from base class; however, subclass contains a function binded from
Connection (m_closeFunction) and we need to do this extra cleanup, otherwise
WorkQueue will keep Connection alive. A better explanation of this fix is provided
on http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors

A quick way to see the leak is to change WK2 test "ReloadPageAfterCrash" to terminate
WebProcess N times and add a printf on Connection destructor.

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::EventSource::~EventSource): Adds a virtual destructor to enable
the subclass to do its own cleanup.

2:48 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:43 AM Changeset in webkit [151371] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r150808 - [GTK] Connection issues in repeated WebProcess crash/reloads.
https://bugs.webkit.org/show_bug.cgi?id=115880

Reviewed by Anders Carlsson.

When stressing the WebProcess creation/destruction, WebKitGTK can
often run into socket issues like bad file descriptor errors or
polling a socket indefinitely.

Currently WebKitGTK has three places where a socket can be
closed.

  • childFinishedFunction (in ProcessLauncherGtk.cpp)
  • Connection::platformInvalidate (in ConnectionUnix.cpp)
  • WorkQueue EventSource destruction (in WorkQueueGtk.cpp)

To avoid these race conditions, socket closing will be handled
by the event source callback in WorkQueueGtk.cpp.

  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::platformInvalidate): Do not close the socket
when the connection is invalidated, the socket event source is
unregistered in this method and the socket is closed when the
GSocket associated to the event source is destroyed.

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess): Do not monitor child
process to close the connection on termination. This was needed in
the past when we used DGRAM sockets, we currently use always
connection oriented sockets, so that when the other end closes
the connection we are notified and the connection is invalidated.

2:38 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:31 AM Changeset in webkit [151370] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Source/WebKit2

Merge r149934 - When possible, terminate web processes immediately when closing their last page.
<http://webkit.org/b/115964>
<rdar://problem/13869266>

Reviewed by Geoffrey Garen.

When we're using a network process, there's no need for the UI process to wait for web processes
to clear resource caches and terminate nicely.

We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):

Terminate the child process immediately if possible.

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::shouldTerminate):

Broke out the logic from the shouldTerminate() IPC message handler into a separate function
so we can call it from removeWebPage().

2:29 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:24 AM Changeset in webkit [151369] by Carlos Garcia Campos
  • 9 edits
    1 add in releases/WebKitGTK/webkit-2.0

Merge r149933 - Crash when terminating a process that has not been fully launched
https://bugs.webkit.org/show_bug.cgi?id=115962
<rdar://problem/13660916>

Reviewed by Andreas Kling.

Source/WebKit2:

Handle terminating a process that has not been fully launched.

  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):
If we have been invalidated, dispose the connection identifier.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::terminateProcess):
If we're still launching the process, invalidate so the client won't get an unexpected
didFinishLaunching callback.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):
Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).

Tools:

Add TerminateTwice, a test that terminates a page, then reloads it and terminates it again
before the process has had a chance to be fully launched.

  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Added.

(TestWebKitAPI):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WebKit2.pro:
2:19 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:14 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
2:14 AM Changeset in webkit [151368] by Carlos Garcia Campos
  • 4 edits
    1 add in releases/WebKitGTK/webkit-2.0

Merge r149573 - REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page)
<rdar://problem/13702008>
https://bugs.webkit.org/show_bug.cgi?id=115607

Reviewed by Benjamin Poulain.

Source/WebKit2:

API Test: WebKit2.CloseThenTerminate

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Don't try to reset the state if the page is closed, it won't work and its not worth it.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Added.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):
Add test that calls WKPageClose, follow by WKPageTerminate. If it crashes, its not working.

2:09 AM Changeset in webkit [151367] by Carlos Garcia Campos
  • 11 edits
    1 add in releases/WebKitGTK/webkit-2.0

Merge r148312 - [WK2] WebPageProxy loadURL() won't work when called just after terminateProcess()
https://bugs.webkit.org/show_bug.cgi?id=110743

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-04-12
Reviewed by Benjamin Poulain.

Source/WebKit2:

A call to loadURL() just after terminating WebProcess will fail thanks to
WebPageProxy being in an undefined state since it is in the middle of its own
cleanup after process termination.

To properly fix this, not only WebPageProxy cleanup should be made
at WebProcess termination request, but also WebProcessProxy needs
to only return to its caller after terminating the process and
closing connections. Otherwise, WebPageProxy can even be able to
detect that WebProcess is no longer running, but a call to respawn
the process will fail.

To fix these issues, this patch moves the cleanup code to a shared private function
that is used for both the cases i.e. user termination and real crash. WebProcess
shutdown is done using a new method that ensures that all cleanup was done before
returning.

A last change introduced in this patch is that for user requested termination,
clients are no longer notified of a crash (since it is not a crash).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::terminateProcess):
(WebKit::WebPageProxy::processDidCrash):
(WebKit):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::userRequestedTerminate):
(WebKit):

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

Tools:

Adding a new test file to check if loading a page just after WebProcess
has crashed (or was terminated) works. The test executes the
following steps (Load, Crash, Load), thus stressing WebProcess
reattach and process termination code path.

  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp:

(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp: Added.

(TestWebKitAPI):
(WebKit2CrashLoader):
(TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
(TestWebKitAPI::WebKit2CrashLoader::loadUrl):
(TestWebKitAPI::WebKit2CrashLoader::crashWebProcess):
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WebKit2.pro:
1:52 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
1:47 AM Changeset in webkit [151366] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.0/Source

Merge r145194 - Cache flush problem on ARMv7 JSC
https://bugs.webkit.org/show_bug.cgi?id=111441

Reviewed by Zoltan Herczeg.

Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests.
The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712.
Change the cache fulsh mechanism similar to ARM traditinal and revert the
temporary fix.

Source/JavaScriptCore:

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::cacheFlush):

Source/WTF:

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::decommit):

1:04 AM Changeset in webkit [151365] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Add special tree walking for the single tag or class CSS query selectors
https://bugs.webkit.org/show_bug.cgi?id=117388

Reviewed by Ryosuke Niwa.

Queries for a single tag name or a single class name are the most common
input of querySelector.

This patch adds a simplified tree walking in those cases, only checking that particular
case instead of a full selector.

With the change, the balanced query selector benchmarks become 11% faster.

  • css/SelectorCheckerFastPath.cpp:

(WebCore::HTMLNames::checkClassValue):

  • dom/SelectorQuery.cpp:

(WebCore::isSingleTagNameSelector):
(WebCore::SelectorDataList::executeSingleTagNameSelectorData):
(WebCore::isSingleClassNameSelector):
(WebCore::SelectorDataList::executeSingleClassNameSelectorData):
(WebCore::SelectorDataList::execute):

  • dom/SelectorQuery.h:
12:16 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
Remove change previous to the branch point :-) (diff)
12:08 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
12:04 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)

Jun 9, 2013:

11:25 PM Changeset in webkit [151364] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Typo in argument decoder for CoordinatedGraphicsState
https://bugs.webkit.org/show_bug.cgi?id=117384

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-06-09
Reviewed by Noam Rosenthal.

For CSS Shaders, it must decode state.customFiltersToRemove instead of
state.updateAtlasesToRemove.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::decode):

10:45 PM Changeset in webkit [151363] by ggaren@apple.com
  • 93 edits
    4 adds
    4 deletes in branches/dfgFourthTier

Re-worked non-local variable resolution
https://bugs.webkit.org/show_bug.cgi?id=117375

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch has two goals:

(1) Simplicity.

  • Net removes 15 opcodes.
  • Net removes 2,000 lines of code.
  • Removes setPair() from the DFG: All DFG nodes have 1 result register now.

(2) Performance.

  • 2%-3% speedup on SunSpider (20% in LLInt and Baseline JIT)
  • 2% speedup on v8-spider
  • 10% speedup on js-regress-hashmap*
  • Amusing 2X speedup on js-regress-poly-stricteq

The bytecode now separates the scope chain resolution opcode from the
scope access opcode.

OLD:

get_scoped_var r0, 1, 0
inc r0
put_scoped_var 1, 0, r0

NEW:

resolve_scope r0, x(@id0)
get_from_scope r1, r0, x(@id0)
inc r1
put_to_scope r0, x(@id0), r1

Also, we link non-local variable resolution opcodes at CodeBlock link
time instead of time of first opcode execution.

This means that we can represent all possible non-local variable
resolutions using just three opcodes, and any optimizations in these
opcodes naturally apply across-the-board.

  • API/JSCTestRunnerUtils.cpp:

(JSC::numberOfDFGCompiles):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Updated for removed things.

(JSC::CodeBlock::CodeBlock): Always provide the full scope chain when
creating a CodeBlock, so we can perform non-local variable resolution.

Added code to perform linking for these opcodes. This is where we figure
out which non-local variable resolutions are optimizable, and how.

(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::noticeIncomingCall):
(JSC::CodeBlock::optimizeAfterWarmUp):
(JSC::CodeBlock::optimizeAfterLongWarmUp):
(JSC::CodeBlock::optimizeSoon): Updated for removed things.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::needsActivation):
(JSC::GlobalCodeBlock::GlobalCodeBlock):
(JSC::ProgramCodeBlock::ProgramCodeBlock):
(JSC::EvalCodeBlock::EvalCodeBlock):
(JSC::FunctionCodeBlock::FunctionCodeBlock):

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::getSlow): Updated for interface changes.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor): Treat global object access as
optimizable even though the global object has a custom property access
callback. This is what we've always done since, otherwise, we can't
optimize globals. (In future, we probably want to figure out a more
targeted policy than "any property access callback means no
optimization".)

  • bytecode/GlobalResolveInfo.h: Removed.
  • bytecode/Instruction.h:
  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor): Like GetByIdStatus.

  • bytecode/ResolveGlobalStatus.cpp: Removed.
  • bytecode/ResolveGlobalStatus.h: Removed.
  • bytecode/ResolveOperation.h: Removed.
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h: Don't provide a scope chain to unlinked

code blocks. Giving a scope to an unscoped compilation unit invites
programming errors.

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::addressOfIsInvalidated):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::resolveCallee):
(JSC::BytecodeGenerator::local):
(JSC::BytecodeGenerator::constLocal):
(JSC::BytecodeGenerator::resolveType):
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitInstanceOf):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::pushFinallyContext):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::popTryAndEmitCatch):
(JSC::BytecodeGenerator::emitPushNameScope):
(JSC::BytecodeGenerator::isArgumentNumber):

  • bytecompiler/BytecodeGenerator.h:

(JSC::Local::Local):
(JSC::Local::operator bool):
(JSC::Local::get):
(JSC::Local::isReadOnly):
(JSC::BytecodeGenerator::scopeDepth):
(JSC::BytecodeGenerator::shouldOptimizeLocals):
(JSC::BytecodeGenerator::canOptimizeNonLocals): Refactored the bytecode
generator to resolve all variables within local scope, as if there
were no non-local scope. This helps provide a separation of concerns:
unlinked bytecode is always scope-free, and the linking stage links
in the provided scope.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::isPure):
(JSC::ResolveNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode): A bunch of this codegen is no longer
necessary, since it's redundant with the linking stage.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(JSC::DFG::ByteCodeParser::cellConstantWithStructureCheck):
(JSC::DFG::ByteCodeParser::handlePutByOffset):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock): Updated for interface changes.
Notably, we can reuse existing DFG nodes -- but the mapping between
bytecode and DFG nodes has changed, and some nodes and corner cases have
been removed.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::varInjectionWatchpointElimination):
(JSC::DFG::CSEPhase::globalVarStoreElimination):
(JSC::DFG::CSEPhase::scopedVarStoreElimination):
(JSC::DFG::CSEPhase::getLocalLoadElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE): Added CSE for var injection
watchpoints. Even though watchpoints are "free", they're quite common
inside code that's subject to var injection, so I figured we'd save a
little memory.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGCapabilities.h: Removed detection for old forms.
  • dfg/DFGDriver.h:

(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:
  • dfg/DFGJITCode.cpp:
  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToStructureTransitionWatchpoint):
(JSC::DFG::Node::hasVarNumber):
(JSC::DFG::Node::hasIdentifierNumberForCheck):
(JSC::DFG::Node::hasRegisterPointer):
(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGRepatch.h:

(JSC::DFG::dfgResetGetByID):
(JSC::DFG::dfgResetPutByID):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation): Removed some unneeded things,
and updated for renames.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile): The two primary changes here are:

(1) Use a watchpoint for var injection instead of looping over the scope
chain and checking. This is more efficient and much easier to model in
code generation.

(2) I've eliminated the notion of an optimized global assignment that
needs to check for whether it should fire a watchpiont. Instead, we
fire pre-emptively at the point of optimization. This removes a bunch
of edge cases, and it seems like a more honest representation of
the fact that our new optimization contradicts our old one.

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • heap/DFGCodeBlocks.cpp:

(JSC::DFGCodeBlocks::jettison):

  • interpreter/CallFrame.h:

(JSC::ExecState::trueCallFrame): Removed stuff that's unused now, and
fixed the build.

  • interpreter/Interpreter.cpp:

(JSC::eval):
(JSC::getBytecodeOffsetForCallFrame):
(JSC::getCallerInfo):
(JSC::Interpreter::throwException): Updated exception scope tracking
to match the rest of our linking strategy: The unlinked bytecode compiles
exception scope as if non-local scope did not exist, and we add in
non-local scope at link time. This means that we can restore the right
scope depth based on a simple number, without checking the contents of
the scope chain.

(JSC::Interpreter::execute): Make sure to establish the full scope chain
before linking eval code. We now require the full scope chain at link
time, in order to link non-local variable resolution opcodes.

  • jit/JIT.cpp:

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

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

(JSC::JIT::emit_op_add):

  • jit/JITCode.cpp:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_bitxor):
(JSC::JIT::emitSlow_op_bitor):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emitSlow_op_to_primitive):
(JSC::JIT::emit_op_strcat):
(JSC::JIT::emitSlow_op_create_this):
(JSC::JIT::emitSlow_op_to_this):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitVarInjectionCheck):
(JSC::JIT::emitResolveClosure):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitLoadWithStructureCheck):
(JSC::JIT::emitGetGlobalProperty):
(JSC::JIT::emitGetGlobalVar):
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
(JSC::JIT::emit_op_init_global_const):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitVarInjectionCheck):
(JSC::JIT::emitResolveClosure):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitLoadWithStructureCheck):
(JSC::JIT::emitGetGlobalProperty):
(JSC::JIT::emitGetGlobalVar):
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
(JSC::JIT::emit_op_init_global_const):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h: Re-wrote baseline JIT codegen for our new variable

resolution model.

  • llint/LLIntData.cpp:

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

  • llint/LLIntSlowPaths.cpp:
  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter.cpp:

(JSC::CLoop::execute):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm: Ditto for LLInt.
  • offlineasm/x86.rb: Fixed a pre-existing encoding bug for a syntactic

form that we never used before.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncForEach):
(JSC::arrayProtoFuncSome):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf): Fixed some pre-existing bugs in
'this' value conversion, which I made much more common by removing
special cases in bytecode generation.

These functions need to invoke toThis() because they observe the 'this'
value. Also, toLocaleString() is specified to accept non-array 'this'
values.

(Most other host functions don't need this fix because they perform
strict 'this' checking, which never coerces unexpected types.)

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):

  • runtime/CodeCache.h: Don't supply a scope to the unlinked code cache.

Unlinked code is supposed to be scope-free, so let's have the compiler
help verify that.

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/Executable.cpp:

(JSC::EvalExecutable::create):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::produceCodeBlockFor):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

  • runtime/Executable.h:

(JSC::EvalExecutable::numVariables):
(JSC::EvalExecutable::numberOfFunctionDecls):

  • runtime/ExecutionHarness.h:

(JSC::prepareForExecutionImpl):
(JSC::prepareFunctionForExecutionImpl):
(JSC::installOptimizedCode): Fiddled with executable initialization so
that we can always generate a full scope chain before we go to link a
code block. We need this because code block linking now depends on the
scope chain to link non-local variable resolution opcodes.

  • runtime/JSActivation.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::createEvalCodeBlock):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::varInjectionWatchpoint):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncEval):

  • runtime/JSNameScope.h:
  • runtime/JSScope.cpp:

(JSC::abstractAccess):
(JSC::JSScope::objectAtScope):
(JSC::JSScope::depth):
(JSC::JSScope::resolve):
(JSC::JSScope::abstractResolve): Updated to match changes explained above.

  • runtime/JSScope.h:

(JSC::makeType):
(JSC::needsVarInjectionChecks):
(JSC::ResolveOp::ResolveOp):
(JSC::ResolveModeAndType::ResolveModeAndType):
(JSC::ResolveModeAndType::mode):
(JSC::ResolveModeAndType::type):
(JSC::ResolveModeAndType::operand): Removed the old variable resolution
state machine, since it's unused now. Added logic for performing abstract
variable resolution at link time. This is used by codeblock linking.

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString): Fixed some pre-existing bugs in
'this' value conversion, which I made much more common by removing
special cases in bytecode generation.

These functions need to invoke toThis() because they observe the 'this'
value.

  • runtime/StringPrototype.cpp:

(JSC::checkObjectCoercible):
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString): Fixed some pre-existing bugs in
'this' value conversion, which I made much more common by removing
special cases in bytecode generation.

These functions need to invoke toThis() because they observe the 'this'
value.

  • runtime/StructureRareData.cpp:
  • runtime/VM.cpp:

(JSC::VM::~VM):

  • runtime/WriteBarrier.h:

(JSC::WriteBarrierBase::slot): Modified to reduce casting in client code.

LayoutTests:

This patch removed special-case 'this' resolution from bytecode, making
some pre-existing edge cases in 'this' value treatment much more common.

I updated the test results below, and added some tests, to match bug
fixes for these cases.

  • fast/js/script-tests/array-functions-non-arrays.js:
  • fast/js/array-functions-non-arrays-expected.txt: As specified, it's

not an error to pass a non-array to toLocaleString. Our new result
matches Firefox and Chrome.

  • fast/js/array-prototype-properties-expected.txt: Updated for slightly

clearer error message.

  • fast/js/basic-strict-mode-expected.txt: Updated for slightly more

standard error message.

  • fast/js/object-prototype-toString-expected.txt: Added.
  • fast/js/object-prototype-toString.html: Added. This test demonstrates

why we now fail a Sputnik test below, while Firefox and Chrome pass it.
(The test doesn't test what it thinks it tests, and this test verifies
that we get right what it does think it tests.)

  • fast/js/string-prototype-function-this-expected.txt: Added.
  • fast/js/string-prototype-function-this.html: Added. This test shows

that we CheckObjectCoercible in string prototype functions. (We used
to get this wrong, but Sputnik tests made it seem like we got it right
because they didn't test the dynamic scope case.)

  • sputnik/Conformance/11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A2_T1-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T3-expected.txt:
  • sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T3-expected.txt:

Updated to show failing results. Firefox and Chrome also fail these
tests, and the ES5 spec seems to mandate failure. Because these tests
resolve a String.prototype function at global scope, the 'this' value
for the call is an environment record. Logically, an environment record
converts to 'undefined' at the call site, and should then fail the
CheckObjectCoercible test.

10:15 PM Changeset in webkit [151362] by ggaren@apple.com
  • 28 edits
    2 adds in branches/dfgFourthTier/Source/JavaScriptCore

Unreviewed, rolled back in http://trac.webkit.org/changeset/151342.

I filled in the missing return register loads, and tests
seem to pass now.

2013-06-07 Michael Saboff <msaboff@apple.com>

fourthTier: The baseline jit and LLint should use common slow paths
https://bugs.webkit.org/show_bug.cgi?id=116889

8:08 PM Changeset in webkit [151361] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Unreviewed test correction: Prevent DumpRenderTree crashes

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::role): Prevent crashes when m_element is null. This
happends in some of the 'accessibility' test cases.

2:22 PM Changeset in webkit [151360] by roger_fong@apple.com
  • 8 edits
    2 adds in trunk

Layout info should never be cleared before delayed scroll information updates.
https://bugs.webkit.org/show_bug.cgi?id=116689.

Reviewed by Darin Adler.

Test: fast/flexbox/clear-overflow-before-scroll-update.html

Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic in RenderBlock.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::finishDelayUpdateScrollInfo): Call clearLayoutOverflow here.
(WebCore::RenderBlock::layout): Only call clearLayoutOverflow here if scrolling isn't being delayed.
(WebCore::RenderBlock::clearLayoutOverflow): Remove clearLayoutOverflow, move into RenderBlock to keep delayed scrolling logic in the same file.

  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp:
  • rendering/RenderBox.h:
  • rendering/RenderDeprecatedFlexibleBox.cpp: Should call updateScrollInfoAfterLayout, not layer()->updateScrollInfoAfterLayout(), so that it takes delayed scrolling logic into account.

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderGrid.cpp: Ditto

(WebCore::RenderGrid::layoutBlock):

1:57 PM Changeset in webkit [151359] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Split the 3 paths of SelectorDataList::execute() into 3 separate functions
https://bugs.webkit.org/show_bug.cgi?id=117378

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-06-09
Reviewed by Ryosuke Niwa.

Split those to have several small execute() fucntions instead of a giant one.

  • dom/SelectorQuery.cpp:

(WebCore::selectorForIdLookup):
(WebCore::isTreeScopeRoot):
(WebCore::SelectorDataList::executeFastPathForIdSelector):
(WebCore::SelectorDataList::executeSingleSelectorData):
(WebCore::SelectorDataList::executeSingleMultiSelectorData):
(WebCore::SelectorDataList::execute):

  • dom/SelectorQuery.h:
1:56 PM Changeset in webkit [151358] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Tools

Unreviewed, fix minor goof in profiling output layout. We weren't accounting
for the "/" that is printed between engine counts.

  • Scripts/display-profiler-output:
1:04 PM Changeset in webkit [151357] by fpizlo@apple.com
  • 4 edits in branches/dfgFourthTier/Source

Source/WebCore: Unreviewed, fix build. Use at() instead of operator[] because of ambiguity on some compilers.

  • page/CaptionUserPreferencesMac.mm:

(WebCore::languageIdentifier):

Source/WTF: Unreviewed, fix build. On some compilers the automatic coercion from WTF::String to NSString*
causes operator[] to appear ambiguous. One way around this is to make WTF::String behave like
most of our other classes: at(unsigned) is always a valid synonym for operator[](unsigned).

  • wtf/text/WTFString.h:

(WTF::String::at):
(WTF::String::operator[]):

12:52 PM Changeset in webkit [151356] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Scrolling with platformWidget and delegateScrolling is incorrectly clamped
https://bugs.webkit.org/show_bug.cgi?id=117369
<rdar://problem/13985064>

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

The patch http://trac.webkit.org/changeset/142526 clamps the input position
in the ScrollView scroll range. This was done for the path to the ScrollingCoordinator.

The problem with that change is ScrollView::setScrollPosition() can delegate the scrolling
to either a platformWidget, or through delegateScrolling. After r142526, the position is clamped,
and we do not let those external scrolling mechanims handle the out-of-bound scrolling.

This patch fixes the issue by moving the threaded scrolling call to ScrollView,
after the delegate handling code.

  • page/FrameView.cpp:

(WebCore::FrameView::setScrollPosition):
(WebCore::FrameView::requestScrollPositionUpdate):

12:19 PM Changeset in webkit [151355] by fpizlo@apple.com
  • 7 edits
    6 adds in branches/dfgFourthTier

fourthTier: DFG GetById patching shouldn't distinguish between self lists and proto lists
https://bugs.webkit.org/show_bug.cgi?id=117377

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Previously if you did self accesses and then wanted to do a prototype access, you'd
have a bad time: the prototype accesses would be forced to take slow path because
the self list wouldn't allow prototype accesses. Likewise if you did prototype (or
chain) accesses and then wanted to do a self access, similar stupidity would ensue.

This fixes the stupidity.

I believe that this was introduced way back in the days of the old interpreter,
where distinguishing between self lists, proto lists, and chain lists was meaningful
for interpreter performance: it meant fewer branches to evaluate those lists. Then
it got mostly carried over to the old JIT since the old JIT was just initially an
optimized version of the old interpreter, and then later it got carried over to the
DFG because I didn't know any better at the time. Now I do know better and I'm
fixing it.

  • bytecode/PolymorphicAccessStructureList.h:

(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::initGetByIdSelfList):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGRepatch.cpp:

(JSC::DFG::tryCacheGetByID):
(JSC::DFG::getPolymorphicStructureList):
(DFG):
(JSC::DFG::patchJumpToGetByIdStub):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::dfgBuildGetByIDList):

LayoutTests:

Reviewed by Geoffrey Garen.

Add tests that show why this is important. These tests speed up by more than 3x.

  • fast/js/regress/get-by-id-proto-or-self-expected.txt: Added.
  • fast/js/regress/get-by-id-proto-or-self.html: Added.
  • fast/js/regress/get-by-id-self-or-proto-expected.txt: Added.
  • fast/js/regress/get-by-id-self-or-proto.html: Added.
  • fast/js/regress/script-tests/get-by-id-proto-or-self.js: Added.

(foo):
(bar):
(Foo):

  • fast/js/regress/script-tests/get-by-id-self-or-proto.js: Added.

(foo):
(bar):
(Foo):

12:04 PM Changeset in webkit [151354] by mark.lam@apple.com
  • 14 edits in branches/dfgFourthTier/Source/JavaScriptCore

Fix broken no-DFG build.
https://bugs.webkit.org/show_bug.cgi?id=117381.

Reviewed by Geoffrey Garen.

  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:

(CodeBlock):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):

  • dfg/DFGCapabilities.h:
  • dfg/DFGDriver.h:

(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):

  • dfg/DFGJITCode.cpp:
  • dfg/DFGRepatch.h:

(JSC::DFG::dfgResetGetByID):
(JSC::DFG::dfgResetPutByID):

  • heap/DFGCodeBlocks.cpp:

(JSC::DFGCodeBlocks::jettison):

  • interpreter/CallFrame.h:

(ExecState):
(JSC::ExecState::trueCallFrame):

  • interpreter/Interpreter.cpp:

(JSC::getCallerInfo):

  • runtime/Executable.cpp:
  • runtime/Executable.h:

(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):

  • runtime/ExecutionHarness.h:
  • runtime/VM.cpp:

(JSC::VM::~VM):

Jun 8, 2013:

11:36 PM Changeset in webkit [151353] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Coordinated Graphics] Pass the ownership of GraphicsSurface explicitly
https://bugs.webkit.org/show_bug.cgi?id=117379

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-06-08
Reviewed by Noam Rosenthal.

When creating WebCoordinatedSurface with GraphicsSurface, it is clearer
to pass the ownership of the created GraphicsSurface explicitly.

  • Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:

(WebKit::WebCoordinatedSurface::create):

10:38 PM Changeset in webkit [151352] by fpizlo@apple.com
  • 4 edits in branches/dfgFourthTier/Source

fourthTier: Recursive deadlock in DFG::ByteCodeParser
https://bugs.webkit.org/show_bug.cgi?id=117376

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Leave the lock early to prevent a deadlock beneath get().

  • dfg/DFGByteCodeParser.cpp:

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

Source/WTF:

Reviewed by Mark Hahnenberg.

I've often wanted to leave a lock early. Now I have that power!

  • wtf/Locker.h:

(WTF::Locker::Locker):
(WTF::Locker::~Locker):
(Locker):
(WTF::Locker::unlockEarly):
(WTF::Locker::lock):

7:43 PM Changeset in webkit [151351] by igor.o@sisa.samsung.com
  • 4 edits
    3 adds in trunk

before/after generated content is not working with HTMLSummaryElement and HTMLDetailsElement.
https://bugs.webkit.org/show_bug.cgi?id=117374

Source/WebCore:

Allow before/after pseudo generated content be added in HTMLDetailsElement and HTMLSumamaryElement.

Reviewed by Ryosuke Niwa.

Test: fast/css-generated-content/details-summary-before-after.html

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::childShouldCreateRenderer):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::childShouldCreateRenderer):

LayoutTests:

Reviewed by Ryosuke Niwa.

  • fast/css-generated-content/details-summary-before-after.html: Added.
  • platform/mac/fast/css-generated-content/details-summary-before-after-expected.txt: Added.
  • platform/mac/fast/css-generated-content/details-summary-before-after-expected.png: Added
4:58 PM Changeset in webkit [151350] by kalyan.kondapally@intel.com
  • 2 edits
    2 adds in trunk/LayoutTests

[EFL][WebGL] Enable webgl-background-color test.
https://bugs.webkit.org/show_bug.cgi?id=111428

Reviewed by Christophe Dumez.

This patch adds platform specific test expectation files for the
test and enables it for efl port.

  • platform/efl/TestExpectations:
  • platform/efl/compositing/webgl/webgl-background-color-expected.png: Added.
  • platform/efl/compositing/webgl/webgl-background-color-expected.txt: Added.
2:42 PM Changeset in webkit [151349] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WinCairo] TestWebKitAPI fails to link.
https://bugs.webkit.org/show_bug.cgi?id=117345

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-06-08
Reviewed by Brent Fulgham.

Need to link with WTF.lib.

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPICommonWinCairo.props: Link with WTF.lib.
2:33 PM Changeset in webkit [151348] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[curl] Allow headers with empty value
https://bugs.webkit.org/show_bug.cgi?id=117344

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-06-08
Reviewed by Brent Fulgham.

No new tests, already covered by:
http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
http/tests/xmlhttprequest/post-blob-content-type-sync.html

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::initializeHandle):

1:36 PM Changeset in webkit [151347] by mark.lam@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

Removed bogus assertion in CallFrame::setLocationAsBytecodeOffset().
https://bugs.webkit.org/show_bug.cgi?id=117373.

Reviewed by Oliver Hunt.

The assertion wrongly assumes that the incoming offset argument is in
units of bytes. This is not true. It is in units of Instruction*. Hence,
the assertion which checks for the low 2 bits to be clear can fail.

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::setLocationAsBytecodeOffset):

4:34 AM Changeset in webkit [151346] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[curl] Handling of blob elements is incorrect
https://bugs.webkit.org/show_bug.cgi?id=117301

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-06-08
Reviewed by Kenneth Rohde Christiansen.

No new tests, covered by existing ones:
http/tests/fileapi/xhr-send-form-data-filename-escaping.html
http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::getFormElementsCount): Resolve Blob elements.

Jun 7, 2013:

7:11 PM Changeset in webkit [151345] by fpizlo@apple.com
  • 28 edits
    2 deletes in branches/dfgFourthTier/Source/JavaScriptCore

Unreviewed, roll out http://trac.webkit.org/changeset/151342
It broke Kraken crypto tests in debug build. That results in a pretty bad
loss of test coverage.

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

  • jit/JIT.h:

(JIT):

  • jit/JITArithmetic.cpp:

(JSC::JIT::emitSlow_op_negate):
(JSC::JIT::emitSlow_op_lshift):
(JSC::JIT::emitSlow_op_rshift):
(JSC::JIT::emitSlow_op_urshift):
(JSC::JIT::emitSlow_op_bitand):
(JSC::JIT::emitSlow_op_inc):
(JSC::JIT::emitSlow_op_dec):
(JSC::JIT::emitSlow_op_mod):
(JSC::JIT::emit_op_mod):
(JSC::JIT::compileBinaryArithOpSlowCase):
(JSC::JIT::emit_op_add):
(JSC::JIT::emitSlow_op_add):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emitSlow_op_div):
(JSC::JIT::emitSlow_op_sub):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitSlow_op_negate):
(JSC::JIT::emitSlow_op_lshift):
(JSC::JIT::emitRightShiftSlowCase):
(JSC::JIT::emitSlow_op_bitand):
(JSC::JIT::emitSlow_op_bitor):
(JSC::JIT::emitSlow_op_bitxor):
(JSC::JIT::emitSlow_op_inc):
(JSC::JIT::emitSlow_op_dec):
(JSC::JIT::emit_op_add):
(JSC::JIT::emitSlow_op_add):
(JSC::JIT::emitSlow_op_sub):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emitSlow_op_div):
(JSC::JIT::emit_op_mod):
(JSC::JIT::emitSlow_op_mod):

  • jit/JITExceptions.cpp:

(JSC):
(JSC::genericThrow):

  • jit/JITExceptions.h:

(ExceptionHandler):
(JSC):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_strcat):
(JSC::JIT::emitSlow_op_create_this):
(JSC::JIT::emitSlow_op_to_this):
(JSC::JIT::emitSlow_op_to_primitive):
(JSC::JIT::emitSlow_op_not):
(JSC::JIT::emitSlow_op_bitxor):
(JSC::JIT::emitSlow_op_bitor):
(JSC::JIT::emitSlow_op_stricteq):
(JSC::JIT::emitSlow_op_nstricteq):
(JSC::JIT::emitSlow_op_to_number):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emitSlow_op_to_primitive):
(JSC::JIT::emit_op_strcat):
(JSC::JIT::emitSlow_op_not):
(JSC::JIT::emitSlow_op_stricteq):
(JSC::JIT::emitSlow_op_nstricteq):
(JSC::JIT::emitSlow_op_to_number):
(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emitSlow_op_create_this):
(JSC::JIT::emitSlow_op_to_this):
(JSC::JIT::emitSlow_op_get_argument_by_val):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC):

  • jit/JITStubs.h:

(JSC):

  • jit/JITStubsARM.h:

(JSC):

  • jit/JITStubsARMv7.h:

(JSC):

  • jit/JITStubsMIPS.h:

(JSC):

  • jit/JITStubsSH4.h:

(JSC):

  • jit/JITStubsX86.h:

(JSC):

  • jit/JITStubsX86_64.h:

(JSC):

  • jit/JSInterfaceJIT.h:

(JSInterfaceJIT):

  • jit/SlowPathCall.h: Removed.
  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt):

  • llint/LLIntSlowPaths.h:

(LLInt):
(SlowPathReturnType):
(JSC::LLInt::encodeResult):
(JSC::LLInt::decodeResult):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter.cpp:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp: Removed.
  • runtime/CommonSlowPaths.h:
  • runtime/JSCJSValue.h:

(JSValue):

5:11 PM Changeset in webkit [151344] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Coalesce multiple calls to WebPageProxy::windowAndViewFramesChanged
https://bugs.webkit.org/show_bug.cgi?id=117364
<rdar://problem/14042099>

Reviewed by Geoffrey Garen.

-[WKView _updateWindowAndViewFrames] can be called many times per run loop iteration so coalesce calls
to WebPageProxy::windowAndViewFrames using dispatch_async.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _updateWindowAndViewFrames]):

5:05 PM Changeset in webkit [151343] by fpizlo@apple.com
  • 10 edits in branches/dfgFourthTier

fourthTier: don't insert ForceOSRExits except for inadequate coverage
https://bugs.webkit.org/show_bug.cgi?id=117363

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Previously (in http://trac.webkit.org/changeset/151303) I made it so that we
inserted ForceOSRExits more eagerly. I now think it's better to have
contradictions execute normally and exit with full OSR exit profiling. It's
better at catching the few cases where the DFG will end up with different
types than the baseline engines.

This simplifies a bunch of code. For example it gets rid of
ConstantFoldingPhase::paintUnreachableCode().

You can think of this as a partial roll-out of r151303, except that it uses
the facilities introduced by that patch to give us run-time assertions that
check the CFA's correctness: if the CFA thought that something was a
contradiction but the code didn't exit, we'll now trap.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::AbstractState):
(JSC::DFG::AbstractState::startExecuting):
(JSC::DFG::AbstractState::executeEffects):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::filter):
(JSC::DFG::AbstractState::filterArrayModes):
(JSC::DFG::AbstractState::filterByValue):
(DFG):

  • dfg/DFGAbstractState.h:

(AbstractState):
(JSC::DFG::AbstractState::filter):
(JSC::DFG::AbstractState::filterArrayModes):
(JSC::DFG::AbstractState::filterByValue):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::performBlockCFA):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::run):
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(ConstantFoldingPhase):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

LayoutTests:

Reviewed by Mark Hahnenberg.

Convert this test, since this was the test originally added for
ConstantFoldingPhase::paintUnreachableCode(). I wanted to make sure that I had good coverage
for this since I am removing that method.

  • fast/js/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop-expected.txt:
  • fast/js/script-tests/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop.js:
4:46 PM Changeset in webkit [151342] by msaboff@apple.com
  • 28 edits
    2 adds in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: The baseline jit and LLint should use common slow paths
https://bugs.webkit.org/show_bug.cgi?id=116889

Reviewed by Filip Pizlo.

Moved the llint_slow_paths that return JSValue along with several others to CommonSlowPaths.cpp.
Eliminated the related JIT stubs. Changes the baseline JIT to call these new common stubs.
Added a simple slow path call class that uses argument registers or the stack instead of
JITStackFrame. Changes the exception mechanism for to check for an exception after making
a slowpath call instead of returning to the handler directly form the slowpath function.

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:

(JIT):

  • jit/JITArithmetic.cpp:

(JSC::JIT::emitSlow_op_negate):
(JSC::JIT::emitSlow_op_lshift):
(JSC::JIT::emitSlow_op_rshift):
(JSC::JIT::emitSlow_op_urshift):
(JSC::JIT::emitSlow_op_bitand):
(JSC::JIT::emitSlow_op_inc):
(JSC::JIT::emitSlow_op_dec):
(JSC::JIT::emitSlow_op_mod):
(JSC::JIT::emit_op_mod):
(JSC::JIT::compileBinaryArithOpSlowCase):
(JSC::JIT::emit_op_add):
(JSC::JIT::emitSlow_op_add):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emitSlow_op_div):
(JSC::JIT::emitSlow_op_sub):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitSlow_op_negate):
(JSC::JIT::emitSlow_op_lshift):
(JSC::JIT::emitRightShiftSlowCase):
(JSC::JIT::emitSlow_op_bitand):
(JSC::JIT::emitSlow_op_bitor):
(JSC::JIT::emitSlow_op_bitxor):
(JSC::JIT::emitSlow_op_inc):
(JSC::JIT::emitSlow_op_dec):
(JSC::JIT::emit_op_add):
(JSC::JIT::emitSlow_op_add):
(JSC::JIT::emitSlow_op_sub):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emitSlow_op_div):
(JSC::JIT::emit_op_mod):
(JSC::JIT::emitSlow_op_mod):

  • jit/JITExceptions.cpp:

(JSC::getExceptionLocation):
(JSC::genericThrow):
(JSC::jitThrowNew):

  • jit/JITExceptions.h:

(ExceptionHandler):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_strcat):
(JSC::JIT::emitSlow_op_create_this):
(JSC::JIT::emitSlow_op_to_this):
(JSC::JIT::emitSlow_op_to_primitive):
(JSC::JIT::emitSlow_op_not):
(JSC::JIT::emitSlow_op_bitxor):
(JSC::JIT::emitSlow_op_bitor):
(JSC::JIT::emitSlow_op_stricteq):
(JSC::JIT::emitSlow_op_nstricteq):
(JSC::JIT::emitSlow_op_to_number):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emitSlow_op_to_primitive):
(JSC::JIT::emit_op_strcat):
(JSC::JIT::emitSlow_op_not):
(JSC::JIT::emitSlow_op_stricteq):
(JSC::JIT::emitSlow_op_nstricteq):
(JSC::JIT::emitSlow_op_to_number):
(JSC::JIT::emit_op_create_arguments):
(JSC::JIT::emitSlow_op_create_this):
(JSC::JIT::emitSlow_op_to_this):
(JSC::JIT::emitSlow_op_get_argument_by_val):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC::cti_vm_throw_slowpath):

  • jit/JITStubs.h:
  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
  • jit/JITStubsMIPS.h:
  • jit/JITStubsSH4.h:
  • jit/JITStubsX86.h:
  • jit/JITStubsX86_64.h:
  • jit/JSInterfaceJIT.h:

(JSInterfaceJIT):

  • jit/SlowPathCall.h: Added.

(JITSlowPathCall):
(JSC::JITSlowPathCall::JITSlowPathCall):
(JSC::JITSlowPathCall::call):

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • llint/LLIntSlowPaths.cpp:

(LLInt):

  • llint/LLIntSlowPaths.h:

(LLInt):

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

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(SlowPathReturnType):
(JSC::encodeResult):
(JSC::decodeResult):

  • runtime/JSCJSValue.h:

(JSValue):

4:25 PM Changeset in webkit [151341] by Chris Fleizach
  • 3 edits in trunk/LayoutTests

MathML line fraction needs to parse number values
https://bugs.webkit.org/show_bug.cgi?id=117305

Unreviewed. Rebaseline math fractions test on EFL.

  • platform/efl/mathml/presentation/fractions-expected.png:
  • platform/efl/mathml/presentation/fractions-expected.txt:
4:21 PM Changeset in webkit [151340] by Chris Fleizach
  • 3 edits in trunk/LayoutTests

MathML line fraction needs to parse number values
https://bugs.webkit.org/show_bug.cgi?id=117305

Unreviewed. Rebaseline math fractions test on GTK.

  • platform/gtk/mathml/presentation/fractions-expected.png:
  • platform/gtk/mathml/presentation/fractions-expected.txt:
3:36 PM Changeset in webkit [151339] by Alexandru Chiculita
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Layers inside the RenderFlowThread should be collected by the layer of RenderView
https://bugs.webkit.org/show_bug.cgi?id=117270

Reviewed by David Hyatt.

RenderNamedFlowThreads are attached to the RenderView, but they are painted
and hit-tested through their regions. The easiest way to prevent the RenderView
from seeing the RenderNamedFlowThreads as its own children was to avoid collecting
the layers of the RenderNamedFlowThreads as children layers of the RenderView.

However, most of the code is analyzing the layers tree starting from the root,
so having the RenderNamedFlowThread participate in the layer tree is needed
in order to enable compositing for layers inside the flow thread.

This patch makes the RenderNamedFlowThread visible to the RenderView, but
ignores it when iterates the children of the RenderView in paint and hit-test methods.

No new tests, no visible changes.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::calculateLayerBounds):
(WebCore::RenderLayer::collectLayers):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

3:04 PM Changeset in webkit [151338] by betravis@adobe.com
  • 2 edits in trunk/Source/WebCore

[CSS Exclusions][CSS Shapes] Incorrect compile flag in LayoutState.h
https://bugs.webkit.org/show_bug.cgi?id=117318

Reviewed by Alexandru Chiculita.

m_exclusionShapeInsideInfo should be guarded by the CSS_SHAPES flag,
not the CSS_EXCLUSIONS flag.

No tests required.

  • rendering/LayoutState.h:
2:53 PM Changeset in webkit [151337] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Get rid of not very helpful test that fails only on some machines because xcrun is not installed.

Rubberstamped by Ryousuke Niwa.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RunTest.test_build_check):

2:27 PM Changeset in webkit [151336] by Christophe Dumez
  • 147 edits in trunk/Source

Get rid of outdated raises() from Web IDL
https://bugs.webkit.org/show_bug.cgi?id=117350

Reviewed by Darin Adler.

Source/WebCore:

Stop using "raises()" in the IDL as this is no longer part of the Web IDL
specification. Web IDL no longer specifies exceptions for operations. Instead
it is now explained in prose.

WebKit still needs to know if the method can throw an exception (but does not
need the exception name) so this patch adds a WebKit specific IDL extended
attribute: [RaisesException]. The naming is consistent with Blink.

This results in more standard and concise IDL. This also simplifies a lot
the code of the IDL parser.

No new tests, no behavior change.

  • Modules/battery/BatteryManager.idl:
  • Modules/encryptedmedia/MediaKeySession.idl:
  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/filesystem/DirectoryEntrySync.idl:
  • Modules/filesystem/DirectoryReaderSync.idl:
  • Modules/filesystem/EntrySync.idl:
  • Modules/filesystem/FileEntrySync.idl:
  • Modules/filesystem/FileWriter.idl:
  • Modules/filesystem/FileWriterSync.idl:
  • Modules/filesystem/WorkerContextFileSystem.idl:
  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBFactory.idl:
  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBKeyRange.idl:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediasource/SourceBufferList.idl:
  • Modules/mediastream/MediaStream.idl:
  • Modules/mediastream/MediaStreamTrack.idl:
  • Modules/mediastream/NavigatorMediaStream.idl:
  • Modules/mediastream/RTCDTMFSender.idl:
  • Modules/mediastream/RTCDataChannel.idl:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/navigatorcontentutils/NavigatorContentUtils.idl:
  • Modules/networkinfo/NetworkInfoConnection.idl:
  • Modules/notifications/Notification.idl:
  • Modules/notifications/NotificationCenter.idl:
  • Modules/speech/SpeechRecognition.idl:
  • Modules/vibration/NavigatorVibration.idl:
  • Modules/webaudio/AudioBuffer.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioNode.idl:
  • Modules/webdatabase/DOMWindowWebDatabase.idl:
  • Modules/webdatabase/DatabaseSync.idl:
  • Modules/webdatabase/WorkerContextWebDatabase.idl:
  • Modules/websockets/WebSocket.idl:
  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction):
(GenerateFunctions):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/IDLParser.pm:

(parseOperationRest):

  • bindings/scripts/test/TestEventTarget.idl:
  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestSupplemental.idl:
  • bindings/scripts/test/TestTypedefs.idl:
  • css/CSSHostRule.idl:
  • css/CSSMediaRule.idl:
  • css/CSSPrimitiveValue.idl:
  • css/CSSStyleDeclaration.idl:
  • css/CSSStyleSheet.idl:
  • css/CSSSupportsRule.idl:
  • css/FontLoader.idl:
  • css/MediaList.idl:
  • css/WebKitCSSMatrix.idl:
  • dom/CharacterData.idl:
  • dom/DOMImplementation.idl:
  • dom/DataTransferItemList.idl:
  • dom/Document.idl:
  • dom/DocumentFragment.idl:
  • dom/DocumentType.idl:
  • dom/Element.idl:
  • dom/EventTarget.idl:
  • dom/MessagePort.idl:
  • dom/MutationObserver.idl:
  • dom/NamedNodeMap.idl:
  • dom/Node.idl:
  • dom/NodeIterator.idl:
  • dom/Range.idl:
  • dom/ShadowRoot.idl:
  • dom/Text.idl:
  • dom/WebKitNamedFlow.idl:
  • fileapi/FileReader.idl:
  • fileapi/FileReaderSync.idl:
  • html/DOMTokenList.idl:
  • html/HTMLCanvasElement.idl:
  • html/HTMLDialogElement.idl:
  • html/HTMLElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLIFrameElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTableElement.idl:
  • html/HTMLTableRowElement.idl:
  • html/HTMLTableSectionElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/HTMLVideoElement.idl:
  • html/MediaController.idl:
  • html/TimeRanges.idl:
  • html/canvas/CanvasGradient.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/DOMPath.idl:
  • html/canvas/DataView.idl:
  • html/canvas/OESVertexArrayObject.idl:
  • html/canvas/WebGLDebugShaders.idl:
  • html/canvas/WebGLRenderingContext.idl:
  • html/track/AudioTrackList.idl:
  • html/track/TextTrack.idl:
  • html/track/TextTrackCue.idl:
  • html/track/TextTrackList.idl:
  • html/track/VideoTrackList.idl:
  • loader/appcache/DOMApplicationCache.idl:
  • page/Crypto.idl:
  • page/DOMSelection.idl:
  • page/DOMWindow.idl:
  • page/EventSource.idl:
  • page/History.idl:
  • page/Performance.idl:
  • storage/Storage.idl:
  • svg/SVGAngle.idl:
  • svg/SVGAnimationElement.idl:
  • svg/SVGColor.idl:
  • svg/SVGDocument.idl:
  • svg/SVGLength.idl:
  • svg/SVGLengthList.idl:
  • svg/SVGLocatable.idl:
  • svg/SVGMatrix.idl:
  • svg/SVGNumberList.idl:
  • svg/SVGPaint.idl:
  • svg/SVGPathSegList.idl:
  • svg/SVGPointList.idl:
  • svg/SVGStringList.idl:
  • svg/SVGTextContentElement.idl:
  • svg/SVGTransformList.idl:
  • testing/InternalSettings.idl:
  • testing/Internals.idl:
  • workers/AbstractWorker.idl:
  • workers/DedicatedWorkerContext.idl:
  • workers/Worker.idl:
  • workers/WorkerContext.idl:
  • xml/XMLHttpRequest.idl:
  • xml/XMLHttpRequestUpload.idl:
  • xml/XMLSerializer.idl:
  • xml/XPathEvaluator.idl:
  • xml/XPathExpression.idl:
  • xml/XPathResult.idl:

Source/WebKit/win:

Replace raises() by [RaisesException].

  • Interfaces/DOMEvents.idl:
1:52 PM Changeset in webkit [151335] by beidson@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r151088): Crash navigating away from non-loaded main resources with non-loaded scripts.
<rdar://problem/14052886> and https://bugs.webkit.org/show_bug.cgi?id=117278

Reviewed by Anders Carlsson.

Source/WebCore:

Test: http/tests/navigation/slow-loading-page-with-slow-script.php

  • html/parser/HTMLScriptRunner.cpp:

(WebCore::HTMLScriptRunner::isPendingScriptReady): The script runner might be told about a script

after it has already been detached (the main resource load has finished/failed/cancelled).
Don't dereference a null document in that case.

LayoutTests:

  • http/tests/navigation/slow-loading-page-with-slow-script-expected.txt: Added.
  • http/tests/navigation/slow-loading-page-with-slow-script.php: Added.
1:33 PM Changeset in webkit [151334] by aestes@apple.com
  • 3 edits in trunk/Source/WebCore

Compile WebCoreTestShimLibrary.cpp on iOS, but exclude the Carbon bits
https://bugs.webkit.org/show_bug.cgi?id=117360

Reviewed by Mark Rowe.

In r150114 we tried to make the WebCoreTestShim target build on iOS by
excluding its only source file from the build. While this allowed the
target to build, it prevented the target's product (WebCoreTestShim.dylib)
from being created. This causes xcodebuild to fail if you ask it to
install the target.

Fix this by building the target's product on iOS. Just use the
preprocessor to exclude the bits that won't build on iOS.

  • Configurations/WebCoreTestShim.xcconfig:
  • testing/WebCoreTestShimLibrary.cpp:
1:25 PM Changeset in webkit [151333] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

Unreviewed, fix release build.

  • ftl/FTLLink.cpp:
1:16 PM Changeset in webkit [151332] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Reproducible crash with triple-finger-tap "define word" gesture on a Netflix video
https://bugs.webkit.org/show_bug.cgi?id=117020

Patch by Thomas Deniau <deniau@apple.com> on 2013-06-07
Reviewed by Ryosuke Niwa.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
Don't invoke the Dictionary lookup when we failed to extract the range of the token
surrounding the tapped position.

1:11 PM Changeset in webkit [151331] by Hugo Parente Lima
  • 2 edits in trunk/Tools

[Qt] Remove Qt bits from Scripts/webkitperl/FeatureList.pm
https://bugs.webkit.org/show_bug.cgi?id=117315

Reviewed by Benjamin Poulain.

Qt doesn't use the default values specified on FeatureList since r44681,
this patch just remove a bit of noise.

  • Scripts/webkitperl/FeatureList.pm:
12:07 PM Changeset in webkit [151330] by roger_fong@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed. Makefile fix. Copy WTF.dll over as well.

  • WTF.vcxproj/WTF.make:
11:23 AM Changeset in webkit [151329] by mark.lam@apple.com
  • 10 edits in branches/dfgFourthTier/Source/JavaScriptCore

32-bit CallFrame::Location should use Instruction* for BytecodeLocation, not bytecodeOffset.
https://bugs.webkit.org/show_bug.cgi?id=117327.

Reviewed by Michael Saboff.

  • Renamed CallFrame::Location's Type to TypeTag.
  • Made the CallFrame::Location::TypeTag private, and provided type specific encoder functions. This reduces verbosity in client code.
  • Fixed the DFG's reifyInlinedCallFrames() on 32-bit ports to store a bytecode Instruction* in the CallFrame location instead of a bytecode offset.
  • Fixed places in JIT and FTL code which populate the CallFrame location (i.e. ArgumentCount tag) to use a Location encoder instead of storing the bytecodeOffset directly. This doesn't make any semantic difference, but it does assert that the stored value does not have bits where we would expect Location TypeTags to be.
  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::beginCall):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::setLocationAsBytecodeOffset):

  • interpreter/CallFrame.h:

(Location):

  • interpreter/CallFrameInlines.h:

(JSC::CallFrame::Location::encodeAsBytecodeOffset):
(JSC::CallFrame::Location::encodeAsBytecodeInstruction):
(JSC::CallFrame::Location::encodeAsCodeOriginIndex):
(JSC::CallFrame::Location::encodeAsInlinedCode):
(JSC::CallFrame::Location::isBytecodeLocation):
(JSC::CallFrame::setIsInlinedFrame):
(JSC::CallFrame::hasLocationAsBytecodeOffset):
(JSC::CallFrame::setLocationAsBytecodeOffset):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITInlines.h:

(JSC::JIT::updateTopCallFrame):

11:20 AM Changeset in webkit [151328] by commit-queue@webkit.org
  • 5 edits
    1 delete in trunk/Source/WTF

Unreviewed, rolling out r151318.
http://trac.webkit.org/changeset/151318
https://bugs.webkit.org/show_bug.cgi?id=117356

Broke Windows Release Build (Requested by bfulgham on
#webkit).

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTFCommon.props:
  • WTF.vcxproj/WTFCoreFoundation.props: Removed.
  • WTF.vcxproj/WTFDebug.props:
  • WTF.vcxproj/WTFRelease.props:
10:59 AM Changeset in webkit [151327] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

REGRESSION: Lines jump up and down while typing Chinese or Japanese
https://bugs.webkit.org/show_bug.cgi?id=115931

Reviewed by Darin Adler.

The bug was caused by Font::width caching the width of text even when the font fallbacks existed when fallbackFonts
argument was null; because of this, a later call to Font::width was returning the width without filling up
fallbackFonts even if it was not null this time.

Fixed the bug by adding a local fallback fonts hash set, and checking the emptiness of this variable in Font::width.
Also added pass fallbackFonts around in various places to make use of the cached font fallbacks.

No new tests. Unfortunately I haven't been able to make a reliable reduction for this bug.

  • platform/graphics/Font.cpp:

(WebCore::Font::width):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::measureHyphenWidth):
(WebCore::setLogicalWidthForTextRun):
(WebCore::textWidth):
(WebCore::tryHyphenating):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

  • rendering/RenderText.cpp:

(WebCore::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):

10:22 AM Changeset in webkit [151326] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: Reenable the DFG optimization fixpoint now that it's profitable to do so with concurrent compilation
https://bugs.webkit.org/show_bug.cgi?id=117331

Rubber stamped by Sam Weinig.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

10:15 AM Changeset in webkit [151325] by zandobersek@gmail.com
  • 4 edits in trunk

[regression] build failure WebKitFontFamilyNames.h missing
https://bugs.webkit.org/show_bug.cgi?id=117178

Reviewed by Sam Weinig.

.:

  • GNUmakefile.am: List platform_sources under the BUILT_SOURCES list.

Source/WebCore:

  • GNUmakefile.am: Make libPlatform and other sources depend on the generated platform sources. This should prevent

build failures in source code that's depending on the generated platform sources.

9:37 AM Changeset in webkit [151324] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Weird behaviour and no clues to the user when the shared memory file can't be opened
https://bugs.webkit.org/show_bug.cgi?id=117063

Patch by Enrique Ocana Gonzalez <eocanha@igalia.com> on 2013-06-07
Reviewed by Anders Carlsson.

Log error message when the shared memory file can't be opened in
Unix platform using a release build

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

8:57 AM Changeset in webkit [151323] by Chris Fleizach
  • 10 edits in trunk

MathML line fraction needs to parse number values
https://bugs.webkit.org/show_bug.cgi?id=117305

Reviewed by Darin Adler.

Source/WebCore:

The line fraction thickness was not handling arbitrary thickness numbers.
The accessibility code was not handling default values for line thickness, so
it made sense to have AX rely on the RenderFraction object to retrive the thickness.

Modified existing tests to cover new behavior.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::mathLineThickness):

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::updateFromElement):

  • rendering/mathml/RenderMathMLFraction.h:

(WebCore::RenderMathMLFraction::lineThickness):
(WebCore::toRenderMathMLFraction):

LayoutTests:

Math fractions test now encodes for an arbitrary thickness number.
Accessibility test handles the default line thickness.

  • mathml/presentation/fractions.xhtml:
  • platform/mac/accessibility/mathml-line-fraction-expected.txt:
  • platform/mac/accessibility/mathml-line-fraction.html:
  • platform/mac/mathml/presentation/fractions-expected.png:
  • platform/mac/mathml/presentation/fractions-expected.txt:
8:38 AM WebKitIDL edited by Christophe Dumez
Add documentation for [GetterRaisesException] / … (diff)
8:36 AM Changeset in webkit [151322] by Claudio Saavedra
  • 4 edits in trunk/Source/WebCore

[rendering] Use foreground color to render the overtype caret
https://bugs.webkit.org/show_bug.cgi?id=117347

Reviewed by Darin Adler.

Currently, the overtype caret is rendered using the colors of
a normal selection, which is confusing. This patch enables RenderObject
to differentiate between a normal and a overtype caret selection,
in order to use a different color for the latter.

Also, let RenderView update the selection if this is unchanged
when going from a overtype caret to one character selection and
viceversa.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionBackgroundColor):

  • rendering/RenderView.cpp:

(WebCore::RenderView::setSelection):

  • rendering/RenderView.h:
8:32 AM Changeset in webkit [151321] by Christophe Dumez
  • 67 edits in trunk/Source/WebCore

Get rid of outdated getter / setter raises from Web IDL
https://bugs.webkit.org/show_bug.cgi?id=117346

Reviewed by Darin Adler.

Stop using "getter / setter raises" in the IDL as this is no longer part of
the Web IDL specification. Web IDL no longer specifies exceptions for
attribute getters or setters. Instead, it is now explained in prose.

WebKit still needs to know if the getter / setter can throw an exception
(but does not need the exception name) so this patch adds 2 WebKit specific
IDL extended attributes: [GetterRaisesException] / [SetterRaisesException].
The naming is consistent with Blink.

This results in more standard and concise IDL. This also simplifies a lot
the code of the IDL parser.

Note that this patch does not remove "raises()" from the IDL methods yet.
This should be replaced by [RaisesException] IDL extended attribute in a
later patch.

No new tests, no behavior change.

  • Modules/indexeddb/IDBRequest.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediastream/RTCDataChannel.idl:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCSessionDescription.idl:
  • Modules/mediastream/RTCStatsResponse.idl:
  • Modules/webaudio/AnalyserNode.idl:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioNode.idl:
  • Modules/webdatabase/SQLResultSet.idl:
  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateProperty):
(GenerateFunctions):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/IDLParser.pm:

(parseAttributeRest):
(parseAttributeRestOld):

  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestTypedefs.idl:
  • css/CSSCharsetRule.idl:
  • css/CSSRule.idl:
  • css/CSSStyleDeclaration.idl:
  • css/CSSValue.idl:
  • css/MediaList.idl:
  • dom/Attr.idl:
  • dom/CharacterData.idl:
  • dom/Document.idl:
  • dom/Node.idl:
  • dom/ProcessingInstruction.idl:
  • dom/Range.idl:
  • dom/ShadowRoot.idl:
  • dom/TreeWalker.idl:
  • html/HTMLElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMarqueeElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLMeterElement.idl:
  • html/HTMLOptionElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLProgressElement.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTableElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/MediaController.idl:
  • html/track/TextTrackCue.idl:
  • html/track/TextTrackRegion.idl:
  • page/DOMWindow.idl:
  • storage/Storage.idl:
  • svg/SVGAltGlyphElement.idl:
  • svg/SVGAngle.idl:
  • svg/SVGAnimatedBoolean.idl:
  • svg/SVGAnimatedEnumeration.idl:
  • svg/SVGAnimatedInteger.idl:
  • svg/SVGAnimatedNumber.idl:
  • svg/SVGAnimatedString.idl:
  • svg/SVGElement.idl:
  • svg/SVGGlyphRefElement.idl:
  • svg/SVGLangSpace.idl:
  • svg/SVGLength.idl:
  • svg/SVGPreserveAspectRatio.idl:
  • svg/SVGSVGElement.idl:
  • svg/SVGScriptElement.idl:
  • svg/SVGStyleElement.idl:
  • svg/SVGViewSpec.idl:
  • xml/XMLHttpRequest.idl:
  • xml/XPathResult.idl:
8:19 AM Changeset in webkit [151320] by kangil.han@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove unused header includes in Document
https://bugs.webkit.org/show_bug.cgi?id=117339

Reviewed by Andreas Kling.

Minor code cleanup.

  • dom/Document.cpp:
  • dom/Document.h:
8:12 AM Changeset in webkit [151319] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

Unnecessary use of Layout types in GraphicsLayer::paintGraphicsLayerContents
https://bugs.webkit.org/show_bug.cgi?id=117340

Reviewed by Darin Adler.

There is no reason to use Layout types when copying from Int types to Int types.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::paintGraphicsLayerContents):

7:43 AM Changeset in webkit [151318] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/WTF

[WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010.
https://bugs.webkit.org/show_bug.cgi?id=117294

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-06-07
Reviewed by Darin Adler.

WinCairo build should not use CoreFoundation.

  • WTF.vcxproj/WTF.vcxproj: Exclude unneeded file from WinCairo build.
  • WTF.vcxproj/WTFCommon.props: Removed CoreFoundation.lib from common props.
  • WTF.vcxproj/WTFCoreFoundation.props: Added.
  • WTF.vcxproj/WTFDebug.props: Inherit from WTFCoreFoundations.props.
  • WTF.vcxproj/WTFRelease.props: Inherit from WTFCoreFoundations.props.
7:40 AM Changeset in webkit [151317] by kihong.kwon@samsung.com
  • 3 edits in trunk/LayoutTests

REGRESSION: r149001 made proximity test fail.
https://bugs.webkit.org/show_bug.cgi?id=117343

Reviewed by Christophe Dumez.

Update window-property.html test cases for Device Proximity Event.
The global constructors are no longer enumerable after r149001.

  • proximity/window-property-expected.txt:
  • proximity/window-property.html:
6:36 AM Changeset in webkit [151316] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL][GTK] TextCheckerEnchant uses deprecated enchant_dict_add_to_personal
https://bugs.webkit.org/show_bug.cgi?id=117335

Reviewed by Christophe Dumez.

enchant_dict_add_to_personal has been deprecated at r22321 in Enchant repository.

No behavior change, no new tests needed.

  • platform/text/enchant/TextCheckerEnchant.cpp:

(WebCore::TextCheckerEnchant::learnWord):
Use enchant_dict_add instead of enchant_dict_add_to_personal.

6:09 AM Changeset in webkit [151315] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skipping failing tests.
https://bugs.webkit.org/show_bug.cgi?id=117295
https://bugs.webkit.org/show_bug.cgi?id=117336
https://bugs.webkit.org/show_bug.cgi?id=117338

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-06-07

  • platform/qt-5.0-wk1/TestExpectations:
  • platform/qt/TestExpectations:
5:26 AM Changeset in webkit [151314] by g.czajkowski@samsung.com
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Context menu spellchecking items are not available when "Check Spelling While Typing" is off
https://bugs.webkit.org/show_bug.cgi?id=117190

Reviewed by Christophe Dumez.

Context menu items (suggestions, learn and ignore word) are not available
due to missing dictionary. To get the suggestions for the misspelled word,
the dictionary has to be loaded first.

WebKit loads the default dictionary when check spelling while typing is being enabled.
However, context menu spellchecking items should be present even if this setting is off.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
Load the user's default dictionary to ensure context menu spellchecking items.
The dictionary is loaded asynchronously so it shouldn't delay application.

  • UIProcess/API/efl/ewk_text_checker.h:

Update doc. Spelling suggestions, learn and ignore word should be available
independently of checking spelling while typing setting.

  • UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:

(onContextMenuShow):
(TEST_F):
Add two unit tests to check whether the default dictionary is loaded and
whether the context menu spelling items are available.

  • UIProcess/efl/TextCheckerEfl.cpp:

(WebKit::TextChecker::setContinuousSpellCheckingEnabled):
(WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
Not set the default dictionary while enabling the setting, it's already loaded.

4:20 AM Changeset in webkit [151313] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Implement customContextMenuItemSelected
https://bugs.webkit.org/show_bug.cgi?id=117298

Patch by Michał Pakuła vel Rutka <Michał Pakuła vel Rutka> on 2013-06-07
Reviewed by Christophe Dumez.

When custom context menu item is selected using ewk API, the feedback is not
sent back to application, as customContextMenuItemSelected was unimplemented in
contextMenuClientEfl.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::customContextMenuItemSelected):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/ewk_view.h: added custom_item_selected callback.
  • UIProcess/efl/ContextMenuClientEfl.cpp:

(customContextMenuItemSelected):
(ContextMenuClientEfl::ContextMenuClientEfl):

3:35 AM Changeset in webkit [151312] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Frame flattening: crash when child iframe is removed during beforeload.
https://bugs.webkit.org/show_bug.cgi?id=116220

Patch by Zalan Bujtas <Alan Bujtas> on 2013-06-07
Reviewed by Antti Koivisto.

FrameView can get destroyed in updateWidget(). Normally, it is protected by layout()
but with frame flattening on, it can also be called asynchronously through the
post layout timer.

Source/WebCore:

Test: fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

LayoutTests:

  • fast/frames/flattening/crash-remove-iframe-during-object-beforeload-expected.txt: Added.
  • fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html: Added.
3:07 AM Changeset in webkit [151311] by commit-queue@webkit.org
  • 1 edit
    8 adds in trunk/LayoutTests

[CSS Regions] The presence of a flow-from declaration in a CSS rule using :hover effectively disables the rule
https://bugs.webkit.org/show_bug.cgi?id=111585

Created tests for changing flow-into and flow-from inside the :hover pseudo-class.
The actual problem was fixed along with https://bugs.webkit.org/show_bug.cgi?id=7555

Patch by Radu Stavila <stavila@adobe.com> on 2013-06-07
Reviewed by Antti Koivisto.

  • fast/regions/hover-single-flow-from-none-expected.html: Added.
  • fast/regions/hover-single-flow-from-none.html: Added.
  • fast/regions/hover-single-flow-from-other-expected.html: Added.
  • fast/regions/hover-single-flow-from-other.html: Added.
  • fast/regions/hover-single-flow-into-none-expected.html: Added.
  • fast/regions/hover-single-flow-into-none.html: Added.
  • fast/regions/hover-single-flow-into-other-expected.html: Added.
  • fast/regions/hover-single-flow-into-other.html: Added.
1:57 AM Changeset in webkit [151310] by Carlos Garcia Campos
  • 11 edits in trunk/Source/WebCore

Make CachedResource virtual methods overridden in derived classes private
https://bugs.webkit.org/show_bug.cgi?id=117289

Reviewed by Darin Adler.

And mark them as OVERRIDE too. Also mark all CachedResource
derived classes as FINAL.

  • inspector/InspectorPageAgent.cpp:

(WebCore::cachedResourcesForFrame):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedFont.h:
  • loader/cache/CachedImage.h:
  • loader/cache/CachedRawResource.h:
  • loader/cache/CachedSVGDocument.h:
  • loader/cache/CachedScript.h:
  • loader/cache/CachedShader.h:
  • loader/cache/CachedTextTrack.h:
  • loader/cache/CachedXSLStyleSheet.h:
1:00 AM Changeset in webkit [151309] by mihnea@adobe.com
  • 7 edits
    2 adds in trunk

[CSSRegions] getBoundingClientRect wrong for inline content nodes
https://bugs.webkit.org/show_bug.cgi?id=117290

Reviewed by Alexandru Chiculita.

Source/WebCore:

getBoundingClientRect returned incorrect values for inline content that
was directly flowed inside regions because its mapLocalToContainer was not
properly patched as its RenderBox counterpart. This patch adds mapLocalToContainer
method in RenderFlowThread so that is properly called for all the elements inside the
flow thread.

Also, modified offsetFromContainer so that if the container is the flow thread,
offsetDependsOnPoint is set to true which further sets RenderGeometryMapStep::m_isNonUniform
to true for each step added in pushMappingToContainer methods.

Test: fast/regions/flowed-inline-content-bounding-client-rect.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):
(WebCore::RenderBox::offsetFromContainer):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::mapLocalToContainer):

  • rendering/RenderFlowThread.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::offsetFromContainer):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::offsetFromContainer):

LayoutTests:

Add test for inline content nodes flowed in regions and in regions with transform.

  • fast/regions/flowed-inline-content-bounding-client-rect-expected.txt: Added.
  • fast/regions/flowed-inline-content-bounding-client-rect.html: Added.
12:51 AM Changeset in webkit [151308] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Implement colorpicker for HTML5 input type color on Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=115890

Patch by Jungsik Tae <davidtlay88@gmail.com> on 2013-06-07
Reviewed by Christophe Dumez.

When user clicks HTML5 input type color,
color selector window is created on browser object by using elm_colorchooser_add().
It can listen a signal dismissing colorpicker by calling the ewk_color_picker_color_set().
The evas_object_color_set() sets a color value returning to browser.

  • MiniBrowser/efl/main.c:

(window_free): When we delete parent window, deleting the colorpicker object.
(on_color_changed): Change color of rectangle to show color selected by user.
(on_color_item_selected): Change color of rectangle when clicked color palettes offered by elm_color_chooser().
(on_color_picker_ok_clicked): Call on_colorpicker_dismiss() and set the color.
(on_color_picker_cancel_clicked): Get a preexisting color and call ewk_color_picker_color_set().
(on_color_picker_dismiss): Delete colorpicker object.
(on_color_picker_request): Create colorpicker window object.
(window_create):

Note: See TracTimeline for information about the timeline view.