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

Timeline



Nov 18, 2013:

11:53 PM Changeset in webkit [159487] by commit-queue@webkit.org
  • 23 edits
    2 copies
    1 add
    2 deletes in trunk/Source

Unreviewed, rolling out r159455.
http://trac.webkit.org/changeset/159455
https://bugs.webkit.org/show_bug.cgi?id=124568

broke two api tests (see bug 124564) (Requested by thorton on
#webkit).

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage):

  • dom/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/Frame.cpp:

(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

  • page/Frame.h:
  • page/FrameSnapshotting.cpp: Removed.
  • page/FrameSnapshotting.h: Removed.
  • page/mac/FrameMac.mm: Copied from Source/WebCore/page/win/FrameWin.h.

(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

  • page/mac/FrameSnapshottingMac.h: Copied from Source/WebCore/page/win/FrameWin.h.
  • page/mac/FrameSnapshottingMac.mm: Added.

(WebCore::imageFromRect):
(WebCore::selectionImage):
(WebCore::rangeImage):
(WebCore::snapshotDragImage):

  • page/win/FrameWin.cpp:

(WebCore::Frame::dragImageForSelection):
(WebCore::Frame::nodeImage):

  • page/win/FrameWin.h:
  • platform/DragImage.cpp:

(WebCore::fitDragImageToMaxSize):
(WebCore::createDragImageForLink):

  • platform/DragImage.h:

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::renderedImage):

11:52 PM Changeset in webkit [159486] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source

[EFL] Initialize efreet before getting directories
https://bugs.webkit.org/show_bug.cgi?id=124560

Reviewed by Gyuyoung Kim.

efreet is used to get several directories including home dierectory since
r123731, but it does not call efreet_init/efreet_shutdown explicitly.

Source/WebKit/efl:

  • ewk/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.

(ewk_init):
(ewk_shutdown):

Source/WebKit2:

  • UIProcess/API/efl/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.

(ewk_init):
(ewk_shutdown):

11:20 PM Changeset in webkit [159485] by mrowe@apple.com
  • 12 edits in trunk

Use hw.activecpu for determining how many processes to spawn.

It's documented as the preferred way to determine the number of threads
or processes to create in a SMP aware application.

Rubber-stamped by Tim Horton.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

  • Scripts/copy-webkitlibraries-to-product-directory:
  • Scripts/run-jsc-stress-tests:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
10:47 PM Changeset in webkit [159484] by timothy_horton@apple.com
  • 5 edits in trunk/Tools

build.webkit.org/dashboard builder headers should link to the builder page
https://bugs.webkit.org/show_bug.cgi?id=124553

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.get overviewURL):
Add overviewURL(), which returns the URL to the builder overview page, with the last 50 builds shown.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuildArchitecture):
(BuildbotBuilderQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
(BuildbotTesterQueueView.prototype.update.appendBuild):
(BuildbotTesterQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css:

(.queue-view .queueLabel):
(.queue-view .queueLabel:not(:first-child)):
Make the header a link instead of a label, and wire it up to overviewURL.

10:30 PM Changeset in webkit [159483] by Lucas Forschler
  • 14 edits
    1 delete in tags/Safari-538.7/Source/JavaScriptCore

Rollout r159351. <rdar://problem/15500057>

10:10 PM Changeset in webkit [159482] by Samuel White
  • 3 edits
    2 adds in trunk

AX: aria-labelledby should be used in preference to aria-labeledby
https://bugs.webkit.org/show_bug.cgi?id=62351

Reviewed by Chris Fleizach.

Source/WebCore:

Making sure aria-labelled by overrides the incorrectly spelled aria-labeledby attribute.

Test: accessibility/aria-labelledby-overrides-aria-labeledby.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::ariaLabeledByElements):

LayoutTests:

Added test to make sure aria-labelledby overrides aria-labeledby correctly.

  • accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Added.
  • accessibility/aria-labelledby-overrides-aria-labeledby.html: Added.
10:01 PM Changeset in webkit [159481] by Alan Bujtas
  • 5 edits
    2 adds in trunk

use after free in WebCore::DocumentOrderedMap::remove / WebCore::TreeScope::removeElementById
https://bugs.webkit.org/show_bug.cgi?id=121324

Reviewed by Ryosuke Niwa.

Update the document ordered map for an image element before dispatching load or error events
when it's inserted into a document.

Source/WebCore:

Test: fast/dom/modify-node-and-while-in-the-callback-too-crash.html

  • dom/DocumentOrderedMap.cpp: defensive fix to avoid use after free issues.

(WebCore::DocumentOrderedMap::remove):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::insertedInto):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement): setting m_failedLoadURL makes
repeated updateFromElement calls return early.

LayoutTests:

  • fast/dom/modify-node-and-while-in-the-callback-too-crash-expected.txt: Added.
  • fast/dom/modify-node-and-while-in-the-callback-too-crash.html: Added.
9:14 PM Changeset in webkit [159480] by mrowe@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Disable deprecation warnings related to NSCalendarDate in WebHistory.

Reviewed by Anders Carlsson.

  • History/WebHistory.h: Use a #pragma to have the compiler treat this header as

a system header, even when not included from a system location. This has the effect
of suppressing warnings when including this header. It's a more general effect than
we're after but is also less invasive than disabling deprecation warnings around
the APIs that are defined in terms of NSCalendarDate. We'll hopefully revisit this
in the future.

  • History/WebHistory.mm: Disable deprecation warnings around uses of NSCalendarDate.
8:55 PM Changeset in webkit [159479] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Upstream iOS's ResourceHandle implementation
https://bugs.webkit.org/show_bug.cgi?id=124554

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

  • platform/network/ResourceHandle.h:

(WebCore::ResourceHandle::quickLookHandle):
(WebCore::ResourceHandle::setQuickLookHandle):

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::connectionProperties):
(WebCore::ResourceHandleClient::shouldCacheResponse):

  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::synthesizeRedirectResponseIfNecessary):
(WebCore::willSendRequest):
(WebCore::didReceiveResponse):
(WebCore::didReceiveDataArray):
(WebCore::didReceiveData):
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::willCacheResponse):
(WebCore::canRespondToProtectionSpace):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::currentRequest):
(WebCore::ResourceHandle::connectionClientCallbacks):

7:50 PM Changeset in webkit [159478] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

7:47 PM Changeset in webkit [159477] by Lucas Forschler
  • 1 copy in tags/Safari-538.7

New Tag.

6:41 PM Changeset in webkit [159476] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Layout tests need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124477

Unreviewed, EFL rebaseline.

EFL tests are rebaselined after r126683 and r140149.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-18

  • platform/efl/fast/block/float/016-expected.txt:
  • platform/efl/fast/forms/textAreaLineHeight-expected.txt:
5:13 PM Changeset in webkit [159475] by Alexandru Chiculita
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch
https://bugs.webkit.org/show_bug.cgi?id=124544

Reviewed by Joseph Pecoraro.

Added the new DOM.performSearch "nodeIds" parameter and made the two implementations
of DOMTreeContentView provide the right context node ids.

DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView
is passing the list of content nodes.

Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility.

  • UserInterface/ContentFlowDOMTreeContentView.js:

(WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady):
(WebInspector.DOMTreeContentView.prototype.performSearch):
(WebInspector.DOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/FrameDOMTreeContentView.js:

(WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/InspectorBackendCommands.js:
5:00 PM Changeset in webkit [159474] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Let's try this again.

  • UIProcess/PageLoadState.cpp:
4:56 PM Changeset in webkit [159473] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r159430.
http://trac.webkit.org/changeset/159430
https://bugs.webkit.org/show_bug.cgi?id=124548

WebCore can know nothing about nor use files from WebKit/
(Requested by thorton on #webkit).

Source/WebCore:

  • DerivedSources.make:

Source/WebKit/win:

  • WebView.cpp:

(webKitVersionString):

4:50 PM Changeset in webkit [159472] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Disable assertions in PageLoadState.cpp for now.

  • UIProcess/PageLoadState.cpp:
4:46 PM Changeset in webkit [159471] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

TestWebKitAPI crashes when running under GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=124546

Reviewed by Tim Horton.

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::downloadFinished):
Grab the download ID before removing the DownloadProxy from the map.

4:45 PM Changeset in webkit [159470] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Remove IDBServerConnection's deprecatedBackingStore()
https://bugs.webkit.org/show_bug.cgi?id=124547

Reviewed by Tim Horton.

It is no longer needed, as the front end no longer knows about the backing store.

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
4:35 PM Changeset in webkit [159469] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64 CRASH: Debug builds crash in emitPointerValidation()
https://bugs.webkit.org/show_bug.cgi?id=124545

Reviewed by Filip Pizlo.

Changed emitPointerValidation() to use pushToSave() and popToRestore() as
all macro assemblers have an implementation of these functions.

  • jit/ThunkGenerators.cpp:

(JSC::emitPointerValidation):

4:32 PM Changeset in webkit [159468] by Samuel White
  • 15 edits
    2 adds in trunk

AX: Add ability to fetch only visible table rows.
https://bugs.webkit.org/show_bug.cgi?id=124430

Reviewed by Chris Fleizach.

Source/WebCore:

Adding AccessibilityTable::visibleRows method to support AXVisibleRows attribute mac platform.

Test: platform/mac/accessibility/table-visible-rows.html

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::visibleRows):

  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableRow.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

Adding method to fetch array of AccessibilityUIElements to help with test brevity and test breakage. Specifically, we
have a good deal of churn any time we add or update an element attribute. This happens because the number of tests
that rely on a simple element description text dump to verify a single attribute is non trivial. So any time you
change add an attribute, you have to update all the tests that are now implicitly verifying this new attribute. But
as the test guidelines state, our tests should be more focused and specific about what they test.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(uiElementArrayAttributeValueCallback):
(AccessibilityUIElement::uiElementArrayAttributeValue):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::getUIElementsWithAttribute):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

LayoutTests:

Adding test to make sure AXVisibleRows behaves correctly.

  • platform/mac/accessibility/table-visible-rows-expected.txt: Added.
  • platform/mac/accessibility/table-visible-rows.html: Added.
4:17 PM Changeset in webkit [159467] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Update localizedStrings, remove stale string
https://bugs.webkit.org/show_bug.cgi?id=124543

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-11-18
Reviewed by Jessie Berlin.

Remove stale localized strings after r124543 remove the old color picker.

  • Localizations/en.lproj/localizedStrings.js:
4:07 PM Changeset in webkit [159466] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64: Update getHostCallReturnValue() to use architected frame pointer register
https://bugs.webkit.org/show_bug.cgi?id=124520

Reviewed by Filip Pizlo.

Changed from using the prior JSC specific x25 callframe register to the ARM64
architected x29 (fp) register. This change should have been done as part of
https://bugs.webkit.org/show_bug.cgi?id=123956.

  • jit/JITOperations.cpp:
3:40 PM Changeset in webkit [159465] by rniwa@webkit.org
  • 9 edits in trunk

Simplify and reformat the output of performance tests inside test runners
https://bugs.webkit.org/show_bug.cgi?id=124496

Reviewed by Antti Koivisto.

PerformanceTests:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate.
Also modernize the output to better support "metric" concept we introduced a while ago.

New output on Dromaeo/dom-attr looks like this:


Running 5 times
getAttribute -> [1105, 1108, 1134, 1137, 1154]
element.property -> [1634, 1655, 1685, 1696, 1723]
setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658]
element.property = value -> [934, 949, 963, 964, 974]
element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429]
element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525]

1: 117.40644785571585 runs/s
2: 118.84720469666297 runs/s
3: 119.80547640905021 runs/s
4: 120.51886194758805 runs/s
5: 121.51924380569295 runs/s

:Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s

mean: 119.619446942942 runs/s
median: 119.80547640905021 runs/s
stdev: 1.5769040458730506 runs/s
min: 117.40644785571585 runs/s
max: 121.51924380569295 runs/s


  • Dromaeo/resources/dromaeorunner.js:

(DRT.progress): Use the new format for subtest reports.

  • resources/runner.js:

(.): Declare verboseLogging, which is set to true outside of test runners.
(PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner.
(PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation.
(PerfTestRunner.logStatistics): Use logDetail.
(.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail.
(.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway
because perftest didn't get to see any output until the test finished running.
(.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be
distinguishable from subtests, making the new format forward compatible.

Tools:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output
performance tests generate. Instead of spitting out noise in PerfTestRunner (runner.js)
and ignoring it in PerfTest._filter_output (perftest.py), simply avoid generating it in
the first place.

Also modernize the output to adopt "metric" concept better and make it forward compatible
with subtests.

With this patch, performance tests written using runner.js only produces empty lines or
lines of the following format inside test runners (DumpRenderTree and WebKitTestRunner):
<subtest name> -> [<value 1>, <value 2>, ...]
:<metric name> -> [<value 1>, <value 2>, ...]

This greatly simplifies the parsing logic inside PerfTest._run_with_driver.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest): Removed a bunch of regular expressions that are no longer used.
(PerfTest._run_with_driver): Just parse the values and description and treat everything
else as errors.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output): Removed the junk.
(TestPerfTest._assert_failed_on_line): Extracted from test_parse_output_with_failing_line,
which was removed in favor of the tests below.
(TestPerfTest.test_parse_output_with_running_five_times): Added.
(TestPerfTest.test_parse_output_with_detailed_info): Added.
(TestPerfTest.test_parse_output_with_statistics): Added.
(TestPerfTest.test_parse_output_with_description): Removed the junk.
(TestPerfTest.test_parse_output_with_subtests): Ditto.
(TestSingleProcessPerfTest.test_use_only_one_process): Ditto.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(EventTargetWrapperTestData): Ditto.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.

LayoutTests:

Rebaseline the expected result now that the output has been simplified.

  • fast/harness/perftests/runs-per-second-log-expected.txt:
3:40 PM Changeset in webkit [159464] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed build fix attempt on GTK and EFL port after r159461

  • CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp
  • GNUmakefile.list.am: Ditto.
3:33 PM Changeset in webkit [159463] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

At some scales, opaque compositing layers have garbage pixels around the edges
https://bugs.webkit.org/show_bug.cgi?id=124541

Reviewed by Dean Jackson.

Layers get marked as having opaque contents when their background is
known to paint the entire layer. However, this failed to take into
account two reasons why every pixel may not get painted.

First, subpixel layout can result in non-integral RenderLayer
bounds, which will get rounded up to an integral GraphicsLayer
size. When this happens we may not paint edge pixels.

Second, at non-integral scale factors, graphics context scaling
may cause us to not paint edge pixels.

Fix by only marking PlatformCALayers as having opaque contents
when the contentsScale of the layer is integral.

Not testable, because we can't guarantee to get garbage pixels
in a ref test, and layer dumps show GraphicsLayer's notion of
content opaqueness, not the one we set on the PlatformCALayer.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::isIntegral):
(WebCore::clampedContentsScaleForScale):
(WebCore::GraphicsLayerCA::updateRootRelativeScale):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
Drive-by typo fix.
(WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

3:19 PM Changeset in webkit [159462] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

put_to_scope[5] should not point to the structure if it's a variable access, but it should point to the WatchpointSet
https://bugs.webkit.org/show_bug.cgi?id=124539

Reviewed by Mark Hahnenberg.

This is in preparation for getting put_to_scope to directly invalidate the watchpoint set
on stores, which will allow us to run constant inference on all globals.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):

  • bytecode/Instruction.h:
  • dfg/DFGByteCodeParser.cpp:

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

  • runtime/JSScope.cpp:

(JSC::abstractAccess):
(JSC::JSScope::abstractResolve):

  • runtime/JSScope.h:

(JSC::ResolveOp::ResolveOp):

  • runtime/SymbolTable.h:

(JSC::SymbolTableEntry::watchpointSet):

3:16 PM Changeset in webkit [159461] by andersca@apple.com
  • 8 edits
    2 moves in trunk/Source/WebKit2

Rename WebNavigationData to API::NavigationData
https://bugs.webkit.org/show_bug.cgi?id=124542

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKNavigationDataRef.cpp:

(WKNavigationDataGetTypeID):

  • UIProcess/API/Cocoa/WKNavigationData.mm:

(-[WKNavigationData dealloc]):
(-[WKNavigationData title]):
(-[WKNavigationData originalRequest]):
(-[WKNavigationData destinationURL]):
(-[WKNavigationData response]):

  • UIProcess/API/Cocoa/WKNavigationDataInternal.h:

(WebKit::wrapper):

  • UIProcess/API/mac/WKProcessGroup.mm:
  • UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp.

(API::NavigationData::NavigationData):
(API::NavigationData::~NavigationData):

  • UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h.

(API::NavigationData::create):
(API::NavigationData::title):
(API::NavigationData::url):
(API::NavigationData::originalRequest):
(API::NavigationData::response):

  • UIProcess/WebHistoryClient.cpp:

(WebKit::WebHistoryClient::didNavigateWithNavigationData):

  • WebKit2.xcodeproj/project.pbxproj:
3:08 PM Changeset in webkit [159460] by hyatt@apple.com
  • 14 edits
    2 adds in trunk

Add a quirk to not respect center text-align when positioning

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

Reviewed by Simon Fraser.

Added fast/block/legacy-text-align-position-quirk.html

Source/WebCore:

  • page/Settings.in:

Add the quirk setting.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::startAlignedOffsetForLine):
Don't pay attention to center text-align when the quirk is set.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences useLegacyTextAlignPositionedElementBehavior]):
(-[WebPreferences setUseLegacyTextAlignPositionedElementBehavior:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesUseLegacyTextAlignPositionedElementBehavior):
(WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • fast/block/legacy-text-align-position-quirk-expected.html: Added.
  • fast/block/legacy-text-align-position-quirk.html: Added.
3:07 PM Changeset in webkit [159459] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

APIEntryShims need some love
https://bugs.webkit.org/show_bug.cgi?id=124540

Reviewed by Filip Pizlo.

We were missing them in key places which some other hacking revealed. These could have manifested as
race conditions for VMs being used in multithreaded environments.

  • API/JSContext.mm:

(-[JSContext setException:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):

  • API/JSContextRef.cpp:

(JSContextGroupRelease):
(JSGlobalContextRelease):

  • API/JSManagedValue.mm:

(-[JSManagedValue initWithValue:]):
(-[JSManagedValue value]):

  • API/JSObjectRef.cpp:

(JSObjectIsFunction):
(JSObjectCopyPropertyNames):

  • API/JSValue.mm:

(containerValueToObject):

  • API/JSWrapperMap.mm:

(tryUnwrapObjcObject):

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

Add State to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124538

Reviewed by Tim Horton.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didFailProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):

  • UIProcess/PageLoadState.h:
2:40 PM Changeset in webkit [159457] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.73.11

New tag.

2:14 PM Changeset in webkit [159456] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

The PageLoadState object should keep track of the current URL
https://bugs.webkit.org/show_bug.cgi?id=124536

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didFailLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):

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

(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

2:10 PM Changeset in webkit [159455] by commit-queue@webkit.org
  • 23 edits
    2 adds
    3 deletes in trunk/Source

Consolidate various frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124325

Patch by Brian J. Burg <Brian Burg> on 2013-11-18
Reviewed by Timothy Hatcher.

Source/WebCore:

Various snapshot creation methods had duplicated code and were split
between Frame, DragImage, and platform-specific implementationss.
This patch puts WebCore snapshot methods into FrameSnapshotting
and removes platform implementations where possible.

DragImage methods reuse snapshot methods where possible. Inspector
will be able to take snapshots without using drag images.

No new tests, this is a refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage):

  • dom/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/Frame.cpp:
  • page/Frame.h:
  • page/FrameSnapshotting.cpp: Added.

(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::snapshotFrameRect): Move most buffer logic to here.
(WebCore::snapshotSelection): Moved from Frame.
(WebCore::snapshotNode): Moved from Frame.

  • page/FrameSnapshotting.h: Added.
  • page/mac/FrameMac.mm: Removed.
  • page/mac/FrameSnapshottingMac.h: Removed.
  • page/mac/FrameSnapshottingMac.mm: Removed.
  • page/win/FrameWin.cpp: remove duplicate implementation.
  • page/win/FrameWin.h: Fix an incorrect parameter name.
  • platform/DragImage.cpp:

(WebCore::ScopedNodeDragState::ScopedNodeDragState):
(WebCore::ScopedNodeDragState::~ScopedNodeDragState):
(WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
(WebCore::createDragImageForNode):
(WebCore::createDragImageForSelection):
(WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange): Moved from Frame.
(WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
(WebCore::createDragImageForLink): use nullptr.

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm: use new header file.

Source/WebKit/mac:

Use new platform-independent methods instead of Mac methods.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::renderedImage): use createDragImageForNode.

1:49 PM Changeset in webkit [159454] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Crash when using media source
https://bugs.webkit.org/show_bug.cgi?id=124525

Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-18
Reviewed by Philippe Normand.

No new tests because this is already covered by tests in media/media-source (which aren't enabled because the feature isn't done).

  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::MediaSourceGStreamer): Add missing adoptRef()

1:48 PM Changeset in webkit [159453] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

Occasionally, hundreds of tests fail with small text diffs on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=124312

Reviewed by Simon Fraser.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._set_up_run):

  • Scripts/webkitpy/port/base.py:

(Port.to.reset_preferences):

  • Scripts/webkitpy/port/mac.py:

(MacPort.reset_preferences):
Delete DumpRenderTree and WebKitTestRunner defaults domains before running tests,
returning some of the functionality of 158652 after 159364 removed it.

1:44 PM Changeset in webkit [159452] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r159444.

  • GNUmakefile.list.am:
1:28 PM Changeset in webkit [159451] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

PageLoadState should keep track of the provisional URL
https://bugs.webkit.org/show_bug.cgi?id=124535

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):

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

(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):

1:21 PM Changeset in webkit [159450] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unneeded BackingStore-related #include from IDBFactoryBackendInterface

Rubberstamped by Beth Dakin.

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
1:03 PM Changeset in webkit [159449] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Move m_pendingAPIRequestURL to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124531

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopyPendingAPIRequestURL):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::pendingAPIRequestURL):
(WebKit::PageLoadState::setPendingAPIRequestURL):
(WebKit::PageLoadState::clearPendingAPIRequestURL):

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

(WebKit::WebPageProxy::loadURL):
(WebKit::WebPageProxy::loadURLRequest):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::estimatedProgress):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageLoadState):

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):

12:52 PM Changeset in webkit [159448] by fpizlo@apple.com
  • 6 edits in trunk/Source

Allow the FTL debug dumps to include the new size field
https://bugs.webkit.org/show_bug.cgi?id=124479

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Location::dump):

  • ftl/FTLStackMaps.h:

Source/WTF:

  • wtf/PrintStream.cpp:

(WTF::printInternal):

  • wtf/PrintStream.h:
12:42 PM Changeset in webkit [159447] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Change mediasource and mediastream modules to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=124530

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-18
Reviewed by Tim Horton.

No new tests needed, no behavior change.

  • Modules/mediasource/MediaSource.cpp:
  • Modules/mediasource/SourceBuffer.cpp:
  • Modules/mediastream/MediaStream.cpp:
  • Modules/mediastream/RTCDTMFSender.cpp:
  • Modules/mediastream/RTCDataChannel.cpp:
  • Modules/mediastream/RTCIceCandidate.cpp:
  • Modules/mediastream/RTCPeerConnection.cpp:
  • Modules/mediastream/RTCSessionDescription.cpp:
  • Modules/mediastream/RTCStatsResponse.cpp:
  • Modules/mediastream/UserMediaRequest.cpp:
12:32 PM Changeset in webkit [159446] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r159444

  • CMakeLists.txt: Added PageLoadState.cpp.
12:01 PM Changeset in webkit [159445] by beidson@apple.com
  • 13 edits in trunk/Source/WebCore

Move execution of IDBCursorBackendOperations to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124463

Reviewed by Tim Horton.

This almost entirely removes knowledge of the backing store from the front end.

The primary change here is to give cursors a unique ID.

This way the IDBCursorBackend can reference itself by ID, while the
IDBServerConnection can handle mapping that ID to a backing store.

  • Modules/indexeddb/IDBBackingStoreCursorInterface.h:
  • Modules/indexeddb/IDBBackingStoreInterface.h:
  • Modules/indexeddb/IDBCursorBackend.cpp:

(WebCore::IDBCursorBackend::IDBCursorBackend):
(WebCore::IDBCursorBackend::deleteFunction):
(WebCore::IDBCursorBackend::prefetchReset):
(WebCore::IDBCursorBackend::close):
(WebCore::IDBCursorBackend::updateCursorData):
(WebCore::IDBCursorBackend::clearCursorData):

  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::create):
(WebCore::IDBCursorBackend::key):
(WebCore::IDBCursorBackend::primaryKey):
(WebCore::IDBCursorBackend::value):
(WebCore::IDBCursorBackend::id):
(WebCore::IDBCursorBackend::transaction):
(WebCore::IDBCursorBackend::setSavedCursorID):

  • Modules/indexeddb/IDBCursorBackendOperations.cpp:

(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
(WebCore::CursorPrefetchIterationOperation::perform):

  • Modules/indexeddb/IDBCursorBackendOperations.h:

(WebCore::CursorIterationOperation::key):
(WebCore::CursorIterationOperation::callbacks):
(WebCore::CursorAdvanceOperation::count):
(WebCore::CursorAdvanceOperation::callbacks):
(WebCore::CursorPrefetchIterationOperation::numberToFetch):
(WebCore::CursorPrefetchIterationOperation::callbacks):

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:

(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::ObjectStoreKeyCursorImpl::create):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreCursorImpl::create):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
(WebCore::IDBServerConnectionLevelDB::setIndexKeys):
(WebCore::IDBServerConnectionLevelDB::createObjectStore):
(WebCore::IDBServerConnectionLevelDB::createIndex):
(WebCore::IDBServerConnectionLevelDB::deleteIndex):
(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::put):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::clearObjectStore):
(WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
(WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):
(WebCore::IDBServerConnectionLevelDB::cursorAdvance):
(WebCore::IDBServerConnectionLevelDB::cursorIterate):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchReset):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
12:00 PM Changeset in webkit [159444] by andersca@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

Add PageLoadState class
https://bugs.webkit.org/show_bug.cgi?id=124528

Reviewed by Dan Bernstein.

Trying to use the main frame load state as the page load state was a bad idea,
add a new PageLoadState and use it instead. Ultimately the long term plan is to
transition away from FrameLoadState entirely.

  • UIProcess/PageLoadState.cpp: Added.

(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::~PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):

  • UIProcess/PageLoadState.h: Added.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
11:59 AM Changeset in webkit [159443] by jer.noble@apple.com
  • 4 edits in trunk/Source

[WTF] Media time should not have a constructor which accepts a single int or float.
https://bugs.webkit.org/show_bug.cgi?id=124470

Source/WebCore:

Reviewed by Eric Carlson.

Fix the compile error exposed by removing the default parameter in the MediaTime constructor.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::setTimestampOffset):

Source/WTF:

Having a constructor taking a single number value, as it's very easy to accidentially mis-
initialize a MediaTime with a double (automatically casted to a int64_t).

Reviewed by Eric Carlson.

  • wtf/MediaTime.h:
11:53 AM Changeset in webkit [159442] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Change webaudio to use nullptr for null pointers
https://bugs.webkit.org/show_bug.cgi?id=124526

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-18
Reviewed by Anders Carlsson.

No new tests needed, no behavior change.

  • Modules/webaudio/AudioBuffer.cpp:
  • Modules/webaudio/AudioContext.cpp:
  • Modules/webaudio/AudioNode.cpp:
  • Modules/webaudio/ChannelMergerNode.cpp:
  • Modules/webaudio/ChannelSplitterNode.cpp:
  • Modules/webaudio/MediaStreamAudioSource.cpp:
  • Modules/webaudio/OfflineAudioContext.cpp:
  • Modules/webaudio/PeriodicWave.cpp:
  • Modules/webaudio/ScriptProcessorNode.cpp:
11:44 AM Changeset in webkit [159441] by dfarler@apple.com
  • 2 edits in trunk/Source/WebKit2

[ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
https://bugs.webkit.org/show_bug.cgi?id=124367

Reviewed by Alexey Proskuryakov.

  • Shared/Downloads/DownloadAuthenticationClient.cpp:

(WebKit::DownloadAuthenticationClient::receivedCredential):
(WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
(WebKit::DownloadAuthenticationClient::receivedCancellation):
Remove calls to nowhere:
WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&)
WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&)
WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&)

11:34 AM Changeset in webkit [159440] by timothy_horton@apple.com
  • 2 edits
    1 delete in trunk/Tools

Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Alexey Proskuryakov.

Put the checkmark SVG in the CSS file as a data URI so it loads immediately.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line .bubble):
(.status-line.good .bubble.pictogram):

11:10 AM Changeset in webkit [159439] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Use a strong enum for frame load states
https://bugs.webkit.org/show_bug.cgi?id=124524

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKFrame.cpp:

(WKFrameGetFrameLoadState):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::FrameLoadState):
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didFinishLoad):
(WebKit::FrameLoadState::didFailLoad):

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

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::loadStateAtProcessExit):

11:00 AM Changeset in webkit [159438] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

URTBF after r159432 to make WinCairo build happy.

  • wtf/text/WTFString.h:
10:54 AM Changeset in webkit [159437] by andersca@apple.com
  • 9 edits in trunk/Source

Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
https://bugs.webkit.org/show_bug.cgi?id=124523

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::didCreateWindow):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::makeCurrentProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::makePluginHostProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::isPluginHostProcessFrontProcess):

Source/WebKit2:

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::beginModal):

  • PluginProcess/mac/PluginProcessShim.mm:
  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::NetscapePluginModule::tryLoad):

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
(WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
(WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
(WebKit::PluginProcessProxy::exitFullscreen):

10:46 AM Changeset in webkit [159436] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[Win] Optimization, no need to erase background before paint.
https://bugs.webkit.org/show_bug.cgi?id=124453

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

As the paint will blit a bitmap onto the invalid area (no alpha),
there is no need to erase the background first, as this will be overwritten by the blit.

  • WebView.cpp:

(WebView::WebViewWndProc): Avoid erasing background before paint.

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

[Curl] Basic authentication is not reused.
https://bugs.webkit.org/show_bug.cgi?id=124452

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

After a successful basic authentication, the credentials are not reused for later requests.
In the CFNetwork port, this is solved by trying basic authentication first, if credentials exists.
Also, when a 401 response is received, the first thing the CFNetwork port does, is to use
m_user/m_pass as credentials in the following request if they are set.
This can be done the same way for the Curl version.

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try using m_user/m_pass as credentials first, if they are set.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::applyAuthenticationToRequest): Try basic authentication first, if credentials exists.

10:42 AM Changeset in webkit [159434] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Ignore deprecation warnings for now.

  • History/WebHistory.h:
10:35 AM Changeset in webkit [159433] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add failure expectations for CSS filters layout tests.
10:35 AM Changeset in webkit [159432] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk/Source/WebCore

[curl] Add file cache
https://bugs.webkit.org/show_bug.cgi?id=123333

Patch by Mátyás Mustoha <mmatyas@inf.u-szeged.hu> on 2013-11-18
Reviewed by Brent Fulgham.

Implementation of on disc file cache
for the curl network backend.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/network/curl/CurlCacheEntry.cpp: Added.

(WebCore::CurlCacheEntry::CurlCacheEntry):
(WebCore::CurlCacheEntry::~CurlCacheEntry):
(WebCore::CurlCacheEntry::isCached):
(WebCore::CurlCacheEntry::requestHeaders):
(WebCore::CurlCacheEntry::saveCachedData):
(WebCore::CurlCacheEntry::loadCachedData):
(WebCore::CurlCacheEntry::saveResponseHeaders):
(WebCore::CurlCacheEntry::loadResponseHeaders):
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
(WebCore::CurlCacheEntry::didFail):
(WebCore::CurlCacheEntry::didFinishLoading):
(WebCore::CurlCacheEntry::generateBaseFilename):
(WebCore::CurlCacheEntry::loadFileToBuffer):
(WebCore::CurlCacheEntry::invalidate):
(WebCore::CurlCacheEntry::parseResponseHeaders):

  • platform/network/curl/CurlCacheEntry.h: Added.

(WebCore::CurlCacheEntry::isInMemory):

  • platform/network/curl/CurlCacheManager.cpp: Added.

(WebCore::CurlCacheManager::getInstance):
(WebCore::CurlCacheManager::CurlCacheManager):
(WebCore::CurlCacheManager::~CurlCacheManager):
(WebCore::CurlCacheManager::setCacheDirectory):
(WebCore::CurlCacheManager::loadIndex):
(WebCore::CurlCacheManager::saveIndex):
(WebCore::CurlCacheManager::didReceiveResponse):
(WebCore::CurlCacheManager::didFinishLoading):
(WebCore::CurlCacheManager::isCached):
(WebCore::CurlCacheManager::requestHeaders):
(WebCore::CurlCacheManager::didReceiveData):
(WebCore::CurlCacheManager::saveResponseHeaders):
(WebCore::CurlCacheManager::invalidateCacheEntry):
(WebCore::CurlCacheManager::didFail):
(WebCore::CurlCacheManager::loadCachedData):

  • platform/network/curl/CurlCacheManager.h: Added.

(WebCore::CurlCacheManager::getCacheDirectory):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::writeCallback):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::initializeHandle):

10:30 AM Changeset in webkit [159431] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Link fails when DFG JIT is enabled.
https://bugs.webkit.org/show_bug.cgi?id=123614

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

10:25 AM Changeset in webkit [159430] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Win] WebKit version in user agent string is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=124454

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

Source/WebCore:

  • DerivedSources.make: Generate WebKitVersion.h

Source/WebKit/win:

  • WebView.cpp:

(webKitVersionString): Create WebKit version string from WebKitVersion.h.

10:22 AM Changeset in webkit [159429] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124484

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::load8):
(JSC::MacroAssemblerSH4::branch8):

10:19 AM Changeset in webkit [159428] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64 CRASH: Improper offset in getHostCallReturnValue() to access callerFrame in CallFrame
https://bugs.webkit.org/show_bug.cgi?id=124481

Reviewed by Mark Lam.

Fixed the offset to access CallerFrame in the ARM64 version of getHostCallReturnValue() to be 0
to correspond with the change in CallFrame layout done in r158315.

  • jit/JITOperations.cpp:
9:56 AM Changeset in webkit [159427] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Crash in virtualForThunkGenerator generated code on ARM64
https://bugs.webkit.org/show_bug.cgi?id=124447

Reviewed by Geoffrey Garen.

The baseline JIT generates slow path call code with the caller in regT0. The DFG
generates call code with the caller in nonArgGPR0. The virtualForThunkGenerator
generates code with the caller in nonArgGPR0. For X86 and X86_64, regT0 and nonArgGPR0
are the same CPU register, eax. For other platforms this isn't the case. The same
issue exists for JSVALUE32_64 ports as well, where there also is an issue with the callee
tag registers being regT1 and nonArgGPR1 in the various locations.

Changed nonArgGPR0, nonArgGPR1 and nonArgGPR2 for X86 and X86_64 to not match up with
regT0-2. Changing these registers will cause a crash on all ports should we have a
similar problem in the future. Changed the DFG call generating code to use regT0 and
regT1. Now all slow path call code is generated using regT0 and for JSVALUE32_64 regT1.
Added r12 to X86_64 as a new temp register (regT9) and moved r13 down to regT10.
The new temp register decreases the likelihood of inadvertant register overlap.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):

  • jit/ThunkGenerators.cpp:

(JSC::virtualForThunkGenerator):

9:06 AM Changeset in webkit [159426] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.2

Tagging the WebKitGTK+ 2.3.2 release

8:58 AM Changeset in webkit [159425] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add missing load8/branch8 with AbsoluteAddress parameter to MIPS port.

[MIPS] Build fails since r159395.
https://bugs.webkit.org/show_bug.cgi?id=124491

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-11-18
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::load8):
(JSC::MacroAssemblerMIPS::branch8):

8:54 AM Changeset in webkit [159424] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectations for the current set

of untriaged failures on the 64-bit WK2 builder.

8:35 AM Changeset in webkit [159423] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r159351): It made zillion tests assert on !CF platforms
https://bugs.webkit.org/show_bug.cgi?id=124490

Reviewed by Mark Hahnenberg.

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::sweep):

8:01 AM Changeset in webkit [159422] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Remove architecture specific code in LowLevelInterpreter.
https://bugs.webkit.org/show_bug.cgi?id=124501

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Michael Saboff.

  • llint/LowLevelInterpreter.asm: Use generic path instead of sh4 specific code.
  • llint/LowLevelInterpreter32_64.asm: Merge sh4/mips path with arm path. The

"move t0, a0" is not needed for arm because t0 == a0 with this architecture.

  • offlineasm/sh4.rb: Handle move opcode with pr register.
7:28 AM Changeset in webkit [159421] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

[Performance tests] Interactive/SelectAll.html throws an exception
https://bugs.webkit.org/show_bug.cgi?id=124495

Reviewed by Antti Koivisto

Return a boolean indicating whether more values are needed or not in
PerfTestRunner.measureValueAsync so that runTest can terminate gracefully.

  • Interactive/SelectAll.html:

(runTest): Don't schedule a timer for runTest if we've got enough values.

  • resources/runner.js:

(PerfTestRunner.measureValueAsync): Returns true iff more values are needed.

6:52 AM Changeset in webkit [159420] by Carlos Garcia Campos
  • 4 edits in trunk

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

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.2.
6:49 AM Changeset in webkit [159419] by Carlos Garcia Campos
  • 5 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/WebCore:

  • GNUmakefile.am: Add inspector json files to EXTRA_DIST and

remove maketokenizer from EXTRA_DIST.

  • GNUmakefile.list.am: Add missing header files.

Source/WTF:

  • GNUmakefile.list.am: Add missing header file.
6:42 AM Changeset in webkit [159418] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Remove _lines_to_ignore_in_stderr, which was only used in Chromium port
https://bugs.webkit.org/show_bug.cgi?id=124499

Reviewed by Csaba Osztrogonác.

Removed the code. I didn't like this hack back when it was added, and I don't like it today.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._should_ignore_line):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest): Removed the unit test.

4:45 AM WebKitGTK/Debugging edited by Manuel Rego Casasnovas
Fix error, you cannot pass --debug to GtkLauncher (diff)
4:23 AM Changeset in webkit [159417] by gyuyoung.kim@samsung.com
  • 12 edits in trunk/Source/WebCore

Generate toHTMLDataList|Html|EmbedElement
https://bugs.webkit.org/show_bug.cgi?id=124482

Reviewed by Tim Horton.

To clean up static_cast<HTMLFoo*>, toHTMLEmbedElement, toHTMLHtmlElement, toHTMLDataListElement
are generated.

No new tests, no behavior changes.

  • html/HTMLDataListElement.h:
  • html/HTMLEmbedElement.h:
  • html/HTMLHtmlElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::dataList):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::ownerDataListElement):

  • html/HTMLTagNames.in:
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):

3:48 AM Changeset in webkit [159416] by gyuyoung.kim@samsung.com
  • 18 edits in trunk/Source/WebCore

Clean up static_cast<HTMLFoo*> usage
https://bugs.webkit.org/show_bug.cgi?id=124480

Reviewed by Tim Horton.

Though there are toHTMLFoo(), some places are still using static_cast<>.
Additionally, toHTMLBodyElement() is supported from now.

No new tests, no behavior changes.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isRequired):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable):

  • bindings/js/JSHTMLFrameSetElementCustom.cpp:

(WebCore::JSHTMLFrameSetElement::nameGetter):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginInstance):

  • dom/Document.cpp:

(WebCore::Document::openSearchDescriptionURL):
(WebCore::Document::iconURLs):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):

  • html/HTMLBodyElement.h:
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::vlinkColor):
(WebCore::HTMLDocument::setVlinkColor):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::rendererIsNeeded):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::updateAncestorDisabledState):
(WebCore::HTMLFormControlElement::enclosingFormControlElement):

  • html/HTMLFormElement.cpp:

(WebCore::submitElementFromEvent):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::virtualForm):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

3:37 AM Changeset in webkit [159415] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[arm] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124488

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Zoltan Herczeg.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branch8):

3:31 AM Changeset in webkit [159414] by ryuan.choi@samsung.com
  • 5 edits
    4 adds in trunk/Source

[EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
https://bugs.webkit.org/show_bug.cgi?id=124478

Reviewed by Gyuyoung Kim.

EWebKit is built using CMake but applications use *.pc to use it.
This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake
for applications which use EWebkit and is compiled by CMake.

Source/WebKit:

  • PlatformEfl.cmake:

Configure and install EWebKitConfig.cmake and EWebKitConfigVersion.cmake

Source/WebKit/efl:

  • EWebKitConfig.cmake.in: Added.
  • EWebKitConfigVersion.cmake.in: Added.

Source/WebKit2:

  • PlatformEfl.cmake:

Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake

  • efl/EWebKit2Config.cmake.in: Added.
  • efl/EWebKit2ConfigVersion.cmake.in: Added.
3:22 AM Changeset in webkit [159413] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r158760.

  • bindings/gobject/webkitdom.symbols: Add

webkit_dom_text_track_get_id prototype.

3:19 AM Changeset in webkit [159412] by zandobersek@gmail.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK gardening.
Cleaning up expectations for unexpectedly passing tests, either removing or updating them
to reflect the current status of the test.

  • platform/gtk-wk1/TestExpectations:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
3:05 AM Changeset in webkit [159411] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

REGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=124489

Reviewed by Philippe Normand.

In r158821, several properties were changed from readonly to
CustomSetter. The GObject DOM bindings currently skips any
attribute having a custom getter or setter, and those properties
are not generated anymore. We should add support for generating
attributes having a custom getter or setter in GObject DOM
bindings generator, but to fix the ABI break now we bring the old
implementatiom back as custom implementation. This fixes the ABI
compatibility, but not the API since the GObject properties are
not generated.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_audio_track_get_kind):
(webkit_dom_audio_track_get_language):
(webkit_dom_text_track_get_kind):
(webkit_dom_text_track_get_language):
(webkit_dom_video_track_get_kind):
(webkit_dom_video_track_get_language):

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols:
2:22 AM Changeset in webkit [159410] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r158662.

  • bindings/gobject/webkitdom.symbols: Add missing prototypes.
2:19 AM Changeset in webkit [159409] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Addressing the current set of timing-out tests. Timeout expectations

are added where appropriate, with one js/regress/ test speculatively marked as slow.

2:01 AM Changeset in webkit [159408] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r159208 and r159363.

  • bindings/gobject/webkitdom.symbols: Add

webkit_dom_html_media_element_fast_seek prototype.

1:52 AM Changeset in webkit [159407] by zandobersek@gmail.com
  • 9 edits
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Update the global constructors' attibutes baseline for the WK2 flavor of the GTK port.
Update baselines for tests under media/.

  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_codecs_order_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_2-expected.txt:
  • platform/gtk/media/media-can-play-ogg-expected.txt:
  • platform/gtk/media/video-controls-captions-trackmenu-localized-expected.txt:
  • platform/gtk/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
  • platform/gtk/media/video-controls-captions-trackmenu-sorted-expected.txt:
  • platform/gtk/media/volume-bar-empty-when-muted-expected.txt: Added.
1:51 AM Changeset in webkit [159406] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
https://bugs.webkit.org/show_bug.cgi?id=124485

Reviewed by Philippe Normand.

In r159363 currentTime attribute was changed to not raise
exceptions. This breaks the API of GObject DOM bindings because we
use a GError parameter for exceptions that has been removed.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_html_media_element_set_current_time): Custom
implementation that receives a GError for backwards
compatibility.

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols: Add

webkit_dom_html_media_element_set_current_time prototype.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skip
webkit_dom_html_media_element_set_current_time since we are adding
a custom implementation.

1:20 AM Changeset in webkit [159405] by zandobersek@gmail.com
  • 6 edits
    9 adds in trunk/LayoutTests

Unreviewed GTK gardening. Updating GTK-specific baselines for tests under editing/, scrollingcoordinator/ and tables/.

  • platform/gtk/editing/deleting/smart-delete-003-expected.txt:
  • platform/gtk/editing/deleting/smart-delete-004-expected.txt:
  • platform/gtk/editing/spelling/centering-misspelling-dots-expected.png: Added.
  • platform/gtk/editing/spelling/centering-misspelling-dots-expected.txt: Added.
  • platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.png: Added.
  • platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.txt: Added.
  • platform/gtk/editing/unsupported-content/table-delete-001-expected.txt:
  • platform/gtk/editing/unsupported-content/table-delete-003-expected.txt:
  • platform/gtk/scrollingcoordinator: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
12:51 AM Changeset in webkit [159404] by zandobersek@gmail.com
  • 19 edits
    3 adds in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining various tests under fast/.

  • platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
  • platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt: Added.
  • platform/gtk/fast/block/float/016-expected.png:
  • platform/gtk/fast/block/float/016-expected.txt:
  • platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.png: Added.
  • platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.txt:
  • platform/gtk/fast/css/empty-pseudo-class-expected.txt:
  • platform/gtk/fast/css/fieldset-display-row-expected.png:
  • platform/gtk/fast/css/fieldset-display-row-expected.txt:
  • platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
  • platform/gtk/fast/forms/basic-textareas-expected.png:
  • platform/gtk/fast/forms/basic-textareas-expected.txt:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.png:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.txt:
  • platform/gtk/fast/forms/textAreaLineHeight-expected.png:
  • platform/gtk/fast/forms/textAreaLineHeight-expected.txt:
  • platform/gtk/fast/parser/entity-comment-in-textarea-expected.png:
  • platform/gtk/fast/parser/entity-comment-in-textarea-expected.txt:
  • platform/gtk/fast/repaint/increasing-region-content-height-expected.txt: Added.
12:42 AM Changeset in webkit [159403] by ap@apple.com
  • 6 edits
    2 adds in trunk

Support exporting public RSASSA-PKCS1-v1_5 keys
https://bugs.webkit.org/show_bug.cgi?id=124475

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsa-export-key.html

  • bindings/js/JSCryptoKeySerializationJWK.h:
  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::buildJSONForRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
Added said support (this part works with private keys too).

  • crypto/keys/CryptoKeyRSA.h:
  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::getPublicKeyComponents): Moved the logic for getting a
public key from private one here for reuse in keySizeInBits().
(WebCore::CryptoKeyRSA::isRestrictedToHash):
(WebCore::CryptoKeyRSA::keySizeInBits):
(WebCore::CryptoKeyRSA::exportData):
Exposed information necessary for JWK serialization.

LayoutTests:

  • crypto/subtle/rsa-export-key-expected.txt: Added.
  • crypto/subtle/rsa-export-key.html: Added.
12:27 AM Changeset in webkit [159402] by zandobersek@gmail.com
  • 20 edits in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining CSS tests' expectations.

  • platform/gtk/css1/box_properties/margin_right-expected.png:
  • platform/gtk/css1/box_properties/margin_right-expected.txt:
  • platform/gtk/css1/box_properties/padding-expected.png:
  • platform/gtk/css1/box_properties/padding-expected.txt:
  • platform/gtk/css1/box_properties/padding_left-expected.png:
  • platform/gtk/css1/box_properties/padding_left-expected.txt:
  • platform/gtk/css1/box_properties/padding_right-expected.png:
  • platform/gtk/css1/box_properties/padding_right-expected.txt:
  • platform/gtk/css1/box_properties/padding_top-expected.png:
  • platform/gtk/css1/box_properties/padding_top-expected.txt:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.png:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.png:
  • platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
  • platform/gtk/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
  • platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.png:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
12:25 AM Changeset in webkit [159401] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Process single tap using mouse move, down and up event.
https://bugs.webkit.org/show_bug.cgi?id=106864

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2013-11-18
Reviewed by Christophe Dumez.

Send mouse events to the web process to perform the clicking when
single tap gesture is recognized.
Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent()
and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL
API implementation.

  • UIProcess/API/C/efl/WKViewEfl.cpp:

(WKViewSendMouseDownEvent):
(WKViewSendMouseUpEvent):
(WKViewSendMouseMoveEvent):

  • UIProcess/API/C/efl/WKViewEfl.h:
  • UIProcess/API/efl/GestureRecognizer.cpp:

(WebKit::GestureHandler::handleSingleTap):

  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::sendMouseEvent):

  • UIProcess/efl/WebViewEfl.h:

Nov 17, 2013:

11:51 PM Changeset in webkit [159400] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[sh4] Fix revertJumpReplacementToBranchPtrWithPatch in MacroAssembler.
https://bugs.webkit.org/show_bug.cgi?id=124468

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-17
Reviewed by Michael Saboff.

Current implementation of revertJumpReplacementToBranchPtrWithPatch is wrong in
the sh4 MacroAssembler part, leading to random instabilities. This patch fixes it
and also renames the bad-named revertJumpToMove to revertJumpReplacementToBranchPtrWithPatch
in the SH4Assembler.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::replaceWithJump):
(JSC::SH4Assembler::revertJumpReplacementToBranchPtrWithPatch):

11:37 PM Changeset in webkit [159399] by fpizlo@apple.com
  • 3 edits in trunk/WebKitLibraries

Update binary drops to include atrick's "Ran out of registers" fix in r194942.

  • LLVMIncludesMountainLion.tar.bz2:
  • LLVMLibrariesMountainLion.tar.bz2:
11:06 PM Changeset in webkit [159398] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix this script for older Rubies where Pathname doesn't coerce to String
quite as easily.

With help from Andy Trick.

  • Scripts/export-llvm-build:
9:42 PM Changeset in webkit [159397] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Add webgl crash tests because webgl is not supported
by EFL WK2 fully yet as well as not fully supported by Intel and AMD hardware.

  • platform/efl-wk2/TestExpectations:
8:18 PM Changeset in webkit [159396] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html is extremely flaky on Mac WK2 bots, especially debug
https://bugs.webkit.org/show_bug.cgi?id=124476

  • platform/mac-wk2/TestExpectations:

Mark test as flaky.

6:10 PM Changeset in webkit [159395] by fpizlo@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

Simplify WatchpointSet state tracking
https://bugs.webkit.org/show_bug.cgi?id=124465

Reviewed by Sam Weinig.

We previously represented the state of watchpoint sets using two booleans. But that
makes it awkward to case over the state.

We also previously supported a watchpoint set being both watched and invalidated. We
never used that capability, and its presence was just purely confusing.

This turns the whole thing into an enum.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::branch8):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::branch8):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::branch8):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::branch8):

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):
(JSC::InlineWatchpointSet::inflateSlow):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::state):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::startWatching):
(JSC::WatchpointSet::notifyWrite):
(JSC::WatchpointSet::addressOfState):
(JSC::InlineWatchpointSet::InlineWatchpointSet):
(JSC::InlineWatchpointSet::hasBeenInvalidated):
(JSC::InlineWatchpointSet::startWatching):
(JSC::InlineWatchpointSet::notifyWrite):
(JSC::InlineWatchpointSet::decodeState):
(JSC::InlineWatchpointSet::encodeState):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitVarInjectionCheck):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitVarInjectionCheck):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):

  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::JSFunction):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::attemptToWatch):

  • runtime/SymbolTable.h:
5:46 PM Changeset in webkit [159394] by fpizlo@apple.com
  • 39 edits
    9 adds
    2 deletes in trunk

FTL should have an explicit notion of bytecode liveness
https://bugs.webkit.org/show_bug.cgi?id=124181

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This makes FTL OSR exit use bytecode liveness analysis to determine which variables
to include values for. The decision of how to get the values of variables is based on
forward propagation of MovHints and SetLocals.

This fixes a bunch of bugs (like https://bugs.webkit.org/show_bug.cgi?id=124138 but
also others that I noticed when I started writing more targetted tests) and allows us
to remove some sketchy code.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeBasicBlock.h:
  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::isValidRegisterForLiveness):
(JSC::setForOperand):
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
(JSC::stepOverInstruction):
(JSC::computeLocalLivenessForBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::runLivenessFixpoint):
(JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset):
(JSC::getLivenessInfo):
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):

  • bytecode/BytecodeLivenessAnalysis.h:
  • bytecode/BytecodeLivenessAnalysisInlines.h: Added.

(JSC::operandIsAlwaysLive):
(JSC::operandThatIsNotAlwaysLiveIsLive):
(JSC::operandIsLive):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::captureCount):
(JSC::CodeBlock::captureStart):
(JSC::CodeBlock::captureEnd):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dumpInContext):

  • bytecode/FullBytecodeLiveness.h: Added.

(JSC::FullBytecodeLiveness::FullBytecodeLiveness):
(JSC::FullBytecodeLiveness::getOut):
(JSC::FullBytecodeLiveness::operandIsLive):
(JSC::FullBytecodeLiveness::getLiveness):

  • dfg/DFGAvailability.cpp: Added.

(JSC::DFG::Availability::dump):
(JSC::DFG::Availability::dumpInContext):

  • dfg/DFGAvailability.h: Added.

(JSC::DFG::Availability::Availability):
(JSC::DFG::Availability::unavailable):
(JSC::DFG::Availability::withFlush):
(JSC::DFG::Availability::withNode):
(JSC::DFG::Availability::withUnavailableNode):
(JSC::DFG::Availability::nodeIsUndecided):
(JSC::DFG::Availability::nodeIsUnavailable):
(JSC::DFG::Availability::hasNode):
(JSC::DFG::Availability::node):
(JSC::DFG::Availability::flushedAt):
(JSC::DFG::Availability::operator!):
(JSC::DFG::Availability::operator==):
(JSC::DFG::Availability::merge):
(JSC::DFG::Availability::mergeNodes):
(JSC::DFG::Availability::unavailableMarker):

  • dfg/DFGBasicBlock.h:
  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::Disassembler):

  • dfg/DFGFlushFormat.cpp:

(WTF::printInternal):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::resultFor):
(JSC::DFG::useKindFor):
(JSC::DFG::dataFormatFor):

  • dfg/DFGFlushedAt.cpp:

(JSC::DFG::FlushedAt::dump):

  • dfg/DFGFlushedAt.h:

(JSC::DFG::FlushedAt::FlushedAt):
(JSC::DFG::FlushedAt::merge):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::livenessFor):
(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::baselineCodeBlockFor):

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):

  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGResurrectionForValidationPhase.cpp: Added.

(JSC::DFG::ResurrectionForValidationPhase::ResurrectionForValidationPhase):
(JSC::DFG::ResurrectionForValidationPhase::run):
(JSC::DFG::performResurrectionForValidation):

  • dfg/DFGResurrectionForValidationPhase.h: Added.
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValueSource.h:

(JSC::DFG::ValueSource::forFlushFormat):

  • dfg/DFGVariableAccessData.h:
  • ftl/FTLExitValue.cpp:

(JSC::FTL::ExitValue::dumpInContext):

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfGetById):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::gpr):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::directGPR):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileZombieHint):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):
(JSC::FTL::LowerDFGToLLVM::observeMovHint):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::alloca):

  • ftl/FTLValueSource.cpp: Removed.
  • ftl/FTLValueSource.h: Removed.
  • llvm/LLVMAPIFunctions.h:
  • runtime/DumpContext.cpp:

(JSC::DumpContext::DumpContext):

  • runtime/DumpContext.h:
  • runtime/Options.h:
  • runtime/SymbolTable.h:

(JSC::SharedSymbolTable::captureStart):
(JSC::SharedSymbolTable::captureEnd):
(JSC::SharedSymbolTable::captureCount):

Tools:

Reviewed by Mark Hahnenberg.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

Reviewed by Mark Hahnenberg or Sam Weinig.

I totally added this test after the rest of the patch was r+'d. Under the right tier-up
modes this triggers one of the bugs that the rest of the patch is trying to avoid.

  • js/regress/script-tests/weird-inlining-const-prop.js: Added.

(foo):
(bar):
(fuzz):
(testImpl):
(test):

  • js/regress/weird-inlining-const-prop-expected.txt: Added.
  • js/regress/weird-inlining-const-prop.html: Added.
5:18 PM Changeset in webkit [159393] by ap@apple.com
  • 4 edits
    2 adds in trunk

RSASSA-PKCS1-v1_5 JWK import doesn't check key size
https://bugs.webkit.org/show_bug.cgi?id=124472

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Added the checks.
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Check key size when
importing.
(WebCore::JSCryptoKeySerializationJWK::serialize): Updated a comment.

  • crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):

Updated a comment.

LayoutTests:

  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key-expected.txt: Added.
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html: Added.
5:17 PM Changeset in webkit [159392] by ap@apple.com
  • 6 edits in trunk

JWK crypto key export result is a DOM string instead of an array buffer
https://bugs.webkit.org/show_bug.cgi?id=124473

Reviewed by Sam Weinig.

Source/WebCore:

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

Fix it.

LayoutTests:

  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/hmac-export-key.html:
  • crypto/subtle/resources/common.js: (bytesToASCIIString): Added a function that

converts an ArrayBuffer to a string, assuming it's all ASCII.

5:12 PM Changeset in webkit [159391] by weinig@apple.com
  • 20 edits in trunk/Source/WebCore

LayoutStateMaintainer should use references where possible
https://bugs.webkit.org/show_bug.cgi?id=124471

Reviewed by Dan Bernstein.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::simplifiedLayout):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layout):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::pushFlowThreadLayoutState):

  • rendering/RenderFlowThread.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::layout):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::layout):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):

  • rendering/RenderView.h:

(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
(WebCore::LayoutStateMaintainer::pop):

1:41 PM Changeset in webkit [159390] by ap@apple.com
  • 32 edits in trunk/Source

Use uint8_t vectors for WebCrypto data
https://bugs.webkit.org/show_bug.cgi?id=124466

Reviewed by Sam Weinig.

Source/WebCore:

Using Vector<char> for crypto key data is somewhat non-idiomatic, and it gets simply
dangerous for bignums, because signed arithmetic is not appropriate for bignum digits.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::generateSecWebSocketKey):
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
No longer need to cast data to char* here.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:
  • bindings/js/JSCryptoKeySerializationJWK.h:
  • crypto/CryptoDigest.h:
  • crypto/CryptoKey.h:
  • crypto/keys/CryptoKeyAES.cpp:
  • crypto/keys/CryptoKeyAES.h:
  • crypto/keys/CryptoKeyDataOctetSequence.h:
  • crypto/keys/CryptoKeyDataRSAComponents.cpp:
  • crypto/keys/CryptoKeyDataRSAComponents.h:
  • crypto/keys/CryptoKeyHMAC.cpp:
  • crypto/keys/CryptoKeyHMAC.h:
  • crypto/keys/CryptoKeyRSA.h:
  • crypto/keys/CryptoKeySerializationRaw.cpp:
  • crypto/keys/CryptoKeySerializationRaw.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
  • crypto/mac/CryptoAlgorithmHMACMac.cpp:
  • crypto/mac/CryptoDigestMac.cpp:
  • crypto/mac/CryptoKeyMac.cpp:
  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

Switched to Vector<uint8_t>.

  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::getPublicKeyComponents): Extracted from buildAlgorithmDescription() and simplified.
(WebCore::CryptoKeyRSA::create): Switched to Vector<uint8_t>.
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): No longer need to copy data just
to change type from Vector<char> to Vector<unsigned char>.
(WebCore::bigIntegerToUInt32): Ditto. No longer need to cast types when dealing with the bignum.
(WebCore::CryptoKeyRSA::generatePair): Improved an error message a little.

  • fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::convertToDataURL):
  • inspector/DOMPatchSupport.cpp: (WebCore::DOMPatchSupport::createDigest):
  • inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::archive):
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::CGImageToDataURL):

No longer need to cast data to char* here.

Source/WTF:

Binary data can be UTF-8, in which case "char*" is idiomatic, or it can be arbitrary
binary data, in which case "uint8_t*" is more common.

Changed encode functions that took "const char *" to "const void*", and decode
functions that took "Vector<char>&" now take an adapter class.

The adapter relies on Vector<char> and Vector<uint8_t> classes having an identical layout.

  • wtf/text/Base64.cpp:

(WTF::base64Encode):
(WTF::base64URLEncode):
(WTF::base64DecodeInternal):
(WTF::base64Decode):
(WTF::base64URLDecode):

  • wtf/text/Base64.h:

(WTF::SignedOrUnsignedCharVectorAdapter):
(WTF::ConstSignedOrUnsignedCharVectorAdapter):
(WTF::base64Encode):
(WTF::base64URLEncode):

1:37 PM Changeset in webkit [159389] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r158774): Iteration over element children is broken
https://bugs.webkit.org/show_bug.cgi?id=124145

Source/WebCore:

Reviewed by Anders Carlsson.

Mutation during traversal invalidates the position cache. After the mid-point we start
traversing backwards as it the shortest path. However backward traversal of children-only
HTMLCollection was wrong and would end up going to descendants.

Reduction by yannick.poirier@inverto.tv.

Test: fast/dom/htmlcollection-children-mutation.html

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::collectionTraverseBackward):

Traverse direct children only when m_shouldOnlyIncludeDirectChildren bit is set.

LayoutTests:

Reviewed by Anders Carlsson.

  • fast/dom/htmlcollection-children-mutation-expected.txt: Added.
  • fast/dom/htmlcollection-children-mutation.html: Added.
1:00 PM Changeset in webkit [159388] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the EFL build.

  • UIProcess/efl/PagePolicyClientEfl.cpp:

(WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call
WKFrameCanShowMIMEType now that this information is passed in as a parameter.

12:30 PM Changeset in webkit [159387] by mitz@apple.com
  • 19 edits in trunk

No way for policy client to determine if a the response’s MIME type can be shown
https://bugs.webkit.org/show_bug.cgi?id=124445

Reviewed by Sam Weinig.

Source/WebKit2:

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction): Added a fifth message parameter to this template.

  • UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to

WKPageDecidePolicyForResponseCallback and deprecated the old version.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key
in the action information dictionary.

  • UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared

WKActionCanShowMIMETypeKey.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is
passed to the policy client.
(WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which
is passed to the above function.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to

DecidePolicyForResponseSync.

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which
is passed to the client callback.

  • UIProcess/WebPolicyClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response
MIME type can be shown and pass this information along in the message to the UI process.

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(decidePolicyForResponse): Added canShowMIMEType parameter.
(-[WK2BrowserWindowController awakeFromNib]): Updated for changes in the policy client.

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:

(TestWebKitAPI::decidePolicyForResponse): Added canShowMIMEType parameter.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Updated for changes in the policy client.
(WTR::TestController::decidePolicyForResponse): Added canShowMIMEType parameter.

  • WebKitTestRunner/TestController.h:
10:25 AM Changeset in webkit [159386] by zoltan@webkit.org
  • 4 edits
    1 move in trunk/Source/WebCore

Move LineLayoutState.h into rendering/line
<https://webkit.org/b/124458>

Reviewed by Mihnea Ovidenie.

LineLayoutState is a helper class of RenderBlockLineLayout, so I'm moving it into line subdirectory.

No new tests, no behavior change.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/line/LineLayoutState.h: Renamed from Source/WebCore/rendering/LineLayoutState.h.

(WebCore::FloatWithRect::FloatWithRect):
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::lineInfo):
(WebCore::LineLayoutState::endLineLogicalTop):
(WebCore::LineLayoutState::setEndLineLogicalTop):
(WebCore::LineLayoutState::endLine):
(WebCore::LineLayoutState::setEndLine):
(WebCore::LineLayoutState::lastFloat):
(WebCore::LineLayoutState::setLastFloat):
(WebCore::LineLayoutState::floats):
(WebCore::LineLayoutState::floatIndex):
(WebCore::LineLayoutState::setFloatIndex):
(WebCore::LineLayoutState::adjustedLogicalLineTop):
(WebCore::LineLayoutState::setAdjustedLogicalLineTop):
(WebCore::LineLayoutState::flowThread):
(WebCore::LineLayoutState::setFlowThread):
(WebCore::LineLayoutState::endLineMatched):
(WebCore::LineLayoutState::setEndLineMatched):
(WebCore::LineLayoutState::checkForFloatsFromLastLine):
(WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
(WebCore::LineLayoutState::markForFullLayout):
(WebCore::LineLayoutState::isFullLayout):
(WebCore::LineLayoutState::usesRepaintBounds):
(WebCore::LineLayoutState::setRepaintRange):
(WebCore::LineLayoutState::updateRepaintRangeFromBox):

9:29 AM Changeset in webkit [159385] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Simple line path does not respect visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=124467

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/text-visibility.html

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

  • fast/text/text-visibility-expected.html: Added.
  • fast/text/text-visibility.html: Added.
Note: See TracTimeline for information about the timeline view.