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

Timeline



Nov 12, 2014:

11:59 PM Changeset in webkit [176068] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Skip more test failing after r175776.

  • platform/gtk/TestExpectations:
11:36 PM Changeset in webkit [176067] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175268. rdar://problems/18883890

11:07 PM Changeset in webkit [176066] by ryuan.choi@navercorp.com
  • 5 edits in trunk/Source

[EFL] Fix the build with EFL 1.12
​https://bugs.webkit.org/show_bug.cgi?id=138245

Reviewed by Gyuyoung Kim.

Source/WebKit2:

  • UIProcess/API/efl/EwkView.cpp:

First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because
Evas_GL.h can't be included in UniquePtrEfl.h
It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL.
Second, provided the version of GLES in Evas_GL_Config not to break build with
EFL 1.12
(EwkView::EwkView):
(EwkView::~EwkView):
(EwkView::displayTimerFired):
(EwkView::createGLSurface):

  • UIProcess/API/efl/EwkView.h:

Source/WTF:

  • wtf/efl/UniquePtrEfl.h:

Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
it should not be included with official GL headers.

7:28 PM Changeset in webkit [176065] by Chris Dumez
  • 12 edits in trunk/Source

Have DOMTimer deal with more ScriptExecutionContext references
​https://bugs.webkit.org/show_bug.cgi?id=138679

Reviewed by Andreas Kling.

Source/WebCore:

Have DOMTimer deal with more ScriptExecutionContext references instead
of pointers, to make it clear the script execution context cannot be
null.

No new tests, no behavior change.

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):
(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScheduledAction.h:
  • dom/DocumentEventQueue.cpp:
  • page/DOMTimer.cpp:

(WebCore::DOMTimerFireState::DOMTimerFireState):
(WebCore::NestedTimersMap::instanceForContext):
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::removeById):
(WebCore::DOMTimer::fired):

  • page/DOMTimer.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::clearTimeout):
(WebCore::DOMWindow::setInterval):
(WebCore::DOMWindow::clearInterval):

  • page/SuspendableTimer.cpp:

(WebCore::SuspendableTimer::SuspendableTimer):

  • page/SuspendableTimer.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::clearTimeout):
(WebCore::WorkerGlobalScope::setInterval):
(WebCore::WorkerGlobalScope::clearInterval):

Source/WebKit/win:

Update WindowCloseTimer to deal with ScriptExecutionContext references
instead of pointers as it subclasses SuspendableTimer and its
constructor takes a ScriptExecutionContext& in argument.

  • WebView.cpp:

(WindowCloseTimer::create):
(WindowCloseTimer::WindowCloseTimer):

7:19 PM Changeset in webkit [176064] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176047. rdar://problems/18785434

7:19 PM Changeset in webkit [176063] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176041. rdar://problems/18785434

6:52 PM Changeset in webkit [176062] by matthew_hanson@apple.com
  • 9 edits in branches/safari-600.3-branch/Source

Merged r175966. rdar://problems/18866308

6:31 PM Changeset in webkit [176061] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176038. rdar://problems/18960409

6:31 PM Changeset in webkit [176060] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Merged r176037. rdar://problems/18869900

6:30 PM Changeset in webkit [176059] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176027. rdar://problems/18909111

6:30 PM Changeset in webkit [176058] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r175992. rdar://problems/18741567

6:11 PM Changeset in webkit [176057] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175985. rdar://problems/18947400

6:11 PM Changeset in webkit [176056] by matthew_hanson@apple.com
  • 3 edits
    1 delete in branches/safari-600.3-branch/Source/WebKit2

Merged r175983. rdar://problems/18871984

6:11 PM Changeset in webkit [176055] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175973. rdar://problems/18855914

6:11 PM Changeset in webkit [176054] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175969. rdar://problems/18932770

5:58 PM Changeset in webkit [176053] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r175964. rdar://problems/18867627

5:52 PM Changeset in webkit [176052] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r175963. rdar://problems/18932770

5:45 PM Changeset in webkit [176051] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r175962. rdar://problem/18815343

5:23 PM Changeset in webkit [176050] by dino@apple.com
  • 12 edits
    4 adds in trunk

Support unprefixed animation property names
​https://bugs.webkit.org/show_bug.cgi?id=138678
<rdar://problem/18943059>

Reviewed by Simon Fraser.

Source/WebCore:

Step 1 of 3 in unprefixing CSS animations: handling the
property names and values.

Unlike other unprefixing, where we use an alias that
effectively removes the prefixed values from the code,
for animations we need to keep the old values around so that
existing content will not break (e.g. computed style).

During testing I noticed that we didn't handle the
(relatively) new animation-direction values of
"reverse" and "alternate-reverse" when querying
computed style.

Tests: animations/unprefixed-properties.html

animations/unprefixed-shorthand.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Handle the unprefixed
values, but also get animation direction to produce the correct
results when "reverse" and "alternate-reverse" is specified.

  • css/CSSParser.cpp: Handle the new values. If necessary, pass a flag

around indicating whether it is prefixed or unprefixed.
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationShorthand): Use the flag to decide
which of the forms we're going to check.
(WebCore::CSSParser::parseAnimationProperty):

  • css/CSSParser.h:
  • css/CSSProperty.h:

(WebCore::prefixingVariantForPropertyId): Add prefixing/unprefixing variants for
all the animation values, and clean up the code a bit.

  • css/CSSPropertyNames.in: Add new properties.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): We need handlers for the
unprefixed forms. This should move to the new StyleBuilder soon.

  • css/StyleProperties.cpp: Handle new values.

(WebCore::StyleProperties::getPropertyValue):
(WebCore::StyleProperties::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::animationShorthand):
(WebCore::animationShorthandForParsing): Decide which list of properties to use.
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
(WebCore::webkitAnimationShorthandForParsing): Deleted.

  • css/StylePropertyShorthand.h:
  • css/StyleResolver.cpp: Since the new properties come before "background" in

alphabetical order, they are earlier in the CSSPropertyNames.in file, and thus
we need to update the call sites that think CSSPropertyBackground is the first
property.
(WebCore::StyleResolver::styleForKeyframe): Replace CSSPropertyBackground with CSSPropertyAnimation.
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Tests for unprefixed parsing and calculation of animation
properties. Fun fact, this is the first test we have
for the computed style of all animation-direction values.

  • animations/unprefixed-properties-expected.txt: Added.
  • animations/unprefixed-properties.html: Added.
  • animations/unprefixed-shorthand-expected.txt: Added.
  • animations/unprefixed-shorthand.html: Added.
4:27 PM Changeset in webkit [176049] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Reduce work when activating multiple agents sequentially
​https://bugs.webkit.org/show_bug.cgi?id=138677

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-12
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.activateExtraDomains):

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype._extraDomainsActivated):

  • UserInterface/Controllers/StorageManager.js:

(WebInspector.StorageManager.prototype._extraDomainsActivated):

3:51 PM Changeset in webkit [176048] by ap@apple.com
  • 10 edits
    8 copies
    1 add in trunk/LayoutTests

<rdar://problem/15864185> Syrah: platform/mac/editing/attributed-string tests are failing

Land Yosemite results, and remove the tests from TestExpectations.

  • platform/mac-mavericks/platform/mac/editing/attributed-string: Added.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/anchor-element-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/anchor-element-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/basic-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/basic-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-size-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-size-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-weight-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-weight-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/letter-spacing-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/text-decorations-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/text-decorations-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/vertical-align-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/vertical-align-expected.txt.
  • platform/mac/editing/attributed-string/anchor-element-expected.txt:
  • platform/mac/editing/attributed-string/basic-expected.txt:
  • platform/mac/editing/attributed-string/font-size-expected.txt:
  • platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac/editing/attributed-string/font-weight-expected.txt:
  • platform/mac/editing/attributed-string/letter-spacing-expected.txt:
  • platform/mac/editing/attributed-string/text-decorations-expected.txt:
  • platform/mac/editing/attributed-string/vertical-align-expected.txt:
  • platform/mac/TestExpectations:
3:46 PM Changeset in webkit [176047] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • WebCore.exp.in:
3:33 PM Changeset in webkit [176046] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Make Mac media-source test expectations future compatible
​https://bugs.webkit.org/show_bug.cgi?id=138674

Roll it out, it somehow broke Mountain Liona and Mavericks.

  • platform/mac/TestExpectations:
3:25 PM Changeset in webkit [176045] by adachan@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pageMutedStateDidChange):

3:24 PM Changeset in webkit [176044] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • platform/spi/mac/DataDetectorsSPI.h:

It's likely that more of this file should be compiled out on iOS,
but this is all we need to build.

3:22 PM Changeset in webkit [176043] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

media/video-play-pause-exception.html is flakey.
​https://bugs.webkit.org/show_bug.cgi?id=138670

Reviewed by Alexey Proskuryakov.

Work around race-condition behavior in HTMLMediaElement's resource selection algorithm.

  • media/video-play-pause-exception.html:
2:55 PM Changeset in webkit [176042] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Make Mac media-source test expectations future compatible
​https://bugs.webkit.org/show_bug.cgi?id=138674

Reviewed by Eric Carlson.

  • platform/mac/TestExpectations:
2:52 PM Changeset in webkit [176041] by Beth Dakin
  • 6 edits in trunk/Source

WK1: Support default actions for images
​https://bugs.webkit.org/show_bug.cgi?id=138668
-and corresponding-
rdar://problem/18785434

Reviewed by Tim Horton.

Source/WebCore:

Symbol needed for copying image.

  • WebCore.exp.in:

Source/WebKit/mac:

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController didCloseMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForImage:]):
(-[WebActionMenuController _copyImage:]):
(temporaryPhotosDirectoryPath):
(pathToPhotoOnDisk):
(-[WebActionMenuController _canAddMediaToPhotos]):
(-[WebActionMenuController _addImageToPhotos:]):
(-[WebActionMenuController _saveImageToDownloads:]):
(-[WebActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
(-[WebActionMenuController sharingServicePicker:delegateForSharingService:]):
(-[WebActionMenuController sharingService:sourceWindowForShareItems:sharingContentScope:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

  • WebView/WebUIDelegatePrivate.h:
2:39 PM Changeset in webkit [176040] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Flaky Test: media/video-ended-event-slow-motion-playback.html
​https://bugs.webkit.org/show_bug.cgi?id=136755

Reviewed by Jer Noble.

  • media/video-ended-event-slow-motion-playback.html: The test verifies that playback

rate doesn't get rounded down to 0, and that is very easy to detect, no need for
flaky timeouts.

  • platform/mac/TestExpectations: Remove the flakiness expectation. Also while at it,

updated media/video-playbackrate.html to match what the bots actually see.

2:12 PM Changeset in webkit [176039] by adachan@apple.com
  • 20 edits
    3 adds in trunk

Implement new plug-in API for muting plug-ins
​https://bugs.webkit.org/show_bug.cgi?id=138105

Reviewed by Anders Carlsson.

Source/WebCore:

Add the new NPNVmuteAudioBool NPNVariable.

Test: platform/mac-wk2/plugins/muted-state.html

  • plugins/npapi.h:

Source/WebKit2:

Handle the setting of NPNVmuteAudioBool on the plug-in.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::PluginControllerProxy):
Initialize m_isMuted.
(WebKit::PluginControllerProxy::mutedStateChanged):
Tell the plugin about the new muted state.

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in:

Add the MutedStateChanged message.

  • PluginProcess/PluginCreationParameters.cpp:

(WebKit::PluginCreationParameters::PluginCreationParameters):
Initialize isMuted.
(WebKit::PluginCreationParameters::encode):
Handle isMuted.
(WebKit::PluginCreationParameters::decode):
Ditto.

  • PluginProcess/PluginCreationParameters.h:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):
Get the plug-in's muted state.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::isMuted):
Get the muted state from PluginControllerProxy.
(WebKit::NetscapePlugin::mutedStateChanged):
Call NPP_SetValue with NPNVmuteAudioBool and the updated muted state.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::mutedStateChanged):

  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::initialize):
Set m_pendingPluginCreationParameters->isMuted.
(WebKit::PluginProxy::mutedStateChanged):
Send the MutedStateChanged message to the plugin process.

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pageMutedStateDidChange):
Call Plugin::mutedStateChanged() with the page's muted state.
(WebKit::PluginView::isMuted):
Get the page's current muted state.

  • WebProcess/Plugins/PluginView.h:

Tools:

Add a new plug-in test for the mute API.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/TestNetscapePlugIn/Tests/mac/SetMuted.cpp: Added.

(SetMuted::SetMuted):
(SetMuted::isMuted):
(SetMuted::cachedIsMuted):
(SetMuted::ScriptableObject::hasProperty):
(SetMuted::ScriptableObject::getProperty):
(SetMuted::ScriptableObject::pluginTest):
(SetMuted::NPP_New):
(SetMuted::NPP_GetValue):
(SetMuted::NPP_SetValue):

LayoutTests:

  • platform/mac-wk2/plugins/muted-state-expected.txt: Added.
  • platform/mac-wk2/plugins/muted-state.html: Added.
1:55 PM Changeset in webkit [176038] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Two action menu item titles are swapped
​https://bugs.webkit.org/show_bug.cgi?id=138667
<rdar://problem/18960409>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createActionMenuItemForTag:]):
Swap them back.

1:50 PM Changeset in webkit [176037] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Need to show the text indicator when Data Detectors shows a popover
​https://bugs.webkit.org/show_bug.cgi?id=138664
<rdar://problem/18869900>

Reviewed by Beth Dakin.

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

(hasDataDetectorsCompletionAPI):
Determine if we have the new API.

(-[WKActionMenuController willDestroyView:]):
(-[WKActionMenuController willOpenMenu:withEvent:]):
Make use of the new API.
If we wanted to show a Data Detectors menu but have no items (or they're all
disabled), cancel the menu.
If we don't have it, manually manipulate the highlight.

(-[WKActionMenuController didCloseMenu:withEvent:]):
Make use of the new API.
If we don't have it, manually manipulate the highlight.

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Set up completion handlers if we have the new API; when DataDetectors
presents UI, show the text indicator, when it dismisses, hide it.
If we don't have the API, manually manipulate the highlight.

  • platform/spi/mac/DataDetectorsSPI.h:

Add new DataDetectors SPI.

1:48 PM Changeset in webkit [176036] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Unreviewed, rolling out r175806.
​https://bugs.webkit.org/show_bug.cgi?id=138666

Capturing CString is not thread safe (Requested by anttik on
#webkit).

Reverted changeset:

"[WK2] Use C++ lambdas in IPC::Connection"
​https://bugs.webkit.org/show_bug.cgi?id=138018
​http://trac.webkit.org/changeset/175806

1:13 PM Changeset in webkit [176035] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Generate get_by_id for bracket access with constant string subscript.
<​https://webkit.org/b/138663>

Reviewed by Michael Saboff.

Transform of into o.f when generating bytecode. This allows our JIT
to inline-cache those accesses instead of always dropping out to C++.

This is surprisingly common in real-web content, less so in benchmarks.
Interestingly, Speedometer does hit the optimization quite a bit.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):

1:09 PM Changeset in webkit [176034] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Some platform/mac text expectation cleanup.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
12:22 PM Changeset in webkit [176033] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Mac-WK2 test expectations cleanup, part 1.

Put WK1 specific expectations into mac-wk1 (they used to be put in mac, and then
being overridden for wk2).
Remove expectations for tests that are no longer flaky.
Add more specific expectations to encient entries that were added in old format,
and just skipped indiscriminately.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:16 PM Changeset in webkit [176032] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Minor improvements to RenderListItem
​https://bugs.webkit.org/show_bug.cgi?id=138601

Reviewed by Darin Adler.

Make several minor improvements to RenderListItem and clean up the
code a bit.

No new tests, no behavior change.

  • rendering/RenderListItem.cpp:

(WebCore::isHTMLListElement):

  • Rename isList to isHTMLListElement() for clarity as it checks for HTMLOListElement and HTMLUListElement types
  • Inline the function as it is short.
  • Use is<HTML*Element>() for type checking
  • Update the argument to take a Node& instead of an Element*. This is because the argument is expected to the non-null. Also using looser typing here allows us to use this utility function is one more place, without impacting performance as hasTagName(HTMLQualifiedName) is defined on Node.

(WebCore::enclosingList):

  • Pass the argument as a reference instead of a pointer as it is expected to be non-null.
  • Initialize firstNode before the loop to avoid the if (!firstNode) check for every iteration.

(WebCore::nextListItem):

  • Take an Element as second argument instead of a RenderListItem* and provide convenience overloads so that we don't need to do null checks just because some calls sites call this function with 2 arguments and others with 1 argument. This way, we avoid unnecessary null checks as most call sites already do such checks (or have references).
  • Transform the while loop into a for loop for clarity.
  • Don't traverse an Element's subtree if the Element does not have a renderer as it is impossible of any of its descendant to have a renderer (and we are looking for a specific type of renderer).

(WebCore::previousListItem):

  • Pass the item argument as a reference instead of a pointer as it is expected to be non-null.
  • Reduce the scope of the |current| so that it is now declared inside the loop.

(WebCore::RenderListItem::updateItemValuesForOrderedList):
(WebCore::RenderListItem::itemCountForOrderedList):

  • Pass argument as a reference instead of a pointer as it was expected to be non-null (There was an assertion in place to make sure of it).

(WebCore::RenderListItem::calcValue):

  • Use is<HTMLOListElement>() instead of hasTagName().

(WebCore::getParentOfFirstLineBox):

  • Rename variables to stop using abbreviations.
  • Pass arguments as references instead of pointers as they are expected to be non-null.
  • Remove the firstChild null check before the loop as it does not change behavior. The loop will abort early if firstChild is null and we will end up returning nullptr as well.
  • Use is<>() more for type checking.
  • Reuse the isHTMLListElement() utility function instead of duplicating its code inside this function.

(WebCore::firstNonMarkerChild):

  • Pass argument as a reference as it is expected to be non-null.
  • Rename variable from result to child for clarity, as we are traversing the children.

(WebCore::RenderListItem::markerTextWithSuffix):

  • Use String appending instead of StringBuilder as it simplifies the code a lot and should not impact performance in this case.

(WebCore::RenderListItem::explicitValueChanged):

  • Restructure the code a bit to do the |listNode| null check before the loop, now that nextListItem() takes a reference in argument. This is the only call site where we didn't already know that listNode is non-null.

(WebCore::previousOrNextItem):

  • Mark this function as inline as it is short and called repeatedly.
12:09 PM Changeset in webkit [176031] by mark.lam@apple.com
  • 21 edits in trunk/Source

Rename USE(MASM_PROBE) to ENABLE(MASM_PROBE).
<​https://webkit.org/b/138661>

Reviewed by Michael Saboff.

Also move the switch for enabling the use of MASM_PROBE from JavaScriptCore's
config.h to WTF's Platform.h. This ensures that the setting is consistently
applied even when building WebCore parts as well.

Source/JavaScriptCore:

  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/MacroAssemblerARM.cpp:
  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARMv7.cpp:
  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerX86.h:
  • assembler/MacroAssemblerX86Common.cpp:
  • assembler/MacroAssemblerX86Common.h:
  • assembler/MacroAssemblerX86_64.h:
  • assembler/X86Assembler.h:
  • config.h:
  • jit/JITStubs.h:
  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
  • jit/JITStubsX86.h:
  • jit/JITStubsX86Common.h:
  • jit/JITStubsX86_64.h:

Source/WTF:

  • wtf/Platform.h:
12:07 PM Changeset in webkit [176030] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Speed up HTMLTextFormControlElement::setInnerTextValue() a bit
​https://bugs.webkit.org/show_bug.cgi?id=138619

Reviewed by Darin Adler.

Speed up HTMLTextFormControlElement::setInnerTextValue() a bit by:

  • Not doing a virtual isTextFormControl() call. Relying on innerTextElement() not returning null is sufficient.
  • Caching the result of innerTextElement() instead of repeatedly calling that virtual function.
  • De-virtualizing setFormControlValueMatchesRenderer() / formControlValueMatchesRenderer() as these are never overridden.
  • Moving the code constructing the innerTextValue from a TextControlInnerTextElement from innerTextValue() to a new innerTextValueFrom(TextControlInnerTextElement&) function and call this new function from setInnerTextValue() to avoid calling innerTextElement() again and making sure it is non-null
  • Do the tree traversal from innerTextElement's firstChild instead of from innerTextElement. The innerTextElement is a TextControlInnerTextElement. Therefore, it cannot be an HTMLBRElement or a Text node.

No new tests, no behavior change.

  • html/HTMLFormControlElement.h:

(WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
(WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::stripTrailingNewline):
(WebCore::innerTextValueFrom):
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
(WebCore::finishText): Deleted.

11:34 AM Changeset in webkit [176029] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Remove expectations for a couple tests that were marked as flaky on WK1 only,
as they don't appear to be flaky any more.

  • platform/mac-wk1/TestExpectations:
11:08 AM Changeset in webkit [176028] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Some WebKit1-only Yosemite-only failures don't appear to exist any more.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:

Unmark the tests.

11:06 AM Changeset in webkit [176027] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Make action menus much more reliable
​https://bugs.webkit.org/show_bug.cgi?id=138654
<rdar://problem/18909111>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Remove MenuUpdateStage; nothing actually uses this value, we just pass it around.

(-[WKActionMenuController didPerformActionMenuHitTest:userData:]):
Update the menu as soon as we have a reply from the Web process.

(-[WKActionMenuController menuNeedsUpdate:]):
If our sync-wait for the Web process' reply times out, we should still update
the menu to remove the placeholder separator item.

(-[WKActionMenuController _updateActionMenuItems]):
(-[WKActionMenuController _updateActionMenuItemsForStage:]): Deleted.
If we have our final answer for this menu (_state == Ready), and the final answer
has no items in the menu, cancel tracking on the menu.

10:59 AM Changeset in webkit [176026] by ap@apple.com
  • 3 edits in trunk/LayoutTests

A number of hidpi tests don't appear to fail on Yosemite now, let's try unmarking them.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:41 AM Changeset in webkit [176025] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Instead of blacklisting tests for OS X versions that use PPT for testing,
whitelist MountainLion that doesn't. That's more future compatible.

  • platform/mac-wk2/TestExpectations:
10:40 AM Changeset in webkit [176024] by jer.noble@apple.com
  • 5 edits in trunk

[Mac] media/track/audio-track.html is flakey
​https://bugs.webkit.org/show_bug.cgi?id=138394

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The above test fails if the HTMLMediaElement's "canplaythrough" event fires before the AudioTrackList's
"addtrack" event fires. This can happen because each object keeps its own GenericEventQueue, which
empties when that individual queue's timer fires. So events can be enqueued in the following order:
1, A, 2, B, 3, C; but fired in a different order: 1, 2, 3, A, B, C.

Make events enqueued in GenericEventQueues globally ordered, so that events are fired in the order
which they are enqueued, regardless of which object owns the queue. Use a static queue of
GenericEventQueues to manage which GenericEventQueue fires and in what order.

GenericEventQueues will use a WeakPtrFactory to cancel pending events. Revoking a GenericEventQueue's
weak pointers means those queue's entries will be skipped the next time the meta-queue is processed.

  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::GenericEventQueue): Create a WeakPtrFactory instead of a Timer.
(WebCore::GenericEventQueue::enqueueEvent): Enqueue this queue with the MetaQueue.
(WebCore::GenericEventQueue::sharedTimer): Lazily-initializing accessor.
(WebCore::GenericEventQueue::sharedTimerFired): Ask each queue to dispatch one event.
(WebCore::GenericEventQueue::pendingQueues): Lazily-initializing accessor.
(WebCore::GenericEventQueue::dispatchOneEvent): Renamed from timerFired.
(WebCore::GenericEventQueue::close): Revoke all WeakPtrs.
(WebCore::GenericEventQueue::cancelAllEvents): Ditto.
(WebCore::GenericEventQueue::hasPendingEvents): Use !isEmpty().
(WebCore::GenericEventQueue::timerFired): Deleted.

  • dom/GenericEventQueue.h:

LayoutTests:

  • platform/mac/TestExpectations:
10:18 AM Changeset in webkit [176023] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix a typo in the previous commit - a test should be skipped, not its expectation.

  • platform/mac/TestExpectations:
9:46 AM Changeset in webkit [176022] by ap@apple.com
  • 2 edits
    1 move
    2 deletes in trunk/LayoutTests

compositing/video/video-border-radius.html frequently times out on Mountain Lion only
​https://bugs.webkit.org/show_bug.cgi?id=138662

Make the test a reftest again, and skip it, as nothing helps.

Also, updated all compositing/video expectations to match what bots see now.

  • compositing/video/video-border-radius-expected.html: Copied from LayoutTests/compositing/video/video-border-radius-expected.html-disabled.
  • compositing/video/video-border-radius-expected.html-disabled: Removed.
  • compositing/video/video-border-radius-expected.png: Removed.
  • compositing/video/video-border-radius-expected.txt: Removed.
  • platform/mac/TestExpectations:
9:16 AM Changeset in webkit [176021] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[WinCairo] Incorrect names for test executables in debug mode.
​https://bugs.webkit.org/show_bug.cgi?id=138659

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-11-12
Reviewed by Alex Christensen.

In debug mode, jsc.exe, and testapi.exe are not created, causing JSC test failures.

8:37 AM Changeset in webkit [176020] by Philippe Normand
  • 2 edits in trunk/Tools

Unreviewed, GTK gardening.

  • Scripts/run-gtk-tests:

(TestRunner): Skip the UserMediaBasic test because it depends on
constraints validation which is going to be fixed in bug #136449.

6:23 AM Changeset in webkit [176019] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Skip shared worker tests after r175776.

Shared workers are disabled with the Network Process.

  • platform/gtk/TestExpectations:
4:30 AM Changeset in webkit [176018] by Carlos Garcia Campos
  • 7 edits
    1 add in trunk

[GTK] Expose user script messages to GObject DOM bindings
​https://bugs.webkit.org/show_bug.cgi?id=138411

Reviewed by Philippe Normand.

Source/WebCore:

  • PlatformGTK.cmake: Add WebKitDOMCustomUnstable.h to the list of

installed headers and make a symlink for it in the DerivedSources dir.

  • bindings/gobject/WebKitDOMCustomUnstable.h: Added.
  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_dom_window_get_webkit_namespace):
(webkit_dom_user_message_handlers_namespace_get_handler):

  • bindings/scripts/CodeGeneratorGObject.pm:

(HasUnstableCustomAPI): Helper function to check if the given
class has custom unstable API.
(WriteData): Include WebKitDOMCustomUnstable.h header if the class
has API defined there.

Tools:

Add a test case to check that user script messages sent using the
DOM bindings API are also received in the UI process.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

(UserScriptMessageTest::waitUntilMessageReceived):
(UserScriptMessageTest::postMessageAndWaitUntilReceived):
(testUserContentManagerScriptMessageFromDOMBindings):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(documentLoadedCallback):

4:26 AM Changeset in webkit [176017] by Carlos Garcia Campos
  • 10 edits in trunk/Source/WebCore

[GTK] Fix how SerializedScriptValue is exposed to GObject DOM bindings
​https://bugs.webkit.org/show_bug.cgi?id=138409

Reviewed by Philippe Normand.

It's currently exposed as a WebKitDOMSerializedScriptValue class
that doesn't really exist. It should be handled as a string, that
is used to create a SerializedScriptValue when coming from the
API, and converted to a string again when returned to the API.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetGlibTypeName): Return gchar* as glib type of SerializedScriptValue.
(IsGDOMClassType): Don't consider SerializedScriptValue as a GDOM class.
(GenerateFunction): Handle SerializedScriptValue parameters and
return values specially.

  • bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:

(webkit_dom_test_callback_callback_with_serialized_script_value_param):

  • bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_serialized_value):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:

(webkit_dom_test_serialized_script_value_interface_class_init):
(webkit_dom_test_serialized_script_value_interface_get_value):
(webkit_dom_test_serialized_script_value_interface_set_value):
(webkit_dom_test_serialized_script_value_interface_get_readonly_value):
(webkit_dom_test_serialized_script_value_interface_get_cached_value):
(webkit_dom_test_serialized_script_value_interface_set_cached_value):
(webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):

  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:

(webkit_dom_test_typedefs_class_init):
(webkit_dom_test_typedefs_get_immutable_serialized_script_value):
(webkit_dom_test_typedefs_set_immutable_serialized_script_value):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
4:13 AM Changeset in webkit [176016] by Carlos Garcia Campos
  • 5 edits
    2 moves in trunk/Source

[GTK] Move RedirectedXCompositeWindow from platform to WebKit2 layer
​https://bugs.webkit.org/show_bug.cgi?id=138093

Reviewed by Martin Robinson.

Source/WebCore:

Remove RedirectedXCompositeWindow.

  • PlatformGTK.cmake:

Source/WebKit2:

It's only used by WebKitWebViewBase. While moving the code the
following cleanups have been made:

  • Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
  • Use a helper class XDamageNotifier to handle the XDamage events filtering and notification.
  • Use std::function instead of pointer to function for the damage callback.
  • Pass the X display to the RedirectedXCompositeWindow constructor and keep it as a member to use it everywhere, instead of using the default display in some places and the widget display in others.
  • Pass the damage notify function as a contructor parameter of RedirectedXCompositeWindow instead of setting the callback right after creating the object.
  • Remove GLContextNeeded and all the dead code related to the CreateGLContext mode that is no longer used.
  • Rename cairoSurfaceForWidget() as surface().
  • windowId() has been renamed as windowID() and made const.
  • Use std::unique_ptr instead of PassOwnPtr.
  • Fix coding style issues.
  • PlatformGTK.cmake:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):
(webkitWebViewRenderAcceleratedCompositingResults):
(webkitWebViewBaseCreateWebPage):
(redirectedWindowDamagedCallback): Deleted.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.cpp.

(WebKit::XDamageNotifier::XDamageNotifier):
(WebKit::XDamageNotifier::add):
(WebKit::XDamageNotifier::remove):
(WebKit::XDamageNotifier::filterXDamageEvent):
(WebKit::XDamageNotifier::filterXEvent):
(WebKit::xDamageNotifier):
(WebKit::supportsXDamageAndXComposite):
(WebKit::RedirectedXCompositeWindow::create):
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::resize):
(WebKit::RedirectedXCompositeWindow::cleanupPixmapAndPixmapSurface):
(WebKit::RedirectedXCompositeWindow::surface):

  • UIProcess/gtk/RedirectedXCompositeWindow.h: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h.

(WebKit::RedirectedXCompositeWindow::windowID):

3:25 AM Changeset in webkit [176015] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ clean build after r175930.

Partial rollout of r175930 to not build the new unit test that
broke clean builds in GTK+ port.

  • TestWebKitAPI/PlatformGTK.cmake:
12:51 AM Changeset in webkit [176014] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175974 - Protect Document in ProcessingInstruction::setXSLStyleSheet()
<​http://webkit.org/b/138621>

Reviewed by Andreas Kling.

The patch is inspired by the following Blink revision by
<​tasak@google.com>:
<​https://src.chromium.org/viewvc/blink?view=rev&revision=182309>

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setXSLStyleSheet):

12:49 AM Changeset in webkit [176013] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.3

WebKitGTK+ 2.6.3

12:39 AM Changeset in webkit [176012] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.6.3 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.3.
12:25 AM Changeset in webkit [176011] by Philippe Normand
  • 37 edits
    32 adds in trunk

Patch

Nov 11, 2014:

11:59 PM Changeset in webkit [176010] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Clean up OwnPtr in RenderThemeEfl
​https://bugs.webkit.org/show_bug.cgi?id=138642

Reviewed by Zoltan Herczeg.

No new tests, no behavior change.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::applyEdjeRTLState): Clean up all remaining OwnPtr.

11:33 PM Changeset in webkit [176009] by gyuyoung.kim@samsung.com
  • 13 edits in trunk/Source/WebCore

Move Modules/websockets to std::unique_ptr
​https://bugs.webkit.org/show_bug.cgi?id=138649

Reviewed by Chris Dumez.

Remove create() factory function and use std::make_unique<>, std::unique_ptr<>
instead of OwnPtr, PassOwnPtr.
However didReceiveBinaryData() is still using PassOwnPtr. It should be replaced
with std::unique_ptr<>

No new tests, no behavior.

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WebSocket.cpp:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::connect):
(WebCore::WebSocketChannel::didFail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::enqueueTextFrame):
(WebCore::WebSocketChannel::enqueueRawFrame):
(WebCore::WebSocketChannel::enqueueBlobFrame):
(WebCore::WebSocketChannel::processOutgoingFrameQueue):
(WebCore::WebSocketChannel::sendFrame):

  • Modules/websockets/WebSocketChannel.h:
  • Modules/websockets/WebSocketDeflateFramer.cpp:

(WebCore::WebSocketDeflateFramer::createExtensionProcessor):
(WebCore::WebSocketDeflateFramer::enableDeflate):
(WebCore::WebSocketDeflateFramer::deflate):
(WebCore::WebSocketDeflateFramer::inflate):
(WebCore::WebSocketExtensionDeflateFrame::create): Deleted.

  • Modules/websockets/WebSocketDeflateFramer.h:

(WebCore::DeflateResultHolder::create): Deleted.
(WebCore::InflateResultHolder::create): Deleted.

  • Modules/websockets/WebSocketDeflater.cpp:

(WebCore::WebSocketDeflater::WebSocketDeflater):
(WebCore::WebSocketInflater::WebSocketInflater):
(WebCore::WebSocketDeflater::create): Deleted.
(WebCore::WebSocketInflater::create): Deleted.

  • Modules/websockets/WebSocketDeflater.h:
  • Modules/websockets/WebSocketExtensionDispatcher.cpp:

(WebCore::WebSocketExtensionDispatcher::addProcessor):

  • Modules/websockets/WebSocketExtensionDispatcher.h:
  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::addExtensionProcessor):

  • Modules/websockets/WebSocketHandshake.h:
10:20 PM Changeset in webkit [176008] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.9

New tag.

10:17 PM Changeset in webkit [176007] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:13 PM Changeset in webkit [176006] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r176001.

Export an additional symbol.

  • WebCore.exp.in:
10:00 PM Changeset in webkit [176005] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Change DFG to use scope operand for op_resolve_scope
​https://bugs.webkit.org/show_bug.cgi?id=138651

Reviewed by Geoffrey Garen.

Changed to use the provided scope VirtualRegister.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getScope): Changed to use an argument scope register.
(JSC::DFG::ByteCodeParser::parseBlock): Created VirtualRegister from scope operand.

9:23 PM Changeset in webkit [176004] by jinwoo7.song@samsung.com
  • 9 edits in trunk/LayoutTests

[EFL] Unreviewed EFL gardening. Rebaseline after r174535.

  • platform/efl/css3/selectors3/html/css3-modsel-61-expected.txt:
  • platform/efl/css3/selectors3/html/css3-modsel-83-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-61-expected.txt:
  • platform/efl/css3/selectors3/xhtml/css3-modsel-83-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-61-expected.txt:
  • platform/efl/css3/selectors3/xml/css3-modsel-83-expected.txt:
  • platform/efl/fast/selectors/061-expected.txt:
  • platform/efl/fast/selectors/083-expected.txt:
8:33 PM Changeset in webkit [176003] by bshafiei@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175996. rdar://problem/18949376

8:29 PM Changeset in webkit [176002] by jer.noble@apple.com
  • 15 edits in trunk/Source/WebCore

[Mac] Add diagnostic logging for per-media-engine load failures
​https://bugs.webkit.org/show_bug.cgi?id=138647

Reviewed by Eric Carlson.

Add diagnostic logging fired whenever a media engine fails to load media,
even if another engine subsequentially succeeds. Add a mechanism for retrieving
the platform-specific error code from a given engine.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey):

  • page/DiagnosticLoggingKeys.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::networkStateChanged):
(WebCore::MediaPlayer::platformErrorCode):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerEngineFailedToLoad):

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::platformErrorCode):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::platformErrorCode):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::assetErrorCode):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::assetErrorCode):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::platformErrorCode):

8:17 PM Changeset in webkit [176001] by Chris Dumez
  • 4 edits in trunk/Source

Mark more virtual functions in HTMLInputElement as final
​https://bugs.webkit.org/show_bug.cgi?id=138644

Reviewed by Andreas Kling.

Source/WebCore:

Mark more virtual functions in HTMLInputElement as final to help the
compiler optimize better.

No new tests, no behavior change.

  • html/HTMLInputElement.h:

Source/WebKit:

Export an additional symbol to fix Windows build.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
7:13 PM Changeset in webkit [176000] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source

Remove IncrementalSweeper::create()
​https://bugs.webkit.org/show_bug.cgi?id=138243

Reviewed by Filip Pizlo.

As a step to use std::unique_ptr<> and std::make_unique<>, this patch removes
IncrementalSweeper::create(), then set constructor of IncrementalSweeper to public.
Now we begins to use std::make_unique<> to create IncrementalSweeper instance.

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::setIncrementalSweeper):

  • heap/Heap.h:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::create): Deleted.

  • heap/IncrementalSweeper.h:

Source/WebCore:

No new tests, no behavior changes.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

  • platform/ios/WebSafeIncrementalSweeperIOS.h:
7:07 PM Changeset in webkit [175999] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Web Inspector: Handle activating extra agents properly after inspector has connected
​https://bugs.webkit.org/show_bug.cgi?id=138639

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-11
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Instead of having the protocol configuration directly add the extra agent
to the inspector registry, isntead go through the augmentable controller.
The controller will initialize as required if we are already connected or not,
and will add to the registry.

The functional change here is that the frontend can be notified to activate
extra agents multiple times as agents eventually become available.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::activateExtraDomain):

  • inspector/agents/InspectorAgent.h:
  • inspector/augmentable/AugmentableInspectorController.h:
  • inspector/scripts/codegen/generator_templates.py:
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:

Rebased results.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

(WebInspector.activateExtraDomains):

6:33 PM Changeset in webkit [175998] by msaboff@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Use scope register when processing op_resolve_scope in LLInt and Baseline JIT
​https://bugs.webkit.org/show_bug.cgi?id=138637

Reviewed by Mark Lam.

Filled out op_resolve_scope processing to use the scope operand to access the current
scope chain.

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

Added scope virtual register parameter to emitResolveClosure(). Added new callOperation() to
support the additional argument.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitResolveClosure):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitResolveClosure):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Added "scope" parameter to emitResolveClosure(). Passed scope register index to slow path.
Used scope virtual register instead of JSStack::ScopeChain.

5:51 PM Changeset in webkit [175997] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'border-image-*' / '-webkit-mask-box-image-*' CSS properties to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138594

Reviewed by Antti Koivisto.

Move 'border-image-*' / '-webkit-mask-box-image-*' CSS properties from
DeprecatedStyleBuilder to the new StyleBuilder using custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImageModifier::getValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::setValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInheritValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyInitialValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImageModifier::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyInheritValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyInitialValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::applyValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::getValue):
(WebCore::StyleBuilderFunctions::ApplyPropertyBorderImageModifier::setValue):

5:29 PM Changeset in webkit [175996] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Action menu hit testing is not working properly with all WK1 apps
​https://bugs.webkit.org/show_bug.cgi?id=138643
-and corresponding-
rdar://problem/18949376

Reviewed by Tim Horton.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _lookupText:]):

5:20 PM Changeset in webkit [175995] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Modernize $buildingForIPhone in CodeGeneratorObjC.pm
<​http://webkit.org/b/138640>

Reviewed by Daniel Bates.

Mac OS X is the only platform that supports NSColor, so rename
$buildingForIPhone to $shouldUseCGColor (which is actually what
the variable represents) and define it in terms of the "macosx"
platform name.

  • bindings/scripts/CodeGeneratorObjC.pm:

($buildingForIPhone): Rename to $shouldUseCGColor.
($shouldUseCGColor): False if PLATFORM_NAME is not defined,
which is the case on older Xcodes when building for Mac OS X, or
if PLATFORM_NAME is equal to "macosx". True otherwise.
(GetClassName): Switch to use new variable name.
(AddIncludesForType): Ditto.
(GenerateHeader): Remove dead code. The
$buildingForTigerOrEarlier variable was accidentally
re-introduced in r161638, but was originally removed in r127032!
(GenerateImplementation): Switch to use new variable name.

5:06 PM Changeset in webkit [175994] by ap@apple.com
  • 1 edit
    1 move
    2 adds in trunk/LayoutTests

Temporarlity turn video/video-border-radius-expected.html into a non-reftest,
hoping to get some error output from it.

  • compositing/video/video-border-radius-expected.html: Removed.
  • compositing/video/video-border-radius-expected.html-disabled: Copied from LayoutTests/compositing/video/video-border-radius-expected.html.
  • compositing/video/video-border-radius-expected.png: Added.
  • compositing/video/video-border-radius-expected.txt: Added.
5:05 PM Changeset in webkit [175993] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Don't require a debugger be attached for inspector auto attach
​https://bugs.webkit.org/show_bug.cgi?id=138638

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-11
Reviewed by Timothy Hatcher.

  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate):

4:59 PM Changeset in webkit [175992] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Add support for mailto: link action menus
​https://bugs.webkit.org/show_bug.cgi?id=138641
<rdar://problem/18741567>

Reviewed by Beth Dakin.

  • Shared/API/c/WKActionMenuTypes.h:

Add a new type for mailto links.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForMailtoLink]):
Build a DDActionContext and grab menu items for our mailto link.

(-[WKActionMenuController _defaultMenuItems]):
Get menu items from _defaultMenuItemsForMailtoLink if needed.

  • WebCore.exp.in:

Add an export.

  • platform/spi/mac/DataDetectorsSPI.h:

Add some DataDetectors SPI.

4:46 PM Changeset in webkit [175991] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

webkit-patch --suggest-reviewers is broken with newer versions of git
<​http://webkit.org/b/138627>

Reviewed by Michael Saboff with feedback from Daniel Bates.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git._changes_files_for_commit): Strip blank lines instead of
assuming there is always a blank line at the beginning of the
list.

4:23 PM Changeset in webkit [175990] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/text/international/hindi-spacing.html and transforms/2d/hindi-rotated.html are
flaky on Yosemite
​https://bugs.webkit.org/show_bug.cgi?id=138075

  • platform/mac/TestExpectations: Mark them as such.
4:17 PM Changeset in webkit [175989] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

4:16 PM Changeset in webkit [175988] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.3.5

New Tag.

4:15 PM Changeset in webkit [175987] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector/css/matched-style-properties.html and inspector/css/selector-specificity.html
are very flaky on Mac
​https://bugs.webkit.org/show_bug.cgi?id=138636

Bring back Crash expectattion, as this is how it's reported on WK1. Also added one more test.

  • platform/mac/TestExpectations:
4:09 PM Changeset in webkit [175986] by ap@apple.com
  • 2 edits in trunk/LayoutTests

compositing/video/video-border-radius.html frequently times out on 10.8

Add an error even listener, to at hopefully get a proper failure when this happens.

  • compositing/video/video-border-radius.html:
3:59 PM Changeset in webkit [175985] by Conrad Shultz
  • 5 edits in trunk/Source/WebKit2

Clients should be notified when a page preview finishes
​https://bugs.webkit.org/show_bug.cgi?id=138635

Reviewed by Tim Horton.

Add SPI to WKView to allow clients to do any cleanup that might be necessary when the preview closes.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare new SPI.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _finishPreviewingURL:withPreviewView:]):
Stub SPI implementation.

  • UIProcess/mac/WKActionMenuController.h:

Add an ivar for the preview view controller.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
Update to use the ivar.
(-[WKActionMenuController _clearPreviewPopover]):
Send -_finishPreviewingURL:withPreviewView: and nil out the view controller ivar.

3:56 PM Changeset in webkit [175984] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector/css/matched-style-properties.html and inspector/css/selector-specificity.html
are very flaky on Mac
​https://bugs.webkit.org/show_bug.cgi?id=138636

Updated the results and comments for tests that don't work in production builds,
those are not quite relevant here.

  • platform/mac/TestExpectations:
3:23 PM Changeset in webkit [175983] by timothy_horton@apple.com
  • 3 edits
    1 delete in trunk/Source/WebKit2

Update artwork for some action menu items
​https://bugs.webkit.org/show_bug.cgi?id=138634
<rdar://problem/18871984>

Reviewed by Anders Carlsson.

  • Resources/OpenInNewWindowTemplate.pdf: Removed.
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createActionMenuItemForTag:]):
(webKitBundleImageNamed): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:

Get rid of our custom art, and use system art for two more items.

3:13 PM Changeset in webkit [175982] by ap@apple.com
  • 10 edits in trunk

DRT and WKTR touch disk cache
​https://bugs.webkit.org/show_bug.cgi?id=138622

Reviewed by Geoffrey Garen.

Source/WebKit2:

Setting a cache model has a very strange behavior in WebKit2, where it ignores
sizes that were explicitly passed from UI process, and uses different ones. As
setCacheModel() is always called on launch, it always creates a non-empty disk cache.

The design needs to be improved one day, but for now, just make sure that we never
create a disk cache during testing.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::NetworkProcess::platformSetCacheModel):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm: (prepareConsistentTestingEnvironment):

Set a shared cache before calling -_switchNetworkLoaderToNewTestingSession, not after,
because this function uses the shared cache.

  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformInitializeContext):

Create an empty shared cache to prevent a default one from being created on disk.

3:11 PM Changeset in webkit [175981] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] video is sometimes allowed to play from the background
​https://bugs.webkit.org/show_bug.cgi?id=138522

Rubber-stamped by Jer Noble.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::updateClientDataBuffering): Call MediaSessionManager::sessionCanLoadMedia.

2:59 PM Changeset in webkit [175980] by eric.carlson@apple.com
  • 6 edits in trunk/Source

[iOS] a page with video in optimized fullscreen is visible
​https://bugs.webkit.org/show_bug.cgi?id=138632

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:

(WebCore::WebVideoFullscreenInterfaceAVKit::mode): Expose fullscreen mode.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isPlayingFullscreenOptimizedVideo]): New.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewVisible): Return true if displaying optimized fullscreen

video.

2:58 PM Changeset in webkit [175979] by ap@apple.com
  • 2 edits in trunk/LayoutTests

compositing/video/video-border-radius.html frequently times out on 10.8

Add an event listener before setting source, not after. This should not affect
anything, but seems worth a try.

  • compositing/video/video-border-radius.html:
2:42 PM Changeset in webkit [175978] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Mountain Lion build fix
​https://bugs.webkit.org/show_bug.cgi?id=138631

Reviewed by Simon Fraser.

  • platform/spi/cocoa/CoreTextSPI.h:
2:20 PM Changeset in webkit [175977] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Main.js missing many trailing semicolons
​https://bugs.webkit.org/show_bug.cgi?id=138624

Add semicolons to function variable assignments.

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js: Added semicolons.
2:03 PM Changeset in webkit [175976] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] cleanup wireless route monitoring
​https://bugs.webkit.org/show_bug.cgi?id=138614

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::clearMediaPlayer): Add logging.
(WebCore::HTMLMediaElement::removeEventListener): Ditto.
(WebCore::HTMLMediaElement::createMediaPlayer): Ditto.

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Add logging.
(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Ditto.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Ditto.
(-[WebMediaSessionHelper initWithCallback:]): Ditto.
(-[WebMediaSessionHelper dealloc]): Always deallocate volume view and routing controller

on the main thread.

(-[WebMediaSessionHelper clearCallback]): Add logging.
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]): Ditto.
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]): Always call routing controller on

the main thread.

(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Ditto.
(-[WebMediaSessionHelper interruption:]): Add logging.
(-[WebMediaSessionHelper applicationWillEnterForeground:]): Ditto.
(-[WebMediaSessionHelper applicationDidBecomeActive:]): Ditto.
(-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]): Ditto.

2:02 PM Changeset in webkit [175975] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewd iOS build fix

  • platform/spi/cocoa/CoreTextSPI.h:
1:56 PM Changeset in webkit [175974] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Protect Document in ProcessingInstruction::setXSLStyleSheet()
<​http://webkit.org/b/138621>

Reviewed by Andreas Kling.

The patch is inspired by the following Blink revision by
<​tasak@google.com>:
<​https://src.chromium.org/viewvc/blink?view=rev&revision=182309>

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setXSLStyleSheet):

1:39 PM Changeset in webkit [175973] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Occasional assertion failure under recommendedScrollbarStyleDidChange()
​https://bugs.webkit.org/show_bug.cgi?id=138604
<rdar://problem/18855914>

Reviewed by Beth Dakin.

It is possible for AppKit to install tracking areas into our view
behind our back, but we have code that depends on knowing exactly
the set of tracking areas installed on WKView.

Make this more robust by keeping a reference to the tracking area we
use for many things and manipulating that instead of making assumptions
about the total set of tracking areas on WKView.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _primaryTrackingArea]):
(-[WKView _replacePrimaryTrackingArea:]):
Provide a 'primary' tracking area setter/getter.

(-[WKView initWithFrame:context:configuration:webView:]):
Keep a reference to the original tracking area installed at initialization time.

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

(WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
Instead of walking the set of tracking areas, make use of the fact that
we know exactly which tracking area we installed, and uninstall just that
one, and replace it with our newly-built one.

1:37 PM Changeset in webkit [175972] by mmaxfield@apple.com
  • 15 edits in trunk/Source

Finish moving CTFontGetVerticalGlyphsForCharacters and CTLineCreateWithUniCharProvider out from WKSI
​https://bugs.webkit.org/show_bug.cgi?id=138623

Reviewed by Geoff Garen.

Source/WebCore:

No new tests because there is no behavior change.

  • WebCore.exp.in:
  • WebCore.order:
  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp:

(WebCore::GlyphPage::fill):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/spi/cocoa/CoreTextSPI.h:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebKit.order:

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • mac/WebKit2.order:
1:21 PM Changeset in webkit [175971] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Mountain Lion build fix

  • platform/spi/cocoa/CoreTextSPI.h:
1:13 PM Changeset in webkit [175970] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r175852.
​https://bugs.webkit.org/show_bug.cgi?id=138626

Broke PLT by introducing a crash. (Requested by rniwa on
#webkit).

Reverted changeset:

"Lazily create HTMLInputElement's inputType and shadow
subtree"
​https://bugs.webkit.org/show_bug.cgi?id=138524
​http://trac.webkit.org/changeset/175852

12:56 PM Changeset in webkit [175969] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Add a respondsToSelector check to dismissActionMenuPopovers
​​https://bugs.webkit.org/show_bug.cgi?id=138600
<rdar://problem/18932770>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController dismissActionMenuPopovers]):
Avoid calling this wherever it doesn't exist.

12:41 PM Changeset in webkit [175968] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Regression(r175947): Caused assertions in debug builds
​https://bugs.webkit.org/show_bug.cgi?id=138620

Reviewed by Benjamin Poulain.

In HTMLCollection::traverseForward(), traversedCount was incremented 1
time too many when hitting the end of the collection (i.e. element
becomes null). Doing a partial revert.

No new tests, already covered by existing tests.

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::traverseForward):

12:36 PM Changeset in webkit [175967] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Handle cases in StackVisitor::Frame::existingArguments() when lexicalEnvironment and/or unmodifiedArgumentsRegister is not set up yet
​https://bugs.webkit.org/show_bug.cgi?id=138543

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-11-11
Reviewed by Geoffrey Garen.

Exception fuzzing may may raise exceptions in places where they would be
otherwise impossible. Therefore, a callFrame may lack activation even if
the codeBlock signals need of activation. Also, even if codeBlock
signals the use of arguments, the unmodifiedArgumentsRegister may not be
initialized yet (neither locally nor in lexicalEnvironment).

If codeBlock()->needsActivation() is false, unmodifiedArgumentsRegister
is already checked for Undefined. This patch applies the same check when
the condition is true (and also checks whether
callFrame()->hasActivation()).

  • interpreter/CallFrame.h:

(JSC::ExecState::hasActivation):
Moved to interpreter/CallFrameInlines.h.

  • interpreter/CallFrameInlines.h:

(JSC::CallFrame::hasActivation):
Fixed to verify that the JSValue returned by uncheckedActivation() is a
cell.

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::existingArguments):

12:12 PM Changeset in webkit [175966] by timothy_horton@apple.com
  • 9 edits in trunk/Source

DataDetectors' menu items aren't presented in the telephone number menu
​https://bugs.webkit.org/show_bug.cgi?id=138602
<rdar://problem/18866308>

Reviewed by Beth Dakin.

We currently round-trip the DataDetectors telephone number NSMenuItems
through the very-lossy WebContextMenuItemData, for no real reason.
We should avoid this so that DataDetectors' actual NSMenuItems are
presented in the final menu, so that they can adjust their items after
providing them to us.

  • Platform/mac/MenuUtilities.h:
  • Platform/mac/MenuUtilities.mm:

(WebKit::menuItemTitleForTelephoneNumber): Deleted.
Stop adjusting the menu item titles, as they come correct now.

(WebKit::menuItemsForTelephoneNumber): Deleted.
(WebKit::menuForTelephoneNumber):
Return a fully-formed menu for the single telephone number case.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showTelephoneNumberMenu):
Present the fully-formed menu, without round-tripping through
WebContextMenuItemData, because we do not need to hand the items to
the context menu client (and indeed, were not), and because this
allows us to use the exact items returned by DataDetectors, so they
can keep ahold of the items that we actually present.

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

(WebKit::PageClientImpl::showPlatformContextMenu):
Add a Mac-only PageClient function for presenting a NSMenu at a
WKView-relative point.

  • English.lproj/Localizable.strings:

Remove a now-unused localized string.

11:38 AM Changeset in webkit [175965] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

[Frame Flattening] ASSERT(transaction->view == &view()) fails in RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction()
​https://bugs.webkit.org/show_bug.cgi?id=138615
<rdar://problem/18928487>

Reviewed by David Hyatt.

Source/WebCore:

Fixes an issue where we always expected that the RenderView associated with the RenderBlock called in
RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction() is the same as the RenderView associated with
the top transaction in the UpdateScrollInfoAfterLayoutTransaction stack regardless of frame flattening. This
expectation is only true when frame flattening is disabled.

Test: fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction):

LayoutTests:

Add a test that causes an assertion failure in affected builds.

  • fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update-expected.txt: Added.
  • fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html: Added.
11:18 AM Changeset in webkit [175964] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Adopt DDActionContext menu type SPI
​https://bugs.webkit.org/show_bug.cgi?id=138603
<rdar://problem/18867627>

Reviewed by Anders Carlsson.

  • platform/spi/mac/DataDetectorsSPI.h:

Add the new SPI.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Use the new SPI instead of WKSI.

11:17 AM Changeset in webkit [175963] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Data Detectors popovers should be dismissed upon scrolling
​https://bugs.webkit.org/show_bug.cgi?id=138600
<rdar://problem/18932770>

Reviewed by Beth Dakin.

  • platform/spi/mac/DataDetectorsSPI.h:

Adjust the SPI header.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Dismiss popovers when we start preparing another menu.

(-[WKActionMenuController dismissActionMenuPopovers]):
Use the new DataDetectors SPI.

11:14 AM Changeset in webkit [175962] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Localize strings for action menus
​https://bugs.webkit.org/show_bug.cgi?id=138591
<rdar://problem/18815343>

Reviewed by Dan Bates.

  • English.lproj/Localizable.strings:

Add a bunch of localizable strings.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
Make use of the new strings.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _showTextIndicator]):
(-[WKActionMenuController _hideTextIndicator]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
Make use of the new strings.

11:13 AM Changeset in webkit [175961] by mmaxfield@apple.com
  • 11 edits in trunk/Source

Cleanup from r175379
​https://bugs.webkit.org/show_bug.cgi?id=138616

Reviewed by Simon Fraser.

Source/WebCore:

No new tests because there is no behavior change.

  • WebCore.exp.in:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebKit.order:

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • mac/WebKit2.order:
10:59 AM Changeset in webkit [175960] by mmaxfield@apple.com
  • 15 edits in trunk/Source

Move CTFontTransformGlyphs out from WKSI
​https://bugs.webkit.org/show_bug.cgi?id=138599

Reviewed by Simon Fraser.

Source/WebCore:

No new tests because there is no behavior change.

  • WebCore.exp.in:
  • WebCore.order:
  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::applyTransforms):

  • platform/graphics/SimpleFontData.h:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/spi/cocoa/CoreTextSPI.h:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebKit.order:

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • mac/WebKit2.order:
10:36 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
10:25 AM Changeset in webkit [175959] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175688 - splitText API does not match DOM specification.
​https://bugs.webkit.org/show_bug.cgi?id=138405

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-11-05
Reviewed by Chris Dumez.
Source/WebCore:

Make the offset argument for splitText API as mandatory (and thus throw if it is omitted) and stop throwing if the offset argument is
negative (and wraps to a valid index) as per specification: ​https://w3c.github.io/dom/#interface-text. Also This matches the behavior
of both Firefox 33 and Chrome 38.

Test: fast/dom/Text/splitText.html

  • dom/Text.idl:

LayoutTests:

  • fast/dom/Text/splitText-expected.txt: Added.
  • fast/dom/Text/splitText.html: Added.
  • fast/dom/non-numeric-values-numeric-parameters-expected.txt:
  • fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
10:23 AM Changeset in webkit [175958] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.8.1/Source

Versioning.

10:21 AM Changeset in webkit [175957] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.8.1

New tag.

10:17 AM Changeset in webkit [175956] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

More iOS build fix.

  • WebView/WebHTMLViewInternal.h:
10:15 AM Changeset in webkit [175955] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r175655 - Assertion hit DOMTimer::updateTimerIntervalIfNecessary()
​https://bugs.webkit.org/show_bug.cgi?id=138440

Reviewed by Geoffrey Garen.

Source/WebCore:

We sometimes hit the ASSERT(repeatInterval() == previousInterval)
assertion in DOMTimer::updateTimerIntervalIfNecessary() when visiting
the following pages:
​http://lifehacker.com/the-healthiest-foods-for-one-handed-snacking-while-gami-1654728164
​http://longform.org/posts/like-something-the-lord-made

After debugging, the issue turned out to be that we are comparing
floating point numbers using ==, and the check sometimes fails even
though the values really close to each other. This patch updates the
DOMTimer code to use WTF::withinEpsilon() instead of operator==()
to compare the floating point intervals.

I confirmed manually that the assertion is no longer hit.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateTimerIntervalIfNecessary):

  • platform/graphics/FloatQuad.cpp:

(WebCore::FloatQuad::isRectilinear):
(WebCore::withinEpsilon): Deleted.

Source/WTF:

Move the withinEpsilon() function to WTF to avoid code duplication.

  • wtf/MathExtras.h:

(WTF::withinEpsilon):

9:59 AM Changeset in webkit [175954] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

iOS build fix.

  • WebView/WebHTMLView.mm:
9:53 AM Changeset in webkit [175953] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Use std::unique_ptr<>|std::make_unique_ptr in RenderThemeEfl::ThemePartCacheEntry::create()
​https://bugs.webkit.org/show_bug.cgi?id=138558

Reviewed by Anders Carlsson.

This patch removes PassOwnPtr and OwnPtr in RenderThemeEfl::ThemePartCacheEntry::create().
It would be good if we also remove create() factory function though, in this case, it is
a little hard to remove it since the create() factory function does many works to create
a ThemePartCacheEntry instance. Thus this patch just replaces PassOwnPtr|OwnPtr with
std::unique_ptr<> and std::make_unique<> in RenderThemeEfl::ThemePartCacheEntry::create().

Besides the theme entries have been maintained by Eina_List*. Unfortunately it doesn't support
std::unique_ptr<> yet. Thus the Eina_List* should be replaced with Vector<std::unique_ptr<>>
so that m_partCache has ownship of all EFL theme entries. This patch tries to keep original
cache algorithm based on Vector class.

No new tests, no behavior changes.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::getThemePartFromCache):

  • platform/efl/RenderThemeEfl.h:
9:52 AM Changeset in webkit [175952] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175622 - Stop special-casing the empty string in HTMLInputElement.type setter
​https://bugs.webkit.org/show_bug.cgi?id=138403

Reviewed by Ryosuke Niwa.

Source/WebCore:

Stop special-casing the empty string in HTMLInputElement.type setter.
Previously, if input.type is set to "", we would remove the type
attribute. This is inconsistent with the specification and the behavior
of other browsers (tested Firefox 33 and Chrome 38). Instead, we should
set the attribute to the empty string.

Also stop treating null as a null string to align with the
specification and other browsers (tested Firefox 33 and Chrome 38).

Finally, update HTMLInputElement::setType() to take an AtomicString in
argument instead of a String as it ends up calling setAttribute(), and
thus needing an AtomicString.

Test: fast/dom/HTMLInputElement/input-type-attribute.html

  • html/FileInputType.cpp:

(WebCore::UploadButtonElement::UploadButtonElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setType):

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.idl:

LayoutTests:

Add layout test to check the functionality of the HTMLInputElement.type
getter and setter.

  • fast/dom/HTMLInputElement/input-type-attribute-expected.txt: Added.
  • fast/dom/HTMLInputElement/input-type-attribute.html: Added.
9:44 AM Changeset in webkit [175951] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r175696 - [GTK] [Stable] webkitgtk 2.6.1 fails to load flashplugin
​https://bugs.webkit.org/show_bug.cgi?id=137849

Reviewed by Carlos Garcia Campos.

NPPVpluginNeedsXEmbed is a boolean value, so it should normally
use an NPBool (1 byte). However some plugins (the Flash player in
particular) are using an int instead, so we have to do it as well
else we'll end up corrupting the stack.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

9:42 AM Changeset in webkit [175950] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r175619 - NetscapePlugin: NPP_GetValue should receive a pointer to NPBool, not bool
​https://bugs.webkit.org/show_bug.cgi?id=138418

Reviewed by Carlos Garcia Campos.

Replace bool with NPBool, which is actually an unsigned char.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

9:40 AM Changeset in webkit [175949] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175602 - Avoid double hash table lookup in SpaceSplitStringData::create()
​https://bugs.webkit.org/show_bug.cgi?id=138396

Reviewed by Ryosuke Niwa.

Avoid double hash table lookup in SpaceSplitStringData::create() by
calling HashMap::add() and using the AddResult, instead of calling
HashMap::get() then HashMap::add().

No new tests, no behavior change.

  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitStringData::create):

9:39 AM Changeset in webkit [175948] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175580 - RenderBox shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138367>

Reviewed by Antti Koivisto.

Move teardown logic from willBeDestroyed() to the regular ~RenderBox()
destructor since none of it depends on being in-tree or having a fully
constructed vtable.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::~RenderBox):
(WebCore::RenderBox::willBeDestroyed): Deleted.

  • rendering/RenderBox.h:
9:35 AM Changeset in webkit [175947] by Darin Adler
  • 17 edits in trunk/Source/WebCore

Minor tweaks to HTMLCollection
​https://bugs.webkit.org/show_bug.cgi?id=138556

Reviewed by Chris Dumez.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
Update for namedElements function that now returns a Vector; also use
a new style for loop to iterate it.

  • bindings/js/JSHTMLAllCollectionCustom.cpp: Removed some unneeded includes.

(WebCore::namedItems): Updated name to match WebKit coding style, and also
updated to use the return value from namedItems, which now returns a Vector.
(WebCore::callHTMLAllCollection): Updated for namedItems name change.
Also removed explicit Node* type from result of namedItemWithIndex, since that
function now returns a more specific type.
(WebCore::JSHTMLAllCollection::nameGetter): Update for namedItems name change.
(WebCore::JSHTMLAllCollection::item): Ditto.
(WebCore::JSHTMLAllCollection::namedItem): Ditto.

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Removed some unneeded includes.

(WebCore::namedItems): Updated name to match WebKit coding style, and also
updated to use the return value from namedItems, which now returns a Vector.
(WebCore::JSHTMLFormControlsCollection::nameGetter): Update for namedItems name change.
(WebCore::JSHTMLFormControlsCollection::namedItem): Ditto.

  • bindings/js/JSHTMLFormElementCustom.cpp:

(WebCore::JSHTMLFormElement::nameGetter): Updated to use the return value from
namedItems, which now returns a Vector.

  • html/HTMLAllCollection.cpp:

(WebCore::HTMLAllCollection::HTMLAllCollection): Marked the constructor inline,
since it's only used in one place, the create function.
(WebCore::HTMLAllCollection::~HTMLAllCollection): Deleted. No need to have an
explicit destructor since there's nothing special to implement, and includers of
the header file have everything they ened to compile the compiler-generated one.
(WebCore::HTMLAllCollection::namedItemWithIndex): Changed return type to Element.

  • html/HTMLAllCollection.h: Removed unneeded explicit declaration of destructor.

Chagned return type of namedItemWithIndex to Element.

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::rootTypeFromCollectionType): Marked this inline. Also
changed this to be a static member function so it can use the RootType enum, which
is now private to the class.
(WebCore::isMatchingHTMLElement): Marked this function static so it will get
internal linkage.
(WebCore::isMatchingElement): Ditto.
(WebCore::previousElement): Marked this function inline since it's called in only
one place. Changed argument type to a reference since it can never be null.
(WebCore::HTMLCollection::iterateForPreviousElement): Changed argument name and
also updated for above changes.
(WebCore::firstMatchingElement): Marked this function static so it will get
internal linkage.
(WebCore::nextMatchingElement): Ditto. Changed argument type to a reference
since it can never be null.
(WebCore::HTMLCollection::item): Changed return type to Element.
(WebCore::nameShouldBeVisibleInDocumentAll): Added an overload that takes an
Element. This streamlines the code below that calls it so it fits on one line.
(WebCore::firstMatchingChildElement): Marked this function static so it will get
internal linkage.
(WebCore::nextMatchingSiblingElement): Ditto. Changed argument type to a reference
since it can never be null.
(WebCore::HTMLCollection::usesCustomForwardOnlyTraversal): Moved here from the
header since, although it's marked inline, it's only used inside this file.
(WebCore::HTMLCollection::traverseForward): Restructured the code a little bit
to make the function smaller and possibly easier to read. This does add one
redundant null check, but it seems OK to do that.
(WebCore::HTMLCollection::collectionTraverseBackward): Tweaked foramtting a bit.
(WebCore::HTMLCollection::namedItem): Changed return type to Element. Tightened
the code that calls nameShouldBeVisibleInDocumentAll so it fits better on one line.
Changed code that handles m_shouldOnlyIncludeDirectChildren to use a nested if
instead of an && since it makes the code a little easier to read.
(WebCore::HTMLCollection::updateNamedElementCache): Tweaked code a little bit,
using shorter variable names, and using references instead of pointers. Also removed
the call to didPopulate, since setNamedItemCache now takes care of that.
(WebCore::HTMLCollection::namedItems): Changed to return a Vector instead of
appending to an existing one. Also use reserveInitialCapacity and uncheckedAppend
for better performance. Added a FIXME, because there seems to be something wrong
here about this being non-virtual. Made other small tweaks to streamline the code.
(WebCore::HTMLCollection::customElementAfter): Moved this here from the header.
There is no reason to need to inline this.

  • html/HTMLCollection.h: Removed unneeded includes. Moved function bodies out

of the class definitions so the class definitions are easier to read. Made some
functions that were formerly public or protected be private instead. Added a call
to didPopulate to setNamedItemCache so the callers don't have to do it.

  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::namedItem): Changed return value to Element.
Tweaked coding style a little bit.
(WebCore::HTMLFormControlsCollection::updateNamedElementCache): Rearranged to
simplify a bit. Don't build the foundInputElements set when the owner is not a
form element, since we don't use the set in that case. Use shorter variable names,
and modern for loops. Also removed the call to didPopulate, since setNamedItemCache
now takes care of that.

  • html/HTMLFormControlsCollection.h: Removed some uneeded forward declarations.

Updated return type for namedItem, and also made the override private.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::namedElements): Changed to return a Vector and updated
function name accordingly.

  • html/HTMLFormElement.h: Ditto.
  • html/HTMLNameCollection.h: Removed a stray blank line.
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::namedItem): Changed return value to Element.
(WebCore::HTMLSelectElement::item): Ditto.

  • html/HTMLSelectElement.h: Ditto.
  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::appendChildSnapOffsets): Rewrote loop as a for loop rather than a while
loop. Removed unwanted use of children()->collectionBegin() to get the first element
child of an HTMLElement. This function uses a mix of DOM and rendering functions that
is probably incorrect, but I did not tackle fixing that at this time.

9:33 AM Changeset in webkit [175946] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175528 - RenderQuote shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138352>

Reviewed by Antti Koivisto.

The willBeDestroyed() hook in RenderQuote came from the time when it was
potential unsafe to access the RenderView from a renderer destructor.

Move the code to the plain ol' destructor instead.

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::~RenderQuote):
(WebCore::RenderQuote::willBeDestroyed): Deleted.

  • rendering/RenderQuote.h:
9:32 AM Changeset in webkit [175945] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175526 - [LEAK] [GStreamer] Removing video element will not free assigned memory
​https://bugs.webkit.org/show_bug.cgi?id=46560

Reviewed by Eric Carlson.

Moved the ::extraMemoryCost() implementation to the
MediaPlayerPivateInterface base class. This default implementation
is now shared between the various MediaPlayerPrivate backends,
excepted the AVF MediaSource player which still reports no extra
memory cost.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::totalBytes): Make
totalBytes() part of the MediaPlayerPrivate interface.
(WebCore::MediaPlayerPrivateInterface::extraMemoryCost): Default
implementation.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
9:32 AM Changeset in webkit [175944] by Carlos Garcia Campos
  • 5 edits
    6 adds in releases/WebKitGTK/webkit-2.6

Merge r175525 - Fix animation of orient attribute on marker element
​https://bugs.webkit.org/show_bug.cgi?id=137942

Source/WebCore:

Patch by Nikos Andronikos <​nikos.andronikos-webkit@cisra.canon.com.au> on 2014-11-04
Reviewed by Dirk Schulze.

Fixed implementation of SVG animated angles and the SVG
marker element orient attribute.
SVG animated angle was missing the logic to support animation
from auto to a numeric angle value - this is now added.
The SVG marker element getter for orientType was not returning
the animated value for orientType so in some cases (i.e. when
the initial value and the animated values were of different types)
the animation was not being rendered - although it was running.

Tests: svg/animations/animate-marker-orienttype-1.html

svg/animations/animate-marker-orienttype-2.html
svg/animations/animate-marker-orienttype-3.html

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
Added logic to support auto to angle animation.

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::orientType):
This method now returns the animated value if an animation is
running.

  • svg/SVGMarkerElement.h:

LayoutTests:

Patch by Nikos Andrkos Andronikos <​nikos.andronikos-webkit@cisra.canon.com.au> on 2014-11-04
Reviewed by Dirk Schulze.

Test the rendered result of the animation of the orient attribute.
Existing tests were only testing the animated value in the DOM.

  • svg/animations/animate-marker-orienttype-1-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-1.html: Added.
  • svg/animations/animate-marker-orienttype-2-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-2.html: Added.
  • svg/animations/animate-marker-orienttype-3-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-3.html: Added.
9:25 AM Changeset in webkit [175943] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175485 - RenderCounter shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138316>

Reviewed by Antti Koivisto.

RenderCounter will automatically register/unregister itself with
the RenderView when constructed/destroyed.

It was using a willBeDestroyed() hook because it used to be that you
couldn't get to the RenderView in the destructor. That's no longer
an issue as Document promises that RenderView is the last render tree
node to go away.

  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::~RenderCounter):
(WebCore::RenderCounter::willBeDestroyed): Deleted.

  • rendering/RenderCounter.h:
9:22 AM Changeset in webkit [175942] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175477 - REGRESSION: Using a media element changes window.name
​https://bugs.webkit.org/show_bug.cgi?id=138278
rdar://problem/18704134

Apply the same fix to mediaControlsBase.js. I do not know who uses this file, but
there is no reason to have the bug there.

  • Modules/mediacontrols/mediaControlsBase.js:

(Controller.prototype.addVideoListeners):
(Controller.prototype.removeVideoListeners):
(Controller.prototype.disconnectControls):

9:22 AM Changeset in webkit [175941] by mitz@apple.com
  • 3 edits
    26 deletes in trunk/Source/WebCore

[Mac] WebCore includes unused cursor image resources
​https://bugs.webkit.org/show_bug.cgi?id=138605

Reviewed by Anders Carlsson.

  • Resources/aliasCursor.png: Removed.
  • Resources/cellCursor.png: Removed.
  • Resources/contextMenuCursor.png: Removed.
  • Resources/copyCursor.png: Removed.
  • Resources/eastResizeCursor.png: Removed.
  • Resources/eastWestResizeCursor.png: Removed.
  • Resources/helpCursor.png: Removed.
  • Resources/linkCursor.png: Removed.
  • Resources/moveCursor.png: Removed.
  • Resources/noDropCursor.png: Removed.
  • Resources/noneCursor.png: Removed.
  • Resources/northEastResizeCursor.png: Removed.
  • Resources/northEastSouthWestResizeCursor.png: Removed.
  • Resources/northResizeCursor.png: Removed.
  • Resources/northSouthResizeCursor.png: Removed.
  • Resources/northWestResizeCursor.png: Removed.
  • Resources/northWestSouthEastResizeCursor.png: Removed.
  • Resources/progressCursor.png: Removed.
  • Resources/southEastResizeCursor.png: Removed.
  • Resources/southResizeCursor.png: Removed.
  • Resources/southWestResizeCursor.png: Removed.
  • Resources/verticalTextCursor.png: Removed.
  • Resources/waitCursor.png: Removed.
  • Resources/westResizeCursor.png: Removed.
  • Resources/zoomInCursor.png: Removed.
  • Resources/zoomOutCursor.png: Removed.
  • WebCore.xcodeproj/project.pbxproj: Removed references to the above files.
  • platform/mac/CursorMac.mm:

(WebCore::Cursor::ensurePlatformCursor): For Help, Cell, ZoomIn and ZoomOut, don’t check
for a nil return value from wkCursor(), which can’t occur in any supported configuration.
For None, create a cursor with an empty NSImage instead of loading a transparent image from
the file system.
(WebCore::createNamedCursor): Deleted.

9:21 AM Changeset in webkit [175940] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175475 - RenderLayerModelObject shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138314>

Reviewed by Antti Koivisto.

Move code from the willBeDestroyed() pre-destructor hook to the regular
~RenderLayerModelObject() destructor.

We just need to unregister the renderer from the FrameView's set of
viewport-constrained objects. That doesn't require being able to walk
the render tree or call virtuals, which is the main reason you'd use
willBeDestroyed().

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::~RenderLayerModelObject):
(WebCore::RenderLayerModelObject::willBeDestroyed): Deleted.

  • rendering/RenderLayerModelObject.h:
9:16 AM Changeset in webkit [175939] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebCore

Unreviewed, rolling out r175844.

Win debug build has broken since r175844.

Reverted changeset:

"Use std::unique_ptr<> and std::make_unique<> in WebCore"
​https://bugs.webkit.org/show_bug.cgi?id=138560
​http://trac.webkit.org/changeset/175844

9:09 AM Changeset in webkit [175938] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175462 - Reduce the cost of argumentCount checks in the JS bindings
​https://bugs.webkit.org/show_bug.cgi?id=138289

Reviewed by Sam Weinig.

Slightly reduce the cost of argumentCount checks in the JS bindings by
hinting to the compiler that it is UNLIKELY that those methods are
called with too few arguments.

I see a 3% progression on PerformanceTests/DOM/DOMDivWalk.html
performance test.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateArgumentsCountCheck):

8:54 AM Changeset in webkit [175937] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Qt/Chromium remnants in MediaPlayer
​https://bugs.webkit.org/show_bug.cgi?id=138611

Patch by Philippe Normand <​pnormand@igalia.com> on 2014-11-11
Reviewed by Jer Noble.

  • platform/graphics/MediaPlayer.h: Remove unused Qt/Chromium stuff.
8:47 AM Changeset in webkit [175936] by Carlos Garcia Campos
  • 3 edits
    6 adds in releases/WebKitGTK/webkit-2.6

Merge r175432 - Pseudo classes with an escaped parenthesis generate invalid rules
​https://bugs.webkit.org/show_bug.cgi?id=138266

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-31
Reviewed by Antti Koivisto.

Source/WebCore:

Since the functional pseudo classes are part of the list of PseudoClassAndCompatibilityElement,
they could be created by the rule

pseudo:

':' IDENT

if the parenthesis is escaped. For example, with ":not
(", the IDENT would be
"not(", CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector would
find a pseudo class type of PseudoClassNot, and the action would create an invalid
CSSSelector for a :not() without nested selector.

This patch fixes the issue by detecting the function case in
CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector().

An other solution would be to split PseudoClassAndCompatibilityElement into simple pseudo class
and functional pseudo classes. We may do that some day but at the moment it is a lot of work with
a little benefit.

Tests: fast/css/crash-on-incomplete-webkit-any.html

fast/css/pseudo-escaped-parenthesis.html
fast/selectors/invalid-functional-pseudo-class.html

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):

LayoutTests:

  • fast/selectors/invalid-functional-pseudo-class-expected.txt: Added.
  • fast/selectors/invalid-functional-pseudo-class.html: Added.

New test for all the functional pseudo classes.

  • fast/css/crash-on-incomplete-webkit-any-expected.txt: Added.
  • fast/css/crash-on-incomplete-webkit-any.html: Added.
  • fast/css/pseudo-escaped-parenthesis-expected.txt: Added.
  • fast/css/pseudo-escaped-parenthesis.html: Added.

Those tests come from blink. Rune solved the same problem a year ago on blink
in ​https://chromiumcodereview.appspot.com/23710067
The patch is quite different because blink uses an ancient code base, but the tests
can still be useful so I included them here.

8:40 AM Changeset in webkit [175935] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r175416 - Make writes to RegExpObject.lastIndex cacheable.
<​https://webkit.org/b/138255>

Reviewed by Geoffrey Garen.

We were neglecting to IC the puts to RegExpObject.lastIndex on Octane/regexp,
and ended up spending 4.5% of a time profile in operationPutByIdNonStrict.

~3% progression on Octane/regexp.

  • runtime/RegExpObject.cpp:

(JSC::regExpObjectSetLastIndexStrict):
(JSC::regExpObjectSetLastIndexNonStrict):
(JSC::RegExpObject::put):

8:36 AM Changeset in webkit [175934] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175395 - Short-circuit repaints with empty rects
​https://bugs.webkit.org/show_bug.cgi?id=138234

Reviewed by Zalan Bujtas.

Repaints with an empty rectangle are common enough that it's worth
short-circuiting them.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintUsingContainer):

8:34 AM Changeset in webkit [175933] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WTF

Merge r175382 - ASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
​https://bugs.webkit.org/show_bug.cgi?id=138141

Reviewed by Alexey Proskuryakov.

  • wtf/RefCounted.h:

(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::relaxAdoptionRequirement):
(WTF::RefCountedBase::derefBase):
(WTF::adopted):

8:31 AM Changeset in webkit [175932] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move '-webkit-marquee-speed' CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138595

Reviewed by Antti Koivisto.

Move '-webkit-marquee-speed' CSS property from DeprecatedStyleBuilder
to the new StyleBuilder by adding a new MarqueeSpeed Converter.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyMarqueeSpeed::applyValue): Deleted.
(WebCore::ApplyPropertyMarqueeSpeed::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertMarqueeSpeed):

8:29 AM Changeset in webkit [175931] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip now passing http tests
​https://bugs.webkit.org/show_bug.cgi?id=137694

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-11-11
Reviewed by Csaba Osztrogonác.

  • platform/efl/TestExpectations:
8:26 AM Changeset in webkit [175930] by svillar@igalia.com
  • 13 edits
    1 add
    2 deletes in trunk

[CSS Grid Layout] Limit the size of explicit/implicit grid
​https://bugs.webkit.org/show_bug.cgi?id=136217

Reviewed by Andreas Kling.

Source/WebCore:

A recent change in the specs allow us to set a limit (maximum
size) for both the explicit and implicit grids so we can protect
ourselves from absurdly huge grid specifications. It was decided
to use the recommended limit which is 1 million.

This means that we can remove the old limitation for the number of
repetitions in repeat(). Instead we now clamp the number of
repetitions to the maximum value that allow us to have the maximum
number of whole repetitions without exceeding the track number
limit.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackRepeatFunction): Replaced the
old limit by the new one.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeItemsOnGrid): Use the amount of tracks
provided by GridResolvedPosition.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ditto.

  • rendering/style/GridCoordinate.h:

(WebCore::GridSpan::GridSpan):

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::explicitGridColumnCount): Bring
the static function back to life.
(WebCore::GridResolvedPosition::explicitGridRowCount): Ditto.
(WebCore::explicitGridSizeForSide):

  • rendering/style/GridResolvedPosition.h:

Tools:

Added a new unit test for the CSS parser. Right now it only checks
that we properly clamp the maximum number of tracks on a grid to a
maximum of 1 million.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/CSSParser.cpp: Added.

(TestWebKitAPI::computeNumberOfTracks): Helper function.
(TestWebKitAPI::TEST): Added a
CSSPropertyParserTest.GridTrackLimits test case.

LayoutTests:

Removed as they are now part of the WebCore's CSSParser.cpp unit
test. The reason why it was moved there is because the test would
require huge (~1000000 tracks) grid allocations, making the test
quite slow specially on Debug builds.

  • fast/css-grid-layout/grid-element-repeat-max-repetitions-expected.txt: Removed.
  • fast/css-grid-layout/grid-element-repeat-max-repetitions.html: Removed.
8:14 AM Changeset in webkit [175929] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r175372 - Unreviewed assertion fix.

RegExpCachedResult::m_reified is now the dedicated member that knows whether
the result was reified into an array or not. Check that instead of m_result
which is now single-purpose.

  • runtime/RegExpCachedResult.cpp:

(JSC::RegExpCachedResult::setInput):

8:13 AM Changeset in webkit [175928] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175370 - [GStreamer] Video resolution changes trigger a crash in the TextureMapper
​https://bugs.webkit.org/show_bug.cgi?id=137065

Reviewed by Gustavo Noronha Silva.

Switch to GstSample for buffer+caps communication between the
video sink and the player. Using a single object type for this
avoid issues where the caps might not correctly describe the
buffer contents anymore, for example when the video resolution is
changed.

  • platform/graphics/gstreamer/ImageGStreamer.h: Use GstSample

instead of GstBuffer+GstCaps.
(WebCore::ImageGStreamer::createImage):

  • platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.

(ImageGStreamer::ImageGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::mediaPlayerPrivateRepaintCallback): The repaint signal
now uses a GstSample instead of a GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
Store the current sample instead of a buffer. Also renamed the
mutex protecting access to the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize): Return
early if no sample is available. The caps used to get the video
size are store in the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Use
GstSample instead of GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Now store a

GstSample internally. Also removed the now useless current-caps property.
(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Renamed the
mutex protecting access to the sample.
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Ditto.
(webkit_video_sink_init): Disable last-sample in basesink since we
already store one in our sink anyway.
(webkitVideoSinkTimeoutCallback): Switch to GstSample.
(webkitVideoSinkRender): Ditto.
(unlockSampleMutex): Ditto.
(webkitVideoSinkUnlock): Ditto.
(webkitVideoSinkUnlockStop): Ditto.
(webkitVideoSinkStop): Ditto!
(webkitVideoSinkStart): Ditto.
(webkit_video_sink_class_init): Drop current-caps property.
(webkitVideoSinkGetProperty): Deleted.
(unlockBufferMutex): Deleted.

8:11 AM Changeset in webkit [175927] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r175365 - Use plain JSArray for RegExp matches instead of a lazily populated custom object.
<​https://webkit.org/b/138191>

Reviewed by Geoffrey Garen.

We're already offering two RegExp matching APIs, one that collects subpattern
matches (exec), and one that simply tests for a match (test).
Given that, it was pretty overkill to lazily populate the resulting array of
matches, since the user could simply use test() if they didn't need them.

This allows the JIT to generate better code for RegExp match arrays, and also
enables some fast paths in the JSC runtime that check if an object isJSArray().

Looks like ~1.5% improvement on Octane/regexp according to run-jsc-benchmarks.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

  • runtime/JSArray.h:

(JSC::createArrayButterflyWithExactLength): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/RegExpCachedResult.cpp:

(JSC::RegExpCachedResult::visitChildren):
(JSC::RegExpCachedResult::lastResult):
(JSC::RegExpCachedResult::leftContext):
(JSC::RegExpCachedResult::rightContext):

  • runtime/RegExpCachedResult.h:

(JSC::RegExpCachedResult::RegExpCachedResult):
(JSC::RegExpCachedResult::record):
(JSC::RegExpCachedResult::input):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::getBackref):
(JSC::RegExpConstructor::getLastParen):
(JSC::RegExpConstructor::getLeftContext):
(JSC::RegExpConstructor::getRightContext):

  • runtime/RegExpMatchesArray.cpp:

(JSC::createRegExpMatchesArray):
(JSC::RegExpMatchesArray::RegExpMatchesArray): Deleted.
(JSC::RegExpMatchesArray::create): Deleted.
(JSC::RegExpMatchesArray::finishCreation): Deleted.
(JSC::RegExpMatchesArray::visitChildren): Deleted.
(JSC::RegExpMatchesArray::reifyAllProperties): Deleted.
(JSC::RegExpMatchesArray::reifyMatchProperty): Deleted.
(JSC::RegExpMatchesArray::leftContext): Deleted.
(JSC::RegExpMatchesArray::rightContext): Deleted.

  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::createStructure): Deleted.
(JSC::RegExpMatchesArray::reifyAllPropertiesIfNecessary): Deleted.
(JSC::RegExpMatchesArray::reifyMatchPropertyIfNecessary): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlot): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlotByIndex): Deleted.
(JSC::RegExpMatchesArray::put): Deleted.
(JSC::RegExpMatchesArray::putByIndex): Deleted.
(JSC::RegExpMatchesArray::deleteProperty): Deleted.
(JSC::RegExpMatchesArray::deletePropertyByIndex): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertyNames): Deleted.
(JSC::RegExpMatchesArray::defineOwnProperty): Deleted.
(JSC::isRegExpMatchesArray): Deleted.

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::exec):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncMatch):

8:07 AM WebKitGTK/SpeedUpBuild edited by Csaba Osztrogonác
Add one more useful setting for icecc-ccache combo (diff)
7:52 AM Changeset in webkit [175926] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175363 - ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
​https://bugs.webkit.org/show_bug.cgi?id=138054.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-29
Reviewed by Zalan Bujtas.

Source/WebCore:

A Length of type 'Calculated' can be generated from blending two lengths of
different types. Setting the wordSpacing of the render style should be handled
correctly when the type of the new value is 'Calculated'.

Tests: css3/calculated-word-spacing.html.

Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

Ensure the render style's wordSpacing can be set correctly when the type of
the new value is 'Calculated'. The 'Calculated' Length value can result from
blending two Length values of different types. And these two Length values
are defined in two consecutive css animation key frames.

  • css3/calculated-word-spacing-expected.txt: Added.
  • css3/calculated-word-spacing.html: Added.
7:50 AM Changeset in webkit [175925] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175197 - Clamp wordSpacing percentage value.
​https://bugs.webkit.org/show_bug.cgi?id=129350.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-24
Reviewed by Zalan Bujtas.

Source/WebCore:

When the CSS wordSpacing property is percentage, its value has to be within the
pre-defined min/max values for the CSS length type. This is done the same way
the wordSpacing of type <length> is handled.

Tests: css3/infinite-word-spacing.html.

Move the definitions of minValueForCssLength and maxValueForCssLength from the
.cpp file to the .h file.

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

Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when
its type is percentage.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyWordSpacing::applyValue):

LayoutTests:

Make sure that setting the CSS style wordSpacing property to very huge percentage
value and blending this value with other values for animating key frames does
not assert or crash. The expectation is to have this huge value to be clamped to
the pre-defined min/max values for the CSS length type. So when blending the clamped
value with other wordSpacing values, the result can't be NaN. This should be very
similar to the case when it is set to a huge <length> value.

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
7:38 AM Changeset in webkit [175924] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175177 - Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
​https://bugs.webkit.org/show_bug.cgi?id=138047

Reviewed by Andreas Kling.

No change in functionality.

  • css/CSSPrimitiveValue.cpp:
7:22 AM Changeset in webkit [175923] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175347 - Notify Settings object when its Page object goes away.
​https://bugs.webkit.org/show_bug.cgi?id=138183
rdar://problem/18786900

Reviewed by Andreas Kling.

I could not make a test for this issue.

  • page/Page.cpp:

(WebCore::Page::~Page):

  • page/Settings.cpp:

(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingEnabled):
(WebCore::Settings::setTextAutosizingWindowSizeOverride):
(WebCore::Settings::setTextAutosizingFontScaleFactor):
(WebCore::Settings::setMediaTypeOverride):
(WebCore::Settings::setScriptEnabled):
(WebCore::Settings::setUserStyleSheetLocation):
(WebCore::Settings::setMinDOMTimerInterval):
(WebCore::Settings::minDOMTimerInterval):
(WebCore::Settings::domTimerAlignmentInterval):
(WebCore::Settings::setUsesPageCache):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setDNSPrefetchingEnabled):
(WebCore::Settings::setStorageBlockingPolicy):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
(WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
(WebCore::Settings::setFontFallbackPrefersPictographs):

  • page/Settings.h:

(WebCore::Settings::pageDestroyed):

7:16 AM Changeset in webkit [175922] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175345 - Remove invalid float from RootInlineBox.
​https://bugs.webkit.org/show_bug.cgi?id=137707

Reviewed by Antti Koivisto.

In certain cases, floating boxes get attached to the last (root) inline box.
When this particular floating box gets destroyed, it also needs to be detached
from the last inline box.
Source/WebCore:

  1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
  2. Ensure that it is called when the floating box is being destroyed.

Test: fast/inline/crash-when-inline-box-has-invalid-float.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
tearing down the render tree, we can get to a state where a block element has both inline and block children.
It happens when the style change on an element makes sibling anonymous block wrappers detached.
In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
block child elements as we return early at the childrenInline() check.

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::removeFloat):

LayoutTests:

  • fast/inline/crash-when-inline-box-has-invalid-float-expected.txt: Added.
  • fast/inline/crash-when-inline-box-has-invalid-float.html: Added.
7:12 AM Changeset in webkit [175921] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r175344 - [GTK] Bump libsoup's minimum version to 2.42.0.
​https://bugs.webkit.org/show_bug.cgi?id=138086

Reviewed by Martin Robinson.

The SOUP_CHECK_VERSION macro was added in libsoup 2.41.1, and the
soup-version.h header was added to soup.h in 2.41.4, which then becomes
the minimum version required to build the port these days.

In addition, since the autotools build system required 2.42.0 before
being retired, require the same version here. Version 2.42.0 was also
recommended in
​https://lists.webkit.org/pipermail/webkit-gtk/2013-March/001387.html.

  • Source/cmake/OptionsGTK.cmake:
7:10 AM Changeset in webkit [175920] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r175299 - Cast std::chrono::duration.count() to int64_t in ArgumentCoder
​https://bugs.webkit.org/show_bug.cgi?id=136981

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-10-28
Reviewed by Alexey Proskuryakov.

Explicitly cast the return value of std::chrono::duration.count() to
a fixed-size interger type, which prevents compilation error when
the return value type matches neither int32_t nor int64_t.

  • Platform/IPC/ArgumentCoders.h:
7:06 AM Changeset in webkit [175919] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175277 - FrameProgressTracker expects Page to not have detached
​https://bugs.webkit.org/show_bug.cgi?id=138061

Reviewed by Alexey Proskuryakov.

In some cases, a Page may be detached from a Frame before its
FrameLoader is torn down, causing FrameProgressTracker's destructor
to hit a null pointer.

No new tests; it is impossible to reliably simulate the null pointer
case without intrusive code changes.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):

7:05 AM Changeset in webkit [175918] by Carlos Garcia Campos
  • 3 edits
    6 adds in releases/WebKitGTK/webkit-2.6

Merge r175243 - Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<​https://webkit.org/b/137814>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL. This was the source of the crash, and is now fixed.

In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object. The thunk only checks the butterfly's
publicLength for its iteration operation. Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk. The fix is simply to limit the fast
case checks in this thunk to Array objects.

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

LayoutTests:

  • js/array-length-shortening-expected.txt: Added.
  • js/array-length-shortening.html: Added.
  • js/for-of-crash-expected.txt: Added.
  • js/for-of-crash.html: Added.
  • js/script-tests/array-length-shortening.js: Added.

(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):

  • js/script-tests/for-of-crash.js: Added.

(foo):

7:02 AM Changeset in webkit [175917] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175241 - AX: input type=hidden is being exposed when aria-hidden=false
​https://bugs.webkit.org/show_bug.cgi?id=138106

Reviewed by Benjamin Poulain.

Source/WebCore:

If an input type=hidden was inside an aria-hidden=false, it would appear because
the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
We should explicity check for whether the type is hidden and then return an appropriate role.

Test: accessibility/input-type-hidden-in-aria-hidden-false.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

  • accessibility/input-type-hidden-in-aria-hidden-false-expected.txt: Added.
  • accessibility/input-type-hidden-in-aria-hidden-false.html: Added.
6:59 AM Changeset in webkit [175916] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175312 - Crash in CachedRawResource::canReuse() when reloading ​http://dnd.wizards.com/dungeons-and-dragons/story
​https://bugs.webkit.org/show_bug.cgi?id=138164

Reviewed by Andreas Kling.

Source/WebCore:

This patch fixes a crash when reloading the following URL:
​http://dnd.wizards.com/dungeons-and-dragons/story

We were crashing in CachedRawResource::canReuse() because header.key
would sometimes be a null String and we would call
HashMap::get(nullString).

The real issue was that header.key was null in the first place, which
means that even though the HTTPHeaderMap iterator is valid, it->key
is a null String, which should never happen. There was a bug in the
HTTPHeaderMapConstIterator() constructor that would cause the
iterator key/value pair to not get initialized if the HTTPHeaderMap
contained *only* uncommon HTTP headers. This patch updates the
constructor so that we fall back to updating the key/value from the
uncommon header map, if we failed to initialized from the common
header map (because it was empty).

Test: http/tests/cache/xhr-uncommon-header.html

  • platform/network/HTTPHeaderMap.h:

(WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator):

LayoutTests:

Add a layout test that does XHR loads from cache with only uncommon
HTTP headers to reproduce a crash in CachedRawResource::canReuse()
when iterating over a HTTPHeaderMap that had uncommon HTTP headers
but no common ones.

  • http/tests/cache/xhr-uncommon-header-expected.txt: Added.
  • http/tests/cache/xhr-uncommon-header.html: Added.
6:40 AM Changeset in webkit [175915] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r175231 - Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
​https://bugs.webkit.org/show_bug.cgi?id=138079

Reviewed by Anders Carlsson.

Source/WebCore:

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap:

  • a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers
  • a HashMap<String, String, CaseFoldingHash> for uncommon ones

This avoids having to construct Strings from HTTPHeaderMap values for
storing. This also means we have less isolated String copies to do when
creating cross-thread data. The common headers HashMap should also be
a bit more efficient due to faster hashing and faster key comparison in
case of collision.

Some calls sites can also benefit from having direct access to common
headers of the request in HTTPHeaderName type.

This patch adds a new HTTPHeaderMapConstIterator iterator type for
HTTPHeaderMap so that call sites that do not need / want to distinguish
common / uncommon headers still do not need to. They can keep using
modern C++ loops over HTTPHeaderMap objects and get <String, String>
key/value pairs.

No new tests, no behavior change.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

(WebCore::isSimpleCrossOriginAccessRequest):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/CrossOriginAccessControl.h:

Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
Call httpHeaderFields().commonHeaders().find() instead of
httpHeaderFields().find() as we are looking for a common header.
HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a
HashMap dedicated to common headers.

  • loader/cache/CachedRawResource.cpp:

(WebCore::shouldIgnoreHeaderForCacheReuse):
Update argument type to be a HTTPHeaderName instead of a String as
only common HTTP headers can be ignored for cache reuse. The
implementation already dealt with HTTPHeaderName type and had to
call findHTTPHeaderName(). This is no longer needed now that the
call site now has direct access to common headers in HTTPHeaderName
type.

(WebCore::CachedRawResource::canReuse):

  • Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers.
  • Slightly optimize the second loop (the one over oldHeaderMap) to only check that the key is present in newHeaderMap, without actually comparing the String values. If the String values were different, the first loop would have seen it already and we would have returned early.

Source/WebKit2:

Update the WK2 IPC HTTPHeaderMap serialization / deserialization code
to leverage the fact that HTTPHeaderMap now stores common HTTP headers
and uncommon one in separate HashMaps. This speeds up deserialization
as we no longer need to call findHTTPHeaderName() for every decoded
header. We already know if the header is a common one or not, and if
it is then we already have a HTTPHeaderName type instead of a String.

I see that we spend ~40% less time in HTTPHeaderMap decoding when
loading ​http://flickr.com/explore, while the encoding takes about
the same amount of time as before.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::encode):
(IPC::ArgumentCoder<HTTPHeaderMap>::decode):

Source/WTF:

Add HashTraits for C++11 strong enum types. Using integer HashTraits for
strong enums would be inconvenient as it would require casting between
integer and strong enum types.

  • wtf/HashTraits.h:

(WTF::StrongEnumHashTraits::emptyValue):
(WTF::StrongEnumHashTraits::constructDeletedValue):
(WTF::StrongEnumHashTraits::isDeletedValue):

6:12 AM Changeset in webkit [175914] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175221 - Shrink MathMLOperatorDictionary::dictionary table
​https://bugs.webkit.org/show_bug.cgi?id=137914

Reviewed by Darin Adler.

Improve packing of the Entry structure that's used for elements
of the MathMLOperatorDictionary::dictionary table. This drops the
size of the struct from 16 bytes to just 4 bytes, and shrinks the
size of the dictionary table from rougly 16 kB down to 4 kB.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::RenderMathMLOperator::setOperatorProperties):

  • rendering/mathml/RenderMathMLOperator.h:
6:10 AM Changeset in webkit [175913] by Carlos Garcia Campos
  • 9 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175213 - Images with usemap should not have a link state
​https://bugs.webkit.org/show_bug.cgi?id=138071

Reviewed by Andreas Kling.

Source/WebCore:

Image tags were incorrectly getting a link state if a usemap is defined.
The <area> of the usemap is supposed to get the link state, but never the image.

Unfortunately, the Accessibility code was relying on the wrong behavior
to set the ImageMapRole, most of the patch is updating that code to get
the correct role without the link state.

Test: fast/selectors/images-with-usemap-should-not-match-link.html

The accessibility code is covered by a few tests in accessibility/.
The test accessibility/aria-used-on-image-maps.html ensure the <area>
elements also get the correct role.

  • dom/Node.h:

(WebCore::Node::setIsLink):
(WebCore::Node::clearIsLink): Deleted.
Unused code.

(WebCore::Node::isLink):
Move with its setter for clarity.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
This is the bug.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Here the branches for the role ImageMap where behind isLink() which would
never be valid after the fix.

My fix here was to use the same definition previously set by HTMLImageElement::parseAttribute(),
any usemap attribute qualifies the node for ImageMapRole.

(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::linkedUIElements):
(WebCore::AccessibilityRenderObject::url):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isAnchor): Deleted.
Something funny I discovered is the Accessibility code worked around the bug
by defining isAnchor() that exclude images from isLink().

Since isLink() will no longer be true for images, the hack can be removed.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::AccessibilityNodeObject::isAnchor): Deleted.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

  • fast/selectors/images-with-usemap-should-not-match-link-expected.txt: Added.
  • fast/selectors/images-with-usemap-should-not-match-link.html: Added.
5:39 AM Changeset in webkit [175912] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175158 - WebContent crash at WebCore::RenderTextControl::textFormControlElement const.
​https://bugs.webkit.org/show_bug.cgi?id=138035

Reviewed by Antti Koivisto.

NULL-check element().renderer() before using it.

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::didSetValueByUserEdit):

5:36 AM Changeset in webkit [175911] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175152 - Carets in GMail and iCloud compositions are the foreground text color
​https://bugs.webkit.org/show_bug.cgi?id=138029

Reviewed by Simon Fraser.

Source/WebCore:

Previously, we were only checking whether the background colors of the foreground and background
elements were the same, rather than taking validity and opacity into consideration.

Test: editing/caret/color-span-inside-editable-background.html

  • editing/FrameSelection.cpp:

(WebCore::disappearsIntoBackground):
(WebCore::CaretBase::paintCaret):

LayoutTests:

Test the case where the content editable root has a background color specified.

  • editing/caret/color-span-inside-editable-background-expected.html: Added.
  • editing/caret/color-span-inside-editable-background.html: Added.
5:32 AM Changeset in webkit [175910] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WTF

Merge r175115 - [GTK] Fix build on Hurd
​https://bugs.webkit.org/show_bug.cgi?id=138003

Reviewed by Carlos Garcia Campos.

  • wtf/InlineASM.h:
  • wtf/Platform.h:
5:13 AM Changeset in webkit [175909] by jinwoo7.song@samsung.com
  • 31 edits
    1 add in trunk/LayoutTests

[EFL] Unreviewed EFL gardening after r174233.

  • platform/efl/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
  • platform/efl/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
  • platform/efl/css2.1/t1602-c546-txt-align-00-b-expected.txt:
  • platform/efl/fast/multicol/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/overflow-across-columns-expected.txt:
  • platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.txt:
  • platform/efl/fast/multicol/overflow-unsplittable-expected.txt:
  • platform/efl/fast/multicol/positive-leading-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-avoidance-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/efl/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/efl/fast/text/hyphenate-character-expected.txt:
  • platform/efl/fast/text/hyphens-expected.txt:
  • platform/efl/fast/text/justified-selection-at-edge-expected.txt:
  • platform/efl/fast/text/justify-nbsp-expected.txt: Added.
  • platform/efl/fast/text/trailing-white-space-2-expected.txt:
  • platform/efl/tables/mozilla/marvin/x_tbody_align_justify-expected.txt:
  • platform/efl/tables/mozilla/marvin/x_td_align_justify-expected.txt:
  • platform/efl/tables/mozilla/marvin/x_tfoot_align_justify-expected.txt:
  • platform/efl/tables/mozilla/marvin/x_th_align_justify-expected.txt:
  • platform/efl/tables/mozilla/marvin/x_thead_align_justify-expected.txt:
  • platform/efl/tables/mozilla/marvin/x_tr_align_justify-expected.txt:
5:07 AM Changeset in webkit [175908] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175100 - AX: Do the early return when role is different than UnknownRole
​https://bugs.webkit.org/show_bug.cgi?id=137880

Reviewed by Chris Fleizach.

We do not need to call ariaRoleAttribute() to check whether m_ariaRole is different than UnknownRole.
Just check m_ariaRole instead.

No new tests, no behavior change, just some cleanup

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::determineAccessibilityRole):

5:06 AM Changeset in webkit [175907] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175095 - RenderThemeGtk::mediaControlsScript() is not defined when VIDEO is disabled.
<​https://webkit.org/b/137970>.

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-23
Reviewed by Carlos Garcia Campos.

  • rendering/RenderThemeGtk.cpp:
5:05 AM Changeset in webkit [175906] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175088 - Do not include GraphicsContext3D.h when 3D_GRAPHICS is not used.
<​https://webkit.org/b/137969>.

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
5:04 AM Changeset in webkit [175905] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175087 - Do not build WidgetBackingStoreGtkX11 when not used.
<​https://webkit.org/b/137972>.

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/gtk/WidgetBackingStoreGtkX11.cpp:
  • platform/gtk/WidgetBackingStoreGtkX11.h:
4:31 AM Changeset in webkit [175904] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.6

Merge r175078 - String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
​https://bugs.webkit.org/show_bug.cgi?id=130967

Patch by Byungseon Shin <​sun.shin@lge.com> on 2014-10-22
Reviewed by Mark Lam.

Source/JavaScriptCore:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

(JSC::constructDate):
(JSC::callDate):
(JSC::dateUTC):

  • runtime/DateInstance.cpp:

(JSC::DateInstance::calculateGregorianDateTime):
(JSC::DateInstance::calculateGregorianDateTimeUTC):

  • runtime/DatePrototype.cpp:

(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):

  • runtime/JSDateMath.cpp:

(JSC::localTimeOffset):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):

  • runtime/JSDateMath.h:
  • runtime/VM.h:

(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache):
(JSC::LocalTimeOffsetCache::reset):
Passing TimeType argument to distingush UTC time and local time.

Source/WTF:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

  • wtf/DateMath.cpp:

(WTF::calculateLocalTimeOffset):
(WTF::parseDateFromNullTerminatedCharacters):
Compensate time offset depends on UTC time or local time.

  • wtf/DateMath.h:

Add argument to differenciate UTC or local time.

LayoutTests:

Set latest DST timezone boundary values on
<​http://www.timeanddate.com/time/zone/usa/los-angeles>

  • js/dom/script-tests/date-DST-time-cusps.js:
4:14 AM Changeset in webkit [175903] by Carlos Garcia Campos
  • 3 edits
    9 adds in releases/WebKitGTK/webkit-2.6

Merge r175074 - SVG loaded through html <img> can't request to load any external resources.
​https://bugs.webkit.org/show_bug.cgi?id=137762.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-22
Reviewed by Daniel Bates.

Source/WebCore:

SVG images have unique security rules that prevent them from loading any external
resources. This patch enforces these rules in CachedResourceLoader::canRequest for
all non-data-uri resources.

The fix and the tests are ported but modified a little from the chromium fix:
​http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Test: http/tests/security/svg-image-with-cached-remote-image.html

http/tests/security/svg-image-with-css-cross-domain.html

For the SVG image, prevent loading any external sub-resource except for data urls.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

LayoutTests:

Ensure that SVG images, which are loaded through the <img> tag or through the
CSS background image, cannot load any external sub-resource except for data-
URL resources (though this doesn't work at the time of writing, see bug #137941).
Also ensure the same rule is enforced on cached resources.

The tests are ported but modified a little from the chromium fix:
​http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Set the circle background to orange

  • http/tests/security/resources/image-with-css-cross-domain-circle.css: Added.

(circle):

Set the circle stroke-width = 2 and the circle stroke = red

  • http/tests/security/resources/image-with-css-cross-domain-circle2.css: Added.

(circle):

This svg references the two css files: one is relative path and the other is absolute path

  • http/tests/security/resources/image-with-css-cross-domain.svg: Added.

This svg references an external image.

  • http/tests/security/resources/image-with-remote-image.svg: Added.

A helper css which sets the formatting style for some html tags

  • http/tests/security/svg-image-with-css-cross-domain.css: Added.

(span):
(span.circle-css-cross-domain):
(embed):
(iframe):

Test the svg which is referenced as a cached image by an <object> tag, does not load
external sub-resource.

  • http/tests/security/svg-image-with-cached-remote-image-expected.html: Added.
  • http/tests/security/svg-image-with-cached-remote-image.html: Added.

Test loading sub-resources for an svg which is included in the html by different ways
and which references external css files.
Ensure the image object does not load any external sub-resources.

  • http/tests/security/svg-image-with-css-cross-domain-expected.html: Added.
  • http/tests/security/svg-image-with-css-cross-domain.html: Added.
4:11 AM Changeset in webkit [175902] by Carlos Garcia Campos
  • 5 edits
    8 adds in releases/WebKitGTK/webkit-2.6

Merge r175053 - XMLHttpRequest should support attribute responseURL as per latest XHR spec.
​https://bugs.webkit.org/show_bug.cgi?id=136938

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: http/tests/xmlhttprequest/basic-auth-responseURL.html

http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html
http/tests/xmlhttprequest/redirect-credentials-responseURL.html
http/tests/xmlhttprequest/xmlhttprequest-responseURL.html

XMLHttpRequest should support attribute responseURL

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseURL):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl:

LayoutTests:

Added test to check responseURL attribute in XMLHttpRequest.

  • http/tests/xmlhttprequest/basic-auth-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/basic-auth-responseURL.html: Added.
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html: Added.
  • http/tests/xmlhttprequest/redirect-credentials-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/redirect-credentials-responseURL.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL.html: Added.
4:03 AM Changeset in webkit [175901] by Carlos Garcia Campos
  • 4 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r175043 - Match spec for font-weight: bolder|lighter
​https://bugs.webkit.org/show_bug.cgi?id=137919

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-10-22
Reviewed by Andreas Kling.

This patch is a merge of Blink's
Source/WebCore:

​https://chromiumcodereview.appspot.com/15994009

Currently, bolder and lighter change font-weight in a non-compliant way.
The spec (​http://www.w3.org/TR/css3-fonts/#bolderlighter) defines
exactly what the computed values should be given the inherited weight values,
so we should match those.

The removed FIXME's for selecting the next lightest/heaviest weight from
the used font family seems to refer to behaviour from
CSS1 (​http://www.w3.org/TR/CSS1/#font-weight), while this is replaced
with a simpler procedure for resolving bolder and lighter in font weights
in CSS2 (​http://www.w3.org/TR/CSS2/fonts.html#propdef-font-weight) and CSS3 (link above).

and ​https://codereview.chromium.org/137813004

According to ​http://dev.w3.org/csswg/css-fonts/#font-weight-prop, the computed
weight of 'lighter' and 'bolder' are based on the inherited 'font-weight', so set
that inherited weight before calculating 'lighter' and 'bolder'.

Tests: css3/font-weight-multiple-selectors.html

css3/font-weight.html

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyFontWeight::applyValue):

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::lighterWeight):
(WebCore::FontDescription::bolderWeight):

LayoutTests:

​https://chromiumcodereview.appspot.com/15994009 and
​https://codereview.chromium.org/137813004

  • css3/font-weight-expected.txt: Added.
  • css3/font-weight-multiple-selectors-expected.txt: Added.
  • css3/font-weight-multiple-selectors.html: Added.
  • css3/font-weight.html: Added.
4:01 AM Changeset in webkit [175900] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r175005 - Remove erroneous canUseJIT() in the intrinsics version of JITThunks::hostFunctionStub().
<​https://webkit.org/b/137937>

Reviewed by Michael Saboff.

This version of JITThunks::hostFunctionStub() can only be called from the intrinsics
version of VM::getHostFunction() which asserts canUseJIT(). Hence, we can eliminate
the canUseJIT() check in JITThunks::hostFunctionStub(). We don't handle the
!canUseJIT() case properly there anyway.

  • jit/JITThunks.cpp:

(JSC::JITThunks::hostFunctionStub):

3:58 AM Changeset in webkit [175899] by Carlos Garcia Campos
  • 4 edits
    2 adds
    1 delete in releases/WebKitGTK/webkit-2.6

Merge r174992 - AX: [ATK] CSS-generated text content not exposed to assistive technologies
​https://bugs.webkit.org/show_bug.cgi?id=137669

Reviewed by Chris Fleizach.

Source/WebCore:

Do not use a text iterator to get the text for elements which include
pseudo elements.

Test: accessibility/css-content-attribute.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

Moved the Mac platform test and modified it to dump the accessible tree
and string values rather than a platform-specific hierarchy so that it
could be shared across platforms.

  • accessibility/css-content-attribute.html: Added.
  • platform/gtk/accessibility/css-content-attribute-expected.txt: Added.
  • platform/mac/accessibility/css-content-attribute-expected.txt: Modified to reflect new output.
  • platform/mac/accessibility/css-content-attribute.html: Removed.
3:55 AM Changeset in webkit [175898] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174986 - REGRESSION: Google Search (mobile) video thumbnails are too large.
​https://bugs.webkit.org/show_bug.cgi?id=137895

Reviewed by Simon Fraser.

This patch fixes layer clipping when an ancestor layer has border-radius clipping.

In cases, where the current layer has non-radius cliprect, while an ancestor layer
has border-radius clipping, we only use the border-radius rect to clip.

Source/WebCore:

Test: fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::restoreClip):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRect::ClipRect):
(WebCore::ClipRect::effectedByRadius):
(WebCore::ClipRect::setEffectedByRadius):
(WebCore::ClipRect::operator==):
(WebCore::ClipRect::operator!=):
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::hasRadius): Deleted.
(WebCore::ClipRect::setHasRadius): Deleted.

LayoutTests:

  • fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent-expected.html: Added.
  • fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html: Added.
3:40 AM Changeset in webkit [175897] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174922 - Ensure attached frame count doesn't exceed the maximum allowed frames
​https://bugs.webkit.org/show_bug.cgi?id=136457

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/frames/exponential-frames.html

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::isURLAllowed):

LayoutTests:

  • fast/frames/exponential-frames-expected.txt: Added.
  • fast/frames/exponential-frames.html: Added.
3:39 AM Changeset in webkit [175896] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174920 - Tighten XMLHttpRequest setRequestHeader value check
​https://bugs.webkit.org/show_bug.cgi?id=128593

Patch by Youenn Fablet <​youenn.fablet@crf.canon.fr> on 2014-10-20
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/xmlhttprequest/set-bad-headervalue.html

  • platform/network/HTTPParsers.cpp:

(WebCore::isValidHTTPHeaderValue): Updated header values check according RFC 7230.
(WebCore::isValidHTTPToken): Renamed variable name and updated RFC related comment.

LayoutTests:

Added a test originating from w3c-test.org to test header values checking.
Testing headers with non ASCII characters and various control characters.

  • http/tests/xmlhttprequest/set-bad-headervalue-expected.txt: Added.
  • http/tests/xmlhttprequest/set-bad-headervalue.html: Added.
3:37 AM Changeset in webkit [175895] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174916 - Use glFinish instead of glFlush when drawing WebGL output to screen.
​https://bugs.webkit.org/show_bug.cgi?id=137897.
<rdar://problem/15846550>

Reviewed by Brent Fulgham.

Passes all conformance tests.
Performance tested by ​http://threejs.org/examples/#webgl_performance and Unity WebGL performance tests.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture):

3:34 AM Changeset in webkit [175894] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174883 - [cmake] Remove duplicated source files
​https://bugs.webkit.org/show_bug.cgi?id=137875

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
3:29 AM Changeset in webkit [175893] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174855 - Calling glReadPixels with BGRA format on an NVIDIA machine with an opaque context returns the wrong alpha values.
​https://bugs.webkit.org/show_bug.cgi?id=137793.
<rdar://problem/15408133>

Reviewed by Dean Jackson.

This fixes conformance test context/context-attribute-preserve-drawing-buffer.html.

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
On an NVIDIA machine, when the context has alpha turned off, call glReadPixels with RGBA format and then convert to RGBA.

3:25 AM Changeset in webkit [175892] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174802 - Missing RefPtr.release() calls in TextureMapper
​https://bugs.webkit.org/show_bug.cgi?id=137777

Patch by Adrien Destugues <​pulkomandy@gmail.com> on 2014-10-16
Reviewed by Chris Dumez.

No new tests: no functional change, cleanup/optimization.

Avoids useless ref/deref cycle when returning from functions.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::acquireTextureFromPool):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintIntoSurface):

3:23 AM Changeset in webkit [175891] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174762 - Use isnan from std namespace in ProfileGenerator.cpp
​https://bugs.webkit.org/show_bug.cgi?id=137653

Patch by Adrien Destugues <​pulkomandy@gmail.com> on 2014-10-16
Reviewed by Darin Adler.

The C++ isnan() function is in the std namespace. The unprefixed isnan
may be available because of C99 headers leakage in C++, but should not
be used.

No new tests: no functional change, build fix on platforms which don't
export C99 functions in C++.

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause):
(JSC::ProfileGenerator::didContinue):

3:19 AM Changeset in webkit [175890] by Carlos Garcia Campos
  • 17 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r174761 - ASSERTION FAILED in WebCore::RenderFlowThread::getRegionRangeForBox
​https://bugs.webkit.org/show_bug.cgi?id=135563

Reviewed by David Hyatt.

Source/WebCore:

The new multi-column code doesn't work correctly when the document contains nested fragmentation
contexts. The problem is the current flow thread concept that can store only one RenderFlowThread
at a time and use it during layout.

The stored flow thread is always correct for regions because named flow threads are absolutley positioned
so every child renderer is contained inside them (with the expcetion of fixed positioned elements which are
treated separately).

For multi-column elements this is no longer the case. An absolutely positioned element inside a static
multi-column element will be contained by a block outside the fragmentation context. It can even be
contained by a different multi-column element in the case of nested flow threads.

The patch below explores a solution that's not based on a current flow thread stored globally. The proposed
patch makes every block to store a pointer to its fragmentation context and a flag that states if this pointer
needs to be updated or not. If the renderer is not a block it will get its flow thread from the containing
block. Once the containing flow thread is requested for the block, the pointer is computed and cached until
invalidated:

  • when a subtree is removed from a flow thread
  • when the position property of an element inside a flow thread changes

The process is recursive and it doesn't affect elements that are not nested inside a flow thread. If a block
changes position from relative to static, any element that was contained by it can only be contained by an
ancestor of the block. This ancestor will still be outside of any flow thread. This ensures that non-fragmentation
code is not affected from a performance perspective.

The patch affects the results of the performance tests:

  • the regions layout tests have a decreased performance raging from 2% to 5-6%
  • the regions selection tests have an increased performance raging from 1-2% to 10%
  • the multicolumn layout tests (now pending review in b137687) have an increased performance

raging from 1.8% to 5%

Tests: fast/multicol/multicol-all-positioned-crash.html

fast/multicol/multicol-transform-containing-block.html

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::FlowThreadController):

  • rendering/FlowThreadController.h:

(WebCore::FlowThreadController::currentRenderFlowThread): Deleted.
(WebCore::FlowThreadController::setCurrentRenderFlowThread): Deleted.

  • rendering/LayoutState.h:

(WebCore::LayoutState::currentRenderFlowThread):
(WebCore::LayoutState::setCurrentRenderFlowThread):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::cachedFlowThreadContainingBlock):
(WebCore::RenderBlock::cachedFlowThreadContainingBlockNeedsUpdate):
(WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate):
(WebCore::RenderBlock::updateCachedFlowThreadContainingBlock):
(WebCore::RenderBlock::locateFlowThreadContainingBlock):

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

(WebCore::RenderBlockFlow::styleWillChange):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer): Deleted.
(WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer): Deleted.
(WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler): Deleted.
(WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler): Deleted.

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

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRegionsInformation):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::removeFromRenderFlowThread):
(WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):
(WebCore::RenderObject::invalidateFlowThreadContainingBlockIncludingDescendants):
(WebCore::RenderObject::currentRenderNamedFlowFragment):
(WebCore::RenderObject::locateFlowThreadContainingBlock):
(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache): Deleted.
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive): Deleted.

  • rendering/RenderObject.h:

(WebCore::RenderObject::flowThreadContainingBlock):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::computeOverflowFromFlowThread):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
(WebCore::RenderView::popLayoutStateForCurrentFlowThread):

  • rendering/RenderView.h:

LayoutTests:

A test verifying that positioned elements inside multi-column containers don't
cause assertions or crashes.

  • fast/multicol/multicol-all-positioned-crash-expected.txt: Added.
  • fast/multicol/multicol-all-positioned-crash.html: Added.
  • fast/multicol/multicol-transform-containing-block-expected.txt: Added.
  • fast/multicol/multicol-transform-containing-block.html: Added.
3:14 AM Changeset in webkit [175889] by Yusuke Suzuki
  • 7 edits
    6 adds in trunk

CSS4 Selectors: Add multiple pseudo elements support to :matches
​https://bugs.webkit.org/show_bug.cgi?id=138214

Reviewed by Benjamin Poulain.

Source/WebCore:

In this patch, we implement (multiple) pseudo elements support to :matches.
Currently, we implemented it in css/SelectorChecker and there's no CSS JIT implementation.

And we change the semantics of pseudo element selector behavior.
Previously when pseudo element selector appeared in the non-rightmost
fragment, it was ignored. This patch changes it to unmatched.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus):
(WebCore::SelectorChecker::match):
(WebCore::hasScrollbarPseudoElement):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::MatchResult::matches):
(WebCore::SelectorChecker::MatchResult::updateWithMatchType):
(WebCore::SelectorChecker::MatchResult::fails):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPseudoElement):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::setHasPseudoStyles):

  • rendering/style/RenderStyleConstants.h:

(WebCore::PseudoIdSet::PseudoIdSet):
(WebCore::PseudoIdSet::fromMask):
(WebCore::PseudoIdSet::has):
(WebCore::PseudoIdSet::add):
(WebCore::PseudoIdSet::merge):
(WebCore::PseudoIdSet::operator &):
(WebCore::PseudoIdSet::operator |):
(WebCore::PseudoIdSet::operator bool):
(WebCore::PseudoIdSet::data):

LayoutTests:

  • fast/selectors/pseudo-element-in-non-rightmost-fragments-expected.html: Added.
  • fast/selectors/pseudo-element-in-non-rightmost-fragments.html: Added.

In this test, we ensure that pseudo elements selector in the
non-rightmost fragments becomes unmatched.

  • fast/selectors/pseudo-element-inside-matches-expected.html: Added.
  • fast/selectors/pseudo-element-inside-matches.html: Added.
  • fast/selectors/ignore-pseudo-element-inside-non-rightmost-fragments-expected.txt: Added.
  • fast/selectors/ignore-pseudo-element-inside-non-rightmost-fragments.html: Added.
2:53 AM Changeset in webkit [175888] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174700 - Crash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers
​https://bugs.webkit.org/show_bug.cgi?id=137676
<rdar://problem/15735049>

Reviewed by Alexey Proskuryakov.

Remove the code I added that tracks the timestamp of the most recent
user gesture from the event handling dispatch, as it was both
a silly place to do it and it originally crashed when events were fired from
Worker threads (although this was fixed in r152238).

It's now recorded by going through UserGestureIndicator, which is good because
it knows when a user has triggered an event. Its constructor now takes
a pointer to Document, and updates the timestamp there if necessary.

Not all UserGestureIndicator instances needed to reset the timestamp; Those did
not have to pass along the Document.

This is untestable due to the fix mentioned above.

  • WebCore.exp.in: Change constructor signature.
  • accessibility/AccessibilityNodeObject.cpp: Pass a pointer to the Document into the UserGestureIndicator.

(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):

  • accessibility/AccessibilityObject.cpp: Ditto.

(WebCore::AccessibilityObject::press):

  • dom/Document.cpp:

(WebCore::Document::updateLastHandledUserGestureTimestamp): Renamed.

  • dom/Document.h:
  • dom/EventTarget.cpp: Remove the code to update the timestamp.

(WebCore::EventTarget::fireEventListeners):

  • dom/UserGestureIndicator.cpp:

(WebCore::UserGestureIndicator::UserGestureIndicator): If there is a Document and
this is a user gesture, then reset the timestamp.

  • dom/UserGestureIndicator.h:
  • page/EventHandler.cpp: Pass a pointer to the Document.

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):

  • rendering/HitTestResult.cpp: Ditto.

(WebCore::HitTestResult::toggleMediaFullscreenState):
(WebCore::HitTestResult::enterFullscreenForVideo):

2:44 AM Changeset in webkit [175887] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

webkitpy test fix after r175867
​https://bugs.webkit.org/show_bug.cgi?id=138607

Reviewed by Philippe Normand.

  • Scripts/webkitpy/port/linux_get_crash_log_unittest.py:

(GDBCrashLogGeneratorTest.test_generate_crash_log):

2:38 AM Changeset in webkit [175886] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175757. rdar://problems/18900200

2:33 AM Changeset in webkit [175885] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.6

Merge r174677 - Changes in the stretchy attribute do not update rendering
​https://bugs.webkit.org/show_bug.cgi?id=136883

Reviewed by Darin Adler.

Source/WebCore:

Test: mathml/presentation/mo-stretch-update.html

We need to relayout when a change in the stretchy attribute
happens.

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::parseAttribute): Parse the
modifications of the stretchy attribute.

  • mathml/MathMLTextElement.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::setOperatorFlagAndScheduleLayoutIfNeeded):
Add function that receives the value instead of looking for it and
checks if the change should schedule a layout.
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue):
Add function that receives the value instead of looking for it.

  • rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

The test updates the stretchy value in a timeout.

  • mathml/presentation/mo-stretch-update-expected.html: Added.
  • mathml/presentation/mo-stretch-update.html: Added.
2:28 AM Changeset in webkit [175884] by Carlos Garcia Campos
  • 4 edits
    10 adds in releases/WebKitGTK/webkit-2.6

Merge r174640 - Referrer Policy: Update <meta name="referrer"> values to match the spec
​https://bugs.webkit.org/show_bug.cgi?id=137635

Reviewed by Jochen Eisinger.

Source/WebCore:

The Referrer Policy specification ([Working Draft][WD], [Editor's
draft[ED]) defines different keywords than we originally
implemented. We should support them in the interests of clarity and
interoperability with other browsers implementing the specification.

[WD]: ​http://www.w3.org/TR/referrer-policy/#referrer-policy-delivery-meta
[ED]: ​http://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-delivery-meta

This patch is a port of Blink's ​https://codereview.chromium.org/607433002/

Tests: http/tests/security/referrer-policy-conflicting-policies.html

http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-https-no-referrer.html
http/tests/security/referrer-policy-https-unsafe-url.html
http/tests/security/referrer-policy-no-referrer-when-downgrade.html
http/tests/security/referrer-policy-no-referrer.html

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):

LayoutTests:

  • http/tests/security/referrer-policy-https-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-https-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-https-no-referrer.html: Added.
  • http/tests/security/referrer-policy-https-unsafe-url-expected.txt: Added.
  • http/tests/security/referrer-policy-https-unsafe-url.html: Added.
  • http/tests/security/referrer-policy-invalid-expected.txt: Update the error message with new keywords.
  • http/tests/security/referrer-policy-no-referrer-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade-expected.txt: Added.
  • http/tests/security/referrer-policy-no-referrer-when-downgrade.html: Added.
  • http/tests/security/referrer-policy-no-referrer.html: Added.
2:10 AM Changeset in webkit [175883] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174540 - RenderMathMLUnderOver adds spacing to the child operator indefinitely when resizing the window.
​https://bugs.webkit.org/show_bug.cgi?id=137330

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-09
Reviewed by Darin Adler.

The layout for the <mundercover> math object happens in two separate passes. The first pass runs
the layout for the two children and then calculates the maximum child width. It then sets the
stretch size for the math operator child. And finally it runs the second layout pass by calling
the base class layout() function. The base class function then runs the layout for the children
rendering blocks. In the operator child function computePreferredLogicalWidths(), the stretch
size is used to adjust the width (or the height) of the operator. Then it adds the leading and
trailing spaces and the total will be the operator child width.

When resizing or zooming the window, the render objects are just invalidated but marked as 'needs-
Layout'. The problem is happening because the stretch size of the math operator is not reset
before running the layout. The old logical width (or height) of the the math operator child which
is equal to the stretch size plus the leading and trailing spaces for is compared with the glyph
size if the old logical width ( or height) is larger, it is set to be the stretch size. When it
is used again because of invalidation, new leading and trailing spaces are included in the new
logical width. So with every zooming-in or out or window resizing, new leading and trailing
spaces are added to the logical width of the math operator child or the math <munderober> object.

Ensure the stretch size of the math operator render object is reset before running its layout.
Running the layout means either the page is just loaded or it's invalidated which means, no
layout stall data should be used.

Test: mathml/opentype/munderover-window-resize.html

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::resetStretchSize):

  • rendering/mathml/RenderMathMLOperator.h:

resetStretchSize() sets the stretch size to its original value when the class is created.

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::layout):
Make sure the operator stretch size is reset before calling its layout. Also make sure the new
maximum stretch size to the operator objects that were invalid and needsLayout.

LayoutTests:
RenderMathMLUnderOver adds spacing to the child operator indefinitely when zooming or resizing the window.
​https://bugs.webkit.org/show_bug.cgi?id=137330

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-09
Reviewed by Darin Adler, Daniel Bates.

When the alignment is center, which is the common case for math, changing the size of
an object affects the position of this object also. We need to confirm that zooming or
resizing the window should not affect the rectangle of the over/under math object operator.

  • mathml/opentype/munderover-window-resize-expected.txt: Added.
  • mathml/opentype/munderover-window-resize.html: Added.

New test with many under and over math objects. After loading the page, the window is resized and
the view is zoomed in and out to make sure the layout of these under and over objects were not changed.

  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:

This test was wrong because of the spacing issue. The page has two <mover> math objects at the beginning.
Each of them has an <mspace> child. The width of the first <mspace> is 1em while the width of the second
<mspace> is 2em. The font size is 10pt. So it is expected to have the first one 10 pixels and the second
to be 20 pixels. In the test, the width of the first is 22 and the width of the second is 32.
I do expect this test to fail on other platforms since they have the same mistake which is now fixed. I am
going to submit the mac expected version only and when it fails I am going to collect the result and submit
another patch for the other platforms expected files.

2:05 AM Changeset in webkit [175882] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WTF

Merge r174511 - Enable ARM64 disassembler for all platforms
​https://bugs.webkit.org/show_bug.cgi?id=137560

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-10-09
Reviewed by Michael Saboff.

Remove PLATFORM conditions from around WTF_USE_ARM64_DISASSEMBLER since
the ARM64 disassembler has no platform dependencies anymore.

  • wtf/Platform.h:
1:29 AM Changeset in webkit [175881] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175821. rdar://problems/18929733

1:21 AM Changeset in webkit [175880] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Another assertion fix for debug builds after r175846.

generateByIdStub() can now be called with an empty prototype chain
if kind == GetUndefined, so tweak the assertion to cover that.

  • jit/Repatch.cpp:

(JSC::generateByIdStub):

1:18 AM Changeset in webkit [175879] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.3-branch/Source

Merged r175842. rdar://problems/18877506

1:18 AM Changeset in webkit [175878] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175837. rdar://problems/18932048

1:18 AM Changeset in webkit [175877] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175835. rdar://problems/18933586

1:18 AM Changeset in webkit [175876] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175832. rdar://problems/18877497

1:18 AM Changeset in webkit [175875] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175831. rdar://problems/18931330

1:18 AM Changeset in webkit [175874] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175825. rdar://problems/18877483

1:18 AM Changeset in webkit [175873] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175823. rdar://problems/18877483

1:18 AM Changeset in webkit [175872] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175820. rdar://problems/18877483

1:18 AM Changeset in webkit [175871] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175819. rdar://problems/18877483

1:18 AM Changeset in webkit [175870] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175816. rdar://problems/18877483

1:18 AM Changeset in webkit [175869] by matthew_hanson@apple.com
  • 14 edits
    1 copy
    1 add in branches/safari-600.3-branch/Source

Merged r175814. rdar://problems/18877483

1:04 AM Changeset in webkit [175868] by Philippe Normand
  • 2 edits in trunk/Tools

webkitpy: demangle C++ symbols from crash log stderr
​https://bugs.webkit.org/show_bug.cgi?id=138565

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/port/linux_get_crash_log.py:

(GDBCrashLogGenerator.generate_crash_log): Process stderr output
with c++filt.

1:01 AM Changeset in webkit [175867] by Philippe Normand
  • 3 edits in trunk/Tools

[GTK] fix up the GDB backtrace report tool
​https://bugs.webkit.org/show_bug.cgi?id=138564

Reviewed by Carlos Garcia Campos.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort._get_crash_log): Match the process name reported by the
driver with the GTK port WebProcess executable filename.

  • Scripts/webkitpy/port/linux_get_crash_log.py:

(GDBCrashLogGenerator._get_gdb_output): Invoke gdb for the crashed
program.
(GDBCrashLogGenerator.generate_crash_log): Use %E in the core
pattern to workaround the 16 characters size limit of %e.

12:49 AM Changeset in webkit [175866] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175790. rdar://problems/18919700

12:49 AM Changeset in webkit [175865] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175780. rdar://problems/18919195

12:49 AM Changeset in webkit [175864] by matthew_hanson@apple.com
  • 11 edits in branches/safari-600.3-branch/Source

Merged r175779. rdar://problems/18742164

12:49 AM Changeset in webkit [175863] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175770. rdar://problems/18909717

12:49 AM Changeset in webkit [175862] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175761. rdar://problems/18909699

12:16 AM Changeset in webkit [175861] by matthew_hanson@apple.com
  • 9 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175756. rdar://problems/18901445

12:16 AM Changeset in webkit [175860] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175754. rdar://problems/18877717

12:08 AM Changeset in webkit [175859] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175753. rdar://problems/18892787

12:03 AM Changeset in webkit [175858] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175732. rdar://problems/18889231

Nov 10, 2014:

11:59 PM Changeset in webkit [175857] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175711. rdar://problems/18893079

11:55 PM Changeset in webkit [175856] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175705. rdar://problems/18892496

11:49 PM Changeset in webkit [175855] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175704. rdar://problems/18869036

11:43 PM Changeset in webkit [175854] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175702. rdar://problems/18872825

11:38 PM Changeset in webkit [175853] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175701. rdar://problems/18768377

11:19 PM Changeset in webkit [175852] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Lazily create HTMLInputElement's inputType and shadow subtree
​https://bugs.webkit.org/show_bug.cgi?id=138524

Reviewed by Ryosuke Niwa.

When an HTMLInputElement was created by the parser, we would first call
HTMLInputElement::create(), then call Element::parserSetAttributes() on
the constructed input. With the previous implementation, this was a bit
inefficient because HTMLInputElement::create() would construct a
TextInputType inputType (as this is the default) as well as its
corresponding shadow subtree. Then, parserSetAttributes() would often
set the |type| attribute and would need to destroy this input type as
well as its subtree if the new |type| is not 'text', to create a new
inputType / shadow subtree of the right type. The profiler showed that
this was fairly expensive.

To improve this, this patch delays the inputType / shadow subtree
creation when the HTMLInputElement is constructed by the parser, until
the attributes are actually set by the parser. This way, we directly
create an inputType / shadow subtree of the right type.

I see a 1.4% speed up on speedometer (73.95 -> 75.0).

No new tests, no behavior change.

  • dom/Element.cpp:

(WebCore::Element::parserSetAttributes):
(WebCore::Element::parserDidFinishParsingAttributes):

  • dom/Element.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::ensureInputType):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::parserDidFinishParsingAttributes):

  • html/HTMLInputElement.h:
10:11 PM Changeset in webkit [175851] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix possible crash when closing the web inspector
​https://bugs.webkit.org/show_bug.cgi?id=138597
rdar://problem/18872688

Reviewed by Andreas Kling.

I reported a crash when reloading a page after inspecting it, possibly caused by
r172864. Speculatively fix by null-checking the main frame.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::~WebInspectorClient):

8:58 PM Changeset in webkit [175850] by jonowells@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Update Esprima, remove WebInspector.Esprima global.
​https://bugs.webkit.org/show_bug.cgi?id=138579

Reviewed by Timothy Hatcher.

Update esprima.js file to be unchanged by removing WebInspector.Esprima global object. Move esprima.js include
so that all external libraries load before the WebInspector namespace is declared in the combined Main.js.

  • UserInterface/External/Esprima/esprima.js: File updated, no changes made.
  • UserInterface/Main.html: esprima.js script tag moved up with other externals.
  • UserInterface/Models/ScriptSyntaxTree.js: WebInspector.Esprima changed to esprima

(WebInspector.ScriptSyntaxTree):

8:32 PM Changeset in webkit [175849] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Assertion fix for debug builds after r175846.

PropertySlot::slotBase() will assert if the slot is unset, so reorder
the tests to check for isCacheableValue() first.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

7:49 PM Changeset in webkit [175848] by benjamin@webkit.org
  • 9 edits
    8 adds in trunk

Source/WebCore:
Add parsing support for the extended :nth-last-child(An+B of selector-list) defined
​https://bugs.webkit.org/show_bug.cgi?id=138520

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-11-10
Reviewed by Andreas Kling.

Add parsing for :nth-last-child(An+B of selector-list). The selector is defined
in CSS Selectors Level 4: ​http://dev.w3.org/csswg/selectors4/#the-nth-last-child-pseudo

Tests: fast/css/parsing-css-nth-last-child-of-1.html

fast/css/parsing-css-nth-last-child-of-2.html
fast/css/parsing-css-nth-last-child-of-3.html
fast/css/parsing-css-nth-last-child-of-4.html

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::detectFunctionTypeToken):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

LayoutTests:
Add parsing support for the extended :nth-last-child(An+B of selector-list)
​https://bugs.webkit.org/show_bug.cgi?id=138520

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-11-10
Reviewed by Andreas Kling.

All the tests are variations of the existing tests for :nth-child(An+B of selector-list).

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/parsing-css-nth-last-child-of-1-expected.txt: Added.
  • fast/css/parsing-css-nth-last-child-of-1.html: Added.
  • fast/css/parsing-css-nth-last-child-of-2-expected.txt: Added.
  • fast/css/parsing-css-nth-last-child-of-2.html: Added.
  • fast/css/parsing-css-nth-last-child-of-3-expected.txt: Added.
  • fast/css/parsing-css-nth-last-child-of-3.html: Added.
  • fast/css/parsing-css-nth-last-child-of-4-expected.txt: Added.
  • fast/css/parsing-css-nth-last-child-of-4.html: Added.
7:25 PM Changeset in webkit [175847] by commit-queue@webkit.org
  • 6 edits
    3 adds in trunk

Source/WebCore:
SVG foreign objects do not inherit the container coordinates system if they are repainted.
​https://bugs.webkit.org/show_bug.cgi?id=138481.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-11-10
Reviewed by Simon Fraser.

If a foreign object is included in an SVG, it should inherit the coordinates system
of the container if it is repainted. The foreign object is actually redrawn in the
CSS coordinates system regardless of the transformation that may be applied to the
container.

The bug is RenderSVG* classes use computeFloatRectForRepaint(), but the rest of the
render classes use computeRectForRepaint(). RenderSVGForeignObject::computeRectForRepaint()
was not defined, so we end up hitting RenderObject::computeRectForRepaint() for
a RenderSVGTransformableContainer and completely miss the transform.

Tests: svg/transforms/svg-transform-foreign-object-repaint.html

Implement RenderSVGForeignObject::computeRectForRepaint() so we can apply the
container transformation on the SVG foreign object repaint rectangle.

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::computeRectForRepaint):

  • rendering/svg/RenderSVGForeignObject.h:

LayoutTests:
SVG foreign objects do not inherit the container coordinates system if they are repainted..
​https://bugs.webkit.org/show_bug.cgi?id=138481.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-11-10
Reviewed by Simon Fraser.

Ensure the repaint rectangle of the SVG foreign object is calculated correctly
when the container element has transformation.

  • svg/transforms/svg-transform-foreign-object-repaint-expected.png: Added.
  • svg/transforms/svg-transform-foreign-object-repaint-expected.txt: Added.
  • svg/transforms/svg-transform-foreign-object-repaint.html: Added.

Re-baseline these tests since the render tree dumping uses renderer.absoluteClippedOverflowRect()
in writePositionAndStyle() to get the object rectangle so this issue only affects test output.

  • svg/zoom/page/zoom-foreign-content-expected.txt:
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt:
7:10 PM Changeset in webkit [175846] by akling@apple.com
  • 6 edits
    3 adds in trunk

The JIT should cache property lookup misses.
<​https://webkit.org/b/135578>

Source/JavaScriptCore:

Add support for inline caching of missed property lookups.
Previously this would banish us to C++ slow path.

It's implemented as a simple GetById cache that returns jsUndefined()
as long as the Structure chain check passes. There's no DFG exploitation
of this knowledge in this patch.

Test: js/regress/undefined-property-access.js (~5.5x speedup)

Reviewed by Filip Pizlo.

  • bytecode/PolymorphicGetByIdList.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

Add GetByIdAccess::SimpleMiss so we can communicate to the DFG that
the access has been cached.

  • jit/Repatch.cpp:

(JSC::toString):
(JSC::kindFor):
(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):

Added a GetUndefined stub kind, just a simple "store jsUndefined()" snippet.
Use this to cache missed lookups, piggybacking mostly on the GetValue kind.

  • runtime/PropertySlot.h:

(JSC::PropertySlot::isUnset):

Exposed the unset state so PropertySlot can communicate that lookup failed.

LayoutTests:

Add a JSRegress test for caching of property lookup misses.
There are three subtests:

  1. Pure speed test.
  2. Test for when a property previously cached as missing suddenly appears on the object.
  3. Same as (2), but it appears on the prototype.

The test runs ~5.5x faster with the optimization.

Reviewed by Filip Pizlo.

  • js/regress/script-tests/undefined-property-access.js: Added.

(foo):
(bar):
(baz):

  • js/regress/undefined-property-access-expected.txt: Added.
  • js/regress/undefined-property-access.html: Added.
7:05 PM Changeset in webkit [175845] by msaboff@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Add scope operand to op_create_lexical_environment
​https://bugs.webkit.org/show_bug.cgi?id=138588

Reviewed by Geoffrey Garen.

Added a second operand to op_create_lexical_environment that contains the scope register
to update. Note that the DFG relies on operationCreateActivation() to update the
scope register since we can't issue a set() with a non-local, non-argument register.
This is temporary until the scope register is allocated as a local.

  • bytecode/BytecodeList.json:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
Added the scope register operand.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
Filled in the scope register operand.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_lexical_environment):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_create_lexical_environment):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Set the scope register with the result of the appropriate create activation slow call.

5:47 PM Changeset in webkit [175844] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebCore

Use std::unique_ptr<> and std::make_unique<> in WebCore
​https://bugs.webkit.org/show_bug.cgi?id=138560

Reviewed by Chris Dumez.

Clean up unused OwnPtr.h and PassOwnPtr.h and use std::unique_ptr.

No new tests, no behavior changes.

  • Modules/encryptedmedia/CDMPrivateMediaPlayer.h:
  • dom/ContainerNode.h:
  • dom/ElementIteratorAssertions.h:

(WebCore::ElementIteratorAssertions::ElementIteratorAssertions):

  • dom/ElementRareData.h:
  • page/DragController.h:
  • rendering/RenderView.h:
5:37 PM Changeset in webkit [175843] by mmaxfield@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test that complext and fast text codepaths measure the same width
​https://bugs.webkit.org/show_bug.cgi?id=138581

Reviewed by Simon Fraser.

  • fast/text/space-width-expected.html: Added.
  • fast/text/space-width.html: Added.
5:21 PM Changeset in webkit [175842] by Beth Dakin
  • 7 edits in trunk/Source

WK1: Support default actions for editable text with misspelled word
​https://bugs.webkit.org/show_bug.cgi?id=138590
-and corresponding-
rdar://problem/18877506

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit/mac:

If there are misspelled word suggestions for editable text, create a new type of
menu with a spelling suggestion sub-menu.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]):
(-[WebActionMenuController _changeSelectionToSuggestion:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _changeSpellingToWord:]):

  • WebView/WebHTMLViewInternal.h:
  • WebView/WebUIDelegatePrivate.h:
5:16 PM Changeset in webkit [175841] by ap@apple.com
  • 64 edits
    1 copy
    3 moves in trunk/LayoutTests

http tests should not use shared temporary files
​https://bugs.webkit.org/show_bug.cgi?id=138583

Reviewed by Tim Horton.

Made some of the scripts that write to files take a path argument, and made others
more strictly serve only one test.

This way, we don't race for any files.

  • http/tests/appcache/fail-on-update-2.html:
  • http/tests/appcache/fallback.html:
  • http/tests/appcache/main-resource-fallback-for-network-error-crash.html:
  • http/tests/appcache/main-resource-hash.html:
  • http/tests/appcache/main-resource-redirect.html:
  • http/tests/appcache/multi-fallback.html:
  • http/tests/appcache/non-html.xhtml:
  • http/tests/appcache/offline-access.html:
  • http/tests/appcache/online-whitelist.html:
  • http/tests/appcache/remove-cache.html:
  • http/tests/appcache/resources/counter.php: Removed.
  • http/tests/appcache/resources/fail-on-update-2.php:
  • http/tests/appcache/resources/fail-on-update.php:
  • http/tests/appcache/resources/main-resource-redirect-frame.php:
  • http/tests/appcache/resources/main-resource-redirect.manifest:
  • http/tests/appcache/resources/non-html.manifest:
  • http/tests/appcache/resources/offline-access-frame.html:
  • http/tests/appcache/resources/offline-access.js:
  • http/tests/appcache/resources/offline-access.manifest:
  • http/tests/appcache/resources/online-whitelist.manifest:
  • http/tests/appcache/resources/online-whitelist.php: Copied from LayoutTests/http/tests/appcache/resources/counter.php.
  • http/tests/appcache/resources/remove-cache-frame-2.html:
  • http/tests/appcache/resources/remove-cache-frame.html:
  • http/tests/appcache/resources/remove-cache.php: Copied from LayoutTests/http/tests/appcache/resources/fail-on-update.php.
  • http/tests/appcache/resources/update-cache.php: Copied from LayoutTests/http/tests/appcache/resources/versioned-manifest.php.
  • http/tests/appcache/resources/versioned-manifest.php: Removed.
  • http/tests/appcache/update-cache.html:
  • http/tests/cache/network-error-during-revalidation.html:
  • http/tests/cache/post-redirect-get.php:
  • http/tests/cache/post-with-cached-subresources.php:
  • http/tests/cache/reload-main-resource.php:
  • http/tests/cache/resources/network-error-during-revalidation-frame.html:
  • http/tests/cache/resources/partitioned-cache-echo-state.php:
  • http/tests/cache/resources/partitioned-cache-loader.html:
  • http/tests/cache/resources/post-image-to-verify.php:
  • http/tests/cache/resources/reload-main-resource-iframe.php:
  • http/tests/cache/stopped-revalidation.html:
  • http/tests/cache/subresource-fragment-identifier.html:
  • http/tests/css/border-image-loading.html:
  • http/tests/css/css-image-loading.html:
  • http/tests/css/mask-image-loading.html:
  • http/tests/css/reflection-mask-image-loading.html:
  • http/tests/css/resources/request-logging.js:
  • http/tests/loading/preload-img-test.html:
  • http/tests/local/link-stylesheet-load-order-preload.html:
  • http/tests/local/link-stylesheet-load-order.html:
  • http/tests/misc/link-rel-prefetch-and-subresource.html:
  • http/tests/resources/network-simulator.php:
  • http/tests/resources/tripmine.php: Removed.
  • http/tests/xmlhttprequest/access-control-preflight-async-header-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html:
  • http/tests/xmlhttprequest/access-control-preflight-async-method-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html:
  • http/tests/xmlhttprequest/access-control-preflight-async-not-supported-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-async-not-supported.html:
  • http/tests/xmlhttprequest/access-control-preflight-headers-async.html:
  • http/tests/xmlhttprequest/access-control-preflight-headers-sync.html:
  • http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html:
  • http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html:
  • http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-not-supported.html:
  • http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html:
  • http/tests/xmlhttprequest/resources/access-control-preflight-denied-xsrf.php:
  • http/tests/xmlhttprequest/resources/no-custom-header.php:
  • http/tests/xmlhttprequest/resources/redirect-cross-origin-tripmine.php: Copied from LayoutTests/http/tests/resources/tripmine.php.
  • http/tests/xmlhttprequest/state-after-network-error.html:
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL.html:
5:15 PM Changeset in webkit [175840] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

5:13 PM Changeset in webkit [175839] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.2.2

New Tag.

4:39 PM Changeset in webkit [175838] by jonowells@apple.com
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Add infrastructure for eslint based static analyzer
​https://bugs.webkit.org/show_bug.cgi?id=137890

Reviewed by Timothy Hatcher.

Fix to previous patch to add AnalyzerManager and AnalyzerMessage classes. Changed Main.html to include ESLint.js
before Main.js in the combined resources.

  • UserInterface/Base/Main.js:
  • UserInterface/Controllers/AnalyzerManager.js: Added.

(WebInspector.AnalyzerManager):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
(set WebInspector.AnalyzerManager.prototype.set get sourceCodeCanBeAnalyzed):
(set WebInspector.AnalyzerManager.prototype._handleSourceCodeContentDidChange):

  • UserInterface/Main.html:
  • UserInterface/Models/AnalyzerMessage.js: Added.

(WebInspector.AnalyzerMessage):
(WebInspector.AnalyzerMessage.prototype.get sourceCodeLocation):
(WebInspector.AnalyzerMessage.prototype.get sourceCode):
(WebInspector.AnalyzerMessage.prototype.get text):
(WebInspector.AnalyzerMessage.prototype.get ruleIdentifier):

  • UserInterface/Models/SourceCode.js:
4:04 PM Changeset in webkit [175837] by Beth Dakin
  • 3 edits in trunk/Source/WebKit/mac

WK1: Support default actions for editable whitespace
​https://bugs.webkit.org/show_bug.cgi?id=138586
-and corresponding-
rdar://problem/18932048

Reviewed by Tim Horton.

New menu type. Just wants paste.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

  • WebView/WebUIDelegatePrivate.h:
4:02 PM Changeset in webkit [175836] by Chris Dumez
  • 19 edits in trunk/Source/WebCore

Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
​https://bugs.webkit.org/show_bug.cgi?id=138578

Reviewed by Andreas Kling.

Remove unnecessary null check in FrameSelection::nodeWillBeRemoved()
and turn the argument into a reference to make it clear it cannot be
null.

No new tests, no behavior change.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::willRemoveChild):

  • dom/Document.cpp:

(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):

  • dom/Document.h:
  • dom/NodeIterator.cpp:

(WebCore::NodeIterator::nodeWillBeRemoved):
(WebCore::NodeIterator::updateForNodeRemoval):

  • dom/NodeIterator.h:
  • dom/Range.cpp:

(WebCore::Range::insertNode):
(WebCore::boundaryNodeWillBeRemoved):
(WebCore::Range::nodeWillBeRemoved):

  • dom/Range.h:
  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::setToBeforeChild):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren):

  • editing/CompositeEditCommand.h:
  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::removeNode):
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::removeRedundantBlocks):

  • editing/FrameSelection.cpp:

(WebCore::removingNodeRemovesPosition):
(WebCore::DragCaretController::nodeWillBeRemoved):
(WebCore::FrameSelection::nodeWillBeRemoved):
(WebCore::FrameSelection::respondToNodeModification):

  • editing/FrameSelection.h:
  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):

  • editing/htmlediting.cpp:

(WebCore::updatePositionForNodeRemoval):

  • editing/htmlediting.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::nodeWillBeRemoved):

  • page/EventHandler.h:
3:55 PM Changeset in webkit [175835] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Whitespace action menus aren't working properly
​https://bugs.webkit.org/show_bug.cgi?id=138585
-and corresponding-
rdar://problem/18933586

Reviewed by Tim Horton.

Treat the whitespace menu as a text menu.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController isMenuForTextContent]):

3:23 PM Changeset in webkit [175834] by msaboff@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add test for fix of REGRESSION (r174985-174986): Site display disappears
​https://bugs.webkit.org/show_bug.cgi?id=138470

Reviewed by Geoffrey Garen.

This checks that document.write() and document.writeln() are cached and the same instance
is always returned.

  • js/dom/document-write-functions-cached-expected.txt: Added.
  • js/dom/document-write-functions-cached.html: Added.
2:48 PM Changeset in webkit [175833] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix the build when CSS Selectors Level 4 is disabled
​https://bugs.webkit.org/show_bug.cgi?id=138533

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-11-10

  • css/CSSSelector.cpp:

(WebCore::appendArgumentList):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):

2:36 PM Changeset in webkit [175832] by Beth Dakin
  • 3 edits in trunk/Source/WebKit/mac

WK1: Support default actions for editable text
​https://bugs.webkit.org/show_bug.cgi?id=138580
-and corresponding-
rdar://problem/18877497

Reviewed by Tim Horton.

New menu type, and new action type for paste.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController willOpenMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForEditableText:]):
(-[WebActionMenuController _paste:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

  • WebView/WebUIDelegatePrivate.h:
2:12 PM Changeset in webkit [175831] by Beth Dakin
  • 4 edits in trunk/Source/WebKit/mac

WK1: Text is getting selected even when an action menu fails to invoke
​https://bugs.webkit.org/show_bug.cgi?id=138576
-and corresponding-
rdar://problem/18931330

Reviewed by Tim Horton.

Selection changes should happen in willOpenMenu: instead of prepareForMenu:

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController willOpenMenu:withEvent:]):

_selectLookupText no longer needs to return a BOOL indicating success or failure.
(-[WebActionMenuController _selectLookupText]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

Pass willOpenMenu: on to the controller.

  • WebView/WebView.mm:

(-[WebView willOpenMenu:withEvent:]):

2:05 PM Changeset in webkit [175830] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Support throttling of DOMTimers using nested setTimeout() calls
​https://bugs.webkit.org/show_bug.cgi?id=138262

Reviewed by Gavin Barraclough.

Extend DOMTimers throttling support to timers that are using nested
setTimeout() calls instead of a setInterval(). To achieve this, this
patch introduces a NestedTimersMap singleton class where nested timers
are added, and for which we potentially update the next firing time,
after the parent timer is done executing.

I have verified this helps on ebay.com for example, which has timers
interacting with non-visible plugins that are scheduled using nested
setTimeout() calls with a frequency of 150 / 200 ms.

This is a second take on r175441, which caused intermittent crashes.
This time, nested timers are removed from the NestedTimersMap when
DOMTimer::removeById() is called. It would be unsafe to use the nested
timer afterwards because we don't hold a strong reference to it and
the ScriptExecutionContext is unref'ing the DOMTimer when
ScriptExecutionContext::removeTimeout() is called from
DOMTimer::removeById().

  • page/DOMTimer.cpp:

(WebCore::NestedTimersMap::NestedTimersMap):
(WebCore::NestedTimersMap::~NestedTimersMap):
(WebCore::NestedTimersMap::add):
(WebCore::NestedTimersMap::remove):
(WebCore::NestedTimersMap::begin):
(WebCore::NestedTimersMap::end):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::removeById):
(WebCore::DOMTimer::fired):

2:01 PM Changeset in webkit [175829] by Conrad Shultz
  • 2 edits in trunk/Tools

Unreviewed, moved myself to the list of committers.

  • Scripts/webkitpy/common/config/contributors.json:
1:48 PM Changeset in webkit [175828] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME][Mac] Add a systemCode to distinguish when no expired sessions were found in response to a "keyrelease" message.
​https://bugs.webkit.org/show_bug.cgi?id=138199

Reviewed by Eric Carlson.

Clients may want to be able to distinguish between cases where expired session data is not supported, and when
those data are supported, but none are found.

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

(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage):

1:39 PM Changeset in webkit [175827] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

[iOS WK2] Scroll deceleration rate is wrong
​https://bugs.webkit.org/show_bug.cgi?id=138574
rdar://problem/18715303

Reviewed by Benjamin Poulain.

The CSS Snap Points code incorrectly set the WKScrollView's deceleration rate,
overriding the custom value that UIWebScrollView sets.

Fix by having WKScrollView store the custom rate at init time, and
using that value in -scrollViewWillBeginDragging:.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewWillBeginDragging:]):

  • UIProcess/ios/WKScrollView.h:
  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView initWithFrame:]):

12:43 PM Changeset in webkit [175826] by jer.noble@apple.com
  • 6 edits in trunk

REGRESSION(r174823): Several tests fail due to canplaythrough firing before tracks are available
​https://bugs.webkit.org/show_bug.cgi?id=137882

Reviewed by Eric Carlson.

Source/WebCore:

For HLS streams with only one video, audio, or text track, there will be no media selection group
for that media characteristic. When culling out AVPlayerItemTracks in tracksDidChange(), do not skip
tracks for which there is no matching AVMediaSelectionGroup.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::hasLoadedMediaSelectionGroups): Refactored.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia): Call above.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForAudibleMedia): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForVisualMedia): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange):

LayoutTests:

  • platform/mac/TestExpectations:
  • platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:
12:39 PM Changeset in webkit [175825] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Speculative build fix.

  • WebView/WebActionMenuController.mm:
12:33 PM Changeset in webkit [175824] by commit-queue@webkit.org
  • 10 edits
    6 deletes in trunk

Unreviewed, rolling out r175813.
​https://bugs.webkit.org/show_bug.cgi?id=138573

Breaks complex text layout spacing (Requested by litherum on
#webkit).

Reverted changeset:

"[OSX] Some words are placed on top of each other in complex
text layout"
​https://bugs.webkit.org/show_bug.cgi?id=138348
​http://trac.webkit.org/changeset/175813

12:31 PM Changeset in webkit [175823] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Rolling out failed build fix
​http://trac.webkit.org/changeset/175819

  • WebCore.exp.in:
12:31 PM Changeset in webkit [175822] by adachan@apple.com
  • 2 edits in trunk/Source/WebKit2

Reset WebPageProxy's isPlayingAudio state after web process crash or page invalidation.
​https://bugs.webkit.org/show_bug.cgi?id=138559

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):

12:25 PM Changeset in webkit [175821] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Action menu initialization should be moved to _commonInitializationWithFrameName
​https://bugs.webkit.org/show_bug.cgi?id=138572
-and corresponding-
rdar://problem/18929733

Reviewed by Tim Horton.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _initWithFrame:frameName:groupName:]):

12:18 PM Changeset in webkit [175820] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • WebCore.exp.in:
12:15 PM Changeset in webkit [175819] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • WebCore.exp.in:
12:03 PM Changeset in webkit [175818] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

[iOS WK2] Layers with negative z position disapear behind the page tiles
​https://bugs.webkit.org/show_bug.cgi?id=138571
rdar://problem/18873480

Reviewed by Dean Jackson.

Some crufty iOS-only code in RenderLayerBacking::parentForSublayers() caused us to fail
to use the m_childContainmentLayer as the ancestor for descendants, so layers with
negative z position would get depth-sorted behind the tiles.

Fix by removing that code.

This should have been detected by compositing/tile-cache-must-flatten.html, but
testing infrastructure suck prevented us from doing so.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::parentForSublayers):

  • rendering/RenderLayerBacking.h: Just some nullptr cleanup.
11:56 AM Changeset in webkit [175817] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'resize' CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138550

Reviewed by Andreas Kling.

No new tests, no behavior change.

Move 'resize' CSS property from DeprecatedStyleBuilder to the new
StyleBuilder by adding a new 'Resize' Converter function.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyResize::applyValue): Deleted.
(WebCore::ApplyPropertyResize::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertResize):

11:35 AM Changeset in webkit [175816] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

Speculative build fix.

  • editing/DictionaryLookup.h:
  • editing/DictionaryLookup.mm:
11:34 AM Changeset in webkit [175815] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move 'text-indent' CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138547

Reviewed by Andreas Kling.

Move 'text-indent' CSS property from DeprecatedStyleBuilder to the new
StyleBuilder, by using custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextIndent::applyInheritValue): Deleted.
(WebCore::ApplyPropertyTextIndent::applyInitialValue): Deleted.
(WebCore::ApplyPropertyTextIndent::applyValue): Deleted.
(WebCore::ApplyPropertyTextIndent::createHandler): Deleted.

  • css/StyleBuilderConverter.h:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyInheritTextIndent):
(WebCore::StyleBuilderFunctions::applyInitialTextIndent):
(WebCore::StyleBuilderFunctions::applyValueTextIndent):

11:19 AM Changeset in webkit [175814] by Beth Dakin
  • 14 edits
    2 adds in trunk/Source

WK1: Support default actions for read-only text
​https://bugs.webkit.org/show_bug.cgi?id=138552
-and corresponding-
rdar://problem/18877483

Reviewed by Tim Horton.

Source/WebCore:

WK1 now needs to do a lot of dictionary lookup operations that it did not
previously have to handle. So this patch takes a lot of that functionality, which
was implemented as static functions in WebPageMac for WK2 and moves it into
WebCore.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/DictionaryLookup.h: Added.
  • editing/DictionaryLookup.mm: Added.

(WebCore::isPositionInRange):
(WebCore::shouldUseSelection):
(WebCore::rangeExpandedAroundPositionByCharacters):
(WebCore::rangeForDictionaryLookupForSelection):
(WebCore::rangeForDictionaryLookupAtHitTestResult):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

New WKSystemInterface functions that WebCore needs to use.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

WebActionMenuController now keeps an ivar for the WebCore::HitTestResult. This
makes a lot of things easier.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

Perform the hit test ourselves instead of calling into WebView so that we can more
easily save the WebCore::HitTestResult for ourselves.
(-[WebActionMenuController performHitTestAtPoint:]):

Clear selection for non-text menus.
(-[WebActionMenuController prepareForMenu:withEvent:]):

Re-set the _type here just to be safe.
(-[WebActionMenuController didCloseMenu:withEvent:]):

Moving this method to be next to the link actions so they can be within a pragma
mark.
(-[WebActionMenuController _defaultMenuItemsForLink:]):

New method for default text actions — lookup and copy.
(-[WebActionMenuController _defaultMenuItemsForText:]):
(-[WebActionMenuController _copySelection:]):
(-[WebActionMenuController _lookupText:]):

If there is not already a selection, invoking the action menu on text should
select the lookup text.
(-[WebActionMenuController _selectLookupText]):
(performDictionaryLookupForSelection):
(performDictionaryLookupForRange):

Handle text now.
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

New enum values.

  • WebView/WebUIDelegatePrivate.h:

Pass didCloseMenu on to the controller.

  • WebView/WebView.mm:

(-[WebView didCloseMenu:withEvent:]):

Source/WebKit2:

WK1 now needs to do a lot of dictionary lookup operations that it did not
previously have to handle. So this patch takes a lot of that functionality, which
was implemented as static functions in WebPageMac for WK2 and moves it into
WebCore.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupForRange):
(WebKit::isPositionInRange): Deleted.
(WebKit::shouldUseSelection): Deleted.
(WebKit::rangeExpandedAroundPositionByCharacters): Deleted.
(WebKit::rangeForDictionaryLookupForSelection): Deleted.
(WebKit::rangeForDictionaryLookupAtHitTestResult): Deleted.

10:55 AM Changeset in webkit [175813] by mmaxfield@apple.com
  • 10 edits
    1 copy
    5 adds in trunk

[OSX] Some words are placed on top of each other in complex text layout
​https://bugs.webkit.org/show_bug.cgi?id=138348

Reviewed by Simon Fraser.

Source/WebCore:

Some complex text layouts have lots of diacritics being placed all over the place.
CoreText sometimes compensates for this by adjusting the advances of the glyphs
throughout the string to make glyphs appear in the correct place. This means that
we can't naively cache the width of a space character; instead, we must obey
CoreText when it gives us an advance for a space.

Test: fast/text/large-space-width-complex.html

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

LayoutTests:

Updating tests to not use cached space width.

  • fast/text/large-space-width-complex-expected.html: Added.
  • fast/text/large-space-width-complex.html: Added.
  • fast/text/resources/NotoNastaliqUrduDraft.ttf: Added.
  • platform/mac-mavericks/fast/text/emphasis-expected.png:
  • platform/mac-mavericks/fast/text/emphasis-expected.txt: This test is orthogonal to space widths.
  • platform/mac-mountainlion/fast/text/emphasis-expected.png:
  • platform/mac-mountainlion/fast/text/emphasis-expected.txt:
  • platform/mac/fast/text/emphasis-expected.png:
  • platform/mac/fast/text/emphasis-expected.txt:
  • platform/mac/fast/text/sticky-typesetting-features-expected.png:
  • platform/mac/fast/text/sticky-typesetting-features-expected.txt: Ditto.
  • platform/mac/fast/writing-mode/text-orientation-basic-expected.png:
  • platform/mac/fast/writing-mode/text-orientation-basic-expected.txt: This test actually is improved with

this patch. Instead of a weirdly wide space width, the two words are spaced appropriately now.

10:35 AM Changeset in webkit [175812] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] wireless playback placeholder UI doesn't always draw
​https://bugs.webkit.org/show_bug.cgi?id=138548

While it is important to only listen for the 'webkitplaybacktargetavailabilitychanged' event
when we are displaying inline controls because listening for it increases power consumption,
we should always listen for the 'webkitcurrentplaybacktargetiswirelesschanged' event because
it controls whether or not we draw the placeholder UI which is always visible during wireless
playback.

Reviewed by Brent Fulgham.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.addVideoListeners): Always listen for the

'webkitcurrentplaybacktargetiswirelesschanged' event.

(ControllerIOS.prototype.removeVideoListeners): Always stop listening for the

'webkitcurrentplaybacktargetiswirelesschanged' event.

(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): Call updateControls so we update

the type of controls rendered and start listening for wireless target changes immediately.

(ControllerIOS.prototype.setShouldListenForPlaybackTargetAvailabilityEvent): Don't start and stop

listening for 'webkitcurrentplaybacktargetiswirelesschanged', we should always listen for it.

10:04 AM Changeset in webkit [175811] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

9:05 AM Changeset in webkit [175810] by Antti Koivisto
  • 2 edits in trunk/Source/WTF

Remove BloomFilter size limit
​https://bugs.webkit.org/show_bug.cgi?id=138549

Reviewed by Andreas Kling.

  • wtf/BloomFilter.h: Remove the static_assert, the code works fine with somewhat larger sizes.
8:20 AM Changeset in webkit [175809] by Csaba Osztrogonác
  • 3 edits
    2 adds in trunk

Crash in WebCore::Node::getFlag
​https://bugs.webkit.org/show_bug.cgi?id=137961

Reviewed by Antti Koivisto.

Source/WebCore:

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle): Null pointer check added.

LayoutTests:

  • editing/execCommand/crash-137961-expected.txt: Added.
  • editing/execCommand/crash-137961.html: Added.
7:37 AM Changeset in webkit [175808] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Fix the test font path after r175555.

Patch by Eva Balazsfalvi <​evab.u-szeged@partner.samsung.com> on 2014-11-10
Reviewed by Csaba Osztrogonác.

  • WebKitTestRunner/PlatformEfl.cmake: Dependencies -> DependenciesEFL
6:58 AM Changeset in webkit [175807] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk
ASSERTION FAILED: !object
!object->parent()->isRuby() is<RenderRubyRun>(*object) (object->isInline() && (object->isBeforeContent() object->isAfterContent())) (object->isAnonymous() && ... ) in WebCore::isAnonymousRubyInlineBlock

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

Reviewed by Chris Dumez.

Source/WebCore:

When a ruby element, with block behavior, dynamically changes its style
from multicol to without multicol, we have to remove its special children,
RenderMultiColumnFlowThread and RenderMultiColumnSet, the normal way using
the method in RenderBlockFlow base class. This patch adds both
RenderMultiColumnFlowThread and RenderMultiColumnSet to the list of RenderRuby
children removed normally and adds a new function - isRubyChildForNormalRemove -
to test the condition and use it in the assertion in RenderRuby*::removeChild
method.

Test: fast/multicol/newmulticol/ruby-from-multicol-to-auto.html

  • rendering/RenderRuby.cpp:

(WebCore::isRubyChildForNormalRemove):
(WebCore::RenderRubyAsInline::removeChild):
(WebCore::RenderRubyAsBlock::removeChild):

LayoutTests:

  • fast/multicol/newmulticol/ruby-from-multicol-to-auto-expected.txt: Added.
  • fast/multicol/newmulticol/ruby-from-multicol-to-auto.html: Added.
4:29 AM Changeset in webkit [175806] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit2

[WK2] Use C++ lambdas in IPC::Connection
​https://bugs.webkit.org/show_bug.cgi?id=138018

Reviewed by Anders Carlsson.

Replace uses of WTF::bind() in the IPC::Connection class with C++11 lambdas.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(IPC::Connection::invalidate):
(IPC::Connection::sendMessage):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::enqueueIncomingMessage):

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::initializeDeadNameSource):
(IPC::Connection::receiveSourceEventHandler):

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::open):

2:48 AM Changeset in webkit [175805] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[EFL] Add missing test results since r169631, r174992
​https://bugs.webkit.org/show_bug.cgi?id=138502

Patch by Sanghyup Lee <​sh53.lee@samsung.com> on 2014-11-10
Reviewed by Gyuyoung Kim.

  • platform/efl/accessibility/aria-inherits-presentational-expected.txt: Added.
  • platform/efl/accessibility/css-content-attribute-expected.txt: Added.
2:38 AM Changeset in webkit [175804] by commit-queue@webkit.org
  • 2 edits in trunk

Enable Cortex-A53-specific code paths by default if core is detected.
​https://bugs.webkit.org/show_bug.cgi?id=138499

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-11-10
Reviewed by Csaba Osztrogonác.

On ARM64/Linux, check /proc/cpuinfo for CPU part 0xd03 (signaling
Cortex-A53) and set the initial value of WTF_CPU_ARM64_CORTEXA53 to true
if found.

Since on ARM64/Linux the part number that cpuinfo reports depends on
the core the query is run on, the check is bound to and executed on the
available cores one by one.

  • Source/cmake/OptionsCommon.cmake:
1:09 AM Changeset in webkit [175803] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk

[EFL] Remove unnecessary version check from OptionsEfl.cmake
​https://bugs.webkit.org/show_bug.cgi?id=138498

Reviewed by Csaba Osztrogonác.

  • Source/cmake/OptionsEfl.cmake:
12:00 AM Changeset in webkit [175802] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Fix 'noreturn' function does return warning in LLVMOverrides.cpp
​https://bugs.webkit.org/show_bug.cgi?id=138306

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-11-09
Reviewed by Filip Pizlo.

Adding NO_RETURN where needed.

  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

  • llvm/library/LLVMOverrides.cpp:
  • llvm/library/LLVMTrapCallback.h:

Nov 9, 2014:

11:59 PM Changeset in webkit [175801] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix the exception fuzz helper to generate targets in the correct range
​https://bugs.webkit.org/show_bug.cgi?id=138544

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-11-10
Reviewed by Filip Pizlo.

Currently, the script generates exception fuzz targets in the range of
0..($checkCount-1). However, target 0 is never hit, while target 1 is
always outside of the outermost try block of the tests, which therefore
prints unexpected output and results in false failures when fired at.
Additionally, target $checkCount is never generated.

This patch fixes the script to generate targets in the range of
2..$checkCount.

  • Scripts/jsc-stress-test-helpers/js-exception-fuzz:
10:52 PM Changeset in webkit [175800] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Remove GamepadDeviceEfl::create()
​https://bugs.webkit.org/show_bug.cgi?id=138553

Reviewed by Darin Adler.

As a step to use std::unique_ptr<> and std::make_unique<>, this patch removes GamepadDeviceEfl::create().
Instead we use std::make_unique<>.

No new tests, no behavior changes.

  • platform/efl/GamepadsEfl.cpp:

(WebCore::GamepadsEfl::registerDevice):
(WebCore::GamepadDeviceEfl::create): Deleted.
(WebCore::GamepadsEfl::unregisterDevice): Deleted.

10:46 PM Changeset in webkit [175799] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source

Remove create() factory function in FooAnimationValue classes
​https://bugs.webkit.org/show_bug.cgi?id=138206

Reviewed by Darin Adler.

As a step to use std::unique_ptr and std::make_unique, this patch removes create()
factory function in FooAnimationValue classes. As this changes, FooAnimationValue::create()
are changed to std::make_unique<>.

Source/WebCore:

No new tests, no behavior changes.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::KeyframeValueList::insert):

  • platform/graphics/GraphicsLayer.h:

(WebCore::FloatAnimationValue::FloatAnimationValue):
(WebCore::TransformAnimationValue::TransformAnimationValue):
(WebCore::FilterAnimationValue::FilterAnimationValue):
(WebCore::FloatAnimationValue::create): Deleted.
(WebCore::TransformAnimationValue::create): Deleted.
(WebCore::FilterAnimationValue::create): Deleted.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<GraphicsLayerAnimation>::decode):

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::showPaintRect):

10:11 PM Changeset in webkit [175798] by Csaba Osztrogonác
  • 2 edits
    1 add
    1 delete in trunk/Tools

make-passwords-json.py should generarate everything needed for testing
​https://bugs.webkit.org/show_bug.cgi?id=138503

Reviewed by Ryosuke Niwa.

  • BuildSlaveSupport/build.webkit.org-config/make_passwords_json.py:

Renamed from make-passwords-json.py to be able included from mastercfg_unittest.py.
Additionally generate auth.json, credentials.cfg and committers.cfg too.
(create_mock_slave_passwords_dict): Moved from mastercfg_unittest.py

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(BuildBotConfigLoader._mock_open): Use make_passwords_json.create_mock_slave_passwords_dict() to avoid duplication.
(BuildBotConfigLoader._create_mock_passwords_dict): Deleted.

9:48 PM Changeset in webkit [175797] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, fix typo in r175796.

Rename areEssentialEqualAsFloat to areEssentiallyEqualAsFloat.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::areEssentiallyEqualAsFloat):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::areEssentialEqualAsFloat): Deleted.

4:21 PM Changeset in webkit [175796] by Chris Dumez
  • 14 edits in trunk/Source

Add a more correct way to compare floating point numbers and use it
​https://bugs.webkit.org/show_bug.cgi?id=138527

Reviewed by Darin Adler.

Source/WebCore:

Use the new WTF::areEssentuallyEqual() utility function from MathExtras.h
to compare floating-point numbers.

No new tests, no behavior change.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateTimerIntervalIfNecessary):

  • platform/graphics/FloatQuad.cpp:

(WebCore::FloatQuad::isRectilinear):

  • platform/graphics/FloatRoundedRect.cpp:

(WebCore::FloatRoundedRect::Radii::isUniformCornerRadius):

  • platform/graphics/FloatSize.h:

(WebCore::areEssentiallyEqual):
(WebCore::withinEpsilon): Deleted.

Source/WebKit/mac:

Use the new WTF::areEssentuallyEqual() utility function from MathExtras.h
to compare floating-point numbers.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):

Source/WebKit2:

Use the new WTF::areEssentuallyEqual() utility function from MathExtras.h
to compare floating-point numbers.

  • UIProcess/API/Cocoa/WKWebView.mm:

(withinEpsilon):

  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::updateMinimumScaleToFit):
(WebKit::fuzzyCompare): Deleted.

  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::withinEpsilon):

  • UIProcess/API/Cocoa/WKWebView.mm:

(areEssentiallyEqualAsFloat):
(-[WKWebView _didCommitLayerTree:]):
(withinEpsilon): Deleted.

  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::updateMinimumScaleToFit):
(WebKit::fuzzyCompare): Deleted.

  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::areEssentialEqualAsFloat):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::withinEpsilon): Deleted.

Source/WTF:

To compare floating point numbers in the code base, we would often rely
on the following check:
std::abs(a - b) <= std::numeric_limits<T>::epsilon()

However, this is not correct for arbitrary floating point values, and
will fail for values that are not close to zero.

This patch introduces a WTF::areEssentiallyEqual() templated function
that can only be called with floating point types and relies on the
following formula from [1][2] that defines u as being "essentially
equal" to v if: | u - v | / |u| <= e and | u - v | / |v| <= e

[1] Knuth, D. E. "Accuracy of Floating Point Arithmetic." The Art of

Computer Programming. 3rd ed. Vol. 2. Boston: Addison-Wesley, 1998.
229-45.

[2] ​http://www.boost.org/doc/libs/1_34_0/libs/test/doc/components/test_tools/floating_point_comparison.html

  • wtf/MathExtras.h:

(WTF::safeFPDivision):
(WTF::areEssentiallyEqual):
(WTF::withinEpsilon): Deleted.

11:46 AM Changeset in webkit [175795] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Put bug link at the start of the line.

  • platform/mac-wk2/TestExpectations:
11:42 AM Changeset in webkit [175794] by Simon Fraser
  • 29 edits
    2 adds in trunk

Implement round-rect clipping on video elements
​https://bugs.webkit.org/show_bug.cgi?id=138537
rdar://problem/9534399

Reviewed by Darin Adler.
Source/WebCore:

Support border-radius on video and other layers with composited contents,
by pushing a FloatRoundedRect onto the GraphicsLayer as the contentsClippingRect,
and, on Mac, using layer corner-radius or a CAShapeLayer mask.

Test: compositing/video/video-border-radius.html

  • WebCore.exp.in:
  • platform/graphics/FloatRoundedRect.cpp:

(WebCore::FloatRoundedRect::Radii::isUniformCornerRadius): Returns true if all
corner radii are the same, and have equal widths and heights.

  • platform/graphics/FloatRoundedRect.h: Allow construction without an explicit

rect.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer): nullptr goodness.
(showGraphicsLayerTree): Print contents layers when debugging.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::contentsClippingRect): Make this take a FloatRoundedRect.
(WebCore::GraphicsLayer::setContentsClippingRect):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setContentsClippingRect):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::setContentsToImage):
(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateClippingStrategy): Determines whether we can simply
use corner-radius on the existing contentsClippingLayer, or whether we have to
create a shape layer to use as a mask.
(WebCore::GraphicsLayerCA::updateContentsRects): We have to add/remove the shape layer
based on the rounded rect radii. Calls updateClippingStrategy() on the clipping layer,
and also updates clones accordingly.
(WebCore::dumpInnerLayer):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties): Dump all the inner layers
(requiring on test rebaseline), including the new shape and backdrop layers.

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.h: Add a new shape layer type.
  • platform/graphics/ca/mac/PlatformCALayerMac.h: Support for corner radius and

a rounded rect shape mask.

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::clone):
(PlatformCALayerMac::setMask):
(PlatformCALayerMac::cornerRadius):
(PlatformCALayerMac::setCornerRadius):
(PlatformCALayerMac::shapeRoundedRect):
(PlatformCALayerMac::setShapeRoundedRect):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::cornerRadius):
(PlatformCALayerWin::setCornerRadius):
(PlatformCALayerWin::shapeRoundedRect):
(PlatformCALayerWin::setShapeRoundedRect):

  • platform/graphics/ca/win/PlatformCALayerWin.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::resetContentsRect): Use getRoundedInnerBorderFor() to get
the rounded rect used to clip contents.
(WebCore::RenderLayerBacking::positionOverflowControlsLayers): Push a FloatRoundedRect for the contents clip,
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor): Ditto.
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage): Ditto.
(WebCore::RenderLayerBacking::updateImageContents): Get the rounded rect clip.

  • rendering/RenderLayerBacking.h: nullptr.

Source/WebKit2:

Support border-radius on video and other layers with composited contents,
by pushing a FloatRoundedRect onto the GraphicsLayer as the contentsClippingRect,
and, on Mac, using layer corner-radius or a CAShapeLayer mask.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<FloatRoundedRect>::encode):
(IPC::ArgumentCoder<FloatRoundedRect>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/RemoteLayerBackingStore.mm: New shape layer type.

(WebKit::RemoteLayerBackingStore::drawInContext):

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::applyPropertiesToLayer): Apply corner-radius and shape path.

  • Shared/mac/RemoteLayerTreeTransaction.h: Prettify the flags. Yes, I prefer this style.
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTextStream::operator<<):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(+[WKShapeView layerClass]): Make UIViews with a CAShapeLayer layer class.
(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::isEquivalentLayer):
(WebKit::PlatformCALayerRemote::setMask):
(WebKit::PlatformCALayerRemote::setClonedLayer):
(WebKit::PlatformCALayerRemote::cornerRadius):
(WebKit::PlatformCALayerRemote::setCornerRadius):
(WebKit::PlatformCALayerRemote::shapeRoundedRect):
(WebKit::PlatformCALayerRemote::setShapeRoundedRect):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:

LayoutTests:

Test that uses clip() to compare a bit of rounded-rect video in the corner.
Rebaselined test that dumped contents layers.

  • compositing/video/video-border-radius-expected.html: Added.
  • compositing/video/video-border-radius.html: Added.
  • platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt:
10:27 AM Changeset in webkit [175793] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] generate-gtkdoc should ignore invalid files
​https://bugs.webkit.org/show_bug.cgi?id=138542

Reviewed by Darin Adler.

  • gtk/generate-gtkdoc:

(files_to_ignore.file_should_be_ignored): Return True to ignore
invalid files.

9:25 AM Changeset in webkit [175792] by Darin Adler
  • 13 edits in trunk/Source/WebCore

Fix various cases of incorrect cross-thread capture of non-thread-safe RefCounted
​https://bugs.webkit.org/show_bug.cgi?id=138539

Reviewed by Alexey Proskuryakov.

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect): Use StringCapture
instead of isolatedCopy, to avoid a problem where the original thread does its deref
after passing the string to the other thread.
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close): Ditto.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail): Ditto.

  • dom/Document.cpp:

(WebCore::Document::addConsoleMessage): Pass a StringCapture when creating
AddConsoleMessageTask. Same reason as above, but in a different context.
(WebCore::Document::addMessage): Ditto.

  • dom/ScriptExecutionContext.h: Changed AddConsoleMessageTask to take and

capture a StringCapture rather than a String, for the same reason as above.

  • fileapi/AsyncFileStream.cpp:

(WebCore::AsyncFileStream::write): Use URLCapture instead of trying to use
StringCapture on a URL, since that doesn't preserve the validity flag.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Use StringCapture.
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): Ditto.
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck): Ditto.

  • platform/URL.h: Added URLCapture.
  • platform/network/FormData.cpp:

(WebCore::appendBlobResolved): Remove incorrect pointless code that creates a new URL
from an existing URL with the ParsedURLString constructor.

  • workers/DefaultSharedWorkerRepository.cpp: Fixed code that was trying to copy a URL

by copying a string to instead just use URL::copy. The comment claimed that URL::copy
is not thread safe, but that claim is incorrect.
(WebCore::SharedWorkerProxy::postExceptionToWorkerObject): Use StringCapture.
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): Ditto.
(WebCore::DefaultSharedWorkerRepository::getProxy): Use URL::copy.

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::addConsoleMessage): Use StringCapture.
(WebCore::WorkerGlobalScope::addMessage): Ditto.

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): Ditto.
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): Ditto.
(WebCore::WorkerMessagingProxy::sendMessageToInspector): Ditto.
(WebCore::WorkerMessagingProxy::postMessageToPageInspector): Ditto.

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::postTaskAndTerminate): Make a Task with make_unique
rather than with Task::create. Removed an extra isolatedCopy, unneeded because
the Task constructor already does an isolatedCopy.
(WebCore::WorkerRunLoop::postTaskForMode): Ditto.
(WebCore::WorkerRunLoop::Task::create): Deleted.

  • workers/WorkerRunLoop.h: Removed unneeded create function and explicit

public empty destructor.

9:21 AM Changeset in webkit [175791] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for HTMLCollection subclasses
​https://bugs.webkit.org/show_bug.cgi?id=138541

Reviewed by Sam Weinig.

Use is<>() / downcast<>() for HTMLCollection subclasses for
safety and consistency with the rest of the code base.

No new tests, no behavior change.

  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap):

  • html/HTMLAllCollection.h:
  • html/HTMLCollection.cpp:

(WebCore::isMatchingHTMLElement):
(WebCore::isMatchingElement):

  • html/HTMLCollection.h:
  • html/HTMLFormControlsCollection.h:
  • html/HTMLNameCollection.h:
  • html/HTMLOptionsCollection.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::options):

  • html/HTMLTableRowsCollection.h:
2:12 AM Changeset in webkit [175790] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Move _ignoresNonWheelMouseEvents implementation to WKView(Private)
​https://bugs.webkit.org/show_bug.cgi?id=138487

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-09
Reviewed by Dan Bernstein.

Relocate some methods that should have been in a category implementation.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setIgnoresNonWheelMouseEvents:]):
(-[WKView _ignoresNonWheelMouseEvents]):

Nov 8, 2014:

10:32 PM Changeset in webkit [175789] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/cross-origin-cookie-storage.html fails with PPT.

This test used to pass because some previous test leaked a cookie. Now that we
clear cookies between tests, it fails, and will fail until we implement testRunner.setAlwaysAcceptCookies.

  • platform/mac-wk2/TestExpectations:
9:59 PM Changeset in webkit [175788] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Call faster HTMLElement::hasTagName() in HTMLCollection
​https://bugs.webkit.org/show_bug.cgi?id=138529

Reviewed by Darin Adler.

Call faster HTMLElement::hasTagName() in HTMLCollection instead of
slower Node::hasTagName() by restructuring the code a bit to
distinguish collection that deal only with HTMLElements from others.

No new tests, no behavior change.

  • html/HTMLCollection.cpp:

(WebCore::isMatchingHTMLElement):
(WebCore::isMatchingElement):

9:46 PM Changeset in webkit [175787] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move isEmptyValue() logic from HTMLInputElement to TextFieldInputType
​https://bugs.webkit.org/show_bug.cgi?id=138538

Reviewed by Darin Adler.

Move isEmptyValue() logic from HTMLInputElement to TextFieldInputType
as this only makes sense for text field input types.

No new tests, no behavior change.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isEmptyValue):

  • html/InputType.cpp:

(WebCore::InputType::isEmptyValue):

  • html/InputType.h:
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::isEmptyValue):

  • html/TextFieldInputType.h:
7:21 PM Changeset in webkit [175786] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

Fix Ember.js warnings the new perf dashboard
​https://bugs.webkit.org/show_bug.cgi?id=138531

Reviewed by Darin Adler.

Fixed various warnings.

  • public/v2/app.js:

(App.InteractiveChartComponent._relayoutDataAndAxes): We can't use "rem". Use this._rem as done for x.

  • public/v2/data.js:

(PrivilegedAPI._post): Removed the superfluous console.log.
(CommitLogs.fetchForTimeRange): Ditto.

  • public/v2/index.html: Added tbody as required by the HTML specification.
7:18 PM Changeset in webkit [175785] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/navigation/redirect-on-back-updates-history-item.html leaks a cookie
​https://bugs.webkit.org/show_bug.cgi?id=138507

Reviewed by Pratik Solanki.

  • http/tests/navigation/resources/redirect-updates-history-item-done.html:
7:17 PM Changeset in webkit [175784] by commit-queue@webkit.org
  • 17 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: decouple child element folderization logic from FrameTreeElement
​https://bugs.webkit.org/show_bug.cgi?id=138364

Patch by Matt Baker <Matt Baker> on 2014-11-08
Reviewed by Timothy Hatcher.

Created FolderizedTreeElement base class, which FrameTreeElement now inherits via SourceCodeTreeElement.
FolderizedTreeElement uses settings provided by derived classes for labeling subfolders and to determine
folder membership for child items.

  • UserInterface/Base/Main.js:

(WebInspector.canArchiveMainFrame):

  • UserInterface/Main.html:
  • UserInterface/Models/LayoutTimelineRecord.js:

(WebInspector.LayoutTimelineRecord.displayNameForEventType):
(WebInspector.LayoutTimelineRecord.EventType.displayName): Deleted.

  • UserInterface/Models/Resource.js:

(WebInspector.Resource):
(WebInspector.Resource.typeFromMIMEType):
(WebInspector.Resource.displayNameForType):
(WebInspector.Resource.prototype.get syntheticMIMEType):
(WebInspector.Resource.prototype.updateForResponse):
(WebInspector.Resource.Type.fromMIMEType): Deleted.
(WebInspector.Resource.Type.displayName): Deleted.

  • UserInterface/Models/SourceMapResource.js:

(WebInspector.SourceMapResource):

  • UserInterface/Views/FolderizedTreeElement.js: Added.

(WebInspector.FolderizedTreeElement):
(WebInspector.FolderizedTreeElement.prototype.get groupedIntoFolders):
(WebInspector.FolderizedTreeElement.prototype.set folderSettingsKey):
(WebInspector.FolderizedTreeElement.prototype.registerFolderizeSettings):
(WebInspector.FolderizedTreeElement.prototype.set removeChildren):
(WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype.addRepresentedObjectToNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype.removeChildForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype.compareChildTreeElements):
(WebInspector.FolderizedTreeElement.prototype.updateParentStatus):
(WebInspector.FolderizedTreeElement.prototype._clearNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype._removeRepresentedObjectFromNewChildQueue):
(WebInspector.FolderizedTreeElement.prototype._addTreeElement):
(WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
(WebInspector.FolderizedTreeElement.prototype._insertFolderTreeElement):
(WebInspector.FolderizedTreeElement.prototype._insertChildTreeElement):
(WebInspector.FolderizedTreeElement.prototype._removeTreeElement):
(WebInspector.FolderizedTreeElement.prototype._parentTreeElementForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype._folderTreeElementExpandedStateChange):
(WebInspector.FolderizedTreeElement.prototype._settingsForRepresentedObject):
(WebInspector.FolderizedTreeElement.prototype._shouldGroupIntoFolders.pushCategory):
(WebInspector.FolderizedTreeElement.prototype._shouldGroupIntoFolders):

  • UserInterface/Views/FrameTreeElement.js:

(.this):
(WebInspector.FrameTreeElement.prototype.updateSourceMapResources):
(WebInspector.FrameTreeElement.prototype.onattach):
(WebInspector.FrameTreeElement.prototype.ondetach):
(WebInspector.FrameTreeElement.prototype.compareChildTreeElements):
(WebInspector.FrameTreeElement.prototype.onpopulate):
(WebInspector.FrameTreeElement.prototype._mainResourceDidChange):
(WebInspector.FrameTreeElement.prototype._resourceWasAdded):
(WebInspector.FrameTreeElement.prototype._resourceWasRemoved):
(WebInspector.FrameTreeElement.prototype._childFrameWasAdded):
(WebInspector.FrameTreeElement.prototype._childFrameWasRemoved):
(WebInspector.FrameTreeElement.prototype._childContentFlowWasAdded):
(WebInspector.FrameTreeElement.prototype._childContentFlowWasRemoved):
(WebInspector.FrameTreeElement.prototype._rootDOMNodeInvalidated):
(WebInspector.FrameTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype.removeChildren): Deleted.
(WebInspector.FrameTreeElement.prototype._updateParentStatus): Deleted.
(WebInspector.FrameTreeElement.prototype._addRepresentedObjectToNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._removeRepresentedObjectFromNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._populateFromNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._clearNewChildQueue): Deleted.
(WebInspector.FrameTreeElement.prototype._addChildForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._removeChildForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._addTreeElementForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._addTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._compareTreeElementsByMainTitle): Deleted.
(WebInspector.FrameTreeElement.prototype._insertFolderTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._compareResourceTreeElements): Deleted.
(WebInspector.FrameTreeElement.prototype._insertResourceTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._removeTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._folderNameForResourceType): Deleted.
(WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject.createFolderTreeElement): Deleted.
(WebInspector.FrameTreeElement.prototype._parentTreeElementForRepresentedObject): Deleted.
(WebInspector.FrameTreeElement.prototype._folderTreeElementExpandedStateChange): Deleted.
(WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushResourceType): Deleted.
(WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders.pushCategory): Deleted.
(WebInspector.FrameTreeElement.prototype._shouldGroupIntoFolders): Deleted.

  • UserInterface/Views/LayoutTimelineDataGridNode.js:

(WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView): Deleted.

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView): Deleted.

  • UserInterface/Views/ResourceDetailsSidebarPanel.js:

(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshResourceType):

  • UserInterface/Views/ResourceTimelineDataGridNode.js:

(WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):

  • UserInterface/Views/SourceCodeTreeElement.js:

(WebInspector.SourceCodeTreeElement):

  • UserInterface/Views/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid.createColumnScopeBar):

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
7:17 PM Changeset in webkit [175783] by ap@apple.com
  • 7 edits in trunk

Delete cookies between tests
​https://bugs.webkit.org/show_bug.cgi?id=138528

Reviewed by Sam Weinig.

Source/WebKit/mac:

  • WebView/WebPreferences.mm: (+[WebPreferences _clearNetworkLoaderSession]):
  • WebView/WebPreferencesPrivate.h:

Added an SPI for DumpRenderTree.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
Do it.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):
Added a FIXME.

5:01 PM Changeset in webkit [175782] by Darin Adler
  • 21 edits
    2 deletes in trunk/Source

Replace FileThread class with a single function
​https://bugs.webkit.org/show_bug.cgi?id=138282

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • CMakeLists.txt: Removed FileThread.cpp.
  • WebCore.vcxproj/WebCore.vcxproj: Removed FileThread.cpp/.h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/generic/ActiveDOMCallback.cpp: Removed unneeded includes.
  • dom/ActiveDOMObject.cpp: Ditto.
  • fileapi/AsyncFileStream.cpp:

(WebCore::callOnFileThread): Added. Implements the file thread.
(WebCore::AsyncFileStream::AsyncFileStream): Take a reference to the client.
Make m_internals. Use the destroyed flag instead of trickier techniques to
handle stopping. Once the stream is destroyed, there will be no further callbacks.
(WebCore::AsyncFileStream::~AsyncFileStream): Added assertions and merged in the
stop behavior here. This class no longer requires an explicit stop function.
(WebCore::AsyncFileStream::perform): Added. Helper used for all the operations
below. Takes a function that performs an operation and then returns a client
callback function. Respects the m_stopped boolean on the file thread (so we
don't do extra operations) and on the client thread (so we are guaranteed not
to get any client callbacks even if the file thread was partway through an
operation).
(WebCore::AsyncFileStream::getSize): Changed to use the perform function.
(WebCore::AsyncFileStream::openForRead): Ditto. Also fixed reference count
thread safety issue by capturing a StringCapture rather than a String.
(WebCore::AsyncFileStream::openForWrite): Ditto.
(WebCore::AsyncFileStream::close): Changed to use callOnFileThread.
(WebCore::AsyncFileStream::read): Changed to use the perform function.
(WebCore::AsyncFileStream::write): Ditto. Also fixed reference count
thread safety issue by capturing a StringCapture rather than a URL.
(WebCore::AsyncFileStream::truncate): Ditto.

  • fileapi/AsyncFileStream.h: Removed use of RefCounted since we only need

single ownership. Removed the stop function, since we can now stop when
the stream is destroyed since we have single ownership. Made a new Internals
object to handle destruction while operations are still going on the file thread.

  • fileapi/FileThread.cpp: Removed.
  • fileapi/FileThread.h: Removed.
  • loader/ResourceLoader.cpp: Removed unneeded include.
  • platform/FileStream.cpp:

(WebCore::FileStream::~FileStream): Merged the stop function in here.

  • platform/FileStream.h: Removed use of RefCounted since we only need

single ownership. Removed the empty start function. Removed the stop function,
since we can now stop when the stream is destroyed since we have single ownership.

  • platform/FileStreamClient.h: Removed unneeded didStart and didStop.
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::BlobResourceHandle): Use make_unique to make the
stream objects instead of custom create functions.
(WebCore::BlobResourceHandle::~BlobResourceHandle): Removed now-unneeded code
to call stop functions. Destroying the objects now takes care of the this, and
that's done by the unique_ptrs.
(WebCore::BlobResourceHandle::cancel): Removed the rest of the code to stop the
m_asyncStream, keeping only the code that sets it to null. That now stops the
stream by destroying it.

  • platform/network/BlobResourceHandle.h: Use std::unique_ptr rather than

RefPtr for the file stream objects.

  • storage/StorageThread.h: Tweaked formatting of std::function<void()> to

match the format used elsewhere in WebKit.

Source/WebKit:

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

Removed exports of obsolete threading functions.

Source/WTF:

  • wtf/MessageQueue.h: Made queue work on any type and not require wrapping

everything in a unique_ptr.

  • wtf/Threading.cpp:

(WTF::threadEntryPoint): Changed to use a std::function instead of a function pointer.
(WTF::createThread): Add a version that takes a std::function. Reimplemented the
old version using lambdas. Removed the obsolete versions that were there just to support
binary compatibility with very old versions of Safari.

  • wtf/Threading.h: Removed an incorrect license header that covers code that was long ago

moved to a different file. Changed createThread to take a std::function instead of a function
pointer and data pointer. Moved internal functions after public functions.

3:50 PM Changeset in webkit [175781] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't try to schedule a GraphicsLayer flush when propagating changes to replicas inside a flush
​https://bugs.webkit.org/show_bug.cgi?id=138532

Reviewed by Dan Bernstein.

When changing masks on replica layers with certain layer configurations,
it was possible to hit an assertion that a flush was being scheduled when already
flushing, via propagateLayerChangeToReplicas(). Fix by passing the scheduleFlush
flag along.

Not testable with current GraphicsLayer configurations.

  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/graphics/ca/GraphicsLayerCA.h:
12:27 PM Changeset in webkit [175780] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

WKActionMenuController methods should be more careful to use the best
WebHitTestResult
​https://bugs.webkit.org/show_bug.cgi?id=138536
-and corresponding-
rdar://problem/18919195

Reviewed by Tim Horton.

This patch re-names _hitTestResultForStage to _webHitTestResult. The method no
longer takes a stage since that value is really not necessary to determine the
correct WebHitTestResult. This patch also makes all spots in this file that access
a WebHitTestResult go through _webHitTestResult to ensure that they get the most
up-to-date option.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController _openURLFromActionMenu:]):
(-[WKActionMenuController _addToReadingListFromActionMenu:]):
(-[WKActionMenuController _previewURLFromActionMenu:]):
(-[WKActionMenuController _defaultMenuItemsForVideo]):
(-[WKActionMenuController _copyVideoURL:]):
(-[WKActionMenuController _saveVideoToDownloads:]):
(-[WKActionMenuController _saveImageToDownloads:]):
(-[WKActionMenuController _defaultMenuItems]):
(-[WKActionMenuController _updateActionMenuItemsForStage:]):
(imageForResource:name::switch): Deleted.
(-[WKActionMenuController _defaultMenuItems:]): Deleted.

11:07 AM Changeset in webkit [175779] by Beth Dakin
  • 11 edits in trunk/Source

Implement action menu support for videos
​https://bugs.webkit.org/show_bug.cgi?id=138534
-and corresponding-
rdar://problem/18742164

Reviewed by Tim Horton.

Source/WebCore:

Export needed symbols and added not-yet-implemented
HitTestResult::isMediaThatCanBeDownloaded() so that action menus will work as
expected once it is implemented.

  • WebCore.exp.in:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::isMediaThatCanBeDownloaded):

  • rendering/HitTestResult.h:

Source/WebKit2:

New menu type and items types.

  • Shared/API/c/WKActionMenuItemTypes.h:
  • Shared/API/c/WKActionMenuTypes.h:

Plumb isMediaThatCanBeDownloaded() up to WebHitTestResult.

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:

(WebKit::WebHitTestResult::isMediaThatCanBeDownloaded):

Re-name _canAddImageToPhotos to _canAddMediaToPhotos, which is more accurate. We
might use this method for videos some day, so now it has an accurate name.

  • UIProcess/mac/WKActionMenuController.mm:

Default items and their actions.
(-[WKActionMenuController _defaultMenuItemsForVideo]):
(-[WKActionMenuController _copyVideoURL:]):
(-[WKActionMenuController _saveVideoToDownloads:]):
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _canAddMediaToPhotos]):
(-[WKActionMenuController _addImageToPhotos:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(-[WKActionMenuController _defaultMenuItems:]):
(-[WKActionMenuController _canAddImageToPhotos]): Deleted.

We hit test including shadow content to get the desired result for editable text
regions. But for media, we want to re-set to the shadow root.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):

10:07 AM Changeset in webkit [175778] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Speed up HTMLInputElement::isEmptyValue()
​https://bugs.webkit.org/show_bug.cgi?id=138515

Reviewed by Geoffrey Garen.

HTMLInputElement::isEmptyValue() was calling
HTMLTextFormControlElement::innerTextValue() which causes a full
subtree traversal to construct a string representation of that subtree
using a StringBuilder. In the case of HTMLInputElement::isEmptyValue(),
we don't have to do all this: We don't need to construct a String
and we can return false as soon as we find a non-empty descendant.

No new tests, no behavior change.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isEmptyValue):

  • html/HTMLInputElement.h:
9:17 AM Changeset in webkit [175777] by eric.carlson@apple.com
  • 9 edits in trunk/Source/WebCore

[iOS] video is sometimes allowed to play from the background
​https://bugs.webkit.org/show_bug.cgi?id=138522

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::displayType): New.

  • html/HTMLMediaElement.h:
  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::isHidden): New, client passthrough.
(WebCore::MediaSession::displayType): Ditto.

  • platform/audio/MediaSession.h:

(WebCore::MediaSessionClient::displayType):

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::sessionCanLoadMedia): New, default implementation returns

true if client is visible or playing.

  • platform/audio/MediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::sessionCanLoadMedia): iOS override, also allows buffering

when displaying optimized fullscreen.

2:53 AM Changeset in webkit [175776] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Run layout tests using the network process
​https://bugs.webkit.org/show_bug.cgi?id=138428

Reviewed by Martin Robinson.

Shared secondary process is the default in the GTK+ port, but we
should run the tests using the network process to ensure
everything works with the network process. In the future, the
shared secondary process model might be a special case of multiple
processes with 1 as maximum number of processes, but always using
the network process.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

2:50 AM Changeset in webkit [175775] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Allow to create a view with a related page in WTR
​https://bugs.webkit.org/show_bug.cgi?id=138501

Reviewed by Martin Robinson.

Source/WebKit2:

This is needed when running tests in multi web process mode.

  • UIProcess/API/C/gtk/WKView.cpp:

(WKViewCreate):

  • UIProcess/API/C/gtk/WKView.h:

Tools:

  • TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:

(TestWebKitAPI::PlatformWebView::PlatformWebView): Pass nullptr as
related page to WKViewCreate.

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::PlatformWebView): Pass the given related
page to WKViewCreate.

2:47 AM Changeset in webkit [175774] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

WTR crashes after running a test when NetworkProcess enabled
​https://bugs.webkit.org/show_bug.cgi?id=138500

Reviewed by Alexey Proskuryakov.

WebNotificationProvider destructor is calling
WKNotificationManagerSetProvider, but m_notificationManager is
null because removeNotificationManager was already called.

  • WebKitTestRunner/WebNotificationProvider.cpp:

(WTR::WebNotificationProvider::~WebNotificationProvider): Check
m_notificationManager is not null before calling WKNotificationManagerSetProvider.

Nov 7, 2014:

8:25 PM Changeset in webkit [175773] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the build after r175772

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-11-07

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

6:05 PM Changeset in webkit [175772] by benjamin@webkit.org
  • 14 edits in trunk/Source/WebCore

Make the Selector's specificity part of Selector matching
​https://bugs.webkit.org/show_bug.cgi?id=138486

Reviewed by Andreas Kling.

In CSS Selectors Level 4, the specificity of selectors is computed dynamically
based on which element is being matched.

For example, a selector:

:matches(#foo, .bar, baz)

has a specificity of

(1, 0, 0) on <baz id=foo class=bar>
(0, 1, 0) on <baz class=bar>
(0, 0, 1) on <baz>

Previously, the specificity of each selector was computed statically when populating
RuleSet. With more recent CSS, this gives us the wrong specificity because we do not know
how the selectors applies to the target.

This patch moves one tiny step in the direction of dynamic specificity. The specificity
is removed from RuleSet and is moved inside Selector Matching.

There is one bit worth keeping static: matching based on rule hash. This path is important
to avoid spending time compiling trivial selectors.
In order to keep rule hash matching working, the RuleData store which specificity class
the rule has in addition to the information about matching/not-matching. When going through
the fast path in ElementCollector, we compute the right specificity based on the type
of rule-hash matching.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForOneSelector):

  • css/CSSSelector.h:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::compareRules):

  • css/ElementRuleCollector.h:
  • css/RuleSet.cpp:

(WebCore::computeMatchBasedOnRuleHash):
(WebCore::RuleData::RuleData):
(WebCore::isSelectorMatchingHTMLBasedOnRuleHash): Deleted.

  • css/RuleSet.h:

(WebCore::RuleData::matchBasedOnRuleHash):
(WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash): Deleted.
(WebCore::RuleData::specificity): Deleted.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match):

  • css/SelectorChecker.h:
  • css/StyleResolver.h:

(WebCore::checkRegionSelector):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

  • cssjit/SelectorCompiler.h:

(WebCore::SelectorCompiler::ruleCollectorSimpleSelectorCheckerFunction):
(WebCore::SelectorCompiler::querySelectorSimpleSelectorCheckerFunction):
(WebCore::SelectorCompiler::ruleCollectorSelectorCheckerFunctionWithCheckingContext):
(WebCore::SelectorCompiler::querySelectorSelectorCheckerFunctionWithCheckingContext):
(WebCore::SelectorCompiler::simpleSelectorCheckerFunction): Deleted.
(WebCore::SelectorCompiler::selectorCheckerFunctionWithCheckingContext): Deleted.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches):
(WebCore::SelectorDataList::selectorClosest):
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
(WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext):
(WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
(WebCore::SelectorDataList::execute):

  • dom/SelectorQuery.h:
4:40 PM Changeset in webkit [175771] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

CSP is enforced for eval in report-only mode on first page load
​https://bugs.webkit.org/show_bug.cgi?id=138492
rdar://problem/15782525

Reviewed by Daniel Bates.

This is covered by existing tests when running as one test per process invocation.

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::allowEval): Allow when in report only mode. The allowEval
function itself needs to return false, because it's used in checkEvalAndReportViolation().
(WebCore::CSPDirectiveList::allowJavaScriptURLs): Apply the same fix, although it's
not changing the behavior - this function is never called with ContentSecurityPolicy::SuppressReport.
(WebCore::CSPDirectiveList::allowInlineEventHandlers): Ditto.
(WebCore::CSPDirectiveList::allowInlineScript): Ditto.
(WebCore::CSPDirectiveList::allowInlineStyle): Ditto.
(WebCore::CSPDirectiveList::allowPluginType): Ditto.
(WebCore::CSPDirectiveList::allowScriptFromSource): Ditto.
(WebCore::CSPDirectiveList::allowObjectFromSource): Ditto.
(WebCore::CSPDirectiveList::allowChildFrameFromSource): Ditto.
(WebCore::CSPDirectiveList::allowImageFromSource): Ditto.
(WebCore::CSPDirectiveList::allowStyleFromSource): Ditto.
(WebCore::CSPDirectiveList::allowFontFromSource): Ditto.
(WebCore::CSPDirectiveList::allowMediaFromSource): Ditto.
(WebCore::CSPDirectiveList::allowConnectToSource): Ditto.
(WebCore::CSPDirectiveList::allowFormAction): Ditto.
(WebCore::CSPDirectiveList::allowBaseURI): Ditto.
(WebCore::ContentSecurityPolicy::didReceiveHeader): Remove isReportOnly() check,
which is now inside allowEval().

4:06 PM Changeset in webkit [175770] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

"Lookup" action menu should read "Look up"
​https://bugs.webkit.org/show_bug.cgi?id=138509

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-07
Reviewed by Tim Horton.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createActionMenuItemForTag:]):

3:51 PM Changeset in webkit [175769] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Fix typos in r175768.

  • public/v2/app.js:

(App.AnalysisTaskViewModel.roots):

3:47 PM Changeset in webkit [175768] by rniwa@webkit.org
  • 11 edits
    4 adds in trunk/Websites/perf.webkit.org

Introduce the concept of analysis task to perf dashboard
​https://bugs.webkit.org/show_bug.cgi?id=138517

Reviewed by Andreas Kling.

Introduced the concept of an analysis task, which is created for a range of measurements for a given metric on
a single platform and used to bisect regressions in the range.

Added a new page to see the list of active analysis tasks and a page to view the contents of an analysis task.

  • init-database.sql: Added a bunch of tables to store information about analysis tasks.

analysis_tasks - Represents each analysis task. Associated with a platform and a metric and possibly with two
test runs. Analysis tasks not associated with test runs are used for try new patches.
analysis_test_groups - A test group in an analysis task represents a bunch of related A/B testing results.
root_sets - A root set represents a set of roots (or packages) installed in each A/B testing.
build_requests - A build request represents a single pending build for A/B testing.

  • public/api/analysis-tasks.php: Added. Returns the specified analysis task or all analysis tasks in an array.

(main):
(format_task):

  • public/api/test-groups.php: Added. Returns analysis task groups for the specified analysis task or returns

the specified analysis task group as well as build requests associated with them.
(main):
(fetch_test_groups_for_task):
(fetch_build_requests_for_task):
(fetch_build_requests_for_group):
(format_test_group):
(format_build_request):

  • public/include/json-header.php:

(remote_user_name): Extracted from compute_token so that we can use it in create-analysis-task.php.
(compute_token):

  • public/privileged-api/associate-bug.php:

(main): Fixed a typo.

  • public/privileged-api/create-analysis-task.php: Added. Creates a new analysis task for a given test run range.

(main):
(ensure_row_by_id):
(ensure_config_from_runs):

  • public/privileged-api/generate-csrf-token.php: Use remote_user_name.
  • public/v2/analysis.js: Added. Various Ember data store models to represent analysis tasks and related objects.

(App.AnalysisTask):
(App.AnalysisTask.create):
(App.TestGroup):
(App.TestGroupAdapter):
(App.AnalysisTaskSerializer):
(App.TestGroupSerializer):
(App.BuildRequest):

  • public/v2/app.css: Added style rules for the analysis page.
  • public/v2/app.js:

(App.Pane._fetch): Use fetchRunsWithPlatformAndMetric, which has been refactored into App.Manifest.

(App.PaneController.actions.toggleBugsPane): Show bugs pane even when there are no bug trackers or there is not
exactly one selected point as we can still create an analysis task.
(App.PaneController.actions.associateBug): Renamed singlySelectedPoint to selectedSinglePoint to be more
grammatical and also alert'ed the error message when there is one.
(App.PaneController.actions.createAnalysisTask): Added. Creates a new analysis task and opens it in a new tab.
Since window.open only works during the click, we open the new "window" preemptively and navigates or closes it
once XHR request has completed.
(App.PaneController._detailsChanged): Changes due to singlySelectedPoint to selectedSinglePoint rename.
(App.PaneController._updateBugs): Fixed a bug that we were showing bugs in the previous point when a single point
is selected in the details pane.

(App.AnalysisRoute): Added.
(App.AnalysisTaskRoute): Added.
(App.AnalysisTaskViewModel): Added.
(App.AnalysisTaskViewModel._taskUpdated): Fetch runs for the associated platform and metric.
(App.AnalysisTaskViewModel._fetchedRuns): Setup the chart data to show.
(App.AnalysisTaskViewModel.testSets): The computed property used to update roots for all repositories/projects.
(App.AnalysisTaskViewModel._rootChangedForTestSet): Updates root selections for all repositories/projects when
the user selects an option for all roots in A or B configuration.
(App.AnalysisTaskViewModel.roots): The computed property used to show root choices for each repository/project.

  • public/v2/chart-pane.css: Added style rules for details view in the analysis task page.
  • public/v2/data.js:

(Measurement.prototype._formatRevisionRange): Don't prefix a revision number with "At " when there is no previous
point so that we can use it in App.AnalysisTaskViewModel.roots.
(TimeSeries.prototype.findPointByMeasurementId): Added.
(TimeSeries.prototype.seriesBetweenPoints): Added.

  • public/v2/index.html: Use Metric.fullName since the same value is needed in the analysis task page. Also added

a button to create an analysis task, and made bugs pane button always enabled since we can an analysis task even
when multiple points are selected. Finally, added a new template for the analysis task page.

  • public/v2/manifest.js:

(App.Metric.fullName): Added to share code between the charts page and the analysis task page.
(App.Manifest.fetchRunsWithPlatformAndMetric): Extracted from App.Pane._fetch to be reused in
App.AnalysisTaskViewModel._taskUpdated.

3:37 PM Changeset in webkit [175767] by Joseph Pecoraro
  • 16 edits
    3 moves in trunk/Source/WebInspectorUI

Web Inspector: Layer summary should be bottom sticky
​https://bugs.webkit.org/show_bug.cgi?id=138518

Reviewed by Timothy Hatcher.

Previously only NavigationSidebars had a content view. Now, give all
Sidebars a contentElement section for content.

Update all Details Sidebars to append content to the contentElement
instead of directly to the element. Only two Details sidebars append
to the element:

  • CSSStyleDetailsSidebarPanel for the navigation bar at the top
  • LayerTreeDetailsSidebarPanel for the summary view at the bottom

Take this opportunity to fix up some naming and styles as well.

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.get contentElement):
Give every SidebarPanel a content element.

  • UserInterface/Views/DetailsSidebarPanel.css: Removed.

(.sidebar > .panel > .content):

  • UserInterface/Views/SidebarPanel.css: Added.

(.sidebar > .panel > .content):
And give that content element a default style.

  • UserInterface/Views/NavigationSidebarPanel.css:

(.sidebar > .panel.navigation > .content):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype.get contentElement): Deleted.
Navigation sidebar panels now use the parent's contentElement.
Also, carry over their default styles, overriding the base.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.js: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js.

(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildLayerInfoSection):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildBottomBar):
Rename LayerTreeSidebarPanel to make it clear this is a DetailsSidebarPanel.
Add the "bottom bar" to the root element, and sections to the contentElement.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css.

(.sidebar > .layer-tree.panel > .content):
(body.mac-platform.legacy .sidebar > .layer-tree.panel > .content):
Style the bottom bar to pin it to the bottom of the sidebar panel.

(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
Add the navigation bar to the root element, and sections to the contentElement.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):

  • UserInterface/Main.html:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

Update for new names.

  • UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:

(WebInspector.ApplicationCacheDetailsSidebarPanel):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
  • UserInterface/Views/DOMDetailsSidebarPanel.js:

(WebInspector.DOMDetailsSidebarPanel):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel):

  • UserInterface/Views/DetailsSidebarPanel.js:

(WebInspector.DetailsSidebarPanel):

  • UserInterface/Views/ProbeDetailsSidebarPanel.js:
  • UserInterface/Views/ResourceDetailsSidebarPanel.js:

(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
All details sidebar panels now use the contentElement instead of element for content.

3:36 PM Changeset in webkit [175766] by Dániel Bátyai
  • 3 edits in trunk/Source/JavaScriptCore

Fix an alignment issue with operationPushCatchScope on ARMv7
​https://bugs.webkit.org/show_bug.cgi?id=138510

Reviewed by Csaba Osztrogonác.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):

3:10 PM Changeset in webkit [175765] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Avoid repainting scrollbar track when the scrollbar track is transparent.
<​https://webkit.org/b/138521>
<rdar://problem/18892090>

Reviewed by Simon Fraser.

Don't bother invalidating the entire WebCore scrollbar when we've opted into
AppKit's special mode to use individual layers for scrollbar components.
NSScrollerImp will invalidate what's necessary below e.g setKnobAlpha.

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPartAnimation setCurrentProgress:]):

2:14 PM Changeset in webkit [175764] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Rename HTMLInputElement::imageLoader() to ensureImageLoader()
​https://bugs.webkit.org/show_bug.cgi?id=138508

Reviewed by Andreas Kling.

Rename HTMLInputElement::imageLoader() to ensureImageLoader() and have
it return a reference to make it clear that it constructs an
ImageLoader if missing.
Also introduce a lightweight imageLoader() getter which just returns
the imageLoader or null if missing.

No new tests, no behavior change.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::ensureImageLoader):
(WebCore::HTMLInputElement::didMoveToNewDocument):
(WebCore::HTMLInputElement::imageLoader): Deleted.

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::imageLoader):
(WebCore::HTMLInputElement::hasImageLoader): Deleted.

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::srcAttributeChanged):
(WebCore::ImageInputType::attach):
(WebCore::ImageInputType::height):
(WebCore::ImageInputType::width):

2:01 PM Changeset in webkit [175763] by timothy@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Cursor and scroll view jumps around when modifying styles
​https://bugs.webkit.org/show_bug.cgi?id=137467

This merges commit e2962a5b0df56c8ee5a4482899d308decf3d7677 from CodeMirror.

Reviewed by Joseph Pecoraro.

  • UserInterface/External/CodeMirror/codemirror.js:

(maybeScrollWindow): Signal the scrollCursorIntoView event.
(signalDOMEvent): Support string events by transforming them to event objects.

  • UserInterface/Views/CodeMirrorAdditions.js:

(scrollCursorIntoView): Added. Default event listener that provides our own
implementation using WebKit's scrollIntoViewIfNeeded.

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh): Stop doing an
extra scrollIntoViewIfNeeded call, CodeMirror does this.

1:58 PM Changeset in webkit [175762] by msaboff@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Update scope related slow path code to use scope register added to opcodes
​https://bugs.webkit.org/show_bug.cgi?id=138254

Reviewed by Mark Lam.

Updated slow paths for op_pop_scope, op_push_name_scope and op_push_with_scope.
Added scope register index parameter to the front of the relevant argument lists of the
slow functions. In the case of op_push_name_scope for x86 (32 bit), there aren't enough
registers to accomodate all the parameters. Therefore, added two new JSVALUE32_64 slow
paths called operationPushCatchScope() and operationPushFunctionNameScope() to eliminate
the last "type" argument.

  • assembler/MacroAssemblerCodeRef.h:

(JSC::FunctionPtr::FunctionPtr): Added a new template to take 6 arguments.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):
New variants of setupArgumentsWithExecState() and callOperation() to handle the new
combinations of argument types and counts.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):
Use the new slow paths.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

Updates to set the scope result using the scope register index. Added operationPushCatchScope()
and operationPushFunctionNameScope().

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Updated the scope slow paths to use the scope register index in the instruction to read and
write the register instead of using CallFrame::scope() and CallFrame::setScope().

1:29 PM Changeset in webkit [175761] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Null deref performing Lookup on Apple Trailers full screen button
​https://bugs.webkit.org/show_bug.cgi?id=138513
-and corresponding-
rdar://problem/18909699

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupForSelection):

1:21 PM Changeset in webkit [175760] by Chris Dumez
  • 5 edits
    2 adds in trunk

Move 'webkit-clip-path' CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138452

Reviewed by Andreas Kling.

Source/WebCore:

Move 'webkit-clip-path' CSS property from DeprecatedStyleBuilder to the
new StyleBuilder so that it is now generated from CSSPropertyNames.in.

A ClipPath converter was added to support this. Custom code was avoided
by replacing if checks by assertions, relying on the CSSParser to make
sure the input is valid.

Test: fast/masking/clip-path-bad-value.html

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyClipPath::setValue): Deleted.
(WebCore::ApplyPropertyClipPath::applyValue): Deleted.
(WebCore::ApplyPropertyClipPath::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertClipPath):

LayoutTests:

Add layout test to make sure we don't crash in the StyleBuilder when
setting unexpected values to webkit-clip-path property.

  • fast/masking/clip-path-bad-value-expected.txt: Added.
  • fast/masking/clip-path-bad-value.html: Added.
12:35 PM Changeset in webkit [175759] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

Make it possible to associate snapshots with back/forward list items other than the current item.
​https://bugs.webkit.org/show_bug.cgi?id=138490

Patch by Anshu Chimala <​anshu@apple.com> on 2014-11-07
Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare -saveBackForwardSnapshotForItem:, an alternative to -saveBackForwardSnapshotForCurrentItem that accepts a
back/forward list item as an argument.

  • UIProcess/API/mac/WKView.mm:

(-[WKView saveBackForwardSnapshotForItem:]):
Pass the provided back/forward list item along to WebPageProxy::recordNavigationSnapshot().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::recordNavigationSnapshot):
Overloaded to optionally take a back/forward list item as an argument. If one isn't provided, default to the current item
as before; otherwise, associate the snapshot with whichever item was provided.

  • UIProcess/WebPageProxy.h:

Declare the new recordNavigationSnapshot() overload.

  • UIProcess/mac/ViewSnapshotStore.h:

Make recordSnapshot() take a back/forward list item as an argument.

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::recordSnapshot):
Store the snapshot in the provided back/forward list item instead of in the current item.

12:29 PM Changeset in webkit [175758] by Joseph Pecoraro
  • 5 edits
    2 adds in trunk

Web Inspector: Pseudo element matchedCSSRules do not include matching selector info
​https://bugs.webkit.org/show_bug.cgi?id=138438

Reviewed by Benjamin Poulain.

Source/WebCore:

Test: inspector/css/psuedo-element-matches.html

Element::matches is not the correct API to use to check selectors with pseudo-elements.
Instead we should use the CSS Selector checking machinary which understands them.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
Some RefPtr release improvements.

(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
Use a SelectorChecker to check each Selector against the element.
This matches the SelectorChecker used when we collected the rules
for this element.

Source/WebInspectorUI:

  • UserInterface/Base/Test.js:

(WebInspector.loaded):
Include a global setting for shadow dom used by DOM model classes.
Give it a "test" specific name to not override non-test setting values.

LayoutTests:

  • inspector/css/pseudo-element-matches-expected.txt: Added.
  • inspector/css/pseudo-element-matches.html: Added.

Add a test to ensure we get correct selector matches for a pseudo element
inside of an <audio> element. The test is heavily coupled to our UserAgent
stylesheet and Shadow DOM layout, so check for possible failures if
WebCore changes things.

12:25 PM Changeset in webkit [175757] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Popovers do not dismiss when navigating back and forth using gestures
​https://bugs.webkit.org/show_bug.cgi?id=138512
<rdar://problem/18900200>

Reviewed by Beth Dakin.

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::navigationGestureDidBegin):
Dismiss action menu related popovers when navigation gestures begin.

12:06 PM Changeset in webkit [175756] by Beth Dakin
  • 9 edits in trunk/Source/WebKit2

Action menu preview popover should dismiss on scroll
​https://bugs.webkit.org/show_bug.cgi?id=138511
-and corresponding-
rdar://problem/18901445

Reviewed by Tim Horton.

This patch re-names dismissActionMenuDataDetectorPopovers() to
dismissActionMenuPopovers() and also calls _clearPreviewPopover from that method
as well.

  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]):
(-[WKView _dismissActionMenuPopovers]):
(-[WKView _dismissActionMenuDataDetectorPopovers]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

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

(WebKit::PageClientImpl::dismissActionMenuPopovers):
(WebKit::PageClientImpl::dismissActionMenuDataDetectorPopovers): Deleted.

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

(-[WKActionMenuController dismissActionMenuPopovers]):
(-[WKActionMenuController dismissActionMenuDataDetectorPopovers]): Deleted.

12:02 PM Changeset in webkit [175755] by Bem Jones-Bey
  • 8 edits
    4 adds
    4 deletes in trunk/LayoutTests

[CSS Shapes] the sandbag JS utility code isn't producing the correct expected result in the shape-image gradient tests
​https://bugs.webkit.org/show_bug.cgi?id=135923

Reviewed by Dirk Schulze.

Import tests from upstream. They have been modified so that they use
testharness to validate success or failure instead of being reftests,
allowing for fuzziness in matching to get around small variances
between implementations.

  • TestExpectations:
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.html: Removed.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.txt: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html:
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.html: Removed.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.txt: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html:
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.html: Removed.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.txt: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html:
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.html: Removed.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.txt: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html:
  • css3/shapes/shape-outside/shape-image/gradients/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/support/test-utils.js:

(verifyTextPoints):

10:58 AM Changeset in webkit [175754] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Support action menus for whitespace in editable areas
​https://bugs.webkit.org/show_bug.cgi?id=138488
-and corresponding-
rdar://problem/18877717

Reviewed by Tim Horton.

Very simple menu for whitespace in editable areas.

  • Shared/API/c/WKActionMenuTypes.h:
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForWhitespaceInEditableArea]):
(-[WKActionMenuController _defaultMenuItems:]):

10:54 AM Changeset in webkit [175753] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Invoking an action menu should dismiss existing selection
​https://bugs.webkit.org/show_bug.cgi?id=138496
-and corresponding-
rdar://problem/18892787

Reviewed by Tim Horton.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController willOpenMenu:withEvent:]):

10:28 AM Changeset in webkit [175752] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop useless HTMLElement::isURLAttribute() override
​https://bugs.webkit.org/show_bug.cgi?id=138479

Reviewed by Mark Lam.

Drop useless HTMLElement::isURLAttribute() override as it is doing
nothing but calling the parent class' isURLAttribute().

No new tests, no behavior change.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::isURLAttribute): Deleted.

  • html/HTMLElement.h:
10:12 AM Changeset in webkit [175751] by ggaren@apple.com
  • 8 edits in trunk/Source/bmalloc

bmalloc uses 8X more virtual memory than necessary
​https://bugs.webkit.org/show_bug.cgi?id=138495

Reviewed by Mark Lam.

iOS has a per-process virtual memory cap around 1GB, so there's some
value to not going totally ham with virtual memory.

We currently use about 8X the necessary amount:

  • 2X to align our VM allocation
  • 4X to reserve small / medium / (2) large chunk VM ranges per superchunk

We can cut that down:

  • Return the unaligned portion of our VM allocation (-2X)
  • Use all the chunks in a superchunk, instead of allocating one chunk per superchunk (-4X)
  • bmalloc/Algorithm.h:

(bmalloc::roundUpToMultipleOf): Added a non-constant version of this
function so we can call it with getpagesize() at runtime.

  • bmalloc/Chunk.h:
  • bmalloc/LargeChunk.h:

(bmalloc::LargeChunk::create): Deleted. Instead of each chunk allocating
its own VM, VMHeap allocates the superchunk and all the chunks in it at a time.

  • bmalloc/VMAllocate.h:

(bmalloc::vmValidate):
(bmalloc::vmAllocate): ASSERT that mmap succeeds to make crashes clearer
if it does not succeed. Allocate precisely, and give back the extra.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::allocateSuperChunk):
(bmalloc::VMHeap::allocateSmallChunk): Deleted.
(bmalloc::VMHeap::allocateMediumChunk): Deleted.
(bmalloc::VMHeap::allocateLargeChunk): Deleted. Use all the chunks
in a superchunk, instead of just one.

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange):

  • bmalloc/XLargeChunk.h:

(bmalloc::XLargeChunk::create): Updated to match changes above.

10:10 AM Changeset in webkit [175750] by eric.carlson@apple.com
  • 14 edits in trunk/Source

[iOS] Update optimized fullscreen media controls
​https://bugs.webkit.org/show_bug.cgi?id=138493

Reviewed by Brent Fulgham.

Source/WebCore:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::fullscreenMode): New.
(WebCore::MediaControlsHost::mediaUIImageData): New.

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:
  • Modules/mediacontrols/mediaControlsiOS.css:

Renamed -webkit-media-controls-wireless-playback-status to -webkit-media-controls-inline-playback-placeholder

because it is now used for other inline playback status display. Add z-index:0 so the placeholder
renders above captions. Remove the background-image, it is now set from script.

(audio::-webkit-media-controls-inline-playback-placeholder):
(audio::-webkit-media-controls-inline-playback-placeholder.hidden):
(video::-webkit-media-controls-optimized-fullscreen-button):
(audio::-webkit-media-controls-wireless-playback-status): Deleted.
(audio::-webkit-media-controls-wireless-playback-status.hidden): Deleted.
(video::-webkit-media-controls-optimized-fullscreen-button:active): Deleted.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Set doingSetup to true around setup so we don't draw the inline controls

briefly when an element is created as a result of a user gesture.

(ControllerIOS.prototype.shouldHaveStartPlaybackButton): Don't allow inline controls during

initial setup to prevent inline controls from begin drawn briefly when a media element
is created and inserted by a script called from a user gesture.

(ControllerIOS.prototype.updateWirelessPlaybackStatus): wirelessPlaybackStatus -> inlinePlaybackPlaceholder.
(ControllerIOS.prototype.createControls): Ditto. Add style rules for optimized fullscreen button.
(ControllerIOS.prototype.configureInlineControls): Add the inlinePlaybackPlaceholder as a peer of

the inline controls compositing child instead of as a child so it renders correctly.

(ControllerIOS.prototype.addControls):
(ControllerIOS.prototype.updateControls): wirelessPlaybackStatus -> inlinePlaybackPlaceholder.
(ControllerIOS.prototype.handleWrapperTouchStart):
(ControllerIOS.prototype.get pageScaleFactor): Cleanup.
(ControllerIOS.prototype.set pageScaleFactor): Ditto.
(ControllerIOS.prototype.handleFullscreenChange): Show the placeholder.

  • WebCore.exp.in: Export _wkGetMediaUIImageData.
  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::fullscreenMode): Expose fullscreen mode.

  • platform/ios/WebCoreSystemInterfaceIOS.h:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Initialize GetMediaUIImageData.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Initialize GetMediaUIImageData.

3:43 AM Changeset in webkit [175749] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.6

Merge r173857 - Move nodeFromPoint() back to Document where it belongs
​https://bugs.webkit.org/show_bug.cgi?id=137012

Reviewed by Zalan Bujtas.
Source/WebCore:

nodeFromPoint() was moved into TreeScope for ShadowDOM work, but now we can move
it back to its logical place.

Make versions of elementFromPoint and caretRangeFromPoint that take LayoutPoints,
and change the current scale/offset code to be in layout units (which results
in a small behavior change).

elementFromPoint(int, int) and caretRangeFromPoint(int, int) are still required
for bindings code.

  • dom/Document.cpp:

(WebCore::Document::nodeFromPoint):
(WebCore::Document::elementFromPoint):
(WebCore::Document::caretRangeFromPoint):

  • dom/Document.h:

(WebCore::Document::elementFromPoint): Move logic from TreeScope::elementFromPoint()
here.

  • dom/TreeScope.cpp:

(WebCore::nodeFromPoint): Deleted.
(WebCore::TreeScope::elementFromPoint): Deleted.

  • dom/TreeScope.h:

LayoutTests:

All platforms use subpixel layout now, so remove the conditional behavior in this test.
Fix the test to account for scaling now being done in layout units.

  • fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
  • fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html:
  • platform/mac/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
3:29 AM Changeset in webkit [175748] by Antti Koivisto
  • 2 edits
    8 adds in trunk/Source/WebKit2

Add cache coders
​https://bugs.webkit.org/show_bug.cgi?id=138413

Reviewed by Anders Carlsson.

Add encoding and decoding support for cache types.

This is largely a copy of the IPC coder classes with some unnecessary features removed.
The coders compute a type-sensitive checksum that can be used to verify the data integrity.

The code is behind ENABLE(NETWORK_CACHE) and not yet used.

  • NetworkProcess/cache: Added.
  • NetworkProcess/cache/NetworkCacheCoder.h: Added.
  • NetworkProcess/cache/NetworkCacheCoders.cpp: Added.
  • NetworkProcess/cache/NetworkCacheCoders.h: Added.
  • NetworkProcess/cache/NetworkCacheDecoder.cpp: Added.
  • NetworkProcess/cache/NetworkCacheDecoder.h: Added.
  • NetworkProcess/cache/NetworkCacheEncoder.cpp: Added.
  • NetworkProcess/cache/NetworkCacheEncoder.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
3:28 AM Changeset in webkit [175747] by Carlos Garcia Campos
  • 20 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r173765 - Allow DOM methods to return references instead of pointers
​https://bugs.webkit.org/show_bug.cgi?id=136931

Source/WebCore:

Reviewed by Sam Weinig.

It is common practice in WebKit to have methods return a reference
instead of a pointer if the pointer can never be null. However, this
unfortunately did not work for DOM methods (functions called by JS
bindings). This prevented further refactoring.

This patch brings support for having DOM methods to return references
instead of pointers when the pointer cannot be null. The generated
bindings were calling WTF::getPtr() on the pointer type returned by
the implementation already (in case it was a smart pointer type).
This patch leverages this by having WTF::getPtr() convert reference
arguments into raw pointers.

This patch also updates a few DOM methods on Document and Element
classes to return a reference instead of a pointer, to test the change.
There are likely more DOM methods that can be updated though.

No new tests, no behavior change.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::classList):

  • bindings/js/JSDOMBinding.h:

(WTF::getPtr): Deleted.

  • dom/Document.cpp:

(WebCore::Document::implementation):
(WebCore::Document::webkitGetNamedFlows):
(WebCore::Document::namedFlows):
(WebCore::Document::setXMLVersion):
(WebCore::Document::setXMLStandalone):
(WebCore::Document::securityPolicy):
(WebCore::Document::styleSheets):

  • dom/Document.h:

(WebCore::Document::timing):

  • dom/Element.cpp:

(WebCore::Element::classList):
(WebCore::Element::dataset):

  • dom/Element.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::resetPosition):
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::documentTiming):

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):

Source/WTF:

Add support for having WTF::getPtr() transform reference arguments
into raw pointers so that DOM methods can now return references when
appropriate and so that the generated bindings code can handle this
via WTF::getPtr().

This patch had to alter the way getPtr() was overloaded for smart
pointer types so that we don't call &p on smart pointers but p.get().
This was needed because the new WTF::getPtr(T&) was being called for
RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload.
This was addressed using traits and template specialization to
distinguish WTF smart pointers from other types.

Reviewed by Sam Weinig.

  • wtf/GetPtr.h:

(WTF::getPtr):

  • wtf/OwnPtr.h:

(WTF::getPtr): Deleted.

  • wtf/PassOwnPtr.h:

(WTF::getPtr): Deleted.

  • wtf/PassRefPtr.h:

(WTF::getPtr): Deleted.

  • wtf/Ref.h:
  • wtf/RefPtr.h:

(WTF::getPtr): Deleted.

  • wtf/gobject/GRefPtr.h:

(WTF::getPtr): Deleted.

2:07 AM Changeset in webkit [175746] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk

[EFL] Require at least EFL 1.9 if ENABLE(ACCESSIBILITY) after r175098
​https://bugs.webkit.org/show_bug.cgi?id=138465

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsEfl.cmake:
1:21 AM Changeset in webkit [175745] by gyuyoung.kim@samsung.com
  • 6 edits in trunk/Source/JavaScriptCore

Apply std::unique_ptr to slowPathCall()
​https://bugs.webkit.org/show_bug.cgi?id=138489

Reviewed by Mark Lam.

As a step to use std::unique_ptr<>, this patch makes slowPathCall() use std::unique_ptr<>,
std::make_unique<>, and WTF::move().

  • dfg/DFGSlowPathGenerator.h:

(JSC::DFG::slowPathCall):
(JSC::DFG::slowPathMove):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateJSArray):
(JSC::DFG::SpeculativeJIT::addSlowPathGenerator):
(JSC::DFG::SpeculativeJIT::arrayify):
(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):

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

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::compile):

12:24 AM Changeset in webkit [175744] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Gardening: get-by-pname.js is failing when run with JSC_useLLINT=false and other special JIT configurations.
<​https://webkit.org/b/138497>

Unreviewed.

  • js/script-tests/get-by-pname.js:
  • temporarily skipping this from the JSC tests to green the bots until the issue is fixed.

Nov 6, 2014:

11:22 PM Changeset in webkit [175743] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

Unreviewed. Try to fix GTK build after r175719.

Rename the Timer fired function as requestAnimationTimerFired() to
avoid ambiguity.

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
(WebCore::ScrollAnimatorNone::requestAnimationTimerFired):
(WebCore::ScrollAnimatorNone::animationTimerFired): Deleted.

  • platform/ScrollAnimatorNone.h:
9:53 PM Changeset in webkit [175742] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Remove useless if check in HTMLInputElement::setValue()
​https://bugs.webkit.org/show_bug.cgi?id=138485

Reviewed by Daniel Bates.

Remove useless if check in HTMLInputElement::setValue(). It was
inadvertently left in as part of r94836.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setValue):

8:52 PM Changeset in webkit [175741] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Put names on a couple of video-related CALayers
​https://bugs.webkit.org/show_bug.cgi?id=138491

Reviewed by Eric Carlson.

In debug, set layer names on a couple of video-related layers to make
debugging easier.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):

7:16 PM Changeset in webkit [175740] by Darin Adler
  • 5 edits in trunk

REGRESSION (r175549): http/tests/multipart/stop-crash.html failing (assertion failure in CachedResource::setEncodedSize)
​https://bugs.webkit.org/show_bug.cgi?id=138358

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::setEncodedSize): Removed the incorrect assertion here.
The code asserts that resources only get bigger, never smaller. This is incorrect
for a multipart/mixed-replace image, where a later image that is smaller can replace
an earlier one. I don't fully understand why this assertion was not firing before,
but the relevant websites are working fine and the test otherwise passes.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart): Fix another
incorrect assertion that can fire for any parts after the first one. I ran into
this while testing various websites that use multipart/mixed-replace.

LayoutTests:

7:04 PM Changeset in webkit [175739] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

6:56 PM Changeset in webkit [175738] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.2.1

New Tag.

6:56 PM Changeset in webkit [175737] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

6:51 PM Changeset in webkit [175736] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/JavaScriptCore

Rollout r173238. rdar://problem/18495806

6:27 PM Changeset in webkit [175735] by commit-queue@webkit.org
  • 8 edits in trunk/Tools

Remove duplicate code from PatchAnalysisTask._test_patch and fix bug
regarding incorrect call to PatchAnalysisTask.report_failure
​https://bugs.webkit.org/show_bug.cgi?id=138229

Patch by Jake Nielsen <​jacob_nielsen@apple.com> on 2014-11-06
Reviewed by Daniel Bates.

  • Scripts/webkitpy/common/net/layouttestresults.py:

Makes sure test_results returns a list.
(LayoutTestResults.test_results):

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Makes unit tests also check to make sure
task.results_from_patch_test_run() and
task.results_from_test_run_without_patch return instances of
LayoutTestResults.
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Condenses duplicate code into _should_defer_patch_or_throw, and
removes the now-unused _clean_tree_results member.
(PatchAnalysisTask.init):
(PatchAnalysisTask._continue_testing_patch_that_exceeded_failure_limit_on_first_or_second_try):
(PatchAnalysisTask._should_defer_patch_or_throw):
(PatchAnalysisTask._test_patch):
(PatchAnalysisTask.results_from_patch_test_run):
(PatchAnalysisTask.results_from_test_run_without_patch): Deleted.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Removes needless call to results_from_test_run_without_patch
(AbstractEarlyWarningSystem._failing_tests_message):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Changes order of test failure messages to be in the order that they
appear.
(AbstractEarlyWarningSystemTest.test_failing_tests_message):

  • Scripts/webkitpy/tool/commands/queues.py:

Removes needless call to results_from_test_run_without_patch.
(CommitQueue._failing_tests_message):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(MockCommitQueueTask.results_from_test_run_without_patch): Deleted.

6:26 PM Changeset in webkit [175734] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Version bump.

6:11 PM Changeset in webkit [175733] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Wrap the bulk of -[WebView dealloc] with an autorelease pool.
​https://bugs.webkit.org/show_bug.cgi?id=138443

Patch by Daniel Jalkut <​jalkut@red-sweater.com> on 2014-11-06
Reviewed by Anders Carlsson.

Wrapping the dealloc method in its own autorelease pool avoids the problem of
complex tear-downs leading to the WebView itself being added to an autorelease
pool that is not drained until after the instance has been dealloc'd.

  • WebView/WebView.mm:

(-[WebView dealloc]):

6:02 PM Changeset in webkit [175732] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Clients should be able to customize the view used for page previews
​https://bugs.webkit.org/show_bug.cgi?id=138447

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-06
Reviewed by Tim Horton.

Add SPI to WKView that clients can use to customize the view used in the page preview popover.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare -_viewForPreviewingURL:initialFrameSize:.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _viewForPreviewingURL:initialFrameSize:]):
Return nil in the default implementation.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController loadView]):
Only spin up a WKWebView if the delegate (and, therefore, the presenting WKView) doesn't supply a custom view.
(-[WKActionMenuController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]):
WKPagePreviewViewControllerDelegate method; wrap the WKView SPI.

5:14 PM Changeset in webkit [175731] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

Refactor the get-by-pname.js test [follow up 2].
<​https://webkit.org/b/138483>

Reviewed by Michael Saboff.

Make unique copies of the test functions to ensure that each test case does not
affect the tiering up of other test cases.

  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(foo): Deleted.
(getByPnameOnConstant): Deleted.
(getByPnameOnVar): Deleted.

4:53 PM Changeset in webkit [175730] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/WebCore

Merged r175727. rdar://problem/18896362

4:49 PM Changeset in webkit [175729] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Refactor the get-by-pname.js test [follow up].
<​https://webkit.org/b/138483>

Reviewed by Michael Saboff.

Used named properties to make the test code more readable.

  • js/script-tests/get-by-pname.js:

(isTierIteration):
(tierName):
(testExpr): Deleted.
(testExpectedResult): Deleted.

4:34 PM Changeset in webkit [175728] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/JavaScriptCore

Merged r175724. rdar://problem/18495847

4:27 PM Changeset in webkit [175727] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix typo in optimized fullscreen activation.
​https://bugs.webkit.org/show_bug.cgi?id=138480

Patch by Jeremy Jones <​jeremyj@apple.com> on 2014-11-06
Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleWrapperTouchStart): fix typo doubleTouchIntervalThresholdms
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): fix typo isFullScreen

4:24 PM Changeset in webkit [175726] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-600.2-branch

Merged r174740. rdar://problems/18883729

4:18 PM Changeset in webkit [175725] by ryuan.choi@navercorp.com
  • 2 edits in trunk/Tools

Unreviewed. Reorder my e-mail addresses in contributors.json

Patch by Ryuan Choi <​ryuan.choi@navercorp.com> on 2014-11-06

  • Scripts/webkitpy/common/config/contributors.json:
4:18 PM Changeset in webkit [175724] by mark.lam@apple.com
  • 5 edits in trunk

slow_path_get_direct_pname() needs to be hardened against a constant baseValue.
<​https://webkit.org/b/138476>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

slow_path_get_direct_pname() currently assumes that the baseValue is always a
non-constant virtual register. However, this is not always the case like in the
following:

function foo() {

var o = { a:1 };
for (var n in o)

0[n];

}
foo();

This patch fixes it to also check for constant virtual register indexes.

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

LayoutTests:

  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(getByPnameOnConstant):
(getByPnameOnVar):

  • Added more test cases.
4:02 PM Changeset in webkit [175723] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.2-branch/Source/WebCore

Merged r175375. rdar://problems/18883734

3:53 PM Changeset in webkit [175722] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

Refactor the get-by-pname.js test.
<​https://webkit.org/b/138483>

Reviewed by Geoffrey Garen.

Refactored the test code to:

  1. make it easier to add more test cases.
  2. test each case against different tier JITs.
  3. print only one set of results for each tier being tested.
  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(getByPnameOnConstant):
(getByPnameOnVar):
(testExpr):
(testExpectedResult):
(isTierIteration):
(tierName):

3:20 PM Changeset in webkit [175721] by Bem Jones-Bey
  • 14 edits
    11 adds
    10 deletes in trunk/LayoutTests

[CSS Shapes] the spec-examples reftests are off by a few pixels
​https://bugs.webkit.org/show_bug.cgi?id=135927

Reviewed by Zoltan Horvath.

Import new versions of the spec example tests that are js tests
instead of ref tests so that they can properly handle the small pixel
differences in rendering between platforms.

  • TestExpectations:
  • css3/shapes/spec-examples/shape-outside-010-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-010-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-010.html:
  • css3/shapes/spec-examples/shape-outside-011-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-011-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-011.html:
  • css3/shapes/spec-examples/shape-outside-012-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-012-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-012.html:
  • css3/shapes/spec-examples/shape-outside-013-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-013-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-013.html:
  • css3/shapes/spec-examples/shape-outside-014-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-014-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-014.html:
  • css3/shapes/spec-examples/shape-outside-015-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-015-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-015.html:
  • css3/shapes/spec-examples/shape-outside-016-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-016-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-016.html:
  • css3/shapes/spec-examples/shape-outside-017-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-017-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-017.html:
  • css3/shapes/spec-examples/shape-outside-018-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-018-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-018.html:
  • css3/shapes/spec-examples/shape-outside-019-expected.html: Removed.
  • css3/shapes/spec-examples/shape-outside-019-expected.txt: Added.
  • css3/shapes/spec-examples/shape-outside-019.html:
  • css3/shapes/spec-examples/support/spec-example-utils.js: Added.

(.runTest):
(approxShapeTest):

  • css3/shapes/spec-examples/support/w3c-import.log:
  • css3/shapes/spec-examples/w3c-import.log:
3:17 PM Changeset in webkit [175720] by Chris Dumez
  • 8 edits
    2 adds in trunk/Source/WebCore

Stop special-casing wbr elements in HTMLElement::createElementRenderer()
​https://bugs.webkit.org/show_bug.cgi?id=138474

Reviewed by Ryosuke Niwa.

Stop special-casing wbr elements in HTMLElement::createElementRenderer()
and move the code to a HTMLWBRElement subclass instead, that is
overriding createElementRenderer(). This function is already virtual.

No new tests, no behavior change.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createElementRenderer):

  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLTagNames.in:
  • html/HTMLWBRElement.cpp: Added.

(WebCore::HTMLWBRElement::create):
(WebCore::HTMLWBRElement::HTMLWBRElement):
(WebCore::HTMLWBRElement::createElementRenderer):

  • html/HTMLWBRElement.h: Added.
  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::RenderLineBreak):

3:06 PM Changeset in webkit [175719] by jer.noble@apple.com
  • 277 edits in trunk/Source

De-templatize Timer
​https://bugs.webkit.org/show_bug.cgi?id=138450

Reviewed by Anders Carlsson.

Source/WebCore:

Timer does not need to be a templated class; only it's constructors need to be templated.
Remove the template specifier from Timer and add same to its two class method
constructors. Replace the function pointer typedefs with using statements. Add a
helper typedef which allows invalid combinations of TimerFiredClass and
TimerFiredFunction to be caught early by the compiler, while still allowing
valid combinations (such as when the caller specifies a function on a subclass of
TimerFiredClass).

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::GeoNotifier::timerFired):
(WebCore::Geolocation::resumeTimerFired):

  • Modules/geolocation/Geolocation.h:
  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::taskTimerFired):

  • Modules/indexeddb/IDBTransactionBackend.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::removeTimerFired):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::scheduledEventTimerFired):

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::scheduledEventTimerFired):

  • Modules/mediastream/RTCDTMFSender.h:
  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::scheduledEventTimerFired):

  • Modules/mediastream/RTCDataChannel.h:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/notifications/Notification.cpp:

(WebCore::Notification::Notification):
(WebCore::Notification::taskTimerFired):

  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::NotificationRequestCallback::timerFired):

  • Modules/notifications/NotificationCenter.h:
  • Modules/vibration/Vibration.cpp:

(WebCore::Vibration::timerFired):

  • Modules/vibration/Vibration.h:
  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::resumeTimerFired):
(WebCore::WebSocketChannel::closingTimerFired):

  • Modules/websockets/WebSocketChannel.h:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::notificationPostTimerFired):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::AXObjectCache):

  • bindings/js/GCController.cpp:

(WebCore::GCController::gcTimerFired):

  • bindings/js/GCController.h:
  • css/CSSFontFaceSource.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::beginLoadTimerFired):

  • css/CSSFontSelector.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sweepMatchedPropertiesCache):

  • css/StyleResolver.h:
  • dom/Document.cpp:

(WebCore::Document::visualUpdatesSuppressionTimerFired):
(WebCore::Document::styleRecalcTimerFired):
(WebCore::Document::optimizedStyleSheetUpdateTimerFired):
(WebCore::Document::sharedObjectPoolClearTimerFired):
(WebCore::Document::updateFocusAppearanceTimerFired):
(WebCore::Document::pendingTasksTimerFired):
(WebCore::Document::fullScreenChangeDelayTimerFired):
(WebCore::Document::loadEventDelayTimerFired):
(WebCore::Document::didAssociateFormControlsTimerFired):
(WebCore::Document::domCookieCacheExpiryTimerFired):

  • dom/Document.h:
  • dom/EventSender.h:

(WebCore::EventSender::timerFired):

  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::timerFired):

  • dom/GenericEventQueue.h:
  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::timerFired):

  • dom/ScriptRunner.h:
  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::animationTimerFired):

  • dom/ScriptedAnimationController.h:
  • dom/StyledElement.cpp:

(WebCore::PresentationAttributeCacheCleaner::cleanCache):

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::timerFired):

  • editing/AlternativeTextController.h:
  • editing/Editor.cpp:

(WebCore::Editor::scanSelectionForTelephoneNumbers):
(WebCore::Editor::editorUIUpdateTimerFired):

  • editing/Editor.h:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::caretBlinkTimerFired):

  • editing/FrameSelection.h:
  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::timerFiredToProcessQueuedRequest):

  • editing/SpellChecker.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::requestAutocompleteTimerFired):

  • html/HTMLFormElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::swapRendererTimerFired):

  • html/HTMLPlugInElement.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):

  • html/HTMLPlugInImageElement.h:
  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::errorEventTimerFired):

  • html/HTMLSourceElement.h:
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::loadTimerFired):

  • html/HTMLTrackElement.h:
  • html/MediaController.cpp:

(MediaController::asyncEventTimerFired):
(MediaController::clearPositionTimerFired):
(MediaController::timeupdateTimerFired):

  • html/MediaController.h:
  • html/MediaDocument.cpp:

(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/MediaDocument.h:
  • html/SearchInputType.cpp:

(WebCore::SearchInputType::searchEventTimerFired):

  • html/SearchInputType.h:
  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
(WebCore::ValidationMessage::buildBubbleTree):
(WebCore::ValidationMessage::requestToHideMessage):
(WebCore::ValidationMessage::deleteBubbleTree):

  • html/ValidationMessage.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::dispatchContextLostEvent):
(WebCore::WebGLRenderingContext::maybeRestoreContext):

  • html/canvas/WebGLRenderingContext.h:
  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):

  • html/parser/HTMLParserScheduler.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::transitionTimerFired):
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired):

  • html/shadow/MediaControlElements.h:
  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::hideFullscreenControlsTimerFired):

  • html/shadow/MediaControls.h:
  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::repeatingTimerFired):

  • html/shadow/SpinButtonElement.h:
  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::loadTimerFired):

  • html/track/LoadableTextTrack.h:
  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::scrollTimerFired):

  • html/track/VTTRegion.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::ChangeRegionOversetTask::timerFired):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::RevalidateStyleAttributeTask::timerFired):

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorBackendDispatchTask::timerFired):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::updatePaintRectsTimerFired):

  • inspector/InspectorOverlay.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkTimerFired):

  • loader/FrameLoader.h:
  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::timerFired):

  • loader/ImageLoader.h:
  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::linkLoadTimerFired):
(WebCore::LinkLoader::linkLoadingErrorTimerFired):

  • loader/LinkLoader.h:
  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledNavigation::didStartTimer):
(WebCore::NavigationScheduler::timerFired):

  • loader/NavigationScheduler.h:
  • loader/PingLoader.h:

(WebCore::PingLoader::timeoutTimerFired):

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::progressHeartbeatTimerFired):

  • loader/ProgressTracker.h:
  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::requestTimerFired):

  • loader/ResourceLoadScheduler.h:
  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::cueLoadTimerFired):

  • loader/TextTrackLoader.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::Callback::timerFired):

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):

  • loader/cache/CachedResourceLoader.h:
  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::syncTimerFired):

  • loader/icon/IconDatabase.h:
  • page/AutoscrollController.cpp:

(WebCore::AutoscrollController::autoscrollTimerFired):

  • page/AutoscrollController.h:
  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::timerFired):

  • page/CaptionUserPreferences.h:
  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::updateTimerFired):

  • page/CaptionUserPreferencesMediaAF.h:
  • page/DeviceController.cpp:

(WebCore::DeviceController::fireDeviceEvent):

  • page/DeviceController.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::cursorUpdateTimerFired):
(WebCore::EventHandler::autoHideCursorTimerFired):
(WebCore::EventHandler::recognizeLongMousePress):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
(WebCore::EventHandler::hoverTimerFired):

  • page/EventHandler.h:
  • page/EventSource.cpp:

(WebCore::EventSource::connectTimerFired):

  • page/EventSource.h:
  • page/FocusController.cpp:

(WebCore::FocusController::focusRepaintTimerFired):

  • page/FocusController.h:
  • page/Frame.cpp:

(WebCore::Frame::overflowAutoScrollTimerFired):

  • page/Frame.h:
  • page/FrameView.cpp:

(WebCore::FrameView::delayedScrollEventTimerFired):
(WebCore::FrameView::speculativeTilingEnableTimerFired):
(WebCore::FrameView::layoutTimerFired):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::postLayoutTimerFired):

  • page/FrameView.h:
  • page/PageOverlay.cpp:

(WebCore::PageOverlay::fadeAnimationTimerFired):

  • page/PageOverlay.h:
  • page/Settings.cpp:

(WebCore::Settings::imageLoadingSettingsTimerFired):

  • page/Settings.h:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
(WebCore::AnimationControllerPrivate::animationTimerFired):

  • page/animation/AnimationControllerPrivate.h:
  • page/mac/ServicesOverlayController.h:
  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::determineActiveHighlightTimerFired):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.mm:

(WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired):

  • platform/HysteresisActivity.h:

(WebCore::HysteresisActivity::hysteresisTimerFired):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
(WebCore::ScrollAnimator::startScrollSnapTimer):
(WebCore::ScrollAnimator::stopScrollSnapTimer):
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired):
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired):

  • platform/ScrollAnimator.h:
  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::animationTimerFired):

  • platform/ScrollAnimatorNone.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::autoscrollTimerFired):

  • platform/Scrollbar.h:
  • platform/Timer.h:

(WebCore::Timer::Timer):

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::clientDataBufferingTimerFired):

  • platform/audio/MediaSession.h:
  • platform/efl/BatteryProviderEfl.cpp:

(WebCore::BatteryProviderEfl::timerFired):

  • platform/efl/BatteryProviderEfl.h:
  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::advanceAnimation):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::reloadTimerFired):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ScratchBuffer::timerFired):

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
(WebCore::TiledBackingStore::backingStoreUpdateTimerFired):

  • platform/graphics/TiledBackingStore.h:
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired):

  • platform/graphics/ca/LayerPool.cpp:

(WebCore::LayerPool::pruneTimerFired):

  • platform/graphics/ca/LayerPool.h:
  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::tileRevalidationTimerFired):

  • platform/graphics/ca/TileController.h:
  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::cohortRemovalTimerFired):

  • platform/graphics/ca/TileGrid.h:
  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:

(WebCore::LegacyCACFLayerTreeHost::renderTimerFired):

  • platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::collectionTimerFired):

  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::seekTimerFired):

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):

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

(WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):

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

(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):

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

(WebCore::CoordinatedImageBacking::clearContentsTimerFired):

  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
  • platform/ios/LegacyTileCache.h:
  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::tileCreationTimerFired):

  • platform/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::connectionDelayTimerFired):
(WebCore::HIDGamepadProvider::inputNotificationTimerFired):

  • platform/mac/HIDGamepadProvider.h:
  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):

  • platform/mock/DeviceMotionClientMock.cpp:

(WebCore::DeviceMotionClientMock::timerFired):

  • platform/mock/DeviceMotionClientMock.h:
  • platform/mock/DeviceOrientationClientMock.cpp:

(WebCore::DeviceOrientationClientMock::timerFired):

  • platform/mock/DeviceOrientationClientMock.h:
  • platform/mock/GeolocationClientMock.cpp:

(WebCore::GeolocationClientMock::permissionTimerFired):
(WebCore::GeolocationClientMock::controllerTimerFired):

  • platform/mock/GeolocationClientMock.h:
  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):

  • platform/mock/PlatformSpeechSynthesizerMock.h:
  • platform/mock/TimerEventBasedMock.h:

(WebCore::TimerEvent::timerFired):

  • platform/network/DNSResolveQueue.cpp:

(WebCore::DNSResolveQueue::timerFired):

  • platform/network/DNSResolveQueue.h:
  • platform/network/NetworkStateNotifier.h:
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::failureTimerFired):

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::downloadTimerCallback):

  • platform/network/curl/ResourceHandleManager.h:
  • platform/network/mac/NetworkStateNotifierMac.cpp:

(WebCore::NetworkStateNotifier::networkStateChangeTimerFired):

  • platform/network/win/ResourceHandleWin.cpp:

(WebCore::ResourceHandle::fileLoadTimer):

  • plugins/PluginPackage.cpp:

(WebCore::PluginPackage::freeLibraryTimerFired):

  • plugins/PluginPackage.h:
  • plugins/PluginStream.cpp:

(WebCore::PluginStream::delayDeliveryTimerFired):

  • plugins/PluginStream.h:
  • plugins/PluginView.cpp:

(WebCore::PluginView::popPopupsStateTimerFired):
(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::invalidateTimerFired):
(WebCore::PluginView::lifeSupportTimerFired):

  • plugins/PluginView.h:
  • plugins/win/PluginMessageThrottlerWin.cpp:

(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):

  • plugins/win/PluginMessageThrottlerWin.h:
  • rendering/ImageQualityController.cpp:

(WebCore::ImageQualityController::highQualityRepaintTimerFired):

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

(WebCore::RenderButton::styleDidChange):
(WebCore::RenderButton::timerFired):

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

(WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
(WebCore::RenderLayerCompositor::layerFlushTimerFired):
(WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderMarquee.cpp:

(WebCore::RenderMarquee::timerFired):

  • rendering/RenderMarquee.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::animationTimerFired):

  • rendering/RenderProgress.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::lazyRepaintTimerFired):

  • rendering/RenderView.h:
  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::timerFired):

  • replay/EventLoopInputDispatcher.h:
  • storage/StorageAreaImpl.cpp:

(WebCore::StorageAreaImpl::closeDatabaseTimerFired):

  • storage/StorageAreaImpl.h:
  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::syncTimerFired):

  • storage/StorageAreaSync.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::svgLoadEventTimerFired):
(WebCore::SVGElement::svgLoadEventTimer):

  • svg/SVGElement.h:
  • svg/SVGScriptElement.h:
  • svg/SVGStyleElement.h:
  • svg/SVGUseElement.h:
  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::timerFired):

  • svg/animation/SMILTimeContainer.h:
  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):

  • xml/XMLHttpRequestProgressEventThrottle.h:

Source/WebKit/mac:

Remove template specifiers from Timer.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::requestTimerFired):

  • Plugins/WebNetscapePluginStream.h:
  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::deliverDataTimerFired):

Source/WebKit/win:

  • FullscreenVideoController.cpp:

(FullscreenVideoController::timerFired):

  • FullscreenVideoController.h:

Source/WebKit2:

Remove template specifiers from Timer.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::bufferingTimerFired):

  • NetworkProcess/NetworkResourceLoader.h:
  • Shared/WebMemorySampler.cpp:

(WebKit::WebMemorySampler::sampleTimerFired):
(WebKit::WebMemorySampler::stopTimerFired):

  • Shared/WebMemorySampler.h:
  • Shared/mac/RemoteLayerBackingStoreCollection.h:
  • Shared/mac/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::displayTimerFired):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/efl/TextCheckerClientEfl.cpp:

(TextCheckerClientEfl::languagesUpdateTimerFired):
(TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):

  • UIProcess/efl/TextCheckerClientEfl.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processSuspensionCleanupTimerFired):
(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):

  • WebProcess/WebProcess.h:
2:51 PM Changeset in webkit [175718] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Don't send identifierForInitialRequest callback method for request with DoNotSendCallbacks option.
​https://bugs.webkit.org/show_bug.cgi?id=138473

The iOS specific code that sets up a valid m_identifier is not needed any more, since this
will be done later in ResourceLoader::willSendRequest. This also matches the behavior that
we don't call assignIdentifierToInitialRequest callback method if the reqeust has
DoNotSendCallbacks option.

Patch by Yongjun Zhang <​yongjun_zhang@apple.com> on 2014-11-06
Reviewed by Pratik Solanki.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest): Remove iOS specific block for setting up a valid

m_identifier. In iOS, also make sure we still bail out if the resource loader was stopped
in assignIdentifierToInitialRequest callback by a client.

2:41 PM Changeset in webkit [175717] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Remove code that prepends a leading 'r' to the first argument of _run_git_svn_find_rev
​https://bugs.webkit.org/show_bug.cgi?id=138475

Reviewed by Ryosuke Niwa.

The change in ​https://trac.webkit.org/175603 introduced broke compatibility with svn_revision_from_git_commit.
This patch reverts the part of that change that broke compatibility. In addition, this patch adds a comment to
explain that SVN revisions require a leading 'r', moves an existing comment to a more appropriate location and
renames the positional argument to better reflect that it can represent either an SVN revision or a Git tree-ish.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git._run_git_svn_find_rev):
Add comment mentioning that svn_revisions need to begin with 'r'.
Move comment (explaining that git svn find-rev exits with code 0 when no match is found) to a more appropriate location.
Rename the argument 'revision' to 'revision_or_treeish' to reflect the dual form that argument can take.
Remove code that coerced the revision/treeish into a string and prepended an 'r'.

2:23 PM Changeset in webkit [175716] by dino@apple.com
  • 34 edits
    16 adds in trunk

[filters2] Support for backdrop-filter
​https://bugs.webkit.org/show_bug.cgi?id=138384
<rdar://problem/18874494>

Reviewed by Simon Fraser.

Take 2!! Previous patch was rolled out.

Source/WebCore:

Add prototype support for backdrop-filter
​http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty

This adds support for parsing the new CSS property, adding
the value to RenderStyle, noticing that on the layer tree,
and the platform code in GraphicsLayer to render a backdrop
and apply an effect to the result.

Some things are missing:

  • animation of the backdrop-filter is not yet supported
  • backdrops will not work in cloned layers yet (e.g. reflections)

Tests: css3/filters/backdrop/backdropfilter-property-computed-style.html

css3/filters/backdrop/backdropfilter-property-parsing-invalid.html
css3/filters/backdrop/backdropfilter-property-parsing.html
css3/filters/backdrop/backdropfilter-property.html
css3/filters/backdrop/effect-hw.html

  • WebCore.exp.in: Export the setBackdropFilters method so it can

be used from WebKit.

  • css/CSSComputedStyleDeclaration.cpp: New property name.

(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue): Use the existing valueForFilter method.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Piggyback on the filter parser.

  • css/CSSPropertyNames.in: Add -webkit-backdrop-filter.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Add test for backdrop.
(WebCore::StyleResolver::applyProperty): Support new property.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::needsBackdrop): New method to test for existence of values.
(WebCore::GraphicsLayer::backdropFilters): Keeps the list of filters.
(WebCore::GraphicsLayer::setBackdropFilters):
(WebCore::GraphicsLayer::clearBackdropFilters):

  • platform/graphics/ca/GraphicsLayerCA.cpp: This adds a new m_backdropLayer CALayer

that will sit behind the contents layer and provide the element's backdrop.
(WebCore::GraphicsLayerCA::willBeDestroyed):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::setBackdropFilters): Set a custom appearance so
remote layer hosts will notice the special layer. Also set the actual
layer properties.
(WebCore::GraphicsLayerCA::addAnimation): Remove whitespace.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Update backdrop if necessary.
(WebCore::GraphicsLayerCA::updateLayerNames): Give the new layer a name.
(WebCore::GraphicsLayerCA::updateSublayerList):
(WebCore::GraphicsLayerCA::updateGeometry): Make the backdrop layer match the contents
layer geometry.
(WebCore::GraphicsLayerCA::updateBackdropFilters): Create the backdrop layer if necessary,
and copy the filter values to any clones.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): We need a structural layer if we
have backdrop filters.
(WebCore::GraphicsLayerCA::structuralLayerPurpose):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/GraphicsLayerCA.h: New StructuralLayerPurpose, new LayerChangeFlag.
  • platform/graphics/ca/PlatformCALayer.h: New LayerType.
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Define CABackdropLayer.

(PlatformCALayerMac::PlatformCALayerMac): Create the correct CALayer type.

  • rendering/RenderElement.h:

(WebCore::RenderElement::createsGroup):
(WebCore::RenderElement::hasBackdropFilter): This method is always around, but
only can return true when FILTERS_LEVEL_2 is enabled.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintsWithFilters): Remove an unnecessary comment.
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h: Add hasBackdropFilter.
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Update the backdrop filters.
(WebCore::RenderLayerBacking::updateBackdropFilters): Set the filters on the GraphicsLayer.
(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Needs backingstore if it has a backdrop filter.
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForFilters): Return early if we have
a backdrop filter, because currently we absolutely require compositing.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleWillChange): Add hasBackdropFilter().

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Check backdrops for change.

  • rendering/style/RenderStyle.h: Add the backdropFilter style stuff.
  • rendering/style/StyleRareNonInheritedData.cpp:

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

  • rendering/style/StyleRareNonInheritedData.h:

Source/WebKit2:

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext): Handle LayerTypeBackdropLayer in the switch.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::description): Describe a backdrop layer.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(+[WKBackdropView layerClass]): Define CABackdropLayer and use it as the class.
(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm: Ditto.

(WebKit::RemoteLayerTreeHost::createLayer):

LayoutTests:

Tests for backdrop-filter. These are skipped on non-Apple platforms.

  • platform/win/TestExpections: Skip these tests.
  • platform/efl/TestExpections:
  • platform/gtk/TestExpections:
  • platform/mac-mavericks/TestExpectations: Yosemite only.
  • css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-computed-style.html: Added.
  • css3/filters/backdrop/backdropfilter-property-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid.html: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing.html: Added.
  • css3/filters/backdrop/backdropfilter-property.html: Added.
  • css3/filters/backdrop/effect-hw-expected.html: Added.
  • css3/filters/backdrop/effect-hw.html: Added.
  • css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js: Added.

(testComputedFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: Added.

(testInvalidFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js: Added.

(jsWrapperClass):
(shouldBeType):
(testFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property.js: Added.
2:07 PM Changeset in webkit [175715] by benjamin@webkit.org
  • 8 edits
    2 adds in trunk

Give pseudo elements the correct specificity
​https://bugs.webkit.org/show_bug.cgi?id=138378

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-11-06
Reviewed by Dean Jackson.

Source/WebCore:

WebKit had an old silly bug where pseudo elements were given specificity in the class B
instead of the class C.

Now that the inspector shows the specificity, this bug is much more visible which is why
I fix it now.

Test: fast/css/pseudo-element-specificity.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForOneSelector):
Give pseudo-elements the right specificity.

  • Modules/mediacontrols/mediaControlsApple.css:

(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider::-webkit-slider-thumb):

  • Modules/mediacontrols/mediaControlsBase.css:

(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider::-webkit-slider-thumb):

  • css/mediaControls.css:

(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):

  • css/mediaControlsGtk.css:

(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline[disabled], video::-webkit-media-controls-timeline[disabled]):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
The media controls were relying on the bug to override the style of input[type=range].

Ideally we should either:
-Implement some kind of high level style isolation (e.g. CSS Scoping).
-Fix the media control tree to use regular CSS scoped by a shadow pseudo ID.

Until we have one of those, I just fixed the styling by forcing the properties with lower
specificity with !important.

LayoutTests:

  • fast/css/pseudo-element-specificity-expected.html: Added.
  • fast/css/pseudo-element-specificity.html: Added.

Given that all selector affecting the pseudo element were offset by one,
it is impossible to use a pseudo element directly to affect the order, making the bug
hard to test.

What I did here for testing is use the stauration at 255 of any specificity field.
With 255 class + 1 pseudo element, the old code would saturate at (0, 255, 0), while
the fixed code would correctly give (0, 255, 1). By comparing that to a non-saturated
selector, I can show the fix is correct.

  • inspector/css/selector-specificity-expected.txt:
2:04 PM Changeset in webkit [175714] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.4

Tagging Safari-600.3.4

2:03 PM Changeset in webkit [175713] by dburkart@apple.com
  • 1 delete in tags/Safari-600.3.4

Removing tag to re-tag with another fix.

2:01 PM Changeset in webkit [175712] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r175710. <rdar://problems/18898712>

1:35 PM Changeset in webkit [175711] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Data detectors popover points at the first line of the detected item
​https://bugs.webkit.org/show_bug.cgi?id=138471
<rdar://problem/18893079>

Reviewed by Sam Weinig.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::scanForDataDetectedItems):
Determine the bounding box of all quads of the detected item's text.
This way, the popover will point at the border of the item, instead of
right at the very first line.

1:03 PM Changeset in webkit [175710] by Beth Dakin
  • 4 edits in trunk/Source

Preview views often misplaced inside popover
​https://bugs.webkit.org/show_bug.cgi?id=138472

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

This patch makes the popover maintain aspect ratio, and it uses the final scale of
that popover to scale the preview view as well.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController initWithPageURL:mainViewSize:popoverToViewScale:]):
(-[WKPagePreviewViewController loadView]):
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
(-[WKActionMenuController _targetSize:fitsInAvailableSpace:]):
(-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]):
(-[WKPagePreviewViewController initWithPageURL:]): Deleted.

12:37 PM Changeset in webkit [175709] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.8/Source

Merged r175706. rdar://problem/18813675

12:03 PM Changeset in webkit [175708] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector-protocol/debugger/setPauseOnExceptions-uncaught.html frequently times out on Yosemite
​https://bugs.webkit.org/show_bug.cgi?id=138097

  • platform/mac-wk2/TestExpectations: Marking it as such.
11:57 AM Changeset in webkit [175707] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.4

Tagging Safari-600.3.4

11:47 AM Changeset in webkit [175706] by msaboff@apple.com
  • 5 edits in trunk/Source

REGRESSION (r174985-174986): Site display disappears
​https://bugs.webkit.org/show_bug.cgi?id=138082

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

In support of the change in WebCore, this adds a new functor class to unwind to our
caller's frame possibly skipping of intermediate C++ frames.

  • interpreter/StackVisitor.h:

(JSC::CallerFunctor::CallerFunctor):
(JSC::CallerFunctor::callerFrame):
(JSC::CallerFunctor::operator()):

Source/WebCore:

This effectively reverts to the behavior before r174985 by using the
lexical global object of the caller's frame to find the active document.
Before r174985, native functions are invoked with the ScopeShain of their
caller. The lexical global object is accessed from the ScopeChain.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):
(WebCore::findOwningDocument):
(WebCore::documentWrite):
(WebCore::JSHTMLDocument::write):
(WebCore::JSHTMLDocument::writeln):

  • html/HTMLDocument.idl:
11:38 AM Changeset in webkit [175705] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

TextIndicatorWindow's bounce animation is lopsided when indicating two short lines of text
​https://bugs.webkit.org/show_bug.cgi?id=138458

Reviewed by Simon Fraser.

Previously, the TextIndicator's frame() covered the entire selection highlight bounds.
This was undesirable in cases where the highlight included areas far outside the
bounds of the selected text, as the TextIndicatorWindow's 'bounce' animation
would be misaligned (centered on the highlight instead of on the text).

  • Shared/TextIndicator.cpp:

Get rid of the many-argument TextIndicator::create, because it was only used
internally, and have createWithSelectionInFrame make a ::Data instead.

(WebKit::TextIndicator::createWithSelectionInFrame):
Compute and store the bounding rect of all of the selected text rects, and store
all of the text rects relative to that bounding rect instead of relative to the
selection highlight bounds. We do this because the selection highlight bounds
often includes area which is far outside of the text bounds (in the case of a
selection that spans multiple lines), and causes the text indicator bounce
animation to bounce in a lopsided manner.

(WebKit::TextIndicator::TextIndicator):
Adjust to the rename of textRectsInSelectionRectCoordinates -> textRectsInBoundingRectCoordinates.

(WebKit::TextIndicator::frameRect):
Instead of the TextIndicator's frame being the selection highlight bounds,
it is now the bounds of all of the text rects.

(WebKit::TextIndicator::draw):
Translate into the image by the difference between the selection highlight bounds
and the text bounding rect. This is necessary because the content image is still generated
covering the entire selection highlight bounds, but the text rects are in text-rect-bounds coordinates.

(WebKit::TextIndicator::Data::encode):
(WebKit::TextIndicator::Data::decode):
Adjust to the rename of textRectsInSelectionRectCoordinates -> textRectsInBoundingRectCoordinates.
Encode/decode textBoundingRectInWindowCoordinates.

  • Shared/TextIndicator.h:

(WebKit::TextIndicator::contentImage): Deleted.
Get rid of an unnecessary getter and constructor.

11:04 AM Changeset in webkit [175704] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Only provide a single result to the action menu DDActionContext
​https://bugs.webkit.org/show_bug.cgi?id=138469
<rdar://problem/18869036>

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::scanForDataDetectedItems):
Only provide one result; secondary results can be extremely unrelated to
the primary one and confuse Data Detectors further down the line.

11:02 AM Changeset in webkit [175703] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/WTF

Merge patch for <rdar://problem/18887867> to disable bmalloc.

10:58 AM Changeset in webkit [175702] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref in rangeForDictionaryLookupAtHitTestResult on occasion
​https://bugs.webkit.org/show_bug.cgi?id=138459
<rdar://problem/18872825>

Reviewed by Andreas Kling.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeForDictionaryLookupAtHitTestResult):
rangeExpandedAroundPositionByCharacters can return null.

10:57 AM Changeset in webkit [175701] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Prefer link action menus over images
​https://bugs.webkit.org/show_bug.cgi?id=138461
<rdar://problem/18768377>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItems:]):
Swap the priority of links and images.

10:46 AM Changeset in webkit [175700] by weinig@apple.com
  • 11 edits in trunk/Source

Use std::unique_ptr for TileController
​https://bugs.webkit.org/show_bug.cgi?id=138429

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::create): Deleted.

  • platform/graphics/ca/TileController.h:
  • platform/graphics/ca/mac/WebTiledBackingLayer.h:
  • platform/graphics/ca/mac/WebTiledBackingLayer.mm:

(-[WebTiledBackingLayer createTileController:]):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::createTileController):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:

Source/WebKit2:

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:

(WebKit::PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
10:05 AM Changeset in webkit [175699] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • WebProcess/Plugins/PluginController.h:
8:40 AM Changeset in webkit [175698] by dbates@webkit.org
  • 6 edits
    2 adds in trunk/Source/WebKit2

[iOS] WebProcess needs to take a background task assertion to prevent being killed
for "suspended with locked system files"
​https://bugs.webkit.org/show_bug.cgi?id=138155
<rdar://problem/17939303>

Reviewed by Anders Carlsson.

Mitigates an issue where the WebProcess may be killed when suspended holding locked files
by allowing the WebProcess to notify the UIProcess when it is holding such files so that
both can continue to run for a period of time after the UIProcess transitions to the
background. In particular, the WebProcess notifies the UIProcess that it is holding- or
relinquished- a locked file when it begins and ends a sequence of SQLite transactions,
respectively.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect): Relinquish an existing background task assertion
when the WebProcess disconnects. Among other situations, the WebProcess may disconnect as
a result of being suspended holding locked files even when the UIProcess requested a
background task assertion (i.e. it may have exceeded its background time limit).
(WebKit::WebProcessProxy::setIsHoldingLockedFiles): Added. Either acquires a new background
task assertion or relinquishes an existing one.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in: Added message SetIsHoldingLockedFiles(bool). The WebProcess

dispatches this message to inform the UIProcess that it is holding- or relinquished- a locked file.

  • WebKit2.xcodeproj/project.pbxproj: Added files WebSQLiteDatabaseTracker.{cpp, h}.
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp: Added.

(WebKit::WebSQLiteDatabaseTracker::supplementName): Added.
(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker): Added.
(WebKit::WebSQLiteDatabaseTracker::initialize): Register to receive SQLiteDatabaseTrackerClient callbacks.
(WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction): Inform the HysteresisActivity object on
the main thread that we began a transaction so that it calls WebSQLiteDatabaseTracker::started().
(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction): Inform the HysteresisActivity object on
the main thread that we finished a transaction so that it may eventually call WebSQLiteDatabaseTracker::stopped().
(WebKit::WebSQLiteDatabaseTracker::started): Notify the UIProcess that the WebProcess is holding
a locked file.
(WebKit::WebSQLiteDatabaseTracker::stopped): Notify the UIProcess that the WebProcess has
relinquished the locked file.

  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: Added. We use a HysteresisActivity object

to coalesce SetIsHoldingLockedFiles(false) messages as an optimization to minimize the number of
messages exchanged between the UIProcess and WebProcess when a web page performs SQLite transactions
in batches.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Instantiate the supplement WebSQLiteDatabaseTracker when building
for iOS.

8:03 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
8:00 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
8:00 AM Changeset in webkit [175697] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use lambda functions in DocumentOrderedMap
​https://bugs.webkit.org/show_bug.cgi?id=138376

Reviewed by Darin Adler.

Use lambda functions in DocumentOrderedMap instead of separate named
functions.

No new tests, no behavior change.

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getElementById):
(WebCore::DocumentOrderedMap::getElementByName):
(WebCore::DocumentOrderedMap::getElementByMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
(WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
(WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
(WebCore::DocumentOrderedMap::getAllElementsById):
(WebCore::keyMatchesId): Deleted.
(WebCore::keyMatchesName): Deleted.
(WebCore::keyMatchesMapName): Deleted.
(WebCore::keyMatchesLowercasedMapName): Deleted.
(WebCore::keyMatchesLowercasedUsemap): Deleted.
(WebCore::keyMatchesLabelForAttribute): Deleted.
(WebCore::keyMatchesWindowNamedItem): Deleted.
(WebCore::keyMatchesDocumentNamedItem): Deleted.

  • dom/DocumentOrderedMap.h:
7:46 AM Changeset in webkit [175696] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] [Stable] webkitgtk 2.6.1 fails to load flashplugin
​https://bugs.webkit.org/show_bug.cgi?id=137849

Reviewed by Carlos Garcia Campos.

NPPVpluginNeedsXEmbed is a boolean value, so it should normally
use an NPBool (1 byte). However some plugins (the Flash player in
particular) are using an int instead, so we have to do it as well
else we'll end up corrupting the stack.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

7:22 AM Changeset in webkit [175695] by Bem Jones-Bey
  • 2 edits in trunk/LayoutTests

Update testharness.js to the latest version
​https://bugs.webkit.org/show_bug.cgi?id=138446

Reviewed by Ryosuke Niwa.

The only change I've made from upstream is to set output to false by
default.

  • resources/testharness.js:
7:08 AM Changeset in webkit [175694] by Carlos Garcia Campos
  • 19 edits
    3 adds in trunk

[GTK] Add context menu API to Web Process Extensions
​https://bugs.webkit.org/show_bug.cgi?id=138311

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add WebKitWebPage::context-menu signal, similar to the
WebKitWebView one, but that receives a WebKitWebHitTestResult, a
class that extends WebKitTestResult to provide the WebKitDOMNode
from the Web Process Extensions API. This makes WebKitContextMenu,
WebKitContextMenuItem and WebKitTestResult classes shared between
UI and Web Extensions APIs. In addition to be able to customize
the context menu, it also provides API to set user data, as a
GVariant, in the Web Process that is sent to the UI Process.

  • PlatformGTK.cmake: Add new files.
  • UIProcess/API/gtk/WebKitContextMenu.cpp:

(webkit_context_menu_set_user_data): Add user data to the context
menu as a GVariant.
(webkit_context_menu_get_user_data): Get the user data previously
set with webkit_context_menu_set_user_data() either from the Web
or UI processes.

  • UIProcess/API/gtk/WebKitContextMenu.h:
  • UIProcess/API/gtk/WebKitContextMenuActions.h:
  • UIProcess/API/gtk/WebKitContextMenuClient.cpp:

(getContextMenuFromProposedMenu): Convert the received user data
into a GVariant and pass it to webkitWebViewPopulateContextMenu().

  • UIProcess/API/gtk/WebKitContextMenuItem.h:
  • UIProcess/API/gtk/WebKitForwardDeclarations.h:
  • UIProcess/API/gtk/WebKitHitTestResult.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewPopulateContextMenu): Set the user data received
from the Web Process to the WebKitContextMenu before emitting
WebKitWebView::context-menu.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitWebHitTestResult.
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_web_hit_test_result_get_type.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.cpp: Added.

(webkitWebHitTestResultGetProperty): Add getter for node property.
(webkitWebHitTestResultSetProperty): Add setter for node property.
(webkit_web_hit_test_result_class_init): Add node property.
(webkitWebHitTestResultCreate): Create a new
WebKitWebHitTestResult for the given InjectedBundleHitTestResult.
(webkit_web_hit_test_result_get_node): Return the WebKitDOMNode.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResult.h: Added.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebHitTestResultPrivate.h: Added.
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(getContextMenuFromDefaultMenu): Build a WebKitContextMenu and
WebKitWebHitTestResult and emit WebKitWebPage::context-menu signal.
(webkit_web_page_class_init): Add WebKitWebPage::context-menu signal.
(webkitWebPageCreate): Add implementation for getContextMenuFromDefaultMenu.

  • WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:

Tools:

Add tests cases for WebKitWebPage::context-menu signal.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:

(testContextMenuWebExtensionMenu):
(testContextMenuWebExtensionNode):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(serializeContextMenu):
(serializeNode):
(contextMenuCallback):
(pageCreatedCallback):

2:31 AM Changeset in webkit [175693] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r175690.
​https://bugs.webkit.org/show_bug.cgi?id=138460

We are not ready to run layout tests using the network process
yet (Requested by KaL on #webkit).

Reverted changeset:

"[GTK] Run layout tests using the network process"
​https://bugs.webkit.org/show_bug.cgi?id=138428
​http://trac.webkit.org/changeset/175690

2:08 AM Changeset in webkit [175692] by ryuan.choi@gmail.com
  • 5 edits in trunk/Source/WebKit2

[EFL] Remove m_scrollPosition from CoordinatedGraphicsScene
​https://bugs.webkit.org/show_bug.cgi?id=138419

Reviewed by Gyuyoung Kim.

m_scrollPosition of CoordinatedGraphicsScene is only to adjust the position
of fixed element. But this adjustment is only called by paintToCurrentGLContext()
and WebView can pass same information to the parameter of that method.

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
(WebCore::CoordinatedGraphicsScene::setScrollPosition): Deleted.

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h:
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::paintToCurrentGLContext):

12:51 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
12:50 AM Changeset in webkit [175691] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/JavaScriptCore

Use std::unique_ptr in CodeBlock class
​https://bugs.webkit.org/show_bug.cgi?id=138395

Reviewed by Darin Adler.

  • bytecode/CodeBlock.h: Use std::unique_ptr.

(JSC::CodeBlock::setJITCodeMap):

  • jit/CompactJITCodeMap.h: Use std::unique_ptr instead of OwnPtr|PassOwnPtr.

(JSC::CompactJITCodeMap::CompactJITCodeMap):
(JSC::CompactJITCodeMap::Encoder::finish): Use std::unique_ptr instead of PassOwnPtr.

12:47 AM Changeset in webkit [175690] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Run layout tests using the network process
​https://bugs.webkit.org/show_bug.cgi?id=138428

Reviewed by Martin Robinson.

Shared secondary process is the default in the GTK+ port, but we
should run the tests using the network process to ensure
everything works with the network process. In the future, the
shared secondary process model might be a special case of multiple
processes with 1 as maximum number of processes, but always using
the network process.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

12:07 AM Changeset in webkit [175689] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, fix nits after r175688.

Just a couple of non-functional fixes to the layout test.

  • fast/dom/Text/splitText.html:

Nov 5, 2014:

11:53 PM Changeset in webkit [175688] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

splitText API does not match DOM specification.
​https://bugs.webkit.org/show_bug.cgi?id=138405

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-11-05
Reviewed by Chris Dumez.
Source/WebCore:

Make the offset argument for splitText API as mandatory (and thus throw if it is omitted) and stop throwing if the offset argument is
negative (and wraps to a valid index) as per specification: ​https://w3c.github.io/dom/#interface-text. Also This matches the behavior
of both Firefox 33 and Chrome 38.

Test: fast/dom/Text/splitText.html

  • dom/Text.idl:

LayoutTests:

  • fast/dom/Text/splitText-expected.txt: Added.
  • fast/dom/Text/splitText.html: Added.
  • fast/dom/non-numeric-values-numeric-parameters-expected.txt:
  • fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
11:43 PM Changeset in webkit [175687] by commit-queue@webkit.org
  • 34 edits
    1 delete in trunk

Unreviewed, rolling out r175672.
​https://bugs.webkit.org/show_bug.cgi?id=138455

Tries to make backdrop layers on every layer, asserts on
Mavericks (Requested by smfr on #webkit).

Reverted changeset:

"[filters2] Support for backdrop-filter"
​https://bugs.webkit.org/show_bug.cgi?id=138384
​http://trac.webkit.org/changeset/175672

11:21 PM Changeset in webkit [175686] by adachan@apple.com
  • 15 edits in trunk/Source

Figure out whether a plug-in is playing audio.
​https://bugs.webkit.org/show_bug.cgi?id=137219

Reviewed by Anders Carlsson.

Source/WebCore:

Add NPPVpluginIsPlayingAudio. Export some WebCore methods that will be used in WebKit2.

No new tests, but manually tested with an example plugin.

  • WebCore.exp.in:
  • plugins/npapi.h:

Source/WebKit2:

Handle the setting of the NPPVpluginIsPlayingAudio variable.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::setPluginIsPlayingAudio):
Send a SetPluginIsPlayingAudio message to the WebProcess.

  • PluginProcess/PluginControllerProxy.h:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_SetValue):
Handle NPPVpluginIsPlayingAudio. Call NetscapePlugin::setIsPlayingAudio().

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::setIsPlayingAudio):
Call PluginControllerProxy::setPluginIsPlayingAudio().

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::setPluginIsPlayingAudio):
Call PluginView::setPluginIsPlayingAudio().

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.messages.in:

Add the SetPluginIsPlayingAudio message.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView):
Initialize m_pluginIsPlayingAudio.
(WebKit::PluginView::~PluginView):
Remove itself from the Document's list of AudioProducers.
(WebKit::PluginView::initializePlugin):
Add itself to the Document's list of AudioProducers.
(WebKit::PluginView::pageMutedStateDidChange):
Add a FIXME.
(WebKit::PluginView::setPluginIsPlayingAudio):
If m_pluginIsPlayingAudio has changed, tell the Document to update its audio playing state.

  • WebProcess/Plugins/PluginView.h:

Now inherits AudioProducer.

10:56 PM Changeset in webkit [175685] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/WebCore

Merged r175657. rdar://problem/18883681

10:53 PM Changeset in webkit [175684] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.8/Source/JavaScriptCore

Merged rr175653. rdar://problem/18801123

10:33 PM Changeset in webkit [175683] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175649. <rdar://problems/18887140>

10:32 PM Changeset in webkit [175682] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175646. <rdar://problems/18887218>

10:30 PM Changeset in webkit [175681] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175645. <rdar://problems/18887140>

10:29 PM Changeset in webkit [175680] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175643. <rdar://problems/18885782>

10:07 PM Changeset in webkit [175679] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix crash introduced in r175656
​https://bugs.webkit.org/show_bug.cgi?id=138453

Reviewed by Dan Bernstein.

repaintContainer can be null sometimes.

Covered by existing tests.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::styleChangeRequiresLayerRebuild):

10:03 PM Changeset in webkit [175678] by mitz@apple.com
  • 5 edits in trunk/Source

Source/WebKit:
Removed references to deletion UI resources that have been removed.

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit2:
Tried to fix the GTK build.

  • PlatformGTK.cmake: Removed references to deletion UI resources that have been removed.
10:02 PM Changeset in webkit [175677] by dburkart@apple.com
  • 7 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175637. <rdar://problems/18877675>

9:59 PM Changeset in webkit [175676] by mitz@apple.com
  • 4 edits in trunk/Source/WebCore

Tried to fix the Windows build after removing the deletion UI.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • editing/EditingAllInOne.cpp:
9:56 PM Changeset in webkit [175675] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175635. <rdar://problems/18884674>

9:53 PM Changeset in webkit [175674] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175632. <rdar://problems/18774264>

9:50 PM Changeset in webkit [175673] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175630. <rdar://problems/18876437>

9:50 PM Changeset in webkit [175672] by dino@apple.com
  • 34 edits
    16 adds in trunk

[filters2] Support for backdrop-filter
​https://bugs.webkit.org/show_bug.cgi?id=138384
<rdar://problem/18874494>

Reviewed by Simon Fraser.

Source/WebCore:

Add prototype support for backdrop-filter
​http://dev.w3.org/fxtf/filters-2/#BackdropFilterProperty

This adds support for parsing the new CSS property, adding
the value to RenderStyle, noticing that on the layer tree,
and the platform code in GraphicsLayer to render a backdrop
and apply an effect to the result.

Some things are missing:

  • animation of the backdrop-filter is not yet supported
  • backdrops will not work in cloned layers yet (e.g. reflections)

Tests: css3/filters/backdrop/backdropfilter-property-computed-style.html

css3/filters/backdrop/backdropfilter-property-parsing-invalid.html
css3/filters/backdrop/backdropfilter-property-parsing.html
css3/filters/backdrop/backdropfilter-property.html
css3/filters/backdrop/effect-hw.html

  • WebCore.exp.in: Export the setBackdropFilters method so it can

be used from WebKit.

  • css/CSSComputedStyleDeclaration.cpp: New property name.

(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue): Use the existing valueForFilter method.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Piggyback on the filter parser.

  • css/CSSPropertyNames.in: Add -webkit-backdrop-filter.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Add test for backdrop.
(WebCore::StyleResolver::applyProperty): Support new property.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::needsBackdrop): New method to test for existence of values.
(WebCore::GraphicsLayer::backdropFilters): Keeps the list of filters.
(WebCore::GraphicsLayer::setBackdropFilters):
(WebCore::GraphicsLayer::clearBackdropFilters):

  • platform/graphics/ca/GraphicsLayerCA.cpp: This adds a new m_backdropLayer CALayer

that will sit behind the contents layer and provide the element's backdrop.
(WebCore::GraphicsLayerCA::willBeDestroyed):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::setBackdropFilters): Set a custom appearance so
remote layer hosts will notice the special layer. Also set the actual
layer properties.
(WebCore::GraphicsLayerCA::addAnimation): Remove whitespace.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Update backdrop if necessary.
(WebCore::GraphicsLayerCA::updateLayerNames): Give the new layer a name.
(WebCore::GraphicsLayerCA::updateSublayerList):
(WebCore::GraphicsLayerCA::updateGeometry): Make the backdrop layer match the contents
layer geometry.
(WebCore::GraphicsLayerCA::updateBackdropFilters): Create the backdrop layer if necessary,
and copy the filter values to any clones.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): We need a structural layer if we
have backdrop filters.
(WebCore::GraphicsLayerCA::structuralLayerPurpose):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

  • platform/graphics/ca/GraphicsLayerCA.h: New StructuralLayerPurpose, new LayerChangeFlag.
  • platform/graphics/ca/PlatformCALayer.h: New LayerType.
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Define CABackdropLayer.

(PlatformCALayerMac::PlatformCALayerMac): Create the correct CALayer type.

  • rendering/RenderElement.h:

(WebCore::RenderElement::createsGroup):
(WebCore::RenderElement::hasBackdropFilter): This method is always around, but
only can return true when FILTERS_LEVEL_2 is enabled.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintsWithFilters): Remove an unnecessary comment.
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h: Add hasBackdropFilter.
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Update the backdrop filters.
(WebCore::RenderLayerBacking::updateBackdropFilters): Set the filters on the GraphicsLayer.
(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Needs backingstore if it has a backdrop filter.
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForFilters): Return early if we have
a backdrop filter, because currently we absolutely require compositing.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleWillChange): Add hasBackdropFilter().

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Check backdrops for change.

  • rendering/style/RenderStyle.h: Add the backdropFilter style stuff.
  • rendering/style/StyleRareNonInheritedData.cpp:

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

  • rendering/style/StyleRareNonInheritedData.h:

Source/WebKit2:

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext): Handle LayerTypeBackdropLayer in the switch.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::description): Describe a backdrop layer.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(+[WKBackdropView layerClass]): Define CABackdropLayer and use it as the class.
(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm: Ditto.

(WebKit::RemoteLayerTreeHost::createLayer):

LayoutTests:

Tests for backdrop-filter. These are skipped on non-Apple platforms.

  • platform/win/TestExpections: Skip these tests.
  • platform/efl/TestExpections:
  • platform/gtk/TestExpections:
  • platform/mac-mavericks/TestExpectations: Yosemite only.
  • css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-computed-style.html: Added.
  • css3/filters/backdrop/backdropfilter-property-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid.html: Added.
  • css3/filters/backdrop/backdropfilter-property-parsing.html: Added.
  • css3/filters/backdrop/backdropfilter-property.html: Added.
  • css3/filters/backdrop/effect-hw-expected.html: Added.
  • css3/filters/backdrop/effect-hw.html: Added.
  • css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js: Added.

(testComputedFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: Added.

(testInvalidFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js: Added.

(jsWrapperClass):
(shouldBeType):
(testFilterRule):

  • css3/filters/backdrop/script-tests/backdropfilter-property.js: Added.
9:47 PM Changeset in webkit [175671] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175591. <rdar://problems/18871842>

9:44 PM Changeset in webkit [175670] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175589. <rdar://problems/18871842>

9:35 PM Changeset in webkit [175669] by ryuan.choi@gmail.com
  • 7 edits in trunk/Source/WebKit2

[EFL] Improve previous temporary fix against drawing (0,0) position before rendering content of next web page
​https://bugs.webkit.org/show_bug.cgi?id=138305

Reviewed by Gyuyoung Kim.

WebKit2 has freezed layer tree until frame load completion since r101838.
In EFL port, we unfreeze it when PageViewportController::pageTransitionViewportReady() is called though,
UIProcess on EFL port updates cairo surface during the freezing time of layer tree.
Thus UIProcess should not update the layer trees until the layerTreeState is unfrozen.

  • UIProcess/API/efl/EwkView.h: Removed previous workarounds.

(EwkView::setWaitingForNewPage): Deleted.
(EwkView::waitingForNewPage): Deleted.
(EwkView::didCommitNewPage): Deleted.

  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didCommitLoad):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::syncVisibleContents):

  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::didCommitLoadForFrame):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::didRenderFrame):

9:31 PM Changeset in webkit [175668] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175610. <rdar://problems/18869345>

9:28 PM Changeset in webkit [175667] by dburkart@apple.com
  • 11 edits in branches/safari-600.3-branch/Source

Merged r175609. <rdar://problems/18869345>

9:24 PM Changeset in webkit [175666] by dburkart@apple.com
  • 8 edits in branches/safari-600.3-branch/Source

Merged r175597. <rdar://problems/18875579>

9:19 PM Changeset in webkit [175665] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175568. <rdar://problems/18840102>

9:14 PM Changeset in webkit [175664] by dburkart@apple.com
  • 16 edits
    2 moves in branches/safari-600.3-branch/Source

Merged r175564. <rdar://problems/18840102>

9:04 PM Changeset in webkit [175663] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175524. <rdar://problems/18861406>

8:52 PM Changeset in webkit [175662] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175517. <rdar://problems/18861406>

8:24 PM Changeset in webkit [175661] by dburkart@apple.com
  • 9 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175498. rdar://problem/18742371

8:12 PM Changeset in webkit [175660] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175375. <rdar://problems/18883807>

8:09 PM Changeset in webkit [175659] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'size' CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138337

Reviewed by Andreas Kling.

Move 'size' CSS property from DeprecatedStyleBuilder to the new
StyleBuilder by using custom code as it requires special handling.

No new tests, new behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyPageSize::mmLength): Deleted.
(WebCore::ApplyPropertyPageSize::inchLength): Deleted.
(WebCore::ApplyPropertyPageSize::getPageSizeFromName): Deleted.
(WebCore::ApplyPropertyPageSize::applyInheritValue): Deleted.
(WebCore::ApplyPropertyPageSize::applyInitialValue): Deleted.
(WebCore::ApplyPropertyPageSize::applyValue): Deleted.
(WebCore::ApplyPropertyPageSize::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::mmLength):
(WebCore::StyleBuilderFunctions::inchLength):
(WebCore::StyleBuilderFunctions::getPageSizeFromName):
(WebCore::StyleBuilderFunctions::applyInheritSize):
(WebCore::StyleBuilderFunctions::applyInitialSize):
(WebCore::StyleBuilderFunctions::applyValueSize):

8:06 PM Changeset in webkit [175658] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk/Source/WebInspectorUI

Unreviewed, rolling out r175628.
​https://bugs.webkit.org/show_bug.cgi?id=138451

Totally borked the web inspector (Requested by smfr on
#webkit).

Reverted changeset:

"Web Inspector: Add infrastructure for eslint based static
analyzer"
​https://bugs.webkit.org/show_bug.cgi?id=137890
​http://trac.webkit.org/changeset/175628

6:37 PM Changeset in webkit [175657] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Revert r175441 as it seems to be causing intermittent crashes in DOMTimer
​https://bugs.webkit.org/show_bug.cgi?id=138449

Unreviewed roll out.

Revert r175441 as it seems to be causing intermittent crashes in DOMTimer due
to the scriptExecutionContext going away. See <rdar://problem/18883681>.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::NestedTimersVector::NestedTimersVector): Deleted.
(WebCore::NestedTimersVector::~NestedTimersVector): Deleted.
(WebCore::NestedTimersVector::registerTimer): Deleted.
(WebCore::NestedTimersVector::begin): Deleted.
(WebCore::NestedTimersVector::end): Deleted.

6:21 PM Changeset in webkit [175656] by Simon Fraser
  • 5 edits
    4 adds in trunk

Avoid backing store for opacity:0 descendant layers
​https://bugs.webkit.org/show_bug.cgi?id=138448

Reviewed by Dean Jackson.

Source/WebCore:

If a composited layer has no rendered content but a painting zero-opacity descendant
layer, than we can avoid making backing store.

When the opacity on such a child changes, we need to trigger a tree rebuild
to force the backing store to come back (this could be optimized later).

Tests: compositing/backing/no-backing-for-opacity-0-child.html

compositing/backing/toggle-opacity-0-child.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::styleChangeRequiresLayerRebuild):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

LayoutTests:

Test for no backing store with opacity:0 child, and that we get backing
store when dynamically changing the opacity to non-0.

  • compositing/backing/no-backing-for-opacity-0-child-expected.txt: Added.
  • compositing/backing/no-backing-for-opacity-0-child.html: Added.
  • compositing/backing/toggle-opacity-0-child-expected.txt: Added.
  • compositing/backing/toggle-opacity-0-child.html: Added.
6:21 PM Changeset in webkit [175655] by Chris Dumez
  • 5 edits in trunk/Source

Assertion hit DOMTimer::updateTimerIntervalIfNecessary()
​https://bugs.webkit.org/show_bug.cgi?id=138440

Reviewed by Geoffrey Garen.

Source/WebCore:

We sometimes hit the ASSERT(repeatInterval() == previousInterval)
assertion in DOMTimer::updateTimerIntervalIfNecessary() when visiting
the following pages:
​http://lifehacker.com/the-healthiest-foods-for-one-handed-snacking-while-gami-1654728164
​http://longform.org/posts/like-something-the-lord-made

After debugging, the issue turned out to be that we are comparing
floating point numbers using ==, and the check sometimes fails even
though the values really close to each other. This patch updates the
DOMTimer code to use WTF::withinEpsilon() instead of operator==()
to compare the floating point intervals.

I confirmed manually that the assertion is no longer hit.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateTimerIntervalIfNecessary):

  • platform/graphics/FloatQuad.cpp:

(WebCore::FloatQuad::isRectilinear):
(WebCore::withinEpsilon): Deleted.

Source/WTF:

Move the withinEpsilon() function to WTF to avoid code duplication.

  • wtf/MathExtras.h:

(WTF::withinEpsilon):

6:16 PM Changeset in webkit [175654] by Chris Fleizach
  • 6 edits
    2 adds in trunk

AX: add "alt" as an overriding synonym of "-webkit-alt" (now in the CSS4 spec)
​https://bugs.webkit.org/show_bug.cgi?id=138393

Reviewed by Dean Jackson.

Source/WebCore:

Add official "alt" CSS keyword and map -webkit-alt to that.

Test: platform/mac/accessibility/alt-for-css-content.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPropertyNames.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

LayoutTests:

  • platform/mac/accessibility/alt-for-css-content-expected.txt: Added.
  • platform/mac/accessibility/alt-for-css-content.html: Added.
5:53 PM Changeset in webkit [175653] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

PutById inline caches should have a store barrier when it triggers a structure transition.
<​https://webkit.org/b/138441>

Reviewed by Geoffrey Garen.

After r174025, we no longer insert DFG store barriers when the payload of a
PutById operation is not a cell. However, this can lead to a crash when we have
PutById inline cache code transitioning the structure and re-allocating the
butterfly of an old gen object. The lack of a store barrier in that inline
cache results in the old gen object not being noticed during an eden GC scan.
As a result, its newly allocated butterfly will not be kept alive, which leads
to a stale butterfly pointer and, eventually, a crash.

It is also possible that the new structure can be collected by the eden GC if
(at GC time):

  1. It is in the eden gen.
  2. The inline cache that installed it has been evicted.
  3. There are no live eden gen objects referring to it.

The chances of this should be more rare than the butterfly re-allocation, but
it is still possible. Hence, the fix is to always add a store barrier if the
inline caches performs a structure transition.

  • jit/Repatch.cpp:

(JSC::emitPutTransitionStub):

  • Added store barrier code based on SpeculativeJIT::storeToWriteBarrierBuffer()'s implementation.
5:37 PM Changeset in webkit [175652] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, EFL build fix since r175647

  • CMakeLists.txt: Remove DeleteButton.cpp and DeleteButtonController.cpp.
5:21 PM Changeset in webkit [175651] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/JavaScriptCore

Use std::unique_ptr in JSClassRef and JSCallbackObject
​https://bugs.webkit.org/show_bug.cgi?id=138402

Reviewed by Geoffrey Garen.

  • API/JSCallbackObject.h: Use std::unique_ptr instead of OwnPtr|PassOwnPtr.

(JSC::JSCallbackObjectData::setPrivateProperty): ditto.

  • API/JSClassRef.cpp: ditto.
  • API/JSClassRef.h: ditto.
4:53 PM Changeset in webkit [175650] by dburkart@apple.com
  • 3 edits
    3 adds in branches/safari-600.3-branch

Merged r174740. <rdar://problems/18883801>

4:18 PM Changeset in webkit [175649] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

  • UIProcess/mac/WKActionMenuController.mm:
4:16 PM Changeset in webkit [175648] by Chris Dumez
  • 6 edits in trunk/Source

Allow constructing a PassRef from a Ref
​https://bugs.webkit.org/show_bug.cgi?id=138389

Reviewed by Andreas Kling.

Source/WebCore:

Remove calls to Ref::get() now that a PassRef can be directly
constructed from a Ref.

No new tests, no behavior change.

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createColorValue):

  • css/CSSValuePool.h:

(WebCore::CSSValuePool::createInheritedValue):
(WebCore::CSSValuePool::createImplicitInitialValue):
(WebCore::CSSValuePool::createExplicitInitialValue):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

Source/WTF:

Allow constructing a PassRef from a Ref, similarly to PassRefPtr that
can be constructed from a RefPtr already. This avoids having to call
Ref::get() and simplifies the code a bit.

  • wtf/PassRef.h:

(WTF::PassRef<T>::PassRef):

4:09 PM Changeset in webkit [175647] by mitz@apple.com
  • 31 edits
    25 deletes in trunk

Remove the unused deletion UI feature
​https://bugs.webkit.org/show_bug.cgi?id=138442

Rubber-stamped by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Removed references to removed files.
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::cloneChildNodes): Folded the below helper function into this member
function, after removing the deleteButtonContainerElement parameter.
(WebCore::cloneChildNodesAvoidingDeleteButton): Deleted.

  • editing/CompositeEditCommand.cpp:

(WebCore::EditCommandComposition::unapply): Removed use of
DeleteButtonControllerDisableScope.
(WebCore::EditCommandComposition::reapply): Ditto.
(WebCore::CompositeEditCommand::apply): Ditto.

  • editing/DeleteButton.cpp: Removed.
  • editing/DeleteButton.h: Removed.
  • editing/DeleteButtonController.cpp: Removed.
  • editing/DeleteButtonController.h: Removed.
  • editing/EditCommand.cpp:

(WebCore::EditCommand::EditCommand): Removed use of
Editor::avoidIntersectionWithDeleteButtonController.

  • editing/Editor.cpp:

(WebCore::Editor::Editor): Removed initialization of m_deleteButtonController.
(WebCore::Editor::rangeForPoint): Removed use of avoidIntersectionWithDeleteButtonController.
(WebCore::Editor::editorUIUpdateTimerFired): Removed call to DeleteButtonController function.
(WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted.
(WebCore::Editor::deviceScaleFactorChanged): Deleted.

  • editing/Editor.h:

(WebCore::Editor::deleteButtonController): Deleted.
(WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodes): Removed nodeToSkip parameter.
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Ditto.

  • editing/MarkupAccumulator.h:
  • editing/markup.cpp:

(WebCore::createMarkupInternal): Removed updateRange parameter, which had become identical
to the range parameter, and changed to use the latter everywhere instead.
(WebCore::createMarkup): Don’t compute and pass separate updateRanage parameter.

  • loader/EmptyClients.h: Removed shouldShowDeleteInterface override.
  • page/EditorClient.h: Removed shouldShowDeleteInterface.
  • page/Page.cpp:

(WebCore::Page::setDeviceScaleFactor): Removed call to Editor::deviceScaleFactorChanged.

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeFrame): Updated for MarkupAccumulator::serializeNodes change.

  • testing/Internals.cpp:

(WebCore::Internals::findEditingDeleteButton): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit/mac:

  • DefaultDelegates/WebDefaultEditingDelegate.m:

(-[WebDefaultEditingDelegate webView:shouldShowDeleteInterfaceForElement:]): Deleted.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::shouldShowDeleteInterface): Deleted.

  • WebView/WebEditingDelegatePrivate.h: Removed declaration of

-webView:shouldShowDeleteInterfaceForElement:.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::shouldShowDeleteInterface): Deleted.

  • WebProcess/WebCoreSupport/WebEditorClient.h:

Source/WTF:

  • wtf/FeatureDefines.h: Removed definition of ENABLE_DELETION_UI.

Tools:

  • DumpRenderTree/mac/EditingDelegate.mm:

(-[EditingDelegate webView:shouldShowDeleteInterfaceForElement:]): Deleted implementation of
delegate method that’s been removed.

LayoutTests:

Removed tests, expected results, and support files for this feature.

  • platform/mac/editing/deleting/deletionUI-borders-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-borders.html: Removed.
  • platform/mac/editing/deleting/deletionUI-click-on-delete-button-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-click-on-delete-button.html: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-differing-background.html: Removed.
  • platform/mac/editing/deleting/deletionUI-minimum-size-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-minimum-size.html: Removed.
  • platform/mac/editing/deleting/deletionUI-single-instance-expected.png: Removed.
  • platform/mac/editing/deleting/deletionUI-single-instance-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-single-instance.html: Removed.
  • platform/mac/editing/deleting/deletionUI-successful-deletion-expected.txt: Removed.
  • platform/mac/editing/deleting/deletionUI-successful-deletion.html: Removed.
  • platform/mac/editing/deleting/id-in-deletebutton-expected.txt: Removed.
  • platform/mac/editing/deleting/id-in-deletebutton.html: Removed.
  • platform/mac/editing/deleting/resources: Removed.
  • platform/mac/editing/deleting/resources/deletionUI-helpers.js: Removed.
  • platform/wk2/TestExpectations:
3:53 PM Changeset in webkit [175646] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

It should be possible to open a page preview by clicking on it
​https://bugs.webkit.org/show_bug.cgi?id=138445

Reviewed by Tim Horton.
Patch by Conrad Shultz.

Add a click recognizer to WKPagePreviewViewController and plumb it through to WKActionMenuController.

  • UIProcess/mac/WKActionMenuController.mm:

Declare <WKPagePreviewViewControllerDelegate>, currently home to just a single method.
(-[WKPagePreviewViewController loadView]):
Configure and add a click gesture recognizer to the WKWebView.
(-[WKPagePreviewViewController _clickRecognized:]):
Gesture recognizer action; send -pagePreviewViewControllerWasClicked: to the delegate.
(-[WKActionMenuController willDestroyView:]):
Extract code to -_clearPreviewPopover.
(-[WKActionMenuController didCloseMenu:withEvent:]):
Ditto.
(-[WKActionMenuController _createPreviewPopoverForURL:]):
Set ourself as the delegate of the page preview controller.
(-[WKActionMenuController _clearPreviewPopover]):
Extracted from various other methods; if appropriate, nil out the preview view controller's delegate.
(-[WKActionMenuController popoverWillClose:]):
Extract code to -_clearPreviewPopover.
(-[WKActionMenuController pagePreviewViewControllerWasClicked:]):
WKPagePreviewViewControllerDelegate method; open the URL of the clicked page.

3:31 PM Changeset in webkit [175645] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Page preview popover should show scaled-down web content
​https://bugs.webkit.org/show_bug.cgi?id=138444

Reviewed by Anders Carlsson.

Instead of keeping the preferred size in the controller, keep the main view’s
size, and then scale the bounds of the popover’s view using that and the scale
factor as a constant. Set the size of the popover explicitly so that it doesn’t
get the view’s size. This will cause it to scale the WKWebView.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController initWithPageURL:]):
(-[WKPagePreviewViewController loadView]):
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
(-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]):

3:20 PM Changeset in webkit [175644] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Disable flakey float32-repeat-out-of-bounds.js and int8-repeat-out-of-bounds.js tests for ARM64
​https://bugs.webkit.org/show_bug.cgi?id=138381

Reviewed by Mark Lam.

Disabled these test for ARM64. Will address the failures and then re-enable.

  • tests/stress/float32-repeat-out-of-bounds.js:
  • tests/stress/int8-repeat-out-of-bounds.js:
2:52 PM Changeset in webkit [175643] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Page preview popovers sometimes cover their originating element
​https://bugs.webkit.org/show_bug.cgi?id=138437

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-05
Reviewed by Beth Dakin.

If a popover is sufficiently large, and the originating element is in a particular location, it's
possible that the popover can't be positioned in a manner that doesn't occlude the originating element.
Address this by scaling down the popover content if it can't fit entirely between the originating
element and the screen edge.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _previewURLFromActionMenu:]):
Update to use -_createPreviewPopoverForURL:originRect:.
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):
Renamed from -_createPreviewPopoverForURL:; extract code to -_preferredSizeForPopoverPresentedFromOriginRect:.
(-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]):
Compute a size that is as large as possible while keeping the popover between the origin rect and screen edge
(with an arbitrary padding applied to keep from directly abutting the screen edge).
(-[WKActionMenuController _createPreviewPopoverForURL:]): Deleted.

2:50 PM Changeset in webkit [175642] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Specificity not shown for pseudo element styles
​https://bugs.webkit.org/show_bug.cgi?id=138436

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-05
Reviewed by Benjamin Poulain.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Previously we were skipping the pre-selector <span>s when we were
not getting a listing of matched selector indices, and missing out
on the opportunity to give each selector a specificity. Now, always
loop over selectors if we have them.

1:26 PM Changeset in webkit [175641] by hyatt@apple.com
  • 4 edits in trunk

Descendant ends up in wrong flow thread with nested columns and spans.
​https://bugs.webkit.org/show_bug.cgi?id=137273

Reviewed by Simon Fraser.

Unskipped the two problematic span tests.

Source/WebCore:

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::isValidColumnSpanner):
Remove the guard and comment and added the assertion back in.

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Changed to no longer use handleSpannerRemoval. Because the spanner was removed from the flow thread's map,
handleSpannerRemoval was a no-op. So instead I just removed the placeholder by hand.

The second fix was to stop destroying the placeholder. Since the placeholder can just have been inserted, you
can't delete it, since otherwise code further up the stack will access the deleted object. For now, we just
leak the placeholder.

The third fix is to make sure the subtreeRoot is properly updated to be the new placeholder.

LayoutTests:

1:22 PM Changeset in webkit [175640] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderBlock shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138430>

Reviewed by Antti Koivisto.

All that was interesting in RenderBlock::willBeDestroyed() has migrated
to RenderBlockFlow. removeFromUpdateScrollInfoAfterLayoutTransaction()
can be called from the plain destructor, so just move it there.

We don't have to worry about destroyLeftoverChildren(), since RenderElement
will take care of that for us.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::willBeDestroyed): Deleted.

  • rendering/RenderBlock.h:
1:21 PM Changeset in webkit [175639] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Remove 2 unnecessary virtual functions on InputType
​https://bugs.webkit.org/show_bug.cgi?id=138433

Reviewed by Andreas Kling.

Remove 2 unused virtual functions on InputType:

  • valueAttributeChanged()
  • updateClearButtonVisibility()

No new tests, no behavior change.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::updateClearButtonVisibility): Deleted.

  • html/HTMLInputElement.h:
  • html/InputType.cpp:

(WebCore::InputType::valueAttributeChanged): Deleted.
(WebCore::InputType::updateClearButtonVisibility): Deleted.

  • html/InputType.h:
1:21 PM Changeset in webkit [175638] by ap@apple.com
  • 5 edits in trunk

fast/dom/remove-body-during-body-replacement2.html fails on WK2
​https://bugs.webkit.org/show_bug.cgi?id=138334

Reviewed by Anders Carlsson.

Source/WebKit2:

Added an SPI to focus a frame.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameFocus):

  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setViewState):

Tools:

Reset focus to main frame between tests. DumpRenderTree does this via -makeFirstResponder
calls, which works because each frame is an NSView in WK1. WK2 makes equivalent
-makeFirstResponder calls, which may or may not be needed for other reasons, but
it also needs to reset internal focus explicitly.

It's not clear if this is the right long-term fix or a workaround for a WebKit bug.
WebKit behavior appears wrong, but it matches Firefox.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::resetAfterTest):

1:13 PM Changeset in webkit [175637] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebKit2

Select Data Detectors results instead of just highlighting them
​https://bugs.webkit.org/show_bug.cgi?id=138435
<rdar://problem/18877675>

Reviewed by Beth Dakin.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::selectLastActionMenuRange):
(WebKit::WebPageProxy::selectLookupTextAtLocation): Deleted.
Rename selectLookupTextAtLocation to selectLastActionMenuRange.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController willOpenMenu:withEvent:]):
Do a real selection for single-item Data Detector menus; show the yellow highlight otherwise.
Adopt selectLastActionMenuRange for non-detected text.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::selectLastActionMenuRange):
(WebKit::WebPage::selectLookupTextAtLocation): Deleted.
Store the last (detected data or Lookup-derived) action menu range.
Select it upon selectLastActionMenuRange.

12:55 PM Changeset in webkit [175636] by jhoneycutt@apple.com
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebPage::selectWithGesture()

<​https://bugs.webkit.org/show_bug.cgi?id=138399>
<rdar://problem/18550631>

This crash occurs when the web process receives a "TapAndAHalf" gesture
with the "Changed" state without having received a "TapAndAHalf"
gesture with the "Began" state.

No test possible.

Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture):
Null check m_currentWordRange before dereferencing it.

12:48 PM Changeset in webkit [175635] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Disable action menus on page previews
​https://bugs.webkit.org/show_bug.cgi?id=138431

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-05
Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _shouldIgnoreMouseEvents]):
Renamed from -shouldIgnoreMouseEvents since this isn't actually public.
(-[WKView swipeWithEvent:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Updated to reflect method rename.
(-[WKView shouldIgnoreMouseEvents]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:

Expose -_shouldIgnoreMouseEvents.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Cancel the menu if the presenting WKView should ignore mouse events.

12:36 PM Changeset in webkit [175634] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/JavaScriptCore

Merged r175629. <rdar://problems/18883540>

12:28 PM Changeset in webkit [175633] by Bem Jones-Bey
  • 2 edits in trunk/LayoutTests

[CSS Shapes] Positioned polygon reftests failing again
​https://bugs.webkit.org/show_bug.cgi?id=138058

Reviewed by Anders Carlsson.

Remove these tests from TestExpectations since they do pass.

12:15 PM Changeset in webkit [175632] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Action menu URL preview should "peek," i.e. appear when the menu item is
highlighted
​https://bugs.webkit.org/show_bug.cgi?id=138432
-and corresponding-
rdar://problem/18774264

Reviewed by Anders Carlsson.

New ivars. Keep a reference to the popover, and a BOOL that indicates whether we
should close the popover when the menu goes away.

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

Re-set the preview bool to NO whenever we are about to pop up a new menu.
(-[WKActionMenuController prepareForMenu:withEvent:]):

Close the popover when the menu closes unless _shouldKeepPreviewPopoverOpen has
been set.
(-[WKActionMenuController didCloseMenu:withEvent:]):

Set _shouldKeepPreviewPopoverOpen.
(-[WKActionMenuController _keepPreviewOpen:]):

Re-factored to use ivar.
(-[WKActionMenuController _previewURLFromActionMenu:]):
(-[WKActionMenuController _createPreviewPopoverForURL:]):

Now call _previewURLFromActionMenu on menu item highlight.
(-[WKActionMenuController menu:willHighlightItem:]):

NSPopover delegate method so that we can keep our BOOL and ivar accurate in the
case where the popover is closed by some other mechanism than the action menu
going away.
(-[WKActionMenuController popoverWillClose:]):

New selector for the preview. Now when this item is actually selected, we just
want to set the BOOL _shouldKeepPreviewPopoverOpen to YES so that we keep the
preview open.
(-[WKActionMenuController _createActionMenuItemForTag:]):

12:10 PM Changeset in webkit [175631] by Bem Jones-Bey
  • 6 edits in trunk/LayoutTests

[CSS Shapes] shape-image-threshold parsing tests have a few failures
​https://bugs.webkit.org/show_bug.cgi?id=138060

Reviewed by Dirk Schulze.

Remove testing for inline style from the CSSWG test because it isn't
specified and isn't consistent across browsers. This has been updated
upstream as well.

Add inline style tests to the WebKit test suite to make sure that
WebKIt doesn't lose coverage with this change.

  • TestExpectations:
  • css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt:
  • css3/shapes/shape-outside/values/shape-image-threshold-001.html:
  • fast/shapes/parsing/parsing-shape-image-threshold-expected.txt:
  • fast/shapes/parsing/parsing-shape-image-threshold.html:
12:09 PM Changeset in webkit [175630] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

Disable interaction with action menu page previews
​https://bugs.webkit.org/show_bug.cgi?id=138400

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-05
Reviewed by Tim Horton.

Expand on the existing -[WKView shouldIgnoreMouseEvents] by adding facilities to suppress handling
of all non-wheel events, effectively creating a scroll-only web view. Deploy this in
WKPagePreviewViewController.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Declare the OS X-only ignoresNonWheelMouseEvents SPI.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _ignoresNonWheelMouseEvents]):
(-[WKWebView _setIgnoresNonWheelMouseEvents:]):
Wrap the underlying WKView methods.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:

Declare the OS X-only ignoresNonWheelMouseEvents property.

  • UIProcess/API/mac/WKView.mm:

Add _ignoresNonWheelMouseEvents to WKViewData.
(-[WKView shouldIgnoreMouseEvents]):
Include a check for _ignoresNonWheelMouseEvents.
(-[WKView _setIgnoresNonWheelMouseEvents:]):
Set the ivar in WKViewData.
(-[WKView _ignoresNonWheelMouseEvents]):
Fetch the ivar in WKViewData.
(-[WKView _shouldIgnoreWheelEvents]):
Implement the old -shouldIgnoreMouseEvents behavior.
(-[WKView scrollWheel:]):
-shouldIgnoreMouseEvents -> -_shouldIgnoreWheelEvents.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController loadView]):
Configure the WKWebView to ignore non-wheel mouse events; use RetainPtr for the WKWebView.

11:57 AM Changeset in webkit [175629] by ap@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Incorrect sandbox_check in RemoteInspector.mm
​https://bugs.webkit.org/show_bug.cgi?id=138408

Reviewed by Joseph Pecoraro.

  • inspector/remote/RemoteInspector.mm:

(Inspector::canAccessWebInspectorMachPort):

10:43 AM Changeset in webkit [175628] by jonowells@apple.com
  • 4 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Add infrastructure for eslint based static analyzer
​https://bugs.webkit.org/show_bug.cgi?id=137890

Reviewed by Timothy Hatcher.

Adding a manager to analyze source code, return warnings (AnalyzerMessages), and cache warnings.

  • UserInterface/Base/Main.js: Create analyzerManager singleton.
  • UserInterface/Controllers/AnalyzerManager.js: Added.

(WebInspector.AnalyzerManager):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode.):
(set WebInspector.AnalyzerManager.prototype.getAnalyzerMessagesForSourceCode):
(set WebInspector.AnalyzerManager.prototype.set get sourceCodeCanBeAnalyzed):
(set WebInspector.AnalyzerManager.prototype._handleSourceCodeContentDidChange):

  • UserInterface/Main.html: Add new files.
  • UserInterface/Models/AnalyzerMessage.js: Added.

(WebInspector.AnalyzerMessage):
(WebInspector.AnalyzerMessage.prototype.get sourceCodeLocation):
(WebInspector.AnalyzerMessage.prototype.get sourceCode):
(WebInspector.AnalyzerMessage.prototype.get text):
(WebInspector.AnalyzerMessage.prototype.get ruleIdentifier):

  • UserInterface/Models/SourceCode.js: Added call to WebInspector.Object.addConstructorFunctions().
10:43 AM Changeset in webkit [175627] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Re-evaluate if a repetitive timer should be throttled upon firing
​https://bugs.webkit.org/show_bug.cgi?id=138339

Reviewed by Gavin Barraclough.

Re-evaluate if a repetitive timer should be throttled upon firing in
case the plugin observability state has changed:

  • It used to be visible but now isn't and thus the timer can be throttled
  • It used to play audio but now doesn't and thus the timer can be throttled

We already stopped throttling if the plugin became observable. However,
we didn't start throttling if the plugin became non-observable.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateThrottlingStateIfNecessary):

10:27 AM Changeset in webkit [175626] by dino@apple.com
  • 16 edits in trunk

Add ENABLE_FILTERS_LEVEL_2 feature guard.
​https://bugs.webkit.org/show_bug.cgi?id=138362

Reviewed by Tim Horton.

Add a new feature define for Level 2 of CSS Filters.
​http://dev.w3.org/fxtf/filters-2/

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:
10:24 AM Changeset in webkit [175625] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move text-align CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138398

Reviewed by Antti Koivisto.

Move text-align CSS property from DeprecatedStyleBuilder to the new
StyleBuilder so that it is now generated from CSSPropertyNames.in.
This patch adds a TextAlign Converter to support this.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextAlign::applyValue): Deleted.
(WebCore::ApplyPropertyTextAlign::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTextAlign):

9:45 AM Changeset in webkit [175624] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Enable ARMv7 disassembler for all platforms
​https://bugs.webkit.org/show_bug.cgi?id=138415

Reviewed by Darin Adler.

  • wtf/Platform.h:
9:42 AM Changeset in webkit [175623] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix build warning in SVGMarkerElement.cpp
​https://bugs.webkit.org/show_bug.cgi?id=138407

Patch by Sanghyup Lee <​sh53.lee@samsung.com> on 2014-11-05
Reviewed by Darin Adler.

Build warning in debug cause 'comparison of unsigned expression >= 0 is always true [-Wtype-limits]'

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::orientType): Removed useless condition in ASSERT.

9:41 AM Changeset in webkit [175622] by Chris Dumez
  • 6 edits
    2 adds in trunk

Stop special-casing the empty string in HTMLInputElement.type setter
​https://bugs.webkit.org/show_bug.cgi?id=138403

Reviewed by Ryosuke Niwa.

Source/WebCore:

Stop special-casing the empty string in HTMLInputElement.type setter.
Previously, if input.type is set to "", we would remove the type
attribute. This is inconsistent with the specification and the behavior
of other browsers (tested Firefox 33 and Chrome 38). Instead, we should
set the attribute to the empty string.

Also stop treating null as a null string to align with the
specification and other browsers (tested Firefox 33 and Chrome 38).

Finally, update HTMLInputElement::setType() to take an AtomicString in
argument instead of a String as it ends up calling setAttribute(), and
thus needing an AtomicString.

Test: fast/dom/HTMLInputElement/input-type-attribute.html

  • html/FileInputType.cpp:

(WebCore::UploadButtonElement::UploadButtonElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setType):

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.idl:

LayoutTests:

Add layout test to check the functionality of the HTMLInputElement.type
getter and setter.

  • fast/dom/HTMLInputElement/input-type-attribute-expected.txt: Added.
  • fast/dom/HTMLInputElement/input-type-attribute.html: Added.
9:35 AM Changeset in webkit [175621] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile error, missing guard.
​https://bugs.webkit.org/show_bug.cgi?id=138421

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-11-05
Reviewed by Brent Fulgham.

There is missing a guard for CSS_SELECTORS_LEVEL4 in CSSParserValues.cpp.

  • css/CSSParserValues.cpp:
8:52 AM ASanWebKit edited by Bem Jones-Bey
Update with my learnings (diff)
7:07 AM Changeset in webkit [175620] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r175601): Assertion failures in SimpleLineLayout
​https://bugs.webkit.org/show_bug.cgi?id=138422

Check for end.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):

5:29 AM Changeset in webkit [175619] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit2

NetscapePlugin: NPP_GetValue should receive a pointer to NPBool, not bool
​https://bugs.webkit.org/show_bug.cgi?id=138418

Reviewed by Carlos Garcia Campos.

Replace bool with NPBool, which is actually an unsigned char.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

2:54 AM Changeset in webkit [175618] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Add WebKitWebResource::failed-with-tls-errors signal
​https://bugs.webkit.org/show_bug.cgi?id=137862

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When a resource load fails due to TLS errors emit WebKitWebResource::failed-with-tls-errors
signal instead of WebKitWebResource::failed so that TLS errors information and certificate
are provided.

  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:

(didReceiveWebViewMessageFromInjectedBundle): Check if the error
is a TLS failure to emit failed-with-tls-errors instead of failed.

  • UIProcess/API/gtk/WebKitWebResource.cpp:

(webkit_web_resource_class_init): Add WebKitWebResource::failed-with-tls-errors signal.
(webkitWebResourceFailedWithTLSErrors): Emit failed-with-tls-errors and finish signals.

  • UIProcess/API/gtk/WebKitWebResourcePrivate.h:

Tools:

Add a test case to check that WebKitWebResource::failed-with-tls-errors
is emitted when a subresource load fails due to TLS errors.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(TLSSubresourceTest::resourceLoadStartedCallback):
(TLSSubresourceTest::TLSSubresourceTest):
(TLSSubresourceTest::subresourceFailedCallback):
(TLSSubresourceTest::subresourceFailedWithTLSErrorsCallback):
(TLSSubresourceTest::subresourceLoadStarted):
(TLSSubresourceTest::subresourceFailedWithTLSErrors):
(TLSSubresourceTest::waitUntilSubresourceLoadFail):
(testSubresourceLoadFailedWithTLSErrors):
(httpsServerCallback):
(httpServerCallback):
(beforeAll):

2:12 AM Changeset in webkit [175617] by akling@apple.com
  • 3 edits
    2 adds in trunk

Simple line layout: support text-transform: lowercase|uppercase|capitalize
<​https://webkit.org/b/138406>

Reviewed by Antti Koivisto.

Source/WebCore:

Expand the simple line layout coverage to include all text-transform values.
Since the property works on the text string level, it's really only a matter
of removing the short-circuit.

Test: fast/text/simple-lines-text-transform.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

LayoutTests:

Add ref test for simple line layout with all text-transform values.

  • fast/text/simple-lines-text-transform-expected.html: Added.
  • fast/text/simple-lines-text-transform.html: Added.
2:01 AM Changeset in webkit [175616] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/WebProcess module.
​https://bugs.webkit.org/show_bug.cgi?id=138410

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-11-05
Reviewed by Alexey Proskuryakov.

Fix build warning by removing parameter name

  • WebProcess/WebPage/WebPageOverlay.h:

(WebKit::WebPageOverlay::Client::prepareForActionMenu):

1:56 AM Changeset in webkit [175615] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[EME][Mac] Allow the client to specify FPS protocol versions in the keySystem type field.
​https://bugs.webkit.org/show_bug.cgi?id=138380

Reviewed by Eric Carlson.

Parse out the requested FPS protocol version of the keySystem type string and pass it to
AVStreamDataParser as an options dictionary.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::validKeySystemRE): Added, match comma-separated version suffixes.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Call above.
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Parse out the version numbers

and pass into the session as a vector.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Take a vector of

protocol version numbers.

(WebCore::CDMSessionMediaSourceAVFObjC::update): Create an NSArray and pass into

the key request creation method in an options dictionary.

1:26 AM Changeset in webkit [175614] by Antti Koivisto
  • 6 edits in trunk/Source

Move HTTPHeaderMap encoding to the class
​https://bugs.webkit.org/show_bug.cgi?id=138412

Reviewed by Andreas Kling.

Source/WebCore:

  • platform/network/HTTPHeaderMap.h:

(WebCore::HTTPHeaderMap::encode):
(WebCore::HTTPHeaderMap::decode):

Use generic encoding for the uncommon header map. Common headers still require custom code due to the enum class.

Source/WebKit2:

  • PluginProcess/PluginControllerProxy.cpp:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::encode): Deleted.
(IPC::ArgumentCoder<HTTPHeaderMap>::decode): Deleted.

Make these HTTPHeaderMap members instead so they can access internals and can be used elsewhere.

  • Shared/WebCoreArgumentCoders.h:
12:17 AM Changeset in webkit [175613] by ap@apple.com
  • 2 edits in trunk/Tools

Build fix for some compiler versions.

  • TestWebKitAPI/Tests/mac/TypingStyleCrash.mm: (TestWebKitAPI::TEST): Compiler was

unhappy because this is a getter, and these shouldn't have side effects.

Nov 4, 2014:

10:22 PM Changeset in webkit [175612] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:08 PM Changeset in webkit [175611] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.8

New tag.

9:52 PM Changeset in webkit [175610] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Speculative build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissActionMenuDataDetectorPopovers]):

  • UIProcess/API/mac/WKViewInternal.h:
9:42 PM Changeset in webkit [175609] by Beth Dakin
  • 11 edits in trunk/Source

Un-anchor data detector popovers on scroll
​https://bugs.webkit.org/show_bug.cgi?id=138385
-and corresponding-
rdar://problem/18869345

Reviewed by Tim Horton.

Source/WebCore:

  • platform/spi/mac/DataDetectorsSPI.h:

Source/WebKit2:

Whenever we dismiss the dictionary popover, and on scroll, we should try to
dismiss the data detector popovers. Right now we don’t have the ability to know if
a dismiss succeeded, so we will settle for un-anchoring the popover.

  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]):
(-[WKView _dismissActionMenuDataDetetcorPopovers]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

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

(WebKit::PageClientImpl::dismissActionMenuDataDetetcorPopovers):

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

(-[WKActionMenuController dismissActionMenuDataDetetcorPopovers]):

9:36 PM Changeset in webkit [175608] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] WKPDFView should scroll to a fragment when loading a PDF
​https://bugs.webkit.org/show_bug.cgi?id=138404

Reviewed by Tim Horton.

WKPDFView already knew how to scroll to a page number fragment during a same-document navigation, but it didn't
know to do so when loading a PDF whose URL already contained a page number fragment. This could happen if the
user long-presses a page number link and taps 'Open in New Tab'.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_setContentProviderData:suggestedFilename:]): Called _scrollToFragment:.
(-[WKPDFView _scrollToFragment:]): Moved fragment scrolling code to here from web_didSameDocumentNavigation:.
(-[WKPDFView web_didSameDocumentNavigation:]): Called _scrollToFragment.

8:56 PM Changeset in webkit [175607] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Stop using +[NSURL _web_URLWithWTFString:relativeToURL:] in WKPDFView
​https://bugs.webkit.org/show_bug.cgi?id=138357

Rubber-stamped by Dan Bernstein.

During patch review for r175595 I changed from using +URLWithString:relativeToURL: to using
+_web_URLWithWTFString:relativeToURL: to append a page number fragment to the document URL.
If the base URL already contains a fragment, +_web_URLWithWTFString:relativeToURL: appends to the existing
fragment whereas +URLWithString:relativeToURL: replaces the existing fragment. I want the latter behavior.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView _URLForLinkAnnotation:]):

8:49 PM Changeset in webkit [175606] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add a method for performing cherrypick-merges.
​https://bugs.webkit.org/show_bug.cgi?id=138375

Adds support for cherrypick-merges.

Reviewed by NOBODY (OOPS!).

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.cherrypick_merge): Added.

8:49 PM Changeset in webkit [175605] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add a way to ascertain the SVN URL associated with a Git branch.
​https://bugs.webkit.org/show_bug.cgi?id=138374

The svn_url method returns the SVN URL associated with the current Git branch.

Reviewed by NOBODY (OOPS!).

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.svn_url): Added.

8:49 PM Changeset in webkit [175604] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add the ability to search for modifications that are staged for commit.
​https://bugs.webkit.org/show_bug.cgi?id=138373

This makes is easy to do identify files that require merge post-processing,
in addition to stand-alone utility.

Reviewed by NOBODY (OOPS!).

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.modifications_staged_for_commit): Added.

8:49 PM Changeset in webkit [175603] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Add a branch keyword argument to _run_git_svn_find_rev.
​https://bugs.webkit.org/show_bug.cgi?id=138372

Reviewed by NOBODY (OOPS!).

The addition of this keyword argument allows clients to determine the Git hash
of commits made on an SVN branch, provided that branch has been fetched locally.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git._run_git_svn_find_rev):
Add a branch keyword argument that is added to the end of the command, if present.

7:58 PM Changeset in webkit [175602] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Avoid double hash table lookup in SpaceSplitStringData::create()
​https://bugs.webkit.org/show_bug.cgi?id=138396

Reviewed by Ryosuke Niwa.

Avoid double hash table lookup in SpaceSplitStringData::create() by
calling HashMap::add() and using the AddResult, instead of calling
HashMap::get() then HashMap::add().

No new tests, no behavior change.

  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitStringData::create):

7:47 PM Changeset in webkit [175601] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Abstract out content iteration and text handling in general.
​https://bugs.webkit.org/show_bug.cgi?id=138346

Reviewed by Antti Koivisto.

Add a class that can act as the primary iterator/fragment handling interface to the line parser.
This helps adding support multiple renderer elements without changing the parser logic.
Currently it operates strictly on the first child of the RenderBlockFlow.

Covered by existing tests.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::FlowContentIterator::FlowContentIterator):
(WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContentIterator::textWidth):
(WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter):
(WebCore::SimpleLineLayout::FlowContentIterator::isEndOfContent):
(WebCore::SimpleLineLayout::FlowContentIterator::style):
(WebCore::SimpleLineLayout::computeLineLeft):
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::skipWhitespace): Deleted.
(WebCore::SimpleLineLayout::textWidth): Deleted.

  • rendering/SimpleLineLayout.h:
7:32 PM Changeset in webkit [175600] by jeremyj-wk@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build after r138351
​https://bugs.webkit.org/show_bug.cgi?id=138401

Ureviewed. Make return type match.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
7:18 PM Changeset in webkit [175599] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Too much whitespace in resource details sidebar in groups
​https://bugs.webkit.org/show_bug.cgi?id=138386

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DetailsSection.css:

(.details-section > .content > .group:first-child > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group:first-child > .row.simple:first-child > *):
(body.mac-platform.legacy .details-section > .content > .group > .row.text):
(.details-section > .content > .group > .row.properties:not(.empty)):
(body.mac-platform.legacy .details-section > .content > .group > .row.properties:not(.empty)):
Adjust top and bottom padding.

6:31 PM Changeset in webkit [175598] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Lots of TimelineDataGridNode asserts on reloads
​https://bugs.webkit.org/show_bug.cgi?id=138387

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Brian Burg.

The TimelineRuler.secondsPerPixel in the TimelineOverview is initialized
with a non-0 value and saved in a setting. However the TimelineRuler in
the OverviewTimelineView is not initialized with this value, and instead
initialized to 0. This patch initializes them to the same non-0 value.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.set secondsPerPixel):

  • UserInterface/Views/TimelineContentView.js:
5:39 PM Changeset in webkit [175597] by timothy_horton@apple.com
  • 8 edits in trunk/Source

Add bundle SPI allowing PageOverlay to customize the action menu
​https://bugs.webkit.org/show_bug.cgi?id=138388
<rdar://problem/18875579>

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

Bump the BundlePageOverlay client version.

(WKBundlePageOverlayCreate):
(WKBundlePageOverlaySetAccessibilityClient):
Don't return if we have a version; the version check happens later anyway,
and now it is valid to have a version >0.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:

Bump the BundlePageOverlay client version.
Add prepareForActionMenu callback.

  • WebProcess/WebPage/WebPageOverlay.h:

(WebKit::WebPageOverlay::Client::prepareForActionMenu):

  • WebProcess/WebPage/WebPageOverlay.cpp:

(WebKit::overlayMap):
(WebKit::WebPageOverlay::WebPageOverlay):
(WebKit::WebPageOverlay::~WebPageOverlay):
(WebKit::WebPageOverlay::fromCoreOverlay):
(WebKit::WebPageOverlay::pageOverlayDestroyed):
Keep track of a map of PageOverlay to WebPageOverlay.

(WebKit::WebPageOverlay::prepareForActionMenu):
Forward prepareForActionMenu to the client.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Iterate through the overlays and let them prepareForActionMenu;
the first overlay that returns true wins. If no overlays want to
do anything, hand preparation along to the context menu client.

  • page/PageOverlayController.h:

Expose the list of all overlays.

5:36 PM Changeset in webkit [175596] by jeremyj-wk@apple.com
  • 18 edits in trunk/Source

Add button and enable optimized fullscreen.
​https://bugs.webkit.org/show_bug.cgi?id=138351

Reviewed by Eric Carlson.

Added optimizedFullscreenButton to js media element controls. Remove #if conditional
and use optimizedFullscreenSupported to enable feature at runtime

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::enterFullscreenOptimized): enable
(WebCore::MediaControlsHost::optimizedFullscreenSupported): added

  • Modules/mediacontrols/MediaControlsHost.h: add optimizedFullscreenSupported
  • Modules/mediacontrols/MediaControlsHost.idl: ditto
  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-optimized-fullscreen-button): added

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): add button
(Controller.prototype.handleReadyStateChange): update button
(Controller.prototype.updateOptimizedFullscreenButton): added

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-optimized-fullscreen-button): added
(video::-webkit-media-controls-optimized-fullscreen-button): added
(video::-webkit-media-controls-optimized-fullscreen-button:active): added

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): listen for events from optimizedFullscreenButton
(ControllerIOS.prototype.configureInlineControls): add button for non-audio when supported.
(ControllerIOS.prototype.handleBaseGestureChange): 2-finger double-tap gesture for optimized fullscreen
(ControllerIOS.prototype.handleWrapperTouchStart): ditto
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchStart): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd): added
(ControllerIOS.prototype.handleOptimizedFullscreenTouchCancel): added
(ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): fix typo
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): fix typo
(ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): fix typo

  • WebCore.exp.in:
  • platform/ios/WebCoreSystemInterfaceIOS.h: added wkIsOptimizedFullscreenSupported
  • platform/ios/WebCoreSystemInterfaceIOS.mm: added wkIsOptimizedFullscreenSupported
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::enterFullscreen): enable feature
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): enable feature
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): only request exit when entered and not requested exit
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): added

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): add IsOptimizedFullscreenSupported

5:24 PM Changeset in webkit [175595] by aestes@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] Add long press support for links in WKPDFView
​https://bugs.webkit.org/show_bug.cgi?id=138357

Reviewed by Dan Bernstein.

Use WKActionSheetAssistant to show a link action sheet in response to long-pressing on a link. Have WKPDFView
conform to WKActionSheetAssistantDelegate in order to respond to the open and copy actions as well as to
provide the link's URL and position information to WKActionSheetAssistant. The long-pressed link is highlighted
for .75 seconds before the sheet is displayed in order to match UIWebPDFView.

  • UIProcess/ios/WKActionSheetAssistant.h: Made protocol methods that WKPDFView doesn't implement optional.
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant updatePositionInformation]): Checked if delegate responds to
updatePositionInformationForActionSheetAssistant: before calling.
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): Checked if delegate responds to
actionSheetAssistant:willStartInteractionWithElement: before calling.
(-[WKActionSheetAssistant cleanupSheet]): Checked if delegate responds to actionSheetAssistantDidStopInteraction:
before calling.

  • UIProcess/ios/WKPDFView.h: Conformed to WKActionSheetAssistantDelegate.
  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_initWithFrame:webView:]): Instantiated a WKActionSheetAssistant and set self as its delegate.
(-[WKPDFView _highlightLinkAnnotation:forDuration:completionHandler:]): Moved highlight drawing to here from
annotation:wasTouchedAtPoint:controller: in order to be reused for long-press.
(-[WKPDFView _URLForLinkAnnotation:]): Moved URL creation to here from annotation:wasTouchedAtPoint:controller:
in order to be reused for long-press. Generated an absolute URL since this URL might go into the pasteboard.
(-[WKPDFView annotation:wasTouchedAtPoint:controller:]): Changed to call
_highlightLinkAnnotation:forDuration:completionHandler: and _URLForLinkAnnotation:.
(-[WKPDFView annotation:isBeingPressedAtPoint:controller:]): Set values on _positionInformation and called
-[WKActionSheetAssistant showLinkSheet] after showing a highlight for .75 seconds.
(-[WKPDFView positionInformation]): Returned _positionInformation.
(-[WKPDFView performAction:]): Added a UTF-8 text and URL representation of the pressed URL to the pasteboard.
(-[WKPDFView openElementAtLocation:]): Called WebPage::navigateToURLWithSimulatedClick().
(-[WKPDFView actionsForElement:defaultActions:]): Returned actions from UIClient::actionsForElement().
(-[WKPDFView _createHighlightViewWithFrame:]): Deleted.

5:21 PM Changeset in webkit [175594] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

5:19 PM Changeset in webkit [175593] by mark.lam@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Rename checkMarkByte() to jumpIfIsRememberedOrInEden().
<​https://webkit.org/b/138369>

Reviewed by Geoffrey Garen.

Write barriers are needed for GC Eden collections so that we can scan pointers
pointing from old generation objects to eden generation objects. The barrier
currently checks the mark byte in a cell to see if we should skip adding the
cell to the GC remembered set. The addition should be skipped if:

  1. The cell is in the young generation. It has no old to eden pointers by definition.
  2. The cell is already in the remembered set. While it is ok to add the cell to the GC remembered set more than once, it would be redundant. Hence, we skip this as an optimization to avoid doing unnecessary work.

The barrier currently names this check as checkMarkByte(). We should rename it
to jumpIfIsRememberedOrInEden() to be clearer about its intent.

Similarly, Jump results of this check are currently named
ownerNotMarkedOrAlreadyRemembered. This can be misinterpreted as the owner is
not marked or not already remembered. We should rename it to
ownerIsRememberedOrInEden which is clearer about the intent of the
check. What we are really checking for is that the cell is in the eden gen,
which is implied by it being "not marked".

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::osrWriteBarrier):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::jumpIfIsRememberedOrInEden):
(JSC::AssemblyHelpers::checkMarkByte): Deleted.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSCell.h:
5:08 PM Changeset in webkit [175592] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.3.3

New Tag.

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

Try to fix the 32-bit build.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _createActionMenuItemForTag:]):

4:53 PM Changeset in webkit [175590] by msaboff@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

Disable failing v8-deltablue.js for ARM
​https://bugs.webkit.org/show_bug.cgi?id=138382

Reviewed by Geoffrey Garen.

This test is failing on ARM 32 bit.

  • tests/v8-v6/v8-deltablue.js:
4:35 PM Changeset in webkit [175589] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Use a web view for Quick Look in action menus
​https://bugs.webkit.org/show_bug.cgi?id=138370

Patch by Conrad Shultz <Conrad Shultz> on 2014-11-04
Reviewed by Anders Carlsson.

Instead of using the QLPreviewBubble SPI, show a popover containing a web view. This currently
does not inherit any configuration from the presenting WKView and does not expose any
customization options.

  • UIProcess/mac/WKActionMenuController.mm:

Declare new internal NSViewController subclass, WKPagePreviewViewController.
(-[WKPagePreviewViewController initWithPageURL:]):
Store the passed-in URL and set a somewhat arbitrary (iPhone 5 screen size) default preferred size.
(-[WKPagePreviewViewController loadView]):
Create a WKWebView and load the URL passed into the initializer.
(-[WKActionMenuController _previewURLFromActionMenu:]):
Renamed from -_quickLookURLFromActionMenu:; present the popover returned by -_createPreviewPopoverForURL:.
(-[WKActionMenuController _createPreviewPopoverForURL:]):
New helper method; return a popover that owns a _WKPagePreviewViewController configured to show a scaled-down web page.
(-[WKActionMenuController _createActionMenuItemForTag:]):
Update to reflect method rename.
(-[WKActionMenuController _quickLookURLFromActionMenu:]): Deleted.

4:31 PM Changeset in webkit [175588] by Joseph Pecoraro
  • 27 edits
    1 add in trunk/Source

Web Inspector: Pause on exceptions should show the actual exception
​https://bugs.webkit.org/show_bug.cgi?id=63096

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • debugger/Debugger.h:

Expose accessor for the pause reason to subclasses.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::type):
New "error" subtype for error objects.

  • inspector/InjectedScriptSource.js:

When an object is an error object, use toString to provide a richer description.

  • inspector/protocol/Runtime.json:

Expose a new "error" subtype for Error types (TypeError, ReferenceError, EvalError, etc).

  • inspector/protocol/Debugger.json:

Provide type checked objects for different Debugger.pause pause reasons.
An exception provides the thrown object, but assert / CSP pauses provide
a richer typed object as the auxiliary data.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchDidPause):
When paused because of an exception, pass the exception on.

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
Provide richer data in pause events.

  • inspector/scripts/codegen/generate_backend_commands.py:

(BackendCommandsGenerator.generate_domain.is_anonymous_enum_param):
(BackendCommandsGenerator.generate_domain):

  • inspector/scripts/tests/expected/enum-values.json-result:

Generate frontend enums for anonymous enum event parameters.

Source/WebCore:

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
Pass assertion message on.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New strings / files.

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.get pauseReason):
(WebInspector.DebuggerManager.prototype.get pauseData):
(WebInspector.DebuggerManager.prototype.reset):
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
(WebInspector.DebuggerManager.prototype._pauseReasonFromPayload):
Maintain the current pause reason and auxiliary data in the manager.

  • UserInterface/Protocol/DebuggerObserver.js:

(WebInspector.DebuggerObserver.prototype.paused):
Pass previously unused event parameters on to the manager.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl):
Style error objects in the console like Objects. The new description
string provides a richer message if you console.log(exception).

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
(WebInspector.DebuggerSidebarPanel.prototype._updatePauseReason):
Update the UI when we pause / resume to show / hide a pause reason section.

  • UserInterface/Views/DetailsSectionRow.js:

(WebInspector.DetailsSectionRow.prototype.set emptyMessage):
Fix a latent bug that would have thrown an exception if the setter was ever used.

  • UserInterface/Views/DetailsSectionTextRow.js: Added.

(WebInspector.DetailsSectionTextRow):
(WebInspector.DetailsSectionTextRow.prototype.get text):
(WebInspector.DetailsSectionTextRow.prototype.set text):

  • UserInterface/Views/DetailsSection.css:

(.details-section > .content > .group > .row.simple.data > .value):
(.details-section > .content > .group > .row.text):
Simple class for a section of centered text. This is modelled after
the empty message text style in other sections.

  • UserInterface/Views/LogContentView.css:

(.console-formatted-object, .console-formatted-node, .console-formatted-error):
(.console-formatted-object .section, .console-formatted-node .section, .console-formatted-error .section):
(.console-formatted-object .properties, .console-formatted-node .properties, .console-formatted-error .properties):
Style "error" objects like regular objects. We may wish to treat differently later.

  • UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:

Regenerate legacy backend commands to get the new enum.

4:29 PM Changeset in webkit [175587] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Disable flakey float32-repeat-out-of-bounds.js and int8-repeat-out-of-bounds.js tests for ARM64
​https://bugs.webkit.org/show_bug.cgi?id=138381

Reviewed by Mark Lam.

Disabled these test for ARM64. Will address the failures and then re-enable.

  • tests/stress/float32-repeat-out-of-bounds.js:
  • tests/stress/int8-repeat-out-of-bounds.js:
4:26 PM Changeset in webkit [175586] by msaboff@apple.com
  • 3 edits in trunk/LayoutTests

Disable flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
​https://bugs.webkit.org/show_bug.cgi?id=138379

Reviewed by Mark Lam.

Disabled these test for ARM64. Will address the failures and then re-enable.

  • js/script-tests/dfg-int16array.js:
  • js/script-tests/dfg-int8array.js:
4:22 PM Changeset in webkit [175585] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] Fix incorrect interface orientation that can be caused by fullscreen video dismissal.
​https://bugs.webkit.org/show_bug.cgi?id=137930.

Patch by Reza Abbasian <​rabbasian@apple.com> on 2014-11-04
Reviewed by Jer Noble.

When a fullscreen video gets dismissed programmatically, for instance for removing
a webview from the view hierarchy, it can put the device in an incorrect orientation.
Make sure we retain the window of parentView when we attempt to go to fullscreen and use
the retained window for putting the device in correct orientation after dismissal.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
(WebVideoFullscreenInterfaceAVKit::invalidate):

3:14 PM Changeset in webkit [175584] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove two unused ScrollingCoordinator methods.
<​https://webkit.org/b/138377>

Reviewed by Chris Dumez.

These appear to be leftovers from the now-defunct chromium port.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea): Deleted.
(WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Deleted.

  • page/scrolling/ScrollingCoordinator.h:
3:00 PM Changeset in webkit [175583] by Chris Dumez
  • 66 edits in trunk

Add ptr() method to Ref class
​https://bugs.webkit.org/show_bug.cgi?id=138361

Reviewed by Darin Adler.

Source/WebCore:

Use the new Ref::ptr() method.

No new tests, no behavior change.

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::didUpdateActiveOption):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::getNamedItems):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp:

(WebCore::getNamedItems):

  • css/CSSStyleRule.h:
  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::insertRule):

  • css/CSSValueList.h:

(WebCore::CSSValueList::item):
(WebCore::CSSValueList::itemWithoutBoundsCheck):

  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::collect):

  • dom/ChildListMutationScope.cpp:

(WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator):
(WebCore::ChildListMutationAccumulator::childAdded):

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::namedItem):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeChild):

  • dom/CurrentScriptIncrementer.h:

(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
(WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer):

  • dom/MutationRecord.cpp:
  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::ensureChildNodeList):
(WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):

  • dom/Range.cpp:

(WebCore::Range::setDocument):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestScript):
(WebCore::ScriptElement::executeScript):

  • dom/StaticNodeList.cpp:

(WebCore::StaticNodeList::item):
(WebCore::StaticElementList::item):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent):

  • editing/DictationCommand.cpp:

(WebCore::DictationCommand::insertText):

  • editing/DictationCommand.h:
  • editing/Editor.cpp:

(WebCore::Editor::insertTextWithoutSendingTextEvent):

  • editing/ReplaceNodeWithSpanCommand.cpp:

(WebCore::swapInNodePreservingAttributesAndChildren):

  • editing/SimplifyMarkupCommand.cpp:

(WebCore::SimplifyMarkupCommand::doApply):

  • editing/markup.cpp:

(WebCore::hasOneChild):
(WebCore::hasOneTextChild):
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::checkValidity):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::getNamedElements):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::shouldLoadLink):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::revalidateStyle):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElement):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForRule):

  • page/PageSerializer.h:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationController::updateAnimations):

  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::platformCALayerPaintContents):

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

(WebCore::styleForFirstLetter):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::styleDidChange):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::adjustInnerTextStyle):

  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::createInnerTextStyle):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::createInnerTextStyle):

  • rendering/style/DataRef.h:

(WebCore::DataRef::get):
(WebCore::DataRef::access):
(WebCore::DataRef::operator==):
(WebCore::DataRef::operator!=):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresPositionedLayoutOnly):
(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::changeRequiresRepaint):
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
(WebCore::RenderStyle::changeRequiresRecompositeLayer):
(WebCore::RenderStyle::diff):
(WebCore::RenderStyle::diffRequiresLayerRepaint):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleGeneratedImage.cpp:

(WebCore::StyleGeneratedImage::cssValue):

  • rendering/style/StyleGeneratedImage.h:
  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

  • style/StyleResolveTree.cpp:

(WebCore::Style::determineChange):
(WebCore::Style::resolveLocal):
(WebCore::Style::resolveTree):

  • style/StyleResolveTree.h:

Source/WebKit/mac:

Use the new Ref::ptr() method.

  • WebView/WebFrame.mm:

(-[WebFrame _setTypingStyle:withUndoAction:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):

  • WebView/WebView.mm:

(-[WebView applyStyle:]):

Source/WebKit2:

Use the new Ref::ptr() method.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createWebPage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setPreferences):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didNavigateWithNavigationData):
(WebKit::WebProcessProxy::didPerformClientRedirect):
(WebKit::WebProcessProxy::didPerformServerRedirect):
(WebKit::WebProcessProxy::didUpdateHistoryTitle):

Source/WTF:

It is a very common pattern in our code base to get a pointer from a
Ref object. Previously, we have to call Ref.get() and take its address
which is not very nice. This patch adds a ptr() method to Ref class
to simplify the code a bit.

  • wtf/PassRef.h:

(WTF::PassRef<T>::ptr):

  • wtf/Ref.h:

(WTF::Ref::ptr):
(WTF::GetPtrHelper<Ref<T>>::getPtr):

Tools:

Use the new Ref::ptr() method.

  • TestWebKitAPI/Tests/WTF/Ref.cpp:

(TestWebKitAPI::TEST):

2:38 PM Changeset in webkit [175582] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175338. rdar://problem/18798257.

2:32 PM Changeset in webkit [175581] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move -webkit-text-emphasis-position to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138359

Reviewed by Andreas Kling.

Move -webkit-text-emphasis-position from DeprecatedStyleBilder to the
new StyleBuilder so that it is now generated from CSSPropertyNames.in.
A new TextEmphasisPosition Converter was added to support this.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::valueToEmphasisPosition): Deleted.
(WebCore::ApplyPropertyTextEmphasisPosition::applyValue): Deleted.
(WebCore::ApplyPropertyTextEmphasisPosition::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::valueToEmphasisPosition):
(WebCore::StyleBuilderConverter::convertTextEmphasisPosition):

2:16 PM Changeset in webkit [175580] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderBox shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138367>

Reviewed by Antti Koivisto.

Move teardown logic from willBeDestroyed() to the regular ~RenderBox()
destructor since none of it depends on being in-tree or having a fully
constructed vtable.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::~RenderBox):
(WebCore::RenderBox::willBeDestroyed): Deleted.

  • rendering/RenderBox.h:
2:04 PM Changeset in webkit [175579] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

[OSX] CJK characters styled with font-family: cursive are italicized
​https://bugs.webkit.org/show_bug.cgi?id=138328
rdar://problem/18801907

Reviewed by Simon Fraser.

Source/WebCore:

FontCache::createFontPlatformData doesn’t set the oblique flag if
the requested font isn’t oblique, but
FontCache::systemFallbackForCharacters() does. This patch simply
adopts this behavior in both places.

Test: fast/text/font-cursive-italic-cjk.html

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::systemFallbackForCharacters):

LayoutTests:

Make sure that the text matches the output of a different codepath.

  • platform/mac/fast/text/font-cursive-italic-cjk-expected.html: Added.
  • platform/mac/fast/text/font-cursive-italic-cjk.html: Added.
  • platform/mac/TestExpectations: Skipped test on non-Yosemite platforms.
2:03 PM Changeset in webkit [175578] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Potential build fix for Mountain Lion / Mavericks

1:44 PM Changeset in webkit [175577] by aestes@apple.com
  • 6 edits in trunk/Source/WebKit2

[iOS] Include a WKActionSheetAssistant parameter in WKActionSheetAssistantDelegate methods
​https://bugs.webkit.org/show_bug.cgi?id=137792

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction elementActionWithTitle:actionHandler:]):
(+[_WKElementAction elementActionWithType:customTitle:]):
(-[_WKElementAction _runActionWithElementInfo:forActionSheetAssistant:]):

  • UIProcess/API/Cocoa/_WKElementActionInternal.h:
  • UIProcess/ios/WKActionSheetAssistant.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant presentationRectInHostViewForSheet]):
(-[WKActionSheetAssistant updatePositionInformation]):
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant cleanupSheet]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView positionInformationForActionSheetAssistant:]):
(-[WKContentView updatePositionInformationForActionSheetAssistant:]):
(-[WKContentView actionSheetAssistant:performAction:]):
(-[WKContentView actionSheetAssistant:openElementAtLocation:]):
(-[WKContentView actionSheetAssistant:decideActionsForElement:defaultActions:]):
(-[WKContentView actionSheetAssistant:willStartInteractionWithElement:]):
(-[WKContentView actionSheetAssistantDidStopInteraction:]):

1:02 PM Changeset in webkit [175576] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

When computing the specificity of selectors, use saturated arithmetic per component
​https://bugs.webkit.org/show_bug.cgi?id=138336

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-11-04
Reviewed by Andreas Kling.

Source/WebCore:

The code handling overflow in CSSSelector::specificity() was assuming that the value
returned by specificityForOneSelector() can only overflow one field at a time.

That assumption is no longer correct with the extended :not(). It is now possible to have
a complex selector saturating multiple fields inside a single :not().

This patch solves the problem by considering each field independently.

Test: fast/selectors/specificity-overflow-2.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificity):

LayoutTests:

  • fast/selectors/specificity-overflow-2-expected.txt: Added.
  • fast/selectors/specificity-overflow-2.html: Added.
12:56 PM Changeset in webkit [175575] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175486. rdar://problem/18855134

12:51 PM Changeset in webkit [175574] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Windows build fix after r175565.

MSVC requires default c'tor even if it's never called. -0 length array.

  • rendering/SimpleLineLayout.h:

(WebCore::SimpleLineLayout::Run::Run):

12:47 PM Changeset in webkit [175573] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merge r175484. rdar://problem/18855863.

12:40 PM Changeset in webkit [175572] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175474. rdar://problem/18742323.

12:40 PM Changeset in webkit [175571] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175482. <rdar://problem/18855190>

12:35 PM Changeset in webkit [175570] by dburkart@apple.com
  • 15 edits
    4 copies
    4 deletes in branches/safari-600.3-branch/Source/WebKit2

Merge r175476. <rdar://problem/18855190>

12:30 PM Changeset in webkit [175569] by abucur@adobe.com
  • 2 edits in trunk/Source/WebInspectorUI

Building WebInspectorUI should not run the clang static analyzer by default
​https://bugs.webkit.org/show_bug.cgi?id=137652

Reviewed by Timothy Hatcher.

There's no need to have the static analyzer enabled at compile time by default for the WebInspectorUI project.
It also breaks the ASAN build because the static analyzing step runs using the default compiler not the
ASAN clang.

  • Configurations/DebugRelease.xcconfig: Remove the RUN_CLANG_STATIC_ANALYZER variable.
12:29 PM Changeset in webkit [175568] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r175564 for !PLATFORM(COCOA).

  • Shared/TextIndicator.cpp:
12:20 PM Changeset in webkit [175567] by dburkart@apple.com
  • 18 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175444. <rdar://problem/18830771>

12:09 PM Changeset in webkit [175566] by matthew_hanson@apple.com
  • 5 edits
    4 deletes in branches/safari-600.3-branch/Source

Merged r175425. <rdar://problems/18841659>

12:08 PM Changeset in webkit [175565] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Cleanup line initialization and line closing.
​https://bugs.webkit.org/show_bug.cgi?id=138273

Reviewed by Antti Koivisto.

This is in preparation to support multiple render elements.

Move line start and line end activities to dedicated functions.

Covered by existing tests.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::LineState): Add lineStartRunIndex to be more explicit
about whether a line advanced with new runs. Rename a few members. Introduce LineState::oveflowedFragment
so that line closing can handled separately.
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun):
(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::LineState::jumpTo):
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): Deleted. : Remove redundant function.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace):
(WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace): Add resetTrailingWhitespace()
so that all trailing whitespace handling is in one function.
(WebCore::SimpleLineLayout::initializeNewLine): Separate line start and line end initialization/reset.
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): This function manages all line ending activities.
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::initializeLine): Deleted.

  • rendering/SimpleLineLayout.h:

(WebCore::SimpleLineLayout::Run::Run): Deleted.

11:42 AM Changeset in webkit [175564] by timothy_horton@apple.com
  • 16 edits
    2 adds
    2 deletes in trunk/Source

Implement yellow highlight over data detected items
​https://bugs.webkit.org/show_bug.cgi?id=138340
<rdar://problem/18840102>

Reviewed by Anders Carlsson.

  • Shared/TextIndicator.cpp: Renamed from Source/WebKit2/UIProcess/TextIndicator.cpp.
  • Shared/TextIndicator.h: Renamed from Source/WebKit2/UIProcess/TextIndicator.h.

Move TextIndicator to Shared.
Move all of the members to a Data struct.
Implement encode/decode for TextIndicator::Data, so it can be passed as
the argument to SetTextIndicator, and also as a field on ActionMenuHitTestResult.
Add 'createWithSelectionInFrame', which builds a TextIndicator
from the selection in the given frame.

  • Shared/mac/ActionMenuHitTestResult.h:
  • Shared/mac/ActionMenuHitTestResult.mm:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Rename actionBoundingBox to detectedDataBoundingBox.
Store/encode/decode detectedDataTextIndicator.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setTextIndicator):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Create a TextIndicator from the TextIndicator::Data.
Add an explicit ClearTextIndicator message instead of sending empty Data.

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

(-[WKActionMenuController prepareForMenu:withEvent:]):
If the text indicator is up when preparing for a new menu invocation, hide it.

(-[WKActionMenuController willOpenMenu:withEvent:]):
Show the text indicator when the menu opens, for data detected items.

(-[WKActionMenuController didCloseMenu:withEvent:]):
Hide the text indicator when the menu closes, unless we only had one item.
Then, we'll hide it in the DDActionContext completionHandler block.

(-[WKActionMenuController _showTextIndicator]):
(-[WKActionMenuController _hideTextIndicator]):
Added. Show and hide the text indicator based on the TextIndicator
data included in the action menu hit test result.

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Hide the text indicator when the data detector popover completes.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getImageForFindMatch):
Make use of the newly-moved createSelectionSnapshot.

(WebKit::FindController::updateFindIndicator):
Make use of TextIndicator::createWithSelectionInFrame, which allows
us to share this code for building a TextIndicator with other callers.

(WebKit::FindController::hideFindIndicator):

(WebKit::getFindIndicatorBitmap): Deleted.
Move getFindIndicatorBitmap to WebFrame::createSelectionSnapshot.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::createSelectionSnapshot):
Moved from FindController's getFindIndicatorBitmap.
Now returns a ShareableBitmap instead of going ahead and making a Handle.

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::scanForDataDetectedItems):
(WebKit::textIndicatorForRange):
Temporarily change the selection to the given range, then use
TextIndicator::indicatorWithSelectionInFrame to acquire a TextIndicator,
then reset the selection.

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Create a TextIndicator from the data detected range.

  • platform/spi/mac/DataDetectorsSPI.h:

Add completionHandler SPI.

11:39 AM Changeset in webkit [175563] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exceptions when paused and hovering JavaScript without CallFrames
​https://bugs.webkit.org/show_bug.cgi?id=138338

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Geoffrey Garen.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
Fallback to using the main page's context if there is no active call frame we can use.

11:35 AM Changeset in webkit [175562] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175428. <rdar://problem/18841709>

11:23 AM Changeset in webkit [175561] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175422. <rdar://problem/18837197>

11:22 AM Changeset in webkit [175560] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175420. <rdar://problem/18837197>

11:21 AM Changeset in webkit [175559] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175418. <rdar://problem/18837197>

11:19 AM Changeset in webkit [175558] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r175417. <rdar://problem/18837197>

11:15 AM Changeset in webkit [175557] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r175388. <rdar://problem/18819547>

11:10 AM Changeset in webkit [175556] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175349. <rdar://problem/18855953>

11:05 AM Changeset in webkit [175555] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

[jhbuild] Make it possible to build GTK/EFL in same repository
​https://bugs.webkit.org/show_bug.cgi?id=137448

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-11-04
Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(getJhbuildPath):

  • WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp:

(getPlatformFontsPath):

  • WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:

(WTR::getFontsPath):

  • jhbuild/jhbuild-wrapper:

(determine_platform):
(install_jhbuild):

  • jhbuild/jhbuildrc_common.py:

(init):

11:05 AM Changeset in webkit [175554] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r175347. <rdar://problem/18855973>

10:42 AM Changeset in webkit [175553] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.3-branch

Merge r175345. <rdar://problem/18856263>

10:38 AM Changeset in webkit [175552] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build after r175549.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

10:35 AM Changeset in webkit [175551] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175339. <rdar://problem/18814999>

8:58 AM Changeset in webkit [175550] by Darin Adler
  • 2 edits in trunk/LayoutTests
  • TestExpectations: Turn off http/tests/multipart/stop-crash.html. Will turn it back on soon.
8:47 AM Changeset in webkit [175549] by Darin Adler
  • 76 edits
    5 deletes in trunk/Source

Eliminate ResourceBuffer and use SharedBuffer directly instead
​https://bugs.webkit.org/show_bug.cgi?id=138174

Reviewed by Antti Koivisto.

Source/WebCore:

Refactoring, with test coverage across many existing tests.

  • CMakeLists.txt: Deleted ResourceBuffer.cpp.
  • WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol

for one function that used to take a PassRefPtr but now takes a reference instead.

  • WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h.
  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and
also pass a reference only if non-null rather than passing a pointer.
(WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly.
(WebCore::InspectorPageAgent::mainResourceContent): Ditto.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didFinishLoading): Ditto.
(WebCore::InspectorResourceAgent::didFailLoading): Ditto.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly,
and use the copy function rather than a hand-written alternative.
(WebCore::DocumentLoader::maybeCreateArchive): Ditto.
(WebCore::DocumentLoader::mainResource): Ditto.
(WebCore::DocumentLoader::subresource): Ditto.
(WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto.

  • loader/DocumentLoader.h: Changed mainResourceData to return a

PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&,
but it currently returns a newly created buffer when there is substitute
data and can also return null, even though many callers assume it will not!

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::dataReceived): Removed call to unused client
function bufferReceived.
(WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer
argument to client function loadFinished.

  • loader/ResourceBuffer.cpp: Removed.
  • loader/ResourceBuffer.h: Removed.
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::resourceData): Use SharedBuffer.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer.
(WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto.

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create): Ditto.

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer.

  • loader/cache/CachedCSSStyleSheet.h: Ditto.
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::finishLoading): Ditto.
(WebCore::CachedFont::ensureCustomFontData): Ditto.

  • loader/cache/CachedFont.h: Ditto.
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didAddClient): Use SharedBuffer.
(WebCore::CachedImage::didRemoveClient): Ditto.
(WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedImage::addDataBuffer): Ditto. Also added call through
to base class and changed to take a reference rather than a pointer.
(WebCore::CachedImage::addData): Ditto. Also added call through to base class.
(WebCore::CachedImage::finishLoading): Ditto.

  • loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields

to be unsigned instead of unsigend char.

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer.
(WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedRawResource::addData): Ditto.
(WebCore::CachedRawResource::finishLoading): Ditto.
(WebCore::CachedRawResource::canReuse): Ditto.

  • loader/cache/CachedRawResource.h: Ditto.
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource): Reordered data members due to change
in header.
(WebCore::CachedResource::addDataBuffer): Changed argument type.
(WebCore::CachedResource::finishLoading): Ditto.
(WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash
table lookup by using the return value from the remove function.
(WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead
of using a function named "schedule" to allocate the callback object.
(WebCore::CachedResource::Callback::Callback): Changed function and data member
name.
(WebCore::CachedResource::Callback::cancel): Ditto.
(WebCore::CachedResource::Callback::timerFired): Ditto.
(WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&.

  • loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most

data members and one function member private instead of protected. Also renamed the
CachedResource::CachedResourceCallback function CachedResource::Callback and moved
its definition out of the CachedResource class definition.

  • loader/cache/CachedResourceClient.h: Removed unneeded include.
  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer.

  • loader/cache/CachedSVGDocument.h: Ditto. Made data members private.
  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::finishLoading): Use SharedBuffer.

  • loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded

forward declaration.

  • loader/cache/CachedTextTrack.cpp:

(WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not
call addDataBuffer.
(WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData.
(WebCore::CachedTextTrack::finishLoading): Ditto.

  • loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the

destructor. Updated for above changes.

  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer.

  • loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything

private rather than protected. Added an explicit virtual constructor so we can
compile without knowing how to ref/deref TextResourceDecoder.

  • loader/cf/SubresourceLoaderCF.cpp:

(WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer
and to call addDataBuffer only if there is a new data buffer.

  • loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr.
  • loader/cocoa/DiskCacheMonitorCocoa.mm:

(WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto.
(WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of
RefPtr<ResourceBuffer>.

  • loader/mac/ResourceBuffer.mm: Removed.
  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::clear): Use a modern for loop.
(WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since
this never returns null. Use modern for loops.
(WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop.

  • platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr.

Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than
a pointer.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference
instead of a pointer.

  • platform/graphics/PlatformMediaResourceLoader.h: Removed unused function

bufferReceived and unneeded buffer argument from loadFinished. Also marked the
constructor explicit.

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

Removed include of ResourceBuffer.h.

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

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use
SharedBuffer directly.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(CachedResourceStreamingClient::loadFinished): Updated for change to
PlatformMediaResourceLoaderClient.

  • platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h.
  • platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded

tryReplaceContentsWithPlatformBuffer function.

Source/WebKit/mac:

  • WebView/WebDataSource.mm:

(-[WebDataSource data]): Use SharedBuffer directly.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.

Source/WebKit/win:

  • WebDataSource.cpp:

(WebDataSource::data): Use SharedBuffer directly.
(WebDataSource::subresourceForURL): Ditto.

Source/WebKit2:

  • CMakeLists.txt: Removed WebResourceBuffer.cpp.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendBuffer): Use a reference instead of pointer.

  • NetworkProcess/NetworkResourceLoader.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm:

(WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): Ditto.

  • Shared/WebResourceBuffer.cpp: Removed.
  • Shared/WebResourceBuffer.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj: Removed WebResourceBuffer.cpp/h.
  • WebProcess/Network/NetworkProcessConnection.cpp: Removed unneeded includes.

(WebKit::NetworkProcessConnection::didCacheResource): Use a reference instead
of a pointer.

  • WebProcess/Network/WebResourceLoadScheduler.cpp: Removed unneeded include.
  • WebProcess/Network/WebResourceLoader.cpp: Ditto.
  • WebProcess/Network/WebResourceLoader.h: Ditto.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.

(WebKit::WebFrameLoaderClient::finishedLoading): Use SharedBuffer directly.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::source): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame): Refactored to make the relationship
between the buffer and the DataReference clearer and to avoid having a long-lived
DataReference pointing to an underlying buffer with unclear lifetime.
(WebKit::WebPage::getContentsAsString): Ditto.
(WebKit::WebPage::getSelectionAsWebArchiveData): Ditto.
(WebKit::WebPage::getMainResourceDataOfFrame): Ditto. Also use SharedBuffer directly.
(WebKit::WebPage::getResourceDataFromFrame): Ditto.
(WebKit::WebPage::getWebArchiveOfFrame): Ditto.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::containingLinkElement): Use elementLineage.
(WebKit::WebPage::performActionOnElement): Use references and SharedBuffer.
ALso did a bit of other cleanup in here.
(WebKit::isAssistableElement): Take Element& instead of Node*, since that's what
the caller has.
(WebKit::nextAssistableElement): Changed name to match what the function does.
Added an obviously-missing check on the startNode argument. Updated for change
to isAssistableElement above. Take a Page& instead of a Page*.
(WebKit::hasAssistableElement): Changed name to match what the function does.
Updated for change to nextAssistableElement above. Took out incorrect comparison
of a C++ pointer to the Objective-C object pointer nil. Take a Page& instead of a Page*.
(WebKit::WebPage::focusNextAssistedNode): Updated for above changes.
(WebKit::WebPage::getAssistedNodeInformation): Updated for above changes.

8:17 AM Changeset in webkit [175548] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses
​https://bugs.webkit.org/show_bug.cgi?id=138345

Reviewed by Andreas Kling.

Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses
instead of old-fashion toXXX() functions.

No new tests, no behavior change.

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::mediaQueries):

  • css/CSSSupportsRule.cpp:

(WebCore::CSSSupportsRule::conditionText):

  • css/StyleRule.h:

(isType):
(WebCore::toStyleRuleMedia): Deleted.
(WebCore::toStyleRuleSupports): Deleted.
(WebCore::toStyleRuleRegion): Deleted.

  • css/WebKitCSSRegionRule.cpp:

(WebCore::WebKitCSSRegionRule::cssText):

8:11 AM Changeset in webkit [175547] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Skip websocket tests
​https://bugs.webkit.org/show_bug.cgi?id=138355

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-11-04
Reviewed by Csaba Osztrogonác.

  • platform/efl/TestExpectations:
7:36 AM Changeset in webkit [175546] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

Web Inspector: Enum value collisions between different generators
​https://bugs.webkit.org/show_bug.cgi?id=138343

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-04
Reviewed by Brian Burg.

Each generator was using its own filtered list of domains_to_generate
to build the shared unique list of enum value encodings. This list
was slightly different across different generators. Instead always
use the list of all non-supplemental domains to generate the shared
list of enum values.

  • inspector/scripts/codegen/generator.py:

(Generator.non_supplemental_domains):
(Generator.domains_to_generate):
(Generator._traverse_and_assign_enum_values):

  • inspector/scripts/tests/enum-values.json: Added.
  • inspector/scripts/tests/expected/enum-values.json-result: Added.
6:37 AM Changeset in webkit [175545] by Dániel Bátyai
  • 2 edits
    2 adds in trunk/Tools

[EFL] Bump LLVM to version 3.5.0
​https://bugs.webkit.org/show_bug.cgi?id=138312

Reviewed by Csaba Osztrogonác.

  • efl/jhbuild.modules:
  • efl/patches/llvm-elf-add-stackmaps.patch: Added.
  • efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Added.
6:32 AM Changeset in webkit [175544] by Dániel Bátyai
  • 2 edits in trunk/Source/WTF

ATTR_USED incorrectly applying to Clang
​https://bugs.webkit.org/show_bug.cgi?id=138313

Reviewed by Csaba Osztrogonác.

ATTR_USED was only intended for GCC. Also limit it to ENABLE(FTL_NATIVE_CALL_INLINING)
since that's the only thing it's needed for.

  • wtf/Platform.h:
4:28 AM Changeset in webkit [175543] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch

Merge r175197. <rdar://problem/18856002>

4:01 AM Changeset in webkit [175542] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.2-branch/Source/WebKit2

Merged r175349. <rdar://problems/18839542>

3:57 AM Changeset in webkit [175541] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.2-branch/Source/WebCore

Merge r175347. <rdar://problem/18786900>

3:42 AM Changeset in webkit [175540] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch

Merge r175197. <rdar://problem/18856002>

3:15 AM Changeset in webkit [175539] by matthew_hanson@apple.com
  • 3 edits
    9 adds in branches/safari-600.2-branch

Merged r175074. <rdar://problems/18856016>

3:12 AM Changeset in webkit [175538] by matthew_hanson@apple.com
  • 4 edits
    2 adds in branches/safari-600.2-branch

Merged r174946. <rdar://problems/18856024>

3:09 AM Changeset in webkit [175537] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r174922. <rdar://problems/18856052>

3:06 AM Changeset in webkit [175536] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.2-branch

Merged r173845. <rdar://problems/18856008>

3:06 AM Changeset in webkit [175535] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173845. <rdar://problems/18856008>

3:02 AM Changeset in webkit [175534] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173843. <rdar://problems/18856048>

2:59 AM Changeset in webkit [175533] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173738. <rdar://problems/18856044>

2:54 AM Changeset in webkit [175532] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-600.2-branch

Merged r173424. <rdar://problems/18856061>

2:48 AM Changeset in webkit [175531] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173061. <rdar://problems/18856030>

2:19 AM Changeset in webkit [175530] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-600.2-branch

Merged r173046. <rdar://problems/18856004>

2:08 AM Changeset in webkit [175529] by matthew_hanson@apple.com
  • 3 edits
    6 adds in branches/safari-600.2-branch

Merged r171849. <rdar://problems/18856036>

2:05 AM Changeset in webkit [175528] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderQuote shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138352>

Reviewed by Antti Koivisto.

The willBeDestroyed() hook in RenderQuote came from the time when it was
potential unsafe to access the RenderView from a renderer destructor.

Move the code to the plain ol' destructor instead.

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::~RenderQuote):
(WebCore::RenderQuote::willBeDestroyed): Deleted.

  • rendering/RenderQuote.h:
1:49 AM Changeset in webkit [175527] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO) build after r175380
​https://bugs.webkit.org/show_bug.cgi?id=138322

Reviewed by Benjamin Poulain.

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::dispatchLoadEvent):

1:29 AM Changeset in webkit [175526] by Philippe Normand
  • 9 edits in trunk/Source/WebCore

[LEAK] [GStreamer] Removing video element will not free assigned memory
​https://bugs.webkit.org/show_bug.cgi?id=46560

Reviewed by Eric Carlson.

Moved the ::extraMemoryCost() implementation to the
MediaPlayerPivateInterface base class. This default implementation
is now shared between the various MediaPlayerPrivate backends,
excepted the AVF MediaSource player which still reports no extra
memory cost.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::totalBytes): Make
totalBytes() part of the MediaPlayerPrivate interface.
(WebCore::MediaPlayerPrivateInterface::extraMemoryCost): Default
implementation.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1:20 AM Changeset in webkit [175525] by commit-queue@webkit.org
  • 5 edits
    6 adds in trunk

Fix animation of orient attribute on marker element
​https://bugs.webkit.org/show_bug.cgi?id=137942

Source/WebCore:

Patch by Nikos Andronikos <​nikos.andronikos-webkit@cisra.canon.com.au> on 2014-11-04
Reviewed by Dirk Schulze.

Fixed implementation of SVG animated angles and the SVG
marker element orient attribute.
SVG animated angle was missing the logic to support animation
from auto to a numeric angle value - this is now added.
The SVG marker element getter for orientType was not returning
the animated value for orientType so in some cases (i.e. when
the initial value and the animated values were of different types)
the animation was not being rendered - although it was running.

Tests: svg/animations/animate-marker-orienttype-1.html

svg/animations/animate-marker-orienttype-2.html
svg/animations/animate-marker-orienttype-3.html

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
Added logic to support auto to angle animation.

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::orientType):
This method now returns the animated value if an animation is
running.

  • svg/SVGMarkerElement.h:

LayoutTests:

Patch by Nikos Andrkos Andronikos <​nikos.andronikos-webkit@cisra.canon.com.au> on 2014-11-04
Reviewed by Dirk Schulze.

Test the rendered result of the animation of the orient attribute.
Existing tests were only testing the animated value in the DOM.

  • svg/animations/animate-marker-orienttype-1-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-1.html: Added.
  • svg/animations/animate-marker-orienttype-2-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-2.html: Added.
  • svg/animations/animate-marker-orienttype-3-expected.txt: Added.
  • svg/animations/animate-marker-orienttype-3.html: Added.
12:20 AM Changeset in webkit [175524] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Dictionary lookup panel pops up at random when clicking on selected text
​https://bugs.webkit.org/show_bug.cgi?id=138353
<rdar://problem/18861406>

  • WebProcess/WebPage/WebPage.h:

Fix the build; this needs to be public.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeForDictionaryLookupAtHitTestResult):
Use the right selection (the one we just tested) in the change from r175517.

12:18 AM Changeset in webkit [175523] by dburkart@apple.com
  • 3 edits
    9 copies in branches/safari-600.3-branch

Merge r175074. <rdar://problem/18856099>

12:16 AM Changeset in webkit [175522] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.3-branch

Merge r174946. <rdar://problem/18856105>

12:14 AM Changeset in webkit [175521] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r174922. <rdar://problem/18856144>

12:11 AM Changeset in webkit [175520] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173845. <rdar://problem/18856096>

12:09 AM Changeset in webkit [175519] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173843. <rdar://problem/18856138>

12:07 AM Changeset in webkit [175518] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173738. <rdar://problem/18856133>

12:05 AM Changeset in webkit [175517] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Dictionary lookup panel pops up at random when clicking on selected text
​https://bugs.webkit.org/show_bug.cgi?id=138353
<rdar://problem/18861406>

Reviewed by Andreas Kling.

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

(WebKit::rangeForDictionaryLookupForSelection):
(WebKit::rangeForDictionaryLookupAtHitTestResult):
Factor rangeForDictionaryLookupForSelection out of performDictionaryLookupForSelection.

Make use of rangeForDictionaryLookupForSelection in rangeForDictionaryLookupAtHitTestResult,
returning the selection-based range if the hit test intersects the selected text.
Previously, we were just going forward with performDictionaryLookupForSelection,
which would actually *do* the lookup, even if we just wanted to retrieve the range.

Make rangeForDictionaryLookup* static.

(WebKit::WebPage::performDictionaryLookupForSelection):
Make use of rangeForDictionaryLookupForSelection.

12:04 AM Changeset in webkit [175516] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch

Merge r173424. <rdar://problem/18856153>

Nov 3, 2014:

11:51 PM Changeset in webkit [175515] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173061. <rdar://problem/18856115>

11:39 PM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
11:36 PM Changeset in webkit [175514] by commit-queue@webkit.org
  • 7 edits in trunk

Workaround for Cortex-A53 erratum 835769
​https://bugs.webkit.org/show_bug.cgi?id=138315

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-11-03
Reviewed by Filip Pizlo.

This patch introduces CMake variable and preprocessor macro
WTF_CPU_ARM64_CORTEXA53 with the aim of enabling Cortex-A53-specific
.:

code paths, if set true.

  • Source/cmake/OptionsCommon.cmake:

Add -mfix-cortex-a53-835769 to the compiler flags if compiler supports
it.

  • Source/cmakeconfig.h.cmake:

#cmakedefine01 for WTF_CPU_ARM64_CORTEXA53

Source/JavaScriptCore:

code paths, if set true. The patch also implements one case where such
code paths are needed: the workaround for Cortex-A53 erratum 835769. If
WTF_CPU_ARM64_CORTEXA53 is set then:

  • CMake checks whether the compiler already has support for a workaround and adds -mfix-cortex-a53-835769 to the compiler flags if so,
  • the ARM64 backend of offlineasm inserts a nop between memory and multiply-accumulate instructions, and
  • the ARM64 assembler also inserts a nop between memory and (64-bit) multiply-accumulate instructions.
  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::madd):
Call nopCortexA53Fix835769() to insert a nop if CPU(ARM64_CORTEXA53) and
if necessary.
(JSC::ARM64Assembler::msub): Likewise.
(JSC::ARM64Assembler::smaddl): Likewise.
(JSC::ARM64Assembler::smsubl): Likewise.
(JSC::ARM64Assembler::umaddl): Likewise.
(JSC::ARM64Assembler::umsubl): Likewise.
(JSC::ARM64Assembler::nopCortexA53Fix835769):
Added. Insert a nop if the previously emitted instruction was a load, a
store, or a prefetch, and if the current instruction is 64-bit.

  • offlineasm/arm64.rb:

Add the arm64CortexA53Fix835769 phase and call it from
getModifiedListARM64 to insert nopCortexA53Fix835769 between appropriate
macro instructions. Also, lower nopCortexA53Fix835769 to nop if
CPU(ARM64_CORTEXA53), to nothing otherwise.

  • offlineasm/instructions.rb:

Define macro instruction nopFixCortexA53Err835769.

11:22 PM Changeset in webkit [175513] by Chris Dumez
  • 43 edits in trunk/Source

Allow implicit conversion from Ref<T> to T&
​https://bugs.webkit.org/show_bug.cgi?id=138331

Reviewed by Andreas Kling.

Source/WebCore:

Remove unnecessary calls to Ref<T>::get() now that a Ref<T> can be
converted implicitly to a T&.

No new tests, no behavior change.

Source/WebKit2:

Remove unnecessary calls to Ref<T>::get() now that a Ref<T> can be
converted implicitly to a T&.

Source/WTF:

Allow implicit conversion from Ref<T> to T& to reduce the amount of
Ref<>::get() calls in the code and increase readability. Unlike for
RefPtr, doing this for Ref should not be error prone.

  • wtf/Ref.h:

(WTF::Ref::operator T&):
(WTF::Ref::operator const T&):

  • wtf/RunLoop.cpp:

(WTF::RunLoop::Holder::runLoop):

8:59 PM Changeset in webkit [175512] by commit-queue@webkit.org
  • 10 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r175509.
​https://bugs.webkit.org/show_bug.cgi?id=138349

broke some builds (Requested by msaboff on #webkit).

Reverted changeset:

"Update scope related slow path code to use scope register
added to opcodes"
​https://bugs.webkit.org/show_bug.cgi?id=138254
​http://trac.webkit.org/changeset/175509

8:57 PM Changeset in webkit [175511] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Adding test for array buffer and data view POST in XMLHttpRequest async send.
​https://bugs.webkit.org/show_bug.cgi?id=138304

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-11-03
Reviewed by Alexey Proskuryakov.

Adding test for array buffer and data view

  • http/tests/xmlhttprequest/send-data-view-async-expected.txt: Added.
  • http/tests/xmlhttprequest/send-data-view-async.html: Added.
8:13 PM Changeset in webkit [175510] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

7:53 PM Changeset in webkit [175509] by msaboff@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Update scope related slow path code to use scope register added to opcodes
​https://bugs.webkit.org/show_bug.cgi?id=138254

Reviewed by Mark Lam.

Updated slow paths for op_pop_scope, op_push_name_scope and op_push_with_scope.
Added scope register index parameter to the front of the relevant argument lists of the
slow functions. In the case of op_push_name_scope for x86 (32 bit), there aren't enough
registers to accomodate all the parameters. Therefore, added two new JSVALUE32_64 slow
paths called operationPushCatchScope() and operationPushFunctionNameScope() to eliminate
the last "type" argument.

  • assembler/MacroAssemblerCodeRef.h:

(JSC::FunctionPtr::FunctionPtr): Added a new template to take 6 arguments.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):
New variants of setupArgumentsWithExecState() and callOperation() to handle the new
combinations of argument types and counts.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):
Use the new slow paths.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

Updates to set the scope result using the scope register index. Added operationPushCatchScope()
and operationPushFunctionNameScope().

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Updated the scope slow paths to use the scope register index in the instruction to read and
write the register instead of using CallFrame::scope() and CallFrame::setScope().

7:36 PM Changeset in webkit [175508] by msaboff@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Add "get scope" byte code
​https://bugs.webkit.org/show_bug.cgi?id=138326

Reviewed by Mark Lam.

Added op_get_scope. Added implementations for the LLInt and baseline JIT.
Provided nop implementation for DFG and FTL. The new byte code is emitted
after op_enter for any function, program or eval. It is expected that the
DFG will be implemented such that unneeded op_get_scope would be eliminated
during DFG compilation.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
Added new op_get_scope bytecode.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitGetScope):

  • bytecompiler/BytecodeGenerator.h:

Emit new op_get_scope bytecode.

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):
Added framework for new op_get_scope bytecode.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

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

(JSC::JIT::emit_op_get_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_scope):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Implementation of op_get_scope bytecode.

7:04 PM Changeset in webkit [175507] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

6:43 PM Changeset in webkit [175506] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Non-fast scrollable region overlay offsets the overlay by topContentInset
​https://bugs.webkit.org/show_bug.cgi?id=138344

Reviewed Tim Horton.

Offset the region by topContentInset, and make it not green.

  • page/DebugPageOverlays.cpp:

(WebCore::NonFastScrollableRegionOverlay::updateRegion):

6:35 PM Changeset in webkit [175505] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Clarify RenderListMarker ownership model.
<​https://webkit.org/b/138329>

Reviewed by Antti Koivisto.

A RenderListMarker is either in-tree and owned by the tree, or out-of-tree
and owned by a RenderListItem.

This patch changes RenderListItem::m_marker to be a raw pointer, and removes
the special handling of list markers in RenderElement child teardown.

We also remove the willBeDestroyed() hook. It was used to clear out the
m_marker pointer, but this is now done in the regular ~RenderListItem()
destructor with an assertion for marker sanity. m_marker is automatically
nulled out by a didDestroyListMarker() callback on RenderListItem.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::destroyLeftoverChildren):

Removed special handling of list marker renderers when deleting a
RenderElement's children.

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::~RenderListItem):
(WebCore::RenderListItem::styleDidChange):
(WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
(WebCore::RenderListItem::positionListMarker):

Made m_marker a raw pointer instead of a RenderPtr since the ownership
really switches between weak and strong reference.

(WebCore::RenderListItem::willBeDestroyed):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::~RenderListMarker):

Added a regular destructor to replace the willBeDestroyed() hook.

  • rendering/RenderListItem.h:

(WebCore::RenderListItem::didDestroyListMarker):

Added. Called by ~RenderListMarker to null out RenderListItem::m_marker.

6:23 PM Changeset in webkit [175504] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Fix jquery/manipulation.html flakiness on debug builds
​https://bugs.webkit.org/show_bug.cgi?id=138335

Reviewed by Alexey Proskuryakov.

Update jquery's qunit config to not refresh the test results
regularly as this is not useful as part of layout testing.

This was causing qunit to set a timer every 13ms to check if
results should be updated and this timer would sometimes get
throttled after r175441.

(.):

6:08 PM Changeset in webkit [175503] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Expose visibleDebugOverlayRegions pref via the WK2 C SPI
​https://bugs.webkit.org/show_bug.cgi?id=138342

Reviewed by Dan Bernstein.

Expose WKDebugOverlayRegions via the C SPI.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetVisibleDebugOverlayRegions):
(WKPreferencesGetVisibleDebugOverlayRegions):

  • UIProcess/API/C/WKPreferencesRef.h:
5:44 PM Changeset in webkit [175502] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.4

New tag.

5:26 PM Changeset in webkit [175501] by bshafiei@apple.com
  • 6 edits
    2 copies in branches/safari-600.1.4.12-branch

Merged r173851. rdar://problem/17801001

5:18 PM Changeset in webkit [175500] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.3-branch

Merge r173046. <rdar://problem/18856092>

5:15 PM Changeset in webkit [175499] by dburkart@apple.com
  • 3 edits
    6 copies in branches/safari-600.3-branch

Merge r171849. <rdar://problem/18856127>

5:05 PM Changeset in webkit [175498] by Beth Dakin
  • 9 edits in trunk/Source/WebKit2

Implement action menus for editable text with spelling suggestions
​https://bugs.webkit.org/show_bug.cgi?id=138333
-and corresponding-
rdar://problem/18742371

Reviewed by Tim Horton.

New types.

  • Shared/API/c/WKActionMenuItemTypes.h:
  • Shared/API/c/WKActionMenuTypes.h:

ActionMenuHitTestResult now stores the String result of the lookup.

  • Shared/mac/ActionMenuHitTestResult.h:
  • Shared/mac/ActionMenuHitTestResult.mm:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):

Make getGuessesForWord() public so we can call it from WKActionMenuController.

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WKActionMenuController.mm:

Select the text for all types of text menus.
(-[WKActionMenuController isMenuForTextContent]):
(-[WKActionMenuController willOpenMenu:withEvent:]):

Spelling suggestions are presented in a sub-menu and will replace the selection
when chosen.
(-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]):
(-[WKActionMenuController _changeSelectionToSuggestion:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(-[WKActionMenuController _defaultMenuItems:]):

New function to store the lookupText as a String on the ActionMenuHitTestResult.

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

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::lookupTextAtLocation):

5:03 PM Changeset in webkit [175497] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: TextEditor search doesn't work after editing contents
​https://bugs.webkit.org/show_bug.cgi?id=138198

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-03
Reviewed by Timothy Hatcher.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype.customPerformSearch):
Fallback to pure TextEditor content searching (CodeMirror) if the editor has edits.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.hasEdits):
Check the CodeMirror clean state to known if we have edits or not.

4:56 PM Changeset in webkit [175496] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebCore

Move WebCore/bridge to std::unique_ptr
​https://bugs.webkit.org/show_bug.cgi?id=138280

Reviewed by Anders Carlsson.

Clean up OwnPtr in WebCore/bridge.

No new tests, no behavior changes.

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::methodNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/c/c_class.h: Use std::unique_ptr instead of OwnPtr.
  • bridge/objc/objc_class.h: ditto.
  • bridge/objc/objc_class.mm:

(JSC::Bindings::ObjcClass::methodNamed):
(JSC::Bindings::ObjcClass::fieldNamed):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::callObjCFallbackObject):

  • bridge/runtime_method.h:
4:17 PM Changeset in webkit [175495] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore

Client certificate credentials with session persistence don’t work
​https://bugs.webkit.org/show_bug.cgi?id=138330

Reviewed by Alexey Proskuryakov.

I think this is not testable with our test HTTP server.

  • platform/network/CredentialStorage.cpp:

(WebCore::CredentialStorage::set): Don’t require a valid URL for client certificate
credentials, since they don’t apply to a specific path. Don’t save such credentials to
CFNetwork’s persistent storage (we only do that as a workaround for sharing credentials
with the media framework, and we don’t want to expand the scope of the workaround).

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::receivedCredential): Changed to use the Credential consturctor
that takes a Credential and a new persistence, so that this code works not only with
user+password credentials.

4:12 PM Changeset in webkit [175494] by Simon Fraser
  • 21 edits
    2 adds in trunk

Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2
​https://bugs.webkit.org/show_bug.cgi?id=138257

Reviewed by Tim Horton.
Source/WebCore:

Add code for debugging page overlays that show the non-fast scrollable region,
and the region with wheel event handlers. The list of region types is intended
to be easily extensible.

A singleton DebugPageOverlays maintains a map of Frame -> vector of overlays.
A purely inline code path is provided so that DebugPageOverlays::didLayout() is
fast.

For each region type, a PageOverlay::Client subclass knows how to generate
the region, which is painted into a document-level page overlay.

Add a set of bitflags to Settings to control region visibility.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DebugPageOverlays.cpp: Added.

(WebCore::RegionOverlay::overlay):
(WebCore::MouseWheelRegionOverlay::updateRegion):
(WebCore::NonFastScrollableRegionOverlay::updateRegion):
(WebCore::RegionOverlay::create):
(WebCore::RegionOverlay::RegionOverlay):
(WebCore::RegionOverlay::~RegionOverlay):
(WebCore::RegionOverlay::pageOverlayDestroyed):
(WebCore::RegionOverlay::willMoveToPage):
(WebCore::RegionOverlay::didMoveToPage):
(WebCore::RegionOverlay::drawRect):
(WebCore::RegionOverlay::mouseEvent):
(WebCore::RegionOverlay::didScrollFrame):
(WebCore::RegionOverlay::recomputeRegion):
(WebCore::DebugPageOverlays::shared):
(WebCore::indexOf):
(WebCore::DebugPageOverlays::ensureRegionOverlayForFrame):
(WebCore::DebugPageOverlays::showRegionOverlay):
(WebCore::DebugPageOverlays::hideRegionOverlay):
(WebCore::DebugPageOverlays::regionChanged):
(WebCore::DebugPageOverlays::regionOverlayForFrame):
(WebCore::DebugPageOverlays::updateOverlayRegionVisibility):
(WebCore::DebugPageOverlays::settingsChanged):

  • page/DebugPageOverlays.h: Added.

(WebCore::DebugPageOverlays::hasOverlaysForFrame):
(WebCore::DebugPageOverlays::hasOverlays):
(WebCore::DebugPageOverlays::didLayout):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • page/Settings.h:
  • page/Settings.in:

Source/WebKit2:

Add private prefs to control visibility of debug-related page region overlays.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _visibleDebugOverlayRegions]):
(-[WKPreferences _setVisibleDebugOverlayRegions:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/mac/WebPreferencesMac.mm:

(WebKit::setDebugUInt32ValueIfInUserDefaults):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::updatePreferences): Update the overlays.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Update the overlays.

Tools:

Add a "Debug Overlays" submenu item under "WebKit2-only Settings" which allows
the user to toggle region page overlays on and off. Two overlays are available,
for the non-fast scrollable region, and the region of element with wheel
event handlers.

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController nonFastScrollableRegionOverlayVisible]):
(-[SettingsController wheelEventHandlerRegionOverlayVisible]):
(-[SettingsController preferenceKeyForRegionOverlayTag:]):
(-[SettingsController toggleDebugOverlay:]):
(-[SettingsController debugOverlayVisible:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController didChangeSettings]):

3:02 PM Changeset in webkit [175493] by commit-queue@webkit.org
  • 9 edits in trunk/Source/JavaScriptCore

Web Inspector: Fix RWIProtocol 64-to-32 bit conversion warnings
​https://bugs.webkit.org/show_bug.cgi?id=138325

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-03
Reviewed by Timothy Hatcher.

  • inspector/InspectorValues.h:

Vector's length really is an unsigned, so a static_cast here is fine.

  • inspector/scripts/codegen/generate_objective_c.py:

(ObjCGenerator.objc_type_for_raw_name):
Use int instead of NSInteger for APIs that eventually map to
InspectorObject's setInteger, which takes an int.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

Rebaselined results with the type change.

2:54 PM Changeset in webkit [175492] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Video controls have lots of compositing layers
​https://bugs.webkit.org/show_bug.cgi?id=138294

Reviewed by Eric Carlson.

After r175268 we get lots of separate small layers in the video
controls (but they pop into a single layer when opacity animates).

Fix this by putting an explicit z-index on -webkit-media-controls-panel
which is the element that animates opacity.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel):

2:27 PM Changeset in webkit [175491] by commit-queue@webkit.org
  • 76 edits
    2 copies
    3 adds in trunk/Source

Unreviewed, rolling out r175406, r175413, and r175423.
​https://bugs.webkit.org/show_bug.cgi?id=138327

Multipart tests are still broken (Requested by ap on #webkit).

Reverted changesets:

"Eliminate ResourceBuffer and use SharedBuffer directly
instead"
​https://bugs.webkit.org/show_bug.cgi?id=138174
​http://trac.webkit.org/changeset/175406

"Unreviewed, iOS build fix since 175406."
​http://trac.webkit.org/changeset/175413

"Fix assertion in CachedResource::addDataBuffer"
​http://trac.webkit.org/changeset/175423

2:22 PM Changeset in webkit [175490] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix bad assertion in r175487.

I mistakenly used it != values.end() instead of it == values.end()
so the debug bots are crashing.

  • css/StyleResolver.cpp:

(WebCore::createGridPosition):

2:14 PM Changeset in webkit [175489] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO) build after r175279
​https://bugs.webkit.org/show_bug.cgi?id=138320

Reviewed by Jer Noble.

  • page/ChromeClient.h:
1:19 PM Changeset in webkit [175488] by ap@apple.com
  • 3 edits in trunk/Tools

REGRESSION (Subpixel layout): Bubbles don't fit in Bugzilla review page
​https://bugs.webkit.org/show_bug.cgi?id=138323

Reviewed by Zalan Bujtas.

  • QueueStatusServer/templates/statusbubble.html: Round the sizes up, not down.
12:48 PM Changeset in webkit [175487] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Support modern range loops over CSSValueList
​https://bugs.webkit.org/show_bug.cgi?id=138285

Reviewed by Andreas Kling.

Add support for modern range loops over CSSValueList objects.
Port the code base to using range loops for CSSValueList objects and
drop the CSSValueListInspector / CSSValueListIterator classes as they
are no longer needed.

No new tests, no behavior change.

12:41 PM Changeset in webkit [175486] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

_actionMenuItemsForHitTestResult is given kWKActionMenuLink but an empty array of defaultMenuItems
​https://bugs.webkit.org/show_bug.cgi?id=138321
<rdar://problem/18855134>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _defaultMenuItems:]):
Move the HTTP-family-URLs-only condition to the place where we decide what kind of menu to
show. We depend on _defaultMenuItemsForLink returning the link menu, and should never
set the link menu type if we aren't going to build a link menu.

12:17 PM Changeset in webkit [175485] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderCounter shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138316>

Reviewed by Antti Koivisto.

RenderCounter will automatically register/unregister itself with
the RenderView when constructed/destroyed.

It was using a willBeDestroyed() hook because it used to be that you
couldn't get to the RenderView in the destructor. That's no longer
an issue as Document promises that RenderView is the last render tree
node to go away.

  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::~RenderCounter):
(WebCore::RenderCounter::willBeDestroyed): Deleted.

  • rendering/RenderCounter.h:
12:08 PM Changeset in webkit [175484] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Use FrameSnapshotting functions in FindController::getFindIndicatorBitmap
​https://bugs.webkit.org/show_bug.cgi?id=138300
<rdar://problem/18855863>

Reviewed by Simon Fraser.

Share more code by using WebCore's FrameSnapshotting::snapshotSelection
in FindController instead of copying it into FindController wholesale.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::getFindIndicatorBitmap):
Make getFindIndicatorBitmap static, rename it from getFindIndicatorBitmapAndRect,
and drop the rect argument because only one caller wanted it, and we no longer need
to compute it (this happens in WebCore now).

Use snapshotSelection; all of the removed paint behaviors get added by
code in or underneath snapshotSelection now.

Draw the snapshot into our ShareableBitmap; we could avoid this in a future patch
by refactoring the FrameSnapshotting functions to take GraphicsContexts.

(WebKit::FindController::getImageForFindMatch):
(WebKit::FindController::updateFindIndicator):
Adopt the new getFindIndicatorBitmap.

  • WebProcess/WebPage/FindController.h:

Remove getFindIndicatorBitmap(AndRect), which is now static.

  • WebCore.exp.in:
  • page/FrameSnapshotting.cpp:

(WebCore::snapshotSelection):
Move knowledge that selectionBounds can be empty down to WebCore.

12:03 PM Changeset in webkit [175483] by commit-queue@webkit.org
  • 17 edits
    2 copies
    1 add in trunk

Web Inspector: Show Selector's Specificity
​https://bugs.webkit.org/show_bug.cgi?id=138189

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-03
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/CSS.json:

Create a new named type CSSSelector to include a selector's text and specificity.
The specificity tuple is optional as it may soon be made dynamic in some cases.

Source/WebCore:

Test: inspector/css/selector-specificity.html

  • css/CSSSelector.h:

Remove very stale comment. '*' is a starAtom now instead of a special -1 tag.
Made the specificity masks public class constants.

  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
Drive by use release() in some cases to reduce ref count churn.

(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
Build CSSSelector objects for SelectorLists.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:
  • UserInterface/Test.html:

Add new files and strings.

  • UserInterface/Models/CSSMedia.js:

Constructor functions are not needed, remove unnecessary code.

  • UserInterface/Models/CSSRule.js:

(WebInspector.CSSRule.prototype.set selectors): Deleted.
This was unused and is no longer correct.

(WebInspector.CSSRule.prototype.get matchedSelectorText):
Update now that selectors are a list of objects, not just strings.

  • UserInterface/Models/CSSSelector.js:

(WebInspector.CSSSelector):
(WebInspector.CSSSelector.prototype.get specificity):
New model object for protocol type CSS.CSSSelector.

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload.return):
(WebInspector.DOMNodeStyles.prototype._parseSelectorListPayload):
(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
Handle parsing old and new SelectorLists.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelectorText):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Update the code now that the list of selectors are model objects instead
of just selector text strings.

LayoutTests:

  • inspector/css/matched-style-properties.html:
  • inspector/css/selector-specificity-expected.txt: Added.
  • inspector/css/selector-specificity.html: Copied from LayoutTests/inspector/css/matched-style-properties.html.
11:59 AM Changeset in webkit [175482] by Csaba Osztrogonác
  • 5 edits in trunk/Source/WebKit2

URTBF after r175476 to make GTK and EFL build happy.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::setTextIndicator):
(WebKit::PageClientImpl::setFindIndicator): Deleted.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::setTextIndicator):
(WebKit::WebView::setFindIndicator): Deleted.

  • UIProcess/CoordinatedGraphics/WebView.h:
11:40 AM Changeset in webkit [175481] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move -webkit-shape-outside to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138296

Reviewed by Zoltan Horvath.

Move -webkit-shape-outside to the new StyleBuilder, using custom
code as it does not always call setShapeOutside().

No new tests, no behavior change.

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

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

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyValueWebkitShapeOutside):

11:38 AM Changeset in webkit [175480] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

[GTK] Unreviewed gardening. Rebaseline after r175259.
​https://bugs.webkit.org/show_bug.cgi?id=138317

Rebaseline pending test expectations affected by r175259.

Patch by Lorenzo Tilve <​ltilve@igalia.com> on 2014-11-03

  • platform/gtk/css1/box_properties/border_bottom-expected.txt:
  • platform/gtk/css1/box_properties/border_top-expected.txt:
  • platform/gtk/css1/formatting_model/inline_elements-expected.txt:
  • platform/gtk/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/gtk/svg/custom/bug45331-expected.txt:
  • platform/gtk/svg/custom/path-bad-data-expected.txt:
11:36 AM Changeset in webkit [175479] by Joseph Pecoraro
  • 11 edits in trunk/Source/JavaScriptCore

Web Inspector: ObjC Protocol Interfaces should throw exceptions for nil arguments
​https://bugs.webkit.org/show_bug.cgi?id=138221

Reviewed by Timothy Hatcher.

The RWIProtocol APIs will now raise exceptions when:

  • any properties are set on a type with a nil value or key (handled by RWIProtocolJSONObject)
  • required parameters in type constructors have nil value
  • required or optional command return parameters have nil values
  • required or optional event parameters have nil values

The exceptions include the name of the field when possible.

  • inspector/scripts/codegen/generate_objective_c.py:

(ObjCGenerator.is_type_objc_pointer_type):
Provide a quick check to see if type would be a pointer or not
in the ObjC API. Enums for example are not pointers in the API
because we manage converting them to/from strings.

  • inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py:

(ObjectiveCConfigurationImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py:

(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event):

  • inspector/scripts/codegen/generate_objective_c_types_implementation.py:

(ObjectiveCTypesImplementationGenerator._generate_init_method_for_required_members):
(ObjectiveCTypesImplementationGenerator._generate_setter_for_member):
Throw exceptions when nil values are disallowed.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

Rebaseline tests which include the exception raise calls.

11:36 AM Changeset in webkit [175478] by Joseph Pecoraro
  • 27 edits in trunk/Source

Web Inspector: ALTERNATE_DISPATCHERS Let the frontend know about extra agents
​https://bugs.webkit.org/show_bug.cgi?id=138236

Reviewed by Brian Burg.

Source/JavaScriptCore:

Inform the frontend about any extra domains the backend may have
above and beyond the default list of domains for the debuggable type.
This approach means there is almost no cost to normal debugging.
When a JSContext is debugged with extra agents, a message is sent
to the frontend letting it know which domains to then activate,
and perform any initialization work that may be required.

  • inspector/InspectorAgentBase.h:

(Inspector::InspectorAgentBase::domainName):

  • inspector/InspectorAgentRegistry.cpp:

(Inspector::InspectorAgentRegistry::appendExtraAgent):

  • inspector/InspectorAgentRegistry.h:
  • inspector/scripts/codegen/generator_templates.py:

Provide a way to get a list of just the extra domains.
To aggregate this list provide a different "append"
specifically for extra agents.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
When a frontend connects, inform it of the extra domains.

  • inspector/protocol/Inspector.json:
  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::activateExtraDomains):
Send an event with the extra domains to activate.

Source/WebInspectorUI:

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.activateDomain):

  • UserInterface/Protocol/InspectorObserver.js:

(WebInspector.InspectorObserver.prototype.activateExtraDomains):

  • UserInterface/Base/Object.js:
  • UserInterface/Base/Test.js:
  • UserInterface/Base/Main.js:

(WebInspector.activateExtraDomains):
Default state is that there are no extra domains. When extra domains
are activated, some agents need to be re-initialized. Dispatch a
model event so views also know to re-initialize.

  • UserInterface/Controllers/ApplicationCacheManager.js:

(WebInspector.ApplicationCacheManager.prototype._mainResourceDidChange):

  • UserInterface/Controllers/DOMTreeManager.js:

Be more careful about direct agent use during main resource changes.
That can happen with a JSContext extended with a Page agent.

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager):
(WebInspector.FrameResourceManager.prototype._mainFrameDidChange):
(WebInspector.FrameResourceManager.prototype._extraDomainsActivated):

  • UserInterface/Controllers/StorageManager.js:

(WebInspector.StorageManager):
(WebInspector.StorageManager.prototype._databaseForIdentifier):
(WebInspector.StorageManager.prototype._extraDomainsActivated):
It is possible new window.FooAgent's are available. Perform expected
initialization re-checking if the agents are now available.

  • UserInterface/Models/CSSCompletions.js:

Avoid re-initialization if we already did it. This should never
happen but this is just to be safe.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
Don't disallow expandable tree elements if this is a JSContext with
extra domains. If that JSContext has resources, we would have been
unable to see child resources.

11:19 AM Changeset in webkit [175477] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: Using a media element changes window.name
​https://bugs.webkit.org/show_bug.cgi?id=138278
rdar://problem/18704134

Apply the same fix to mediaControlsBase.js. I do not know who uses this file, but
there is no reason to have the bug there.

  • Modules/mediacontrols/mediaControlsBase.js:

(Controller.prototype.addVideoListeners):
(Controller.prototype.removeVideoListeners):
(Controller.prototype.disconnectControls):

11:17 AM Changeset in webkit [175476] by timothy_horton@apple.com
  • 15 edits
    4 adds
    4 deletes in trunk/Source/WebKit2

Rename FindIndicator{Window} to TextIndicator{Window}
​https://bugs.webkit.org/show_bug.cgi?id=138302
<rdar://problem/18855190>

Reviewed by Anders Carlsson.

Rename FindIndicator{Window} to TextIndicator{Window} (and related),
because it will soon be used to indicate ranges of text that are not
necessarily find-in-page results.

FindController still has things named 'findIndicator' internally,
and I left the API alone (because all the API bits are actually find-specific),
but the actual FindIndicator/Window and the message to set it up, etc. are all
now called Text*.

  • CMakeLists.txt:
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/TextIndicator.cpp: Renamed from Source/WebKit2/UIProcess/FindIndicator.cpp.
  • UIProcess/TextIndicator.h: Renamed from Source/WebKit2/UIProcess/FindIndicator.h.
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/ios/WKContentView.h:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:
  • UIProcess/mac/TextIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/mac/FindIndicatorWindow.h.
  • UIProcess/mac/TextIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/mac/FindIndicatorWindow.mm.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/FindController.cpp:
10:39 AM Changeset in webkit [175475] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderLayerModelObject shouldn't need a pre-destructor hook.
<​https://webkit.org/b/138314>

Reviewed by Antti Koivisto.

Move code from the willBeDestroyed() pre-destructor hook to the regular
~RenderLayerModelObject() destructor.

We just need to unregister the renderer from the FrameView's set of
viewport-constrained objects. That doesn't require being able to walk
the render tree or call virtuals, which is the main reason you'd use
willBeDestroyed().

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::~RenderLayerModelObject):
(WebCore::RenderLayerModelObject::willBeDestroyed): Deleted.

  • rendering/RenderLayerModelObject.h:
10:38 AM Changeset in webkit [175474] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

Implement action menus for editable text
​https://bugs.webkit.org/show_bug.cgi?id=138284
-and corresponding-
rdar://problem/18742323

Reviewed by Tim Horton.

New item type for paste.

  • Shared/API/c/WKActionMenuItemTypes.h:

New menu type for editable text.

  • Shared/API/c/WKActionMenuTypes.h:
  • UIProcess/mac/WKActionMenuController.mm:

willOpenMenu should select text for both regular text menus and editable text
menus.
(-[WKActionMenuController willOpenMenu:withEvent:]):

Default items for editable text.
(-[WKActionMenuController _defaultMenuItemsForEditableText]):
(-[WKActionMenuController _paste:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):

New method _hitTestResultForStage:(MenuUpdateStage)stage will figure out whether
we can use the WebHitTestResult from the ActionMenuHitTestResult or if we have to
use the potentially out-of-date WebHitTestResult that is cached on WebPageProxy.
An important difference between these results is that the ActionMenuHitTest
result, in addition to being more recent and accurate, also now includes shadow
content, which affects some editable regions on important sites such as
bugs.webkit.org and nytimes.com.
(-[WKActionMenuController _defaultMenuItems:]):
(-[WKActionMenuController _updateActionMenuItemsForStage:]):
(imageForResource:name::if): Deleted.

Allow shadow content in action menu hit testing.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::selectLookupTextAtLocation):

10:36 AM Changeset in webkit [175473] by adachan@apple.com
  • 6 edits in trunk/Source/WebKit2

Persist the page's muted state across web process crashes.
​https://bugs.webkit.org/show_bug.cgi?id=138195

Reviewed by Anders Carlsson.

Store the Page's muted state in WebPageCreationParameters so that state can be properly
restored after recovering from a crash in the web process.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
Initialize m_muted.
(WebKit::WebPageProxy::setMuted):
Update m_muted.
(WebKit::WebPageProxy::creationParameters):
Set the muted data member in WebPageCreationParameters.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Initialize the page's muted state with the muted value from WebPageCreationParameters.

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

[EFL] Fix the build if LOG_DISABLED=0 in release mode
​https://bugs.webkit.org/show_bug.cgi?id=138309

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-11-03
Reviewed by Chris Dumez.

  • platform/efl/LoggingEfl.cpp:
9:56 AM Changeset in webkit [175471] by msaboff@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Add scope operand to op_resolve_scope
​https://bugs.webkit.org/show_bug.cgi?id=138253

Reviewed by Mark Lam.

Added scope operand to op_resolve_scope. Although the scope register is filled in with
the ScopeChain register, this operand is not used in the processing of the bytecode.
That will be addressed in a future patch.

  • bytecode/BytecodeList.json: Lengthened the three bytecodes.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Added code to dump the scope operand.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
Updated the operand indecies for the processing of op_resolve_scope.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitGetOwnScope):
(JSC::BytecodeGenerator::emitReturn):
Added scope register to these emit functions and the bytecodes they emit.

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Updated the operand indecies for the processing of op_resolve_scope.

7:47 AM Changeset in webkit [175470] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/LayoutTests

[EFL] Unskip passing ENCRYPTED_MEDIA_V2 tests
​https://bugs.webkit.org/show_bug.cgi?id=138133

Reviewed by Csaba Osztrogonác.

  • platform/efl/TestExpectations:
3:46 AM Changeset in webkit [175469] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[ninja] Don't remove response files for verbose builds
​https://bugs.webkit.org/show_bug.cgi?id=137816

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitdirs.pm:

(determineNinjaVersion):
(buildCMakeGeneratedProject):

3:26 AM Changeset in webkit [175468] by ryuan.choi@gmail.com
  • 8 edits in trunk/Source/WebKit2

[EFL] Remove dependency of PageViewportController from PageViewportControllerClient
​https://bugs.webkit.org/show_bug.cgi?id=138301

Reviewed by Gyuyoung Kim.

PaeViewportControllerClient does not need to keep the instance of PageViewPortController.
This patch removes it to simplify relation between them.
In addition, uses a reference for the client of PageViewportController.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):
(EwkView::setViewportPosition):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):

  • UIProcess/CoordinatedGraphics/PageViewportController.h:
  • UIProcess/PageViewportControllerClient.h:
  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setController): Deleted.

  • UIProcess/efl/PageViewportControllerClientEfl.h:
3:08 AM Changeset in webkit [175467] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move 'zoom' CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138297

Reviewed by Antti Koivisto.

Move 'zoom' CSS property from DeprecatedStyleBuilder to the new
StyleBuilder by using custom code as it requires special handling.

No new tests, no behavior change.

  • css/makeprop.pl:

Add support for Custom=All StyleBuilder option to indicate
that the property requires custom code to set the initial,
inherit and current values.

12:22 AM Changeset in webkit [175466] by commit-queue@webkit.org
  • 12 edits in trunk

AX: Fix some minor typos related to the word "accessibility".
​https://bugs.webkit.org/show_bug.cgi?id=138299

Patch by Sungmann Cho <​sungmann.cho@navercorp.com> on 2014-11-03
Reviewed by Chris Fleizach.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldUseAccessibilityObjectInnerText):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::shouldUseAccessiblityObjectInnerText): Deleted.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getRunAttributesFromAccessibilityObject):
(webkitAccessibleTextGetRunAttributes):
(getRunAttributesFromAccesibilityObject): Deleted.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):

Source/WebCore/platform/gtk/po:

No new tests, no behavior change.

  • en_CA.po:

Source/WebKit/win:

No new tests, no behavior change.

  • AccessibleBase.h:

Source/WebKit2:

No new tests, no behavior change.

  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

LayoutTests:

  • accessibility/aria-link-supports-press.html:

Nov 2, 2014:

11:53 PM Changeset in webkit [175465] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[GTK] Fix the build of FTL JIT
​https://bugs.webkit.org/show_bug.cgi?id=138298

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-11-02
Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake:

Remove the need for the LIBCXXABI package.

Tools:

  • gtk/jhbuild-optional.modules:

Bump up LLVM version to 3.5.0 release and apply patches.

  • gtk/patches/llvm-elf-add-stackmaps.patch:

Added. Adds .llvm_stackmaps section to ELF files. Backported from LLVM
trunk.

  • gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch:

Added. Ensures that PC-relative relocations in EH frames are not
truncated to 32 bits on x86_64.

2:47 PM Changeset in webkit [175464] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move string-typed properties to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138295

Reviewed by Antti Koivisto.

Move string-typed properties to the new StyleBuilder:
-webkit-hyphenate-character
-webkit-line-grid
-webkit-flow-into
-webkit-flow-from

No new tests, no behavior change.

10:19 AM Changeset in webkit [175463] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Unreviewed, rebaseline bindings tests after r175462.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionClassMethod2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):

8:37 AM Changeset in webkit [175462] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Reduce the cost of argumentCount checks in the JS bindings
​https://bugs.webkit.org/show_bug.cgi?id=138289

Reviewed by Sam Weinig.

Slightly reduce the cost of argumentCount checks in the JS bindings by
hinting to the compiler that it is UNLIKELY that those methods are
called with too few arguments.

I see a 3% progression on PerformanceTests/DOM/DOMDivWalk.html
performance test.

No new tests, no behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateArgumentsCountCheck):

Nov 2, 2014:

12:06 AM Changeset in webkit [175461] by ktf.kim@samsung.com
  • 1 edit
    4 adds in trunk/LayoutTests

[CSS] Add tests for :read-only and :read-write
​https://bugs.webkit.org/show_bug.cgi?id=92473

Add test case for :readonly and :readwrite pseudoclass for common elements

Reviewed by Benjamin Poulain.

  • fast/css/readonly-pseudoclass-common-element-expected.txt: Added.
  • fast/css/readonly-pseudoclass-common-element.html: Added.
  • fast/css/readwrite-pseudoclass-editable-expected.txt: Added.
  • fast/css/readwrite-pseudoclass-editable.html: Added.

Nov 1, 2014:

11:59 PM Changeset in webkit [175460] by ap@apple.com
  • 3 edits
    2 adds
    1 delete in trunk

REGRESSION: Using a media element changes window.name
​https://bugs.webkit.org/show_bug.cgi?id=138278
rdar://problem/18704134

Reviewed by Jer Noble.

Source/WebCore:

Test: fast/media/window-name.html

Use an actual variable for name (and while at it, for "item" as well).

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.addVideoListeners):
(Controller.prototype.removeVideoListeners):
(Controller.prototype.disconnectControls):

LayoutTests:

  • fast/media/window-name-expected.txt: Added.
  • fast/media/window-name.html: Added.
  • platform/mac/webarchive/loading/video-in-webarchive-expected.txt: Removed.

This result was incorrect due to this bug, and now Mac matches cross-platform
results.

11:55 PM Changeset in webkit [175459] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

Mark jquery/manipulation.html as flakey on Debug bots as marking it
as slow did not help.

10:58 PM Changeset in webkit [175458] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move "direction" CSS property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138288

Reviewed by Sam Weinig.

Move "direction" CSS property to the new StyleBuilder by using custom
code as it requires special handling to call
Document::setDirectionSetOnDocumentElement() when necessary.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyDirection::applyValue): Deleted.
(WebCore::ApplyPropertyDirection::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyValueDirection):

9:40 PM Changeset in webkit [175457] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, fix double-slash in previous gardening commit.

8:17 PM Changeset in webkit [175456] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

Mark jquery/manipulation.html as slow on Debug builds until I can
investigate how to avoid this with timer throttling.

7:31 PM Changeset in webkit [175455] by ddkilzer@apple.com
  • 2 edits in trunk/Source/bmalloc

JavaScriptCore is missing debug info for bmalloc because libbmalloc.a is stripped
<​https://webkit.org/b/138286>
<rdar://problem/18847087>

Reviewed by Dan Bernstein.

  • Configurations/bmalloc.xcconfig: Set STRIP_INSTALLED_PRODUCT

to NO for the target that produces libbmalloc.a so that the
debug symbols will be linked into JavaScriptCore and end up in
its dSYM file.

3:18 PM Changeset in webkit [175454] by weinig@apple.com
  • 7 edits in trunk/Source/WebCore

Move the -webkit-transform property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138283

Reviewed by Chris Dumez.

Move the -webkit-transform property from StyleResolver to the new
generated StyleBuilder. Adds a converter for TransformOperations.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTransform):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • css/TransformFunctions.cpp:

(WebCore::transformsForValue):

  • css/TransformFunctions.h:
  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

11:11 AM Changeset in webkit [175453] by benjamin@webkit.org
  • 4 edits
    14 adds in trunk

Fix the specificity of the extended :not() selector
​https://bugs.webkit.org/show_bug.cgi?id=138275

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-11-01
Reviewed by Andreas Kling.

Source/WebCore:

The current draft says "The specificity of a :not() pseudo-class
is the specificity of the most specifc complex selector in its selector list."

It is still unclear how :not() plays with other new selectors. Until that is clarified,
this only handle the simple cases.

Tests: fast/css/not-self-specificity.html

fast/css/not-specificity-1.html
fast/css/not-specificity-2.html
fast/css/not-specificity-3.html
fast/css/not-specificity-4.html
fast/css/not-specificity-5.html
fast/css/not-specificity-6.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForOneSelector):

LayoutTests:

  • fast/css/not-self-specificity-expected.html: Added.
  • fast/css/not-self-specificity.html: Added.

Test that :not() itself does not influence the specificity,
only the nested selectors contribute to the global specificity.

  • fast/css/not-specificity-1-expected.html: Added.
  • fast/css/not-specificity-1.html: Added.
  • fast/css/not-specificity-2-expected.html: Added.
  • fast/css/not-specificity-2.html: Added.
  • fast/css/not-specificity-3-expected.html: Added.
  • fast/css/not-specificity-3.html: Added.

Tests for compound selectors.
All tests are variations of the same base testing specificity
and position.

  • fast/css/not-specificity-4-expected.html: Added.
  • fast/css/not-specificity-4.html: Added.
  • fast/css/not-specificity-5-expected.html: Added.
  • fast/css/not-specificity-5.html: Added.
  • fast/css/not-specificity-6-expected.html: Added.
  • fast/css/not-specificity-6.html: Added.

Same thing for complex selectors.

  • fast/selectors/class-style-update-with-not-expected.txt:

Yeah, one more test fixed :)

4:16 AM Changeset in webkit [175452] by gyuyoung.kim@samsung.com
  • 131 edits
    3 adds in trunk/LayoutTests

[EFL] Unreviewed EFL gardening.
​https://bugs.webkit.org/show_bug.cgi?id=138276

Rebaseline after r175259.

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-11-01

  • platform/efl/css1/basic/containment-expected.txt:
  • platform/efl/css1/basic/contextual_selectors-expected.txt:
  • platform/efl/css1/basic/grouping-expected.txt:
  • platform/efl/css1/basic/id_as_selector-expected.txt:
  • platform/efl/css1/basic/inheritance-expected.txt:
  • platform/efl/css1/box_properties/border-expected.txt:
  • platform/efl/css1/box_properties/border_bottom-expected.txt:
  • platform/efl/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/efl/css1/box_properties/border_bottom_width-expected.txt:
  • platform/efl/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/efl/css1/box_properties/border_color-expected.txt:
  • platform/efl/css1/box_properties/border_color_inline-expected.txt:
  • platform/efl/css1/box_properties/border_inline-expected.txt:
  • platform/efl/css1/box_properties/border_left-expected.txt:
  • platform/efl/css1/box_properties/border_left_inline-expected.txt:
  • platform/efl/css1/box_properties/border_left_width-expected.txt:
  • platform/efl/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/efl/css1/box_properties/border_right-expected.txt:
  • platform/efl/css1/box_properties/border_right_inline-expected.txt:
  • platform/efl/css1/box_properties/border_right_width-expected.txt:
  • platform/efl/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/efl/css1/box_properties/border_style-expected.txt:
  • platform/efl/css1/box_properties/border_style_inline-expected.txt:
  • platform/efl/css1/box_properties/border_top-expected.txt:
  • platform/efl/css1/box_properties/border_top_inline-expected.txt:
  • platform/efl/css1/box_properties/border_top_width-expected.txt:
  • platform/efl/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/efl/css1/box_properties/border_width-expected.txt:
  • platform/efl/css1/box_properties/border_width_inline-expected.txt:
  • platform/efl/css1/box_properties/clear-expected.txt:
  • platform/efl/css1/box_properties/clear_float-expected.txt:
  • platform/efl/css1/box_properties/float-expected.txt:
  • platform/efl/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/efl/css1/box_properties/float_margin-expected.txt:
  • platform/efl/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/efl/css1/box_properties/height-expected.txt:
  • platform/efl/css1/box_properties/margin-expected.txt:
  • platform/efl/css1/box_properties/margin_bottom-expected.txt:
  • platform/efl/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_left-expected.txt:
  • platform/efl/css1/box_properties/margin_left_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_right-expected.txt:
  • platform/efl/css1/box_properties/margin_right_inline-expected.txt:
  • platform/efl/css1/box_properties/margin_top-expected.txt:
  • platform/efl/css1/box_properties/margin_top_inline-expected.txt:
  • platform/efl/css1/box_properties/padding-expected.txt:
  • platform/efl/css1/box_properties/padding_bottom-expected.txt:
  • platform/efl/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_left-expected.txt:
  • platform/efl/css1/box_properties/padding_left_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_right-expected.txt:
  • platform/efl/css1/box_properties/padding_right_inline-expected.txt:
  • platform/efl/css1/box_properties/padding_top-expected.txt:
  • platform/efl/css1/box_properties/padding_top_inline-expected.txt:
  • platform/efl/css1/box_properties/width-expected.txt:
  • platform/efl/css1/cascade/cascade_order-expected.txt:
  • platform/efl/css1/cascade/important-expected.txt:
  • platform/efl/css1/classification/display-expected.txt:
  • platform/efl/css1/classification/list_style-expected.txt:
  • platform/efl/css1/classification/list_style_image-expected.txt:
  • platform/efl/css1/classification/list_style_position-expected.txt:
  • platform/efl/css1/classification/list_style_type-expected.txt:
  • platform/efl/css1/classification/white_space-expected.txt:
  • platform/efl/css1/color_and_background/background-expected.txt:
  • platform/efl/css1/color_and_background/background_attachment-expected.txt:
  • platform/efl/css1/color_and_background/background_color-expected.txt:
  • platform/efl/css1/color_and_background/background_image-expected.txt:
  • platform/efl/css1/color_and_background/background_position-expected.txt:
  • platform/efl/css1/color_and_background/background_repeat-expected.txt:
  • platform/efl/css1/color_and_background/color-expected.txt:
  • platform/efl/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/efl/css1/font_properties/font-expected.txt:
  • platform/efl/css1/font_properties/font_family-expected.txt:
  • platform/efl/css1/font_properties/font_size-expected.txt:
  • platform/efl/css1/font_properties/font_style-expected.txt:
  • platform/efl/css1/font_properties/font_variant-expected.txt:
  • platform/efl/css1/font_properties/font_weight-expected.txt:
  • platform/efl/css1/formatting_model/canvas-expected.txt:
  • platform/efl/css1/formatting_model/floating_elements-expected.txt:
  • platform/efl/css1/formatting_model/height_of_lines-expected.txt:
  • platform/efl/css1/formatting_model/inline_elements-expected.txt:
  • platform/efl/css1/formatting_model/replaced_elements-expected.txt:
  • platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/efl/css1/pseudo/anchor-expected.txt:
  • platform/efl/css1/pseudo/firstletter-expected.txt:
  • platform/efl/css1/pseudo/firstline-expected.txt:
  • platform/efl/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/efl/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/efl/css1/text_properties/letter_spacing-expected.txt:
  • platform/efl/css1/text_properties/line_height-expected.txt:
  • platform/efl/css1/text_properties/text_align-expected.txt:
  • platform/efl/css1/text_properties/text_decoration-expected.txt:
  • platform/efl/css1/text_properties/text_indent-expected.txt:
  • platform/efl/css1/text_properties/text_transform-expected.txt:
  • platform/efl/css1/text_properties/vertical_align-expected.txt:
  • platform/efl/css1/text_properties/word_spacing-expected.txt:
  • platform/efl/css1/units/color_units-expected.txt:
  • platform/efl/css1/units/length_units-expected.txt:
  • platform/efl/css1/units/percentage_units-expected.txt:
  • platform/efl/css1/units/urls-expected.txt:
  • platform/efl/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/efl/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/efl/fast/css/empty-pseudo-class-expected.txt:
  • platform/efl/fast/css/first-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/last-child-pseudo-class-expected.txt:
  • platform/efl/fast/css/only-child-pseudo-class-expected.txt:
  • platform/efl/fast/forms/targeted-frame-submission-expected.txt:
  • platform/efl/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/efl/fast/html/listing-expected.txt:
  • platform/efl/fast/invalid/junk-data-expected.txt:
  • platform/efl/fast/invalid/missing-end-tag-expected.txt:
  • platform/efl/fast/loader/text-document-wrapping-expected.txt:
  • platform/efl/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/efl/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/efl/fast/table/border-collapsing/004-expected.txt:
  • platform/efl/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/efl/fast/text/whitespace/001-expected.txt: Added.
  • platform/efl/fast/text/whitespace/013-expected.txt: Added.
  • platform/efl/fast/text/whitespace/014-expected.txt: Added.
  • platform/efl/fast/text/whitespace/022-expected.txt:
  • platform/efl/fast/text/whitespace/024-expected.txt:
  • platform/efl/fast/text/whitespace/030-expected.txt:
  • platform/efl/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/efl/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/efl/svg/hixie/error/012-expected.txt:
  • platform/efl/tables/mozilla/bugs/45621-expected.txt:
  • platform/efl/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/efl/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
2:59 AM Changeset in webkit [175451] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r163656): Remote inspector doesn't work unless preferences change after page initialization
​https://bugs.webkit.org/show_bug.cgi?id=138246

Reviewed by Joseph Pecoraro.

The problem is that initializeWebPage() is still using
pageGroup().preferences() instead of m_preferences to check if
developer extras are enabled to enable remote inspection of the page.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage): Use m_preferences
instead of pageGroup().preferences().

2:55 AM Changeset in webkit [175450] by Carlos Garcia Campos
  • 7 edits in trunk

REGRESSION(CMake): Make it possible to build without introspection
​https://bugs.webkit.org/show_bug.cgi?id=138006

Reviewed by Philippe Normand.

.:

Add ENABLE_INTROSPECTION option.

  • Source/PlatformGTK.cmake: Dot not add gir global target if

introspection is disabled.

  • Source/cmake/OptionsGTK.cmake: Do not add gir individual targets if

introspection is disabled.

Source/JavaScriptCore:

Do not install introspection files when introspection is disabled.

  • PlatformGTK.cmake:

Source/WebKit2:

Do not install introspection files when introspection is disabled.

  • PlatformGTK.cmake:

Oct 31, 2014:

10:34 PM Changeset in webkit [175449] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Removed a reference to a file that’s been deleted.

  • WebKit2.xcodeproj/project.pbxproj: Removed reference to XPCPtr.h.
9:23 PM Changeset in webkit [175448] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

Use std::unique_ptr instead of OwnPtr in CoordinatorDrawingProxy
​https://bugs.webkit.org/show_bug.cgi?id=138238

Reviewed by Ryosuke Niwa.

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:

(WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy): Use std::make_unique.
(WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Use std::unique_ptr instead of OwnPtr.
8:22 PM Changeset in webkit [175447] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the Debug builds after r175446

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-31

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

8:06 PM Changeset in webkit [175446] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk

Add initial parsing functionality of :lang pseudo class in Selectors Level 4.
​https://bugs.webkit.org/show_bug.cgi?id=138170

Patch by Dhi Aurrahman <​diorahman@rockybars.com> on 2014-10-31
Reviewed by Benjamin Poulain.

Source/WebCore:

Add initial parsing functionality of :lang pseudo class in Selectors Level 4,
as specified in [1].

It parses comma-separated list of string arguments. Currently, it throws error
on arguments with "*" (e.g. :lang(zh, *-hant)).

Add additional test file fast/selectors/lang-invalid.html along side the
fast/css/css-selector-text.html.

[1] ​http://dev.w3.org/csswg/selectors4/#the-lang-pseudo

Test: fast/selectors/lang-invalid.html

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::detectFunctionTypeToken):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setArgumentList):

  • css/CSSParserValues.h:
  • css/CSSSelector.cpp:

(WebCore::appendArgumentList):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::setArgumentList):

  • css/CSSSelector.h:

(WebCore::CSSSelector::argumentList):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

Add tests for comma-separated list arguments for :lang

  • fast/css/css-selector-text-expected.txt: Updated.
  • fast/css/css-selector-text.html: Updated.
  • fast/selectors/lang-invalid-expected.txt: Added.
  • fast/selectors/lang-invalid.html: Added.
6:31 PM Changeset in webkit [175445] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

StyleBuilder: Stop using custom code for -webkit-hyphenate-limit-lines
​https://bugs.webkit.org/show_bug.cgi?id=138270

Reviewed by Antti Koivisto.

Stop using custom code for -webkit-hyphenate-limit-lines in the new
StyleBuilder. We don't really need to, we can just have a Converter
specific to this property.

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertWebkitHyphenateLimitLines):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines): Deleted.

6:07 PM Changeset in webkit [175444] by weinig@apple.com
  • 18 edits in trunk/Source/WebKit2

Add bundle SPI to customize the action menu
<rdar://problem/18830771>
​https://bugs.webkit.org/show_bug.cgi?id=138271

Reviewed by Anders Carlsson.

  • Adds a new function to the WKBundlePageContextMenuClient that allows the client to pass construct user data in the bundle that can be available when customizing the menu in -[WKView _actionMenuItemsForHitTestResult...].
  • Changes the signature of -[WKView _actionMenuItemsForHitTestResult...] to add userData.
  • Makes the actual hit test result available in the second invocation of -[WKView _actionMenuItemsForHitTestResult...] by serializing it in the ActionMenuHitTestResult.
  • Shared/mac/ActionMenuHitTestResult.h:
  • Shared/mac/ActionMenuHitTestResult.mm:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Adds the WebHitTestResult and the original hit test request location.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Adds a new version of _actionMenuItemsForHitTestResult that passes userData along.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _didPerformActionMenuHitTest:userData:]):
(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:userData:]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didPerformActionMenuHitTest):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformActionMenuHitTest):
Pipe the user data through to the WKView.

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

(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController didPerformActionMenuHitTest:userData:]):
(-[WKActionMenuController menuNeedsUpdate:]):
(-[WKActionMenuController _updateActionMenuItemsForStage:]):
Differentiate between the two times _updateActionMenuItems was called via a new stage parameter,
(it is called once in prepareForMenu, and once in menuNeedsUpdate). Use the last mouse move hit
test result in the prepareForMenu case (as we don't have a real result yet), and the hit result
passed in via didPerformActionMenuHitTest in the menuNeedsUpdate case (assuming we didn't time out)
waiting on the web process.

  • WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
  • WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:

(WebKit::InjectedBundlePageContextMenuClient::prepareForActionMenu):

  • WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Adds new bundle SPI to collect user data to pass to the -[WKView _actionMenuItemsForHitTestResult...] method.

5:26 PM Changeset in webkit [175443] by gyuyoung.kim@samsung.com
  • 9 edits in trunk/Source

Use std::unique_ptr for TypeCountSet
​https://bugs.webkit.org/show_bug.cgi?id=138242

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::protectedObjectTypeCounts):
Use std::unique_ptr<> instead of PassOwnPtr|OwnPtr.
(JSC::Heap::objectTypeCounts): ditto.

  • heap/Heap.h:

Source/WebKit/mac:

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Use std::unique_ptr<> instead of OwnPtr.
(+[WebCoreStatistics javaScriptObjectTypeCounts]): ditto.

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::javaScriptProtectedObjectTypeCounts): Use std::unique_ptr<> instead of OwnPtr.
(WebCoreStatistics::javaScriptObjectTypeCounts): ditto.

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWebCoreStatistics): Use std::unique_ptr<> instead of OwnPtr.

5:23 PM Changeset in webkit [175442] by msaboff@apple.com
  • 2 edits in trunk/Tools

No way to specify target os or architecture when using the --no-copy option with run-jsc-stress-tests
​https://bugs.webkit.org/show_bug.cgi?id=138268

Reviewed by Andreas Kling.

Added a --arch and --os option to set or override the values that are
normally computed based on examining the JavaScriptCore we want to test.

  • Scripts/run-jsc-stress-tests:
5:12 PM Changeset in webkit [175441] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Support throttling of DOMTimers using nested setTimeout() calls
​https://bugs.webkit.org/show_bug.cgi?id=138262

Reviewed by Gavin Barraclough.

Extend DOMTimers throttling support to timers that are using nested
setTimeout() calls instead of a setInterval(). To achieve this, this
patch introduces a NestedTimersVector singleton class where nested
timers are appended, and for which we potentially update the next
firing time, after the parent timer is done executing.

I have verified this helps on cnn.com for example, which has timers
interacting with non-visible plugins that are scheduled using nested
setTimeout() calls with a frequency of 150 / 200 ms.

  • page/DOMTimer.cpp:

(WebCore::NestedTimersVector::NestedTimersVector):
(WebCore::NestedTimersVector::~NestedTimersVector):
(WebCore::NestedTimersVector::registerTimer):
(WebCore::NestedTimersVector::begin):
(WebCore::NestedTimersVector::end):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::updateThrottlingStateIfNecessary):
(WebCore::DOMTimer::fired):

  • page/DOMTimer.h:
4:58 PM Changeset in webkit [175440] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

4:46 PM Changeset in webkit [175439] by Chris Dumez
  • 4 edits
    2 adds in trunk

Move -webkit-marquee-increment property to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138208

Reviewed by Andreas Kling.

Move -webkit-marquee-increment property from DeprecatedStyleBuilder to
the new StyleBuilder so that it is generated from CSSPropertyNames.in.
Custom code is used to set the value due to the !length.isUndefined()
check before calling setMarqueeIncrement().

Test: fast/css/webkit-marquee-increment-bad-value.html

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyLength::setValue): Deleted.
(WebCore::ApplyPropertyLength::applyValue): Deleted.
(WebCore::ApplyPropertyLength::createHandler): Deleted.
(WebCore::ApplyPropertyMarqueeIncrement::applyValue): Deleted.
(WebCore::ApplyPropertyMarqueeIncrement::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyValueWebkitMarqueeIncrement):

4:38 PM Changeset in webkit [175438] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Brace cleanup in StyleResolver::adjustRenderStyle()
​https://bugs.webkit.org/show_bug.cgi?id=138267

Reviewed by Chris Dumez.

No braces for single-line clauses.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

4:37 PM Changeset in webkit [175437] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.25-branch/Source

Versioning.

4:37 PM Changeset in webkit [175436] by mitz@apple.com
  • 2 edits in trunk/Tools

llvmForJSC build emits a linker warning that it can't find usr/local/LLVMForJavaScriptCore/lib under the build directory
​https://bugs.webkit.org/show_bug.cgi?id=138259

Reviewed by Geoff Garen.

  • Scripts/copy-webkitlibraries-to-product-directory: Create this directory even if it’s

going to be empty to silence the warning.

4:25 PM Changeset in webkit [175435] by Chris Dumez
  • 8 edits in trunk/Source/WebCore

Fix several warnings reported by clang static analyzer in WebCore
​https://bugs.webkit.org/show_bug.cgi?id=138258

Reviewed by Joseph Pecoraro.

Fix several warnings reported by clang static analyzer in WebCore
related to variable unnecessary assignments and scope.

No new tests, no behavior change.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getUpperLeftCorner):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • inspector/InspectorStyleTextEditor.cpp:

(WebCore::InspectorStyleTextEditor::replaceProperty):

  • page/ContextMenuController.cpp:

(WebCore::openNewWindow):

  • page/DragController.cpp:

(WebCore::createMouseEvent):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintSelectionBackground):

4:21 PM Changeset in webkit [175434] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Whitespace cleanup in Screen.h
​https://bugs.webkit.org/show_bug.cgi?id=138265

Reviewed by Chris Dumez.

No indent for namespaces. Mark 'final'. Fix * placement.

  • page/Screen.h:

(WebCore::Screen::create):

4:14 PM Changeset in webkit [175433] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Change the ScrollingThread code to use RunLoop::main().dispatch() rather than callOnMainThread(), which has Obj-C overhead
​https://bugs.webkit.org/show_bug.cgi?id=138263

Reviewed by Geoffrey Garen.

callOnMainThread() uses -performSelector:onMainThread:withObject:waitUntilDone:, so
it's slightly more efficient to use RunLoop::main().dispatch().

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::invalidate):
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
(WebCore::ThreadedScrollingTree::handleWheelEventPhase):

4:10 PM Changeset in webkit [175432] by benjamin@webkit.org
  • 3 edits
    6 adds in trunk

Pseudo classes with an escaped parenthesis generate invalid rules
​https://bugs.webkit.org/show_bug.cgi?id=138266

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-31
Reviewed by Antti Koivisto.

Source/WebCore:

Since the functional pseudo classes are part of the list of PseudoClassAndCompatibilityElement,
they could be created by the rule

pseudo:

':' IDENT

if the parenthesis is escaped. For example, with ":not
(", the IDENT would be
"not(", CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector would
find a pseudo class type of PseudoClassNot, and the action would create an invalid
CSSSelector for a :not() without nested selector.

This patch fixes the issue by detecting the function case in
CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector().

An other solution would be to split PseudoClassAndCompatibilityElement into simple pseudo class
and functional pseudo classes. We may do that some day but at the moment it is a lot of work with
a little benefit.

Tests: fast/css/crash-on-incomplete-webkit-any.html

fast/css/pseudo-escaped-parenthesis.html
fast/selectors/invalid-functional-pseudo-class.html

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):

LayoutTests:

  • fast/selectors/invalid-functional-pseudo-class-expected.txt: Added.
  • fast/selectors/invalid-functional-pseudo-class.html: Added.

New test for all the functional pseudo classes.

  • fast/css/crash-on-incomplete-webkit-any-expected.txt: Added.
  • fast/css/crash-on-incomplete-webkit-any.html: Added.
  • fast/css/pseudo-escaped-parenthesis-expected.txt: Added.
  • fast/css/pseudo-escaped-parenthesis.html: Added.

Those tests come from blink. Rune solved the same problem a year ago on blink
in ​https://chromiumcodereview.appspot.com/23710067
The patch is quite different because blink uses an ancient code base, but the tests
can still be useful so I included them here.

4:09 PM Changeset in webkit [175431] by Lucas Forschler
  • 1 copy in tags/Safari-601.1.7

New Tag.

4:07 PM Changeset in webkit [175430] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Send origin & deletion requests to WebProcessess in additon to the DatabaseProcess.
​https://bugs.webkit.org/show_bug.cgi?id=138212

Reviewed by Brady Eidson.

Now that the WebProcess has its own WebOriginDataManager, WebOriginDataManagerProxy needs to
send its origin and deletion messages to all the WebProcesses. This necessetates synchronizing
all the various process's callbacks so that the final callback is only triggered once all the
messaged processes reply.

Add a simple class, CallbackSynchronizer, which will keep track of outstanding process callbacks
and which will trigger the final callback once all of them finish.

  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::CallbackSynchronizer::create):
(WebKit::CallbackSynchronizer::~CallbackSynchronizer):
(WebKit::CallbackSynchronizer::taskStarted):
(WebKit::CallbackSynchronizer::taskCompleted):
(WebKit::CallbackSynchronizer::CallbackSynchronizer):
(WebKit::createSynchronizedCallback):
(WebKit::sendMessageToAllProcessesInContext):
(WebKit::WebOriginDataManagerProxy::getOrigins):
(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
(WebKit::WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManagerProxy::deleteAllEntries):

Drive-by fix: check the correct enum value for WebMedia origin requests.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getOrigins):
(WebKit::WebProcess::deleteEntriesForOrigin):
(WebKit::WebProcess::deleteEntriesModifiedBetweenDates):
(WebKit::WebProcess::deleteAllEntries):

3:42 PM Changeset in webkit [175429] by dburkart@apple.com
  • 13 edits in branches/safari-600.3-branch/Source/WebKit2

Re-Merge r174369. rdar://problem/18813684

2:49 PM Changeset in webkit [175428] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r175376): Occasional null deref when doing a dictionary lookup
​https://bugs.webkit.org/show_bug.cgi?id=138261
<rdar://problem/18841709>

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
rangeForDictionaryLookupAtHitTestResult can easily return null.

2:43 PM Changeset in webkit [175427] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Make CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement() faster
​https://bugs.webkit.org/show_bug.cgi?id=138227

Reviewed by Benjamin Poulain.

Restructure CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement()
a bit to do less if checks. The previous implementation was doing 7 if
checks no matter the input value. The new implementation does less
if checks depending on the input type.

Also, the isImageControlsRootElement() was showing in the profiles so
I updated the condition to only do this virtual function call if the
input is an HTMLDivElement (which we can check more efficiently).

With the change, I see that we're spending about ~26% less time in
this method when running speedometer. However, the impact on the
overall score is within noise.

No new tests, no behavior change.

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

2:27 PM Changeset in webkit [175426] by msaboff@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Add scope operand to op_push_with_scope, op_push_name_scope and op_pop_scope
​https://bugs.webkit.org/show_bug.cgi?id=138252

Reviewed by Geoffrey Garen.

Added scope operand to op_push_with_scope, op_push_name_scope and op_pop_scope.
Although the scope register is filled in with the ScopeChain register for all
three bytecodes, this operand is not used in the processing of the bytecodes.
That will be addressed in a future patch.

  • bytecode/BytecodeList.json: Lengthened the three bytecodes.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Added code to dump the scope operand.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitPopScope):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::emitPopScopes):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::emitPushCatchScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::scopeRegister):
Added scope register to these emit functions and the bytecodes they emit.
New m_scopeRegister and accessor.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
Created a RegisterID for the ScopeChain register and used it to emit the updated
bytecodes.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_push_name_scope):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:

Updated the operand indecies for the processing of the updated bytecodes.

2:25 PM Changeset in webkit [175425] by Beth Dakin
  • 5 edits
    4 deletes in trunk/Source

Use system art for action menus when possible
​https://bugs.webkit.org/show_bug.cgi?id=138260

Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):

Source/WebKit2:

  • Resources/AddImageToPhotosTemplate.pdf: Removed.
  • Resources/CopyImageTemplate.pdf: Removed.
  • Resources/SaveImageToDownloadsTemplate.pdf: Removed.
  • Resources/ShareImageTemplate.pdf: Removed.
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createActionMenuItemForTag:]):

  • WebKit2.xcodeproj/project.pbxproj:
2:21 PM Changeset in webkit [175424] by jpfau@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, fix ASan build after r175382

  • wtf/SizeLimits.cpp:
2:14 PM Changeset in webkit [175423] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix assertion in CachedResource::addDataBuffer

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::addDataBuffer):

Don't call to base class if buffering mode changed (happens with some special top level document types).

1:52 PM Changeset in webkit [175422] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build for Yosemite systems after r175417

  • UIProcess/mac/WKActionMenuController.mm:
1:42 PM Changeset in webkit [175421] by dino@apple.com
  • 19 edits
    14 adds in trunk

Remove webkit prefix from CSS columns.
​https://bugs.webkit.org/show_bug.cgi?id=137132.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-31
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Import tests for basic multi-column properties settings. They are approved by W3C and
pass the WebKit testing. More tests need to be imported when they are approved.

  • css: Added.
  • css/multicol: Added.
  • css/multicol/multicol-basic-001-expected.html: Added.
  • css/multicol/multicol-basic-001.html: Added.
  • css/multicol/multicol-basic-002-expected.html: Added.
  • css/multicol/multicol-basic-002.html: Added.
  • css/multicol/multicol-basic-003-expected.html: Added.
  • css/multicol/multicol-basic-003.html: Added.
  • css/multicol/multicol-basic-004-expected.html: Added.
  • css/multicol/multicol-basic-004.html: Added.

Source/WebCore:

CSS columns properties are ready for un-prefixing. There are still a couple
that we haven't implemented, such as the ones starting with "break-", so we're
just going to do the ones starting with "column-". The list of column un-
prefixed properties in this change set is:

  • column-count
  • column-fill
  • column-gap
  • column-progression
  • column-rule
  • column-rule-color
  • column-rule-style
  • column-rule-width
  • column-span
  • column-width
  • columns

Tests: fast/multicol/column-box-alignment-rtl.html

fast/multicol/multicol-aliases.html
imported/w3c/css/multicol/multicol-basic-001.html
imported/w3c/css/multicol/multicol-basic-002.html
imported/w3c/css/multicol/multicol-basic-003.html
imported/w3c/css/multicol/multicol-basic-004.html

Add new un-prefixed column properties and make the -webkit* ones be aliases
to the new ones.

  • css/CSSPropertyNames.in:

Use the new enums CSSPropertyColumn* instead of the prefixed ones.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

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

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitColumnsShorthand):
(WebCore::webkitColumnRuleShorthand):
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):

  • css/StyleResolver.cpp:

(WebCore::isValidVisitedLinkProperty):
(WebCore::StyleResolver::applyProperty):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::colorIncludingFallback):

LayoutTests:

Ensure the CSS un-prefixed column properties are behaving the same way as the
prefixed ones. The CSS prefixed column properties are still supported by making
them aliases of the un-prefixed ones. Also port some of the W3C and Mozilla
tests for css column properties tests.

Change to the un-prefixed column names to be compared with the return of CSSStyleDeclaration.item().
And change the expected names to be the un-prefixed ones also.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:

Change to the un-prefixed column names and compare them with the return of object.style.cssText().

  • fast/css/remove-shorthand-expected.txt:

Test for the effect of the rtl settings on column flow; it is ported from Mozilla.

  • fast/multicol/column-box-alignment-rtl-expected.html: Added.
  • fast/multicol/column-box-alignment-rtl.html: Added.

Ensure the prefixed and the un-prefixed column properties are behaving exactly the same.

  • fast/multicol/multicol-aliases-expected.html: Added.
  • fast/multicol/multicol-aliases.html: Added.

Change to the un-prefixed column names to be compared with the return of CSSStyleDeclaration.item().

  • svg/css/getComputedStyle-basic-expected.txt:

Remove the use of the un-prefixed columns property since it seems unrelated to the test.

  • svg/custom/svg-fonts-in-html.html:
1:41 PM Changeset in webkit [175420] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

Fix the build for pre-Yosemite systems after r175417

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView initWithFrame:context:configuration:webView:]):

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

(WebKit::PageClientImpl::didPerformActionMenuHitTest):

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
1:39 PM Changeset in webkit [175419] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Rolled in r175389.

WebKit was failing to build 32bit on some Apple internal systems because
those systems were configured to build bmalloc 64-bit-only. Those systems
have been updated to build bmalloc as a universal binary, so everything
should work fine now.

The relevant setting is controlled by an environment variable on the
build system, and not by the project file in the source tree, so there's
no new code change here.

Enable bmalloc in 32bit builds
​https://bugs.webkit.org/show_bug.cgi?id=138232

Reviewed by Andreas Kling.

  • wtf/FastMalloc.cpp:
1:21 PM Changeset in webkit [175418] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove "Add to iPhoto" from the action menu's sharing menu
​https://bugs.webkit.org/show_bug.cgi?id=138251
<rdar://problem/18837197>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Retain/autorelease the new array.

1:16 PM Changeset in webkit [175417] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Remove "Add to iPhoto" from the action menu's sharing menu
​https://bugs.webkit.org/show_bug.cgi?id=138251
<rdar://problem/18837197>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Filter out "Add to iPhoto".

  • platform/spi/mac/NSSharingServiceSPI.h:

Add 'name' to the NSSharingService SPI header.

12:28 PM Changeset in webkit [175416] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Make writes to RegExpObject.lastIndex cacheable.
<​https://webkit.org/b/138255>

Reviewed by Geoffrey Garen.

We were neglecting to IC the puts to RegExpObject.lastIndex on Octane/regexp,
and ended up spending 4.5% of a time profile in operationPutByIdNonStrict.

~3% progression on Octane/regexp.

  • runtime/RegExpObject.cpp:

(JSC::regExpObjectSetLastIndexStrict):
(JSC::regExpObjectSetLastIndexNonStrict):
(JSC::RegExpObject::put):

12:11 PM Changeset in webkit [175415] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix type clash warning in supports_error rule of CSSGrammar.
​https://bugs.webkit.org/show_bug.cgi?id=138248

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-10-31
Reviewed by Antti Koivisto.

Added explicit actions to supports_error rule in CSSGrammar.y.in since
the default actions caused bison to emit type clash warnings.

No new tests because there is no behavior change.

  • css/CSSGrammar.y.in:
12:04 PM Changeset in webkit [175414] by commit-queue@webkit.org
  • 16 edits in trunk

[GTK] Support script message handlers WebKitUserContentManager
​https://bugs.webkit.org/show_bug.cgi?id=133730

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-10-31
Reviewed by Carlos Garcia Campos.

Support user script message handlers in WebKitUserContentManager.
This needs building with ENABLE_USER_MESSAGE_HANDLERS, for which
an option is added to the CMake build files. The option is disabled
globally by default, and the WebKitGTK port enables it. On the API
level, two new methods to register and unregister names are provided
in the "window.webkit" namespace, and on message reception the
"WebKitUserContentManager::script-message-received" signal is
emitted, using the registered names as signal detail.

.:

  • Source/cmake/OptionsGTK.cmake: For the GTK port, enable the

ENABLE_USER_MESSAGE_HANDLERS feature by default.

  • Source/cmake/WebKitFeatures.cmake: Add feature description for

ENABLE_USER_MESSAGE_HANDLERS, disabled by default.

Source/WebCore:

  • CMakeLists.txt: Conditionally add the needed files to the build

when the ENABLE_USER_MESSAGE_HANDLERS feature is enabled.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitJavascriptResult.cpp: Add a new private

function to construct a WebKitJavascriptResult directly from a
WebCore::SerializedScriptValue.
(_WebKitJavascriptResult::_WebKitJavascriptResult): Ditto.
(webkitJavascriptResultCreate): Ditto.

  • UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Ditto.
  • UIProcess/API/gtk/WebKitUserContentManager.cpp:

(webkit_user_content_manager_class_init): Install the
"script-message-received" signal.
(webkit_user_content_manager_register_script_message_handler):
Added.
(webkit_user_content_manager_unregister_script_message_handler):
Added.

  • UIProcess/API/gtk/WebKitUserContentManager.h: Added the new

public API methods.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Add

webkit_user_content_manager_get_type() to the list in order to make
gtk-doc to generate documentation for signals.

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

Add test case for user script message handlers.
(scriptMessageReceived):
(testUserContentManagerScriptMessageReceived):
(beforeAll):

12:02 PM Changeset in webkit [175413] by mhock@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, iOS build fix since 175406.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

11:29 AM Changeset in webkit [175412] by eric.carlson@apple.com
  • 5 edits in trunk/LayoutTests

Clean-up use of boolean attributes in media tests
​https://bugs.webkit.org/show_bug.cgi?id=138249

Reviewed by Brent Fulgham.

  • media/resources/foreignobject-media.svg: autoplay="true" => autoplay
  • media/resources/video-with-poster-as-object-fallback.html: controls="true" => controls
  • media/video-canvas-source.html: Ditto.
  • media/video-canvas.html-disabled: Ditto.
10:37 AM Changeset in webkit [175411] by Chris Dumez
  • 3 edits in trunk/Source/JavaScriptCore

Fix a couple of warnings in JSC reported by clang static analyzer
​https://bugs.webkit.org/show_bug.cgi?id=138240

Reviewed by Geoffrey Garen.

Fix a couple of warnings in JSC reported by clang static analyzer about
value stored in variables never being read. This is addressed by
reducing the scope of the variable or removing the variable entirely.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):

  • runtime/VM.cpp:

(JSC::VM::throwException):

10:13 AM Changeset in webkit [175410] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed 64-bit Build Fix.

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

export declarations.

9:23 AM WebKitGTK/2.6.x edited by kwm@freebsd.org
Add changeset and bugreport about two issues preventing 2.6 from … (diff)
8:26 AM Changeset in webkit [175409] by Lucas Forschler
  • 2 edits in trunk/Source/WTF

Unreviewed rollout r175389.

5:45 AM Changeset in webkit [175408] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

[ATK] Improve AccessibilityTableCell's determineAccessibilityRole function.
​https://bugs.webkit.org/show_bug.cgi?id=137737

Patch by Andrzej Badowski <​a.badowski@samsung.com> on 2014-10-31
Reviewed by Chris Fleizach.

Source/WebCore:

Use of new functions isRowHeaderCell and isColumnHeaderCell (bug 136818)
to more accurately determine accessibility role of the table cell.

Test: accessibility/table-cells-roles.html

  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::rowIndexRange):
Change to const.

  • accessibility/AccessibilityARIAGridCell.h:

Change rowIndexRange function to const.

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::determineAccessibilityRole):
Use of isRowHeaderCell and isColumnHeaderCell to more accurately determine accessibility role (ATK).
(WebCore::AccessibilityTableCell::isColumnHeaderCell):
Add a case of direct placement a row in the table.
(WebCore::AccessibilityTableCell::isRowHeaderCell):
Add a case of direct placement a row in the table.
(WebCore::AccessibilityTableCell::rowIndexRange):
Change to const.

  • accessibility/AccessibilityTableCell.h:

Change rowIndexRange function to const.

LayoutTests:

The new test illustrates the different cases deciding whether a table cell
is a row header or column header or just a table cell.
Files of expected type and one html type are adapted to changes in the code of several member functions
of AccessibilityTableCell, i.e determineAccessibilityRole, isColumnHeaderCell, isRowHeaderCell.

  • accessibility/table-cells-roles-expected.txt: Added.
  • accessibility/table-cells-roles.html: Added.
  • platform/efl/accessibility/table-attributes-expected.txt:
  • platform/efl/accessibility/table-cells-expected.txt:
  • platform/gtk/accessibility/table-attributes-expected.txt:
  • platform/gtk/accessibility/table-cells-expected.txt:
  • platform/gtk/accessibility/table-hierarchy-expected.txt:
  • platform/gtk/accessibility/table-hierarchy.html:
12:18 AM Changeset in webkit [175407] by roger_fong@apple.com
  • 4 edits in trunk/LayoutTests

[Windows] Additional rebaselining after r175259.

  • platform/win/css1/box_properties/padding_right-expected.txt:
  • platform/win/fast/css/last-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:

Oct 30, 2014:

9:25 PM Changeset in webkit [175406] by Darin Adler
  • 76 edits
    5 deletes in trunk/Source

Eliminate ResourceBuffer and use SharedBuffer directly instead
​https://bugs.webkit.org/show_bug.cgi?id=138174

Reviewed by Antti Koivisto.

Source/WebCore:

Refactoring, with test coverage across many existing tests.

  • CMakeLists.txt: Deleted ResourceBuffer.cpp.
  • WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol

for one function that used to take a PassRefPtr but now takes a reference instead.

  • WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h.
  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::writeImageToPasteboard): Ditto.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and
also pass a reference only if non-null rather than passing a pointer.
(WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly.
(WebCore::InspectorPageAgent::mainResourceContent): Ditto.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::didFinishLoading): Ditto.
(WebCore::InspectorResourceAgent::didFailLoading): Ditto.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly,
and use the copy function rather than a hand-written alternative.
(WebCore::DocumentLoader::maybeCreateArchive): Ditto.
(WebCore::DocumentLoader::mainResource): Ditto.
(WebCore::DocumentLoader::subresource): Ditto.
(WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto.

  • loader/DocumentLoader.h: Changed mainResourceData to return a

PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&,
but it currently returns a newly created buffer when there is substitute
data and can also return null, even though many callers assume it will not!

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::dataReceived): Removed call to unused client
function bufferReceived.
(WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer
argument to client function loadFinished.

  • loader/ResourceBuffer.cpp: Removed.
  • loader/ResourceBuffer.h: Removed.
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::resourceData): Use SharedBuffer.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer.
(WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto.

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create): Ditto.

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer.

  • loader/cache/CachedCSSStyleSheet.h: Ditto.
  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::finishLoading): Ditto.
(WebCore::CachedFont::ensureCustomFontData): Ditto.

  • loader/cache/CachedFont.h: Ditto.
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didAddClient): Use SharedBuffer.
(WebCore::CachedImage::didRemoveClient): Ditto.
(WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedImage::addDataBuffer): Ditto. Also added call through
to base class and changed to take a reference rather than a pointer.
(WebCore::CachedImage::addData): Ditto. Also added call through to base class.
(WebCore::CachedImage::finishLoading): Ditto.

  • loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields

to be unsigned instead of unsigend char.

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer.
(WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take
a reference rather than a pointer.
(WebCore::CachedRawResource::addData): Ditto.
(WebCore::CachedRawResource::finishLoading): Ditto.
(WebCore::CachedRawResource::canReuse): Ditto.

  • loader/cache/CachedRawResource.h: Ditto.
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource): Reordered data members due to change
in header.
(WebCore::CachedResource::addDataBuffer): Changed argument type.
(WebCore::CachedResource::finishLoading): Ditto.
(WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash
table lookup by using the return value from the remove function.
(WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead
of using a function named "schedule" to allocate the callback object.
(WebCore::CachedResource::Callback::Callback): Changed function and data member
name.
(WebCore::CachedResource::Callback::cancel): Ditto.
(WebCore::CachedResource::Callback::timerFired): Ditto.
(WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&.

  • loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most

data members and one function member private instead of protected. Also renamed the
CachedResource::CachedResourceCallback function CachedResource::Callback and moved
its definition out of the CachedResource class definition.

  • loader/cache/CachedResourceClient.h: Removed unneeded include.
  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer.

  • loader/cache/CachedSVGDocument.h: Ditto. Made data members private.
  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::finishLoading): Use SharedBuffer.

  • loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded

forward declaration.

  • loader/cache/CachedTextTrack.cpp:

(WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not
call addDataBuffer.
(WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData.
(WebCore::CachedTextTrack::finishLoading): Ditto.

  • loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the

destructor. Updated for above changes.

  • loader/cache/CachedXSLStyleSheet.cpp:

(WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer.

  • loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything

private rather than protected. Added an explicit virtual constructor so we can
compile without knowing how to ref/deref TextResourceDecoder.

  • loader/cf/SubresourceLoaderCF.cpp:

(WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer
and to call addDataBuffer only if there is a new data buffer.

  • loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr.
  • loader/cocoa/DiskCacheMonitorCocoa.mm:

(WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto.
(WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of
RefPtr<ResourceBuffer>.

  • loader/mac/ResourceBuffer.mm: Removed.
  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::clear): Use a modern for loop.
(WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since
this never returns null. Use modern for loops.
(WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop.

  • platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr.

Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than
a pointer.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference
instead of a pointer.

  • platform/graphics/PlatformMediaResourceLoader.h: Removed unused function

bufferReceived and unneeded buffer argument from loadFinished. Also marked the
constructor explicit.

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

Removed include of ResourceBuffer.h.

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

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use
SharedBuffer directly.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(CachedResourceStreamingClient::loadFinished): Updated for change to
PlatformMediaResourceLoaderClient.

  • platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h.
  • platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded

tryReplaceContentsWithPlatformBuffer function.

Source/WebKit/mac:

  • WebView/WebDataSource.mm:

(-[WebDataSource data]): Use SharedBuffer directly.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.

Source/WebKit/win:

  • WebDataSource.cpp:

(WebDataSource::data): Use SharedBuffer directly.
(WebDataSource::subresourceForURL): Ditto.

Source/WebKit2:

  • CMakeLists.txt: Removed WebResourceBuffer.cpp.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendBuffer): Use a reference instead of pointer.

  • NetworkProcess/NetworkResourceLoader.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.h: Ditto.
  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm:

(WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked): Ditto.

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): Ditto.

  • Shared/WebResourceBuffer.cpp: Removed.
  • Shared/WebResourceBuffer.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj: Removed WebResourceBuffer.cpp/h.
  • WebProcess/Network/NetworkProcessConnection.cpp: Removed unneeded includes.

(WebKit::NetworkProcessConnection::didCacheResource): Use a reference instead
of a pointer.

  • WebProcess/Network/WebResourceLoadScheduler.cpp: Removed unneeded include.
  • WebProcess/Network/WebResourceLoader.cpp: Ditto.
  • WebProcess/Network/WebResourceLoader.h: Ditto.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.

(WebKit::WebFrameLoaderClient::finishedLoading): Use SharedBuffer directly.

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::source): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame): Refactored to make the relationship
between the buffer and the DataReference clearer and to avoid having a long-lived
DataReference pointing to an underlying buffer with unclear lifetime.
(WebKit::WebPage::getContentsAsString): Ditto.
(WebKit::WebPage::getSelectionAsWebArchiveData): Ditto.
(WebKit::WebPage::getMainResourceDataOfFrame): Ditto. Also use SharedBuffer directly.
(WebKit::WebPage::getResourceDataFromFrame): Ditto.
(WebKit::WebPage::getWebArchiveOfFrame): Ditto.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::containingLinkElement): Use elementLineage.
(WebKit::WebPage::performActionOnElement): Use references and SharedBuffer.
ALso did a bit of other cleanup in here.
(WebKit::isAssistableElement): Take Element& instead of Node*, since that's what
the caller has.
(WebKit::nextAssistableElement): Changed name to match what the function does.
Added an obviously-missing check on the startNode argument. Updated for change
to isAssistableElement above. Take a Page& instead of a Page*.
(WebKit::hasAssistableElement): Changed name to match what the function does.
Updated for change to nextAssistableElement above. Took out incorrect comparison
of a C++ pointer to the Objective-C object pointer nil. Take a Page& instead of a Page*.
(WebKit::WebPage::focusNextAssistedNode): Updated for above changes.
(WebKit::WebPage::getAssistedNodeInformation): Updated for above changes.

7:37 PM Changeset in webkit [175405] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move border-image-source / -webkit-mask-box-image-source to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138209

Reviewed by Andreas Kling.

Move border-image-source / -webkit-mask-box-image-source CSS properties
from DeprecatedStyleBuilder to the new StyleBuilder so that they are
now generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImageSource::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImageSource::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertBorderImageSource):

7:02 PM WebKitGTK/KeepingTheTreeGreen edited by yoon@igalia.com
(diff)
6:16 PM Changeset in webkit [175404] by timothy_horton@apple.com
  • 12 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175376 and r175390. <rdar://problem/18742297>

6:03 PM Changeset in webkit [175403] by timothy_horton@apple.com
  • 10 edits in branches/safari-600.3-branch

Merge r175160. <rdar://problem/18742297>

5:40 PM Changeset in webkit [175402] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed Windows build fix after r175391.

Export a couple of symbols.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
5:26 PM Changeset in webkit [175401] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

bisect-builds should support WebKit clients other than Safari
​https://bugs.webkit.org/show_bug.cgi?id=138225

This patch adds support for bisecting WebKit nightly builds with clients other than Safari.

The -a / --application optional argument allows the user to specify which application (or application bundle)
should be run against the WebKit nightly builds.

Reviewed by David Kilzer.

  • Scripts/bisect-builds:

Swap out $safariPath for the more general $applicationPath
Leave --safari-path as a commandline option for backwards compatibility
(mountAndRunNightly):
Use File::Spec->cat correctly (one directory per argument)
Use open --wait-apps instead of running the target application directly

5:18 PM Changeset in webkit [175400] by jer.noble@apple.com
  • 14 edits in trunk/Source

[EME] Add Setting for accessing storage location for MediaKeys data
​https://bugs.webkit.org/show_bug.cgi?id=138147

Reviewed by Brady Eidson.

Source/WebCore:

Allow MediaPlayerPrivateAVFoundationObjC to query for the MediaKeys storage directory
by piping that request down from WebKit and WebKit2 into Settings.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaKeysStorageDirectory): Get the location from Settings and

append the current origin.

  • html/HTMLMediaElement.h:
  • page/Settings.h:

(WebCore::Settings::setMediaKeysStorageDirectory): Simple setter.
(WebCore::Settings::mediaKeysStorageDirectory): Simple accessor.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::mediaKeysStorageDirectory): Pass through to m_client.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerMediaKeysStorageDirectory): Default implementation.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Fetch the location from MediaPlayer.
(WebCore::sessionStorageDirectory): Deleted.

Source/WebKit/mac:

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

(+[WebPreferences initialize]): Set default location.
(-[WebPreferences mediaKeysStorageDirectory]): Simple accessor.
(-[WebPreferences setMediaKeysStorageDirectory:]): Simple setter.

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

(-[WebView _preferencesChanged:]): Pass location from WebPreferences into Settings.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Pass from WebMediaKeyStorageManager into Settings.

5:16 PM Changeset in webkit [175399] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Layout Test http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html is failing.
​https://bugs.webkit.org/show_bug.cgi?id=138072

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-10-30
Reviewed by Alexey Proskuryakov.

  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html:
4:57 PM Changeset in webkit [175398] by dburkart@apple.com
  • 2 edits in trunk/Source/WebKit2

Workaround for <rdar://problem/18830639>

Unreviewed.

4:53 PM Changeset in webkit [175397] by dburkart@apple.com
  • 50 edits in trunk

<rdar://problem/18821260> Prepare for the mysterious future

Reviewed by Lucas Forschler.

4:50 PM Changeset in webkit [175396] by saambarati1@gmail.com
  • 6 edits in trunk/Source/JavaScriptCore

AST Nodes should keep track of their end offset
​https://bugs.webkit.org/show_bug.cgi?id=138143

Reviewed by Filip Pizlo.

AST nodes nodes now have an int property for their end text
offsets. This change lays some foundational work that will be
needed in profiling which basic blocks have executed.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::setEndOffset):

  • parser/Nodes.h:

(JSC::Node::endOffset):
(JSC::Node::setEndOffset):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseExpression):
(JSC::Parser<LexerType>::parseProperty):

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

4:26 PM Changeset in webkit [175395] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Short-circuit repaints with empty rects
​https://bugs.webkit.org/show_bug.cgi?id=138234

Reviewed by Zalan Bujtas.

Repaints with an empty rectangle are common enough that it's worth
short-circuiting them.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintUsingContainer):

4:24 PM Changeset in webkit [175394] by roger_fong@apple.com
  • 2 edits
    1 add in trunk/LayoutTests

[Windows] More text rebaselining.

  • platform/win/TestExpectations:
  • platform/win/fast/text/tatechuyoko-expected.txt: Added.
4:18 PM Changeset in webkit [175393] by adachan@apple.com
  • 2 edits in trunk/Source/WebKit

Attempt to fix the Windows build after r175384.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
4:10 PM Changeset in webkit [175392] by roger_fong@apple.com
  • 15 edits
    1 add in trunk/LayoutTests

[Windows] Text rebaselining after r175384.

  • platform/win/css1/box_properties/margin_right-expected.txt:
  • platform/win/css1/box_properties/padding-expected.txt:
  • platform/win/css1/box_properties/padding_left-expected.txt:
  • platform/win/css1/box_properties/padding_right-expected.txt:
  • platform/win/css1/box_properties/padding_top-expected.txt:
  • platform/win/css1/font_properties/font-expected.txt:
  • platform/win/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/win/css1/text_properties/text_transform-expected.txt:
  • platform/win/fast/css/empty-pseudo-class-expected.txt:
  • platform/win/fast/css/first-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:
  • platform/win/fast/dom/HTMLProgressElement/progress-element-expected.txt: Added.
  • platform/win/fast/forms/targeted-frame-submission-expected.txt:
  • platform/win/fast/table/append-cells2-expected.txt:
  • platform/win/tables/mozilla/bugs/45621-expected.txt:
4:08 PM Changeset in webkit [175391] by Chris Dumez
  • 21 edits in trunk/Source/WebCore

Clean up virtual functions in css/
​https://bugs.webkit.org/show_bug.cgi?id=138230

Reviewed by Benjamin Poulain.

Clean up virtual functions in css/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Using 'override' when appropriate
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks

No new tests, no behavior change.

  • WebCore.exp.in:
  • css/CSSBasicShapes.h:
  • css/CSSCharsetRule.h:
  • css/CSSComputedStyleDeclaration.h:
  • css/CSSCrossfadeValue.h:
  • css/CSSFilterImageValue.h:
  • css/CSSFontFaceLoadEvent.h:
  • css/CSSFontFaceRule.h:
  • css/CSSFontFaceSource.h:
  • css/CSSImportRule.h:
  • css/CSSMediaRule.h:
  • css/CSSPageRule.h:
  • css/CSSRuleList.h:

(WebCore::StaticCSSRuleList::ref): Deleted.
(WebCore::StaticCSSRuleList::styleSheet): Deleted.
(WebCore::StaticCSSRuleList::length): Deleted.
(WebCore::StaticCSSRuleList::item): Deleted.
(WebCore::LiveCSSRuleList::ref): Deleted.
(WebCore::LiveCSSRuleList::deref): Deleted.
(WebCore::LiveCSSRuleList::length): Deleted.
(WebCore::LiveCSSRuleList::item): Deleted.
(WebCore::LiveCSSRuleList::styleSheet): Deleted.

  • css/CSSStyleRule.h:
  • css/CSSSupportsRule.h:
  • css/CSSUnknownRule.h:
  • css/FontLoader.h:
  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::parentElement):

  • css/WebKitCSSKeyframeRule.h:
  • css/WebKitCSSViewportRule.h:
4:03 PM Changeset in webkit [175390] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the iOS build.

  • WebProcess/WebPage/WebPage.messages.in:
3:44 PM Changeset in webkit [175389] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Enable bmalloc in 32bit builds
​https://bugs.webkit.org/show_bug.cgi?id=138232

Reviewed by Andreas Kling.

Seems to work fine.

  • wtf/FastMalloc.cpp:
3:37 PM Changeset in webkit [175388] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Long spins under rangeExpandedAroundPosition on Yahoo Mail
​https://bugs.webkit.org/show_bug.cgi?id=138223
<rdar://problem/18819547>

Reviewed by Enrica Casucci.

  • WebCore.exp.in:

Export some things.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeExpandedAroundPositionByCharacters):
Reimplement rangeExpandedAroundPosition to operate on characters instead of lines,
and to use Position. Moving VisiblePositions by line can be very expensive in some cases,
and for generating lookup/Data Detectors context, we don't care about that kind of precision.
This makes this function ~1000x faster when it hits on a row in the Yahoo Mail message list.

(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::scanForDataDetectedItems):
Adopt the new rangeExpandedAroundPositionByCharacters, expanding 250 characters
before and after, which roughly matches what we were usually getting going by line,
and is a reasonable amount of context for these operations.

3:33 PM Changeset in webkit [175387] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.25.2

New tag.

3:30 PM Changeset in webkit [175386] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.25-branch/Source/WebCore

Merged r175347. rdar://problem/18786900

3:09 PM Changeset in webkit [175385] by commit-queue@webkit.org
  • 25 edits
    3 copies
    7 adds in trunk/Source/JavaScriptCore

Web Inspector: Generate ObjC inspector protocol types and alternate dispatcher interfaces
​https://bugs.webkit.org/show_bug.cgi?id=138048

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-30
Reviewed by Brian Burg.

Generate Objective-C interfaces for inspector protocol types, command, and event dispatchers.
This is very much like the InspectorProtocolTypes, BackendDispatchers, and FrontendDispatchers,
but with an ObjC spin on things.

The private API that clients would use is all encapsulated in RWIProtocol.h. It includes the
types interfaces, command handler protocol, and event dispatcher interface. Where possible the
API uses real enums, which hides the raw protocol enum strings from clients.

Inspector protocol types are, like InspectorProtocolObjects, built on top of an InspectorObject.
This offers the flexibilty of adding arbitrary key/values using the RWIProtocolJSONObject
interface, which may be required for certain protocol objects like "Network.Headers" which
have no fields, but expect arbitrary properties to be added.

Command handler protocols always have two callbacks. An error callback and a success callback.
The signature is very much like BackendDispatchers. In parameters are passed directly to
the selectors, and out parameters are defined by the success callback. It will be the client's
responsibility to call either of these callbacks to complete handling of a request.

Event dispatcher interfaces are straight forward, just packaging up the arguments and sending
the message to the frontend.

ObjC <-> Protocol conversion happens in each of the generated files. In type getters / setters,
in commands parameters and event parameters. For this to work we generate conversion helpers
for all enums, ObjC enum <-> protocol strings. For NSArray <-> InspectorArray there are some
static helpers to do the conversions. We do lose some type safety in these conversions.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py:

(AlternateBackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.AlternateInspector):
(BackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):
(BackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator._generate_handler_class_destructor_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):

  • inspector/scripts/codegen/generate_objective_c.py: Added.

(join_type_and_name):
(strip_comment_markers):
(remove_duplicate_from_str):
(ObjCTypeCategory):
(ObjCTypeCategory.category_of_type):
(ObjCGenerator):
(ObjCGenerator.identifier_to_objc_identifier):
(ObjCGenerator.objc_identifier_to_identifier):
(ObjCGenerator.should_generate_domain_types_filter):
(ObjCGenerator.should_generate_domain_types_filter.should_generate_domain_types):
(ObjCGenerator.should_generate_domain_command_handler_filter):
(ObjCGenerator.should_generate_domain_command_handler_filter.should_generate_domain_command_handler):
(ObjCGenerator.should_generate_domain_event_dispatcher_filter):
(ObjCGenerator.should_generate_domain_event_dispatcher_filter.should_generate_domain_event_dispatcher):
(ObjCGenerator.objc_name_for_type):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_declaration):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_member):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_parameter):
(ObjCGenerator.objc_enum_name_for_non_anonymous_enum):
(ObjCGenerator.variable_name_prefix_for_domain):
(ObjCGenerator.objc_accessor_type_for_raw_name):
(ObjCGenerator.objc_type_for_raw_name):
(ObjCGenerator.objc_class_for_raw_name):
(ObjCGenerator.protocol_type_for_raw_name):
(ObjCGenerator.protocol_type_for_type):
(ObjCGenerator.objc_class_for_type):
(ObjCGenerator.objc_accessor_type_for_member):
(ObjCGenerator.objc_accessor_type_for_member_internal):
(ObjCGenerator.objc_type_for_member):
(ObjCGenerator.objc_type_for_member_internal):
(ObjCGenerator.objc_type_for_param):
(ObjCGenerator.objc_type_for_param_internal):
(ObjCGenerator.objc_protocol_export_expression_for_variable):
(ObjCGenerator.objc_protocol_import_expression_for_member):
(ObjCGenerator.objc_protocol_import_expression_for_parameter):
(ObjCGenerator.objc_protocol_import_expression_for_variable):
(ObjCGenerator.objc_to_protocol_expression_for_member):
(ObjCGenerator.protocol_to_objc_expression_for_member):
(ObjCGenerator.objc_setter_method_for_member):
(ObjCGenerator.objc_setter_method_for_member_internal):
(ObjCGenerator.objc_getter_method_for_member):
(ObjCGenerator.objc_getter_method_for_member_internal):

  • inspector/scripts/codegen/generate_objective_c_backend_dispatcher_header.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py.

(ObjectiveCBackendDispatcherHeaderGenerator):
(ObjectiveCBackendDispatcherHeaderGenerator.output_filename):
(ObjectiveCBackendDispatcherHeaderGenerator.domains_to_generate):
(ObjectiveCBackendDispatcherHeaderGenerator.generate_output):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations_for_domains):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_handler_declarations_for_domain):
(ObjectiveCBackendDispatcherHeaderGenerator._generate_objc_handler_declaration_for_command):

  • inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py: Added.

(ObjectiveCConfigurationImplementationGenerator):
(ObjectiveCConfigurationImplementationGenerator.init):
(ObjectiveCConfigurationImplementationGenerator.output_filename):
(ObjectiveCConfigurationImplementationGenerator.domains_to_generate):
(ObjectiveCConfigurationImplementationGenerator.generate_output):
(ObjectiveCConfigurationImplementationGenerator._generate_handler_implementation_for_domain):
(ObjectiveCConfigurationImplementationGenerator._generate_handler_implementation_for_command):
(ObjectiveCConfigurationImplementationGenerator._generate_success_block_for_command):
(ObjectiveCConfigurationImplementationGenerator._generate_conversions_for_command):
(ObjectiveCConfigurationImplementationGenerator._generate_invocation_for_command):

  • inspector/scripts/codegen/generate_objective_c_configuration_header.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py.

(ObjectiveCConfigurationHeaderGenerator):
(ObjectiveCConfigurationHeaderGenerator.output_filename):
(ObjectiveCConfigurationHeaderGenerator.generate_output):
(ObjectiveCConfigurationHeaderGenerator._generate_configuration_interface_for_domains):
(ObjectiveCConfigurationHeaderGenerator._generate_properties_for_domain):

  • inspector/scripts/codegen/generate_objective_c_configuration_implementation.py: Added.

(ObjectiveCBackendDispatcherImplementationGenerator):
(ObjectiveCBackendDispatcherImplementationGenerator.init):
(ObjectiveCBackendDispatcherImplementationGenerator.output_filename):
(ObjectiveCBackendDispatcherImplementationGenerator.generate_output):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_configuration_implementation_for_domains):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_ivars):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_dealloc):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_handler_setter_for_domain):
(ObjectiveCBackendDispatcherImplementationGenerator._generate_event_dispatcher_getter_for_domain):

  • inspector/scripts/codegen/generate_objective_c_conversion_helpers.py: Added.

(add_whitespace_separator):
(ObjectiveCConversionHelpersGenerator):
(ObjectiveCConversionHelpersGenerator.init):
(ObjectiveCConversionHelpersGenerator.output_filename):
(ObjectiveCConversionHelpersGenerator.domains_to_generate):
(ObjectiveCConversionHelpersGenerator.generate_output):
(ObjectiveCConversionHelpersGenerator._generate_enum_conversion_functions):
(ObjectiveCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_declaration):
(ObjectiveCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_member):
(ObjectiveCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_parameter):
(ObjectiveCConversionHelpersGenerator._generate_enum_objc_to_protocol_string):
(ObjectiveCConversionHelpersGenerator._generate_enum_from_protocol_string):

  • inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py: Added.

(ObjectiveCFrontendDispatcherImplementationGenerator):
(ObjectiveCFrontendDispatcherImplementationGenerator.init):
(ObjectiveCFrontendDispatcherImplementationGenerator.output_filename):
(ObjectiveCFrontendDispatcherImplementationGenerator.domains_to_generate):
(ObjectiveCFrontendDispatcherImplementationGenerator.generate_output):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event_signature):
(ObjectiveCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):

  • inspector/scripts/codegen/generate_objective_c_header.py: Added.

(add_whitespace_separator):
(ObjectiveCHeaderGenerator):
(ObjectiveCHeaderGenerator.init):
(ObjectiveCHeaderGenerator.output_filename):
(ObjectiveCHeaderGenerator.generate_output):
(ObjectiveCHeaderGenerator._generate_forward_declarations):
(ObjectiveCHeaderGenerator._generate_enums):
(ObjectiveCHeaderGenerator._generate_types):
(ObjectiveCHeaderGenerator._generate_anonymous_enum_for_declaration):
(ObjectiveCHeaderGenerator._generate_anonymous_enum_for_member):
(ObjectiveCHeaderGenerator._generate_anonymous_enum_for_parameter):
(ObjectiveCHeaderGenerator._generate_enum):
(ObjectiveCHeaderGenerator._generate_enum.NS_ENUM):
(ObjectiveCHeaderGenerator._generate_type_interface):
(ObjectiveCHeaderGenerator._generate_init_method_for_required_members):
(ObjectiveCHeaderGenerator._generate_member_property):
(ObjectiveCHeaderGenerator._generate_command_protocols):
(ObjectiveCHeaderGenerator._generate_single_command_protocol):
(ObjectiveCHeaderGenerator._callback_block_for_command):
(ObjectiveCHeaderGenerator._generate_event_interfaces):
(ObjectiveCHeaderGenerator._generate_single_event_interface):

  • inspector/scripts/codegen/generate_objective_c_internal_header.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py.

(ObjectiveCTypesInternalHeaderGenerator):
(ObjectiveCTypesInternalHeaderGenerator.output_filename):
(ObjectiveCTypesInternalHeaderGenerator.generate_output):
(ObjectiveCTypesInternalHeaderGenerator._generate_event_dispatcher_private_interfaces):

  • inspector/scripts/codegen/generate_objective_c_types_implementation.py: Added.

(add_whitespace_separator):
(ObjectiveCTypesImplementationGenerator):
(ObjectiveCTypesImplementationGenerator.init):
(ObjectiveCTypesImplementationGenerator.output_filename):
(ObjectiveCTypesImplementationGenerator.domains_to_generate):
(ObjectiveCTypesImplementationGenerator.generate_output):
(ObjectiveCTypesImplementationGenerator.generate_type_implementations):
(ObjectiveCTypesImplementationGenerator.generate_type_implementation):
(ObjectiveCTypesImplementationGenerator._generate_init_method_for_required_members):
(ObjectiveCTypesImplementationGenerator._generate_setter_for_member):
(ObjectiveCTypesImplementationGenerator._generate_getter_for_member):

  • inspector/scripts/codegen/generate_protocol_types_header.py:

(ProtocolTypesHeaderGenerator._generate_forward_declarations):
(_generate_typedefs_for_domain):
(_generate_builders_for_domain):

  • inspector/scripts/codegen/generator.py:

(Generator.wrap_with_guard_for_domain):
(Generator):
(Generator.wrap_with_guard):

  • inspector/scripts/codegen/generator_templates.py:

(AlternateInspector):
(ObjCInspector):

  • inspector/scripts/codegen/models.py:

(Framework.fromString):
(Frameworks):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

(generate_from_specification):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
3:06 PM Changeset in webkit [175384] by adachan@apple.com
  • 12 edits
    2 adds in trunk

The Page's muted setting should not affect the HTMLMediaElement's 'muted' IDL attribute.
​https://bugs.webkit.org/show_bug.cgi?id=138215

Reviewed by Eric Carlson.

Source/WebCore:

Add m_muted in Page to keep track of the Page's muted state. Change AudioProducer::setMuted()
to pageMutedStateDidChange(). When that method is called, the AudioProducer is supposed to
update its muted state again taking the Page's muted state into account.

Add HTMLMediaElement::effectiveMuted(), which returns the effective muted state of the
HTMLMediaElement, taking the Page's muted state into account.

Test: media/video-muted-after-setting-page-muted-state.html

  • dom/Document.cpp:

(WebCore::Document::pageMutedStateDidChange):
(WebCore::Document::setMuted): Deleted.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setMuted):
Set the MediaPlayer's muted state to the result of effectiveMuted() rather than m_muted.
(WebCore::HTMLMediaElement::updateVolume):
Ditto, and also make sure the MediaController's muted state does not override the Page's
muted state.
(WebCore::HTMLMediaElement::updatePlayState):
Set the MediaPlayer's muted state to the result of effectiveMuted() rather than muted().
(WebCore::HTMLMediaElement::pageMutedStateDidChange):
Call updateVolume(), which will update the MediaPlayer's muted state.
(WebCore::HTMLMediaElement::effectiveMuted):
Figure out the muted value taking Page's muted state into account.

  • html/HTMLMediaElement.h:
  • page/AudioProducer.h:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setMuted):
Update m_muted, and only iterate through the frames' documents to call pageMutedStateDidChange()
if m_muted changes.

  • page/Page.h:

(WebCore::Page::isMuted):

  • testing/Internals.cpp:

(WebCore::Internals::setPageMuted):
Expose a way to set the Page's muted state in Internals for testing.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • media/video-muted-after-setting-page-muted-state-expected.txt: Added.
  • media/video-muted-after-setting-page-muted-state.html: Added.
2:39 PM Changeset in webkit [175383] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Use references in calculateMinimumPageHeight() for non-optional arguments
​https://bugs.webkit.org/show_bug.cgi?id=138231

Reviewed by Dean Jackson.

No new tests because there is no behavior change.

  • rendering/RenderBlockFlow.cpp:

(WebCore::calculateMinimumPageHeight):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

2:35 PM Changeset in webkit [175382] by jpfau@apple.com
  • 2 edits in trunk/Source/WTF

ASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
​https://bugs.webkit.org/show_bug.cgi?id=138141

Reviewed by Alexey Proskuryakov.

  • wtf/RefCounted.h:

(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::relaxAdoptionRequirement):
(WTF::RefCountedBase::derefBase):
(WTF::adopted):

2:30 PM Changeset in webkit [175381] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move -webkit-border-image / -webkit-mask-box-image to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138207

Reviewed by Andreas Kling.

Move -webkit-border-image / -webkit-mask-box-image CSS properties to
the new StyleBuilder so that they are now generated from
CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImage::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImage::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertBorderImage):
(WebCore::StyleBuilderConverter::convertBorderMask):

2:25 PM Changeset in webkit [175380] by Chris Dumez
  • 9 edits in trunk/Source/WebCore

Optimize HTMLVideoElement / HTMLAudioElement type checks a bit
​https://bugs.webkit.org/show_bug.cgi?id=138202

Reviewed by Benjamin Poulain.

Optimize HTMLVideoElement / HTMLAudioElement type checks a bit by:

  1. Using is<HTMLMediaElement>() instead of
(is<HTMLVideoElement>()
is<HTMLAudioElement>()) if the caller is

interested in both video and audio elements. This is faster because
it ends up doing:

  • virtual call to Element::isMediaElement()

instead of

  • Node::isHTMLElement() + virtual call to HTMLElement::isHTMLUnknownElement() + 2 * HTMLElement::hasTagName()
  1. Updating HTMLVideoElement / HTMLAudioElement type traits specializations to:
    • Avoid doing any virtual function call if the input type is an HTMLMediaElement (which is common in the code base).
    • Speed up check if the input is an Element by doing:
      • virtual call to Element::isMediaElement() + HTMLElement::hasTagName()
      instead of
      • Node::isHTMLElement() + virtual call to !HTMLElement::isHTMLUnknownElement() + HTMLElement::hasTagName()
      The speed stays the same if the input is a Node or an HTMLElement.

No new tests, no behavior change.

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

  • dom/make_names.pl:

(defaultTagPropertyHash):
(printTypeHelpers):

  • html/HTMLAudioElement.h:

(isType):

  • html/HTMLImageLoader.cpp:
  • html/HTMLTagNames.in:
  • html/HTMLVideoElement.h:

(isType):

  • page/ChromeClient.h:
2:17 PM Changeset in webkit [175379] by mmaxfield@apple.com
  • 3 edits
    1 add in trunk/Source/WebCore

Migrate ComplexTextControllerCoreText to use SPI instead of WKSI
​https://bugs.webkit.org/show_bug.cgi?id=138228

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/spi/cocoa/CoreTextSPI.h: Added.
2:00 PM Changeset in webkit [175378] by beidson@apple.com
  • 4 edits
    2 adds in trunk

IndexedDB is deleting data when a PK is shared amongst two objectStores
rdar://problem/18479306 and ​https://bugs.webkit.org/show_bug.cgi?id=137154

Reviewed by Jer Noble.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::v1RecordsTableSchema): Store away the v1 schema for introspection into the database.
(WebKit::v2RecordsTableSchema): Add utility methods to get the v2 schema with different Table names.
(WebKit::createOrMigrateRecordsTableIfNecessary): Check to see if the Records table exists with

the correct schema. If it is the v1 schema, then migrate the data to a new v2 table, drop the v1
table, then slide the new table into place.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::ensureValidRecordsTable): Make sure the Records table

exists and is v2, and then make sure the uniqueness index exists.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Don’t bother creating

the Records table here as it will have already been established earlier.

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

LayoutTests:

  • storage/indexeddb/primary-key-unique-to-objectstore-expected.txt: Added.
  • storage/indexeddb/primary-key-unique-to-objectstore.html: Added.
1:57 PM Changeset in webkit [175377] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

Update safariVersion to safariVersionString
​https://bugs.webkit.org/show_bug.cgi?id=138193

The preceding change updated safariVersion to safariVersionString for the "4 Public Beta" check in OS X 10.5.x,
but it should have also been done for the "4 Public Beta" check in OS X 10.4.x.

Rubber-stamped by David Kilzer.

  • Scripts/bisect-builds:

(makeNightlyList):
Compare safariVersionString to a string literal, instead of safariVersion.

12:38 PM Changeset in webkit [175376] by Beth Dakin
  • 12 edits in trunk/Source/WebKit2

Implement action menus for text
​https://bugs.webkit.org/show_bug.cgi?id=138220
-and corresponding-
rdar://problem/18742297

Reviewed by Tim Horton.

Two new types of actions for the two text actions.

  • Shared/API/c/WKActionMenuItemTypes.h:

One new type of menu.

  • Shared/API/c/WKActionMenuTypes.h:

Pass willOpenMenu on to the WKActionMenuController.

  • UIProcess/API/mac/WKView.mm:

(-[WKView willOpenMenu:withEvent:]):

Two new WebPageProxy functions that will pass messages along to the web process.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::selectLookupTextAtLocation):

  • UIProcess/WebPageProxy.h:

At willOpenMenu time, text menus should select text so that it is clear what the
menu actions will apply to.

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

Menu items for text menus.
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController _defaultMenuItemsForText]):
(-[WKActionMenuController _copyText:]):
(-[WKActionMenuController _lookupText:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(imageForResource:name::if):

New messages to the web process.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::performDictionaryLookupOfCurrentSelection):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Re-factor performDictionaryLookupAtLocation() to re-use the code that finds the
Range for the dictionary lookup. That code now lives in
rangeForDictionaryLookupAtHitTestResult() and can be used by
performDictionaryLookupAtLocation() and our new function
selectLookupTextAtLocation().

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::rangeForDictionaryLookupAtHitTestResult):
(WebKit::WebPage::performDictionaryLookupAtLocation):

Since the action menu text is always selected, when the lookup action is chosen,
we can just lookup the current selection.
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection):

Uses the new function rangeForDictionaryLookupAtHitTestResult() to get a lookup
range and then select it.
(WebKit::WebPage::selectLookupTextAtLocation):

12:04 PM Changeset in webkit [175375] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Add diagnostic logging to track page loads.
​https://bugs.webkit.org/show_bug.cgi?id=138205
<rdar://problem/18173017>

Reviewed by Jer Noble.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Log page load success or failure.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::pageLoadedKey): New.

  • page/DiagnosticLoggingKeys.h:
11:48 AM Changeset in webkit [175374] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

When a client certificate is rejected, Safari says the website didn’t accept the certificate “unknown” instead of naming the certificate
​https://bugs.webkit.org/show_bug.cgi?id=138216

Reviewed by Alexey Proskuryakov.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::typeFromCFTypeRef): Remove no-longer-necessary platform guards around SecIdentityRef.
(IPC::encode): Ditto.
(IPC::decode): Ditto.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceError>::encodePlatformData): If NSErrorClientCertificateChainKey
is present in the error’s userInfo dictionary, assert that it’s an array of identities and
certificates, and include it in the filtered dictionary.

10:39 AM Changeset in webkit [175373] by jer.noble@apple.com
  • 2 edits
    2 copies
    3 adds in trunk/LayoutTests

Unreviewed gardening; rebaseline two media/ tests.

  • platform/mac-mavericks/media/controls-after-reload-expected.txt: Added.
  • platform/mac-mavericks/media/controls-styling-expected.txt:
  • platform/mac-mountainlion/media/controls-after-reload-expected.txt: Added.
  • platform/mac-mountainlion/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac-mavericks/media/controls-styling-expected.txt.
  • platform/mac-wk1/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac-mavericks/media/controls-styling-expected.txt.
9:01 AM Changeset in webkit [175372] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed assertion fix.

RegExpCachedResult::m_reified is now the dedicated member that knows whether
the result was reified into an array or not. Check that instead of m_result
which is now single-purpose.

  • runtime/RegExpCachedResult.cpp:

(JSC::RegExpCachedResult::setInput):

6:45 AM Changeset in webkit [175371] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser : Add window fullscreen support for Minibrowser
​https://bugs.webkit.org/show_bug.cgi?id=137775

Patch by Rohit Kumar <​kumar.rohit@samsung.com> on 2014-10-30
Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserWindow.c:

(toggleFullScreen): Callback to toggle window fullscreen on pressing F11 key.
(browser_window_init):

3:07 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
1:53 AM Changeset in webkit [175370] by Philippe Normand
  • 6 edits in trunk/Source/WebCore

[GStreamer] Video resolution changes trigger a crash in the TextureMapper
​https://bugs.webkit.org/show_bug.cgi?id=137065

Reviewed by Gustavo Noronha Silva.

Switch to GstSample for buffer+caps communication between the
video sink and the player. Using a single object type for this
avoid issues where the caps might not correctly describe the
buffer contents anymore, for example when the video resolution is
changed.

  • platform/graphics/gstreamer/ImageGStreamer.h: Use GstSample

instead of GstBuffer+GstCaps.
(WebCore::ImageGStreamer::createImage):

  • platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.

(ImageGStreamer::ImageGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::mediaPlayerPrivateRepaintCallback): The repaint signal
now uses a GstSample instead of a GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
Store the current sample instead of a buffer. Also renamed the
mutex protecting access to the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize): Return
early if no sample is available. The caps used to get the video
size are store in the sample.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Use
GstSample instead of GstBuffer.
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): Ditto.
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Now store a

GstSample internally. Also removed the now useless current-caps property.
(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Renamed the
mutex protecting access to the sample.
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Ditto.
(webkit_video_sink_init): Disable last-sample in basesink since we
already store one in our sink anyway.
(webkitVideoSinkTimeoutCallback): Switch to GstSample.
(webkitVideoSinkRender): Ditto.
(unlockSampleMutex): Ditto.
(webkitVideoSinkUnlock): Ditto.
(webkitVideoSinkUnlockStop): Ditto.
(webkitVideoSinkStop): Ditto!
(webkitVideoSinkStart): Ditto.
(webkit_video_sink_class_init): Drop current-caps property.
(webkitVideoSinkGetProperty): Deleted.
(unlockBufferMutex): Deleted.

1:02 AM Changeset in webkit [175369] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

FormDataBuilder should not use Document
​https://bugs.webkit.org/show_bug.cgi?id=138172

Reviewed by Alexey Proskuryakov.

It's only used by encodingFromAcceptCharset() to fallback to
document input encoding. That method is only used by
FormSubmission::create(), so it could be moved as a static
function to FormSubmission.cpp.

  • loader/FormSubmission.cpp:

(WebCore::encodingFromAcceptCharset):
(WebCore::FormSubmission::create):

  • platform/network/FormDataBuilder.cpp:

(WebCore::FormDataBuilder::encodingFromAcceptCharset): Deleted.

  • platform/network/FormDataBuilder.h:
12:37 AM Changeset in webkit [175368] by bshafiei@apple.com
  • 3 edits
    2 copies in tags/Safari-601.1.6

Merged r175312. rdar://problem/18808163

Oct 29, 2014:

10:02 PM Changeset in webkit [175367] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

CommitQueue and EWS should reject any patches that result in consistent test
failures that aren't present on the tree.
​https://bugs.webkit.org/show_bug.cgi?id=138184

Patch by Jake Nielsen <​jacob_nielsen@apple.com> on 2014-10-29
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/layout_tests/models/test_results.py:

Adds a simple hashing function to allow for set operations to handle
TestResult objects properly.
(TestResult.hash):

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Adds one unit test, and modifies others to agree with the notion that
patches that introduce new test failures (but also have flakyness)
should be rejected rather than spin.
(MockCommitQueue.report_flaky_tests):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_double_flaky_test_failure):
(test_two_flaky_tests):
(test_very_flaky_patch):
(test_very_flaky_patch_with_some_tree_redness):
(test_different_test_failures):
(test_different_test_failures_with_some_tree_redness):
(test_different_test_failures_with_some_tree_redness_and_some_fixes):
(test_mildly_flaky_patch):
(test_mildly_flaky_patch_with_some_tree_redness):

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Makes PatchAnalysisTask reject said patches.
(PatchAnalysisTask._test_patch):

9:53 PM Changeset in webkit [175366] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

WinCairoRequirements.zip cannot be downloaded from dropbox
​https://bugs.webkit.org/show_bug.cgi?id=138113

Patch by Youenn Fablet <​youenn.fablet@crf.canon.fr> on 2014-10-29
Reviewed by Alexey Proskuryakov.

  • Scripts/update-webkit-dependency: Removing --sslv3 option from curl
8:54 PM Changeset in webkit [175365] by akling@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Use plain JSArray for RegExp matches instead of a lazily populated custom object.
<​https://webkit.org/b/138191>

Reviewed by Geoffrey Garen.

We're already offering two RegExp matching APIs, one that collects subpattern
matches (exec), and one that simply tests for a match (test).
Given that, it was pretty overkill to lazily populate the resulting array of
matches, since the user could simply use test() if they didn't need them.

This allows the JIT to generate better code for RegExp match arrays, and also
enables some fast paths in the JSC runtime that check if an object isJSArray().

Looks like ~1.5% improvement on Octane/regexp according to run-jsc-benchmarks.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):

  • runtime/JSArray.h:

(JSC::createArrayButterflyWithExactLength): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/RegExpCachedResult.cpp:

(JSC::RegExpCachedResult::visitChildren):
(JSC::RegExpCachedResult::lastResult):
(JSC::RegExpCachedResult::leftContext):
(JSC::RegExpCachedResult::rightContext):

  • runtime/RegExpCachedResult.h:

(JSC::RegExpCachedResult::RegExpCachedResult):
(JSC::RegExpCachedResult::record):
(JSC::RegExpCachedResult::input):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::getBackref):
(JSC::RegExpConstructor::getLastParen):
(JSC::RegExpConstructor::getLeftContext):
(JSC::RegExpConstructor::getRightContext):

  • runtime/RegExpMatchesArray.cpp:

(JSC::createRegExpMatchesArray):
(JSC::RegExpMatchesArray::RegExpMatchesArray): Deleted.
(JSC::RegExpMatchesArray::create): Deleted.
(JSC::RegExpMatchesArray::finishCreation): Deleted.
(JSC::RegExpMatchesArray::visitChildren): Deleted.
(JSC::RegExpMatchesArray::reifyAllProperties): Deleted.
(JSC::RegExpMatchesArray::reifyMatchProperty): Deleted.
(JSC::RegExpMatchesArray::leftContext): Deleted.
(JSC::RegExpMatchesArray::rightContext): Deleted.

  • runtime/RegExpMatchesArray.h:

(JSC::RegExpMatchesArray::createStructure): Deleted.
(JSC::RegExpMatchesArray::reifyAllPropertiesIfNecessary): Deleted.
(JSC::RegExpMatchesArray::reifyMatchPropertyIfNecessary): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlot): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertySlotByIndex): Deleted.
(JSC::RegExpMatchesArray::put): Deleted.
(JSC::RegExpMatchesArray::putByIndex): Deleted.
(JSC::RegExpMatchesArray::deleteProperty): Deleted.
(JSC::RegExpMatchesArray::deletePropertyByIndex): Deleted.
(JSC::RegExpMatchesArray::getOwnPropertyNames): Deleted.
(JSC::RegExpMatchesArray::defineOwnProperty): Deleted.
(JSC::isRegExpMatchesArray): Deleted.

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::exec):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncMatch):

8:36 PM Changeset in webkit [175364] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Bump versioning.

8:27 PM Changeset in webkit [175363] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
​https://bugs.webkit.org/show_bug.cgi?id=138054.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-29
Reviewed by Zalan Bujtas.

Source/WebCore:

A Length of type 'Calculated' can be generated from blending two lengths of
different types. Setting the wordSpacing of the render style should be handled
correctly when the type of the new value is 'Calculated'.

Tests: css3/calculated-word-spacing.html.

Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

Ensure the render style's wordSpacing can be set correctly when the type of
the new value is 'Calculated'. The 'Calculated' Length value can result from
blending two Length values of different types. And these two Length values
are defined in two consecutive css animation key frames.

  • css3/calculated-word-spacing-expected.txt: Added.
  • css3/calculated-word-spacing.html: Added.
7:29 PM Changeset in webkit [175362] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Fix Type Dependency Issues
​https://bugs.webkit.org/show_bug.cgi?id=125664

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-29
Reviewed by Brian Burg.

Now that all JSON protocol files are processed together again
in r174892, we can remove the duplicated types which were only
needed when the domains were split.

  • inspector/protocol/Console.json:
  • inspector/protocol/Runtime.json:
6:18 PM Changeset in webkit [175361] by commit-queue@webkit.org
  • 9 edits in trunk/Source

[CoordinatedGraphics] Use modern for-loops
​https://bugs.webkit.org/show_bug.cgi?id=138168

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-10-29
Reviewed by Andreas Kling.

No new tests as there is no change in functionality.

Source/WebCore:

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Use a modern for loop.

(WebCore::CompositingCoordinator::renderNextFrame):
(WebCore::CompositingCoordinator::paintToSurface):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Use a modern for loop.

(WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
(WebCore::CoordinatedGraphicsLayer::findFirstDescendantWithContentsRecursively):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):

  • platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Use a modern for loop.

(WebCore::CoordinatedImageBacking::updateVisibilityIfNeeded):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Use a modern for loop.

(WebCore::CoordinatedBackingStore::texture):
(WebCore::CoordinatedBackingStore::paintTilesToTextureMapper):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Use a modern for loop.

(WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate):

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Use a modern for loop.

(WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
(WebCore::CoordinatedGraphicsScene::createLayers): changed the name of argument to be equal with deleteLayer().
(WebCore::CoordinatedGraphicsScene::deleteLayers):
(WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
(WebCore::CoordinatedGraphicsScene::syncUpdateAtlases):
(WebCore::CoordinatedGraphicsScene::syncImageBackings):
(WebCore::CoordinatedGraphicsScene::commitSceneState):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: Use a modern for loop.

(WebKit::shouldPaintBoundsRect):
(WebKit::CoordinatedDrawingArea::display):

6:06 PM Changeset in webkit [175360] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, EFL build fix since r175349.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::didRemoveItem): Use PLATFORM(COCOA) for setSnapshot().

5:49 PM Changeset in webkit [175359] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.2

Tagging Safari-600.3.2

5:16 PM Changeset in webkit [175358] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Final-ize more of TextFieldInputType's virtual functions
​https://bugs.webkit.org/show_bug.cgi?id=138194

Reviewed by Andreas Kling.

Final-ize more of TextFieldInputType's virtual functions for
performance.

No new tests, no behavior change.

  • html/TextFieldInputType.h:
5:13 PM Changeset in webkit [175357] by matthew_hanson@apple.com
  • 2 edits in trunk/Tools

bisect-builds should filter out nightlies that predate the introduction of an OS X operating system
​https://bugs.webkit.org/show_bug.cgi?id=138193

This patch restricts the set of nightles to bisect to only those nightlies that ship with frameworks
for the target OS (only support for OS X Yosemite, Mavericks and Mountain Lion was added.)

It also does a bit of refactoring, including distinguishing between versions and version strings and
saving versions to local variables instead of using eval in each conditional.

Reviewed by David Kilzer.

  • Scripts/bisect-builds:

(makeNightlyList):
Restrict the set of nightlies to r174650 and above when running Yosemite.
Restrict the set of nightlies to r157846 and above when running Mavericks.
Restrict the set of nightlies to r122421 and above when running Mountain Lion.

4:33 PM Changeset in webkit [175356] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Skip compositing/regions/propagate-region-box-shadow-border-padding-for-video.html which
asserts in Debug.

  • platform/mac/TestExpectations:
4:28 PM Changeset in webkit [175355] by Chris Dumez
  • 18 edits in trunk/Source/WebCore

Clean up virtual functions in inspector/
​https://bugs.webkit.org/show_bug.cgi?id=138190

Reviewed by Andreas Kling.

Clean up virtual functions in inspector/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks

No new tests, no behavior change.

  • inspector/InspectorApplicationCacheAgent.h:

(WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageConsoleAgent.h:
  • inspector/WorkerInspectorController.h:
4:18 PM Changeset in webkit [175354] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175353. rdar://problem/18817803

4:13 PM Changeset in webkit [175353] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Null deref under performActionMenuHitTestAtLocation
​https://bugs.webkit.org/show_bug.cgi?id=138197
<rdar://problem/18817803>

Reviewed by Beth Dakin.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::scanForDataDetectedItems):
Null-check the expanded range.

4:02 PM Changeset in webkit [175352] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Generalize dirtying of parent's line boxes when taking a renderer out of tree.
<​https://webkit.org/b/138152>

Reviewed by Antti Koivisto.

Instead of calling dirtyLinesFromChangedChild() when certain types of renderers
are about to be destroyed, always do this in RenderElement::willBeRemovedFromTree().

This is part of an effort to make render tree teardown less incomprehensible.

We still don't bother at all if we're in the process of tearing down the entire
render tree, since that would be a waste of time.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeRemovedFromTree):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::willBeDestroyed): Deleted.

  • rendering/RenderReplaced.h:
3:59 PM Changeset in webkit [175351] by adachan@apple.com
  • 11 edits in trunk/Source

Implement WKPageSetMuted(bool).
​https://bugs.webkit.org/show_bug.cgi?id=138158

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:
  • page/Page.h:

Source/WebKit2:

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMuted):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setMuted):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setMuted):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
3:43 PM Changeset in webkit [175350] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Add a missing symbol to fix the build after the merge of r175335. rdar://problem/18709436

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

Clear ViewSnapshots when back/forward list items are removed from their list
​https://bugs.webkit.org/show_bug.cgi?id=138188
<rdar://problem/18817001>

Reviewed by Tim Horton.

Ideally we should remove the WebBackForwardListItem objects as well, but this is a somewhat safer fix.

Change all the "remove item" codepaths to call WebBackForwardList::didRemoveItem and have it clear out the snapshot.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::removeAllItems):
(WebKit::WebBackForwardList::clear):
(WebKit::WebBackForwardList::didRemoveItem):

  • UIProcess/WebBackForwardList.h:
3:01 PM Changeset in webkit [175348] by Antti Koivisto
  • 7 edits
    2 adds in trunk/Source/WebCore

Notify Settings object when its Page object goes away.
​https://bugs.webkit.org/show_bug.cgi?id=138183
rdar://problem/18786900

Patch by Alexey Proskuryakov <​ap@apple.com> on 2014-10-29
Reviewed by Andreas Kling.

I could not make a test for this issue.

  • page/Page.cpp:

(WebCore::Page::~Page):

  • page/Settings.cpp:

(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingEnabled):
(WebCore::Settings::setTextAutosizingWindowSizeOverride):
(WebCore::Settings::setTextAutosizingFontScaleFactor):
(WebCore::Settings::setMediaTypeOverride):
(WebCore::Settings::setScriptEnabled):
(WebCore::Settings::setUserStyleSheetLocation):
(WebCore::Settings::setMinDOMTimerInterval):
(WebCore::Settings::minDOMTimerInterval):
(WebCore::Settings::domTimerAlignmentInterval):
(WebCore::Settings::setUsesPageCache):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setDNSPrefetchingEnabled):
(WebCore::Settings::setStorageBlockingPolicy):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
(WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
(WebCore::Settings::setFontFallbackPrefersPictographs):

  • page/Settings.h:

(WebCore::Settings::pageDestroyed):

2:59 PM Changeset in webkit [175347] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

Notify Settings object when its Page object goes away.
​https://bugs.webkit.org/show_bug.cgi?id=138183
rdar://problem/18786900

Reviewed by Andreas Kling.

I could not make a test for this issue.

  • page/Page.cpp:

(WebCore::Page::~Page):

  • page/Settings.cpp:

(WebCore::setImageLoadingSettings):
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingEnabled):
(WebCore::Settings::setTextAutosizingWindowSizeOverride):
(WebCore::Settings::setTextAutosizingFontScaleFactor):
(WebCore::Settings::setMediaTypeOverride):
(WebCore::Settings::setScriptEnabled):
(WebCore::Settings::setUserStyleSheetLocation):
(WebCore::Settings::setMinDOMTimerInterval):
(WebCore::Settings::minDOMTimerInterval):
(WebCore::Settings::domTimerAlignmentInterval):
(WebCore::Settings::setUsesPageCache):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
(WebCore::Settings::setFontRenderingMode):
(WebCore::Settings::setDNSPrefetchingEnabled):
(WebCore::Settings::setStorageBlockingPolicy):
(WebCore::Settings::setBackgroundShouldExtendBeyondPage):
(WebCore::Settings::setScrollingPerformanceLoggingEnabled):
(WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
(WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
(WebCore::Settings::setFontFallbackPrefersPictographs):

  • page/Settings.h:

(WebCore::Settings::pageDestroyed):

2:32 PM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
2:32 PM Changeset in webkit [175346] by commit-queue@webkit.org
  • 129 edits
    2 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

Rebaseline after 175259.

Patch by Lorenzo Tilve <​ltilve@igalia.com> on 2014-10-29

  • platform/gtk/css1/basic/containment-expected.txt:
  • platform/gtk/css1/basic/contextual_selectors-expected.txt:
  • platform/gtk/css1/basic/grouping-expected.txt:
  • platform/gtk/css1/basic/id_as_selector-expected.txt:
  • platform/gtk/css1/basic/inheritance-expected.txt:
  • platform/gtk/css1/box_properties/border-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom_width-expected.txt:
  • platform/gtk/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_color-expected.txt:
  • platform/gtk/css1/box_properties/border_color_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_left-expected.txt:
  • platform/gtk/css1/box_properties/border_left_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_left_width-expected.txt:
  • platform/gtk/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_right-expected.txt:
  • platform/gtk/css1/box_properties/border_right_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_right_width-expected.txt:
  • platform/gtk/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_style-expected.txt:
  • platform/gtk/css1/box_properties/border_style_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_top_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_top_width-expected.txt:
  • platform/gtk/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/border_width-expected.txt:
  • platform/gtk/css1/box_properties/border_width_inline-expected.txt:
  • platform/gtk/css1/box_properties/clear-expected.txt:
  • platform/gtk/css1/box_properties/clear_float-expected.txt:
  • platform/gtk/css1/box_properties/float-expected.txt:
  • platform/gtk/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/gtk/css1/box_properties/float_margin-expected.txt:
  • platform/gtk/css1/box_properties/height-expected.txt:
  • platform/gtk/css1/box_properties/margin-expected.txt:
  • platform/gtk/css1/box_properties/margin_bottom-expected.txt:
  • platform/gtk/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_left-expected.txt:
  • platform/gtk/css1/box_properties/margin_left_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_right-expected.txt:
  • platform/gtk/css1/box_properties/margin_right_inline-expected.txt:
  • platform/gtk/css1/box_properties/margin_top-expected.txt:
  • platform/gtk/css1/box_properties/margin_top_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding-expected.txt:
  • platform/gtk/css1/box_properties/padding_bottom-expected.txt:
  • platform/gtk/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_left-expected.txt:
  • platform/gtk/css1/box_properties/padding_left_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_right-expected.txt:
  • platform/gtk/css1/box_properties/padding_right_inline-expected.txt:
  • platform/gtk/css1/box_properties/padding_top-expected.txt:
  • platform/gtk/css1/box_properties/padding_top_inline-expected.txt:
  • platform/gtk/css1/box_properties/width-expected.txt:
  • platform/gtk/css1/cascade/cascade_order-expected.txt:
  • platform/gtk/css1/cascade/important-expected.txt:
  • platform/gtk/css1/classification/display-expected.txt:
  • platform/gtk/css1/classification/list_style-expected.txt:
  • platform/gtk/css1/classification/list_style_image-expected.txt:
  • platform/gtk/css1/classification/list_style_position-expected.txt:
  • platform/gtk/css1/classification/list_style_type-expected.txt:
  • platform/gtk/css1/classification/white_space-expected.txt:
  • platform/gtk/css1/color_and_background/background-expected.txt:
  • platform/gtk/css1/color_and_background/background_attachment-expected.txt:
  • platform/gtk/css1/color_and_background/background_color-expected.txt:
  • platform/gtk/css1/color_and_background/background_image-expected.txt:
  • platform/gtk/css1/color_and_background/background_position-expected.txt:
  • platform/gtk/css1/color_and_background/background_repeat-expected.txt:
  • platform/gtk/css1/color_and_background/color-expected.txt:
  • platform/gtk/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/gtk/css1/font_properties/font-expected.txt:
  • platform/gtk/css1/font_properties/font_family-expected.txt:
  • platform/gtk/css1/font_properties/font_size-expected.txt:
  • platform/gtk/css1/font_properties/font_style-expected.txt:
  • platform/gtk/css1/font_properties/font_variant-expected.txt:
  • platform/gtk/css1/font_properties/font_weight-expected.txt:
  • platform/gtk/css1/formatting_model/canvas-expected.txt:
  • platform/gtk/css1/formatting_model/floating_elements-expected.txt:
  • platform/gtk/css1/formatting_model/height_of_lines-expected.txt:
  • platform/gtk/css1/formatting_model/replaced_elements-expected.txt:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/gtk/css1/pseudo/anchor-expected.txt:
  • platform/gtk/css1/pseudo/firstletter-expected.txt:
  • platform/gtk/css1/pseudo/firstline-expected.txt:
  • platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/gtk/css1/text_properties/letter_spacing-expected.txt:
  • platform/gtk/css1/text_properties/line_height-expected.txt:
  • platform/gtk/css1/text_properties/text_align-expected.txt:
  • platform/gtk/css1/text_properties/text_decoration-expected.txt:
  • platform/gtk/css1/text_properties/text_indent-expected.txt:
  • platform/gtk/css1/text_properties/text_transform-expected.txt:
  • platform/gtk/css1/text_properties/vertical_align-expected.txt:
  • platform/gtk/css1/text_properties/word_spacing-expected.txt:
  • platform/gtk/css1/units/color_units-expected.txt:
  • platform/gtk/css1/units/length_units-expected.txt:
  • platform/gtk/css1/units/percentage_units-expected.txt:
  • platform/gtk/css1/units/urls-expected.txt:
  • platform/gtk/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/gtk/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/gtk/fast/css/empty-pseudo-class-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/targeted-frame-submission-expected.txt:
  • platform/gtk/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/gtk/fast/html/listing-expected.txt:
  • platform/gtk/fast/invalid/junk-data-expected.txt:
  • platform/gtk/fast/invalid/missing-end-tag-expected.txt:
  • platform/gtk/fast/loader/text-document-wrapping-expected.txt:
  • platform/gtk/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/gtk/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/gtk/fast/table/border-collapsing/004-expected.txt:
  • platform/gtk/fast/text/whitespace/001-expected.txt: Added.
  • platform/gtk/fast/text/whitespace/013-expected.txt:
  • platform/gtk/fast/text/whitespace/014-expected.txt:
  • platform/gtk/fast/text/whitespace/022-expected.txt: Added.
  • platform/gtk/fast/text/whitespace/024-expected.txt:
  • platform/gtk/fast/text/whitespace/030-expected.txt:
  • platform/gtk/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/gtk/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/gtk/svg/custom/junk-data-expected.txt:
  • platform/gtk/svg/custom/missing-xlink-expected.txt:
  • platform/gtk/svg/custom/use-font-face-crash-expected.txt:
  • platform/gtk/svg/hixie/error/012-expected.txt:
  • platform/gtk/tables/mozilla/bugs/45621-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
2:13 PM Changeset in webkit [175345] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Remove invalid float from RootInlineBox.
​https://bugs.webkit.org/show_bug.cgi?id=137707

Reviewed by Antti Koivisto.

In certain cases, floating boxes get attached to the last (root) inline box.
When this particular floating box gets destroyed, it also needs to be detached
from the last inline box.
Source/WebCore:

  1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
  2. Ensure that it is called when the floating box is being destroyed.

Test: fast/inline/crash-when-inline-box-has-invalid-float.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
tearing down the render tree, we can get to a state where a block element has both inline and block children.
It happens when the style change on an element makes sibling anonymous block wrappers detached.
In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
block child elements as we return early at the childrenInline() check.

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::removeFloat):

LayoutTests:

  • fast/inline/crash-when-inline-box-has-invalid-float-expected.txt: Added.
  • fast/inline/crash-when-inline-box-has-invalid-float.html: Added.
2:04 PM Changeset in webkit [175344] by rakuco@webkit.org
  • 2 edits in trunk

[GTK] Bump libsoup's minimum version to 2.42.0.
​https://bugs.webkit.org/show_bug.cgi?id=138086

Reviewed by Martin Robinson.

The SOUP_CHECK_VERSION macro was added in libsoup 2.41.1, and the
soup-version.h header was added to soup.h in 2.41.4, which then becomes
the minimum version required to build the port these days.

In addition, since the autotools build system required 2.42.0 before
being retired, require the same version here. Version 2.42.0 was also
recommended in
​https://lists.webkit.org/pipermail/webkit-gtk/2013-March/001387.html.

  • Source/cmake/OptionsGTK.cmake:
2:00 PM Changeset in webkit [175343] by Antti Koivisto
  • 7 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, rolling out r175342.

a file ended up in a wrong directory

Reverted changeset:

"Factor cache validity computation functions out of
CachedResource"
​https://bugs.webkit.org/show_bug.cgi?id=138156
​http://trac.webkit.org/changeset/175342

1:54 PM Changeset in webkit [175342] by Antti Koivisto
  • 7 edits
    2 adds in trunk/Source/WebCore

Factor cache validity computation functions out of CachedResource
​https://bugs.webkit.org/show_bug.cgi?id=138156

Reviewed by Andreas Kling.

These can be used to implement cache logic on WebKit level.

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CacheValidation.cpp: Added.

(WebCore::computeCurrentAge):
(WebCore::computeFreshnessLifetimeForHTTPFamily):
(WebCore::updateRedirectChainStatus):
(WebCore::redirectChainAllowsReuse):

  • loader/CacheValidation.h: Added.

(WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):

  • loader/cache/CachedResource.cpp:

(WebCore::updateResponseHeadersAfterRevalidation):
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::isExpired):
(WebCore::CachedResource::freshnessLifetime):
(WebCore::CachedResource::willSendRequest):
(WebCore::CachedResource::updateResponseAfterRevalidation):
(WebCore::CachedResource::redirectChainAllowsReuse):
(WebCore::currentAge): Deleted.

  • loader/cache/CachedResource.h:
1:48 PM Changeset in webkit [175341] by matthew_hanson@apple.com
  • 13 edits in branches/safari-600.3-branch/Source/WebKit2

Rollout r174369. <rdar://problem/18640842>

1:26 PM Changeset in webkit [175340] by matthew_hanson@apple.com
  • 16 edits
    2 copies
    1 delete in branches/safari-600.3-branch

Merge r175335. rdar://problem/18709436

1:24 PM Changeset in webkit [175339] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Hide the 'Add to Photos' item if it isn't available
​https://bugs.webkit.org/show_bug.cgi?id=138182
<rdar://problem/18814999>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _canAddImageToPhotos]):
(-[WKActionMenuController _addImageToPhotos:]):
Factor _canAddImageToPhotos out of _addImageToPhotos:, and use it in
_defaultMenuItemsForImage to avoid including the menu item in the first place.

12:53 PM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
12:08 PM Changeset in webkit [175338] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Rename WebPageProxy::activeActionMenuHitTestResult to lastMouseMoveHitTestResult
​https://bugs.webkit.org/show_bug.cgi?id=138137
<rdar://problem/18798257>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::mouseDidMoveOverElement):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::lastMouseMoveHitTestResult):
(WebKit::WebPageProxy::activeActionMenuHitTestResult): Deleted.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _openURLFromActionMenu:]):
(-[WKActionMenuController _addToReadingListFromActionMenu:]):
(-[WKActionMenuController _quickLookURLFromActionMenu:]):
(-[WKActionMenuController _saveImageToDownloads:]):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):
Rename to the more accurate and general name.

12:01 PM Changeset in webkit [175337] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Fix the branch pre-Yosemite build by moving an #if to encompass the whole file.

  • Misc/WebSharingServicePickerController.mm:
11:56 AM Changeset in webkit [175336] by adachan@apple.com
  • 6 edits in trunk/Source/WebCore

Add API to mute/unmute a page.
​https://bugs.webkit.org/show_bug.cgi?id=138150

Reviewed by Eric Carlson.

No new tests, since it's difficult to test whether the Page has indeed been muted.

  • dom/Document.cpp:

(WebCore::Document::setMuted):
Go through each AudioProducer and call setMuted() on it.

  • dom/Document.h:
  • page/AudioProducer.h:

Add setMuted(bool). HTMLMediaElement, the only derived class of AudioProducer so far,
has already implemented setMuted().

  • page/Page.cpp:

(WebCore::Page::setMuted):
Go through all its frames and call setMuted() on each frame's Document.

  • page/Page.h:
11:48 AM Changeset in webkit [175335] by timothy_horton@apple.com
  • 19 edits
    2 adds
    1 delete in trunk

Implement action menus for data detected items
​https://bugs.webkit.org/show_bug.cgi?id=138178
<rdar://problem/18709436>

Reviewed by Anders Carlsson.

  • WebCore.exp.in:

Export a symbol from Position that we need.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/DataDetectorsSPI.h:

Add a combined SPI header for all of the random bits of DataDetectors that we use.

  • Shared/API/c/WKActionMenuTypes.h:

Add a new type.

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:

(WebKit::WebHitTestResult::isTextNode):
Determine, store, encode, and decode whether or not the hit node is a text node.

  • Shared/mac/ActionMenuHitTestResult.h:
  • Shared/mac/ActionMenuHitTestResult.mm: Renamed from Source/WebKit2/Shared/mac/ActionMenuHitTestResult.cpp.

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Make ActionMenuHitTestResult an Obj-C++ file.
Store, encode, and decode (securely!) a DDActionContext and FloatRect
representing the bounding box of the data detected item, if any.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):
(-[WKView willOpenMenu:withEvent:]): Deleted.
Stop using willOpenMenu; we'll use NSMenuDelegate's menuNeedsUpdate: instead.
Hook up WKActionMenuController as our action menu's delegate.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Call _updateActionMenuItems *after* we've adjusted _state, so that it
can depend on the value being correct.

(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didPerformActionMenuHitTest:]):
Move menu updating to menuNeedsUpdate for more accurate timing.

(_updateActionMenuItems):
When building the menu, if we have a text node that is not a link,
and hit a data detected item, retrieve the menu from the DDActionContext.
If we have nothing, make sure to reset _type, and if the final hit-test
is still pending, build a menu with a dummy item.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performActionMenuHitTestAtLocation): Moved to WebPageMac.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::rangeExpandedAroundPosition):
Factor this out of performDictionaryLookupAtLocation.

(WebKit::WebPage::performDictionaryLookupAtLocation):
Make use of rangeExpandedAroundPosition.

(WebKit::scanForDataDetectedItems):
Expand to four lines of context around the hit point.
Convert that range to plain text, and feed it to DataDetectors.
Find the result that intersects the hit point, and make a DDActionContext
for it. Also, store the bounding box of the first quad of the detected
text, to provide to Data Detectors as a hint for UI placement.

(WebKit::WebPage::performActionMenuHitTestAtLocation):
If the hit node is a text node, call scanForDataDetectedItems and
store the resultant DDActionContext and bounding rect on our
ActionMenuHitTestResult for transfer to the UI process.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
  • libWebKitSystemInterfaceYosemite.a:

Update WebKitSystemInterface.

11:22 AM Changeset in webkit [175334] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

[iOS] iPad: Occasional <select> crashes attempting to scroll to non-existing row 0 in viewWillAppear
​https://bugs.webkit.org/show_bug.cgi?id=138165

Reviewed by David Kilzer.

This is a speculative fix for a crash attempting to scroll to a row in a
select picker on iPad. In these cases we are trying to scroll to the first
row of the first section, but no such row appears to exist. I was unable
to reproduce the issue, but if it is happening we should be able to protect
safely protect against crashing.

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectTableViewController viewWillAppear:]):
Protect against trying to scroll to a section/row that does not exist
by pre-checking that the section/row is valid.

10:53 AM Changeset in webkit [175333] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] NULL-dereference crash in MediaKeys::setMediaElement().
​https://bugs.webkit.org/show_bug.cgi?id=138177

Reviewed by Eric Carlson.

NULL-check m_mediaElement->player() before using. It may have been cleared if the HTMLMediaElement
has previously had stop() called.

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::setMediaElement):

10:53 AM Changeset in webkit [175332] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] MediaKeySession resources persist across page reloads
​https://bugs.webkit.org/show_bug.cgi?id=138176

Reviewed by Eric Carlson.

MediaKeySession is an ActiveDOMObject, so when told to stop() by our execution context,
close() the session, releasing all our resources.

  • Modules/encryptedmedia/MediaKeySession.h:
10:53 AM Changeset in webkit [175331] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[EME][Mac] MediaKeySession type "keyrelease" is ignored.
​https://bugs.webkit.org/show_bug.cgi?id=138175

Reviewed by Eric Carlson.

To indicate that they would like to recevie expired session confirmation messages, clients
will create a MediaKeySession with a type parameter of "keyrelease". The code which validates
this type needs to be updated to recognize "keyrelease" as a valid type.

Also, the code which validates update() requests needs to allow updates containing the string
"acknowledged", so that clients can request the confirmation messages be discarded.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType):

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

(WebCore::CDMSessionMediaSourceAVFObjC::update):

10:41 AM Changeset in webkit [175330] by adachan@apple.com
  • 7 edits in trunk/Source/WebCore

Remove MediaSessionClient::hasMediaCharacteristics() and MediaSessionClient::mediaStateDidChange().
​https://bugs.webkit.org/show_bug.cgi?id=138153

Reviewed by Jer Noble.

After ​http://trac.webkit.org/changeset/175273, Document no longer keeps a set of MediaSessions
and it doesn't need to query each MediaSession for its characteristics and play state.
MediaSessionClient::hasMediaCharacteristics() is no longer needed and MediaSessionClient::mediaStateDidChange()
can be removed if HTMLMediaElement calls Document::updateIsPlayingAudio() after m_playing has changed.

No new tests, no behavior change.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updatePlayState):
Call setPlaying() rather than setting m_playing directly.
(WebCore::HTMLMediaElement::setPlaying):
Update m_playing. If it has changed, call Document::updateIsPlayingAudio().
(WebCore::HTMLMediaElement::setPausedInternal):
Call setPlaying() rather than setting m_playing directly.
(WebCore::HTMLMediaElement::isPlayingAudio):
Call isPlaying() directly rather than checking the MediaSession's state.

  • html/HTMLMediaElement.h:
  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::setState):
MediaSessionClient::mediaStateDidChange() has been removed.
(WebCore::MediaSession::hasMediaCharacteristics): Deleted.

  • platform/audio/MediaSession.h:

(WebCore::MediaSessionClient::mediaStateDidChange): Deleted.

  • platform/audio/ios/AudioDestinationIOS.h:
  • platform/audio/mac/AudioDestinationMac.h:
10:16 AM Changeset in webkit [175329] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update Mavericks results after ​https://bugs.webkit.org/show_bug.cgi?id=137275
(Speed up line parsing for simple line layout)

  • platform/mac-mavericks/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
8:09 AM Changeset in webkit [175328] by Chris Dumez
  • 100 edits in trunk/Source/WebCore

Clean up virtual functions in html/
​https://bugs.webkit.org/show_bug.cgi?id=138166

Reviewed by Andreas Kling.

Clean up virtual functions in html/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Using 'override' when appropriate
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Dropping virtual destructors when the class does not have subclasses and mark the class as final, to get rid of unnecessary vtables
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks
  • De-virtualizing some functions that do not need to be virtual
  • Dropping final for virtual functions in classes already marked as final

No new tests, no behavior change.

  • html/ButtonInputType.h:
  • html/CheckboxInputType.h:
  • html/ColorInputType.h:
  • html/DOMSettableTokenList.h:
  • html/DateInputType.h:
  • html/DateTimeInputType.h:
  • html/DateTimeLocalInputType.h:
  • html/EmailInputType.h:
  • html/FTPDirectoryDocument.h:
  • html/HTMLAnchorElement.h:
  • html/HTMLDetailsElement.cpp:
  • html/HTMLFormControlElement.h:
  • html/HTMLFormControlsCollection.h:
  • html/HTMLFrameElement.h:
  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameOwnerElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLMarqueeElement.h:
  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.h:

(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.

  • html/HTMLMeterElement.h:
  • html/HTMLNameCollection.h:
  • html/HTMLObjectElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLSpanElement.h:
  • html/HTMLStyleElement.h:
  • html/HTMLSummaryElement.cpp:
  • html/HTMLSummaryElement.h:
  • html/HTMLUnknownElement.h:
  • html/HTMLVideoElement.h:
  • html/HiddenInputType.h:
  • html/ImageInputType.h:
  • html/MediaKeyEvent.h:
  • html/MonthInputType.h:
  • html/NumberInputType.h:
  • html/PasswordInputType.h:
  • html/PublicURLManager.h:
  • html/RadioInputType.h:
  • html/ResetInputType.h:
  • html/SubmitInputType.h:
  • html/TelephoneInputType.h:
  • html/TextInputType.h:
  • html/TimeInputType.h:
  • html/URLInputType.h:
  • html/WeekInputType.h:
  • html/canvas/ANGLEInstancedArrays.h:
  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/DOMPath.h:
  • html/canvas/EXTShaderTextureLOD.h:
  • html/canvas/EXTTextureFilterAnisotropic.h:
  • html/canvas/OESElementIndexUint.h:
  • html/canvas/OESStandardDerivatives.h:
  • html/canvas/OESTextureFloat.h:
  • html/canvas/OESTextureFloatLinear.h:
  • html/canvas/OESTextureHalfFloat.h:
  • html/canvas/OESTextureHalfFloatLinear.h:
  • html/canvas/OESVertexArrayObject.h:
  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLCompressedTextureATC.h:
  • html/canvas/WebGLCompressedTexturePVRTC.h:
  • html/canvas/WebGLCompressedTextureS3TC.h:
  • html/canvas/WebGLContextAttributes.h:
  • html/canvas/WebGLContextEvent.h:
  • html/canvas/WebGLDebugRendererInfo.h:
  • html/canvas/WebGLDebugShaders.h:
  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.h:
  • html/canvas/WebGLFramebuffer.h:

(WebCore::WebGLFramebuffer::isFramebuffer): Deleted.

  • html/canvas/WebGLLoseContext.h:
  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLSharedObject.h:

(WebCore::WebGLSharedObject::isFramebuffer): Deleted.

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLVertexArrayObjectOES.h:

(WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted.

  • html/shadow/ImageControlsRootElement.h:
  • html/shadow/InsertionPoint.h:
  • html/shadow/MediaControlElementTypes.h:
  • html/shadow/MediaControlElements.h:
  • html/shadow/MediaControls.h:
  • html/shadow/MediaControlsApple.h:
  • html/shadow/SpinButtonElement.h:
  • html/track/AudioTrack.h:
  • html/track/AudioTrackList.h:
  • html/track/DataCue.h:

(WebCore::DataCue::cueType): Deleted.

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.h:
  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.h:
  • html/track/LoadableTextTrack.h:
  • html/track/TextTrackList.h:
  • html/track/TrackEvent.h:
  • html/track/VTTCue.h:

(WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):

  • html/track/VTTRegion.h:
  • html/track/VideoTrack.h:
  • html/track/VideoTrackList.h:
  • html/track/WebVTTParser.h:

(WebCore::WebVTTCueData::~WebVTTCueData): Deleted.

3:45 AM Changeset in webkit [175327] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] build-webkit should try harder to avoid re-running cmake
​https://bugs.webkit.org/show_bug.cgi?id=137949

Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(shouldRemoveCMakeCache): Don't remove CMakeCache unconditionally for EFL.
(generateBuildSystemFromCMakeProject): Comment fix after r174681.

1:59 AM Changeset in webkit [175326] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175256. rdar://problem/18798121

1:57 AM Changeset in webkit [175325] by Lucas Forschler
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175238. rdar://problem/18797743

1:54 AM Changeset in webkit [175324] by Lucas Forschler
  • 4 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175229. rdar://problem/18451638

1:51 AM Changeset in webkit [175323] by Lucas Forschler
  • 6 edits
    1 copy in branches/safari-600.3-branch/Source/WebKit2

Merged r175193. rdar://problem/18451638

1:49 AM Changeset in webkit [175322] by Lucas Forschler
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175190. <rdar://problem/18767397>

1:47 AM Changeset in webkit [175321] by Lucas Forschler
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175187. rdar://problem/18767859

1:44 AM Changeset in webkit [175320] by Lucas Forschler
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175185. rdar://problem/18758758

1:42 AM Changeset in webkit [175319] by Lucas Forschler
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175184. rdar://problem/18758758

1:40 AM Changeset in webkit [175318] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175181. rdar://problem/18758758

1:37 AM Changeset in webkit [175317] by Lucas Forschler
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175180. rdar://problem/18758758

1:33 AM Changeset in webkit [175316] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175179. rdar://problem/18758758

1:30 AM Changeset in webkit [175315] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.3-branch/Source/WebKit2

Merged r175178. rdar://problem/18758758

1:30 AM Changeset in webkit [175314] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks
​https://bugs.webkit.org/show_bug.cgi?id=137772

Reviewed by Andreas Kling.

Source/WebCore:

We're hitting the ASSERTION because if the number of tracks an
item spans does greatly exceed the available logical space, then
the result of the division availableLogicalSpace/numberOfTracks is
truncated to 0. So the ASSERTION was theoretically right because
the result has to be always >0 (as the dividend > 0) but the fact
that the result is a LayoutUnit forces us to accept 0 as a valid
outcome of the operation.

Test: fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::distributeSpaceToTracks):

LayoutTests:

  • fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash-expected.txt: Added.
  • fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html: Added.
1:00 AM Changeset in webkit [175313] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WTF

Partial merge of r172749. rdar://problem/18757166

12:58 AM Changeset in webkit [175312] by Chris Dumez
  • 3 edits
    2 adds in trunk

Crash in CachedRawResource::canReuse() when reloading ​http://dnd.wizards.com/dungeons-and-dragons/story
​https://bugs.webkit.org/show_bug.cgi?id=138164

Reviewed by Andreas Kling.

Source/WebCore:

This patch fixes a crash when reloading the following URL:
​http://dnd.wizards.com/dungeons-and-dragons/story

We were crashing in CachedRawResource::canReuse() because header.key
would sometimes be a null String and we would call
HashMap::get(nullString).

The real issue was that header.key was null in the first place, which
means that even though the HTTPHeaderMap iterator is valid, it->key
is a null String, which should never happen. There was a bug in the
HTTPHeaderMapConstIterator() constructor that would cause the
iterator key/value pair to not get initialized if the HTTPHeaderMap
contained *only* uncommon HTTP headers. This patch updates the
constructor so that we fall back to updating the key/value from the
uncommon header map, if we failed to initialized from the common
header map (because it was empty).

Test: http/tests/cache/xhr-uncommon-header.html

  • platform/network/HTTPHeaderMap.h:

(WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator):

LayoutTests:

Add a layout test that does XHR loads from cache with only uncommon
HTTP headers to reproduce a crash in CachedRawResource::canReuse()
when iterating over a HTTPHeaderMap that had uncommon HTTP headers
but no common ones.

  • http/tests/cache/xhr-uncommon-header-expected.txt: Added.
  • http/tests/cache/xhr-uncommon-header.html: Added.
12:54 AM Changeset in webkit [175311] by Lucas Forschler
  • 12 edits
    3 copies
    1 add in branches/safari-600.3-branch/Source

Merged r175147. rdar://problem/18757166

12:18 AM Changeset in webkit [175310] by Lucas Forschler
  • 9 edits in branches/safari-600.3-branch

Merged r172542. rdar://problem/18757166

Oct 28, 2014:

11:33 PM Changeset in webkit [175309] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

11:28 PM Changeset in webkit [175308] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.6

New tag.

9:58 PM Changeset in webkit [175307] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175183. rdar://problem/18451638

9:55 PM Changeset in webkit [175306] by Lucas Forschler
  • 6 edits
    3 copies in branches/safari-600.3-branch/Source/WebKit

Merged r175182. rdar://problem/18451638

9:34 PM Changeset in webkit [175305] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r175132. <rdar://problem/18753175>

9:32 PM Changeset in webkit [175304] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r174841. <rdar://problem/18753175>

9:28 PM Changeset in webkit [175303] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r174837. <rdar://problem/18753175>

9:24 PM Changeset in webkit [175302] by dburkart@apple.com
  • 21 edits
    2 copies in branches/safari-600.3-branch/Source

Merge r174791. <rdar://problem/18753175>

9:21 PM Changeset in webkit [175301] by benjamin@webkit.org
  • 19 edits
    6 adds in trunk

CSS4 Selectors: Add the pseudo class :any-link
​https://bugs.webkit.org/show_bug.cgi?id=138128

Reviewed by Andreas Kling.

Source/WebCore:

Defined here: ​http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Defined here: ​http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Tests: fast/selectors/any-link-basics-2.html

fast/selectors/any-link-basics.html
fast/selectors/any-link-styling.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addRule):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::isCommonPseudoClassSelector):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):

LayoutTests:

Story time: I implement only half of the patch and run
fast/selectors/webkit-any-link.html to make sure it fails...
and the test happily PASS.

I look into it and sure enough, a last minute change in
html-link-type-tests.js made it test nothing but :link.

I update html-link-type-tests.js to actually test the desired selector,
run the test again: PASS.

I debug a bit and I find why my code is not tested: html-link-type-tests.js
uses Element.matches() and that does not use the CSS JIT.

Fair enough, I add a querySelectorAll("#target' + selector + '") to run
through the JIT: PASS.

Since that selector is simple-#id + simple selector, we go through a fast
path for ids and skip the JIT. Arrrrg!

Finally, I added querySelectorAll(".target' + selector + '"), which covers
the CSS JIT.

The nice thing is: all those cases are tested now :)

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/selectors/any-link-basics-2-expected.txt: Added.
  • fast/selectors/any-link-basics-2.html: Added.
  • fast/selectors/any-link-basics-expected.txt: Added.
  • fast/selectors/any-link-basics.html: Added.
  • fast/selectors/any-link-styling-expected.html: Added.
  • fast/selectors/any-link-styling.html: Added.
  • fast/selectors/images-with-usemap-should-not-match-link-expected.txt:
  • fast/selectors/images-with-usemap-should-not-match-link.html:
  • fast/selectors/link-basics-expected.txt:
  • fast/selectors/link-basics-xhtml-expected.txt:
  • fast/selectors/resources/html-link-type-tests.js:

(testHTMLElement):
(testHTMLTagsForLink):

  • fast/selectors/webkit-any-link-basics-expected.txt:
9:11 PM Changeset in webkit [175300] by dburkart@apple.com
  • 7 edits in branches/safari-600.3-branch

Merge r174525. <rdar://problem/18640876>

9:04 PM Changeset in webkit [175299] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Cast std::chrono::duration.count() to int64_t in ArgumentCoder
​https://bugs.webkit.org/show_bug.cgi?id=136981

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-10-28
Reviewed by Alexey Proskuryakov.

Explicitly cast the return value of std::chrono::duration.count() to
a fixed-size interger type, which prevents compilation error when
the return value type matches neither int32_t nor int64_t.

  • Platform/IPC/ArgumentCoders.h:
8:39 PM Changeset in webkit [175298] by dburkart@apple.com
  • 2 deletes in branches/safari-600.3-branch/Source/WebKit2/WebProcess/WebPage

Forgot to delete a couple files from merging r174524 (rdar://problem/18640868)

8:34 PM Changeset in webkit [175297] by dburkart@apple.com
  • 21 edits
    2 copies in branches/safari-600.3-branch/Source

Merge r174524. <rdar://problem/18640868>

7:26 PM Changeset in webkit [175296] by dburkart@apple.com
  • 54 edits
    6 copies
    4 deletes in branches/safari-600.3-branch/Source

Merged r174231. rdar://problem/18640833

6:28 PM Changeset in webkit [175295] by dbates@webkit.org
  • 2 edits in trunk/Tools

Unify logic in RunTests.run() to run the Python unit tests
​https://bugs.webkit.org/show_bug.cgi?id=138160

Reviewed by Martin Robinson.

Unify the interactive and non-interactive code path for running the Python unit tests
in step RunTests so as to remove duplicate code to compute the the path to the script
test-webkitpy and log an informative message ("Running Python unit tests") to the console.

No new tests since no functionality was changed.

  • Scripts/webkitpy/port/base.py:

(Port.python_unittest_results_directory):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

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

Make runtest.py call test-webkitpy with the --json flag when in
non-interactive mode.
​https://bugs.webkit.org/show_bug.cgi?id=137667

Patch by Jake Nielsen <​jacob_nielsen@apple.com> on 2014-10-28
Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/base.py:

Adds the python_unittest_results_directory method.
(Port.python_unittest_results_directory):

  • Scripts/webkitpy/tool/steps/runtests.py:

Changes RunTests to call test-webkitpy with the --json flag if the
--non-interactive flag is set.
(RunTests):
(RunTests.run):

5:53 PM Changeset in webkit [175293] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174541. <rdar://problem/18753175>

5:32 PM Changeset in webkit [175292] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174516. <rdar://problem/18640864>

5:29 PM Changeset in webkit [175291] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174457. <rdar://problem/18640864>

5:27 PM Changeset in webkit [175290] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174456. <rdar://problem/18640864>

5:22 PM Changeset in webkit [175289] by dburkart@apple.com
  • 13 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r174369. <rdar://problem/18640842>

5:18 PM Changeset in webkit [175288] by jer.noble@apple.com
  • 22 edits
    2 adds in trunk/Source/WebKit2

[EME] Pass location for media key storage through from WebKit/WebKit2.
​https://bugs.webkit.org/show_bug.cgi?id=137120

Reviewed by Anders Carlsson.

Allow the location for media key storage to be passed into the WebProcess from the UIProcess
through the WebContextConfiguraiton struct.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Add mediaKeysStorageDirectory.
(WebKit::WebProcessCreationParameters::decode): Ditto.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyMediaKeysStorageDirectory): Added getter.
(WKContextConfigurationSetMediaKeysStorageDirectory): Added setter.

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/C/WKOriginDataManager.h:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]): Provide a default location.

  • UIProcess/APIContextConfiguration.cpp:

(API::ContextConfiguration::webContextConfiguration): Set mediaKeysStorageDirectory.

  • UIProcess/APIContextConfiguration.h:

(API::ContextConfiguration::mediaKeysStorageDirectory): Added getter.
(API::ContextConfiguration::setMediaKeysStorageDirectory): Added setter.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults): Apply mediaKeysStorageDirectory.
(WebKit::WebContext::WebContext): Initialize m_mediaKeysStorageDirectory.
(WebKit::WebContext::createNewWebProcess): Create a sandbox extension handle for mediaKeysStorageDirectory.

  • UIProcess/WebContext.h:
  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return a default location.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Ditto.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return an overridable default location.

  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: Added.

(WebKit::WebMediaKeyStorageManager::initialize): Pull the mediaKeysStorageDirectory out of configuration.
(WebKit::WebMediaKeyStorageManager::supplementName): Return a configuration name.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectoryForOrigin): Return the

correct storage directory based on the SecureOrigin.

(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins): Return the origins within the

storage directory.

(WebKit::removeAllMediaKeyStorageForOriginPath): Static, remove contents and directory at path.
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesForOrigin): Use

removeAllMediaKeyStorageForOriginPath to remove origin data.

(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesModifiedBetweenDates): Ditto.
(WebKit::WebMediaKeyStorageManager::deleteAllMediaKeyEntries): Ditto.

  • WebProcess/MediaCache/WebMediaKeyStorageManager.h: Added.

(WebKit::WebMediaKeyStorageManager::WebMediaKeyStorageManager): Default constructor.
(WebKit::WebMediaKeyStorageManager::~WebMediaKeyStorageManager): Default virtual destructor.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectory): Simple accessor.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Add WebMediaKeyStorageManager as a supplement.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Create a sandbox extension from the sandbox extension handle.

Add new source files to project(s).

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:

(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins):
(WebKit::removeAllMediaKeyStorageForOriginPath):

Drive-by fix: references to VoidCallback are ambiguous, since the same name is re-used in multiple namespaces.
Make references to WebCore::VoidCallback explicit where the entire WebCore (and other) namespaces are pulled in.

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest):
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):

  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:

(WebKit::WebNotificationClient::requestPermission):

5:13 PM Changeset in webkit [175287] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174368. <rdar://problem/18753175>

4:54 PM Changeset in webkit [175286] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174321. <rdar://problem/18753175>

4:51 PM Changeset in webkit [175285] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174320. <rdar://problem/18753175>

4:51 PM Changeset in webkit [175284] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation-time
​https://bugs.webkit.org/show_bug.cgi?id=138149

Reviewed by Brent Fulgham.

AVStreamSession now requires its storage location at creation-time, rather than post-creation. This requires
us to move storage location code from CDMSessionMediaSourceAVFObjC to MediaPlayerPrivateMediaSourceAVFObjC.

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

(-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Renamed.
(WebCore::CDMSessionMediaSourceAVFObjC::update):
(WebCore::sessionStorageDirectory): Deleted.

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

(WebCore::sessionStorageDirectory):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):

4:50 PM Changeset in webkit [175283] by ggaren@apple.com
  • 2 edits in trunk/Source/WebCore

All networking crashes on Mac 32bit
​https://bugs.webkit.org/show_bug.cgi?id=138157

Reviewed by Andy Estes.

NEFilterSource content filtering is not available on 32bit, so
soft-linking fails at runtime. The simplest solution is just to disable
it at compile time.

  • platform/ContentFilter.h:
4:49 PM Changeset in webkit [175282] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

4:38 PM Changeset in webkit [175281] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r174257. <rdar://problem/18753175>

4:28 PM Changeset in webkit [175280] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.3

New tag.

4:14 PM Changeset in webkit [175279] by commit-queue@webkit.org
  • 26 edits in trunk/Source

Add optimized fullscreen mode.
​https://bugs.webkit.org/show_bug.cgi?id=138044

Patch by Jeremy Jones <​jeremyj@apple.com> on 2014-10-28
Source/WebCore:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.
Add gesture for alternate fullscreen.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::enterFullscreenOptimized): added

  • Modules/mediacontrols/MediaControlsHost.h: added enterFullscreenOptimized
  • Modules/mediacontrols/MediaControlsHost.idl: added enterFullscreenOptimized
  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleBaseGestureChange): recognize alternate gesture

  • WebCore.exp.in: added parameter to setupFullscreen
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removedFrom) : replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::stop) : ditto
(WebCore::HTMLMediaElement::isFullscreen) : ditto
(WebCore::HTMLMediaElement::enterFullscreen): add parameter to enterVideoFullscreenForVideoElement
(WebCore::HTMLMediaElement::exitFullscreen): replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::enterFullscreenOptimized): added

  • html/HTMLMediaElement.h: added enterFullscreenOptimized
  • page/ChromeClient.h:

(WebCore::ChromeClient::enterVideoFullscreenForVideoElement): added parameter

  • platform/ios/WebVideoFullscreenControllerAVKit.h: add parameter
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController enterFullscreen:type:]): add parameter
(-[WebVideoFullscreenController enterFullscreen:]): Deleted.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: reorder protected to after public
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController player]): this stub is now required
(-[WebAVPlayerController layoutSublayersOfLayer:]): this is a better way to update video frames
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): implement optimized fullscreen interface
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

Source/WebKit/mac:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

  • WebCoreSupport/WebChromeClient.h: Add fullscreenType parameter
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::enterVideoFullscreenForVideoElement): ditto

  • WebView/WebView.mm:

(-[WebView _enterVideoFullscreenForVideoElement:type:]): ditto
(-[WebView _enterVideoFullscreenForVideoElement:]): Deleted.

  • WebView/WebViewInternal.h: ditto

Source/WebKit2:

Reviewed by Anders Carlsson.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add fullscreenType parameter
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: ditto
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.h: ditto
  • WebProcess/ios/WebVideoFullscreenManager.h: ditto
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): ditto

3:42 PM Changeset in webkit [175278] by Chris Dumez
  • 27 edits in trunk/Source/WebCore

Clean up virtual functions in accessibility/
​https://bugs.webkit.org/show_bug.cgi?id=138148

Reviewed by Chris Fleizach.

Clean up virtual functions in accessibility/ by:

  • Marking classes as final when suitable
  • Marking virtual functions as final when suitable
  • Dropping final on virtual functions in classes that are already final
  • Make isXXX() virtual type checking functions in XXX classes to avoid useless type checks

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.h:
  • accessibility/AccessibilityARIAGridCell.h:
  • accessibility/AccessibilityARIAGridRow.h:
  • accessibility/AccessibilityImageMapLink.h:
  • accessibility/AccessibilityList.h:
  • accessibility/AccessibilityListBox.h:
  • accessibility/AccessibilityListBoxOption.h:
  • accessibility/AccessibilityMediaControls.h:
  • accessibility/AccessibilityMenuList.h:
  • accessibility/AccessibilityMenuListOption.h:
  • accessibility/AccessibilityMenuListPopup.h:
  • accessibility/AccessibilityMockObject.h:

(WebCore::AccessibilityMockObject::setParent):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityProgressIndicator.h:
  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilitySVGRoot.h:
  • accessibility/AccessibilityScrollView.h:
  • accessibility/AccessibilityScrollbar.h:
  • accessibility/AccessibilitySearchFieldButtons.h:
  • accessibility/AccessibilitySlider.h:
  • accessibility/AccessibilitySpinButton.h:
  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableCell.h:
  • accessibility/AccessibilityTableColumn.h:
  • accessibility/AccessibilityTableHeaderContainer.h:
  • accessibility/AccessibilityTableRow.h:
3:38 PM Changeset in webkit [175277] by jpfau@apple.com
  • 2 edits in trunk/Source/WebCore

FrameProgressTracker expects Page to not have detached
​https://bugs.webkit.org/show_bug.cgi?id=138061

Reviewed by Alexey Proskuryakov.

In some cases, a Page may be detached from a Frame before its
FrameLoader is torn down, causing FrameProgressTracker's destructor
to hit a null pointer.

No new tests; it is impossible to reliably simulate the null pointer
case without intrusive code changes.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):

3:36 PM Changeset in webkit [175276] by dburkart@apple.com
  • 8 edits
    2 copies in branches/safari-600.3-branch

Merge r174190. <rdar://problem/18640846>

3:15 PM Changeset in webkit [175275] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Added a Radar reference to a comment.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<Credential>::encodePlatformData):

3:14 PM Changeset in webkit [175274] by dburkart@apple.com
  • 3 edits
    4 copies in branches/safari-600.3-branch

Merge r173184. <rdar://problem/18428699>

3:00 PM Changeset in webkit [175273] by adachan@apple.com
  • 8 edits
    1 add in trunk/Source/WebCore

Introduce a new abstract class called AudioProducer and keep a set of AudioProducers
rather than the active MediaSessions in Document
​https://bugs.webkit.org/show_bug.cgi?id=138107

Reviewed by Eric Carlson.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:

Add AudioProducer.h to the project.

  • dom/Document.cpp:

(WebCore::Document::addAudioProducer):
(WebCore::Document::removeAudioProducer):
(WebCore::Document::updateIsPlayingAudio):
Go through the set of AudioProducers and see if any is playing audio.
Now that this method no longer refers to MediaSessions directly, this code
does not need to be guarded by #if ENABLE(VIDEO).
(WebCore::Document::registerMediaSession): Deleted.
(WebCore::Document::unregisterMediaSession): Deleted.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::isPlayingAudio):
Return whether this element is playing audio.

  • html/HTMLMediaElement.h:
  • page/AudioProducer.h: Added.

(WebCore::AudioProducer::~AudioProducer):

  • page/Page.cpp:

(WebCore::Page::updateIsPlayingAudio):
This is no longer guarded with #if ENABLE(VIDEO) since the Document methods it calls
are no longer guarded.

  • page/Page.h:
2:42 PM Changeset in webkit [175272] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.3-branch

Merge r173181. rdar://problem/18428697

1:12 PM Changeset in webkit [175271] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/multicol/multicol-crazy-nesting.html sometimes crashes
​https://bugs.webkit.org/show_bug.cgi?id=138145

1:01 PM Changeset in webkit [175270] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] REGERESSION (r171801): Client certificate authentication is failing
​https://bugs.webkit.org/show_bug.cgi?id=138144

Reviewed by Alexey Proskuryakov.

NSURLCredential’s implementation of NSSecureCoding fails to encode identity-based
credentials properly. Work around that by encoding the identity, certificate, and
persistence individually.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<Credential>::encodePlatformData):
(IPC::ArgumentCoder<Credential>::decodePlatformData):

12:57 PM Changeset in webkit [175269] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed comment fix from r175267.

Fix namespace name in comment.

  • css/StyleBuilderCustom.h:
12:37 PM Changeset in webkit [175268] by jer.noble@apple.com
  • 39 edits
    2 copies in trunk

REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
​https://bugs.webkit.org/show_bug.cgi?id=137757

Reviewed by Eric Carlson.

Source/WebCore:

In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this
<div> should be created and added in mediaControlsiOS.js, which requires overloading
Controller.addControls.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
(video::-webkit-media-controls-panel-composited-parent): Deleted.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Remove the composited parent.
(Controller.prototype.addControls): Ditto.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Create the composited parent.
(ControllerIOS.prototype.addControls): Copied from (previous) apple.js.

LayoutTests:

  • platform/mac-mavericks/media/audio-controls-rendering-expected.png:
  • platform/mac-mavericks/media/audio-controls-rendering-expected.txt:
  • platform/mac-mavericks/media/controls-strict-expected.txt:
  • platform/mac-mavericks/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
  • platform/mac-mavericks/media/video-controls-rendering-expected.txt:
  • platform/mac-mavericks/media/video-display-toggle-expected.txt:
  • platform/mac-mavericks/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/mac/media/video-empty-source-expected.txt.
  • platform/mac-mavericks/media/video-no-audio-expected.png:
  • platform/mac-mavericks/media/video-no-audio-expected.txt:
  • platform/mac-mavericks/media/video-volume-slider-expected.txt:
  • platform/mac-mavericks/media/video-zoom-controls-expected.png:
  • platform/mac-mavericks/media/video-zoom-controls-expected.txt:
  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.png:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.png:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.png:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.png:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/media-controls-clone-expected.png:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-empty-source-expected.png:
  • platform/mac/media/video-empty-source-expected.txt:
  • platform/mac/media/video-no-audio-expected.png:
  • platform/mac/media/video-no-audio-expected.txt:
  • platform/mac/media/video-volume-slider-expected.png:
  • platform/mac/media/video-volume-slider-expected.txt:
  • platform/mac/media/video-zoom-controls-expected.png:
  • platform/mac/media/video-zoom-controls-expected.txt:
12:12 PM Changeset in webkit [175267] by Chris Dumez
  • 6 edits
    1 add in trunk/Source/WebCore

Move "Number" CSS properties to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138125

Reviewed by Antti Koivisto.

Move "Number" CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder:
-webkit-hyphenate-limit-after
-webkit-hyphenate-limit-before
-webkit-shape-image-threshold
-webkit-hyphenate-limit-lines

They are now generated from CSSPropertyNames.in

For -webkit-hyphenate-limit-lines, I used custom code instead of
the Number converter as it required special handling for the id
value. This patch thus adds support for [Custom=Value] to
CSSPropertyNames.in and the custom code goes into
css/StyleBuilderCustom.h.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyNumber::setValue): Deleted.
(WebCore::ApplyPropertyNumber::applyValue): Deleted.
(WebCore::ApplyPropertyNumber::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertNumber):

  • css/StyleBuilderCustom.h: Added.

(WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines):

  • css/makeprop.pl:
12:05 PM Changeset in webkit [175266] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

[iOS] iPhone should not allow selecting <optgroup> in <select multiple>
​https://bugs.webkit.org/show_bug.cgi?id=137991

Reviewed by Darin Adler.

We seem to be getting the delegate when we are not supposed to.
Workaround the issue as best we can by reseting the styles
for the group's content view and not changing selections.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker pickerView:row:column:checked:]):

11:46 AM Changeset in webkit [175265] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

[WebCore] Remove uses of WTF::bind() in the Media Stream module
​https://bugs.webkit.org/show_bug.cgi?id=138016

Reviewed by Eric Carlson.

Replace uses of WTF::bind() in the Media Stream module with C++11 lambdas.
Internal helper methods are removed in favor of inlining the code directly
into the lambdas. Range-based for-loops are deployed where appropriate.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::scheduleEventDispatch):
(WebCore::MediaStreamTrack::dispatchQueuedEvents): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:

(WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest):
(WebCore::MediaStreamTrackSourcesRequest::callCompletionHandler): Deleted.

  • Modules/mediastream/MediaStreamTrackSourcesRequest.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::constraintsValidated):
(WebCore::UserMediaRequest::userMediaAccessGranted):
(WebCore::UserMediaRequest::didCreateStream):
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
(WebCore::UserMediaRequest::requestPermission): Deleted.
(WebCore::UserMediaRequest::createMediaStream): Deleted.
(WebCore::UserMediaRequest::callSuccessHandler): Deleted.
(WebCore::UserMediaRequest::callErrorHandler): Deleted.

  • Modules/mediastream/UserMediaRequest.h:
11:35 AM Changeset in webkit [175264] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

text-combine needs to center glyphs within the vertical area.
​https://bugs.webkit.org/show_bug.cgi?id=138056

Adding pre-Yosemite test results.

  • platform/mac-mavericks/fast/text/tatechuyoko-expected.png: Added.
  • platform/mac-mavericks/fast/text/tatechuyoko-expected.txt: Added.
11:05 AM Changeset in webkit [175263] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Abandoned select option is reselected when shift selecting new options
​https://bugs.webkit.org/show_bug.cgi?id=137553

Patch by Pascal Jacquemart <​p.jacquemart@samsung.com> on 2014-10-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

Previous active selection is wrongly recorded by HTMLSelectElement after selecting a new item using
typeAhead. Fixed by clearing previously selected options before starting a new active selection.

Test: fast/forms/listbox-selection-after-typeahead.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectOption): Code re-ordering

LayoutTests:

Test checking a combination of mouse and keyboard selection events
on select-multiple element

  • fast/forms/listbox-selection-after-typeahead-expected.txt: Added.
  • fast/forms/listbox-selection-after-typeahead.html: Added.
11:01 AM Changeset in webkit [175262] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

Remove App.PaneController.bugsChangeCount in the new perf dashboard
​https://bugs.webkit.org/show_bug.cgi?id=138111

Reviewed by Darin Adler.

  • public/v2/app.js:

(App.PaneController.bugsChangeCount): Removed.
(App.PaneController.actions.associateBug): Call _updateMarkedPoints instead of incrementing bugsChangeCount.
(App.PaneController._updateMarkedPoints): Extracted from App.InteractiveChartComponent._updateDotsWithBugs.
Finds the list of current run's points that are associated with bugs.
(App.InteractiveChartComponent._updateMarkedDots): Renamed from _updateDotsWithBugs.

  • public/v2/chart-pane.css:

(.chart .marked): Renamed from .hasBugs.

  • public/v2/index.html: Specify chartPointRadius and markedPoints.
11:00 AM Changeset in webkit [175261] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Use constants from wtf/MathExtras.h
​https://bugs.webkit.org/show_bug.cgi?id=137967

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-28
Reviewed by Darin Adler.

Source/WebCore:

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::rotateCairoMatrixForVerticalOrientation):

  • rendering/mathml/RenderMathMLMenclose.cpp:

(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):

Source/WTF:

  • wtf/MathExtras.h:
10:58 AM Changeset in webkit [175260] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Selection gap painting is ugly for ruby bases.
​https://bugs.webkit.org/show_bug.cgi?id=138136

Reviewed by Dean Jackson.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGaps):
For ruby bases don't fill to the end of the block (in the block direction),
since ideographic baselines push that end below the text baseline.

(WebCore::RenderBlock::blockSelectionGaps):

  • rendering/RenderBlockFlow.cpp:

Skip ruby bases for block selection gap filling.

10:57 AM Changeset in webkit [175259] by Alan Bujtas
  • 142 edits
    4 adds in trunk

Speed up line parsing for simple line layout.
​https://bugs.webkit.org/show_bug.cgi?id=137275

Reviewed by Antti Koivisto.
Source/WebCore:

This patch speeds up the line parsing for simple line layout by
reducing the number of text measurement calls.
The parsing logic hasn't changed. We simply walk over
the whitespace/non-whitespace fragments and measure them to
figure out whether they fit.
The performance gain mainly comes from the more efficient line wrapping
so that we don't re-measure the fragment when it is pushed to
the next line.

No change in behaviour. (except the empty line-break run removal.)

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::skipWhitespace):
(WebCore::SimpleLineLayout::computeLineLeft):
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::LineState::LineState):
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun): adds uncommitted text to the line and creates a run out of it.
(WebCore::SimpleLineLayout::LineState::addUncommitted): appends fragment to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): appends whitespace to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::jumpTo): moves line's current position without committing text.
(WebCore::SimpleLineLayout::LineState::width): current width of the line including committed and uncommitted text.
(WebCore::SimpleLineLayout::LineState::fits): checks if committed + uncommitted text fits the line.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace): post processing the trailing whitespace.
(WebCore::SimpleLineLayout::initializeLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine): breaks the fragments into 2 so that the first (sub)fragment fits the line.
(WebCore::SimpleLineLayout::nextFragment): returns the next valid fragment of the text.
(WebCore::SimpleLineLayout::createLineRuns): creates runs for the current line and returns when we can't fit more text on the line.
(WebCore::SimpleLineLayout::updateLineConstrains): updates left/right constrains for the current line.
(WebCore::SimpleLineLayout::createTextRuns): creates runs for the whole text.
(WebCore::SimpleLineLayout::isWhitespace): Deleted.
(WebCore::SimpleLineLayout::skipWhitespaces): Deleted.
(WebCore::SimpleLineLayout::measureWord): Deleted.
(WebCore::SimpleLineLayout::adjustRunOffsets): Deleted.

  • rendering/SimpleLineLayout.h:

(WebCore::SimpleLineLayout::Run::Run):

LayoutTests:

This patch removes empty line-break runs. Rebaseline.

  • platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/css1/basic/containment-expected.txt:
  • platform/mac/css1/basic/contextual_selectors-expected.txt:
  • platform/mac/css1/basic/grouping-expected.txt:
  • platform/mac/css1/basic/id_as_selector-expected.txt:
  • platform/mac/css1/basic/inheritance-expected.txt:
  • platform/mac/css1/box_properties/border-expected.txt:
  • platform/mac/css1/box_properties/border_bottom-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_color-expected.txt:
  • platform/mac/css1/box_properties/border_color_inline-expected.txt:
  • platform/mac/css1/box_properties/border_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left-expected.txt:
  • platform/mac/css1/box_properties/border_left_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left_width-expected.txt:
  • platform/mac/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right-expected.txt:
  • platform/mac/css1/box_properties/border_right_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right_width-expected.txt:
  • platform/mac/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_style-expected.txt:
  • platform/mac/css1/box_properties/border_style_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top-expected.txt:
  • platform/mac/css1/box_properties/border_top_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top_width-expected.txt:
  • platform/mac/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_width-expected.txt:
  • platform/mac/css1/box_properties/border_width_inline-expected.txt:
  • platform/mac/css1/box_properties/clear-expected.txt:
  • platform/mac/css1/box_properties/clear_float-expected.txt:
  • platform/mac/css1/box_properties/float-expected.txt:
  • platform/mac/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/mac/css1/box_properties/float_margin-expected.txt:
  • platform/mac/css1/box_properties/height-expected.txt:
  • platform/mac/css1/box_properties/margin-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_left-expected.txt:
  • platform/mac/css1/box_properties/margin_left_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_right-expected.txt:
  • platform/mac/css1/box_properties/margin_right_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_top-expected.txt:
  • platform/mac/css1/box_properties/margin_top_inline-expected.txt:
  • platform/mac/css1/box_properties/padding-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_left-expected.txt:
  • platform/mac/css1/box_properties/padding_left_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_right-expected.txt:
  • platform/mac/css1/box_properties/padding_right_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_top-expected.txt:
  • platform/mac/css1/box_properties/padding_top_inline-expected.txt:
  • platform/mac/css1/box_properties/width-expected.txt:
  • platform/mac/css1/cascade/cascade_order-expected.txt:
  • platform/mac/css1/cascade/important-expected.txt:
  • platform/mac/css1/classification/display-expected.txt:
  • platform/mac/css1/classification/list_style-expected.txt:
  • platform/mac/css1/classification/list_style_image-expected.txt:
  • platform/mac/css1/classification/list_style_position-expected.txt:
  • platform/mac/css1/classification/list_style_type-expected.txt:
  • platform/mac/css1/classification/white_space-expected.txt:
  • platform/mac/css1/color_and_background/background-expected.txt:
  • platform/mac/css1/color_and_background/background_attachment-expected.txt:
  • platform/mac/css1/color_and_background/background_color-expected.txt:
  • platform/mac/css1/color_and_background/background_image-expected.txt:
  • platform/mac/css1/color_and_background/background_position-expected.txt:
  • platform/mac/css1/color_and_background/background_repeat-expected.txt:
  • platform/mac/css1/color_and_background/color-expected.txt:
  • platform/mac/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css1/font_properties/font_family-expected.txt:
  • platform/mac/css1/font_properties/font_size-expected.txt:
  • platform/mac/css1/font_properties/font_style-expected.txt:
  • platform/mac/css1/font_properties/font_variant-expected.txt:
  • platform/mac/css1/font_properties/font_weight-expected.txt:
  • platform/mac/css1/formatting_model/canvas-expected.txt:
  • platform/mac/css1/formatting_model/floating_elements-expected.txt:
  • platform/mac/css1/formatting_model/height_of_lines-expected.txt:
  • platform/mac/css1/formatting_model/inline_elements-expected.txt:
  • platform/mac/css1/formatting_model/replaced_elements-expected.txt:
  • platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/mac/css1/pseudo/anchor-expected.txt:
  • platform/mac/css1/pseudo/firstletter-expected.txt:
  • platform/mac/css1/pseudo/firstline-expected.txt:
  • platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/mac/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/mac/css1/text_properties/letter_spacing-expected.txt:
  • platform/mac/css1/text_properties/line_height-expected.txt:
  • platform/mac/css1/text_properties/text_align-expected.txt:
  • platform/mac/css1/text_properties/text_decoration-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/css1/text_properties/text_transform-expected.txt:
  • platform/mac/css1/text_properties/vertical_align-expected.txt:
  • platform/mac/css1/text_properties/word_spacing-expected.txt:
  • platform/mac/css1/units/color_units-expected.txt:
  • platform/mac/css1/units/length_units-expected.txt:
  • platform/mac/css1/units/percentage_units-expected.txt:
  • platform/mac/css1/units/urls-expected.txt:
  • platform/mac/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/mac/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/mac/editing/selection/designmode-no-caret-expected.txt:
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/forms/targeted-frame-submission-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/html/listing-expected.txt:
  • platform/mac/fast/invalid/junk-data-expected.txt:
  • platform/mac/fast/invalid/missing-end-tag-expected.txt:
  • platform/mac/fast/loader/text-document-wrapping-expected.txt:
  • platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/mac/fast/text/whitespace/001-expected.txt: Added.
  • platform/mac/fast/text/whitespace/013-expected.txt: Added.
  • platform/mac/fast/text/whitespace/014-expected.txt: Added.
  • platform/mac/fast/text/whitespace/022-expected.txt: Added.
  • platform/mac/fast/text/whitespace/024-expected.txt:
  • platform/mac/fast/text/whitespace/030-expected.txt:
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/http/tests/misc/acid3-expected.txt:
  • platform/mac/svg/custom/bug45331-expected.txt:
  • platform/mac/svg/custom/junk-data-expected.txt:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/hixie/error/012-expected.txt:
  • platform/mac/tables/mozilla/bugs/45621-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
10:55 AM Changeset in webkit [175258] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r175249.
​https://bugs.webkit.org/show_bug.cgi?id=138138

Appears to be failing some JS tests (Requested by mlam_ on
#webkit).

Reverted changeset:

"Holes are not copied properly when Arrays change shape to
ArrayStorage type."
​https://bugs.webkit.org/show_bug.cgi?id=138118
​http://trac.webkit.org/changeset/175249

10:52 AM Changeset in webkit [175257] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

import-w3c-tests should use re.escape() wherever it's handling file paths
​https://bugs.webkit.org/show_bug.cgi?id=137934

This patch adds re.escape() to a few places where we're doing string
conversions. This prevents errors when attribute values coincidentally
have character sequences that can be interpreted as regular expressions.

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-10-28
Reviewed by Bem Jones-Bey.

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.convert_attributes_if_needed):

10:37 AM Changeset in webkit [175256] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove an inaccurate comment in WKActionMenuController
​https://bugs.webkit.org/show_bug.cgi?id=138135

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
The comment is wrong; the separator is there for spacing, not just as a workaround.

10:17 AM Changeset in webkit [175255] by commit-queue@webkit.org
  • 39 edits
    1 copy
    17 adds in trunk/LayoutTests

Update CSS shapes suite import
​https://bugs.webkit.org/show_bug.cgi?id=138045

This patch is a full re-import of the CSS Shapes test suite from the W3C
test repo and an updated TestExpectations file to match the current
results.

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-10-28
Reviewed by Benjamin Poulain.

  • TestExpectations:
  • css3/shapes/shape-outside/shape-box/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/gradients/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/shape-image-000-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-001-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-002-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-002.html:
  • css3/shapes/shape-outside/shape-image/shape-image-003-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-003.html:
  • css3/shapes/shape-outside/shape-image/shape-image-004-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-005-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-005.html:
  • css3/shapes/shape-outside/shape-image/shape-image-006-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-006.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-007-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-007.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-008-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-008.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-009-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-009.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-010-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-010.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-011-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-011.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-013-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-013.html:
  • css3/shapes/shape-outside/shape-image/shape-image-014-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-014.html:
  • css3/shapes/shape-outside/shape-image/shape-image-015-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-015.html:
  • css3/shapes/shape-outside/shape-image/shape-image-016-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-016.html:
  • css3/shapes/shape-outside/shape-image/shape-image-017-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-017.html:
  • css3/shapes/shape-outside/shape-image/shape-image-024-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-024.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-025-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-025.html: Added.
  • css3/shapes/shape-outside/shape-image/support/animated.gif: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.png:
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-20.png:
  • css3/shapes/shape-outside/shape-image/support/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/circle/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/ellipse/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/inset/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
  • css3/shapes/shape-outside/supported-shapes/polygon/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/support/w3c-import.log: Copied from LayoutTests/css3/shapes/shape-outside/values/support/w3c-import.log.
  • css3/shapes/shape-outside/values/shape-image-threshold-001.html:
  • css3/shapes/shape-outside/values/support/w3c-import.log:
  • css3/shapes/shape-outside/values/w3c-import.log:
  • css3/shapes/spec-examples/shape-outside-019-expected.html:
  • css3/shapes/spec-examples/support/w3c-import.log:
  • css3/shapes/spec-examples/w3c-import.log:
  • css3/shapes/w3c-import.log:
9:44 AM Changeset in webkit [175254] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Windows build fix.

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::switchToNewTestingSession): Use a WTF function
for getting current process ID instead of getpid().

9:30 AM Changeset in webkit [175253] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Remove unnecessary defines from OptionsEfl.cmake
​https://bugs.webkit.org/show_bug.cgi?id=138132

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-10-28
Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake:

Source/WTF:

  • wtf/Platform.h:
9:05 AM Changeset in webkit [175252] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

Clean up subtrees selection code
​https://bugs.webkit.org/show_bug.cgi?id=137740

Reviewed by David Hyatt.

Clean up subtrees selection code. Add a new class SelectionSubtreeData
that keeps only the selection data. Have SelectionSubtreeRoot class embed
a SelectionSubtreeData member and keep the business logic methods.
No functionality changed therefore no new layout tests.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionStartEnd):

  • rendering/RenderView.cpp:

(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):

  • rendering/RenderView.h:
  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
(WebCore::SelectionSubtreeRoot::selectionData):
(WebCore::SelectionSubtreeRoot::setSelectionData):
(WebCore::SelectionSubtreeRoot::selectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEndPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Deleted.
(WebCore::SelectionSubtreeRoot::selectionClear): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEndPos): Deleted.

9:04 AM Changeset in webkit [175251] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] The first software paint of a <video> element takes up to 2.5s.
​https://bugs.webkit.org/show_bug.cgi?id=137754

Reviewed by Brent Fulgham.

It turns out that, if you pass nil to -[AVPlayerItemVideoOutput initWithPixelBufferAttributes:]
the video output will not attempt to conform the resulting pixel buffers into a particular format.
This means that adding such a video output to a AVPlayerItem should have almost no performance
penalty, since the video output does not even copy the resulting buffers, but rather just retains
and returns the ones from the AVPlayerLayer.

Create and attach an AVPlayerItemVideoOutput after creating the AVPlayerItem, but before attaching
the player item to the AVPlayer. This eliminates the reconfigure step which occurs after attaching
a video output to an already attached AVPlayerItem.

When creating the AVPlayerItemVideoOutput, pass in nil for the pixelBufferAttributes parameter.

Instead of blocking waiting for output from the AVPlayerItemVideoOutput during creating, block and
whait when asked to paint with the video output.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

8:35 AM Changeset in webkit [175250] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move text decoration CSS properties to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138121

Reviewed by Antti Koivisto.

Move text decoration CSS properties from DeprecatedStyleBuilder to the
new StyleBuilder so that they are generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextDecoration::applyValue): Deleted.
(WebCore::ApplyPropertyTextDecoration::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTextDecoration):

8:29 AM Changeset in webkit [175249] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Holes are not copied properly when Arrays change shape to ArrayStorage type.
<​https://webkit.org/b/138118>

Reviewed by Mark Hahnenberg.

When we convert non-ArrayStorage typed arrays into ArrayStorage typed arrays,
we skipped the holes. As a result, the slots in the ArrayStorage vector that
corresponds to those holes are uninitialize. This is now fixed.

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

7:14 AM Changeset in webkit [175248] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Remove an unused include from Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp
​https://bugs.webkit.org/show_bug.cgi?id=138130

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-10-28
Reviewed by Csaba Osztrogonác.

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
6:53 AM Changeset in webkit [175247] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.7.1

WebKitGTK+ 2.7.1

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

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.1.
5:49 AM Changeset in webkit [175245] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Remove GDK dependency from SharedTimerGtk
​https://bugs.webkit.org/show_bug.cgi?id=138092

Reviewed by Martin Robinson.

It depends on GDK just to use GDK_PRIORITY_REDRAW constant, we can
use its value directly instead.

  • PlatformGTK.cmake:
  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval):

12:05 AM Changeset in webkit [175244] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] OS X Mavericks build broken with public SDK
​https://bugs.webkit.org/show_bug.cgi?id=138108

Reviewed by Mark Rowe.

  • Shared/API/Cocoa/WKFoundation.h: Only define the NSEventModifierFlags type when using a

version of the OS X SDK that doesn’t define it.

Oct 27, 2014:

10:46 PM Changeset in webkit [175243] by mark.lam@apple.com
  • 3 edits
    6 adds in trunk

Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<​https://webkit.org/b/137814>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL. This was the source of the crash, and is now fixed.

In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object. The thunk only checks the butterfly's
publicLength for its iteration operation. Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk. The fix is simply to limit the fast
case checks in this thunk to Array objects.

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

LayoutTests:

  • js/array-length-shortening-expected.txt: Added.
  • js/array-length-shortening.html: Added.
  • js/for-of-crash-expected.txt: Added.
  • js/for-of-crash.html: Added.
  • js/script-tests/array-length-shortening.js: Added.

(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):

  • js/script-tests/for-of-crash.js: Added.

(foo):

10:39 PM Changeset in webkit [175242] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Move RenderBlock::beingDestroyed() to RenderObject.
<​https://webkit.org/b/138116>

Reviewed by Antti Koivisto.

Make "is being destroyed" a RenderObject concept instead of restricting
it to RenderBlocks. I'm guessing that this was specific to blocks due to
lack of bitfield space in RenderObject, and that's no longer an issue.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::beingDestroyed): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::destroy):

  • rendering/RenderObject.h:

(WebCore::RenderObject::beingDestroyed):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):

10:38 PM Changeset in webkit [175241] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: input type=hidden is being exposed when aria-hidden=false
​https://bugs.webkit.org/show_bug.cgi?id=138106

Reviewed by Benjamin Poulain.

Source/WebCore:

If an input type=hidden was inside an aria-hidden=false, it would appear because
the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
We should explicity check for whether the type is hidden and then return an appropriate role.

Test: accessibility/input-type-hidden-in-aria-hidden-false.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

  • accessibility/input-type-hidden-in-aria-hidden-false-expected.txt: Added.
  • accessibility/input-type-hidden-in-aria-hidden-false.html: Added.
10:05 PM Changeset in webkit [175240] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Simplified some JSObject methods for converting arrays to ArrayStorage shape.
<​https://webkit.org/b/138119>

Reviewed by Filip Pizlo.

Currently, for each Undecided, Int32, Double, and Contiguous array shapes,
there are 3 JSObject methods to convert them to ArrayStorage shape:

ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition, unsigned neededLength);
ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition);
ArrayStorage* convert<shape>ToArrayStorage(VM&);

However, the neededLength that is passed is always m_butterfly->vectorLength().
Hence, the method that takes a neededLength is really not needed. This patch
removes this unneeded verbosity.

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):

  • Also reordered the placement of the DeferGC statement so this Int32 function will look more similar to the others.

(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

  • runtime/JSObject.h:
8:46 PM Changeset in webkit [175239] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175235. rdar://problem/18787412

8:05 PM Changeset in webkit [175238] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

NSSharingService protocol conformance should be internal to WKActionMenuController
​https://bugs.webkit.org/show_bug.cgi?id=138112

Patch by Conrad Shultz <Conrad Shultz> on 2014-10-27
Reviewed by Tim Horton.

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

Move protocol conformance from the interface to a class extension.

7:49 PM Changeset in webkit [175237] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

​https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

6:00 PM Changeset in webkit [175236] by hyatt@apple.com
  • 4 edits
    3 adds in trunk

text-combine needs to center text within the vertical space using glyph bounds
​https://bugs.webkit.org/show_bug.cgi?id=138056
<rdar://problem/15403667>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/text/tatechuyoko.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::RenderCombineText):
(WebCore::RenderCombineText::adjustTextOrigin):
(WebCore::RenderCombineText::combineText):

  • rendering/RenderCombineText.h:

LayoutTests:

  • fast/text/tatechuyoko.html: Added.
  • platform/mac/fast/text/tatechuyoko-expected.png: Added.
  • platform/mac/fast/text/tatechuyoko-expected.txt: Added.
5:36 PM Changeset in webkit [175235] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebKit::WebPage::expandedRangeFromHandle.
​https://bugs.webkit.org/show_bug.cgi?id=138023
rdar://problem/18787412

Reviewed by Ryosuke Niwa.

We must change that we have a valid currentRange before trying
to expand or contract.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::changeBlockSelection):

4:13 PM Changeset in webkit [175234] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

REGRESSION: commit logs are not shown sometimes on the new dashboard UI
​https://bugs.webkit.org/show_bug.cgi?id=138099

Reviewed by Benjamin Poulain.

The bug was caused by _currentItemChanged not passing the previous point in the list of points and also
_showDetails inverting the order of the current and old measurements.

  • public/v2/app.js:

(App.PaneController._currentItemChanged): Pass in the previous point to _showDetails when there is one.
(App.PaneController._showDetails): Since points are ordered chronologically, the last point is the
current (latest) measurement and the first point is the oldest measurement.
(App.CommitsViewerComponent.commitsChanged): Don't show a single measurement as a range for clarity.

3:55 PM Changeset in webkit [175233] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Cleanup after r175213: fastGetAttribute().isNull() should be fastHasAttribute()

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Darin spotted this mistake.

2:59 PM Changeset in webkit [175232] by ap@apple.com
  • 7 edits in trunk

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots
​https://bugs.webkit.org/show_bug.cgi?id=138098

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::switchToNewTestingSession):
Create a separate session for each WKTR/DRT process when testing.

Source/WebKit2:

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:

Update for the new name of testing session. Memory regions are now of the form
"WebKit Test-<pid>-0".

LayoutTests:

  • platform/mac-wk1/TestExpectations: Removed the test from expectations. It's still

skipped on WK2, because we don't yet implement the necessary WKTR functionality.

2:08 PM Changeset in webkit [175231] by Chris Dumez
  • 13 edits in trunk/Source

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
​https://bugs.webkit.org/show_bug.cgi?id=138079

Reviewed by Anders Carlsson.

Source/WebCore:

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap:

  • a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers
  • a HashMap<String, String, CaseFoldingHash> for uncommon ones

This avoids having to construct Strings from HTTPHeaderMap values for
storing. This also means we have less isolated String copies to do when
creating cross-thread data. The common headers HashMap should also be
a bit more efficient due to faster hashing and faster key comparison in
case of collision.

Some calls sites can also benefit from having direct access to common
headers of the request in HTTPHeaderName type.

This patch adds a new HTTPHeaderMapConstIterator iterator type for
HTTPHeaderMap so that call sites that do not need / want to distinguish
common / uncommon headers still do not need to. They can keep using
modern C++ loops over HTTPHeaderMap objects and get <String, String>
key/value pairs.

No new tests, no behavior change.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

(WebCore::isSimpleCrossOriginAccessRequest):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/CrossOriginAccessControl.h:

Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
Call httpHeaderFields().commonHeaders().find() instead of
httpHeaderFields().find() as we are looking for a common header.
HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a
HashMap dedicated to common headers.

  • loader/cache/CachedRawResource.cpp:

(WebCore::shouldIgnoreHeaderForCacheReuse):
Update argument type to be a HTTPHeaderName instead of a String as
only common HTTP headers can be ignored for cache reuse. The
implementation already dealt with HTTPHeaderName type and had to
call findHTTPHeaderName(). This is no longer needed now that the
call site now has direct access to common headers in HTTPHeaderName
type.

(WebCore::CachedRawResource::canReuse):

  • Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers.
  • Slightly optimize the second loop (the one over oldHeaderMap) to only check that the key is present in newHeaderMap, without actually comparing the String values. If the String values were different, the first loop would have seen it already and we would have returned early.

Source/WebKit2:

Update the WK2 IPC HTTPHeaderMap serialization / deserialization code
to leverage the fact that HTTPHeaderMap now stores common HTTP headers
and uncommon one in separate HashMaps. This speeds up deserialization
as we no longer need to call findHTTPHeaderName() for every decoded
header. We already know if the header is a common one or not, and if
it is then we already have a HTTPHeaderName type instead of a String.

I see that we spend ~40% less time in HTTPHeaderMap decoding when
loading ​http://flickr.com/explore, while the encoding takes about
the same amount of time as before.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::encode):
(IPC::ArgumentCoder<HTTPHeaderMap>::decode):

Source/WTF:

Add HashTraits for C++11 strong enum types. Using integer HashTraits for
strong enums would be inconvenient as it would require casting between
integer and strong enum types.

  • wtf/HashTraits.h:

(WTF::StrongEnumHashTraits::emptyValue):
(WTF::StrongEnumHashTraits::constructDeletedValue):
(WTF::StrongEnumHashTraits::isDeletedValue):

1:42 PM Changeset in webkit [175230] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Devirtualize RenderDeprecatedFlexibleBox::isStretchingChildren().
<​https://webkit.org/b/138096>

Reviewed by Chris Dumez.

This function is only ever called on a renderer after we've checked
that it's a RenderDeprecatedFlexibleBox, so make it non-virtual.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight):

  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderObject.h:
1:08 PM Changeset in webkit [175229] by Beth Dakin
  • 4 edits in trunk/Source/WebKit/mac

Provide a way for WebKit1 clients to override default action menu items
​https://bugs.webkit.org/show_bug.cgi?id=138066
-and corresponding-
rdar://problem/18451638

Reviewed by Anders Carlsson.

WebActionMenuController now has an ivar for the WebActionMenuType so that it can
send that along to clients customizing the menu.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

New enum and new SPI to customize menus.

  • WebView/WebUIDelegatePrivate.h:
1:06 PM Changeset in webkit [175228] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Reintroduce null check removed in r175222
​https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Reintroduce null check removed in r175222 as several layout tests are
crashing on the bots without them. At least the Pair pointer can be
null according to the assertion hits on the bots.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

12:43 PM Changeset in webkit [175227] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add [ Yosemite ] modifier to a couple of tests in section 7.

These two tests fail with PPT, so they are expected to pass on 10.8. Our current
approach is a have separate sections for Mavericks and Yosemite, even for PPT
specific failures that affect both.

  • platform/mac-wk2/TestExpectations:
12:31 PM Changeset in webkit [175226] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r175158. rdar://problem/18571212

12:03 PM Changeset in webkit [175225] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175157. rdar://problem/18739335

12:01 PM Changeset in webkit [175224] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175153. rdar://problem/18739335

11:31 AM Changeset in webkit [175223] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots.
​https://bugs.webkit.org/show_bug.cgi?id=138098.

Updated Expectations.

  • platform/mac-wk1/TestExpectations:
11:26 AM Changeset in webkit [175222] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move radius CSS properties to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Move radius CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder so that they are now generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderRadius::setValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::applyValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

11:06 AM Changeset in webkit [175221] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Shrink MathMLOperatorDictionary::dictionary table
​https://bugs.webkit.org/show_bug.cgi?id=137914

Reviewed by Darin Adler.

Improve packing of the Entry structure that's used for elements
of the MathMLOperatorDictionary::dictionary table. This drops the
size of the struct from 16 bytes to just 4 bytes, and shrinks the
size of the dictionary table from rougly 16 kB down to 4 kB.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::RenderMathMLOperator::setOperatorProperties):

  • rendering/mathml/RenderMathMLOperator.h:
10:33 AM Changeset in webkit [175220] by commit-queue@webkit.org
  • 1 edit
    54 deletes in trunk/LayoutTests

Some test for multicol were redundant.
​https://bugs.webkit.org/show_bug.cgi?id=133084

Patch by Piotr Grad <​p.grad@samsung.com> on 2014-10-27
Reviewed by Andreas Kling.

  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html: Removed.
10:20 AM Changeset in webkit [175219] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Move canContainFixedPositionObjects() to RenderElement.
<​https://webkit.org/b/138088>

Reviewed by Mihnea Ovidenie.

Only RenderElement can contain other renderers, so it's not really
natural to answer this question on RenderObject anyway.

Moving it to RenderElement lets it access more efficient getters
that don't have to handle the RenderText case.

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainFixedPositionObjects):

  • rendering/RenderObject.h:

(WebCore::RenderObject::canContainFixedPositionObjects): Deleted.

10:08 AM Changeset in webkit [175218] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/track/audio-track.html is flaky on Yosemite
​https://bugs.webkit.org/show_bug.cgi?id=137882

  • platform/mac/TestExpectations: Marking it as such.
9:31 AM Changeset in webkit [175217] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175145. rdar://problem/18376333

1:09 AM Changeset in webkit [175216] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175143. rdar://problem/18692335

Oct 26, 2014:

11:51 PM Changeset in webkit [175215] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r173999 - [GTK] Enable CSS_IMAGE_SET in production builds
​https://bugs.webkit.org/show_bug.cgi?id=137142

Reviewed by Alejandro G. Castro.

This is required by the inspector to show some of the icons that
has a HiDPI variant.

  • Source/cmake/OptionsGTK.cmake:
11:29 PM Changeset in webkit [175214] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

9:28 PM Changeset in webkit [175213] by benjamin@webkit.org
  • 9 edits
    2 adds in trunk

Images with usemap should not have a link state
​https://bugs.webkit.org/show_bug.cgi?id=138071

Reviewed by Andreas Kling.

Source/WebCore:

Image tags were incorrectly getting a link state if a usemap is defined.
The <area> of the usemap is supposed to get the link state, but never the image.

Unfortunately, the Accessibility code was relying on the wrong behavior
to set the ImageMapRole, most of the patch is updating that code to get
the correct role without the link state.

Test: fast/selectors/images-with-usemap-should-not-match-link.html

The accessibility code is covered by a few tests in accessibility/.
The test accessibility/aria-used-on-image-maps.html ensure the <area>
elements also get the correct role.

  • dom/Node.h:

(WebCore::Node::setIsLink):
(WebCore::Node::clearIsLink): Deleted.
Unused code.

(WebCore::Node::isLink):
Move with its setter for clarity.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
This is the bug.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Here the branches for the role ImageMap where behind isLink() which would
never be valid after the fix.

My fix here was to use the same definition previously set by HTMLImageElement::parseAttribute(),
any usemap attribute qualifies the node for ImageMapRole.

(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::linkedUIElements):
(WebCore::AccessibilityRenderObject::url):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isAnchor): Deleted.
Something funny I discovered is the Accessibility code worked around the bug
by defining isAnchor() that exclude images from isLink().

Since isLink() will no longer be true for images, the hack can be removed.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::AccessibilityNodeObject::isAnchor): Deleted.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

  • fast/selectors/images-with-usemap-should-not-match-link-expected.txt: Added.
  • fast/selectors/images-with-usemap-should-not-match-link.html: Added.
9:20 PM Changeset in webkit [175212] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebCore

Replace Element::didAffectSelector() by setNeedsStyleRecalc()
​https://bugs.webkit.org/show_bug.cgi?id=138080

Reviewed by Andreas Kling.

Element::didAffectSelector() was probably an optimization at some point,
with the current code is does nothing more than setNeedsStyleRecalc().

  • dom/Document.cpp:

(WebCore::Document::setCSSTarget):

  • dom/Element.cpp:

(WebCore::Element::didAffectSelector): Deleted.

  • dom/Element.h:
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledStateChanged):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):
(WebCore::HTMLOptionElement::setSelectedState):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didElementStateChange):

3:25 PM Changeset in webkit [175211] by akling@apple.com
  • 10 edits in trunk/Source/WebCore

Move some RenderObject member functions to RenderElement.
<​https://webkit.org/b/138085>

Reviewed by Chris Dumez.

Move these two functions to RenderElement:

  • handleDynamicFloatPositionChange()
  • removeAnonymousWrappersForInlinesIfNecessary()

Also make childBecameNonInline() take a RenderElement& since
that's all we ever pass to it.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::childBecameNonInline):

  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::childBecameNonInline):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::handleDynamicFloatPositionChange):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):

  • rendering/RenderElement.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::childBecameNonInline):

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::handleDynamicFloatPositionChange): Deleted.
(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): Deleted.

  • rendering/RenderObject.h:
1:20 PM Changeset in webkit [175210] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Move continuation teardown from subclasses to RenderBoxModelObject.
<​https://webkit.org/b/138081>

Reviewed by Antti Koivisto.

Let RenderBoxModelObject::willBeDestroyed() tear down any continuation
instead of having every subclass do this themselves.

Also added a RenderElement bit tracking whether the renderer has a
continuation. This avoids a hash lookup every time we destroy a
RenderBoxModelObject that didn't have a continuation.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::continuationMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::continuation):
(WebCore::RenderBoxModelObject::setContinuation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::setHasContinuation):
(WebCore::RenderElement::hasContinuation):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

Oct 25, 2014:

10:47 PM Changeset in webkit [175209] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove a useless variable from SelectorCodeGenerator::generateElementMatchesSelectorList()
​https://bugs.webkit.org/show_bug.cgi?id=138076

Reviewed by Alexey Proskuryakov.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
The variable elementAddressRegisterIndex was just needed for debugging, it is useless now.

9:47 PM WebKitGTK/KeepingTheTreeGreen edited by yoon@igalia.com
(diff)
9:44 PM Changeset in webkit [175208] by yoon@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening after r174685.

  • platform/gtk/TestExpectations: Report new failures and update expectations.
9:12 PM Changeset in webkit [175207] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix link to Arch Linux Wiki
​https://bugs.webkit.org/show_bug.cgi?id=138010

Patch by Raniere Silva <​raniere@ime.unicamp.br> on 2014-10-25
Reviewed by Benjamin Poulain.

  • gtk/install-dependencies:
8:52 PM Changeset in webkit [175206] by Brian Burg
  • 4 edits in trunk/Source

Web Inspector: timelines should not count time elapsed while paused in the debugger
​https://bugs.webkit.org/show_bug.cgi?id=136351

Unreviewed, follow-up fix after r175203. The debugger agent should not assume
that the inspector environment's stopwatch has already been started.

Source/JavaScriptCore:

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::didPause): Check if the stopwatch isActive() before stopping.

Source/WTF:

  • wtf/Stopwatch.h:

(WTF::Stopwatch::isActive): Added. Allow peeking at the stopwatch state.

8:25 PM Changeset in webkit [175205] by ap@apple.com
  • 7 edits
    6 copies
    6 adds in trunk/LayoutTests

Land Yosemite results for six editing/selection/vertical* tests.

These failures used to be mostly hidden because of bug 138070, now they are visible.
The change is due to different fonts.

  • platform/mac-mavericks/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt.
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
4:29 PM Changeset in webkit [175204] by ap@apple.com
  • 5 edits in trunk/Tools

Test regressions are not detected when image result is missing
​https://bugs.webkit.org/show_bug.cgi?id=138070

Reviewed by Simon Fraser.

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:
  • Scripts/webkitpy/layout_tests/views/buildbot_results.py:

Count these as regressions, not as flaky tests.

  • Scripts/webkitpy/port/test.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

Test it.

3:05 PM Changeset in webkit [175203] by Brian Burg
  • 39 edits
    1 add in trunk/Source

Web Inspector: timelines should not count time elapsed while paused in the debugger
​https://bugs.webkit.org/show_bug.cgi?id=136351

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Now that we have a stopwatch to provide pause-aware timing data, we can remove the
profiler's handling of debugger pause/continue callbacks. The debugger agent accounts
for suspended execution by pausing and resuming the stopwatch.

  • API/JSProfilerPrivate.cpp:

(JSStartProfiling): Use a fresh stopwatch when profiling from the JSC API.

  • inspector/InspectorEnvironment.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::executionStopwatch):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::handlePause):

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::didContinue):

  • inspector/agents/InspectorDebuggerAgent.h:
  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::profiler): Use nullptr.
(JSC::LegacyProfiler::startProfiling): Hand off a stopwatch to the profile generator.
(JSC::LegacyProfiler::stopProfiling): Use nullptr.
(JSC::LegacyProfiler::didPause): Deleted.
(JSC::LegacyProfiler::didContinue): Deleted.

  • profiler/LegacyProfiler.h:
  • profiler/Profile.cpp: The root node should always have a start time of 0.0.

(JSC::Profile::Profile):

  • profiler/ProfileGenerator.cpp: Remove debugger pause/continue callbacks and the

timestamp member that was used to track time elapsed by the debugger. Just use the
stopwatch's elapsed times to generate start/elapsed times for function calls.

(JSC::ProfileGenerator::create):
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::operator()): The parent node of |console.profile|
should have a start time of 0.0, since it represents the starting node of profiling.

(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause): Deleted.
(JSC::ProfileGenerator::didContinue): Deleted.

  • profiler/ProfileGenerator.h:

Source/WebCore:

To avoid counting time elapsed while the debugger is paused, timeline records should
keep track of time elapsed since the start of timeline capturing, rather than wall clock
timestamps. We can easily compute elapsed time by sharing a Stopwatch instance through the
inspector environment. The stopwatch runs with timelines and is paused with the debugger,
so subsequent time measurements will not include time elapsed while the debugger is paused.

This refactoring is safe because start and end times are only used to graph records; the
timestamp's actual value is irrelevant and is not displayed in the user interface. Date
timestamps are still included with network-related records as part of their header data.

No new tests, because we cannot reliably test timing changes induced by debugger pauses.
It is possible for records to accrue time before the debugger pauses or after it resumes.

  • inspector/InspectorCSSAgent.cpp: Remove unnecessary include.
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::executionStopwatch): Add a shared stopwatch.

  • inspector/InspectorController.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::InspectorPageAgent::domContentEventFired):
(WebCore::InspectorPageAgent::loadEventFired):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStart): Start and stop the stopwatch with timelines.
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::startProfiling):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::TimelineTimeConverter::reset): Deleted.

  • inspector/InspectorTimelineAgent.h:

(WebCore::TimelineTimeConverter::TimelineTimeConverter): Deleted.
(WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime): Deleted.
(WebCore::InspectorTimelineAgent::timeConverter): Deleted.

  • inspector/TimelineRecordFactory.cpp:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::executionStopwatch): Add a shared stopwatch.

  • inspector/WorkerInspectorController.h:

Source/WebInspectorUI:

Don't update the timeline's current time when the debugger is paused.

Start and end times for timeline records are now in seconds elapsed since timeline
recording started, rather than milliseconds since the epoch. Also convert code that
tracks page/resource load timings to use elapsed times rather than timestamps.

Add a workaround to preserve compatibility with old backends. Convert legacy timestamps
in multiple agents to elapsed times.

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):

  • UserInterface/Controllers/ProbeManager.js:
  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.computeElapsedTime): Forward to the active TimelineRecording.
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype.pageDidLoad):
(WebInspector.TimelineManager.prototype._loadNewRecording):

  • UserInterface/Models/Probe.js:

(WebInspector.ProbeSample):

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.updateForRedirectResponse):
(WebInspector.Resource.prototype.updateForResponse):
(WebInspector.Resource.prototype.increaseSize):
(WebInspector.Resource.prototype.markAsFinished):
(WebInspector.Resource.prototype.markAsFailed):
(WebInspector.Resource.prototype.revertMarkAsFinished):

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype.computeElapsedTime):

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._debuggerPaused):
(WebInspector.TimelineContentView.prototype._debuggerResumed):

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.

(WTF::Stopwatch::create):
(WTF::Stopwatch::Stopwatch):
(WTF::Stopwatch::reset):
(WTF::Stopwatch::start):
(WTF::Stopwatch::stop):
(WTF::Stopwatch::elapsedTime):

12:58 PM Changeset in webkit [175202] by ap@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Add Mavericks results for platform/mac/editing/spelling/delete-autocorrected-word-2.html, too.

Yosemite, Mavericks and Mountain Lion all have different results.

  • platform/mac-mavericks/platform/mac/editing/spelling/delete-autocorrected-word-2-expected.txt: Added.
12:25 PM Changeset in webkit [175201] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Update Yosemite results for platform/mac/editing/spelling/delete-autocorrected-word-2.html.

Looks like this got confused during Yosemite tests landing.

This test is currently marked as failing on WK2, but it passed for me, so maybe we
can mark it as passing there too. Tracked as bug 105616.

  • platform/mac/editing/spelling/delete-autocorrected-word-2-expected.png:
  • platform/mac/editing/spelling/delete-autocorrected-word-2-expected.txt:
12:21 PM Changeset in webkit [175200] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fix builds using the public SDK.

  • platform/spi/cocoa/NSExtensionSPI.h:
12:10 PM Changeset in webkit [175199] by ap@apple.com
  • 2 edits
    1 copy
    2 deletes in trunk/LayoutTests

Update results for compositing/rtl/rtl-fixed-overflow-scrolled.html.

Prior to Yosemite results landing, this test was marked as failing on WK2, and its
results matched WK1. It got changed several times during the merge, so it ended
up being marked as failing on WK1, but with WK1 results landed.

Let's land WK2 results and keep testing on WK2. Also, Mavericks results were no different
from Yosemite.

  • platform/mac-mavericks/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Removed.
  • platform/mac-mavericks/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt: Removed.
  • platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Copied from LayoutTests/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png.
  • platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
2:42 AM WebKitGTK/KeepingTheTreeGreen edited by yoon@igalia.com
(diff)

Oct 24, 2014:

8:18 PM Changeset in webkit [175198] by Lucas Forschler
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

7:37 PM Changeset in webkit [175197] by Alan Bujtas
  • 5 edits
    2 adds in trunk

Clamp wordSpacing percentage value.
​https://bugs.webkit.org/show_bug.cgi?id=129350.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-24
Reviewed by Zalan Bujtas.

Source/WebCore:

When the CSS wordSpacing property is percentage, its value has to be within the
pre-defined min/max values for the CSS length type. This is done the same way
the wordSpacing of type <length> is handled.

Tests: css3/infinite-word-spacing.html.

Move the definitions of minValueForCssLength and maxValueForCssLength from the
.cpp file to the .h file.

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

Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when
its type is percentage.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyWordSpacing::applyValue):

LayoutTests:

Make sure that setting the CSS style wordSpacing property to very huge percentage
value and blending this value with other values for animating key frames does
not assert or crash. The expectation is to have this huge value to be clamped to
the pre-defined min/max values for the CSS length type. So when blending the clamped
value with other wordSpacing values, the result can't be NaN. This should be very
similar to the case when it is set to a huge <length> value.

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
7:15 PM Changeset in webkit [175196] by benjamin@webkit.org
  • 5 edits in trunk/Source

Fix the iOS build

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-24

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig:
  • WebView/WebView.mm:

Source/WebKit2:

  • Configurations/WebKit.xcconfig:
5:50 PM Changeset in webkit [175195] by Lucas Forschler
  • 1 copy in tags/Safari-600.3.1

New Tag.

5:12 PM Changeset in webkit [175194] by ap@apple.com
  • 2 edits
    2 copies
    1 add in trunk/LayoutTests

Update Yosemite results for fast/block/float/overhanging-tall-block.html for
font size differences.

The test fails pixel results, filed bug 138065 to track that.

  • platform/mac-mavericks/fast/block/float: Added.
  • platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.png.
  • platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.txt.
  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
4:51 PM Changeset in webkit [175193] by Beth Dakin
  • 6 edits
    1 add in trunk/Source/WebKit2

_actionMenuItemsForHitTestResult should also take a type indicating what the menu
was built for
​https://bugs.webkit.org/show_bug.cgi?id=138063

Reviewed by Dan Bernstein.

New type enum that can be used by clients.

  • Shared/API/c/WKActionMenuTypes.h: Added.

Remove the old SPI and add the new.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:]):
(-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]): Deleted.

Now keep an ivar for the type.

  • UIProcess/mac/WKActionMenuController.h:

Create a category for the old SPI so that we can still call it if clients have
implemented it.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController initWithPage:view:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):

  • WebKit2.xcodeproj/project.pbxproj:
4:51 PM Changeset in webkit [175192] by ap@apple.com
  • 5 edits
    4 copies in trunk/LayoutTests

Update media test results for Yosemite.

media/controls-styling.html appears to actually fail, filed bug 138064 about that.
media/video-zoom-controls.html results are not great; Dean reportedly has a fix for that.

  • platform/mac-mavericks/media/controls-styling-expected.png: Copied from LayoutTests/platform/mac/media/controls-styling-expected.png.
  • platform/mac-mavericks/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac/media/controls-styling-expected.txt.
  • platform/mac-mavericks/media/video-zoom-controls-expected.png: Copied from LayoutTests/platform/mac/media/video-zoom-controls-expected.png.
  • platform/mac-mavericks/media/video-zoom-controls-expected.txt: Copied from LayoutTests/platform/mac/media/video-zoom-controls-expected.txt.
  • platform/mac/media/controls-styling-expected.png:
  • platform/mac/media/controls-styling-expected.txt:
  • platform/mac/media/video-zoom-controls-expected.png:
  • platform/mac/media/video-zoom-controls-expected.txt:
4:13 PM Changeset in webkit [175191] by ap@apple.com
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove MountainLion results that I incorrectly copied. These are the same as Mavericks.

  • platform/mac-mountainlion/fast/writing-mode: Removed.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Removed.
  • platform/mac-mountainlion/mathml: Removed.
  • platform/mac-mountainlion/mathml/opentype: Removed.
  • platform/mac-mountainlion/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
4:10 PM Changeset in webkit [175190] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Share sheet doesn't attach to the window
​https://bugs.webkit.org/show_bug.cgi?id=138062
<rdar://problem/18767397>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.h:

WKActionMenuController is now a NSSharingService{Picker}Delegate.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForImage]):
Set us up as the NSSharingServicePicker delegate.

(-[WKActionMenuController sharingServicePicker:delegateForSharingService:]):
Set us up as the NSSharingService delegate.

(-[WKActionMenuController sharingService:sourceWindowForShareItems:sharingContentScope:]):
Return the appropriate window to attach to.

4:03 PM Changeset in webkit [175189] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Add Conrad Shultz to the contributors list.

  • Scripts/webkitpy/common/config/contributors.json:
4:01 PM Changeset in webkit [175188] by jer.noble@apple.com
  • 7 edits
    1 add in trunk/Source/WebKit2

Abstractify WebOriginDataManager to support arbitrary ChildProcess supplements.
​https://bugs.webkit.org/show_bug.cgi?id=137993

Reviewed by Brady Eidson.

To allow different ChildProcess subclasses to handle listing and deletion of origin
data, make WebOriginDataManager more generic by having a supplement implement the
details, leaving WebOriginDataManager to deal with cross-process messaging.

De-virtualize AsyncTask, allowing a task to be created by passing in a
function<void()>, rather than an object, method, and arguments.

  • Shared/AsyncTask.h:

(WebKit::AsyncTask::AsyncTask):
(WebKit::AsyncTask::performTask):
(WebKit::AsyncTask::~AsyncTask): Deleted.

Add a new virtual base class, to be implemented by various ChildProcesses, which
WebOriginDataManager will use to implement listing and deletion requests.

  • WebProcess/OriginData/WebOriginDataManager.h:
  • WebProcess/OriginData/WebOriginDataManagerSupplement.h: Added.

(WebKit::WebOriginDataManagerSupplement::WebOriginDataManagerSupplement):
(WebKit::WebOriginDataManagerSupplement::~WebOriginDataManagerSupplement):
(WebKit::WebOriginDataManagerSupplement::getOrigins):
(WebKit::WebOriginDataManagerSupplement::deleteEntriesForOrigin):
(WebKit::WebOriginDataManagerSupplement::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManagerSupplement::deleteAllEntries):

  • WebKit2.xcodeproj/project.pbxproj:

WebOriginDataManager doesn't need to be a ChildSupplement. Remove the DatabaseProcess-
specific implementations for its message handlers and replace with clean, generic calls
to its supplement. Because these supplements may want to respond to the request
asynchronously, pass a completion function in to be called by the supplement once its
work is complete.

  • WebProcess/OriginData/WebOriginDataManager.cpp:

(WebKit::WebOriginDataManager::WebOriginDataManager):
(WebKit::WebOriginDataManager::getOrigins):
(WebKit::WebOriginDataManager::deleteEntriesForOrigin):
(WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManager::deleteAllEntries):
(WebKit::WebOriginDataManager::supplementName): Deleted.

DatabaseProcess already uses WebOriginDataManager, so it will be the first process
to fall under the heel of the new regime. DatabaseProcess will subclass
WebOriginDataManagerSupplement, and pass itself in twice to the WebOriginDataManager
constructor. Create a lambda-based AsyncTask for each request, and call the completion
function when each request is complete.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::DatabaseProcess):
(WebKit::DatabaseProcess::getIndexedDatabaseOrigins):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllIndexedDatabaseEntries):
(WebKit::DatabaseProcess::getOrigins):
(WebKit::DatabaseProcess::deleteEntriesForOrigin):
(WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllEntries):
(WebKit::DatabaseProcess::doGetIndexedDatabaseOrigins): Deleted.
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesForOrigin): Deleted.
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesModifiedBetweenDates): Deleted.
(WebKit::DatabaseProcess::doDeleteAllIndexedDatabaseEntries): Deleted.

  • DatabaseProcess/DatabaseProcess.h:
3:27 PM Changeset in webkit [175187] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Very large images crash in action menu code
​https://bugs.webkit.org/show_bug.cgi?id=138059
-and corresponding-
rdar://problem/18767859

Reviewed by Tim Horton.

If the HitTestResult failed to create and image, then don’t go for the image
action menu.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItems]):

ShareableBitmap::createShareable() can fail. The result needs to be null-checked.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performActionMenuHitTestAtLocation):

3:24 PM Changeset in webkit [175186] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use modern loops in ResourceRequestCocoa.mm
​https://bugs.webkit.org/show_bug.cgi?id=138052

Reviewed by Darin Adler.

Use modern loops in ResourceRequestCocoa.mm and leverage Objective-C's
fast enumeration.

No new tests, no behavior change.

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):

  • Use NSDictionary's block-based enumeration as we enumerate both keys and values and this is faster than using fast enumeration of the keys then calling [NSDictionary objectForKey:]
  • Use Objective C's fast enumeration for contentDispositionEncodingFallbackArray as this is faster and shorter than index based access. Also use reserveCapacity() / uncheckedAppend() for m_responseContentDispositionEncodingFallbackArray as we know how many elements were are going to append in the common case.

(WebCore::ResourceRequest::doUpdatePlatformRequest):

  • Use fast enumeration for [nsRequest allHTTPHeaderFields] dictionary keys instead of calling [NSDictionary allKeys] and then doing index-based iteration, to avoid copying the keys to a new array. Also do a forward enumeration instead of a reverse one. I don't see why a backward enumeration would be necessary here. We are not modifying the NSDictionary we are iterating over as [nsRequest allHTTPHeaderFields] makes a copy.
  • Use a modern C++ loop for m_responseContentDispositionEncodingFallbackArray.
3:01 PM Changeset in webkit [175185] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Build fix.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
2:51 PM Changeset in webkit [175184] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Blindly try to fix all the builds.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
2:49 PM Changeset in webkit [175183] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Build fix.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):

2:45 PM Changeset in webkit [175182] by Beth Dakin
  • 6 edits
    6 adds in trunk/Source/WebKit

WebKit1 should support action menus
​https://bugs.webkit.org/show_bug.cgi?id=138032

Reviewed by Tim Horton.

This patch adds basic support for action menus and adds actions for links.

Helper class takes care of all of the action menu work. WebView will forward the
prepareForMenu: message, and then the helper class takes it from there.

  • WebView/WebActionMenuController.h: Added.
  • WebView/WebActionMenuController.mm: Added.

(-[WebActionMenuController webViewClosed]):
(-[WebActionMenuController prepareForMenu:withEvent:]):

Selectors for link actions.
(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(-[WebActionMenuController _elementBoundingBoxFromDOMElement:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(webKitBundleImageNamed):
(-[WebActionMenuController _defaultMenuItemsForLink:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

Tags for the action menu items.

  • WebView/WebUIDelegatePrivate.h:
  • WebView/WebView.mm:

Set the action menu if possible and create the controller.
(-[WebView _initWithFrame:frameName:groupName:]):
(-[WebView _close]):
(-[WebView prepareForMenu:withEvent:]):

WebViewData stores the WebActionMenuHelper

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate dealloc]):

2:45 PM Changeset in webkit [175181] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Blindly try to fix all the builds.

  • UIProcess/mac/WKActionMenuController.h:
2:39 PM Changeset in webkit [175180] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Blindly try to fix the 32-bit build.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
2:13 PM Changeset in webkit [175179] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac][WebKit2] Move action menu code into its own file
​https://bugs.webkit.org/show_bug.cgi?id=138034
<rdar://problem/18758758>

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController _addImageToPhotos:]):
Review comments that were not previously addressed.

2:08 PM Changeset in webkit [175178] by timothy_horton@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit2

[Mac][WebKit2] Move action menu code into its own file
​https://bugs.webkit.org/show_bug.cgi?id=138034
<rdar://problem/18758758>

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):
Make a WKActionMenuController if needed.

(-[WKView prepareForMenu:withEvent:]):
(-[WKView willOpenMenu:withEvent:]):
(-[WKView didCloseMenu:withEvent:]):
(-[WKView _didPerformActionMenuHitTest:]):
Forward these to WKActionMenuController.

(-[WKView _openURLFromActionMenu:]): Deleted.
(-[WKView _addToReadingListFromActionMenu:]): Deleted.
(-[WKView _quickLookURLFromActionMenu:]): Deleted.
(-[WKView _createActionMenuItemForTag:]): Deleted.
(webKitBundleImageNamed): Deleted.
(-[WKView _copyImage:]): Deleted.
(-[WKView _saveImageToDownloads:]): Deleted.
(temporaryPhotosDirectoryPath): Deleted.
(pathToPhotoOnDisk): Deleted.
(-[WKView _addImageToPhotos:]): Deleted.
(-[WKView _defaultMenuItemsForImage]): Deleted.
(-[WKView _defaultMenuItems]): Deleted.
(-[WKView _updateActionMenu]): Deleted.
Moved to WKActionMenuController.

  • UIProcess/mac/WKActionMenuController.h: Added.
  • UIProcess/mac/WKActionMenuController.mm: Added.

(-[WKActionMenuController initWithPage:view:]):
(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController didPerformActionMenuHitTest:]):
(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _openURLFromActionMenu:]):
(-[WKActionMenuController _addToReadingListFromActionMenu:]):
(-[WKActionMenuController _quickLookURLFromActionMenu:]):
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _copyImage:]):
(-[WKActionMenuController _saveImageToDownloads:]):
(temporaryPhotosDirectoryPath):
(pathToPhotoOnDisk):
(-[WKActionMenuController _addImageToPhotos:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(webKitBundleImageNamed):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):
Moved from WKView.

  • WebKit2.xcodeproj/project.pbxproj:
1:59 PM Changeset in webkit [175177] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
​https://bugs.webkit.org/show_bug.cgi?id=138047

Reviewed by Andreas Kling.

No change in functionality.

  • css/CSSPrimitiveValue.cpp:
1:26 PM Changeset in webkit [175176] by roger_fong@apple.com
  • 4 edits
    8 adds in trunk/LayoutTests

[Win] More unreviewed gardening/rebaselining of Windows tests.

  • platform/win/TestExpectations:
  • platform/win/fast/repaint/select-option-background-color-expected.txt:
  • platform/win/fast/repaint/slider-thumb-drag-release-expected.txt: Added.
  • platform/win/fast/repaint/slider-thumb-float-expected.txt: Added.
  • platform/win/fast/replaced/table-percent-height-expected.txt: Added.
  • platform/win/fast/replaced/three-selects-break-expected.txt: Added.
  • platform/win/fast/table/remove-td-display-none-expected.txt:
  • platform/win/fast/transforms: Added.
  • platform/win/fast/transforms/transformed-focused-text-input-expected.txt: Added.
  • platform/win/platform/win/accessibility: Added.
  • platform/win/platform/win/accessibility/option-element-position-and-size-expected.txt: Added.
1:23 PM Changeset in webkit [175175] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r174877): WebProcess sends an empty Cookies HTTP header
​https://bugs.webkit.org/show_bug.cgi?id=138053

Reviewed by Chris Dumez.

Fixes existing tests.

  • platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForSession): Restore the

behavior of returning a null string when there are no cookies.

1:12 PM Changeset in webkit [175174] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
​https://bugs.webkit.org/show_bug.cgi?id=138039

Reviewed by Darin Adler.

Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
for case-insensitive string comparison instead of converting to UTF-8 and then
using strcasecmp().

No new tests, no behavior change.

  • platform/mac/QuickLookMac.mm:

(WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks):

12:28 PM Changeset in webkit [175173] by ap@apple.com
  • 6 edits
    7 copies
    4 adds
    1 delete in trunk/LayoutTests

Update some results that were incorrect for Yosemite.

  • platform/mac-mavericks/fast/text/international/hindi-spacing-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.png.
  • platform/mac-mavericks/fast/text/international/hindi-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.txt.
  • platform/mac-mavericks/fast/writing-mode: Added.
  • platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png.
  • platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
  • platform/mac-mountainlion/fast/writing-mode: Added.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
  • platform/mac-mountainlion/mathml: Added.
  • platform/mac-mountainlion/mathml/opentype: Added.
  • platform/mac-mountainlion/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Copied from LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt.
  • platform/mac-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
  • platform/mac/fast/text/international/hindi-spacing-expected.png:
  • platform/mac/fast/text/international/hindi-spacing-expected.txt:
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
12:16 PM Changeset in webkit [175172] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Simplified IndexingType's hasAnyArrayStorage().
<​https://webkit.org/b/138051>

Reviewed by Michael Saboff.

IndexingType's hasAnyArrayStorage() currently does subtraction of ArrayStorageShape
with the purpose of making non-ArrayStorage types underflow (with that subtraction)
and have a result that exceeds SlowPutArrayStorageShape. What it is doing is
basically checking for a shape value that is greater equal to ArrayStorageShape.
We can just simplify the code as such.

Also added a comment to describe the structure of the bits in IndexingType.

  • runtime/IndexingType.h:

(JSC::hasAnyArrayStorage):

12:13 PM Changeset in webkit [175171] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest() / doUpdatePlatformHTTPBody()
​https://bugs.webkit.org/show_bug.cgi?id=138049

Reviewed by Alexey Proskuryakov.

Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest()
/ doUpdatePlatformHTTPBody(). It turns out that about half the time, the
m_nsRequest member is already mutable so it is unnecessary to call
[NSURLRequest mutableCopy], we can just cast it to an NSMutableURLRequest* and
avoid copying.

This patch also moves the code to a new ensureMutableNSURLRequest() method to
avoid duplicating the logic.

I see that we spend ~21% less time in these 2 functions when loading
​http://flickr.com/explore/ (39.6ms -> 31.2ms).

No new tests, no behavior change.

  • platform/network/cf/ResourceRequest.h:
  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::ensureMutableNSURLRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):

12:11 PM Changeset in webkit [175170] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/multicol/fixed-stack.html failing since introduction.
​https://bugs.webkit.org/show_bug.cgi?id=132421

  • platform/mac-wk1/TestExpectations: As of Yosemite, it's failing on mac-wk1 too.
  • platform/gtk/TestExpectations: [ Pass ] is no longer needed, because we don't have

an entry in global TestExpectations now.

11:32 AM Changeset in webkit [175169] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move ComputeLength CSS properties to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138036

Reviewed by Andreas Kling.

Move ComputeLength CSS properties from DeprecatedStyleBuilder to the
new StyleBuilder so that they are now generated. 3 Converters are
provided for these properties: ComputedLength / LineWidth / Spacing.

This is inspired by the following Blink revision by
<​timloh@chromium.org>:
​https://src.chromium.org/viewvc/blink?view=rev&revision=154012

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyComputeLength::setValue): Deleted.
(WebCore::ApplyPropertyComputeLength::applyValue): Deleted.
(WebCore::ApplyPropertyComputeLength::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertComputedLength):
(WebCore::StyleBuilderConverter::convertLineWidth):
(WebCore::StyleBuilderConverter::convertSpacing):

11:13 AM Changeset in webkit [175168] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Make ScriptWrappable's destructor protected instead of public
​https://bugs.webkit.org/show_bug.cgi?id=138037

Reviewed by Andreas Kling.

Make ScriptWrappable's destructor protected instead of public as it is
not virtual and this class is subclassed a lot.

No new tests, no behavior change.

  • bindings/js/ScriptWrappable.h:

(WebCore::ScriptWrappable::~ScriptWrappable):

10:25 AM Changeset in webkit [175167] by ap@apple.com
  • 2 edits in trunk/Source/WebKit

All plug-in tests fail on Yosemite WK1
​https://bugs.webkit.org/show_bug.cgi?id=138040

Reviewed by Dan Bernstein.

Fix a symlink for WebKitPluginHost.app. There is also a broken symlink for WebKitPluginAgent,
which I don't know what to do about, but that seems harmless.

  • WebKit.xcodeproj/project.pbxproj:
10:03 AM Changeset in webkit [175166] by mitz@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard immediately retries a request to buildbot when the response is 404
​https://bugs.webkit.org/show_bug.cgi?id=138046

Reviewed by Alexey Proskuryakov.

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

(BuildbotQueue.prototype._load): Only consider retrying immediately if the error code was

  1. Otherwise, we’ll retry normally in 45 seconds.
2:12 AM Changeset in webkit [175165] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Skip tests after removing SafariTheme that fail because background renders too dark.
​https://bugs.webkit.org/show_bug.cgi?id=138042.

  • platform/win/TestExpectations:

24 Roger Fong <​roger_fong@apple.com>

2:04 AM Changeset in webkit [175164] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Skip tests after removing SafariTheme that fail because borders now render too dark.
​https://bugs.webkit.org/show_bug.cgi?id=138041.

  • platform/win/TestExpectations:
1:59 AM Changeset in webkit [175163] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] More unreviewed gardening after getting rid of SafariTheme.

  • platform/win/TestExpectations: Skip a handful of tests that were failing

on the Windows bots after removing SafariTheme for miscellaneous reasons.

1:51 AM Changeset in webkit [175162] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] More unreviewed gardening after getting rid of SafariTheme.
​https://bugs.webkit.org/show_bug.cgi?id=138025

  • platform/win/TestExpectations: These tests fail seemingly due to text size difference,

which consequently cause the text containers to be too larger as well.

1:43 AM Changeset in webkit [175161] by roger_fong@apple.com
  • 9 edits
    9 adds in trunk/LayoutTests

[Windows] More rebaselining of Windows tests after removing SafariTheme.

  • platform/win/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/win/editing/selection/select-across-readonly-input-2-expected.txt:
  • platform/win/editing/selection/select-across-readonly-input-3-expected.txt:
  • platform/win/fast/block/positioning/inline-block-relposition-expected.txt:
  • platform/win/fast/canvas/fallback-content-expected.txt: Added.
  • platform/win/fast/css/button-height-expected.txt:
  • platform/win/fast/dom/HTMLInputElement: Added.
  • platform/win/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Added.
  • platform/win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
  • platform/win/fast/dom/tabindex-clamp-expected.txt: Added.
  • platform/win/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
  • platform/win/fast/html/details-no-summary4-expected.txt: Added.
  • platform/win/fast/html/details-open-javascript-expected.txt: Added.
  • platform/win/fast/html/details-open2-expected.txt: Added.
  • platform/win/fast/html/details-open4-expected.txt: Added.
  • platform/win/fast/html/details-replace-summary-child-expected.txt:
  • platform/win/fast/html/details-replace-text-expected.txt:
12:09 AM Changeset in webkit [175160] by commit-queue@webkit.org
  • 10 edits in trunk

[GTK] Implement is_selected method on WebKitHitTestResult
​https://bugs.webkit.org/show_bug.cgi?id=137110

Patch by Marcos Chavarría Teijeiro <​chavarria1991@gmail.com> on 2014-10-24
Reviewed by Tim Horton.

Source/WebKit2:

Expose CONTEXT_SELECTION for WebKitHitTestResult.

  • Shared/WebHitTestResult.cpp: Add is_selected field and getter for this field.

(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:

(WebKit::WebHitTestResult::isSelected):

  • UIProcess/API/gtk/WebKitHitTestResult.cpp: Add WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION context and method to check it.

(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
(webkit_hit_test_result_context_is_selection):

  • UIProcess/API/gtk/WebKitHitTestResult.h:
  • UIProcess/API/gtk/WebKitWebView.cpp: Modify context-menu callback to set the new context option.

(webkitWebViewPopulateContextMenu):

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add documentation about new function.

Tools:

Add tests for new context SELECTION on WebKitHitTestResult.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:

(testContextMenuDefaultMenu):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewMouseTarget):

Oct 23, 2014:

11:58 PM Changeset in webkit [175159] by Carlos Garcia Campos
  • 8 edits
    2 copies
    2 moves
    1 add
    1 delete in trunk/Source

[GTK][Cairo] Remove GTK dependency of WidgetBackingStoreGtkX11
​https://bugs.webkit.org/show_bug.cgi?id=138004

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Rename all WidgetBackingStore* classes as
BackingStoreBackendCairo* since all of them are actually
BackingStore backends based on cairo, and move them from
platform/cairo and platform/gtk to platform/graphics/cairo.
BackingStoreBackendCairo is the base class that contains common
members like the surface and size. BackingStoreBackendCairoImpl is
the implementation using only cairo, and BackingStoreBackendCairoX11
using xlib. BackingStoreBackendCairoX11 receives all the X11
information it needs as constructor parameters, instead of using a
GtkWidget and GTK+ X11 API. BackingStoreBackendCairoImpl receives
the surface already created as constructor parameter, so that it
doesn't have any platform specific code now.

  • PlatformEfl.cmake: Update compilation files.
  • PlatformGTK.cmake: Ditto.
  • platform/cairo/WidgetBackingStoreCairo.cpp: Removed.
  • platform/graphics/cairo/BackingStoreBackendCairo.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStore.h.

(WebCore::BackingStoreBackendCairo::~BackingStoreBackendCairo):
(WebCore::BackingStoreBackendCairo::surface):
(WebCore::BackingStoreBackendCairo::size):
(WebCore::BackingStoreBackendCairo::BackingStoreBackendCairo):

  • platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp: Added.

(WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl):
(WebCore::BackingStoreBackendCairoImpl::~BackingStoreBackendCairoImpl):
(WebCore::BackingStoreBackendCairoImpl::scroll):

  • platform/graphics/cairo/BackingStoreBackendCairoImpl.h: Renamed from Source/WebCore/platform/cairo/WidgetBackingStoreCairo.h.
  • platform/graphics/cairo/BackingStoreBackendCairoX11.cpp: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.cpp.

(WebCore::BackingStoreBackendCairoX11::BackingStoreBackendCairoX11):
(WebCore::BackingStoreBackendCairoX11::~BackingStoreBackendCairoX11):
(WebCore::BackingStoreBackendCairoX11::scroll):

  • platform/graphics/cairo/BackingStoreBackendCairoX11.h: Renamed from Source/WebCore/platform/gtk/WidgetBackingStoreGtkX11.h.
  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::cairoSurfaceGetDeviceScale):

  • platform/graphics/cairo/CairoUtilities.h:

Source/WebKit2:

  • UIProcess/BackingStore.h: Rename m_backingStore as m_backend,

since it's a bit confusing that a BackingStore class has a
m_backingStore member and WidgetBackingStore has been renamed as
BackingStoreBackendCairo.

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::createBackend): Helper function to create
the BackingStore backend depending on the platform.
(WebKit::BackingStore::paint): Use m_backend instead of m_backingStore.
(WebKit::BackingStore::incorporateUpdate): Ditto.
(WebKit::BackingStore::scroll): Ditto.
(WebKit::createBackingStoreForGTK): Deleted.

8:35 PM Changeset in webkit [175158] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

WebContent crash at WebCore::RenderTextControl::textFormControlElement const.
​https://bugs.webkit.org/show_bug.cgi?id=138035

Reviewed by Antti Koivisto.

NULL-check element().renderer() before using it.

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::didSetValueByUserEdit):

8:00 PM Changeset in webkit [175157] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix a bad find-and-replace in r175153

Looks like I messed up the commit on landing.

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-23

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didCommitLoadForFrame):

7:12 PM Changeset in webkit [175156] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove HarfBuzzRun::create() factory function
​https://bugs.webkit.org/show_bug.cgi?id=137945

Reviewed by Ryosuke Niwa.

As a step to use std::unique_ptr<>, this patch applies std::unique_ptr<> and std::make_unique<>.
Thus HarfBuzzRun::create() is needed no longer.

No new tests, no behavior changes.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):

  • platform/graphics/harfbuzz/HarfBuzzShaper.h:

(WebCore::HarfBuzzShaper::HarfBuzzRun::create): Deleted.

6:32 PM Changeset in webkit [175155] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS build fix

Patch by Myles C. Maxfield <​mmaxfield@apple.com> on 2014-10-23

  • editing/FrameSelection.cpp:
6:29 PM Changeset in webkit [175154] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Optimize URL::createCFURL() for the common case
​https://bugs.webkit.org/show_bug.cgi?id=138030

Reviewed by Alexey Proskuryakov.

Optimize URL::createCFURL() for the common case by adding a fast path
for when the URL String is already 8-bit (common case).
When the string is 8-bit, we don't need to copy the bytes into a
temporary buffer and we can construct the CFURLRef directly from it.

This makes URL::createCFURL() ~34% faster on my machine.

No new tests, no behavior change.

  • platform/mac/URLMac.mm:

(WebCore::URL::createCFURL):

5:44 PM Changeset in webkit [175153] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS WK2] If a page has the exact same VisibleContentRect as the page before, its VisibleContentRectUpdate can be ignored
​https://bugs.webkit.org/show_bug.cgi?id=138031
rdar://problem/18739335

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-23
Reviewed by Simon Fraser.

Since any VisibleContentRectUpdate is costly for the WebProcess, we avoid sending updates
if none of the important parameters have changed (scale and geometry).

One unintended side effect is that the update of a page can be blocked if the parameters
of the previous page were identical.

What happen is this:
1) Page [A] sends its content rect update as needed. WebPageProxy saves the last update

in m_lastVisibleContentRectUpdate and use that value to avoid useless updates.

2) Page [B] load after page [A] and have the exact VisibleContentRect. When receiving the first

layer tree commit after didCommitLoadForFrame, WKWebView sends its VisibleContentRect
to WebPageProxy to synchronize the state of the WebProcess with what is on screen.

3) Since the two VisibleContentRect update has the same value as the ones of page [A], WebPageProxy

discards the update. The WebProcess has its initialization viewport and is not udpated until
a major parameter changes (scale or position).

In rdar://problem/18739335, the problem is the similar but with a different failure point:
1) Everything above happened already.
2) The layer tree transaction has a scrolling request. This is processed by WKWebView.
3) Since the scrolling position is invalid, the request is ignored and we send the last

VisibleContentRect to the WebProcess with WebPageProxy::resendLastVisibleContentRects().

4) Since the VisibleContentRect was never updated after didCommitLoadForFrame, the one we send

is for the previous page, which the web process correctly ignores.

This patch solves the problem by nuking the cached m_lastVisibleContentRectUpdate before
any valid VisibleContentRectUpdate for a new page.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didCommitLoadForFrame):

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

(WebKit::WebPageProxy::didCommitLayerTree):

4:49 PM Changeset in webkit [175152] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Carets in GMail and iCloud compositions are the foreground text color
​https://bugs.webkit.org/show_bug.cgi?id=138029

Reviewed by Simon Fraser.

Source/WebCore:

Previously, we were only checking whether the background colors of the foreground and background
elements were the same, rather than taking validity and opacity into consideration.

Test: editing/caret/color-span-inside-editable-background.html

  • editing/FrameSelection.cpp:

(WebCore::disappearsIntoBackground):
(WebCore::CaretBase::paintCaret):

LayoutTests:

Test the case where the content editable root has a background color specified.

  • editing/caret/color-span-inside-editable-background-expected.html: Added.
  • editing/caret/color-span-inside-editable-background.html: Added.
4:43 PM Changeset in webkit [175151] by Joseph Pecoraro
  • 31 edits
    6 adds in trunk/Source

Web Inspector: Provide a way to have alternate inspector agents
​https://bugs.webkit.org/show_bug.cgi?id=137901

Reviewed by Brian Burg.

Source/JavaScriptCore:

Provide a way to use alternate inspector agents debugging a JSContext.
Expose a very slim private API that a client could use to know when
an inspector has connected/disconnected, and a way to register its
augmentative agents.

  • Configurations/FeatureDefines.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:

New feature guard. New files.

  • API/JSContextRef.cpp:

(JSGlobalContextGetAugmentableInspectorController):

  • API/JSContextRefInspectorSupport.h: Added.

Access to the private interface from a JSContext.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/augmentable/AugmentableInspectorController.h: Added.

(Inspector::AugmentableInspectorController::~AugmentableInspectorController):
(Inspector::AugmentableInspectorController::connected):

  • inspector/augmentable/AugmentableInspectorControllerClient.h: Added.

(Inspector::AugmentableInspectorControllerClient::~AugmentableInspectorControllerClient):

  • inspector/augmentable/AlternateDispatchableAgent.h: Added.

(Inspector::AlternateDispatchableAgent::AlternateDispatchableAgent):
Provide the private APIs a client could use to add alternate agents using alternate backend dispatchers.

  • inspector/scripts/codegen/init.py:
  • inspector/scripts/generate-inspector-protocol-bindings.py:

(generate_from_specification):
New includes, and use the new generator.

  • inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py: Added.

(AlternateBackendDispatcherHeaderGenerator):
(AlternateBackendDispatcherHeaderGenerator.init):
(AlternateBackendDispatcherHeaderGenerator.output_filename):
(AlternateBackendDispatcherHeaderGenerator.generate_output):
(AlternateBackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):
(AlternateBackendDispatcherHeaderGenerator._generate_handler_declaration_for_command):
Generate the abstract AlternateInspectorBackendDispatcher interfaces.

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator.generate_output):
(BackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains):
(BackendDispatcherHeaderGenerator._generate_alternate_handler_forward_declarations_for_domains.AlternateInspector):
Forward declare alternate dispatchers, and allow setting an alternate dispatcher on a domain dispatcher.

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator.generate_output):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
Check for and dispatch on an AlternateInspectorBackendDispatcher if there is one for this domain.

  • inspector/scripts/codegen/generator_templates.py:

(AlternateInspectorBackendDispatcher):
(AlternateInspector):
Template boilerplate for prelude and postlude.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

Rebaseline tests.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:
4:36 PM Changeset in webkit [175150] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Don't assume that style.overflowX() == style.overflowY()
​https://bugs.webkit.org/show_bug.cgi?id=138028

Reviewed by Zalan Bujtas.

WebKit doesn't support independent overflow scroll/hidden on different axes,
but the RenderStyle does report the correct values. So check both overflowX()
and overflowY() in a couple of places where we need to.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::styleHasTouchScrolling):
(WebCore::styleChangeRequiresLayerRebuild):

4:30 PM Changeset in webkit [175149] by Chris Dumez
  • 15 edits in trunk/Source/WebCore

Get rid of unnecessary vtables in WebKit
​https://bugs.webkit.org/show_bug.cgi?id=138024

Reviewed by Benjamin Poulain.

Get rid of unnecessary vtables in WebKit by de-virtualizing destructors
when possible and marking the class as final to make sure people don't
subclass it.

No new tests, no behavior change.

  • WebCore.exp.in:
  • css/WebKitCSSMatrix.h:
  • css/WebKitCSSMatrix.idl:
  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLGetInfo.h:
  • html/canvas/WebGLUniformLocation.h:

(WebCore::WebGLUniformLocation::~WebGLUniformLocation): Deleted.

  • html/canvas/WebGLUniformLocation.idl:
  • inspector/DOMPatchSupport.h:
  • inspector/InspectorHistory.h:
  • inspector/InspectorStyleSheet.h:
  • page/WheelEventDeltaTracker.h:
  • page/scrolling/ScrollLatchingState.h:
  • platform/audio/Biquad.h:
  • platform/graphics/Pattern.h:
4:26 PM Changeset in webkit [175148] by Chris Dumez
  • 41 edits in trunk/Source

Clean up virtual functions in dom/
​https://bugs.webkit.org/show_bug.cgi?id=138019

Reviewed by Benjamin Poulain.

Clean up virtual functions in dom/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Using 'override' when appropriate
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks
  • Dropping final for virtual functions in classes already marked as final

No new tests, no behavior change.

  • WebCore.exp.in:
  • dom/AutocompleteErrorEvent.h:
  • dom/BeforeLoadEvent.h:

(WebCore::BeforeLoadEventInit::BeforeLoadEventInit):

  • dom/BeforeTextInsertedEvent.h:
  • dom/ClipboardEvent.h:
  • dom/CompositionEvent.h:
  • dom/CustomEvent.h:
  • dom/DeviceMotionController.h:

(WebCore::DeviceMotionController::~DeviceMotionController): Deleted.

  • dom/DeviceMotionEvent.h:
  • dom/DeviceOrientationController.h:

(WebCore::DeviceOrientationController::~DeviceOrientationController): Deleted.

  • dom/DeviceOrientationEvent.h:
  • dom/Document.h:
  • dom/DocumentFragment.h:
  • dom/ErrorEvent.h:
  • dom/FocusEvent.h:
  • dom/HashChangeEvent.h:
  • dom/KeyboardEvent.h:
  • dom/LiveNodeList.h:
  • dom/MessageEvent.h:
  • dom/MessagePort.h:
  • dom/MouseEvent.h:
  • dom/MouseRelatedEvent.h:
  • dom/MutationEvent.h:
  • dom/NamedFlowCollection.h:
  • dom/OverflowEvent.h:
  • dom/PageTransitionEvent.h:
  • dom/PendingScript.h:
  • dom/PopStateEvent.h:
  • dom/RawDataDocumentParser.h:

(WebCore::RawDataDocumentParser::finish): Deleted.
(WebCore::RawDataDocumentParser::flush): Deleted.
(WebCore::RawDataDocumentParser::insert): Deleted.
(WebCore::RawDataDocumentParser::append): Deleted.

  • dom/ScriptableDocumentParser.h:
  • dom/SecurityPolicyViolationEvent.h:
  • dom/TextEvent.h:
  • dom/TouchEvent.h:
  • dom/TransitionEvent.h:
  • dom/UIEvent.h:
  • dom/WebKitAnimationEvent.h:
  • dom/WebKitTransitionEvent.h:
  • dom/WheelEvent.h:
  • page/DeviceController.h:

(WebCore::DeviceController::~DeviceController):

4:00 PM Changeset in webkit [175147] by timothy_horton@apple.com
  • 12 edits
    3 adds in trunk/Source

Add some SPI headers for NSExtension and NSSharingService{Picker}
​https://bugs.webkit.org/show_bug.cgi?id=138027

Reviewed by Anders Carlsson.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/cocoa/NSExtensionSPI.h: Added.
  • platform/spi/mac/NSSharingServicePickerSPI.h: Added.
  • platform/spi/mac/NSSharingServiceSPI.h: Added.

Add modern SPI headers for NSExtension, and NSSharingService{Picker}.

  • rendering/RenderThemeMac.mm:

Replace redefinitions with an SPI header #import.

  • UIProcess/API/mac/WKView.mm:
  • UIProcess/mac/ServicesController.mm:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

Replace redefinitions with SPI header #imports.

  • Misc/WebSharingServicePickerController.h:
  • Misc/WebSharingServicePickerController.mm:
  • WebCoreSupport/WebSelectionServiceController.mm:
  • WebCoreSupport/WebContextMenuClient.mm:

Fix a sorting issue.
Replace redefinitions with SPI header #imports.

3:58 PM Changeset in webkit [175146] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed gardening after removing SafariTheme.
​https://bugs.webkit.org/show_bug.cgi?id=138025.

  • platform/win/TestExpectations:
3:22 PM Changeset in webkit [175145] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Make sure any dynamic viewport update schedules a layer tree commit
​https://bugs.webkit.org/show_bug.cgi?id=138021

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-23
Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):
Sometimes, the clients can do a dynamic viewport update but only change the minimum
layout size (see rdar://problem/18755250).

When that happens, it is possible to do the full state update without ever scheduling
a layer tree commit. For example, if the new minimum layout height is only a few pixels
smaller than the old value and the layout of the page is equal or larger than the old value,
the layout is done without any side effect to the content (assuming a viewport configuration
based on width).

The contract with the client is that the next layer tree commit after a dynamic viewport update
carries all the valid parameters for the new viewport size. Since the new layout never scheduled
a layer tree commit, the UIProcess is just waiting for one, discarding all input.

This patch solves the issue by explicitely scheduling a layer flush after updating all the layout
and view parameters to their final values. In most cases, this makes no difference since a layer
tree commit was already scheduled. In the rare cases where nothing was scheduled, scheduling
the layer tree commit ensure we unlock the UIProcess.

3:01 PM Changeset in webkit [175144] by roger_fong@apple.com
  • 14 edits
    51 adds in trunk/LayoutTests

[Win] Rebaseline a bunch of forms tests that no longer match after removing SafariTheme.
​https://bugs.webkit.org/show_bug.cgi?id=138022.

  • platform/win/fast/forms/HTMLOptionElement_label06-expected.txt: Added.
  • platform/win/fast/forms/basic-inputs-expected.txt:
  • platform/win/fast/forms/basic-textareas-expected.txt: Added.
  • platform/win/fast/forms/basic-textareas-quirks-expected.txt: Added.
  • platform/win/fast/forms/blankbuttons-expected.txt:
  • platform/win/fast/forms/button-generated-content-expected.txt:
  • platform/win/fast/forms/button-inner-block-reuse-expected.txt: Added.
  • platform/win/fast/forms/control-clip-expected.txt: Added.
  • platform/win/fast/forms/fieldset-align-expected.txt: Added.
  • platform/win/fast/forms/fieldset-legend-padding-unclipped-fieldset-border-expected.txt: Added.
  • platform/win/fast/forms/fieldset-with-float-expected.txt: Added.
  • platform/win/fast/forms/float-before-fieldset-expected.txt: Added.
  • platform/win/fast/forms/focus-selection-textarea-expected.txt: Added.
  • platform/win/fast/forms/indeterminate-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-readonly-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-visibility-expected.txt: Added.
  • platform/win/fast/forms/input-first-letter-expected.txt: Added.
  • platform/win/fast/forms/input-readonly-dimmed-expected.txt: Added.
  • platform/win/fast/forms/input-spaces-expected.txt: Added.
  • platform/win/fast/forms/input-text-click-outside-expected.txt: Added.
  • platform/win/fast/forms/input-type-text-min-width-expected.txt: Added.
  • platform/win/fast/forms/input-width-expected.txt: Added.
  • platform/win/fast/forms/listbox-onchange-expected.txt: Added.
  • platform/win/fast/forms/menulist-clip-expected.txt:
  • platform/win/fast/forms/menulist-option-wrap-expected.txt: Added.
  • platform/win/fast/forms/menulist-separator-painting-expected.txt: Added.
  • platform/win/fast/forms/menulist-width-change-expected.txt:
  • platform/win/fast/forms/negativeLineHeight-expected.txt: Added.
  • platform/win/fast/forms/onselect-textarea-expected.txt: Added.
  • platform/win/fast/forms/option-script-expected.txt:
  • platform/win/fast/forms/option-text-clip-expected.txt:
  • platform/win/fast/forms/placeholder-pseudo-style-expected.txt: Added.
  • platform/win/fast/forms/range/input-appearance-range-expected.txt: Added.
  • platform/win/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
  • platform/win/fast/forms/range/slider-padding-expected.txt: Added.
  • platform/win/fast/forms/range/slider-thumb-shared-style-expected.txt: Added.
  • platform/win/fast/forms/range/slider-thumb-stylability-expected.txt: Added.
  • platform/win/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Added.
  • platform/win/fast/forms/search-cancel-button-style-sharing-expected.txt: Added.
  • platform/win/fast/forms/search-display-none-cancel-button-expected.txt: Added.
  • platform/win/fast/forms/search-rtl-expected.txt: Added.
  • platform/win/fast/forms/search-styled-expected.txt:
  • platform/win/fast/forms/search-vertical-alignment-expected.txt: Added.
  • platform/win/fast/forms/select-background-none-expected.txt: Added.
  • platform/win/fast/forms/select-empty-option-height-expected.txt: Added.
  • platform/win/fast/forms/select-size-expected.txt: Added.
  • platform/win/fast/forms/select-style-expected.txt: Added.
  • platform/win/fast/forms/select-visual-hebrew-expected.txt: Added.
  • platform/win/fast/forms/select-writing-direction-natural-expected.txt:
  • platform/win/fast/forms/selectlist-minsize-expected.txt: Added.
  • platform/win/fast/forms/stuff-on-my-optgroup-expected.txt: Added.
  • platform/win/fast/forms/textAreaLineHeight-expected.txt: Added.
  • platform/win/fast/forms/textarea-align-expected.txt: Added.
  • platform/win/fast/forms/textarea-metrics-expected.txt: Added.
  • platform/win/fast/forms/textarea-placeholder-pseudo-style-expected.txt: Added.
  • platform/win/fast/forms/textarea-placeholder-visibility-1-expected.txt:
  • platform/win/fast/forms/textarea-placeholder-visibility-2-expected.txt:
  • platform/win/fast/forms/textarea-scroll-height-expected.txt: Added.
  • platform/win/fast/forms/textarea-scrollbar-expected.txt:
  • platform/win/fast/forms/textarea-scrolled-type-expected.txt: Added.
  • platform/win/fast/forms/textarea-setinnerhtml-expected.txt: Added.
  • platform/win/fast/forms/textarea-width-expected.txt:
  • platform/win/fast/forms/textfield-overflow-by-value-update-expected.txt: Added.
  • platform/win/fast/forms/textfield-overflow-expected.txt: Added.
2:51 PM Changeset in webkit [175143] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebKit::WebPage::expandedRangeFromHandle
​https://bugs.webkit.org/show_bug.cgi?id=138023

Reviewed by Enrica Casucci.

The crashes are caused by rangeForBlockAtPoint returning a null Range.
Exit early or continue if a range is null in various places.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::expandedRangeFromHandle): Continue looking for another point if the range returned by
rangeForBlockAtPoint is null.
(WebKit::WebPage::contractedRangeFromHandle): Ditto.
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle): Removed the FIXME now that Enrica has
verified that this early exit added in r173788 is correct.

2:04 PM Changeset in webkit [175142] by roger_fong@apple.com
  • 2 edits in trunk/Tools

[Win] Skip failing JSC tests following r175078
​https://bugs.webkit.org/show_bug.cgi?id=130967.

  • Scripts/run-javascriptcore-tests:
1:54 PM Changeset in webkit [175141] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

offsets.rb:183:in `buildOffsetsMap': unhandled exception - is offlineasm dependency tracking broken? (132668)
​https://bugs.webkit.org/show_bug.cgi?id=138017

Reviewed by Mark Lam.

Removed from the nput file $(SRCROOT)/llint/LowLevelAssembler.asm and output file
$(BUILT_PRODUCTS_DIR)/LLIntOffsets/LLIntDesiredOffsets.h from the Generate Derived Sources
build phase in the LLInt Offset target. There is no need for Xcode to do any dependency
checking with these files as the ruby script offlineasm/generate_offset_extractor.rb will
do that for us.

1:29 PM Changeset in webkit [175140] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.2

New tag.

1:27 PM Changeset in webkit [175139] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] don't update caption user style sheet during parsing
​https://bugs.webkit.org/show_bug.cgi?id=137983
rdar://problem/18735366

Reviewed by Jer Noble.

No new tests, existing tests cover the changes.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF): Initialize m_updateStyleSheetTimer.
(WebCore::CaptionUserPreferencesMediaAF::updateTimerFired): Call updateCaptionStyleSheetOveride.
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Prime a timer to update

the captions style sheet after a slight delay.

12:56 PM Changeset in webkit [175138] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Double border appearing in node sidebar in expanded items in OS X Mavericks.
​https://bugs.webkit.org/show_bug.cgi?id=138011

Reviewed by Timothy Hatcher.

Selector added for OS X Mavericks and earlier versions using .mac-platform.legacy.

  • UserInterface/Views/DetailsSection.css:

(body.mac-platform.legacy .details-section .details-section:first-child):

12:51 PM Changeset in webkit [175137] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move remaining Length-type properties to the new StyleBuilder
​https://bugs.webkit.org/show_bug.cgi?id=138012

Reviewed by Antti Koivisto.

Move remaining Length-type properties from DeprecatedStyleBuilder to
the new StyleBuilder so that they are now generated from
CSSPropertyNames.in as well. The patch introduces a couple of type
converters for those: "LengthSizing / LengthMaxSizing".

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertLengthSizing):
(WebCore::StyleBuilderConverter::convertLengthMaxSizing):

12:42 PM Changeset in webkit [175136] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/Bugzilla/Install/Filesystem.pm

Teach Bugzilla how to set permissions for *.js files correctly

  • Bugzilla/Install/Filesystem.pm:

(Bugzilla::Install::Filesystem::FILESYSTEM): Set permissions for
*.js files correctly when checksetup.pl is run.

12:38 PM Changeset in webkit [175135] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] iPhone unselecting items in <select multiple> shows incorrect values selected
​https://bugs.webkit.org/show_bug.cgi?id=137989

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-23
Reviewed by Alexey Proskuryakov.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
The second argument is "allowsMultipleSelection" and should only be set
when we are making a selection in a <select multiple>.

12:26 PM Changeset in webkit [175134] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.5/Source/JavaScriptCore

Merged r175058. <rdar://problem/18739720>

12:17 PM Changeset in webkit [175133] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Correcting the merge for r175075. <rdar://problem/18717767>

12:03 PM Changeset in webkit [175132] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Crashes under WebSelectionServiceController::hasRelevantSelectionServices
​https://bugs.webkit.org/show_bug.cgi?id=138013

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebSelectionServiceController.mm:

(WebSelectionServiceController::hasRelevantSelectionServices):
Don't adopt this autoreleased object.

11:28 AM Changeset in webkit [175131] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

[Mac] Safari cannot play 'audio/amr' content.
​https://bugs.webkit.org/show_bug.cgi?id=137894

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-can-play-case-insensitive.html

Sites are returning 'video/amr' for AMR audio content, but the IANA spec says 'audio/AMR', which is also what
AVFoundation claims to support. However, MIME types are supposed to be case-insensitive. When creating our
mime type cache, case-fold to lower all MIME types given to us by our media frameworks.

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

(WebCore::mimeTypeCache):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::addFileTypesToCache):

LayoutTests:

  • media/media-can-play-case-insensitive-expected.txt: Added.
  • media/media-can-play-case-insensitive.html: Added.
11:01 AM Changeset in webkit [175130] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r174827. rdar://problem/18742369

10:55 AM Changeset in webkit [175129] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175127. <rdar://problem/18717767>

10:52 AM Changeset in webkit [175128] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Correcting the merge for r175075. <rdar://problem/18717767>

10:46 AM Changeset in webkit [175127] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Assertion failures in ImageKit soft linking
​https://bugs.webkit.org/show_bug.cgi?id=138009

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

Soft-link ImageKit correctly.
ImageKit is inside the Quartz umbrella framework.

10:19 AM Changeset in webkit [175126] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merge patch for r174799. <rdar://problem/18742380>

9:34 AM Changeset in webkit [175125] by dbates@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS] Fix the build after <​http://trac.webkit.org/changeset/175079>
(​https://bugs.webkit.org/show_bug.cgi?id=137995)

Rubber-stamped by Anders Carlsson.

Remove PageClientImpl::didPerformActionMenuHitTest() for iOS.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didPerformActionMenuHitTest): Deleted.

9:19 AM Changeset in webkit [175124] by matthew_hanson@apple.com
  • 16 edits
    6 copies in branches/safari-600.3-branch/Source/WebKit2

Merge r175075. <rdar://problem/18717767>

9:14 AM Changeset in webkit [175123] by Chris Dumez
  • 8 edits
    1 add in trunk/Source/WebCore

Move Length-type CSS properties from DeprecatedStyleBuilder to the new Style Builder
​https://bugs.webkit.org/show_bug.cgi?id=138000

Reviewed by Andreas Kling.

Move most Length-type CSS properties from DeprecatedStyleBuilder to the
new Style Builder so that they are now generated. This patch adds
support for a "Converter" option in CSSPropertyNames.in that can be
used to specify a type converter function in
css/StyleBuilderConverter.h. This patch adds support for Length and
LengthOrAuto converters so that most Length-type properties can now be
generated.

Another converter (likely called "LengthSizing") will be needed to
generate the remaining Length-type properties. This will be taken care
of in a follow-up patch.

This patch is inspired by the following Blink revision by
<​timloh@chromium.org>:
​https://src.chromium.org/viewvc/blink?view=rev&revision=150500

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/SVGCSSPropertyNames.in:
  • css/StyleBuilder.h:
  • css/StyleBuilderConverter.h: Added.

(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertLengthOrAuto):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • css/makeprop.pl:
9:09 AM Changeset in webkit [175122] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175016. <rdar://problem/18731860>

8:56 AM Changeset in webkit [175121] by matthew_hanson@apple.com
  • 3 edits
    1 copy in branches/safari-600.3-branch/Source/WebKit2

Merge r174913. <rdar://problem/18712808>

8:52 AM Changeset in webkit [175120] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r175061. <rdar://problem/18694470>

8:50 AM Changeset in webkit [175119] by matthew_hanson@apple.com
  • 12 edits
    1 copy
    3 adds in branches/safari-600.3-branch/Source

Merge r174908. <rdar://problem/18694470>

6:19 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
6:15 AM Changeset in webkit [175118] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Change CallFrame::lexicalGlobalObject() to use Callee instead of JSScope
​https://bugs.webkit.org/show_bug.cgi?id=136901

Reviewed by Mark Lam.

Implement ExecState::lexicalGlobalObject() using Callee.

  • runtime/JSScope.h:

(JSC::ExecState::lexicalGlobalObject):

5:20 AM Changeset in webkit [175117] by zandobersek@gmail.com
  • 17 edits in trunk/Source/WebCore

Const-ify static s_resourceType members in RenderSVGResource* classes
​https://bugs.webkit.org/show_bug.cgi?id=137911

Reviewed by Andreas Kling.

Make s_resourceType static members in RenderSVGResource* classes const.
Also update the resourceType() methods, where necessary, so that they
return the s_resourceType constant.

  • rendering/svg/RenderSVGResourceClipper.cpp:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceFilter.cpp:
  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceLinearGradient.cpp:
  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.cpp:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.cpp:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.cpp:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.cpp:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGResourceSolidColor.cpp:
  • rendering/svg/RenderSVGResourceSolidColor.h:
4:17 AM Changeset in webkit [175116] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[TexMap] Clean up virtual method declarations in GraphicsLayerTextureMapper
​https://bugs.webkit.org/show_bug.cgi?id=137957

Reviewed by Martin Robinson.

Added override notation to the GraphicsLayerTextureMapper methods that are
overriding the base methods from the GraphicsLayer class and don't have it yet.
Also reordered these methods to follow the order of declaration in the
GraphicsLayer class.

Removed ::setName() and ::willBeDestroyed() methods since they just called
the base class' methods.

Also removed the ::solidColor() and ::changeMask() methods. The first one was
only called in one place which can reference the m_solidColor member directly,
and the second one wasn't used at all.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::setName): Deleted.
(WebCore::GraphicsLayerTextureMapper::willBeDestroyed): Deleted.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(WebCore::GraphicsLayerTextureMapper::solidColor): Deleted.
(WebCore::GraphicsLayerTextureMapper::usesContentsLayer): Deleted.
(WebCore::GraphicsLayerTextureMapper::platformLayer): Deleted.
(WebCore::GraphicsLayerTextureMapper::changeMask): Deleted.

2:55 AM Changeset in webkit [175115] by berto@igalia.com
  • 3 edits in trunk/Source/WTF

[GTK] Fix build on Hurd
​https://bugs.webkit.org/show_bug.cgi?id=138003

Reviewed by Carlos Garcia Campos.

  • wtf/InlineASM.h:
  • wtf/Platform.h:
2:53 AM WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
2:50 AM WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
2:35 AM Changeset in webkit [175114] by k.czech@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix build problem after r175098
​https://bugs.webkit.org/show_bug.cgi?id=138002

Reviewed by Gyuyoung Kim.

Add ECORE_X dependency to avoid linking problems while building unit tests.

  • PlatformEfl.cmake:

Change-Id: I9228d141456c3b34b61424aa4715cef85534104f

2:33 AM Changeset in webkit [175113] by bshafiei@apple.com
  • 11 edits in branches/safari-600.3-branch/Source/WebCore

Merged r174040. rdar://problem/18428706

2:30 AM Changeset in webkit [175112] by bshafiei@apple.com
  • 12 edits in branches/safari-600.3-branch/Source

Merged r173694. rdar://problem/18428706

2:29 AM Changeset in webkit [175111] by bshafiei@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r173208. rdar://problem/18428706

2:28 AM Changeset in webkit [175110] by bshafiei@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r173133. rdar://problem/18428706

2:26 AM Changeset in webkit [175109] by bshafiei@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r173132. rdar://problem/18428706

2:25 AM Changeset in webkit [175108] by bshafiei@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r172964. rdar://problem/18428706

2:24 AM Changeset in webkit [175107] by bshafiei@apple.com
  • 6 edits in branches/safari-600.3-branch/Source/WebCore

Merged r172963. rdar://problem/18428706

2:23 AM Changeset in webkit [175106] by bshafiei@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r172653. rdar://problem/18428706

2:22 AM Changeset in webkit [175105] by bshafiei@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r172646. rdar://problem/18428706

2:21 AM Changeset in webkit [175104] by bshafiei@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r172645. rdar://problem/18428706

2:20 AM Changeset in webkit [175103] by bshafiei@apple.com
  • 12 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r172637. rdar://problem/18428706

2:18 AM Changeset in webkit [175102] by bshafiei@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r172634. rdar://problem/18428706

2:17 AM Changeset in webkit [175101] by bshafiei@apple.com
  • 8 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r172629. rdar://problem/18428706

2:02 AM Changeset in webkit [175100] by k.czech@samsung.com
  • 4 edits in trunk/Source/WebCore

AX: Do the early return when role is different than UnknownRole
​https://bugs.webkit.org/show_bug.cgi?id=137880

Reviewed by Chris Fleizach.

We do not need to call ariaRoleAttribute() to check whether m_ariaRole is different than UnknownRole.
Just check m_ariaRole instead.

No new tests, no behavior change, just some cleanup

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::determineAccessibilityRole):

1:21 AM Changeset in webkit [175099] by k.czech@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Set proper default value for WebPageAccessibilityObject
​https://bugs.webkit.org/show_bug.cgi?id=137951

Reviewed by Csaba Osztrogonác.

Initial value for WebPageAccessibilityObject should be nullptr.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

1:02 AM Changeset in webkit [175098] by k.czech@samsung.com
  • 8 edits
    3 adds in trunk/Source/WebKit2

[EFL] Introduce EFL Accessibility in WebKit
​https://bugs.webkit.org/show_bug.cgi?id=137819

Reviewed by Gyuyoung Kim.

EFL Accessibility provides an API that is used to notify clients that certain
Accessibility events occur. Utilizing it makes WebKit-EFL coherent with EFL native
accessibility approach.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):

  • UIProcess/API/efl/EwkView.h:

(EwkView::webAccessibility):

  • UIProcess/API/efl/WebAccessibility.cpp: Added.

(WebKit::WebAccessibility::WebAccessibility):
(WebKit::WebAccessibility::~WebAccessibility):
(WebKit::WebAccessibility::eventHandler):
(WebKit::WebAccessibility::executeGestureAction):
(WebKit::WebAccessibility::activate):
(WebKit::WebAccessibility::read):
(WebKit::WebAccessibility::readNext):
(WebKit::WebAccessibility::readPrev):
(WebKit::WebAccessibility::up):
(WebKit::WebAccessibility::down):
(WebKit::WebAccessibility::scroll):
(WebKit::WebAccessibility::mouse):
(WebKit::WebAccessibility::enable):
(WebKit::WebAccessibility::disable):

  • UIProcess/API/efl/WebAccessibility.h: Added.

(WebKit::WebAccessibility::activateAction):
(WebKit::WebAccessibility::nextAction):
(WebKit::WebAccessibility::prevAction):
(WebKit::WebAccessibility::readAction):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_accessibility_action_activate_get):
(ewk_view_accessibility_action_next_get):
(ewk_view_accessibility_action_prev_get):
(ewk_view_accessibility_action_read_by_point_get):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_accessibility.cpp: Added.

(EWK2Accessibility::xwindow):
(TEST_F):

  • UIProcess/WebPageProxy.h:
  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::accessibilityObjectReadByPoint):
(WebKit::WebPageProxy::accessibilityObjectReadPrevious):
(WebKit::WebPageProxy::accessibilityObjectReadNext):

12:27 AM Changeset in webkit [175097] by Yusuke Suzuki
  • 3 edits
    4 adds in trunk

CSS JIT: Implement :matches
​https://bugs.webkit.org/show_bug.cgi?id=137947

Reviewed by Benjamin Poulain.

Source/WebCore:

Initial patch for supporting :matches in CSS JIT.
In this patch, we implement :matches
by leveraging the generalized nested backtracking implementation.

Tests: fast/selectors/matches-backtracking.html

fast/selectors/matches-complex.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::hasAnyCombinators):
(WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesMatchesPseudoClass):

LayoutTests:

  • fast/selectors/matches-backtracking-expected.txt: Added.
  • fast/selectors/matches-backtracking.html: Added.
  • fast/selectors/matches-complex-expected.txt: Added.
  • fast/selectors/matches-complex.html: Added.
    • nested :matches
    • multiple :matches
    • :matches with CannotMatchAnything
    • :matches with :not
    • :matches(with a lot of selectors) are tested.
12:17 AM Changeset in webkit [175096] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175081. rdar://problem/17785162

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

RenderThemeGtk::mediaControlsScript() is not defined when VIDEO is disabled.
<​https://webkit.org/b/137970>.

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-23
Reviewed by Carlos Garcia Campos.

  • rendering/RenderThemeGtk.cpp:
12:15 AM Changeset in webkit [175094] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r174846. rdar://problem/18742390

12:08 AM Changeset in webkit [175093] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r174788. rdar://problem/17916459

12:06 AM Changeset in webkit [175092] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r174787. rdar://problem/18742395

12:03 AM Changeset in webkit [175091] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r174512. rdar://problem/18742317

12:01 AM Changeset in webkit [175090] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r173974. rdar://problem/18742384

Oct 22, 2014:

11:54 PM Changeset in webkit [175089] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Prefix isnan() with std::.
<​https://webkit.org/b/137966>.

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • profiler/ProfileNode.h:

(JSC::ProfileNode::Call::setStartTime):
(JSC::ProfileNode::Call::setElapsedTime):

11:45 PM Changeset in webkit [175088] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Do not include GraphicsContext3D.h when 3D_GRAPHICS is not used.
<​https://webkit.org/b/137969>.

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
11:41 PM Changeset in webkit [175087] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Do not build WidgetBackingStoreGtkX11 when not used.
<​https://webkit.org/b/137972>.

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/gtk/WidgetBackingStoreGtkX11.cpp:
  • platform/gtk/WidgetBackingStoreGtkX11.h:
11:37 PM Changeset in webkit [175086] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r173848. rdar://problem/18427833

11:15 PM Changeset in webkit [175085] by Simon Fraser
  • 3 edits
    5 adds in trunk

[iOS] Toggling overflow:scroll to hidden on element with -webkit-overflow-scrolling:touch can cause children to disappear
​https://bugs.webkit.org/show_bug.cgi?id=137999
rdar://problem/18425550

Reviewed by Zalan Bujtas.

Source/WebCore:

When toggling overflow from scroll to hidden on an element with -webkit-overflow-scrolling:touch,
we'd fail to do a compositing layer rebuild, which caused various issues like unparented
descendants, and misplaced and unrepainted content.

This happened because we'd get to RenderLayerBacking::updateConfiguration() via styleChanged
with the view needing layout, so never hit the updateScrollingLayers() code, and the subsequent
updateCompositingLayers() would be a no-op.

Fix by explicitly triggering a layer rebuild when style changes such that the touch-scrollability
of an element changes, as we do for changes in clip.

Test: compositing/scrolling/touch-scroll-to-clip.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::isScrollableOverflow):
(WebCore::styleHasTouchScrolling):
(WebCore::styleChangeRequiresLayerRebuild):

LayoutTests:

Test that toggles overflow on a touch scrolling div, and dumps layers.

  • compositing/scrolling/touch-scroll-to-clip-expected.txt: Added.
  • compositing/scrolling/touch-scroll-to-clip.html: Added.
  • platform/ios-simulator/compositing/scrolling/touch-scroll-to-clip-expected.txt: Added.
9:32 PM Changeset in webkit [175084] by Chris Dumez
  • 80 edits in trunk/Source/WebCore

Clean up virtual functions in rendering/
​https://bugs.webkit.org/show_bug.cgi?id=137984

Reviewed by Darin Adler.

Clean up virtual functions in rendering/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Using 'override' when appropriate
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Dropping virtual destructors when the class does not have subclasses and mark the class as final, to get rid of unnecessary vtables
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks
  • De-virtualizing some functions that do not need to be virtual
  • Dropping final for virtual functions in classes already marked as final

No new tests, no behavior change.

  • html/shadow/SliderThumbElement.cpp:
  • rendering/AutoTableLayout.h:
  • rendering/ClipPathOperation.h:

(WebCore::ClipPathOperation::type):
(WebCore::ClipPathOperation::isSameType):

  • rendering/EllipsisBox.h:
  • rendering/FixedTableLayout.h:
  • rendering/InlineElementBox.h:
  • rendering/RenderBlockFlow.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.h:
  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.h:
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.h:
  • rendering/RenderLayerFilterInfo.h:
  • rendering/RenderLineBreak.h:
  • rendering/RenderMarquee.h:
  • rendering/RenderMediaControlElements.h:
  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderMultiColumnSpannerPlaceholder.h:
  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderQuote.h:
  • rendering/RenderRegion.h:

(WebCore::RenderRegion::renderName): Deleted.

  • rendering/RenderReplica.h:
  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderScrollbarTheme.h:

(WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): Deleted.
(WebCore::RenderScrollbarTheme::scrollbarThickness): Deleted.
(WebCore::RenderScrollbarTheme::buttonsPlacement): Deleted.
(WebCore::RenderScrollbarTheme::supportsControlTints): Deleted.
(WebCore::RenderScrollbarTheme::shouldCenterOnThumb): Deleted.
(WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): Deleted.
(WebCore::RenderScrollbarTheme::autoscrollTimerDelay): Deleted.
(WebCore::RenderScrollbarTheme::registerScrollbar): Deleted.
(WebCore::RenderScrollbarTheme::unregisterScrollbar): Deleted.

  • rendering/RenderSnapshottedPlugIn.h:
  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextFragment.h:
  • rendering/RenderThemeGtk.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeWin.h:
  • rendering/RenderVideo.h:
  • rendering/TextAutosizer.h:
  • rendering/TrailingFloatsRootInlineBox.h:
  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLMenclose.h:
  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRadicalOperator.h:
  • rendering/mathml/RenderMathMLRoot.h:
  • rendering/mathml/RenderMathMLRow.h:
  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/mathml/RenderMathMLToken.h:
  • rendering/mathml/RenderMathMLUnderOver.h:
  • rendering/shapes/BoxShape.h:
  • rendering/shapes/PolygonShape.h:
  • rendering/shapes/RasterShape.h:
  • rendering/shapes/RectangleShape.h:
  • rendering/style/BasicShapes.h:
  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::computeIntrinsicDimensions): Deleted.

  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGContainer.h:
  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGTSpan.h:
  • rendering/svg/RenderSVGText.h:
  • rendering/svg/RenderSVGTransformableContainer.h:
  • rendering/svg/RenderSVGViewportContainer.h:
  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRootInlineBox.h:
8:49 PM Changeset in webkit [175083] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r175000): Crash in SourceBufferPrivateAVFObjC::destroyParser()
​https://bugs.webkit.org/show_bug.cgi?id=137990

Reviewed by Alexey Proskuryakov.

NULL-check m_mediaSource before using.

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

(WebCore::SourceBufferPrivateAVFObjC::destroyParser):

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

commitqueuetask_unittest.py should be made more concise.
​https://bugs.webkit.org/show_bug.cgi?id=137985

Patch by Jake Nielsen <​jacob_nielsen@apple.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Refactors tests to use MockSimpleTestPlanCommitQueue where possible.
(MockCommitQueue.init):
(MockCommitQueue.report_flaky_tests):
(MockCommitQueue):
(MockCommitQueue.get_reported_flaky_tests):
(MockSimpleTestPlanCommitQueue.init):
(MockSimpleTestPlanCommitQueue.run_command):
(MockSimpleTestPlanCommitQueue.did_run_clean_tests):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_land_failure):
(test_failed_archive):
(test_double_flaky_test_failure):
(test_test_failure):
(test_red_test_failure):
(test_very_red_tree_retry):
(test_red_tree_patch_rejection):
(test_one_flaky_test):
(test_tree_more_red_than_patch):
(MockCommitQueue.test_results): Deleted.
(test_simple_flaky_test_failure): Deleted.
(_expect_validate): Deleted.
(_expect_validate.MockDelegate): Deleted.
(_expect_validate.MockDelegate.refetch_patch): Deleted.
(_expect_validate.MockDelegate.expected_failures): Deleted.
(_mock_patch): Deleted.
(test_validate): Deleted.

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Fixes a bug that slipped through the cracks prior to this change.
(PatchAnalysisTask._test_patch):

7:40 PM Changeset in webkit [175081] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Protect WKWebView dynamic viewport change against empty sizes
​https://bugs.webkit.org/show_bug.cgi?id=137988
rdar://problem/17785162

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-22
Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
The algorithm behind dynamic size update finds the best content area to put in the viewport
after a viewport change. If an initial size or a target size is empty, it is impossible to
compute a reasonable area to keep in the view. We end up handling NaN scales
and/or sizes and CoreAnimation raises an exception when applying that value.

This patch add early exits when that occurs and fallback to the common code.

On Input, things are easy. If any of the initial values is empty, we just execute the updateBlock
without attempting any of the dynamic behaviors.

For the target values, things are trickier. We do not know what the values are going to be before we execute
the block. But once we executed the block, we have already skipped all the setters that call the web process.

To handle that, every value is set manually on WebPageProxy. This is a bit unfortunate because the setters
get yet another entry point.

7:39 PM Changeset in webkit [175080] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Refactoring to simplify some code in DatePrototype.cpp.
<​https://webkit.org/b/137997>

Reviewed by Filip Pizlo.

A bunch of functions in DatePrototype.cpp have the pattern of loading a
constant into a local variable only to pass it to a callee function
immediately after. There is no other use for that variable. This adds
additional verbosity with no added benefit.

This patch refactors those functions to just pass the constant arg directly.

  • runtime/DatePrototype.cpp:

(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):

6:37 PM Changeset in webkit [175079] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source/WebKit2

EFL and GTK ports have broken since r175075
​https://bugs.webkit.org/show_bug.cgi?id=137995

Unreviewed, EFL and GTK ports build fix.

Need to use PLATFORM(MAC) guard for ActionMenuHitTest functions.

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

(WebKit::WebPageProxy::removeNavigationGestureSnapshot):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
6:15 PM Changeset in webkit [175078] by commit-queue@webkit.org
  • 13 edits in trunk

String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
​https://bugs.webkit.org/show_bug.cgi?id=130967

Patch by Byungseon Shin <​sun.shin@lge.com> on 2014-10-22
Reviewed by Mark Lam.

Source/JavaScriptCore:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

(JSC::constructDate):
(JSC::callDate):
(JSC::dateUTC):

  • runtime/DateInstance.cpp:

(JSC::DateInstance::calculateGregorianDateTime):
(JSC::DateInstance::calculateGregorianDateTimeUTC):

  • runtime/DatePrototype.cpp:

(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):

  • runtime/JSDateMath.cpp:

(JSC::localTimeOffset):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):

  • runtime/JSDateMath.h:
  • runtime/VM.h:

(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache):
(JSC::LocalTimeOffsetCache::reset):
Passing TimeType argument to distingush UTC time and local time.

Source/WTF:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

  • wtf/DateMath.cpp:

(WTF::calculateLocalTimeOffset):
(WTF::parseDateFromNullTerminatedCharacters):
Compensate time offset depends on UTC time or local time.

  • wtf/DateMath.h:

Add argument to differenciate UTC or local time.

LayoutTests:

Set latest DST timezone boundary values on
<​http://www.timeanddate.com/time/zone/usa/los-angeles>

  • js/dom/script-tests/date-DST-time-cusps.js:
6:13 PM Changeset in webkit [175077] by Brent Fulgham
  • 28 edits
    55 adds in trunk/LayoutTests

[Win] Rebaseline various tests after switching to Windows rendering for native controls.

  • platform/win/editing/inserting/before-after-input-element-expected.txt: Added.
  • platform/win/editing/pasteboard/4806874-expected.txt: Added.
  • platform/win/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/win/editing/selection/4397952-expected.txt:
  • platform/win/editing/selection/4895428-3-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/win/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/win/fast/block/basic: Added.
  • platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.txt: Added.
  • platform/win/fast/block/float/032-expected.txt: Added.
  • platform/win/fast/css/text-input-with-webkit-border-radius-expected.txt:
  • platform/win/fast/dom/isindex-001-expected.txt: Added.
  • platform/win/fast/dom/isindex-002-expected.txt: Added.
  • platform/win/fast/forms/007-expected.txt: Added.
  • platform/win/fast/forms/button-align-expected.txt: Added.
  • platform/win/fast/forms/button-cannot-be-nested-expected.txt: Added.
  • platform/win/fast/forms/button-default-title-expected.txt:
  • platform/win/fast/forms/button-table-styles-expected.txt:
  • platform/win/fast/forms/button-white-space-expected.txt: Added.
  • platform/win/fast/forms/encoding-test-expected.txt: Added.
  • platform/win/fast/forms/floating-textfield-relayout-expected.txt: Added.
  • platform/win/fast/forms/input-align-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-bkcolor-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-default-bkcolor-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-disabled-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-preventDefault-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-width-expected.txt: Added.
  • platform/win/fast/forms/input-baseline-expected.txt: Added.
  • platform/win/fast/forms/input-disabled-color-expected.txt: Added.
  • platform/win/fast/forms/input-field-text-truncated-expected.txt: Added.
  • platform/win/fast/forms/input-placeholder-visibility-1-expected.txt: Added.
  • platform/win/fast/forms/input-placeholder-visibility-3-expected.txt: Added.
  • platform/win/fast/forms/input-readonly-empty-expected.txt: Added.
  • platform/win/fast/forms/input-table-expected.txt: Added.
  • platform/win/fast/forms/input-text-click-inside-expected.txt: Added.
  • platform/win/fast/forms/input-text-option-delete-expected.txt: Added.
  • platform/win/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.
  • platform/win/fast/forms/input-text-self-emptying-click-expected.txt: Added.
  • platform/win/fast/forms/input-text-word-wrap-expected.txt: Added.
  • platform/win/fast/forms/menulist-restrict-line-height-expected.txt: Added.
  • platform/win/fast/forms/menulist-style-color-expected.txt:
  • platform/win/fast/forms/minWidthPercent-expected.txt: Added.
  • platform/win/fast/forms/placeholder-position-expected.txt: Added.
  • platform/win/fast/forms/select-listbox-multiple-no-focusring-expected.txt:
  • platform/win/fast/forms/select-overflow-scroll-expected.txt:
  • platform/win/fast/forms/select-overflow-scroll-inherited-expected.txt:
  • platform/win/fast/forms/text-style-color-expected.txt: Added.
  • platform/win/fast/forms/textfield-focus-ring-expected.txt: Added.
  • platform/win/fast/forms/textfield-outline-expected.txt: Added.
  • platform/win/fast/forms/visual-hebrew-text-field-expected.txt: Added.
  • platform/win/fast/lists/dynamic-marker-crash-expected.txt: Added.
  • platform/win/fast/table/spanOverlapRepaint-expected.txt: Added.
  • platform/win/fast/table/text-field-baseline-expected.txt: Added.
  • platform/win/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/win/svg/custom/inline-svg-in-html-expected.txt: Added.
  • platform/win/svg/hixie/mixed: Added.
  • platform/win/svg/hixie/mixed/003-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/45621-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug138725-expected.txt:
  • platform/win/tables/mozilla/bugs/bug194024-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug24200-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/win/tables/mozilla/bugs/bug39209-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/win/tables/mozilla/bugs/bug51727-expected.txt:
  • platform/win/tables/mozilla/bugs/bug52505-expected.txt:
  • platform/win/tables/mozilla/bugs/bug52506-expected.txt:
  • platform/win/tables/mozilla/bugs/bug59354-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug60749-expected.txt:
  • platform/win/tables/mozilla/bugs/bug68912-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/win/tables/mozilla/bugs/bugs28928-expected.txt: Added.
  • platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/collapsing_borders: Added.
  • platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt:
  • platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt:
5:05 PM Changeset in webkit [175076] by ap@apple.com
  • 4 edits in trunk/Tools

Flakiness dashboard should support OS X Yosemite
​https://bugs.webkit.org/show_bug.cgi?id=137986

Reviewed by Ryosuke Niwa.

  • TestResultServer/app.yaml:
  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
4:48 PM Changeset in webkit [175075] by timothy_horton@apple.com
  • 17 edits
    6 adds in trunk/Source/WebKit2

Add action menu support for images
​https://bugs.webkit.org/show_bug.cgi?id=137987
<rdar://problem/18717767>

Reviewed by Anders Carlsson, Sam Weinig, and Beth Dakin.

  • Resources/AddImageToPhotos.pdf: Added.
  • Resources/CopyImage.pdf: Added.
  • Resources/SaveImageToDownloads.pdf: Added.
  • Resources/ShareImage.pdf: Added.

Add some temporary artwork.

  • Scripts/webkit/messages.py:

(struct_or_class):
ActionMenuHitTestResult is a struct.

  • Shared/API/c/WKActionMenuItemTypes.h:

Add new items for image menus.

  • Shared/mac/ActionMenuHitTestResult.cpp:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
For now, pass the hit image data across to the UI process as a ShareableBitmap.

  • Shared/mac/ActionMenuHitTestResult.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _createActionMenuItemForTag:]):
Refactor action menu item creation into a single function, so that
callers can share code and be much simpler.

(webKitBundleImageNamed):
Add a helper to acquire an image from the WebKit2 bundle.

(-[WKView _copyImage:]):
(-[WKView _saveImageToDownloads:]):
(temporaryPhotosDirectoryPath):
(pathToPhotoOnDisk):
(-[WKView _addImageToPhotos:]):
Add rudimentary implementations of image actions.

(-[WKView _defaultMenuItemsForImage]):
Support the image menu, plus a submenu acquired from NSSharingServicePicker
for the Share menu.

(-[WKView _defaultMenuItems]):
Call _defaultMenuItemsForImage if needed.

(-[WKView _updateActionMenu]):
Refactor _updateActionMenu out of prepareForMenu:withEvent:.

(-[WKView prepareForMenu:withEvent:]):
Ask the Web process to re-hit-test under the location that the menu
will appear. Mark the menu as pending.

(-[WKView _didPerformActionMenuHitTest:]):
When we get the hit test reply, record the result for future use.

(-[WKView willOpenMenu:withEvent:]):
If we got a hit test reply, rebuild the menu immediately. If not, wait
up to 500ms for the reply to come in. This eventually needs to be
cancellable if the menu is rejected in the interim.

(-[WKView didCloseMenu:withEvent:]):
Clear all state when the menu closes.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performActionMenuHitTestAtLocation):
(WebKit::WebPageProxy::didPerformActionMenuHitTest):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformActionMenuHitTest):

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Plumb didPerformActionMenuHitTest back from WebPageProxy to WKView.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Hit test at the given location, recording the image data if there is any,
and return the result to the UI process.

  • WebKit2.xcodeproj/project.pbxproj:

Add the PDFs.

4:43 PM Changeset in webkit [175074] by dbates@webkit.org
  • 3 edits
    9 adds in trunk

SVG loaded through html <img> can't request to load any external resources.
​https://bugs.webkit.org/show_bug.cgi?id=137762.

Patch by Said Abou-Hallawa <​sabouhallawa@apple.com> on 2014-10-22
Reviewed by Daniel Bates.

Source/WebCore:

SVG images have unique security rules that prevent them from loading any external
resources. This patch enforces these rules in CachedResourceLoader::canRequest for
all non-data-uri resources.

The fix and the tests are ported but modified a little from the chromium fix:
​http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Test: http/tests/security/svg-image-with-cached-remote-image.html

http/tests/security/svg-image-with-css-cross-domain.html

For the SVG image, prevent loading any external sub-resource except for data urls.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

LayoutTests:

Ensure that SVG images, which are loaded through the <img> tag or through the
CSS background image, cannot load any external sub-resource except for data-
URL resources (though this doesn't work at the time of writing, see bug #137941).
Also ensure the same rule is enforced on cached resources.

The tests are ported but modified a little from the chromium fix:
​http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Set the circle background to orange

  • http/tests/security/resources/image-with-css-cross-domain-circle.css: Added.

(circle):

Set the circle stroke-width = 2 and the circle stroke = red

  • http/tests/security/resources/image-with-css-cross-domain-circle2.css: Added.

(circle):

This svg references the two css files: one is relative path and the other is absolute path

  • http/tests/security/resources/image-with-css-cross-domain.svg: Added.

This svg references an external image.

  • http/tests/security/resources/image-with-remote-image.svg: Added.

A helper css which sets the formatting style for some html tags

  • http/tests/security/svg-image-with-css-cross-domain.css: Added.

(span):
(span.circle-css-cross-domain):
(embed):
(iframe):

Test the svg which is referenced as a cached image by an <object> tag, does not load
external sub-resource.

  • http/tests/security/svg-image-with-cached-remote-image-expected.html: Added.
  • http/tests/security/svg-image-with-cached-remote-image.html: Added.

Test loading sub-resources for an svg which is included in the html by different ways
and which references external css files.
Ensure the image object does not load any external sub-resources.

  • http/tests/security/svg-image-with-css-cross-domain-expected.html: Added.
  • http/tests/security/svg-image-with-css-cross-domain.html: Added.
4:27 PM Changeset in webkit [175073] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

commitqueuetask should include more tests to ensure that the behavior
of PatchAnalysisTask._test_patch() is well defined
​https://bugs.webkit.org/show_bug.cgi?id=137977

Patch by Jake Nielsen <​jacob_nielsen@apple.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Adds the MockSimpleTestPlanCommitQueue class, which makes it easier
and more readable to define tests that are meant to test the behaviour
of PatchAnalysisTask._test_patch(), and adds several unit tests.
(FailingTestCommitQueue.test_results):
(PatchAnalysisResult):
(MockSimpleTestPlanCommitQueue):
(MockSimpleTestPlanCommitQueue.init):
(MockSimpleTestPlanCommitQueue.run_command):
(MockSimpleTestPlanCommitQueue._mock_test_result):
(MockSimpleTestPlanCommitQueue.test_results):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_flaky_test_failure):
(test_failed_archive):
(test_two_flaky_tests):
(test_one_flaky_test):
(test_very_flaky_patch):
(test_very_flaky_patch_with_some_tree_redness):
(test_different_test_failures):
(test_different_test_failures_with_some_tree_redness):
(test_mildly_flaky_patch):
(test_mildly_flaky_patch_with_some_tree_redness):
(test_tree_more_red_than_patch):

4:18 PM Changeset in webkit [175072] by adachan@apple.com
  • 6 edits
    2 adds in trunk

MediaPlayerPrivateAVFoundation::hasAudio() returns false even when there is an audible AVMediaSelectionOption selected
​https://bugs.webkit.org/show_bug.cgi?id=137935

Reviewed by Eric Carlson.

Source/WebCore:

Set hasAudio to true if there's a selected audible AVMediaSelectionOption
after the call to updateAudioTracks(). Ditto for video.

Test: http/tests/media/hls/hls-audio-tracks-has-audio.html

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):

  • testing/Internals.cpp:

(WebCore::Internals::mediaElementHasCharacteristic):

  • testing/Internals.h:
  • testing/Internals.idl:

Add internals.mediaElementHasCharacteristic for the new test.

LayoutTests:

  • http/tests/media/hls/hls-audio-tracks-has-audio-expected.txt: Added.
  • http/tests/media/hls/hls-audio-tracks-has-audio.html: Added.
4:03 PM Changeset in webkit [175071] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source

Remove WidgetBackingStoreCairo::create() factory function
​https://bugs.webkit.org/show_bug.cgi?id=137943

Reviewed by Darin Adler.

WidgetBackingStoreCairo::create() can be replaced by std::make_unique<>.
Thus this patch removes it, then use std::make_unique<>|std::unique_ptr<>.

Source/WebCore:

No new tests, no behavior changes.

  • platform/cairo/WidgetBackingStoreCairo.cpp:

(WebCore::WidgetBackingStoreCairo::create): Deleted.

  • platform/cairo/WidgetBackingStoreCairo.h:
  • platform/gtk/WidgetBackingStoreGtkX11.cpp:

(WebCore::WidgetBackingStoreGtkX11::create): Deleted.

  • platform/gtk/WidgetBackingStoreGtkX11.h:

Source/WebKit2:

  • UIProcess/BackingStore.h:
  • UIProcess/cairo/BackingStoreCairo.cpp:

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

4:01 PM Changeset in webkit [175070] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source

Remove TextCheckerEnchant::create() factory function
​https://bugs.webkit.org/show_bug.cgi?id=137944

Reviewed by Darin Adler.

TextCheckerEnchant::create() can be replaced by std::make_unique<> and std::unique_ptr<>.

Source/WebCore:

No new tests, no behavior change.

  • platform/text/enchant/TextCheckerEnchant.h:

(WebCore::TextCheckerEnchant::create): Deleted.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitTextChecker.cpp:

(WebKitTextChecker::WebKitTextChecker):

  • UIProcess/API/gtk/WebKitTextChecker.h:
  • UIProcess/efl/TextCheckerClientEfl.cpp:

(TextCheckerClientEfl::TextCheckerClientEfl):

  • UIProcess/efl/TextCheckerClientEfl.h:
3:53 PM Changeset in webkit [175069] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.25-branch/Source

Versioning.

2:45 PM Changeset in webkit [175068] by Chris Dumez
  • 18 edits in trunk/Source/WebCore

Avoid confusion between AccessibilityObject::isTable() / isAccessibilityTable()
​https://bugs.webkit.org/show_bug.cgi?id=137899

Reviewed by Darin Adler.

Avoid confusion between AccessibilityObject::isTable() and
isAccessibilityTable(). isTable() is equivalent to
is<AccessibilityTable>(), while isAccessibilityTable() is an
AccessibilityTable that is exposed as an AccessibilityTable to the
platform.

This patch is renaming isAccessibilityTable() to
isExposableThroughAccessibility(), makes it non-virtual and defines it
on AccessibilityTable only, for clarity.

This patch also renames isTableExposableThroughAccessibility() to
computeIisTableExposableThroughAccessibility() as it is called only
once to initialize the m_isExposableThroughAccessibility data member.

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addChildren):

  • accessibility/AccessibilityARIAGrid.h:
  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::parentTable):
(WebCore::AccessibilityARIAGridCell::rowIndexRange):
(WebCore::AccessibilityARIAGridCell::columnIndexRange):

  • accessibility/AccessibilityARIAGridRow.cpp:

(WebCore::AccessibilityARIAGridRow::disclosedRows):
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentTable):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldUseAccessiblityObjectInnerText):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
(WebCore::appendChildrenToArray):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isAccessibilityTable): Deleted.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::ariaSelectedRows):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::AccessibilityTable):
(WebCore::AccessibilityTable::init):
(WebCore::AccessibilityTable::isExposableThroughAccessibility):
(WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::tableLevel):
(WebCore::AccessibilityTable::roleValue):
(WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
(WebCore::AccessibilityTable::title):
(WebCore::AccessibilityTable::isAccessibilityTable): Deleted.
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility): Deleted.

  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::isTableCell):

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):
(WebCore::AccessibilityTableColumn::addChildren):

  • accessibility/AccessibilityTableHeaderContainer.cpp:

(WebCore::AccessibilityTableHeaderContainer::addChildren):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::isTableRow):
(WebCore::AccessibilityTableRow::parentTable):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetNChildren):
(webkitAccessibleRefChild):
(webkitAccessibleGetAttributes):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2:16 PM Changeset in webkit [175067] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Avoid repeated is<MutableStyleProperties>() checks in StyleProperties
​https://bugs.webkit.org/show_bug.cgi?id=137978

Reviewed by Andreas Kling.

Reduce the amount of is<MutableStyleProperties>() checks in
StyleProperties by:

  • Removing the checks in each method of StyleProperties::PropertyReference, and replace them by a single check in StyleProperties::propertyAt().
  • Providing faster propertyCount() / propertyAt() / isEmpty() methods on MutableStyleProperties / ImmutableStyleProperties as a lot of callers use tight typing.
  • Using tighter typing at call sites whenever possible.

Ideally, we could be able to use iterators instead of propertyCount() /
propertyAt() but this is not trivial to do efficiently as the
representation in memory is fundamentally different for MutableStyleProperties
/ ImmutableStyleProperties. We may be able to do better longer term, but
this is already more efficient short term at least.

No new tests, no behavior change.

  • css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::MutableStyleProperties):
(WebCore::StyleProperties::PropertyReference::cssText):

  • css/StyleProperties.h:

(WebCore::StyleProperties::PropertyReference::PropertyReference):
(WebCore::StyleProperties::PropertyReference::id):
(WebCore::StyleProperties::PropertyReference::shorthandID):
(WebCore::StyleProperties::PropertyReference::isImportant):
(WebCore::StyleProperties::PropertyReference::isInherited):
(WebCore::StyleProperties::PropertyReference::isImplicit):
(WebCore::StyleProperties::PropertyReference::value):
(WebCore::StyleProperties::PropertyReference::toCSSProperty):
(WebCore::StyleProperties::isEmpty):
(WebCore::ImmutableStyleProperties::isEmpty):
(WebCore::MutableStyleProperties::isEmpty):
(WebCore::ImmutableStyleProperties::propertyAt):
(WebCore::MutableStyleProperties::propertyAt):
(WebCore::StyleProperties::propertyAt):
(WebCore::StyleProperties::propertyCount):
(WebCore::StyleProperties::PropertyReference::propertyMetadata): Deleted.
(WebCore::StyleProperties::PropertyReference::propertyValue): Deleted.

  • editing/EditingStyle.cpp:

(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):

2:14 PM Changeset in webkit [175066] by eric.carlson@apple.com
  • 8 edits in trunk/Source/WebCore

[Mac][MediaStream] clean up bit rot
​https://bugs.webkit.org/show_bug.cgi?id=137976

Reviewed by Jer Noble.

No new tests, this just gets the Mac port compiling again.

  • Modules/mediastream/MediaStream.h: Add a virtual destructor to Observer since it has

a virtual method.

  • WebCore.exp.in: Export RTCPeerConnectionHandler::create and RTCPeerConnectionHandlerMock::create(WebCore::RTCPeerConnectionHandlerClient*),

they are both use by Internals for testing.

  • WebCore.xcodeproj/project.pbxproj: Add RTC and MediaStream files.
  • html/HTMLMediaElement.h: Forward declare MediaStream instead of including MediaStream.h.
  • platform/mediastream/RTCPeerConnectionHandler.h: EXPORT the create method.
  • platform/mock/MediaConstraintsMock.cpp:

(WebCore::isSupported): Make static.
(WebCore::isValid): Ditto.

  • platform/mock/RTCPeerConnectionHandlerMock.h: EXPORT the create method.
2:11 PM Changeset in webkit [175065] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.25.1

New tag.

1:14 PM Changeset in webkit [175064] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Revert fix for REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error
(​https://bugs.webkit.org/show_bug.cgi?id=137493)

Turns out the root cause was a bug in MIME type sniffing, ​https://bugs.webkit.org/show_bug.cgi?id=137855

Remove the workaround.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::startWithHandle):

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::startWithHandle):

1:04 PM Changeset in webkit [175063] by commit-queue@webkit.org
  • 8 edits
    2 deletes in trunk/Tools

PatchAnalysisTask._test_patch() needs refactoring
​https://bugs.webkit.org/show_bug.cgi?id=137904

Patch by Jake Nielsen <​jacob_nielsen@apple.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Fixes several small bugs, and makes minor changes to accomodate the
changes in PatchAnalysisTask.
(MockCommitQueue.refetch_patch):
(MockCommitQueue.test_results):
(test_flaky_test_failure):
(test_failed_archive):
(test_very_red_tree_retry):
(_expect_validate.MockDelegate.refetch_patch):
(MockCommitQueue.expected_failures): Deleted.
(_expect_validate.MockDelegate.expected_failures): Deleted.

  • Scripts/webkitpy/tool/bot/expectedfailures.py: Removed.
  • Scripts/webkitpy/tool/bot/expectedfailures_unittest.py: Removed.
  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Removes the unexpected_failures member, adds the _clean_tree_results
member, adds a helper function for _test_patch, and refactors
_test_patch to be more readable.
(PatchAnalysisTask.init):
(PatchAnalysisTask._continue_testing_patch_that_exceeded_failure_limit_on_first_or_second_try):
(PatchAnalysisTask._test_patch):
(PatchAnalysisTask.results_from_test_run_without_patch):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Removes AbstractEarlyWarningSystem's dependancy on ExpectedFailures.
(AbstractEarlyWarningSystem.begin_work_queue):
(AbstractEarlyWarningSystem._failing_tests_message):
(AbstractEarlyWarningSystem.command_failed):
(AbstractEarlyWarningSystem.expected_failures): Deleted.

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Makes changes to accomodate the changes made to PatchAnalysisTask.
(AbstractEarlyWarningSystemTest.test_failing_tests_message):

  • Scripts/webkitpy/tool/commands/perfalizer.py:

Removes Perfalizer's dependancy on ExpectedFailures.
(PerfalizerTask.refetch_patch):
(PerfalizerTask.expected_failures): Deleted.

  • Scripts/webkitpy/tool/commands/queues.py:

Removes CommitQueue's dependancy on ExpectedFailures, and adds an
initializer to allow for mock injection.
(CommitQueue.init):
(CommitQueue.begin_work_queue):
(CommitQueue.process_work_item):
(CommitQueue._failing_tests_message):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

Removes dependancy on ExpectedFailures, and instead uses mock
injection.
(MockCommitQueueTask):
(MockCommitQueueTask.results_from_patch_test_run):
(MockCommitQueueTask.results_from_test_run_without_patch):
(mock_run_webkit_patch):

12:44 PM Changeset in webkit [175062] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

12:13 PM Changeset in webkit [175061] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

Remove action menu web preference
​https://bugs.webkit.org/show_bug.cgi?id=137975

Reviewed by Tim Horton.

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

(WKPreferencesSetActionMenuSupportEnabled): Deleted.
(WKPreferencesGetActionMenuSupportEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):

12:12 PM Changeset in webkit [175060] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.3-branch

New Branch.

12:11 PM Changeset in webkit [175059] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: Fix generator importing of protocol type "any", treat as value
​https://bugs.webkit.org/show_bug.cgi?id=137931

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-22
Reviewed by Timothy Hatcher.

Treat incoming "any" objects as InspectorValues, which can be any type.
Add the necessary boilerplate to import.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::AsMethodBridges::asValue):
(Inspector::InspectorBackendDispatcher::getValue):

  • inspector/InspectorBackendDispatcher.h:
  • inspector/scripts/codegen/generator.py:

(Generator.keyed_get_method_for_type):

  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
11:59 AM Changeset in webkit [175058] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r174996): Broke C_LOOP
​https://bugs.webkit.org/show_bug.cgi?id=137971

Reviewed by Mark Lam.

Removed incorrect move to cfr (CallFrameRegister) before we make the call to a native function.
After r174996, the source register for the move contained garbage causing the crash. The move
to cfr before making the call to the native function is wrong and should have been removed
some time ago. This brings the ARM64 / C_LOOP code path inline with the other CPU paths.
Tested on ARM64 as well as a C_LOOP build.

  • llint/LowLevelInterpreter64.asm:
10:50 AM Changeset in webkit [175057] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed EFL gardening.
​https://bugs.webkit.org/show_bug.cgi?id=137950

Some tests that are passed in latest build.

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-10-22

  • platform/efl/TestExpectations: Remove passing tests from TestExceptation file.
10:45 AM Changeset in webkit [175056] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a number of tests as failing due to white selected text color.
​https://bugs.webkit.org/show_bug.cgi?id=137963

  • platform/win/TestExpectations:
10:43 AM Changeset in webkit [175055] by Chris Dumez
  • 22 edits
    1 copy
    1 add in trunk/Source

[Mac][WK2] Fix applicationIsSafari() detection
​https://bugs.webkit.org/show_bug.cgi?id=137893

Reviewed by Alexey Proskuryakov.

Source/WebCore:

I noticed when profiling Safari on Mac that we were exercising a code
path we shouldn't because it is meant for other applications that
Safari.

The detection relies on the applicationIsSafari() function in
RuntimeApplicationChecks.cpp. This was in some cases returning false on
my machine even though I was running Safari so I investigated a bit and
noticed that the check relies on the main bundle identifier string and
is doing:
isSafari = mainBundleIsEqualTo("com.apple.Safari")

mainBundleIsEqualTo("com.apple.WebProcess");

This WebProcess detection is very unreliable because:

  • It matches other apps than Safari's WebProcesses
  • The bundle name for the WebProcess is sometimes

"com.apple.WebKit.WebContent" or
"com.apple.WebKit.WebContent.Development".

The solution used in this patch is to move the applicationIsSafari()
check to the UIProcess so that the check actually succeeds reliably.
The call site for applicationIsSafari() was in
ResourceRequest::useQuickLookResourceCachingQuirks(). This match
removes that logic from ResourceRequest and move it to
FrameLoaderClient as only the FrameLoader is interested in this
information. The logic to determine if we should use QuickLook
resource caching quirks is moved to a new QuickLook class under
platform/ as the code needs to be shared between WebKit and WebKit2.
On WebKit2, we make use that code on the UIProcess side and pass
the flag as a parameter when constructing the WebProcess. The flag
is then stored on the WebProcess and queried by WebFrameLoaderClient.

Previously, we would spend ~1% of the WebProcess cpu time (when loading
apple.com) trying to detect if we should use QuickLook resource caching
quirks even though that check was supposed to be disabled and return
early when running Safari.

No new tests, not easily testable.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::subresourceCachePolicy):

  • loader/FrameLoaderClient.h:
  • platform/RuntimeApplicationChecks.cpp:

(WebCore::applicationIsSafari):
Remove "com.apple.WebProcess" bundle name matching as this causes false
positives (matches other applications than Safari's WebProcesses) and
it is no longer needed now that applicationIsSafari() is always called
from the UIProcess.

  • platform/mac/QuickLookMac.h: Added.
  • platform/mac/QuickLookMac.mm: Copied from Source/WebCore/platform/network/mac/ResourceRequestMac.mm.

(WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks):

  • platform/network/cf/ResourceRequest.h:
  • platform/network/ios/ResourceRequestIOS.mm:

(WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::initQuickLookResourceCachingQuirks): Deleted.
(WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted.

Source/WebKit/mac:

Provide an implementation for FrameLoaderClient's new
needsQuickLookResourceCachingQuirks() that returns
a static flag initialized using
QuickLookMac::computeNeedsQuickLookResourceCachingQuirks().

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit2:

Provide an implementation for FrameLoaderClient's new
needsQuickLookResourceCachingQuirks(), which accesses the flag stored
on the WebProcess, which is initialized upon WebProcess creation.

QuickLookMac::computeNeedsQuickLookResourceCachingQuirks() is called
on UIProcess side so that it works reliably and the flag is passed as
parameter when constructing the WebProcess.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks):

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

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::needsQuickLookResourceCachingQuirks):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

10:41 AM Changeset in webkit [175054] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a number of tests as failing due to <select> bug.
​https://bugs.webkit.org/show_bug.cgi?id=137962

  • platform/win/TestExpectations:
10:16 AM Changeset in webkit [175053] by commit-queue@webkit.org
  • 5 edits
    8 adds in trunk

XMLHttpRequest should support attribute responseURL as per latest XHR spec.
​https://bugs.webkit.org/show_bug.cgi?id=136938

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: http/tests/xmlhttprequest/basic-auth-responseURL.html

http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html
http/tests/xmlhttprequest/redirect-credentials-responseURL.html
http/tests/xmlhttprequest/xmlhttprequest-responseURL.html

XMLHttpRequest should support attribute responseURL

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseURL):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl:

LayoutTests:

Added test to check responseURL attribute in XMLHttpRequest.

  • http/tests/xmlhttprequest/basic-auth-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/basic-auth-responseURL.html: Added.
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html: Added.
  • http/tests/xmlhttprequest/redirect-credentials-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/redirect-credentials-responseURL.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL.html: Added.
9:56 AM Changeset in webkit [175052] by Chris Dumez
  • 13 edits
    1 add in trunk/Source/WebCore

Add initial support for generating the StyleBuilder from CSSPropertyNames.in
​https://bugs.webkit.org/show_bug.cgi?id=137910

Reviewed by Andreas Kling.

Add initial support for generating the StyleBuilder from
CSSPropertyNames.in. This is a first step towards getting rid of the
legacy DeprecatedStyleBuilder class and having everything defined in one
place (CSSPropertyNames.in).

This patch updates makeprop.pl script to generate a StyleBuilder.cpp
file that generate a the StyleBuilder::applyProperty() method
implementation using a huge switch statement for all the CSS
properties. With this patch, we are now generating the new StyleBuilder
code for all the "simple" CSS properties (i.e. those that were using
ApplyPropertyDefault<> in DeprecatedStyleBuilder.cpp). I am using a
"NewStyleBuilder" option in CSSPropertyNames.in for properties that
we generate to help with improving incrementally the generator. Once
we are able to generate all properties, this transition option will
do away and become the default.

By default, the generator will make an educated guess for the type
name, the getter, the setter and the initial function of each property.
For example, for the border-collapse property, it will use:

  • TypeName: EBorderCollapse (i.e. 'E' + PropertyId)
  • Getter: borderCollapse() (i.e. PropertyId with first letter lowercased)
  • Setter: setBorderCollapse() (i.e. 'set' + PropertyId)
  • Initial: initialBorderCollapse() (i.e. 'initial' + PropertyId)

This works for most properties. For properties that need
special-casing, developers can use the following options in
CSSPropertyNames.in:

  • TypeName: Overrides the type name
  • Getter: Overrides the getter name
  • Setter: Overrides the setter name
  • Initial: Overrides the initial function name
  • NameForMethods: Overrides the Getter / Setter / Initial function names. For e.g. "NameForMethods=OverflowWrap" will use "overflowWrap() / setOverflowWrap() / initialOverflowWrap()".

The patch is inspired by the following Blink revision by
<​timloh@chromium.org>:
​https://src.chromium.org/viewvc/blink?view=rev&revision=150424

No new tests, no behavior change.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyVerticalAlign::createHandler):
(WebCore::ApplyPropertyDisplay::applyInitialValue):
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleBuilder.h: Added.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::applyProperty):

  • css/makeprop.pl:
  • rendering/style/RenderStyle.h:

Move the initialXXX() methods that were in NonInheritedFlags to
RenderStyle class, with the other initialXXX() methods to facilitate
code generation.

  • rendering/style/StyleMultiColData.cpp:

(WebCore::StyleMultiColData::StyleMultiColData):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

8:56 AM Changeset in webkit [175051] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GStreamer debug build after r175050.

Explicitly include wtf/MainThread.h.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
8:12 AM Changeset in webkit [175050] by Carlos Garcia Campos
  • 12 edits
    3 adds in trunk

[GStreamer] Do not use CachedResourceLoader, SecurityOrigin, ResourceBuffer and other WebCore types
​https://bugs.webkit.org/show_bug.cgi?id=137064

Reviewed by Philippe Normand.

Source/WebCore:

Move the media resource loader to a new class in WebCore/loader
that inherits from a PlatformMediaResourceLoader class defined in
the platform layer. The platform specific behaviour is implemented
using a client also defined in the platform layer, implemented by
every media backend, and used by the WebCore MediaResourceLoader.

  • CMakeLists.txt: Add new files to compilation.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
Create a MediaResourceLoader.
(WebCore::HTMLMediaElement::mediaPlayerCORSMode): Deleted. This is
no longer used.

  • html/HTMLMediaElement.h:
  • loader/MediaResourceLoader.cpp: Added.

(WebCore::MediaResourceLoader::MediaResourceLoader):
(WebCore::MediaResourceLoader::~MediaResourceLoader):
(WebCore::MediaResourceLoader::start): Start a new load for the
given request and load options.
(WebCore::MediaResourceLoader::stop): Stop the load if needed.
(WebCore::MediaResourceLoader::setDefersLoading):
(WebCore::MediaResourceLoader::responseReceived): Handle CORS
access check and notify the client about the response.
(WebCore::MediaResourceLoader::dataReceived): Notify the client.
(WebCore::MediaResourceLoader::notifyFinished): Ditto.
(WebCore::MediaResourceLoader::getOrCreateReadBuffer): Ask the
client to create the read buffer.

  • loader/MediaResourceLoader.h: Added.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::createResourceLoader): Call
mediaPlayerCreateResourceLoader() if there's a client.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCreateResourceLoader):
(WebCore::MediaPlayerClient::mediaPlayerCORSMode): Deleted.

  • platform/graphics/PlatformMediaResourceLoader.h: Added.

(WebCore::PlatformMediaResourceLoaderClient::responseReceived):
(WebCore::PlatformMediaResourceLoaderClient::dataReceived):
(WebCore::PlatformMediaResourceLoaderClient::bufferReceived):
(WebCore::PlatformMediaResourceLoaderClient::accessControlCheckFailed):
(WebCore::PlatformMediaResourceLoaderClient::loadFailed):
(WebCore::PlatformMediaResourceLoaderClient::loadFinished):
(WebCore::PlatformMediaResourceLoaderClient::getOrCreateReadBuffer):
(WebCore::PlatformMediaResourceLoader::~PlatformMediaResourceLoader):
(WebCore::PlatformMediaResourceLoader::stop):
(WebCore::PlatformMediaResourceLoader::setDefersLoading):
(WebCore::PlatformMediaResourceLoader::didPassAccessControlCheck):
(WebCore::PlatformMediaResourceLoader::PlatformMediaResourceLoader):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStop): Also delete the PlatformMediaResourceLoader.
(webKitWebSrcStart): Create a new resource loader using
MediaPlayer::createResourceLoader() with a new
CachedResourceStreamingClient as client.
(webKitWebSrcNeedDataMainCb): Call setDefersLoading() for the
resource loader if there's one.
(webKitWebSrcEnoughDataMainCb): Ditto.
(webKitSrcPassedCORSAccessCheck): Return didPassAccessControlCheck.
(StreamingClient::handleResponseReceived): Remove the CORS check
result parameter since that's now handled by MediaResourceLoader.
(CachedResourceStreamingClient::CachedResourceStreamingClient):
(CachedResourceStreamingClient::~CachedResourceStreamingClient):
(CachedResourceStreamingClient::getOrCreateReadBuffer):
(CachedResourceStreamingClient::responseReceived): Update didPassAccessControlCheck.
(CachedResourceStreamingClient::dataReceived):
(CachedResourceStreamingClient::accessControlCheckFailed): Log the
error and stop the load.
(CachedResourceStreamingClient::loadFailed): Log the error if it
was not a cancellation.
(CachedResourceStreamingClient::loadFinished):
(ResourceHandleStreamingClient::didReceiveResponse):
(CachedResourceStreamingClient::setDefersLoading): Deleted.
(CachedResourceStreamingClient::notifyFinished): Deleted.

LayoutTests:

Update expected results of http/tests/security/video-cross-origin-accessfailure.html, since
now the error is also logged in the console.

  • http/tests/security/video-cross-origin-accessfailure-expected.txt:
8:09 AM Changeset in webkit [175049] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Add support for mouse middle button to open links in new window
​https://bugs.webkit.org/show_bug.cgi?id=136736

Patch by Rohit Kumar <​kumar.rohit@samsung.com> on 2014-10-22
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c:

(on_navigation_policy_decision): Check whether it's a link clicked with the middle mouse button and load the request in a new window.
(window_create):

7:59 AM Changeset in webkit [175048] by Alan Bujtas
  • 2 edits in trunk/PerformanceTests

Speed up line parsing for simple line layout (part I)
​https://bugs.webkit.org/show_bug.cgi?id=137275

Reviewed by Antti Koivisto.

Extend simple line layout performance test with a few more cases.
Now we've got:
<div center
<div right
<div justify
<div white-space: pre (new)
<div overflow-wrap: break-word (new)
<pre
<pre white-space: pre-wrap
<pre white-space: pre-line (new)
<pre white-space: nowrap (new)
<pre white-space: pre-wrap overflow-wrap: break-word
<div + embedded <span etc.
<div + br

  • Layout/line-layout-simple.html:
7:03 AM Changeset in webkit [175047] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ debug build after r175046.

Remove invalid ASSERT.

  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::setCursorRect):

6:00 AM Changeset in webkit [175046] by Carlos Garcia Campos
  • 9 edits
    1 move
    3 adds
    4 deletes in trunk

[GTK] Move GtkInputMethodFilter from Platform to WebKit2
​https://bugs.webkit.org/show_bug.cgi?id=137884

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Remove GtkInputMethodFilter.

  • PlatformGTK.cmake:
  • platform/gtk/GtkInputMethodFilter.cpp: Removed.
  • platform/gtk/GtkInputMethodFilter.h: Removed.

Source/WebKit2:

Merge WebViewBaseInputMethodFilter and GtkInputMethodFilter into a
single class InputMethodFilter. The code is mostly the same, but
instead of having a setWebView method only to get the WebPageProxy,
it has a setPage method that passes the WebPageProxy. The GtkIMContext
client window is set by the WebView when it's realized/unrealized.

  • PlatformGTK.cmake:
  • Shared/NativeWebKeyboardEvent.h:
  • Shared/gtk/NativeWebKeyboardEventGtk.cpp:

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):
(webkitWebViewBaseUnrealize):
(webkit_web_view_base_class_init):
(webkitWebViewBaseCreateWebPage):
(webkitWebViewBaseEnterFullScreen): Deleted.

  • UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Removed.
  • UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Removed.
  • UIProcess/gtk/InputMethodFilter.cpp: Added.

(WebKit::InputMethodFilter::handleCommitCallback):
(WebKit::InputMethodFilter::handlePreeditStartCallback):
(WebKit::InputMethodFilter::handlePreeditChangedCallback):
(WebKit::InputMethodFilter::handlePreeditEndCallback):
(WebKit::InputMethodFilter::InputMethodFilter):
(WebKit::InputMethodFilter::~InputMethodFilter):
(WebKit::InputMethodFilter::setEnabled):
(WebKit::InputMethodFilter::setCursorRect):
(WebKit::InputMethodFilter::handleKeyboardEvent):
(WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults):
(WebKit::InputMethodFilter::filterKeyEvent):
(WebKit::InputMethodFilter::confirmComposition):
(WebKit::InputMethodFilter::updatePreedit):
(WebKit::InputMethodFilter::notifyFocusedIn):
(WebKit::InputMethodFilter::notifyFocusedOut):
(WebKit::InputMethodFilter::notifyMouseButtonPress):
(WebKit::InputMethodFilter::confirmCurrentComposition):
(WebKit::InputMethodFilter::cancelContextComposition):
(WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
(WebKit::InputMethodFilter::handleCommit):
(WebKit::InputMethodFilter::handlePreeditStart):
(WebKit::InputMethodFilter::handlePreeditChanged):
(WebKit::InputMethodFilter::handlePreeditEnd):
(WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):
(WebKit::InputMethodFilter::logConfirmCompositionForTesting):
(WebKit::InputMethodFilter::logSetPreeditForTesting):

  • UIProcess/gtk/InputMethodFilter.h: Added.

(WebKit::InputMethodFilter::context):
(WebKit::InputMethodFilter::setPage):
(WebKit::InputMethodFilter::setTestingMode):
(WebKit::InputMethodFilter::events):

Tools:

Move InputMethodFilter test from WebCore tests to WebKit2 tests
and adapt it to use the new InputMethodFilter WebKit class. Instead
of having virtual methods just for testing, it has a testing mode
that logs the events.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebKit2/gtk/InputMethodFilter.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/gtk/InputMethodFilter.cpp.

(TestWebKitAPI::TestInputMethodFilter::TestInputMethodFilter):
(TestWebKitAPI::TestInputMethodFilter::~TestInputMethodFilter):
(TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):
(TestWebKitAPI::TestInputMethodFilter::sendPressAndReleaseKeyEventPairToFilter):
(TestWebKitAPI::TEST):
(TestWebKitAPI::temporaryGetPreeditStringOverride):
(TestWebKitAPI::temporaryResetOverride):
(TestWebKitAPI::verifyCanceledComposition):

5:27 AM Changeset in webkit [175045] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.7

WebKitGTK+ 2.4.7

5:22 AM Changeset in webkit [175044] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

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

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.7.
4:16 AM Changeset in webkit [175043] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

Match spec for font-weight: bolder|lighter
​https://bugs.webkit.org/show_bug.cgi?id=137919

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-10-22
Reviewed by Andreas Kling.

This patch is a merge of Blink's
Source/WebCore:

​https://chromiumcodereview.appspot.com/15994009

Currently, bolder and lighter change font-weight in a non-compliant way.
The spec (​http://www.w3.org/TR/css3-fonts/#bolderlighter) defines
exactly what the computed values should be given the inherited weight values,
so we should match those.

The removed FIXME's for selecting the next lightest/heaviest weight from
the used font family seems to refer to behaviour from
CSS1 (​http://www.w3.org/TR/CSS1/#font-weight), while this is replaced
with a simpler procedure for resolving bolder and lighter in font weights
in CSS2 (​http://www.w3.org/TR/CSS2/fonts.html#propdef-font-weight) and CSS3 (link above).

and ​https://codereview.chromium.org/137813004

According to ​http://dev.w3.org/csswg/css-fonts/#font-weight-prop, the computed
weight of 'lighter' and 'bolder' are based on the inherited 'font-weight', so set
that inherited weight before calculating 'lighter' and 'bolder'.

Tests: css3/font-weight-multiple-selectors.html

css3/font-weight.html

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyFontWeight::applyValue):

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::lighterWeight):
(WebCore::FontDescription::bolderWeight):

LayoutTests:

​https://chromiumcodereview.appspot.com/15994009 and
​https://codereview.chromium.org/137813004

  • css3/font-weight-expected.txt: Added.
  • css3/font-weight-multiple-selectors-expected.txt: Added.
  • css3/font-weight-multiple-selectors.html: Added.
  • css3/font-weight.html: Added.
3:32 AM Changeset in webkit [175042] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174927 - [SOUP] Disable SSLv3
​https://bugs.webkit.org/show_bug.cgi?id=137859

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-21
Reviewed by Carlos Garcia Campos.

Set G_TLS_GNUTLS_PRIORITY if unset.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

3:22 AM Changeset in webkit [175041] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174008 - [GTK] Don't include full path names in WebKitEnumTypes.h
​https://bugs.webkit.org/show_bug.cgi?id=137148

Reviewed by Carlos Garcia Campos.

Replace @filename@ with @basename@ in the template, since we don't
want to include the full path name in the generated header.

  • UIProcess/API/gtk/WebKitEnumTypes.h.template:
3:20 AM Changeset in webkit [175040] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Merge r174394 - [SOUP] TLS errors should take precedence over HTTP authentication
​https://bugs.webkit.org/show_bug.cgi?id=137300

Reviewed by Sergio Villar Senin.

Source/WebCore:

Handle TLS errors in got-headers callback to make sure it happens
before starting the authentication process.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::handleUnignoredTLSErrors): Refactored to receive the
soup message.
(WebCore::gotHeadersCallback): Return early and cancel the request in case of TLS errors.
(WebCore::sendRequestCallback): Do not handle TLS errors here, the request should have already been
cancelled at this point in case of TLS errors.

Tools:

Add a test case to check that authenticate signal is not emitted
in case of TLS errors, and the load fails instead.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(webViewAuthenticationCallback):
(testTLSErrorsHTTPAuth):
(httpsServerCallback):
(beforeAll):

3:17 AM Changeset in webkit [175039] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174507 - [X11] Plugin process crashes in NetscapePlugin::platformPostInitialize()
​https://bugs.webkit.org/show_bug.cgi?id=137426

Reviewed by Darin Adler.

For some reason flash crashes when NPP_GetValue is called with
NPPVpluginCancelSrcStream, but only in windowed mode. Not calling
NPP_GetValue and unconditionally loading the source URL in the
browser fixes the crash and plugins work normally. We can handle
this particular case with a new quirk.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::determineQuirks): Add
DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin.

  • Shared/Plugins/PluginQuirks.h: Add

DoNotCancelSrcStreamInWindowedMode quirk.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin
is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present.

3:12 AM Changeset in webkit [175038] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174639 - [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
​https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

3:11 AM Changeset in webkit [175037] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK]: Fix unused parameter build warnings in WebCore/platform module
​https://bugs.webkit.org/show_bug.cgi?id=137921

Patch by Rohit Kumar <​kumar.rohit@samsung.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
(WebCore::ScrollAnimatorNone::animationTimerFired):

3:10 AM Changeset in webkit [175036] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r174926 - [GTK] Test TestWebKitAPI/WebKit2Gtk/TestInspectorServer fails
​https://bugs.webkit.org/show_bug.cgi?id=132044

Reviewed by Brian Burg.

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(openRemoteDebuggingSession): Remove trailing slash when
concatenating base inspector URL with the page, because the
inspector returns the relative paths with a leading slash.

3:06 AM Changeset in webkit [175035] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r174328 - [GTK] Fix build when DRAG_SUPPORT is disabled
​https://bugs.webkit.org/show_bug.cgi?id=137361

Patch by Lorenzo Tilve <​ltilve@igalia.com> on 2014-10-05
Reviewed by Carlos Garcia Campos.

Flag out unbuildable code without DRAG_SUPPORT.

Source/WebCore:

  • platform/gtk/GtkDragAndDropHelper.cpp:
  • platform/gtk/GtkDragAndDropHelper.h:

Source/WebKit2:

  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:
  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):

  • UIProcess/PageClient.h:
3:01 AM Changeset in webkit [175034] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174861 - [GTK] Improve documentation of webkit_web_view_get_tls_info()
​https://bugs.webkit.org/show_bug.cgi?id=137852

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-18
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebView.cpp:
2:59 AM Changeset in webkit [175033] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r174929 - [GTK] Several labels are white instead of black
​https://bugs.webkit.org/show_bug.cgi?id=137803

Reviewed by Martin Robinson.

Recent GTK+ versions require to explicitly set the state before
getting a color.

  • rendering/RenderThemeGtk.cpp:

(WebCore::styleColor): Helper function to get a color from a
GtkStylecontext that explicitly sets the state before getting the color.
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor().
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::systemColor): Ditto.

2:56 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:50 AM Changeset in webkit [175032] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172957 - [GTK] Translations are not initialized in the UI process
​https://bugs.webkit.org/show_bug.cgi?id=136249

Reviewed by Philippe Normand.

This is breaking things like webkitContextMenuActionGetForContextMenuItem()
for non English locales in the cases where we use the action title to guess the
action, because the action title we get from the web process is translated while
the one in the UI process is in English.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext): Initialize gettext right before
creating the default web context.

2:48 AM Changeset in webkit [175031] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r174502 - [GTK] Netscape plugin API symbol used outside feature guards
​https://bugs.webkit.org/show_bug.cgi?id=137385

Patch by Philip Chimento <​philip.chimento@gmail.com> on 2014-10-09
Reviewed by Philippe Normand.

  • plugins/PluginPackage.cpp:

(WebCore::PluginPackage::unload): Add guards for Netscape Plugin
API around symbol, so that it compiles OK when the API is not
available.

2:45 AM Changeset in webkit [175030] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174104 - [GTK] The remote web inspector shows the HTML content as plain text
​https://bugs.webkit.org/show_bug.cgi?id=137250

Reviewed by Gustavo Noronha Silva.

Use GResource API directly to get the resource data, instead of
using the GFile API, and use g_content_type_guess() to get the
MIME Type.

  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:

(WebKit::WebInspectorServer::platformResourceForPath):

2:39 AM Changeset in webkit [175029] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4

[GTK][Stable] webkitgtk-2.4.6: fails to build with --disable-video
​https://bugs.webkit.org/show_bug.cgi?id=137445

Patch by Michael Weber <​xmw@gentoo.org> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • Source/autotools/SetupWebKitFeatures.m4:
2:22 AM Changeset in webkit [175028] by commit-queue@webkit.org
  • 15 edits
    8 adds in trunk

Add relList to the anchor, area and link elements
​https://bugs.webkit.org/show_bug.cgi?id=137860

Patch by Dhi Aurrahman <​diorahman@rockybars.com> on 2014-10-22
Reviewed by Darin Adler and Chris Dumez.

Source/WebCore:

Add relList to reflect the rel content attribute for anchor[1],
area[2] and link[3] elements.

[1] ​https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist
[2] ​https://html.spec.whatwg.org/multipage/embedded-content.html#dom-area-rellist
[3] ​https://html.spec.whatwg.org/multipage/semantics.html#dom-link-rellist

Tests: fast/dom/rel-list-gc.html

fast/dom/rel-list.html
perf/rel-list-remove.html

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitString::set):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLAnchorElement::relList):
(WebCore::HTMLAnchorElement::setRel): Deleted.

  • html/HTMLAnchorElement.h:
  • html/HTMLAnchorElement.idl:
  • html/HTMLAreaElement.idl:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::relList):

  • html/HTMLLinkElement.h:
  • html/HTMLLinkElement.idl:
  • html/RelList.cpp: Added.

(WebCore::RelList::RelList):
(WebCore::RelList::ref):
(WebCore::RelList::deref):
(WebCore::RelList::length):
(WebCore::RelList::item):
(WebCore::RelList::element):
(WebCore::RelList::updateRelAttribute):
(WebCore::RelList::containsInternal):
(WebCore::RelList::value):
(WebCore::RelList::setValue):

  • html/RelList.h: Added.

LayoutTests:

Tests relList aspects for anchor, area and list elements.
Update dom static property for-in iteration test result to include relList.

  • fast/dom/rel-list-expected.txt: Added.
  • fast/dom/rel-list-gc-expected.txt: Added.
  • fast/dom/rel-list-gc.html: Added.
  • fast/dom/rel-list.html: Added.
  • js/dom/dom-static-property-for-in-iteration-expected.txt: Updated results.
  • perf/rel-list-remove-expected.txt: Added.
  • perf/rel-list-remove.html: Added.
12:29 AM Changeset in webkit [175027] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.2

WebKitGTK+ 2.6.2

12:06 AM Changeset in webkit [175026] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.6.2 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.2.

Oct 21, 2014:

11:50 PM Changeset in webkit [175025] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

11:47 PM Changeset in webkit [175024] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.5

New tag.

11:19 PM Changeset in webkit [175023] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.25-branch/Source

Versioning.

11:13 PM Changeset in webkit [175022] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.25-branch

New Branch.

10:07 PM Changeset in webkit [175021] by ryuan.choi@gmail.com
  • 2 edits in trunk

[EFL] Remove unnecessary ENABLE_3D_RENDERING definition from OptionsEfl.cmake
​https://bugs.webkit.org/show_bug.cgi?id=137946

Reviewed by Gyuyoung Kim.

ENABLE_3D_RENDERING is already enabled as WEBKIT_OPTION_DEFAULT_PORT_VALUE since r135813.

  • Source/cmake/OptionsEfl.cmake:
9:47 PM Changeset in webkit [175020] by Brent Fulgham
  • 20 edits
    1 delete in trunk/LayoutTests

[Win] More rebaselines.

  • platform/win/css1/box_properties/acid_test-expected.txt:
  • platform/win/editing/selection/3690719-expected.txt:
  • platform/win/editing/selection/move-left-right-expected.txt:
  • platform/win/fast/css/continuationCrash-expected.txt:
  • platform/win/fast/css/fieldset-display-row-expected.txt:
  • platform/win/fast/css/margin-top-bottom-dynamic-expected.txt:
  • platform/win/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/win/fast/forms/file/file-input-direction-expected.txt:
  • platform/win/fast/forms/file/file-input-disabled-expected.txt:
  • platform/win/fast/forms/file/input-file-re-render-expected.txt:
  • platform/win/fast/forms/formmove-expected.txt:
  • platform/win/fast/forms/formmove2-expected.txt:
  • platform/win/fast/forms/formmove3-expected.txt:
  • platform/win/fast/forms/input-appearance-height-expected.txt:
  • platform/win/fast/forms/input-button-sizes-expected.txt:
  • platform/win/fast/forms/input-step-as-double-expected.txt: Removed.
  • platform/win/fast/forms/input-text-drag-down-expected.txt:
  • platform/win/fast/forms/input-value-expected.txt:
  • platform/win/fast/forms/listbox-bidi-align-expected.txt:
  • platform/win/fast/forms/targeted-frame-submission-expected.txt:
  • platform/win/fast/forms/text-control-intrinsic-widths-expected.txt:
9:33 PM Changeset in webkit [175019] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

One more iOS build fix after r175013.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::createFontPlatformData):

8:28 PM Changeset in webkit [175018] by benjamin@webkit.org
  • 5 edits
    16 adds in trunk

CSS Rule features are ignored for nested CSS Selector lists
​https://bugs.webkit.org/show_bug.cgi?id=137908

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-21
Reviewed by Andreas Kling.

Source/WebCore:

When Rule feature sets were collected, any selector list nested inside an other
selector list was ignored when collecting properties of the CSS Selector.

As a result, style was not invalidated properly when any property listed in
the nested selectors.

This patch fixes the issue by make RuleFeatureSet::collectFeaturesFromSelector()
recursive, evaluating every chain of every selector lists.

Tests: fast/css/class-style-invalidation-optimization.html

fast/css/direct-adjacent-style-sharing-1.html
fast/css/direct-adjacent-style-sharing-2.html
fast/css/direct-adjacent-style-sharing-3.html
fast/css/id-style-invalidation-optimization.html
fast/selectors/class-style-update-with-not.html
fast/selectors/class-style-update-with-nth-child-of.html
fast/selectors/class-style-update.html

  • css/RuleFeature.cpp:

(WebCore::recursivelyCollectFeaturesFromSelector):
(WebCore::RuleFeatureSet::collectFeaturesFromSelector):

  • css/RuleFeature.h:
  • css/RuleSet.cpp:

(WebCore::collectFeaturesFromRuleData):

LayoutTests:

  • fast/selectors/class-style-update-with-not-expected.txt: Added.
  • fast/selectors/class-style-update-with-not.html: Added.

Parts of this test fail due to a bug with specificity. This will be addressed
separately.

  • fast/css/class-style-invalidation-optimization-expected.txt: Added.
  • fast/css/class-style-invalidation-optimization.html: Added.
  • fast/css/direct-adjacent-style-sharing-1-expected.html: Added.
  • fast/css/direct-adjacent-style-sharing-1.html: Added.
  • fast/css/direct-adjacent-style-sharing-2-expected.html: Added.
  • fast/css/direct-adjacent-style-sharing-2.html: Added.
  • fast/css/direct-adjacent-style-sharing-3-expected.html: Added.
  • fast/css/direct-adjacent-style-sharing-3.html: Added.
  • fast/css/id-style-invalidation-optimization-expected.txt: Added.
  • fast/css/id-style-invalidation-optimization.html: Added.
  • fast/selectors/class-style-update-expected.txt: Added.
  • fast/selectors/class-style-update-with-nth-child-of-expected.txt: Added.
  • fast/selectors/class-style-update-with-nth-child-of.html: Added.
  • fast/selectors/class-style-update.html: Added.
7:56 PM Changeset in webkit [175017] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the iOS build after r175013.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::createFontPlatformData):

7:53 PM Changeset in webkit [175016] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Quick Look preview bubble has unnecessary controls
​https://bugs.webkit.org/show_bug.cgi?id=137940
<rdar://problem/18731860>

Reviewed by Simon Fraser.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _quickLookURLFromActionMenu:]):
Temporarily use more SPI to allow us to hide the preview bubble's controls.

7:01 PM Changeset in webkit [175015] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebKit2

Merge r174708

6:58 PM Changeset in webkit [175014] by dburkart@apple.com
  • 4 edits in branches/safari-600.2-branch/Source/WebCore

Merged r174703

6:53 PM Changeset in webkit [175013] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebCore

Use std::unique_ptr | std::make_unique in FontCacheFoo
​https://bugs.webkit.org/show_bug.cgi?id=137905

Reviewed by Darin Adler.

Clean up PassOwnPtr|OwnPtr using std::unique_ptr|std::make_unique.

No new tests, no behavior changes.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::getCachedFontPlatformData):

  • platform/graphics/FontCache.h:
  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::createFontPlatformData):

6:50 PM Changeset in webkit [175012] by dburkart@apple.com
  • 5 edits in branches/safari-600.2-branch/Source/WebCore

Merged r174414

6:47 PM Changeset in webkit [175011] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebKit2

Merge r173888

6:44 PM Changeset in webkit [175010] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebCore

Merge r173848

6:40 PM Changeset in webkit [175009] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.2-branch

Merge r173246

6:35 PM Changeset in webkit [175008] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/JavaScriptCore

Merged r173238

6:17 PM Changeset in webkit [175007] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebKit2

Merge r172968

5:53 PM Changeset in webkit [175006] by rniwa@webkit.org
  • 13 edits
    3 adds in trunk/Websites/perf.webkit.org

Perf dashboard should provide a way to associate bugs with a test run
​https://bugs.webkit.org/show_bug.cgi?id=137857

Reviewed by Andreas Kling.

Added a "privileged" API, /privileged-api/associate-bug, to associate a bug with a test run.
/privileged-api/ is to be protected by an authentication mechanism such as DigestAuth over https by
the Apache configuration.

The Cross Site Request (CSRF) Forgery prevention for privileged APIs work as follows. When a user is
about to make a privileged API access, the front end code obtains a CSRF token generated by POST'ing
to privileged-api/generate-csrf-token; the page sets a randomly generated salt and an expiration time
via the cookie and returns a token computed from those two values as well as the remote username.

The font end code then POST's the request along with the returned token. The server side code verifies
that the specified token can be generated from the salt and the expiration time set in the cookie, and
the token hasn't expired.

  • init-database.sql: Added bug_url to bug_trackers table, and added bugs table. Each bug tracker will

have zero or exactly one bug associated with a test run.

  • public/admin/bug-trackers.php: Added the support for editing bug_url.
  • public/api/runs.php:

(fetch_runs_for_config): Modified the query to fetch bugs associated with test_runs.
(parse_bugs_array): Added. Parses the aggregated bugs and creates a dictionary that maps a tracker id to
an associated bug if there is one.
(format_run): Calls parse_bugs_array.

  • public/include/json-header.php: Added helper functions to deal for CSRF prevention.

(ensure_privileged_api_data): Added. Dies immediately if the request's method is not POST or doesn't
have a valid JSON payload.
(ensure_privileged_api_data_and_token): Ditto. Also checks that the CSRF prevention token is valid.
(compute_token): Computes a CSRF token using the REMOTE_USER (e.g. set via BasicAuth), the salt, and
the expiration time stored in the cookie.
(verify_token): Returns true iff the specified token matches what compute_token returns from the cookie.

  • public/include/manifest.php:

(ManifestGenerator::bug_trackers): Include bug_url as bugUrl in the manifest. Also use tracker_id instead
of tracker_name as the key in the manifest. This requires changes to both v1 and v2 front end.

  • public/index.html:

(Chart..showTooltipWithResults): Updated for the manifest format changed mentioned above.

  • public/privileged-api/associate-bug.php: Added.

(main): Added. Associates or dissociates a bug with a test run inside a transaction. It prevent a CSRF
attack via ensure_privileged_api_data_and_token, which calls verify_token.

  • public/privileged-api/generate-csrf-token.php: Added. Generates a CSRF token valid for one hour.
  • public/v2/app.css:

(.disabled .icon-button:hover g): Used by the "bugs" icon when a range of points or no points are
selected in a chart.

  • public/v2/app.js:

(App.PaneController.actions.toggleBugsPane): Added. Toggles the visibility of the bugs pane when exactly
one point is selected in the chart. Also hides the search pane when making the bugs pane visible since
they would overlap on each other if both of them are shown.
(App.PaneController.actions.associateBug): Makes a privileged API request to associate the specified bug
with the currently selected point (test run). Updates the bug information in "details" and colors of dots
in the charts to reflect new states. Because chart data objects aren't real Ember objects for performance
reasons, we have to use a dirty hack of modifying a dummy counter bugsChangeCount.
(App.PaneController.actions.toggleSearchPane): Renamed from toggleSearch. Also hides the bugs pane when
showing the search pane.
(App.PaneController.actions.rangeChanged): Takes all selected points as the second argument instead of
taking start and end points as the second and the third arguments so that _showDetails can enumerate all
bugs in the selected range.

(App.PaneController._detailsChanged): Added. Hide the bugs pane whenever a new point is selected.
Also update singlySelectedPoint, which is used by toggleBugsPane and associateBug.
(App.PaneController._currentItemChanged): Updated for the _showDetails change.
(App.PaneController._showDetails): Takes an array of selected points in place of old arguments.
Simplified the code to compute the revision information. Calls _updateBugs to format the associated bugs.
(App.PaneController._updateBugs): Sets details.bugTrackers to a dictionary that maps a bug tracker id to
a bug tracker proxy with an array of (bugNumber, bugUrl) pairs and also editedBugNumber, which is used by
the bugs pane to associate or dissociate a bug number, if exactly one point is selected.

(App.InteractiveChartComponent._updateDotsWithBugs): Added. Sets hasBugs class on dots as needed.
(App.InteractiveChartComponent._setCurrentSelection): Finds and passes all points in the selected range
to selectionChanged action instead of just finding the first and the last points.

  • public/v2/chart-pane.css: Updated the style.
  • public/v2/data.js:

(PrivilegedAPI): Added. A wrapper for privileged APIs' CSRF tokens.
(PrivilegedAPI.sendRequest): Makes a privileged API call. Fetches a new CSRF token if needed.
(PrivilegedAPI._generateTokenInServerIfNeeded): Makes a request to privileged-api/generate-csrf-token if
we haven't already obtained a CSRF token or if the token has already been expired.
(PrivilegedAPI._post): Makes a single POST request to /privileged-api/* with a JSON payload.

(Measurement.prototype.bugs): Added.
(Measurement.prototype.hasBugs): Returns true iff bugs has more than one bug number.
(Measurement.prototype.associateBug): Associates a bug with a test run via privileged-api/associate-bug.

  • public/v2/index.html: Added the bugs pane. Also added a list of bugs associated with the current run in

the details.

  • public/v2/manifest.js:

(App.BugTracker.bugUrl):
(App.BugTracker.newBugUrl): Added.
(App.BugTracker.repositories): Added. This was a missing back reference to repositories.
(App.MetricSerializer.normalizePayload): Now parses/loads the list of bug trackers from the manifest.
(App.Manifest.repositoriesWithReportedCommits): Now initialized to an empty array instead of null.
(App.Manifest.bugTrackers): Added.
(App.Manifest._fetchedManifest): Sets App.Manifest.bugTrackers. Also sorts the list of repositories by
their respective ids to make the ordering stable.

5:52 PM Changeset in webkit [175005] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove erroneous canUseJIT() in the intrinsics version of JITThunks::hostFunctionStub().
<​https://webkit.org/b/137937>

Reviewed by Michael Saboff.

This version of JITThunks::hostFunctionStub() can only be called from the intrinsics
version of VM::getHostFunction() which asserts canUseJIT(). Hence, we can eliminate
the canUseJIT() check in JITThunks::hostFunctionStub(). We don't handle the
!canUseJIT() case properly there anyway.

  • jit/JITThunks.cpp:

(JSC::JITThunks::hostFunctionStub):

5:26 PM Changeset in webkit [175004] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Unreviewed test updates after switching to Windows theme for tests.
​https://bugs.webkit.org/show_bug.cgi?id=137932

  • platform/win/css1/box_properties/acid_test-expected.txt:
  • platform/win/editing/inserting/4960120-1-expected.txt:
5:17 PM Changeset in webkit [175003] by adachan@apple.com
  • 2 edits in trunk/Source/WebCore

Calling WebCore::Page::setMediaVolume(0) does not mute videos as expected.
​https://bugs.webkit.org/show_bug.cgi?id=137305

Reviewed by Darin Adler.

This was broken in ​http://trac.webkit.org/changeset/154970. To fix this (but not break
GStreamer), remove the "if (m_volumeInitialized)" check before updating the MediaPlayer's
volume to the value multiplied with the Page's mediaVolume. This should not affect GStreamer's
behavior because MediaPlayerPrivateGStreamerBase::setStreamVolumeElement does nothing unless
m_volumeInitialized is true.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateVolume):

4:38 PM Changeset in webkit [175002] by jeffm@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove const from WKURLRequestRef parameter to WKContextDownloadURLRequest()
​https://bugs.webkit.org/show_bug.cgi?id=137928

Reviewed by Darin Adler.

  • UIProcess/API/C/WKContext.cpp:

(WKContextDownloadURLRequest):

  • UIProcess/API/C/WKContext.h:
4:32 PM Changeset in webkit [175001] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Cannot click on green tester bubbles
​https://bugs.webkit.org/show_bug.cgi?id=137909

Reviewed by Darin Adler.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

4:06 PM Changeset in webkit [175000] by jer.noble@apple.com
  • 8 edits in trunk/Source/WebCore

[EME][Mac] Update to match new AVStreamSession API and requirements.
​https://bugs.webkit.org/show_bug.cgi?id=137923

Reviewed by Eric Carlson.

The session identifier has moved from AVStreamDataParser to -[AVStreamSession contentProtectionSessionIdentifier]
and the property is no longer KVObservable. A new notification key has been added in place of KVO.

Additionally, the requirements for using AVStreamDataParser with AVStreamSession have changed. It is now
required that AVStreamDataParsers be added to an AVStreamSession before the
-streamSession:didProvideContentKeyRequestInitializationData:forTrackID delegate method is called. A
-streamParserWillProvideContentKeyRequestInitializationData:forTrackID delegate has been added, and
an AVStreamSession must be created and the AVStreamDataParser added to it during the scope of that delegate
method.

To facilitate this, the MediaPlayerPrivateMediaSourceAVFObjC object will lazily create and own a AVStreamSession
object when requested. The SourceBufferPrivateAVFObjC object will listen for the -willProvide delegate call
and will add its AVStreamDataParser to that AVStreamSession when called.

The CDMSessionMediaSourceAVFObjC object is no longer responsible for creating the AVStreamSession, and because
the session identifier has moved from many AVStreamDataParsers to a single AVStreamSession, the
CDMSessionMediaSourceAVFObjCObserver class can become much simpler, as it only has to observe a single object.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(-[CDMSessionMediaSourceAVFObjCObserver dealloc]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver invalidate]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver observeValueForKeyPath:ofObject:change:context:]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver contentProtectionSessionIdentifierChanged:]): Added.
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Call setStreamSession(nullptr).
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): The sessionId is now a value in the dictionary, not the key.
(WebCore::CDMSessionMediaSourceAVFObjC::update): No longer create an AVStreamSession.
(WebCore::CDMSessionMediaSourceAVFObjC::setStreamSession): Add and remove observers as appropriate.
(WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): No longer add or remove parsers from AVStreamSessions.
(WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasStreamSession): Simple getter.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Lazy initializing getter.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): Call setStreamSession().

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVStreamDataParserListener streamParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Synchronously pass to SourceBufferPrivateAVFObjC.
(WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID): Add the parser to an AVStreamSession.
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Check the trackId.

  • platform/mac/SoftLinking.h:
2:37 PM Changeset in webkit [174999] by ljaehun.lim@samsung.com
  • 5 edits in trunk

'true' isn't a valid value for justify-self
​https://bugs.webkit.org/show_bug.cgi?id=137913

Reviewed by Andreas Kling.

Merged from Blink (patch by dstockwell):
<​https://src.chromium.org/viewvc/blink?view=rev&revision=174638>

CSS Box Alignment Module Level 3:
​http://dev.w3.org/csswg/css-align/#justify-self-property

Source/WebCore:

No new tests, modify existing test case.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseJustifySelf):

LayoutTests:

Add a bad case where "justify-self: true"

  • fast/css/parse-justify-self-expected.txt:
  • fast/css/parse-justify-self.html:
2:13 PM Changeset in webkit [174998] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Run DumpRenderTree using native controls, not SafariTheme.dll.
​https://bugs.webkit.org/show_bug.cgi?id=137932

Reviewed by Simon Fraser.

This is the first step in moving over to native Windows rendering for our layout tests.
Once this change lands, approximately 300 tests will start failing on Windows. I will
rebaseline these changes against our test hardware and update this bug with the
commits related to that work.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Call 'setShouldPaintNativeControls(TRUE)' so that
we use native Windows drawing style.

1:43 PM Changeset in webkit [174997] by msaboff@apple.com
  • 4 edits in trunk/Source

Add operator==(PropertyName, const char*)
​https://bugs.webkit.org/show_bug.cgi?id=137925

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • runtime/PropertyName.h:

(JSC::operator==): Added to simplify comparison with string literals.

Source/WebCore:

Use new == operator to compare a PropertyName with a string literal.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):

1:03 PM Changeset in webkit [174996] by msaboff@apple.com
  • 11 edits in trunk

Change native call frames to use the scope from their Callee instead of their caller's scope
​https://bugs.webkit.org/show_bug.cgi?id=137907

Source/JavaScriptCore:

Reviewed by Mark Lam.

Changed setting of scope for native CallFrames to use the scope associated with the
Callee instead of the caller's scope.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

LayoutTests:

Updated tests to reflect that the results of changing where a native call frame
and therefore the lexicalGlobalObject came from. Verified that these tests changes
are consistent with the HTML standard. These changes are also closer to the behavior
of other browsers.

Reviewed by Mark Lam.

  • fast/frames/sandboxed-iframe-navigation-parent-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-parent.html:

Changed the test and results to show that a sandboxed iframe can navigate its
ancesters when it is sandbox with both "allow-scripts" and "allow-same-origin".

  • http/tests/security/calling-versus-current.html:

Updated the test to really have a different domain. We do a simple string comparison
to check for that we are part of the same domain. The test expected that 0.0.1 was
from the same domain as 127.0.0.1. Changed the test to try 0.0.2 and expect a
security exception.

  • http/tests/security/frameNavigation/context-for-location-assign-expected.txt:

Updated test results.

  • traversal/node-iterator-prototype-expected.txt:
  • traversal/node-iterator-prototype.html:

Fixed as a result of this change.

12:53 PM Changeset in webkit [174995] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r174921.

Export new symbol after function rename.

  • WebCore.exp.in:
  • WebCore.order:
12:47 PM Changeset in webkit [174994] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r174921.

Remove symbol from export files that no longer exists.

  • WebCore.exp.in:
  • WebCore.order:
12:41 PM Changeset in webkit [174993] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Optimization; avoid string reallocation.
​https://bugs.webkit.org/show_bug.cgi?id=137920

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-10-21
Reviewed by Brent Fulgham.

Profiling reveals that the cookiesForDOM function is spending time on removing a character from a string.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::domainMatch):
(WebCore::addMatchingCurlCookie):

11:44 AM Changeset in webkit [174992] by jdiggs@igalia.com
  • 4 edits
    2 adds
    1 delete in trunk

AX: [ATK] CSS-generated text content not exposed to assistive technologies
​https://bugs.webkit.org/show_bug.cgi?id=137669

Reviewed by Chris Fleizach.

Source/WebCore:

Do not use a text iterator to get the text for elements which include
pseudo elements.

Test: accessibility/css-content-attribute.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

Moved the Mac platform test and modified it to dump the accessible tree
and string values rather than a platform-specific hierarchy so that it
could be shared across platforms.

  • accessibility/css-content-attribute.html: Added.
  • platform/gtk/accessibility/css-content-attribute-expected.txt: Added.
  • platform/mac/accessibility/css-content-attribute-expected.txt: Modified to reflect new output.
  • platform/mac/accessibility/css-content-attribute.html: Removed.
11:19 AM Changeset in webkit [174991] by msaboff@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Updated ChangeLog entry to include tests that cover r174985

11:11 AM Changeset in webkit [174990] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

11:09 AM Changeset in webkit [174989] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

REGRESSION(r174676): It broke the !ENABLE(VIDEO) build
​https://bugs.webkit.org/show_bug.cgi?id=137916

Reviewed by Csaba Osztrogonác.

Fix the !ENABLE(VIDEO) build by adding an #if ENABLE(VIDEO) where
needed.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isDirectlyCompositedImage):

10:58 AM Changeset in webkit [174988] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKRemoteObjectCoder should handle floats
​https://bugs.webkit.org/show_bug.cgi?id=137926
<rdar://problem/18695126>

Reviewed by Beth Dakin.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(encodeInvocation):
(-[WKRemoteObjectEncoder encodeFloat:forKey:]):
(decodeInvocationArguments):
(-[WKRemoteObjectDecoder decodeFloatForKey:]):

10:46 AM Changeset in webkit [174987] by jeffm@apple.com
  • 17 edits in trunk/Source/WebKit2

WKContext needs to provide an API to resume a download
​https://bugs.webkit.org/show_bug.cgi?id=137507

Reviewed by Darin Adler.

This patch adds WKContextResumeDownload(), which is only supported on the Mac, and requires the
resume data from WKDownloadGetResumeData().

We have to create a sandbox extension for the partially downloaded file in the UI process so the
network or web process can resume writing to it.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::resumeDownload):
Added, calls through to DownloadManager::resumeDownload().

  • NetworkProcess/NetworkProcess.h:

Added resumeDownload().

  • NetworkProcess/NetworkProcess.messages.in:

Added ResumeDownload message.

  • Shared/Downloads/Download.h:

Added resume().

  • Shared/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::resumeDownload):
Added. The URL being downloaded is part of the opaque resumeData, so we can't specify it when the
Download is constructed.

  • Shared/Downloads/DownloadManager.h:

Added resumeDownload().

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::resume):
Added, not implemented on this platform.

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::resume):
Added. Consumes the sandbox extension, resumes the download, and sets m_request after the
NSURLDownload has been created. Note that we already have code to revoke the sandbox extension when
the download is finished, canceled, or fails.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::Download::resume):
Added, not implemented on this platform.

  • UIProcess/API/C/WKContext.cpp:

(WKContextResumeDownload):
Added.

  • UIProcess/API/C/WKContext.h:

Added WKContextResumeDownload().

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::resumeDownload):
Added. Creates a sandbox extension for the existing file and includes it in the message to the
network or web process.

  • UIProcess/WebContext.h:

Added resumeDownload().

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::resumeDownload):
Added, calls through to DownloadManager::resumeDownload().

  • WebProcess/WebProcess.h:

Added resumeDownload().

  • WebProcess/WebProcess.messages.in:

Added ResumeDownload message.

10:32 AM Changeset in webkit [174986] by Alan Bujtas
  • 4 edits
    2 adds in trunk

REGRESSION: Google Search (mobile) video thumbnails are too large.
​https://bugs.webkit.org/show_bug.cgi?id=137895

Reviewed by Simon Fraser.

This patch fixes layer clipping when an ancestor layer has border-radius clipping.

In cases, where the current layer has non-radius cliprect, while an ancestor layer
has border-radius clipping, we only use the border-radius rect to clip.

Source/WebCore:

Test: fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::restoreClip):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRect::ClipRect):
(WebCore::ClipRect::effectedByRadius):
(WebCore::ClipRect::setEffectedByRadius):
(WebCore::ClipRect::operator==):
(WebCore::ClipRect::operator!=):
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::hasRadius): Deleted.
(WebCore::ClipRect::setHasRadius): Deleted.

LayoutTests:

  • fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent-expected.html: Added.
  • fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html: Added.
10:19 AM Changeset in webkit [174985] by msaboff@apple.com
  • 3 edits in trunk/Source/WebCore

Don't create cached functions for HTMLDocument.write*()
​https://bugs.webkit.org/show_bug.cgi?id=137906

Reviewed by Darin Adler.

Made it so that JSHTMLDocument::write() and ::writeln() are always created for every prototype.
This is similar to the change in r174847.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):

  • html/HTMLDocument.idl:
10:05 AM Changeset in webkit [174984] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174927 - [SOUP] Disable SSLv3
​https://bugs.webkit.org/show_bug.cgi?id=137859

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-21
Reviewed by Carlos Garcia Campos.

Set G_TLS_GNUTLS_PRIORITY if unset.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

10:02 AM Changeset in webkit [174983] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r174930 - Change the default TLS errors policy to WEBKIT_TLS_ERRORS_POLICY_FAIL
​https://bugs.webkit.org/show_bug.cgi?id=137832

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Too many general-purpose browsers that really need this policy
are not selecting it, so let's do so for them.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

Tools:

Ensure each test sets the TLS errors policy that it really needs.
Have each test except testTLSErrorsPolicy stash and restore the original
TLS errors policy. Update testTLSErrorsPolicy to account for the new
default policy.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testSSL):
(testInsecureContent):
(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(beforeAll):

10:00 AM Changeset in webkit [174982] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174861 - [GTK] Improve documentation of webkit_web_view_get_tls_info()
​https://bugs.webkit.org/show_bug.cgi?id=137852

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-18
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebView.cpp:
9:58 AM Changeset in webkit [174981] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174853 - Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms()
​https://bugs.webkit.org/show_bug.cgi?id=137836

Reviewed by Andreas Kling.

Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms().
This function is only called from WidthIterator::applyFontTransforms(),
which already makes sure to call applyTransforms() if isSVGFont()
returns false. This patch replaces the check with a simple assertion.

No new tests, no behavior change.

  • platform/graphics/SimpleFontData.h:
  • svg/SVGFontData.h:
9:50 AM Changeset in webkit [174980] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174807 - REGRESSION (r169024): Undetermined text is not displayed in the search field of Adobe Help Website
​https://bugs.webkit.org/show_bug.cgi?id=137679
rdar://problem/18450335

Reviewed by Enrica Casucci.

Source/WebCore:

Test: platform/mac/editing/input/selected-composed-text-painting.html

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): We do not paint

selection beckground for unconfirmed text with underlines, so we should use a regular
style for text painting, as well.

LayoutTests:

  • platform/mac/editing/input/selected-composed-text-painting-expected.html: Added.
  • platform/mac/editing/input/selected-composed-text-painting.html: Added.
9:48 AM Changeset in webkit [174979] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add missing ENABLE(FTL_NATIVE_CALL_INLINING) guard to BundlePath.cpp after r174940
​https://bugs.webkit.org/show_bug.cgi?id=137924

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-10-21
Reviewed by Csaba Osztrogonác.

  • runtime/BundlePath.cpp:
9:46 AM Changeset in webkit [174978] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

REGRESSION(r174676): It broke the !ENABLE(VIDEO) build
​https://bugs.webkit.org/show_bug.cgi?id=137916

Unreviewed build fix. Add missing header include.

  • rendering/RenderLayerBacking.cpp:
9:42 AM Changeset in webkit [174977] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174720 - REGRESSION (r159208): Crash when clicking scrubber after navigating away/back to video
​https://bugs.webkit.org/show_bug.cgi?id=137715

Reviewed by Darin Adler.

Simple null-check of m_player in refreshCachedTime.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime):

9:41 AM Changeset in webkit [174976] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174716 - REGRESSION (Safari 7.1/8.0): Border-radius and overflow hidden renders incorrectly.
​https://bugs.webkit.org/show_bug.cgi?id=137205

Reviewed by Simon Fraser.

Child layer should not reset radius clipping behaviour.

Source/WebCore:

Test: fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping-expected.html: Added.
  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html: Added.
9:38 AM Changeset in webkit [174975] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.6

Merge r174712 - URLs that start with ​http:/// and ​https:/// lose two slashes when parsed, causing assertion failure and inconsistent behavior
​https://bugs.webkit.org/show_bug.cgi?id=137718

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added cases to fast/loader/url-parse-1.html.

  • platform/URL.cpp:

(WebCore::URL::parse): In hierarchical schemes other than file:, ignore any additional
slashes after the :, as prescribed by the authority-ignore-slashes state in the current
URL spec.

LayoutTests:

  • fast/loader/url-parse-1-expected.txt: Updated results.
  • fast/loader/url-parse-1.html: Added a few test cases.
  • fast/url/file-http-base-expected.txt: Updated results.
  • fast/url/host-expected.txt: Ditto.
  • fast/url/invalid-urls-utf8-expected.txt: Ditto.
  • fast/url/relative-expected.txt: Ditto.
  • fast/url/standard-url-expected.txt: Ditto.
9:34 AM Changeset in webkit [174974] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174708 - REGRESSION (r165356): Issues with Japanese text input
​https://bugs.webkit.org/show_bug.cgi?id=137719
rdar://problem/18431952
rdar://problem/18483741

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):

In sync code path, ensure consistent message delivery order by adding
a DispatchMessageEvenWhenWaitingForSyncReply flag. This way, delayed
EditorStateChanged messages won't confuse UI process.

9:32 AM Changeset in webkit [174973] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174804 - Leverage the new RenderElement::m_isCSSAnimating flag in more places
​https://bugs.webkit.org/show_bug.cgi?id=137786

Reviewed by Simon Fraser.

Leverage the new RenderElement::m_isCSSAnimating flag that was introduced
in r174703 in more places, for performance. This avoids doing extra work
for renderers on which we are not running animations on. This patch also
updates the API a bit to use more references instead of pointers, making
it clear the RenderElement cannot be null and thus avoiding unnecessary
null checks.

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computeRenderStyleForProperty):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
(WebCore::AnimationController::getAnimatedStyleForRenderer):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::currentTransform):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::notifyAnimationStarted):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):

9:28 AM Changeset in webkit [174972] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r170808): Volume slider in built-in media controls only changes volume when thumb is released, not while dragging
​https://bugs.webkit.org/show_bug.cgi?id=137805

Reviewed by Dan Bernstein.

Source/WebCore:

Test: media/video-volume-slider-drag.html

Respond to the 'input' event rather than the 'change' event for the volume slider, so that
volume changes are continuous during drag operations.

Also listen for both 'input' and 'change' events for the timeline slider, doing fastSeek()
during 'input' and setting an explicit currentTime during 'change'. This is the same behavior
as current, but using 'change' instead of 'mouseup' to do the final currentTime change.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls):
(Controller.prototype.handleTimelineInput):
(Controller.prototype.handleTimelineChange):
(Controller.prototype.handleTimelineMouseUp):
(Controller.prototype.handleVolumeSliderInput):
(Controller.prototype.handlePlayButtonClicked): Deleted.
(Controller.prototype.handleMaxButtonClicked): Deleted.

LayoutTests:

  • media/video-volume-slider-drag-expected.txt: Added.
  • media/video-volume-slider-drag.html: Added.
9:23 AM Changeset in webkit [174971] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174703 - Introduce an isCSSAnimated flag on RenderElement for performance
​https://bugs.webkit.org/show_bug.cgi?id=137583

Reviewed by Simon Fraser.

I noticed when profiling the ebay.com page load that isRunningAnimationOnRenderer()
and isRunningAcceleratedAnimationOnRenderer() were called frequently, causing
~4.7 millions m_compositeAnimations HashMap lookups.

This patch introduces an isCSSAnimated flag on RenderElement to return early if
there is no animation on the renderer, thus avoiding HashMap lookups. This reduces
the number of HashMap lookups from ~4.7 millions to ~68k. On my machine, I see
the following performance improvements:

  • isRunning*AnimationOnRenderer() / computeCompositingRequirements()
    • before: ~45ms / ~90ms
    • after: ~4ms / ~30ms

No new tests, no behavior change.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::isCSSAnimating):
(WebCore::RenderElement::setIsCSSAnimating):

9:06 AM Changeset in webkit [174970] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174684 - [XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry
​https://bugs.webkit.org/show_bug.cgi?id=126975

Patch by Youenn Fablet <​youennf@gmail.com> on 2014-10-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Merging ​https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4
Ensuring new test from ​https://codereview.chromium.org/76133002/ is passing.

Test: http/tests/xmlhttprequest/reentrant-cancel-abort.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::abort): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::internalAbort): ask calling function to exit early if a new loader is created during the cancellation of the loader (potential reentrant case through window.onload callback)
(WebCore::XMLHttpRequest::didTimeout): exit early if internalAbort asks so

  • xml/XMLHttpRequest.h:

LayoutTests:

Adding reentrant-cancel-abort.html (from ​https://codereview.chromium.org/76133002/)
that crashes without the patch
Updated reentrant-cancel.html test to expect the exception
that is now hit in initSend function (since a XHR open() call is aborted)

  • http/tests/xmlhttprequest/reentrant-cancel-abort-expected.txt: Added.
  • http/tests/xmlhttprequest/reentrant-cancel-abort.html: Added.
  • http/tests/xmlhttprequest/reentrant-cancel.html:
9:03 AM Changeset in webkit [174969] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174543 - Computed style for clip is wrong with respect to auto
​https://bugs.webkit.org/show_bug.cgi?id=137567

Reviewed by Simon Fraser.

Source/WebCore:

Make sure that the computed style of clip returns the
correct value when the input is "auto", or in this
case "rect(auto, auto, auto, auto)". Before this
patch it returned "rect(0px, 0px, 0px, 0px)" which
was completely wrong.

Test: fast/css/computed-clip-with-auto-rect.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::autoOrZoomAdjustedValue): Helper function to make the correct keyword or length.
(WebCore::specifiedValueForGridTrackBreadth): It can use the helper too.
(WebCore::ComputedStyleExtractor::propertyValue): If the
top/right/bottom/left is "auto", add that identifier
to the output rectangle.

LayoutTests:

Test that an input of clip: rect(auto, auto, auto, auto)
is the same on the way out.

  • fast/css/computed-clip-with-auto-rect-expected.txt: Added.
  • fast/css/computed-clip-with-auto-rect.html: Added.
8:51 AM Changeset in webkit [174968] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.2-branch

New branch.

8:42 AM Changeset in webkit [174967] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6

Merge r174515 - [CSS Font Loading] Decrement the font loading count before notifying callbacks
​https://bugs.webkit.org/show_bug.cgi?id=137401

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In the callbacks, it should appear that font load has completed. This is
accessed through loading(), which relies on the current number of
fonts loading via JS and CSS.

Unskipping the failing test http/tests/webfont/fontloader-loading-attribute.html
test which tests this.

  • css/FontLoader.cpp:

(WebCore::LoadFontCallback::notifyLoaded):

LayoutTests:

  • platform/mac/TestExpectations: Unskip the test this bug was causing to fail.
8:39 AM Changeset in webkit [174966] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174503 - Ensure that inline assembly Thunk functions don't conflict with the section designations of the compiler
​https://bugs.webkit.org/show_bug.cgi?id=137434

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-10-09
Reviewed by Michael Saboff.

The ARM64 version of the defineUnaryDoubleOpWrapper macro in
ThunkGenerators.cpp contains inline assembly with .text assembler
directive followed by a static variable declaration. This macro gets
expanded several times afterwards, however, only during the compilation
of the first expansion does gcc insert a .data assembler directive
before the assembled version of the static variable. Thus, only the
first variable gets allocated in the .data section, all the others
remain in .text. If JavaScriptCore is built as a shared library then
this causes a segmentation fault during dynamic linking.

This patch puts a .previous directive at the end of the inline assembly
to ensure that the assumptions of the compiler about the sections are
not broken and the following variable goes to the right place.

  • jit/ThunkGenerators.cpp:
8:36 AM Changeset in webkit [174965] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174466 - Text drawn with an SVG font has no spaces when word-rounding hacks are enabled
​https://bugs.webkit.org/show_bug.cgi?id=137463

Reviewed by Darin Adler.

Source/WebCore:

When rounding hacks are enabled, we use the "adjusted space width" instead of the
regular space width. However, the SVG-font-specific implementation of the
SimpleFontData constructor doesn't initialize this value, so it was getting set
to an undefined value (which happened to be close to 0 in my tests).

Test: svg/text/svg-font-word-rounding-hacks-spaces.html

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):
(WebCore::CSSFontFaceSource::ensureFontData):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::getSVGFontById):

  • platform/graphics/SimpleFontData.h:
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData):

LayoutTests:

Make sure that spaces are present.

  • svg/text/svg-font-word-rounding-hacks-spaces.html:
  • svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
8:27 AM Changeset in webkit [174964] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174451 - ASSERTION FAILED: underlyingStringIsValid()
​https://bugs.webkit.org/show_bug.cgi?id=137502

Reviewed by Anders Carlsson.

  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables): Take a StringView instead of a String.
(WebCore::writeTextRun): Ditto.
(WebCore::writeSimpleLine): Ditto.

  • rendering/RenderTreeAsText.h: Removed unneeded include, tweaked formatting,

changed quoteAndEscapeNonPrintables to take a StringView.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow): Tighten code using a modern for loop.
(WebCore::SimpleLineLayout::showLineLayoutForFlow): Update to work with a
StringView result for SimpleLineLayout::RunResolver::Run::text.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::text): Changed return type to
StringView to fix the lifetime bug and also to improve performance by getting
rid of the need to allocate and destroy a StringImpl object.

8:16 AM Changeset in webkit [174963] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174405 - Defer resolution of viewport size.
​https://bugs.webkit.org/show_bug.cgi?id=137376
rdar://problem/18558094

Reviewed by Benjamin Poulain.

ViewportConfiguration should resolve the viewport size on configuration update.

  • dom/Document.cpp:

(WebCore::Document::processViewport): Defer resolution of viewport size.

  • dom/ViewportArguments.cpp:

(WebCore::finalizeViewportArguments): Deleted.

  • dom/ViewportArguments.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::updateConfiguration): Resolve viewport size.
(WebCore::ViewportConfiguration::viewportArgumentsLength): Resolves width or height based on viewport arguments.

  • page/ViewportConfiguration.h:
7:56 AM Changeset in webkit [174962] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174370 - REGRESSION (Simple Line Layout): Inline block baselines computed incorrectly
​https://bugs.webkit.org/show_bug.cgi?id=137461

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/inline-block/simple-line-layout.html

  • rendering/SimpleLineLayoutFunctions.h:

(WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
(WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
Fix the baseline computation functions in simple line layout to
use lineCount rather than runCount.

LayoutTests:

  • fast/inline-block/simple-line-layout-expected.html: Added.
  • fast/inline-block/simple-line-layout.html: Added.
7:49 AM Changeset in webkit [174961] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174361 - Fix cloop build.

7:46 AM Changeset in webkit [174960] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174345 - AX: Performance: Certain Web site causes Safari to hang completely while entering form data
​https://bugs.webkit.org/show_bug.cgi?id=137420

Reviewed by Mario Sanchez Prada.

If a website has multiple nested tables that are not "accessibility" tables, the performance of accessibility slows to a crawl because:

1) We are re-computing accessibilityIsIgnored many times.

As a solution, we can enable the isIgnoredCache when updating children.

2) When asking if an object isTableCell, we'd go up the parent chain, asking each of those parents the same question, which exploded into calling this many times.

As a solution, I've changed our determination of isTableCell to instead check if the parent is an accessibiltyTable which should be much faster.

No new functionality. Existing tests cover changes.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::updateChildrenIfNecessary):
(WebCore::AccessibilityObject::accessibilityIsIgnored):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::isTableCell):

7:27 AM Changeset in webkit [174959] by Carlos Garcia Campos
  • 7 edits
    2 adds
    4 deletes in releases/WebKitGTK/webkit-2.6/Source

Merge r174868 - [GTK] Move GtkDragAndDropHelper from Platform to WebKit2
​https://bugs.webkit.org/show_bug.cgi?id=137422

Reviewed by Martin Robinson.

Source/WebCore:

Remove ClipboardUtilitiesGtk and GtkDragAndDropHelper.

  • PlatformGTK.cmake:
  • platform/gtk/ClipboardUtilitiesGtk.cpp: Removed.
  • platform/gtk/ClipboardUtilitiesGtk.h: Removed.
  • platform/gtk/GtkDragAndDropHelper.cpp: Removed.
  • platform/gtk/GtkDragAndDropHelper.h: Removed.

Source/WebKit2:

WebKitWebViewBase is currently the only user of
GtkDragAndDropHelper, that was added to share the code with
WebKit1. Move all the drag and drop logic to a new class
DragAndDropHandler.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::startDrag):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):
(webkitWebViewBaseDragDataGet):
(webkitWebViewBaseDragEnd):
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(webkitWebViewBaseDragLeave):
(webkitWebViewBaseDragDrop):
(webkitWebViewBaseDragAndDropHandler):
(dragExitedCallback): Deleted.
(webkitWebViewBaseStartDrag): Deleted.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/DragAndDropHandler.cpp: Added.

(WebKit::DragAndDropHandler::create):
(WebKit::DragAndDropHandler::DragAndDropHandler):
(WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
(WebKit::dragOperationToGdkDragActions):
(WebKit::dragOperationToSingleGdkDragAction):
(WebKit::gdkDragActionToDragOperation):
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::finishDrag):
(WebKit::DragAndDropHandler::dataObjectForDropData):
(WebKit::DragAndDropHandler::dragEntered):
(WebKit::DragAndDropHandler::requestDragData):
(WebKit::DragAndDropHandler::dragMotion):
(WebKit::DragAndDropHandler::dragLeave):
(WebKit::DragAndDropHandler::drop):

  • UIProcess/gtk/DragAndDropHandler.h: Added.
7:22 AM Changeset in webkit [174958] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174328 - [GTK] Fix build when DRAG_SUPPORT is disabled
​https://bugs.webkit.org/show_bug.cgi?id=137361

Patch by Lorenzo Tilve <​ltilve@igalia.com> on 2014-10-05
Reviewed by Carlos Garcia Campos.

Flag out unbuildable code without DRAG_SUPPORT.

Source/WebCore:

  • platform/gtk/GtkDragAndDropHelper.cpp:
  • platform/gtk/GtkDragAndDropHelper.h:

Source/WebKit2:

  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:
  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):

  • UIProcess/PageClient.h:
7:18 AM Changeset in webkit [174957] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174298 - Implement op_profile_type in the 32-bit baseline JIT
​https://bugs.webkit.org/show_bug.cgi?id=137181

Reviewed by Michael Saboff.

Generate inline code to write to the TypeProfilerLog inside the 32-bit
baseline JIT instead of unconditionally bailing out to the slow path
for op_profile_type.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_type):

7:15 AM Changeset in webkit [174956] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174294 - tearoff_arguments should always refer to the unmodified arguments register
​https://bugs.webkit.org/show_bug.cgi?id=137406

Reviewed by Michael Saboff.

To simplify subsequent work, and remove unnecessary work from
actual execution this patch simply ensures that tear_off_arguments
refers to the actual unmodified arguments register.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitReturn):

  • dfg/DFGByteCodeParser.cpp:

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

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_tear_off_arguments):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_tear_off_arguments):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
7:12 AM Changeset in webkit [174955] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174287 - WKWebView snapshot of Daring Fireball has the wrong color in the obscured inset
​https://bugs.webkit.org/show_bug.cgi?id=137383
<rdar://problem/18535439>

Reviewed by Sam Weinig.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::snapshotAtSize):
Use documentBackgroundColor instead of baseBackgroundColor if backgroundShouldExtendBeyondPage is set.

  • rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):
Use documentBackgroundColor instead of baseBackgroundColor if backgroundShouldExtendBeyondPage is set.

6:33 AM Changeset in webkit [174954] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174273 - REGRESSION (r173531): Use after free in WebCore::RenderStyle::fontMetrics /
WebCore::CSSPrimitiveValue::computeLengthDouble
​https://bugs.webkit.org/show_bug.cgi?id=136864

Reviewed by Andreas Kling.

Source/WebCore:

FontLoader previously called updateDocumentStyleIfNeeded,
which would reset styles currently in use as part of
the tabIndex calculation. The FontLoader should instead
wait for pending stylesheets to load.

Tests: fast/css/fontloader-tab-index.html

  • css/FontLoader.cpp:

(WebCore::FontLoader::notifyWhenFontsReady): Do not immediately
call loadingDone().
(WebCore::FontLoader::loadingDone): Wait for stylesheets to
finish loading rather than updating document styles.

  • css/FontLoader.h:

(WebCore::FontLoader::loading): Include JS font loads when testing
for the loading state.

LayoutTests:

Test that getting the tab index on a body element with
font-relative measurements to a local @font-face do not
cause a crash.

  • fast/css/fontloader-tab-index-expected.html: Added.
  • fast/css/fontloader-tab-index.html: Added.
6:23 AM Changeset in webkit [174953] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174260 - Change how 32-bit JSValues check if they are a Boolean

Rubber stamped by Filip Pizlo.

32-bit JSValue::isBoolean can simply check if its tag corresponds
to the boolean tag instead of checking if it's either true or false.

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isBoolean):

6:05 AM Changeset in webkit [174952] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174235 - XMLHttpRequestProgressEventThrottle shouldn't throttle / defer progress events if there are no listeners
​https://bugs.webkit.org/show_bug.cgi?id=137346

Reviewed by Alexey Proskuryakov.

Previously XMLHttpRequestProgressEventThrottle would throttle / defer
progress events, which involves queueing events and starting timers,
even if there were no listeners for those events (which is fairly
common case).

This patch updates XMLHttpRequestProgressEventThrottle to make sure
there are actual progress event listeners *before* attempting to
throttle and do extra processing, to avoid doing unnecessary work.

This patch also makes XMLHttpRequestProgressEventThrottle::dispatchEvent()
private as this method is only called from other dispatch methods of
the class and never from the outside.

No new tests, no behavior change.

  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):

6:02 AM Changeset in webkit [174951] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174219 - Use variadic templates for jsMakeNontrivialString
​https://bugs.webkit.org/show_bug.cgi?id=137325

Reviewed by Sam Weinig.

  • runtime/JSString.h:

(JSC::jsNontrivialString):
Add an overload that takes an rvalue reference to a String so we can transfer ownership easily.

  • runtime/JSStringBuilder.h:

(JSC::jsMakeNontrivialString):
Make this a variadic function template, with a single-parameter version that can steal the string if it's OK to do so.

5:25 AM Changeset in webkit [174950] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Merge r174217 - AX: Default orientation for aria scrollbars should be vertical
​https://bugs.webkit.org/show_bug.cgi?id=137341

Reviewed by Chris Fleizach.

Source/WebCore:

Default orientation for aria scrollbars regarding w3c spec should be vertical

No new tests, covering by existing one.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::orientation):

LayoutTests:

Update expectation and test for having new test case.

  • accessibility/aria-scrollbar-role-expected.txt:
  • accessibility/aria-scrollbar-role.html:
5:23 AM Changeset in webkit [174949] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r174209 - [GTK] [JHBuild] Switch sourceware.org mirror to http.

Unreviewed.

The ftp access is recently failing to work as expected, and the
bots fail to download the file.
The same mirror is available via http and seems to work better.

  • gtk/jhbuild.modules:
5:22 AM Changeset in webkit [174948] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174206 - Fix minimal build warnings
​https://bugs.webkit.org/show_bug.cgi?id=137066

Reviewed by Daniel Bates.

No new tests, no behavior change.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::glyphDataForCharacter):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):

5:19 AM Changeset in webkit [174947] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174204 - Minor bug in UIClient::exceededDatabaseQuota()
​https://bugs.webkit.org/show_bug.cgi?id=137213

Patch by JinYoung Hur <​hurims@gmail.com> on 2014-10-02
Reviewed by Anders Carlsson.

Make sure not to call the completion handler twice if exceededDatabaseQuota is null.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

5:11 AM Changeset in webkit [174946] by Manuel Rego Casasnovas
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: !gridWasPopulated() in WebCore::RenderGrid::placeItemsOnGrid
​https://bugs.webkit.org/show_bug.cgi?id=136939

Reviewed by Darin Adler.

Source/WebCore:

In some particular situations computeIntrinsicLogicalWidths() is called
in the middle of layoutGridItems(). In these cases we do not need to
populate the grid again, so we should avoid calling placeItemsOnGrid().
In addition, we do not need to clean the grid either, as that will be
done later by layoutGridItems().

Test: fast/css-grid-layout/grid-was-populated-assert.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Avoid calls to
placeItemsOnGrid() and clearGrid() if the grid was already populated.

  • rendering/RenderGrid.h: Move gridWasPopulated() header out of the

debug ifdefs.

LayoutTests:

Added a test case to reproduce the crash in debug mode.

  • fast/css-grid-layout/grid-was-populated-assert-expected.txt: Added.
  • fast/css-grid-layout/grid-was-populated-assert.html: Added.
4:13 AM Changeset in webkit [174945] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174142 - CSS JIT: Enable multiple stack references allocation by allocateUninitialized
​https://bugs.webkit.org/show_bug.cgi?id=135293

Reviewed by Benjamin Poulain.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::stackTop):

Add stackTop method to check references are allocated easily.

(WebCore::StackAllocator::allocateUninitialized):

4:11 AM Changeset in webkit [174944] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174122 - Label some asserts as having security implications.
<​https://webkit.org/b/137260>

Reviewed by Filip Pizlo.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::handleAssertionFailure):

  • runtime/JSCell.h:

(JSC::jsCast):

  • runtime/StructureIDTable.h:

(JSC::StructureIDTable::get):

3:52 AM Changeset in webkit [174943] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174091 - DFG HasStructureProperty codegen should use one fewer registers
​https://bugs.webkit.org/show_bug.cgi?id=137235

Reviewed by Andreas Kling.

This was an obvious source of inefficiency and it was causing us to run out of registers on
x86-32.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

3:46 AM Changeset in webkit [174942] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174090 - Don't use GPRResult unless you're flushing registers and making a runtime function call
​https://bugs.webkit.org/show_bug.cgi?id=137234

Rubber stamped by Andreas Kling.

Rename GPRResult to GPRFlushedCallResult, in an attempt to dissuade people from using it for results in the
general case.

Replace GPRResult with GPRTemporary in those places where it was causing bugs: particularly in GetDirectPname it
would cause us to spill the register that has the base, and the code was assuming (rightly) that the base and the
result were in different registers. That's a valid assumption when using GPRTemporary but not with GPRResult.
Also this code wasn't getting any benefit from using GPRResult because it wasn't doing flushRegisters().

I don't know how to test this. A test would require setting up a particularly awkward register allocation state.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::GPRFlushedCallResult::GPRFlushedCallResult):
(JSC::DFG::GPRFlushedCallResult2::GPRFlushedCallResult2):
(JSC::DFG::GPRResult::GPRResult): Deleted.
(JSC::DFG::GPRResult2::GPRResult2): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::speculateDoubleRepMachineInt):

3:30 AM Changeset in webkit [174941] by Carlos Garcia Campos
  • 27 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174094 - Web Inspector: InspectorValues should use references for out parameters
​https://bugs.webkit.org/show_bug.cgi?id=137190

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Use references for out parameters in asType() and getType() methods.
Also convert to references in some miscellaneous code where we don't
expect or handle null values.

Remove variants of asObject() and asArray() that return a nullable RefPtr.
Now, client code is forced to use out parameters and check for cast failure.

Iron out control flow in some functions and fix some style issues.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::injectedScriptForObjectId): Simplify control flow.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::getPropertyValue):
(Inspector::AsMethodBridges::asInteger):
(Inspector::AsMethodBridges::asDouble):
(Inspector::AsMethodBridges::asString):
(Inspector::AsMethodBridges::asBoolean):
(Inspector::AsMethodBridges::asObject):
(Inspector::AsMethodBridges::asArray):

  • inspector/InspectorProtocolTypes.h:

(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::assertValueHasExpectedType):

  • inspector/InspectorValues.cpp: Use more by-reference out parameters. Add more spacing.

(Inspector::InspectorValue::asBoolean):
(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorValue::asString):
(Inspector::InspectorValue::asValue):
(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorValue::toJSONString):
(Inspector::InspectorValue::writeJSON):
(Inspector::InspectorBasicValue::asBoolean):
(Inspector::InspectorBasicValue::asDouble):
(Inspector::InspectorBasicValue::asInteger):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorString::asString):
(Inspector::InspectorString::writeJSON):
(Inspector::InspectorObjectBase::asObject):
(Inspector::InspectorObjectBase::openAccessors):
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::asArray):
(Inspector::InspectorArrayBase::writeJSON):

  • inspector/InspectorValues.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::parseLocation):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::didParseSource):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/scripts/codegen/generate_protocol_types_implementation.py:

(ProtocolTypesImplementationGenerator):
(ProtocolTypesImplementationGenerator._generate_assertion_for_enum):

  • inspector/scripts/codegen/generator_templates.py:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::EncodedValue::convertTo<String>):

Source/WebCore:

Clean up some call sites to explicitly check for cast success, and simplify
some exceptional control flows.

No new tests, no behavior changed.

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::computePseudoClassMask):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::parseQuad):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightFrame):

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorIndexedDBAgent.cpp: Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):

  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::replayToPosition):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::styleWithProperties):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):

  • inspector/InspectorWorkerAgent.cpp:
3:18 AM Changeset in webkit [174940] by Dániel Bátyai
  • 13 edits
    4 adds in trunk

Fix FTL Native Inlining for EFL
​https://bugs.webkit.org/show_bug.cgi?id=137774

Reviewed by Michael Saboff.

.:

Updated CMake for FTL Native Inlining.

  • CMakeLists.txt:
  • Source/cmake/FindClang.cmake: Added.
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

Added required functionality for Native Inlining to EFL, and fixed a bug/typo in the original code,
which caused incorrect memory allocation.

  • CMakeLists.txt:
  • create-llvm-ir-from-source-file.py: Added.
  • create-symbol-table-index.py: Added.
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):

  • runtime/BundlePath.cpp: Added.

(JSC::bundlePath):

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):

  • runtime/MathObject.cpp:

Source/WTF:

Updated guard definition for Native Inlining, and added an attribute define for marking functions
that should not be left out of the symbol table.

  • wtf/Platform.h:

Tools:

Added Clang as an optional module to jhbuild.

  • efl/jhbuild.modules:
3:07 AM Changeset in webkit [174939] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebInspectorUI

Merge r173792 - Web Inspector: Option+Click on CSS url(...) should jump to resource view
​https://bugs.webkit.org/show_bug.cgi?id=136965

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-20
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CodeMirrorAdditions.js:

When parsing CSS url(...) tokens, the contents of url(...)
are a "string" type, not "atom".

3:07 AM Changeset in webkit [174938] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r173805 - Web Inspector: fix TypeSet hierarchy in TypeTokenView
​https://bugs.webkit.org/show_bug.cgi?id=136982

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

TypeSet was computing the set of type booleans in the Inspector::Protocol::Runtime::TypeSet
object incorrectly because it was calling TypeSet::doesTypeConformTo(T) which checks if the
type set has only been of type T. It now checks '(m_seenTypes & T) != TypeNothing' to see
if type T is in the set of seen types, but not the entire set itself.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::inspectorTypeSet):

Source/WebInspectorUI:

The protocol object representation of TypeSet was being computed
incorrectly in JSC::TypeSet. This patch fixes that problem
and also asserts that the type information that the Web Inspector
receives is not empty.

  • UserInterface/Models/TypeSet.js:

(WebInspector.TypeSet):

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype._displayTypeName):

2:41 AM Changeset in webkit [174937] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r174812 - REGRESSION(CMake): [GTK] WebKitSettings:enable-smooth-scrolling does nothing
​https://bugs.webkit.org/show_bug.cgi?id=137781

Reviewed by Martin Robinson.

We used to enable smooth scrolling unconditionally in autotools
(via WebKitFeatures.m4), but since the switch to CMake it's
unconditionally disabled, so changing the setting doesn't have any
effect.

  • Source/cmake/OptionsGTK.cmake: Enable smooth scrolling.
2:18 AM Changeset in webkit [174936] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174818 - [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
​https://bugs.webkit.org/show_bug.cgi?id=137782

Reviewed by Sergio Villar Senin.

Source/WebCore:

  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval): Use microseconds instead of
milliseconds.

Source/WebKit2:

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::layerFlushTimerFired): Use microseconds
instead of milliseconds.

Source/WTF:

In some cases when we have a double with the time in seconds, the
conversion to milliseconds ends up truncating the value to 0, and
the source scheduled immediately.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::createMicrosecondsTimeoutSource): Use a custom timeout
source that handles the interval in microseconds instead of milliseconds.
(WTF::GMainLoopSource::scheduleAfterDelay): Use MicrosecondsTimeoutSource.
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Ditto.

  • wtf/gobject/GMainLoopSource.h:
2:13 AM Changeset in webkit [174935] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Merge r174926 - [GTK] Test TestWebKitAPI/WebKit2Gtk/TestInspectorServer fails
​https://bugs.webkit.org/show_bug.cgi?id=132044

Reviewed by Brian Burg.

Source/WebInspectorUI:

Make sure Protocol/InspectorFrontendHostStub.js is loaded before
Base/Platform.js, because Platform uses the InspectorFrontendHost
object.

  • UserInterface/Main.html:

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(openRemoteDebuggingSession): Remove trailing slash when
concatenating base inspector URL with the page, because the
inspector returns the relative paths with a leading slash.

2:08 AM Changeset in webkit [174934] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174025, r174121, r174749, r174856, r174899 - DFG shouldn't insert store barriers when it has it on good authority that we're not storing a cell
​https://bugs.webkit.org/show_bug.cgi?id=137161

Reviewed by Mark Hahnenberg.

This looks like a 1% Octane speed-up.

  • bytecode/SpeculatedType.h:

(JSC::isNotCellSpeculation):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateNotCell):

REGRESSION (r174025): Invalid cast in JSC::asString
​https://bugs.webkit.org/show_bug.cgi?id=137224

Reviewed by Geoffrey Garen.

Store barrier elision in fixup depends on checking the type of the value being stored. It's very important that
when we speak of "the value being stored" we are really referring to the right value.

The bug here was that the PutClosureVar case was assuming that child2 is the value being stored. It's actually
child3. So we were incorrectly removing all barriers from PutClosureVar.

  • dfg/DFGFixupPhase.cpp:

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

REGRESSION(r174025): remote inspector crashes frequently when executing inspector frontend's JavaScript
​https://bugs.webkit.org/show_bug.cgi?id=137758

Rubber stamped by Filip Pizlo.

Reverted r174025 for just PutByOffset Nodes.

  • dfg/DFGFixupPhase.cpp:

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

Web Process crash when starting the web inspector after r174025.
<​https://webkit.org/b/137340>

Reviewed by Filip Pizlo.

After r174025, we can generate a bad graph in the DFG fixup phase like so:

102:<!0:-> StoreBarrier(Check:KnownCell:@19, ..., bc#44)
60:<!0:-> PutStructure(Check:KnownCell:@19, ..., bc#44)
103:<!0:-> Check(Check:NotCell:@54, ..., bc#44)

-- PutByOffset's StoreBarrier has been elided and replaced
with a speculation check which can OSR exit.

61:<!0:-> PutByOffset(Check:KnownCell:@19, ..., bc#44)

As a result, the structure change will get executed even if we end up OSR
exiting before the PutByOffset. In the baseline JIT code, the structure now
erroneously tells the put operation that there is a value in that property
slot when it is actually uninitialized (hence, the crash).

The fix is to insert the Check at the earliest point possible:

  1. If the checked node is in the same bytecode as the PutByOffset, then the earliest point where we can insert the Check is right after the checked node.
  1. If the checked node is from a preceding bytecode (before the PutByOffset), then the earliest point where we can insert the Check is at the start of the current bytecode.

Also reverted the workaround from r174749: ​https://webkit.org/b/137758.

Benchmark results appear to be a wash on aggregate.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::indexOfNode):
(JSC::DFG::FixupPhase::indexOfFirstNodeOfExitOrigin):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertOutOfOrder):
(JSC::DFG::InsertionSet::insertOutOfOrderNode):

[Follow up] Web Process crash when starting the web inspector after r174025.
<​https://webkit.org/b/137340>

Reviewed by Geoffrey Garen.

Applied Geoff's feedback to clean up some code for better clarity after
r174856.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertOutOfOrder):

1:57 AM Changeset in webkit [174933] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Move JSC::MacroAssemblerX86Common::s_sse2CheckState definition to MacroAssemblerX86Common.cpp.
<​https://webkit.org/b/137807>

Patch by Milan Crha <​mcrha@redhat.com> on 2014-10-21
Reviewed by Csaba Osztrogonác.

  • assembler/MacroAssemblerX86Common.cpp:
  • jit/JIT.cpp:
1:35 AM Changeset in webkit [174932] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174929 - [GTK] Several labels are white instead of black
​https://bugs.webkit.org/show_bug.cgi?id=137803

Reviewed by Martin Robinson.

Recent GTK+ versions require to explicitly set the state before
getting a color.

  • rendering/RenderThemeGtk.cpp:

(WebCore::styleColor): Helper function to get a color from a
GtkStylecontext that explicitly sets the state before getting the color.
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor().
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::systemColor): Ditto.

1:24 AM Changeset in webkit [174931] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[Cairo] Make dashPattern, dotPattern in GraphicsContext::setPlatformStrokeStyle() const
​https://bugs.webkit.org/show_bug.cgi?id=137912

Reviewed by Carlos Garcia Campos.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformStrokeStyle): Make the two static variables
constants since their value doesn't change after initialization.

1:05 AM Changeset in webkit [174930] by Carlos Garcia Campos
  • 4 edits in trunk

Change the default TLS errors policy to WEBKIT_TLS_ERRORS_POLICY_FAIL
​https://bugs.webkit.org/show_bug.cgi?id=137832

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Too many general-purpose browsers that really need this policy
are not selecting it, so let's do so for them.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

Tools:

Ensure each test sets the TLS errors policy that it really needs.
Have each test except testTLSErrorsPolicy stash and restore the original
TLS errors policy. Update testTLSErrorsPolicy to account for the new
default policy.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testSSL):
(testInsecureContent):
(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(beforeAll):

12:46 AM Changeset in webkit [174929] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Several labels are white instead of black
​https://bugs.webkit.org/show_bug.cgi?id=137803

Reviewed by Martin Robinson.

Recent GTK+ versions require to explicitly set the state before
getting a color.

  • rendering/RenderThemeGtk.cpp:

(WebCore::styleColor): Helper function to get a color from a
GtkStylecontext that explicitly sets the state before getting the color.
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor().
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::systemColor): Ditto.

12:41 AM Changeset in webkit [174928] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Unskip inspector server unit tests.

They should pass now.

  • Scripts/run-gtk-tests:

(TestRunner):

12:35 AM Changeset in webkit [174927] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[SOUP] Disable SSLv3
​https://bugs.webkit.org/show_bug.cgi?id=137859

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-21
Reviewed by Carlos Garcia Campos.

Set G_TLS_GNUTLS_PRIORITY if unset.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

12:32 AM Changeset in webkit [174926] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Test TestWebKitAPI/WebKit2Gtk/TestInspectorServer fails
​https://bugs.webkit.org/show_bug.cgi?id=132044

Reviewed by Brian Burg.

Source/WebInspectorUI:

Make sure Protocol/InspectorFrontendHostStub.js is loaded before
Base/Platform.js, because Platform uses the InspectorFrontendHost
object.

  • UserInterface/Main.html:

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(openRemoteDebuggingSession): Remove trailing slash when
concatenating base inspector URL with the page, because the
inspector returns the relative paths with a leading slash.

12:04 AM Changeset in webkit [174925] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Add support for Case sensitive and word start search
​https://bugs.webkit.org/show_bug.cgi?id=137023

Patch by Tanay C <​tanay.c@samsung.com> on 2014-10-20
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Added functionality to support case sensitive and word start search

(search_box_show): Modified.
(search_box_hide): Modified.
(on_search_field_activated): Modified.
(on_search_backward_button_clicked): Modified.
(on_search_forward_button_clicked): Modified.
(on_search_case_option_changed): Added.
(on_search_word_start_option_changed): Added.
(window_create): Modified.

Oct 20, 2014:

11:12 PM Changeset in webkit [174924] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Coordinated Graphics] '-webkit-mask-image: -webkit-gradient' doesn't work for AC layer.
​https://bugs.webkit.org/show_bug.cgi?id=125326

Patch by YongGeol Jung <​yg48.jung@samsung.com> on 2014-10-20
Reviewed by Gyuyoung Kim.

Mask layer hasn't requested to synchronize with AC layer in CoordinatedGraphics so far.
That's why the mask layer isn't shown under CoordinatedGraphics.
Thus this patch lets the mask layer synchronize with the AC layer whenever AC layer is updated.

Below layout test case is related to this issue when --pixel test is enabled.
Unfortunately EFL WebKitTestRunner doesn't support AC mode yet.
When EFL test framework supports AC mode, the test will be passed.

Test: compositing/masks/mask-of-clipped-layer.html

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

(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):

9:15 PM Changeset in webkit [174923] by dburkart@apple.com
  • 3 edits in branches/safari-600.1-branch/LayoutTests

Update TestExpectations

8:15 PM Changeset in webkit [174922] by jpfau@apple.com
  • 3 edits
    2 adds in trunk

Ensure attached frame count doesn't exceed the maximum allowed frames
​https://bugs.webkit.org/show_bug.cgi?id=136457

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/frames/exponential-frames.html

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::isURLAllowed):

LayoutTests:

  • fast/frames/exponential-frames-expected.txt: Added.
  • fast/frames/exponential-frames.html: Added.
7:10 PM Changeset in webkit [174921] by Chris Dumez
  • 15 edits in trunk/Source

ResourceRequest deserialization unnecessarily calls partitionName() on encoded cache partition
​https://bugs.webkit.org/show_bug.cgi?id=137797

Reviewed by Darin Adler.

Source/WebCore:

ResourceRequest deserialization was unnecessarily calling partitionName()
on the decoded cache partition. In the deserialization case, we already
know the cache partition is a valid partition name so we can bypass the
call to partitionName() (which is fairly expensive) for performance.

This patch adds a setDomainForCachePartion() method to ResourceRequest
that calls partitionName() on the domain argument, and moves all the
callers of setCachedPartition() to this new setter, except
ArgumentCoder<ResourceRequest>::decode().

This patch updates the setCachedPartition() to merely set the
m_cachePartition member, without calling partitionName() on the
argument. There is also a new assertion in place to make sure the
argument is a valid partition name.

No new tests, no behavior change.

  • html/DOMURL.cpp:

(WebCore::DOMURL::revokeObjectURL):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResource):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::replayXHR):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::addImageToCache):
(WebCore::MemoryCache::removeImageFromCache):

  • loader/cache/MemoryCache.h:
  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::domainForCachePartition):
(WebCore::SecurityOrigin::cachePartition): Deleted.
Rename cachePartition() getter to domainForCachePartition() to make it
clear it returns a domain and not a partition name. As such, the caller
should then use ResourceRequest::setDomainForCachePartition(), not
setCachePartition().

  • page/SecurityOrigin.h:
  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::setCachePartition):
(WebCore::ResourceRequest::setDomainForCachePartition):

Source/WebKit/mac:

Call ResourceRequest::setDomainForPartitionName() instead of
setPartitionName() as the argument is a domain, not a valid
partition name.

  • Misc/WebCache.mm:

(+[WebCache addImageToCache:forURL:forFrame:]):
(+[WebCache removeImageFromCacheForURL:forFrame:]):

Source/WebKit2:

This patch adds a |needsValidation| argument to
ResourceRequest::setCachePartition() setter so that the caller can
indicate that the partition name is valid (because it was already
processed by partitionName() before). Use this new argument in
ArgumentCoder<ResourceRequest>::decode() to spent a bit less time
deserializing resource requests.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceRequest>::decode):

6:50 PM Changeset in webkit [174920] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Tighten XMLHttpRequest setRequestHeader value check
​https://bugs.webkit.org/show_bug.cgi?id=128593

Patch by Youenn Fablet <​youenn.fablet@crf.canon.fr> on 2014-10-20
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/xmlhttprequest/set-bad-headervalue.html

  • platform/network/HTTPParsers.cpp:

(WebCore::isValidHTTPHeaderValue): Updated header values check according RFC 7230.
(WebCore::isValidHTTPToken): Renamed variable name and updated RFC related comment.

LayoutTests:

Added a test originating from w3c-test.org to test header values checking.
Testing headers with non ASCII characters and various control characters.

  • http/tests/xmlhttprequest/set-bad-headervalue-expected.txt: Added.
  • http/tests/xmlhttprequest/set-bad-headervalue.html: Added.
6:49 PM Changeset in webkit [174919] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[WinCairo] Crash in ATI display driver in accelerated compositing mode.
​https://bugs.webkit.org/show_bug.cgi?id=137879

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-10-20
Reviewed by Darin Adler.

Speculative fix; don't enable antialiasing when drawing textures.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::initialize):

6:21 PM Changeset in webkit [174918] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

Make post checkin suggested changes to r174847
​https://bugs.webkit.org/show_bug.cgi?id=137885

Reviewed by Mark Lam.

Eliminated the creation of a temporary Identifier when comparing propertyName to "open".
Made the suggested post checkin change to put the declaration of "entry" into the if.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):

6:19 PM Changeset in webkit [174917] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for SpinButtonElement
​https://bugs.webkit.org/show_bug.cgi?id=137896

Reviewed by Gyuyoung Kim.

Use is<>() / downcast<>() for SpinButtonElement instead of
isSpinButtonElement() / static_cast for consistency with the rest of
the code and for safety.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::addTextFieldChildren):

  • html/shadow/SpinButtonElement.h:

(isType):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):

6:16 PM Changeset in webkit [174916] by roger_fong@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Unreviewed. Fix Changelog and add more explanation for r174915

6:07 PM Changeset in webkit [174915] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Use glFinish instead of glFlush when drawing WebGL output to screen.
​https://bugs.webkit.org/show_bug.cgi?id=137897.
<rdar://problem/15846550>

Reviewed by Brent Fulgham.

Passes all conformance tests.
Performance tested by ​http://threejs.org/examples/#webgl_performance and Unity WebGL performance tests.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture):

5:43 PM Changeset in webkit [174914] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Generalize the compilation of :not() to support arbitrary selector lists
​https://bugs.webkit.org/show_bug.cgi?id=137843

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-20
Reviewed by Andreas Kling.

This builds :not() on top of the code created for :nth-child(An+B of selectorList)
to support any selector list.

The tests for the JIT were added previously:
-not-boundaries.html
-not-backtracking.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
Any :not() of a selector is handled through a simple selector list. Cases like
:not(foo, bar) simply generate not([fragmentFoo, bragmentBar]).

Old cases like :not(foo):not(bar) simply add those cases to the selector list,
generating not([fragmentFoo, bragmentBar]).

(WebCore::SelectorCompiler::minimumRegisterRequirements):
Register pressure is now tracked through computeBacktrackingMemoryRequirements.

(WebCore::SelectorCompiler::hasAnyCombinators):
(WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
Abstract the code creating Selector Lists from :nth-child(of). Use that for :not()
and :nth-child(of).

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesNotPseudoClass):

4:25 PM Changeset in webkit [174913] by Beth Dakin
  • 3 edits
    1 add in trunk/Source/WebKit2

Action menu items should have tags
​https://bugs.webkit.org/show_bug.cgi?id=137898

Reviewed by Anders Carlsson.

  • Shared/API/c/WKActionMenuItemTypes.h: Added.
  • UIProcess/API/mac/WKView.mm:

(-[WKView _defaultMenuItemsForLink]):

  • WebKit2.xcodeproj/project.pbxproj:
4:22 PM Changeset in webkit [174912] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed add back copyright line that was accidentally removed.

  • inspector/scripts/codegen/generator_templates.py:

(GeneratorTemplates):

4:22 PM Changeset in webkit [174911] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Use std::unique_ptr<>|make_unique<> in PluginView::scheduleRequest()
​https://bugs.webkit.org/show_bug.cgi?id=137874

Reviewed by Andreas Kling.

No new tests, no behavior change.

  • plugins/PluginView.cpp:

(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::scheduleRequest): Replace PassOwnPtr with std::unique_ptr.
(WebCore::PluginView::load): Create PluginRequest using std::make_unique.

  • plugins/PluginView.h:
3:59 PM Changeset in webkit [174910] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

3:00 PM Changeset in webkit [174909] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • platform/spi/mac/NSViewSPI.h:
2:00 PM Changeset in webkit [174908] by Beth Dakin
  • 12 edits
    3 adds in trunk/Source

Add support for action menus
​https://bugs.webkit.org/show_bug.cgi?id=137891
rdar://problem/18451638
rdar://problem/18694470

Reviewed by Anders Carlsson.

Source/WebCore:

New SPI that is needed for this.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac: Added.
  • platform/spi/mac/NSViewSPI.h: Added.

Source/WebKit2:

Temporary artwork needed for menu item.

  • Resources/OpenInNewWindowTemplate.pdf: Added.
  • WebKit2.xcodeproj/project.pbxproj:

Add a preference that defaults to false for action menu support.

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

(WKPreferencesSetActionMenuSupportEnabled):
(WKPreferencesGetActionMenuSupportEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

New SPI. WebKit clients can implement this method to customize the action menu.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Create the action menu if it is supported.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):

Methods to implement the default menu actions.
(-[WKView _openURLFromActionMenu:]):
(-[WKView _addToReadingListFromActionMenu:]):
(-[WKView _quickLookURLFromActionMenu:]):

Add action menus support for links. Populate the menu at the right time.
(-[WKView _defaultMenuItemsForLink]):
(-[WKView _defaultMenuItems]):
(-[WKView prepareForMenu:withEvent:]):
(-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]):

New member variable caches the HitTestResult on mouse move.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::mouseDidMoveOverElement):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::activeActionMenuHitTestResult):

1:46 PM Changeset in webkit [174907] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a few tests as no-longer failing.

It looks like Said's work on SVG has fixed a number of things!

  • platform/win/TestExpectations: Remove 'crash' and 'failures' cases

for a few things that are now reliably passing.

1:45 PM Changeset in webkit [174906] by Joseph Pecoraro
  • 29 edits
    2 adds in trunk/Source

Web Inspector: InspectorBackendCommands should include when to activate particular domains
​https://bugs.webkit.org/show_bug.cgi?id=137753

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add an availability property to domains that only activate for
particular debuggable types. If missing, the domain is always
activated. Otherwise it must be a debuggable type string.
When a frontend is opened for that debuggable type, the domain
will be activated.

  • inspector/scripts/codegen/models.py:

(Protocol.parse_domain):
(Domain.init):
(Domains):
Parse and validate the Domain's "availability" property.

  • inspector/scripts/codegen/generate_backend_commands.py:

(BackendCommandsGenerator.generate_domain):
Emit InspectorBackend.activateDomain with debuggable type filter.

  • inspector/protocol/ApplicationCache.json:
  • inspector/protocol/CSS.json:
  • inspector/protocol/DOM.json:
  • inspector/protocol/DOMDebugger.json:
  • inspector/protocol/DOMStorage.json:
  • inspector/protocol/Database.json:
  • inspector/protocol/IndexedDB.json:
  • inspector/protocol/LayerTree.json:
  • inspector/protocol/Network.json:
  • inspector/protocol/Page.json:
  • inspector/protocol/Replay.json:
  • inspector/protocol/Timeline.json:
  • inspector/protocol/Worker.json:

These domains only activate for Web debuggables.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:

Update existing tests that now have activate output.

  • inspector/scripts/tests/expected/fail-on-domain-availability.json-error: Added.
  • inspector/scripts/tests/fail-on-domain-availability.json: Added.

Add a test for "availability" validation.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:
  • UserInterface/Base/Test.js:

(WebInspector.loaded):
Activation now happens automatically so remove the hardcoded activations.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.activateDomain):
Given no filter, always activate a domain. Otherwise only activate
if the debuggable type matches the provided filter.

  • UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:

Only web debuggables are supported in iOS 6 and 7. The JSON files do not
need to change, all agents will auto activate.

  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • Versions/Inspector-iOS-8.0.json:

Specify which are web debuggables in iOS 8 since JS inspection is possible.

1:30 PM Changeset in webkit [174905] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Support "inverted-colors" and "monochrome" media feature.
​https://bugs.webkit.org/show_bug.cgi?id=137535
<rdar://problem/18586398>

Rolling out the Windows part of this to fix the build.

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenHasInvertedColors): Revert to a stub function.

1:17 PM Changeset in webkit [174904] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Build fix for generated inspector files.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-20
Rubberstamped by Brent Fulgham.

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):

  • inspector/scripts/codegen/generator_templates.py:

(GeneratorTemplates):

12:55 PM Changeset in webkit [174903] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed EFL / GTK build fix after r174898.

Add missing header include.

  • accessibility/AccessibilityARIAGrid.cpp:
12:37 PM Changeset in webkit [174902] by timothy@apple.com
  • 2 edits in trunk/Source/WebKit2

Web Inspector: Delay and white area when Web Inspector crashes
​https://bugs.webkit.org/show_bug.cgi?id=137230

Reviewed by Anders Carlsson.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::processDidCrash): Added.
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): Hook up loader client.

12:37 PM Changeset in webkit [174901] by dino@apple.com
  • 12 edits
    4 adds in trunk

[Mac] Support "inverted-colors" and "monochrome" media feature.
​https://bugs.webkit.org/show_bug.cgi?id=137535
<rdar://problem/18586398>

Reviewed by Brent Fulgham.

Source/WebCore:

Add a new media query from CSS Level 4, "inverted-colors", and
implement the Apple backends for the "monochrome" media query.

The platform code went into PlatformScreenMac, which already
had a screenIsMonochrome method. This now calls into Core
Graphics via SPI. I added a screenHasInvertedColors
method which tests for inversion. On iOS, there is public API
for both queries. On Windows, we try to use CoreGraphics.

At the moment neither of these media queries re-evaluate
automatically if the user changes their mode. The page will
need to be reloaded. It is possible to detect a change on iOS,
but not OS X.
​https://bugs.webkit.org/show_bug.cgi?id=137868

I decided to not add an ENABLE flag for this, mostly because it
is such an isolated feature and seems very unlikely to be
controversial. I don't expect the syntax to change. (I'm sure
this comment will come back to haunt me.)

Testing this automatically is slightly tricky. We'd need
to expose SPI to invert the user's screen, but then we get
inverted images from our testing which could interfere with concurrent
operations. Instead I've included some tests that exercise
the "false" parts of the media query, with explanations as
to why they would fail if the display is inverted.

Tests: fast/media/mq-inverted-colors.html

fast/media/mq-monochrome.html

  • css/CSSValueKeywords.in: Add the "inverted" keyword for "inverted-colors".
  • css/MediaFeatureNames.h: Add the "inverted-colors" feature name.
  • css/MediaQueryEvaluator.cpp:

(WebCore::inverted_colorsMediaFeatureEval): Implementation of the new media query.

  • css/MediaQueryExp.cpp:

(WebCore::featureWithCSSValueID): The new query takes an id...
(WebCore::featureWithoutValue): ... or no value.

  • platform/PlatformScreen.h: Add "screenHasInvertedColors".
  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenHasInvertedColors): Stub implementation.

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenHasInvertedColors): Ditto.

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenHasInvertedColors): Call into the platform accessibility API.
(WebCore::screenIsMonochrome): Ditto.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenIsMonochrome): Call into the CoreGraphics SPI.
(WebCore::screenHasInvertedColors): Call into the CoreGraphics SPI.

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenHasInvertedColors): Call into CoreGraphics if we're using it.

LayoutTests:

Add tests for the new "inverted-colors" media feature, and
another test for the "monochrome" feature. Note that these
tests don't actually exercise the positive values of the
query, since that requires the screen to be changed and would
interfere with concurrent tests.

  • fast/media/mq-inverted-colors.html: Added.
  • fast/media/mq-monochrome.html: Added.
  • fast/media/mq-inverted-colors-expected.html: Added.
  • fast/media/mq-monochrome-expected.html: Added.
12:16 PM Changeset in webkit [174900] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix.

We need to (1) pass the 'windows' argument to our script for checking feature definitions,
and (2) we must use Cwd::realpath on our path input arguments to avoid Cygwin and Windows
getting confused about path separators versus escape characters.

12:13 PM Changeset in webkit [174899] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[Follow up] Web Process crash when starting the web inspector after r174025.
<​https://webkit.org/b/137340>

Reviewed by Geoffrey Garen.

Applied Geoff's feedback to clean up some code for better clarity after
r174856.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertOutOfOrder):

12:08 PM Changeset in webkit [174898] by Chris Dumez
  • 54 edits in trunk/Source

Use is<>() / downcast<>() for Accessibility objects
​https://bugs.webkit.org/show_bug.cgi?id=137286

Reviewed by Darin Adler.

Source/WebCore:

Use is<>() / downcast<>() for Accessibility objects and clean up the
surrounding code.

No new tests, no behavior change.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::focusedImageMapUIElement):
(WebCore::AXObjectCache::notificationPostTimerFired):

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addTableCellChild):
(WebCore::AccessibilityARIAGrid::addChildren):

  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::parentTable):
(WebCore::AccessibilityARIAGridCell::rowIndexRange):

  • accessibility/AccessibilityARIAGridRow.cpp:

(WebCore::AccessibilityARIAGridRow::disclosedRows):
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentTable):

  • accessibility/AccessibilityARIAGridRow.h:
  • accessibility/AccessibilityImageMapLink.cpp:

(WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):

  • accessibility/AccessibilityImageMapLink.h:
  • accessibility/AccessibilityList.h:
  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::setSelectedChildren):
(WebCore::AccessibilityListBox::selectedChildren):
(WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):

  • accessibility/AccessibilityListBox.h:
  • accessibility/AccessibilityListBoxOption.h:
  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::addChildren):
(WebCore::AccessibilityMenuList::didUpdateActiveOption):

  • accessibility/AccessibilityMenuList.h:
  • accessibility/AccessibilityMenuListOption.h:
  • accessibility/AccessibilityMenuListPopup.cpp:

(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):

  • accessibility/AccessibilityMenuListPopup.h:
  • accessibility/AccessibilityMockObject.h:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::textUnderElement):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::appendChildrenToArray):
(WebCore::AccessibilityObject::scrollViewAncestor):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::getDocumentLinks):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
(WebCore::AccessibilityRenderObject::ariaSelectedRows):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilitySVGRoot.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::addChildScrollbar):

  • accessibility/AccessibilityScrollView.h:
  • accessibility/AccessibilityScrollbar.h:
  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::addChildren):

  • accessibility/AccessibilitySlider.h:
  • accessibility/AccessibilitySpinButton.cpp:

(WebCore::AccessibilitySpinButton::addChildren):
(WebCore::AccessibilitySpinButtonPart::press):

  • accessibility/AccessibilitySpinButton.h:
  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::addChildrenFromSection):
(WebCore::AccessibilityTable::headerContainer):
(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::cellForColumnAndRow):

  • accessibility/AccessibilityTable.h:

Make isAccessibilityTable() public and mark as final so that callers
can benefit from tighter typing, as isAccessibilityTable() is
stricter than isTable(). isTable() indicates that the object is an
AccessibilityTable and is equivalent to is<AccessibilityTable>(object).
isAccessibilityTable() is equivalent to "isTable() && renderer()".

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):

  • accessibility/AccessibilityTableCell.h:
  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):
(WebCore::AccessibilityTableColumn::addChildren):

  • accessibility/AccessibilityTableColumn.h:
  • accessibility/AccessibilityTableHeaderContainer.cpp:

(WebCore::AccessibilityTableHeaderContainer::addChildren):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::parentTable):
(WebCore::AccessibilityTableRow::headerObject):

  • accessibility/AccessibilityTableRow.h:
  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:

(webkitAccessibleSelectionClearSelection):
(webkitAccessibleSelectionSelectAllSelection):

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(core):
(cell):
(cellAtIndex):
(webkitAccessibleTableGetIndexAt):
(webkitAccessibleTableGetNColumns):
(webkitAccessibleTableGetNRows):
(webkitAccessibleTableGetColumnHeader):
(webkitAccessibleTableGetRowHeader):

  • accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:

(webkitAccessibleTableCellGetColumnHeaderCells):
(webkitAccessibleTableCellGetRowHeaderCells):
(webkitAccessibleTableCellGetColumnSpan):
(webkitAccessibleTableCellGetRowSpan):
(webkitAccessibleTableCellGetPosition):

  • accessibility/ios/AccessibilityObjectIOS.mm:

(WebCore::AccessibilityObject::accessibilityPasswordFieldLength):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetElement):
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):
(-[WebAccessibilityObjectWrapper scrollViewParent]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::didUpdateActiveOption):

Source/WebKit/win:

Use is<>() / downcast<>() for Accessibility objects.

  • AccessibleBase.cpp:

(AccessibleBase::accSelect):

  • AccessibleImage.cpp:

(AccessibleImage::name):

Source/WTF:

Remove the legacy TYPE_CASTS_BASE() macro now that it is no longer
used.

  • wtf/Assertions.h:
11:52 AM Changeset in webkit [174897] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Factor out JITCode::typeName() for debugging use.
<​https://webkit.org/b/137888>

Reviewed by Geoffrey Garen.

JITCode's printInternal() currently decodes the JITType into a string and
prints it. This change factors out the part that decodes the JITType into
JITCode::typeName() so that we can call it from lldb while debugging to
quickly decode a JITType value.

  • jit/JITCode.cpp:

(JSC::JITCode::typeName):
(WTF::printInternal):

  • jit/JITCode.h:
11:41 AM Changeset in webkit [174896] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed Windows Build Fix #2 after r174892.

Define FEATURE_DEFINES for JavaScriptCore's DerivedSources.make.
This uses the same technique as WebCore.

11:29 AM Changeset in webkit [174895] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix placement of a few items in vcxproj ItemGroups.
<​https://webkit.org/b/137886>

Reviewed by Geoffrey Garen.

​https://webkit.org/b/137873 is likely a cut-and-paste error that manifested
because we had ClCompile and ClInclude entries mixed up in the wrong ItemGroups.
We should fix these so that ClCompile entries are in the ClCompile ItemGroup,
and ClInclude entries in the ClInclude ItemGroup. This will help reduce the
chance of future cut-and-paste errors of this nature.

11:06 AM Changeset in webkit [174894] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed Windows Build Fix after r174892.

Update file name to the new generated file name.

10:59 AM Changeset in webkit [174893] by Joseph Pecoraro
  • 5 edits
    1 move in trunk/Source/JavaScriptCore

Web Inspector: Rename generated Inspector.json to CombinedDomains.json to prevent name collisions
​https://bugs.webkit.org/show_bug.cgi?id=137825

Reviewed by Timothy Hatcher.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/copy-files.cmd:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/protocol/Inspector.json: Renamed from Source/JavaScriptCore/inspector/protocol/InspectorDomain.json.
10:59 AM Changeset in webkit [174892] by Joseph Pecoraro
  • 103 edits
    13 copies
    4 moves
    3 adds
    6 deletes in trunk

Web Inspector: Generate all Inspector domains together in JavaScriptCore
​https://bugs.webkit.org/show_bug.cgi?id=137748

Reviewed by Brian Burg.

  • Source/PlatformEfl.cmake:

Source/JavaScriptCore:

  • inspector/protocol/ApplicationCache.json: Renamed from Source/WebCore/inspector/protocol/ApplicationCache.json.
  • inspector/protocol/CSS.json: Renamed from Source/WebCore/inspector/protocol/CSS.json.
  • inspector/protocol/DOM.json: Renamed from Source/WebCore/inspector/protocol/DOM.json.
  • inspector/protocol/DOMDebugger.json: Renamed from Source/WebCore/inspector/protocol/DOMDebugger.json.
  • inspector/protocol/DOMStorage.json: Renamed from Source/WebCore/inspector/protocol/DOMStorage.json.
  • inspector/protocol/Database.json: Renamed from Source/WebCore/inspector/protocol/Database.json.
  • inspector/protocol/IndexedDB.json: Renamed from Source/WebCore/inspector/protocol/IndexedDB.json.
  • inspector/protocol/LayerTree.json: Renamed from Source/WebCore/inspector/protocol/LayerTree.json.
  • inspector/protocol/Network.json: Renamed from Source/WebCore/inspector/protocol/Network.json.
  • inspector/protocol/Page.json: Renamed from Source/WebCore/inspector/protocol/Page.json.
  • inspector/protocol/Replay.json: Renamed from Source/WebCore/inspector/protocol/Replay.json.
  • inspector/protocol/Timeline.json: Renamed from Source/WebCore/inspector/protocol/Timeline.json.
  • inspector/protocol/Worker.json: Renamed from Source/WebCore/inspector/protocol/Worker.json.

Move all protocol files into this directory.

  • inspector/InspectorProtocolTypesBase.h: Renamed from Source/JavaScriptCore/inspector/InspectorProtocolTypes.h.

Renamed the base types file to not clash with the generated types file.

Update build phases for new JSON files and new filenames.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

Updated names of things now that prefixes are no longer needed.

  • inspector/ConsoleMessage.h:
  • inspector/ContentSearchUtilities.cpp:
  • inspector/ContentSearchUtilities.h:
  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.h:
  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::breakpointActionTypeForString):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.h:
  • runtime/TypeProfiler.cpp:
  • runtime/TypeSet.cpp:

Update includes and update a few function names that are generated.

  • inspector/scripts/codegen/generate_protocol_types_header.py:

(ProtocolTypesHeaderGenerator.output_filename):
(ProtocolTypesHeaderGenerator.generate_output):
Include an export macro for type string constants defined in the implementation file.

  • inspector/scripts/codegen/generate_backend_commands.py:

(BackendCommandsGenerator.output_filename):

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator.output_filename):
(BackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator.output_filename):
(BackendDispatcherImplementationGenerator.generate_output):
(BackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator.output_filename):
(FrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator.output_filename):
(FrontendDispatcherImplementationGenerator.generate_output):
(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
(_generate_class_for_object_declaration):
(_generate_builder_setter_for_member):
(_generate_unchecked_setter_for_member):

  • inspector/scripts/codegen/generate_protocol_types_implementation.py:

(ProtocolTypesImplementationGenerator.output_filename):
(ProtocolTypesImplementationGenerator.generate_output):
(ProtocolTypesImplementationGenerator._generate_enum_mapping):

  • inspector/scripts/codegen/models.py:

(Framework.fromString):
(Frameworks):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

Simplify generator now that prefixes are no longer needed. This updates
filenames, includes, and the list of supported directories.

Source/WebCore:

After moving the json files into JavaScriptCore update the includes,
and names of functions that were previously prefixed.

  • CMakeLists.txt:
  • DerivedSources.make:
  • ForwardingHeaders/inspector/InspectorBackendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorFrontendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Removed.
  • ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Removed.
  • ForwardingHeaders/inspector/InspectorJSProtocolTypes.h: Removed.
  • ForwardingHeaders/inspector/InspectorProtocolTypesBase.h: Added.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/copyForwardingHeaders.cmd:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIHost.cpp:
  • inspector/InspectorApplicationCacheAgent.cpp:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorController.cpp:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorLayerTreeAgent.cpp:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:
  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::addRecordToTimeline):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageRuntimeAgent.h:
  • inspector/TimelineRecordFactory.cpp:
  • inspector/WorkerInspectorController.cpp:

Source/WebInspectorUI:

Change the frontend to always load all agents, but only activate a subset
of the agents depending on the type of the backend.

  • UserInterface/Base/Main.js:

(WebInspector.loaded):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.activateDomains):
(InspectorBackendClass.prototype.activateAllDomains):
(InspectorBackendClass.prototype._agentForDomain):
(InspectorBackendClass.prototype._dispatchEvent):
(InspectorBackend.Agent):
(InspectorBackend.Agent.prototype.get active):
(InspectorBackend.Agent.prototype.activate):

  • UserInterface/Base/Test.js:

Only expose "window.FooAgent" or allow dispatches in the "Foo" domain
when that particular agent is activated. Currently we hardcode the list
of agents to activate for a debuggable type. This should be generated.

  • UserInterface/Protocol/LoadInspectorBackendCommands.js:

Now there should always be a single "InspectorBackendCommands.js" file to load.
We may want to change the RWI path to return a single file instead of an array.

  • Scripts/update-LegacyInspectorBackendCommands.rb:
  • UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js.
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js.
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js.
  • UserInterface/Protocol/Legacy/8.0/InspectorJSBackendCommands.js: Removed.
  • Versions/Inspector-iOS-8.0.json: Renamed from Source/WebInspectorUI/Versions/InspectorWeb-iOS-8.0.json.
  • Versions/InspectorJS-iOS-8.0.json: Removed.

Update Legacy versions to output a single InspectorBackendCommands.js file.
Do a straightforward merge of the iOS 8 JS/Web inputs to a single json file.

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/WebInspectorUIFramework.xcconfig:
  • Scripts/copy-user-interface-resources-dryrun.rb:
  • Scripts/copy-user-interface-resources.pl:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
  • WebInspectorUI.vcxproj/build-webinspectorui.pl:

We no longer needed WebCore's Private Headers, so simplify build files
and update file names where appropriate.

Source/WebKit2:

  • PlatformGTK.cmake:
10:48 AM Changeset in webkit [174891] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the GTK build.

  • dom/RenderedDocumentMarker.h:
10:30 AM Changeset in webkit [174890] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

Remove obsolete comments after r99798
​https://bugs.webkit.org/show_bug.cgi?id=137871

Reviewed by Darin Adler.

r99798 removed the comment in MacroAssemblerARMv7::supportsFloatingPointTruncate(),
so we should remove the stale references to this removed comment.

  • assembler/MacroAssemblerX86.h:
  • assembler/MacroAssemblerX86_64.h:
10:17 AM Changeset in webkit [174889] by Antti Koivisto
  • 6 edits in trunk/Source

Avoid unnecessary NSURLResponse construction for QuickLook on iOS
​https://bugs.webkit.org/show_bug.cgi?id=137876

Reviewed by Andy Estes.

Source/WebCore:

QuickLook specific code path creates NSURLResponse in the web process for every response.
It is rarely needed so this is unnecessary work.

  • WebCore.exp.in:
  • platform/network/ios/QuickLook.h:
  • platform/network/ios/QuickLook.mm:

(WebCore::isMainResourceLoader):
(WebCore::QuickLookHandle::shouldCreateForMIMEType):

Separate function for testing if QuickLookHandle is needed.

(WebCore::QuickLookHandle::create):

Switch the interface to take ResourceResponse.

Source/WebKit2:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):

Switch to the modified QuickLookHandle interface that does not need NSURLResponse.

10:03 AM Changeset in webkit [174888] by aestes@apple.com
  • 9 edits in trunk/Source

Fix the iOS build.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • dom/RenderedDocumentMarker.h:
  • page/ios/FrameIOS.mm:

(WebCore::Frame::interpretationsForCurrentRoot):

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]):
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]):

  • WebCoreSupport/WebVisiblePosition.mm:

(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
(-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame dictationResultMetadataForRange:]):

10:03 AM Changeset in webkit [174887] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

MacroAssemblerX86Common.cpp should be built on Windows too
​https://bugs.webkit.org/show_bug.cgi?id=137873

Reviewed by Brent Fulgham.

9:40 AM Changeset in webkit [174886] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Eight transitions tests are very flaky, frequently failing all at once
​https://bugs.webkit.org/show_bug.cgi?id=137883

Marking them as flaky. Enough is enough.

9:26 AM Changeset in webkit [174885] by aestes@apple.com
  • 9 edits in trunk/Source/WebKit2

[iOS] Capture WKActionSheetAssistant's interaction with WKContentView in a @protocol
​https://bugs.webkit.org/show_bug.cgi?id=137792

Reviewed by Tim Horton.

WKPDFView would like to use WKActionSheetAssistant to show an action sheet when long-pressing a link, but it
can't so long as WKActionSheetAssistant is tightly coupled to WKContentView. Resolve this by factoring
WKActionSheetAssistant's interaction with WKContentView into a new protocol called
WKActionSheetAssistantDelegate and having WKContentView conform to this protocol.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction elementActionWithTitle:actionHandler:]): Changed instances of WKContentView * to id <WKActionSheetAssistantDelegate>.
(+[_WKElementAction elementActionWithType:customTitle:]): Ditto.
(-[_WKElementAction _runActionWithElementInfo:delegate:]): Ditto.
(copyElement): Deleted.
(saveImage): Deleted.
(-[_WKElementAction _runActionWithElementInfo:view:]): Deleted.

  • UIProcess/API/Cocoa/_WKElementActionInternal.h:
  • UIProcess/ios/WKActionSheet.h:
  • UIProcess/ios/WKActionSheet.mm:

(-[WKActionSheet init]): Renamed from initWithView: since WKActionSheet no longer needs to know about a view.
(-[WKActionSheet _didRotateAndLayout]): Called -[WKActionSheetDelegate updatePositionInformation].
(-[WKActionSheet initWithView:]): Deleted.

  • UIProcess/ios/WKActionSheetAssistant.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant delegate]): Added a getter for the delegate property.
(-[WKActionSheetAssistant setDelegate:]): Added a setter for the delegate property.
(-[WKActionSheetAssistant initWithView:]): Changed argument type from WKContentView * to UIView *.
(-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]): Returned CGRectZero if there is no delegate.
Otherwise, retrieved positionInformation from the delegate.
(-[WKActionSheetAssistant presentationRectInHostViewForSheet]): Ditto.
(-[WKActionSheetAssistant updatePositionInformation]): Called -[WKActionSheetAssistantDelegate updatePositionInformation].
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): Returned early if there is no delegate.
Otherwise, retrieved positionInformation from the delegate.
(-[WKActionSheetAssistant showImageSheet]): Ditto.
(-[WKActionSheetAssistant showLinkSheet]): Ditto.
(-[WKActionSheetAssistant showDataDetectorsSheet]): Ditto.
(-[WKActionSheetAssistant cleanupSheet]):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]): Installed self as WKActionSheetAssistant's delegate.
(-[WKContentView updatePositionInformation]): Renamed from _updatePositionInformation.
(-[WKContentView performAction:]): Renamed from _performAction:.
(-[WKContentView openElementAtLocation:]): Called _attemptClickAtLocation:.
(-[WKContentView actionsForElement:defaultActions:]): Called API::UIClient::actionsForElement().
(-[WKContentView startInteractionWithElement:]): Called WebPageProxy::startInteractionWithElementAtPosition().
(-[WKContentView stopInteraction]): Called WebPageProxy::stopInteraction().
(-[WKContentView _updatePositionInformation]): Deleted.
(-[WKContentView _performAction:]): Deleted.

8:46 AM Changeset in webkit [174884] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r174823): Two new failing HLS tests
​https://bugs.webkit.org/show_bug.cgi?id=137882

Unreviewed gardening; add two expected failures.

  • platform/mac/TestExpectations:
5:09 AM Changeset in webkit [174883] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[cmake] Remove duplicated source files
​https://bugs.webkit.org/show_bug.cgi?id=137875

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
3:39 AM Changeset in webkit [174882] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[GTK] Improve zooming gesture positioning
​https://bugs.webkit.org/show_bug.cgi?id=137822

Patch by Carlos Garnacho <​carlosg@gnome.org> on 2014-10-20
Reviewed by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/GestureController.cpp:

(WebKit::GestureController::ZoomGesture::center):
(WebKit::GestureController::ZoomGesture::begin):
(WebKit::GestureController::ZoomGesture::handleZoom):
(WebKit::GestureController::ZoomGesture::scaleChanged): Calculate
the proper view coordinates for the current offset/scale, based
on the initial gesture center point in document coordinates, and
the current center/scale.

  • UIProcess/gtk/GestureController.h:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::getCenterForZoomGesture): Added. Synchronous
call to retrieve the zoom gesture anchor point, in document coordinates.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Added stub.
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::getCenterForZoomGesture): Added. Getter for the
translated coordinates used as the anchor point of the zoom gesture.

2:54 AM Changeset in webkit [174881] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Remove the factory method from DragAndDropHandler
​https://bugs.webkit.org/show_bug.cgi?id=137872

Reviewed by Sergio Villar Senin.

Make the constructor public and use std::make_unique instead.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDragAndDropHandler):

  • UIProcess/gtk/DragAndDropHandler.cpp:

(WebKit::DragAndDropHandler::create): Deleted.

  • UIProcess/gtk/DragAndDropHandler.h:
1:44 AM Changeset in webkit [174880] by Carlos Garcia Campos
  • 8 edits
    2 adds in trunk

[GTK] Add initial gestures support
​https://bugs.webkit.org/show_bug.cgi?id=137812

Reviewed by Sergio Villar Senin.

.:

Check if the GTK+ version supports gestures or not.

  • Source/cmake/FindGTK3.cmake:
  • Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

Now that GTK+ has support for gestures, we can use it to handle
touch events and allow to scroll, zoom and tap with the fingers.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithTouchEvent): When the touch event
hasn't been handled by the web process pass it to the
GestureController and only fallback to pointer emulation when the
GestureController doesn't handle the event.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseTouchEvent): If the GestureController is
currently processing gestures is because the START touch event was
not handled by the web process, so pass any successive touch
events to the GestureController directly.
(webkitWebViewBaseGestureController): Create the GestureController
on demand and return a reference.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/GestureController.cpp: Added.

(WebKit::GestureController::create): Create a GestureController.
(WebKit::GestureController::GestureController): Initialize the
Gesture memebers.
(WebKit::GestureController::handleEvent): Pass the event to the gestures.
(WebKit::GestureController::isProcessingGestures): Whether
Gestures are active.
(WebKit::GestureController::Gesture::Gesture): Base class for gestures.
(WebKit::GestureController::Gesture::isActive): Whether the
gesture is active.
(WebKit::GestureController::Gesture::handleEvent): Pass the event
to the GtkGesture to process it.
(WebKit::GestureController::DragGesture::handleDrag): Send a wheel
event corresponding to the drag gesture to the web process.
(WebKit::GestureController::DragGesture::handleTap): Send move,
press and release events corresponding to a tap gesture to the web process.
(WebKit::GestureController::DragGesture::begin): Start a drag
gesture and schedule a timer to discard tap gesture in case of
long press.
(WebKit::GestureController::DragGesture::update): If the actual
drag hasn't started yet, check the drag threshold to decide
whether to start the drag or not. Otherwise call handleDrag() to
send the appropriate events to the web process.
(WebKit::GestureController::DragGesture::end): If the drag gesture
finishes and the drag didn't happen (it wasn't a long press and
drag threshold was not reached), call handleTap() to emulate a
click event.
(WebKit::GestureController::DragGesture::DragGesture): Initialize
the GtkGestureDrag.
(WebKit::GestureController::ZoomGesture::begin): Save the current
page scale factor and the center point of the gesture.
(WebKit::GestureController::ZoomGesture::scaleChanged): Schedule a
page scale change in an idle for the given scale value.
(WebKit::GestureController::ZoomGesture::ZoomGesture): Initialize
the GtkGestureZoom.

  • UIProcess/gtk/GestureController.h: Added.
1:23 AM Changeset in webkit [174879] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][Minibrowser] Escape key does not hide the search box
​https://bugs.webkit.org/show_bug.cgi?id=137734

Patch by Tanay C <​tanay.c@samsung.com> on 2014-10-20
Reviewed by Philippe Normand.

  • MiniBrowser/gtk/BrowserWindow.c: Added the check to handle search box hide

(stopPageLoad): Modified.

12:31 AM Changeset in webkit [174878] by benjamin@webkit.org
  • 3 edits
    9 adds in trunk

Update the <link>'s link status
​https://bugs.webkit.org/show_bug.cgi?id=137861

Reviewed by Chris Dumez.

Source/WebCore:

In the latest HTML spec, <link> has the link status
if it has a 'href' attribute, exactly like <a> and <area>:

​https://html.spec.whatwg.org/multipage/scripting.html#selector-link

This patch updates WebKit accordingly.

Tests: fast/css/link-basics.html

fast/selectors/link-basics-xhtml.xhtml
fast/selectors/link-basics.html
fast/selectors/webkit-any-link-basics.html

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):

LayoutTests:

  • fast/css/link-basics-expected.html: Added.
  • fast/css/link-basics.html: Added.
  • fast/selectors/link-basics-expected.txt: Added.
  • fast/selectors/link-basics-xhtml-expected.txt: Added.
  • fast/selectors/link-basics-xhtml.xhtml: Added.
  • fast/selectors/link-basics.html: Added.
  • fast/selectors/resources/html-link-type-tests.js: Added.

(testHTMLElement):
(testHTMLTagsForLink):

  • fast/selectors/webkit-any-link-basics-expected.txt: Added.
  • fast/selectors/webkit-any-link-basics.html: Added.
12:09 AM Changeset in webkit [174877] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Optimize cookiesForDOM() by filtering and serializing cookies in a single pass
​https://bugs.webkit.org/show_bug.cgi?id=137869

Reviewed by Darin Adler.

Optimize cookiesForDOM() by filtering and serializing in 1 pass instead of 2.

Previously, when accessing document.cookie, we ended up doing the following:

  1. Call wkHTTPCookiesForURL() to get an NSArray of NSHTTPCookies.
  2. Call filterCookies() to filter out cookies that are httpOnly or with an empty name, thus allocating a new NSMutableArray.
  3. Call NSHTTPCookie's requestHeaderFieldsWithCookies() to serialize the cookies
  4. Construct a WTF::String from the NSString*

There were several inefficiencies here:

  1. We needed to pre-filter the cookies and allocate a new NSMutableArray before calling requestHeaderFieldsWithCookies()
  2. requestHeaderFieldsWithCookies() does more things that we actually need. It constructs a Dictionary of header fields, of which we query the "Cookie" field, even though we merely want a ';'-separated string representation of the cookies in "key=value" form.

With this patch, we now take care of the string serialization ourselves,
using a StringBuilder as it is trivial to do. This also allows us to filter
out the httpOnly/invalid cookies as we do the serialization instead of
having a first pass to do so.

When scrolling the ​http://www.apple.com/iphone/ entire page down, then up,
se were spending ~13.1% of the NetworkProcess time in cookiesForDOM()
(~96ms) on my machine. With the patch, we spend ~23% less time in
cookiesForDOM() (~74ms).

No new tests, no behavior change.

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookiesForSession):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):

Oct 19, 2014:

10:17 PM Changeset in webkit [174876] by Chris Dumez
  • 15 edits in trunk/Source

Kill toRenderedDocumentMarker() by using tighter typing
​https://bugs.webkit.org/show_bug.cgi?id=137858

Reviewed by Darin Adler.

Source/WebCore:

Kill toRenderedDocumentMarker() by using tighter typing. This method
was doing no type validation, just a static_cast<>().

No new tests, no behavior change.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addTextMatchMarker):
(WebCore::DocumentMarkerController::markersFor):
(WebCore::DocumentMarkerController::markersInRange):
(DocumentMarkerController::hasMarkers):

  • dom/DocumentMarkerController.h:
  • dom/RenderedDocumentMarker.h:

(WebCore::toRenderedDocumentMarker): Deleted.

  • editing/AlternativeTextController.cpp:

(WebCore::markersHaveIdenticalDescription):
(WebCore::AlternativeTextController::respondToChangedSelection):
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
(WebCore::AlternativeTextController::applyDictationAlternative):

  • editing/CompositeEditCommand.cpp:

(WebCore::copyMarkers):
(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):

  • editing/Editor.cpp:

(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::selectionStartHasMarkerFor):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintDocumentMarkers):

  • rendering/InlineTextBox.h:
  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

  • testing/Internals.cpp:

(WebCore::Internals::markerAt):
(WebCore::Internals::markerRangeForNode):
(WebCore::Internals::markerDescriptionForNode):

  • testing/Internals.h:

Source/WebKit:

Update symbol export for Windows due to argument type change.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
8:42 PM Changeset in webkit [174875] by Chris Dumez
  • 80 edits in trunk/Source

Use is<>() / downcast<>() for all remaining RenderObject subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137845

Reviewed by Darin Adler.

Source/WebCore:

Use is<>() / downcast<>() for all remaining RenderObject subclasses and
clean up the surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityProgressIndicator.cpp:

(WebCore::AccessibilityProgressIndicator::progressElement):
(WebCore::AccessibilityProgressIndicator::meterElement):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::layoutCount):
(WebCore::AccessibilityRenderObject::widgetForAttachmentView):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):

  • dom/Document.cpp:

(WebCore::widgetForElement):

  • dom/Position.cpp:

(WebCore::Position::getInlineBoxAndOffset):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::overset):
(WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):

  • editing/FrameSelection.cpp:

(WebCore::isFrameElement):

  • html/HTMLEmbedElement.cpp:

(WebCore::findWidgetRenderer):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
(WebCore::HTMLFrameOwnerElement::renderWidget):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::renderMeter):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::supportsFocus):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::renderEmbeddedObject):
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::renderProgress):

  • html/PluginDocument.cpp:

(WebCore::PluginDocument::pluginWidget):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTimelineElement::defaultEventHandler):
(WebCore::MediaControlTextTrackContainerElement::updateSizes):
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

  • page/Frame.cpp:

(WebCore::Frame::ownerRenderer):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::passWidgetMouseDownEventToWidget):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passSubframeEventToSubframe):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::widgetForEventTarget):

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::applyEdjeRTLState):

  • rendering/InlineTextBox.cpp:

(WebCore::fontToUse):
(WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove):
(WebCore::InlineTextBox::paint):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::hitTestFloats):
(WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scroll):
(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::repaintLayerRectsForImage):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):

  • rendering/RenderCombineText.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference):
(WebCore::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::moveLayers):
(WebCore::RenderElement::setNeedsPositionedMovementLayout):
(WebCore::RenderElement::renderNamedFlowThreadWrapper):

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

(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::hasCompositingRegionDescendant):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
(WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):

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

(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
(WebCore::transparencyClipBox):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterWidgetResize):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::isRestartedPlugin):
(WebCore::isCompositedPlugin):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::containsPaintedContent):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderLineBreak.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::firstMultiColumnSet):
(WebCore::RenderMultiColumnFlowThread::lastMultiColumnSet):
(WebCore::RenderMultiColumnFlowThread::layout):
(WebCore::RenderMultiColumnFlowThread::addRegionToThread):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantBoxLaidOut):
(WebCore::RenderMultiColumnFlowThread::setPageBreak):
(WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
(WebCore::RenderMultiColumnFlowThread::setRegionRangeForBox):
(WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):

  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::nextSiblingMultiColumnSet):
(WebCore::RenderMultiColumnSet::previousSiblingMultiColumnSet):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderMultiColumnSpannerPlaceholder.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::updateWritingMode):
(WebCore::addFragmentToList):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::fragmentFromRenderBoxAsRenderBlock):
(WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderObject.cpp:

(WebCore::scheduleRelayoutForSubtree):
(WebCore::RenderObject::setLayerNeedsFullRepaint):
(WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::selectionRoot):
(WebCore::RenderObject::shouldUseTransformFromContainer):
(WebCore::RenderObject::getTransformFromContainer):
(WebCore::RenderObject::isRooted):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::isComposited):
(WebCore::RenderObject::currentRenderNamedFlowFragment):

  • rendering/RenderObject.h:
  • rendering/RenderProgress.h:
  • rendering/RenderRuby.cpp:

(WebCore::lastRubyRun):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::rubyRun):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::removeChild):

  • rendering/RenderRubyRun.h:
  • rendering/RenderSlider.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::widthFromCache):

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::calculateProgressRect):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintProgressBar):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::paintProgressBar):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintMeter):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::paintMeter):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeRenderRegionList):
(WebCore::writeLayers):

  • rendering/RenderVideo.h:
  • rendering/RenderView.cpp:

(WebCore::SelectionIterator::checkForSpanner):
(WebCore::isComposited):

  • rendering/RenderView.h:
  • rendering/RenderWidget.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

  • testing/Internals.cpp:

(WebCore::Internals::isPluginUnavailabilityIndicatorObscured):

Source/WebKit/mac:

Use is<>() / downcast<>() for all remaining RenderObject subclasses and
clean up the surrounding code.

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView pluginHostDied]):

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView _windowClipRect]):
(-[WebBaseNetscapePluginView actualVisibleRectInWindow]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):

Source/WebKit2:

Use is<>() / downcast<>() for all remaining RenderObject subclasses and
clean up the surrounding code.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginProcessCrashed):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):

8:24 PM Changeset in webkit [174874] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Use SPECIALIZE_TYPE_TRAITS_*() macro for RenderScrollbar
​https://bugs.webkit.org/show_bug.cgi?id=137854

Reviewed by Darin Adler.

Use SPECIALIZE_TYPE_TRAITS_*() macro for RenderScrollbar instead of a
custom toRenderScrollbar() function, for consistency.

No new tests, no behavior change.

  • rendering/RenderScrollbar.h:

(isType):
(WebCore::toRenderScrollbar): Deleted.

  • rendering/RenderScrollbarTheme.cpp:

(WebCore::RenderScrollbarTheme::minimumThumbLength):
(WebCore::RenderScrollbarTheme::backButtonRect):
(WebCore::RenderScrollbarTheme::forwardButtonRect):
(WebCore::RenderScrollbarTheme::trackRect):
(WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
(WebCore::RenderScrollbarTheme::willPaintScrollbar):
(WebCore::RenderScrollbarTheme::didPaintScrollbar):
(WebCore::RenderScrollbarTheme::paintScrollbarBackground):
(WebCore::RenderScrollbarTheme::paintTrackBackground):
(WebCore::RenderScrollbarTheme::paintTrackPiece):
(WebCore::RenderScrollbarTheme::paintButton):
(WebCore::RenderScrollbarTheme::paintThumb):

11:14 AM Changeset in webkit [174873] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.1

New tag.

10:44 AM Changeset in webkit [174872] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r174651. <rdar://problem/18576904>

10:40 AM Changeset in webkit [174871] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r174073. <rdar://problem/18479051>

9:50 AM Changeset in webkit [174870] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

9:46 AM Changeset in webkit [174869] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.4.12-branch

New Branch.

12:33 AM Changeset in webkit [174868] by Carlos Garcia Campos
  • 7 edits
    2 adds
    4 deletes in trunk/Source

[GTK] Move GtkDragAndDropHelper from Platform to WebKit2
​https://bugs.webkit.org/show_bug.cgi?id=137422

Reviewed by Martin Robinson.

Source/WebCore:

Remove ClipboardUtilitiesGtk and GtkDragAndDropHelper.

  • PlatformGTK.cmake:
  • platform/gtk/ClipboardUtilitiesGtk.cpp: Removed.
  • platform/gtk/ClipboardUtilitiesGtk.h: Removed.
  • platform/gtk/GtkDragAndDropHelper.cpp: Removed.
  • platform/gtk/GtkDragAndDropHelper.h: Removed.

Source/WebKit2:

WebKitWebViewBase is currently the only user of
GtkDragAndDropHelper, that was added to share the code with
WebKit1. Move all the drag and drop logic to a new class
DragAndDropHandler.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::startDrag):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):
(webkitWebViewBaseDragDataGet):
(webkitWebViewBaseDragEnd):
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(webkitWebViewBaseDragLeave):
(webkitWebViewBaseDragDrop):
(webkitWebViewBaseDragAndDropHandler):
(dragExitedCallback): Deleted.
(webkitWebViewBaseStartDrag): Deleted.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/DragAndDropHandler.cpp: Added.

(WebKit::DragAndDropHandler::create):
(WebKit::DragAndDropHandler::DragAndDropHandler):
(WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
(WebKit::dragOperationToGdkDragActions):
(WebKit::dragOperationToSingleGdkDragAction):
(WebKit::gdkDragActionToDragOperation):
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::finishDrag):
(WebKit::DragAndDropHandler::dataObjectForDropData):
(WebKit::DragAndDropHandler::dragEntered):
(WebKit::DragAndDropHandler::requestDragData):
(WebKit::DragAndDropHandler::dragMotion):
(WebKit::DragAndDropHandler::dragLeave):
(WebKit::DragAndDropHandler::drop):

  • UIProcess/gtk/DragAndDropHandler.h: Added.
12:01 AM Changeset in webkit [174867] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Style fix following r174855.

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):

Oct 18, 2014:

3:54 PM Changeset in webkit [174866] by Antti Koivisto
  • 7 edits
    3 adds in trunk

REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error
​https://bugs.webkit.org/show_bug.cgi?id=137855

Reviewed by Dan Bernstein.

Source/WebCore:

We lose the sniffed MIME type for the response when synthesizing an NSURLResponse. Sniffing requires
backchannel data that the synthesized response doesn't have.

Test: http/tests/mime/mime-type-sniff.html

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):

When synthesizing NSURLResponse explicitly set the Content-type header to the sniffed type.

Tools:

Test and warn if the dumped response mime type differs from the platform response mime type.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::didReceiveResponseForResource):
(WTR::InjectedBundlePage::platformResponseMimeType):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
  • WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:

(WTR::InjectedBundlePage::platformResponseMimeType):

LayoutTests:

  • http/tests/mime/mime-type-sniff-expected.txt: Added.
  • http/tests/mime/mime-type-sniff.html: Added.
  • http/tests/mime/resources/png-with-text-content-type.cgi: Added.
2:48 PM Changeset in webkit [174865] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/win

[WinCairo] Repaint issues with accelerated compositing.
​https://bugs.webkit.org/show_bug.cgi?id=137850

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-10-18
Reviewed by Brent Fulgham.

There is sometimes missing content in accelerated compositing mode.
This is caused by not invalidating the non composited layer,
and not rendering when a flush did not complete.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::flushAndRenderLayers): Also render when flush did not complete.
(AcceleratedCompositingContext::setNeedsDisplayInRect): Deleted.

  • WebCoreSupport/AcceleratedCompositingContext.h: Ditto.
  • WebView.cpp:

(WebView::addToDirtyRegion): Invalidate non composited layer.
(WebView::flushPendingGraphicsLayerChanges): Flush layers.

12:04 PM Changeset in webkit [174864] by mitz@apple.com
  • 4 edits in trunk/Source

WorkQueue dispatches functions but isn’t a FunctionDispatcher
​https://bugs.webkit.org/show_bug.cgi?id=137853

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Platform/WorkQueue.h: Changed to inherit from FunctionDispatcher.

Source/WTF:

  • wtf/FunctionDispatcher.h: Added header guards.
11:13 AM Changeset in webkit [174863] by Brian Burg
  • 10 edits in trunk/Source/JavaScriptCore

Web Replay: code generator shouldn't complain about enums without a storage type if they are in an enclosing scope
​https://bugs.webkit.org/show_bug.cgi?id=137084

Reviewed by Joseph Pecoraro.

In order to generate encode/decode method declarations without pulling in lots of headers,
the generator must forward declare enums (for enum classes or enums with explicit sizes).

Change the generator to not require an explicit size if an enum is declared inside a struct
or class definition. In that case, it must pull in headers since scoped enums can't be
forward declared.

This patch also fixes some chained if-statements that should be if-else statements.

Test: updated replay/scripts/tests/generate-enum-encoding-helpers.json to cover the new case.

  • replay/scripts/CodeGeneratorReplayInputs.py:

(InputsModel.parse_type_with_framework_name.is):
(InputsModel.parse_type_with_framework_name.is.must):
(Generator.generate_enum_trait_implementation):
(InputsModel.parse_type_with_framework_name): Deleted.

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py:
  • replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp:

(JSC::EncodingTraits<WebCore::MouseButton>::decodeValue):

  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp:

(JSC::EncodingTraits<WebCore::MouseButton>::decodeValue):
(JSC::EncodingTraits<WebCore::PlatformEvent::Type>::encodeValue):
(JSC::EncodingTraits<WebCore::PlatformEvent::Type>::decodeValue):

  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp:

(JSC::EncodingTraits<WebCore::FormData1::Type>::decodeValue):
(JSC::EncodingTraits<PlatformEvent1::Type>::decodeValue):

  • replay/scripts/tests/generate-enum-encoding-helpers.json: Added a new input to cover this case.
10:05 AM Changeset in webkit [174862] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use Fast enumeration consistently in WebFontCache.mm
​https://bugs.webkit.org/show_bug.cgi?id=137791

Reviewed by Darin Adler.

Use fast enumeration consistently in WebFontCache.mm as this results in
more efficient, concise and safer code.

No new tests, no behavior change.

  • platform/mac/WebFontCache.mm:

(+[WebFontCache getTraits:inFamily:]):
Reserve Vector capacity before the loop as we know how many traits we
are going to append. Also use uncheckedAppend() for performance.

(+[WebFontCache internalFontWithFamily:traits:weight:size:]):

8:54 AM Changeset in webkit [174861] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Improve documentation of webkit_web_view_get_tls_info()
​https://bugs.webkit.org/show_bug.cgi?id=137852

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-18
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebView.cpp:
8:20 AM Changeset in webkit [174860] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Tables with <colgroups> are not reporting table column headers
​https://bugs.webkit.org/show_bug.cgi?id=137846

Reviewed by Mario Sanchez Prada.

Source/WebCore:

The code to search for header objects was getting stuck on anonymous RenderTableSections.
We also need to check more rows for headers, in case the first row or more is not visible or is empty.

Test: accessibility/table-column-headers-with-captions.html

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):
(WebCore::AccessibilityTableColumn::headerObjectForSection):

LayoutTests:

  • accessibility/table-column-headers-with-captions-expected.txt: Added.
  • accessibility/table-column-headers-with-captions.html: Added.
3:16 AM Changeset in webkit [174859] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] build break occurs on webkit efl build.
​https://bugs.webkit.org/show_bug.cgi?id=137844

Patch by KwangHyuk Kim <​hyuki.kim@samsung.com> on 2014-10-18
Reviewed by Gyuyoung Kim.

As local variable elementAddressRegisterIndex is assigned but not used, there is build break for the webkit efl.

No new tests because it's just to fix build break.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):

Oct 17, 2014:

8:37 PM Changeset in webkit [174858] by gyuyoung.kim@samsung.com
  • 6 edits in trunk/Source/WebCore

Apply std::unique_ptr to FooFont classes
​https://bugs.webkit.org/show_bug.cgi?id=137769

Reviewed by Andreas Kling.

As a step to use std::unique_ptr, this patch applies std::unique_ptr to Font classes.

No new tests, no behavior changes.

  • platform/graphics/Font.cpp:

(WebCore::retrieveOrAddCachedFontGlyphs):
(WebCore::Font::createLayout):

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::DerivedFontData::create):

  • platform/graphics/SimpleFontData.h:

Remove create() factory function because public ctor and std::make_unique<> can replace it.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::Font::createLayout):

8:35 PM Changeset in webkit [174857] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source/WebCore

Use std::unique_ptr in WebCore/bindings
​https://bugs.webkit.org/show_bug.cgi?id=137808

Reviewed by Andreas Kling.

Clean up PassOwnPtr|OwnPtr in WebCore/bindings by using std::unique_ptr, std::make_unique
and WTF::move.

No new tests, no behavior changes.

  • bindings/generic/ActiveDOMCallback.h:
  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::handleInitMessageEvent):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::transferArrayBuffers):
(WebCore::SerializedScriptValue::create):

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

(WebCore::WorkerScriptDebugServer::interruptAndRunTask):

  • bindings/js/WorkerScriptDebugServer.h:
  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):

6:12 PM Changeset in webkit [174856] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Web Process crash when starting the web inspector after r174025.
<​https://webkit.org/b/137340>

Reviewed by Filip Pizlo.

After r174025, we can generate a bad graph in the DFG fixup phase like so:

102:<!0:-> StoreBarrier(Check:KnownCell:@19, ..., bc#44)
60:<!0:-> PutStructure(Check:KnownCell:@19, ..., bc#44)
103:<!0:-> Check(Check:NotCell:@54, ..., bc#44)

-- PutByOffset's StoreBarrier has been elided and replaced
with a speculation check which can OSR exit.

61:<!0:-> PutByOffset(Check:KnownCell:@19, ..., bc#44)

As a result, the structure change will get executed even if we end up OSR
exiting before the PutByOffset. In the baseline JIT code, the structure now
erroneously tells the put operation that there is a value in that property
slot when it is actually uninitialized (hence, the crash).

The fix is to insert the Check at the earliest point possible:

  1. If the checked node is in the same bytecode as the PutByOffset, then the earliest point where we can insert the Check is right after the checked node.
  1. If the checked node is from a preceding bytecode (before the PutByOffset), then the earliest point where we can insert the Check is at the start of the current bytecode.

Also reverted the workaround from r174749: ​https://webkit.org/b/137758.

Benchmark results appear to be a wash on aggregate.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::indexOfNode):
(JSC::DFG::FixupPhase::indexOfFirstNodeOfExitOrigin):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertOutOfOrder):
(JSC::DFG::InsertionSet::insertOutOfOrderNode):

5:25 PM Changeset in webkit [174855] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Calling glReadPixels with BGRA format on an NVIDIA machine with an opaque context returns the wrong alpha values.
​https://bugs.webkit.org/show_bug.cgi?id=137793.
<rdar://problem/15408133>

Reviewed by Dean Jackson.

This fixes conformance test context/context-attribute-preserve-drawing-buffer.html.

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
On an NVIDIA machine, when the context has alpha turned off, call glReadPixels with RGBA format and then convert to RGBA.

5:21 PM Changeset in webkit [174854] by Chris Dumez
  • 29 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for all SVG RenderObjects
​https://bugs.webkit.org/show_bug.cgi?id=137840

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for all SVG RenderObjects and clean up the
surrounding code.

No new tests, no behaviro change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::supportsPath):
(WebCore::AccessibilityRenderObject::elementPath):

  • page/FrameView.cpp:

(WebCore::FrameView::applyOverflowToViewport):
(WebCore::FrameView::forceLayoutParentViewIfNeeded):

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):

  • rendering/svg/RenderSVGGradientStop.cpp:

(WebCore::RenderSVGGradientStop::styleDidChange):

  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):

  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::addResourceForClientInvalidation):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::collectLayoutAttributes):
(WebCore::RenderSVGText::subtreeChildWillBeRemoved):
(WebCore::RenderSVGText::subtreeTextDidChange):
(WebCore::updateFontInAllDescendants):

  • rendering/svg/RenderSVGText.h:
  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::mapLocalToContainer):
(WebCore::SVGRenderSupport::pushMappingToContainer):
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeStyle):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::bufferForeground):

  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resolveCycles):

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::renderSVGText):
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::svgAttributeChanged):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::svgAttributeChanged):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::svgAttributeChanged):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::svgAttributeChanged):
(WebCore::SVGImageElement::didAttachRenderers):

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::svgAttributeChanged):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::svgAttributeChanged):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::svgAttributeChanged):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
(WebCore::SVGSVGElement::currentViewBoxRect):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):

4:59 PM Changeset in webkit [174853] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms()
​https://bugs.webkit.org/show_bug.cgi?id=137836

Reviewed by Andreas Kling.

Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms().
This function is only called from WidthIterator::applyFontTransforms(),
which already makes sure to call applyTransforms() if isSVGFont()
returns false. This patch replaces the check with a simple assertion.

No new tests, no behavior change.

  • platform/graphics/SimpleFontData.h:
  • svg/SVGFontData.h:
4:50 PM Changeset in webkit [174852] by jonowells@apple.com
  • 2 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Add ESLint open source library to the inspector
​https://bugs.webkit.org/show_bug.cgi?id=137714

Reviewed by Joseph Pecoraro.

This adds back the eslint.js external library with a correction to Scripts/copy-user-interface-resources.pl
to prevent a build failure.

  • Scripts/copy-user-interface-resources.pl: Added copy commands for ESLint.js.
  • UserInterface/External/ESLint/LICENSE: Added.
  • UserInterface/External/ESLint/eslint.js: Added.
4:26 PM Changeset in webkit [174851] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/data/params

Update data/params after Bugzilla 4.2.11 upgrade

  • data/params:

(default_search_limit): Bump up the default search limit from
500 to 1000 because Timothy Horton asked nicely.
(maxattachmentsize): Make it an even 20 MB.
(maxlocalattachment): Bump up total amount of local attachments
stored on disk from 10 MB to 1 GB.
(smtp_debug): Let Bugzilla have its way with the config file.
(smtpserver): Fixed to use the correct mail server.
(sslbase): Fix test value that I checked in when I was testing
the update. This caused bug mail to be sent with a URL of
bugs-test.webkit.org instead of bugs.webkit.org until around
11:45 AM PDT on Thursday, October 16, 2014.
(urlbase): Ditto.

4:20 PM Changeset in webkit [174850] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/.htaccess

Prevent access to the /lib/ directory

  • .htaccess: Block access to the lib directory. This may be

removed once updated Perl modules are installed on the system.

4:19 PM Changeset in webkit [174849] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/mod_perl.pl

Add lib directory to mod_perl search path

mod_perl.pl: Add lib directory to mod_perl search path. I
accidentally installed updated Perl modules under the Bugzilla
root directory instead of in the system, so this path needed to
be added to make sure up-to-date modules were used. It may be
removed once Perl modules are updated on the system.

4:15 PM Changeset in webkit [174848] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/Bugzilla/User.pm

Disable database handle statement caching to fix Internal Server Errors

  • Bugzilla/User.pm:

(Bugzilla::User::visible_bugs): Disable database handle
statement caching. Apparently these statements would go bad
without the DBD module noticing, causing errors on numerous
pages.

3:58 PM Changeset in webkit [174847] by msaboff@apple.com
  • 11 edits in trunk

Don't create cached functions that access lexicalGlobalObject()
​https://bugs.webkit.org/show_bug.cgi?id=137839

Reviewed by Geoffrey Garen.

Source/WebCore:

Made it so that all the JSDOMWindow special functions blur(), close(), focus() and postMessage()
are always created as needed for every prototype. Made it so that JSHTMLDocument does
the same for open(). Updated test to account for these methods not being cached

Updated tests accordingly.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot): Updated to always create cached versions of the
special functions.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot): Added to create an uncached open() method when
it is first accessed.

  • html/HTMLDocument.idl: Added CustomGetOwnPropertySlot and implemented it in JSHTMLDocumentCustom.cpp.

LayoutTests:

Updadted test that check for

  • fast/dom/wrapper-scope-expected.txt:
  • fast/dom/wrapper-scope.html:

Removed "close" and "postMessage" from functions to check for wrapper scope.

  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/resources/cross-frame-iframe-for-put-test.html:

Removed "blur", "close" and "focus" from the functions to test, since this tests that
a parent's and child window's instances are the same. Now they are always different.

  • js/dom/global-function-resolve-expected.txt:
  • js/dom/script-tests/global-function-resolve.js:

Removed "close" from this lists of functions to check.

3:30 PM Changeset in webkit [174846] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[iOS] Speculative fix for a crash under RenderLayerCompositor::updateScrollCoordinatedLayer()
​https://bugs.webkit.org/show_bug.cgi?id=137837
rdar://problem/18545452

Reviewed by Tim Horton.

Crash logs suggest that an iframe's RenderView's RenderLayer's backing can be null
in a call to updateScrollCoordinatedLayer(), so add an assertion (to help find a reproducible case)
and a null check.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::attachScrollingNode):

3:28 PM Changeset in webkit [174845] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/Tools

Remove run-inspector-perf-tests.py there is no PerformanceTests/inspector anymore
​https://bugs.webkit.org/show_bug.cgi?id=137835

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-17
Reviewed by Andreas Kling.

  • Scripts/run-inspector-perf-tests.py: Removed.

This script is stale, as PerformanceTests/inspector no longer exists.

3:12 PM Changeset in webkit [174844] by Simon Fraser
  • 2 edits in trunk/Tools

Fix typo: should be ios-simulator-wk2, not ios-simulator_wk2.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.default_baseline_search_path):

3:10 PM Changeset in webkit [174843] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Re-arrange parentheses for compilation purposes.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):

3:05 PM Changeset in webkit [174842] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r174838.

Use StackAllocator::addressOf() instead of the old way of grabbing at a stack reference.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):

2:52 PM Changeset in webkit [174841] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix for 32-bit Yosemite

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent):
Avoid using NSItemProvider in 32-bit, because it doesn't exist.

2:25 PM Changeset in webkit [174840] by Chris Dumez
  • 76 edits in trunk/Source

Use is<>() / downcast<>() for RenderBox
​https://bugs.webkit.org/show_bug.cgi?id=137804

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for RenderBox and clean up the surrounding
code.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityRenderObject::scrollTo):

  • bindings/objc/DOMHTML.mm:

(-[DOMHTMLElement scrollYOffset]):
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMNode borderRadii]):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::sizingBox):
(WebCore::computedTransform):
(WebCore::zoomAdjustedPaddingOrMarginPixelValue):
(WebCore::ComputedStyleExtractor::propertyValue):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getLowerRightCorner):

  • dom/Document.cpp:

(WebCore::Document::webkitWillEnterFullScreenForElement):

  • dom/Element.cpp:

(WebCore::Element::scrollByUnits):

  • dom/Node.cpp:

(WebCore::Node::defaultEventHandler):

  • dom/Position.cpp:

(WebCore::endsOfNodeAreVisuallyDistinctPositions):

  • editing/DeleteButtonController.cpp:

(WebCore::isDeletableElement):

  • editing/EditorCommand.cpp:

(WebCore::verticalScrollDistance):

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::paintCaret):

  • editing/TextIterator.cpp:

(WebCore::fullyClipsContents):
(WebCore::shouldEmitExtraNewlineForNode):

  • editing/htmlediting.cpp:

(WebCore::absoluteBoundsForLocalCaretRect):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::isFocusable):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • page/AutoscrollController.cpp:

(WebCore::AutoscrollController::updateAutoscrollRenderer):

  • page/EventHandler.cpp:

(WebCore::EventHandler::startPanScrolling):

  • page/FrameView.cpp:

(WebCore::FrameView::embeddedContentBox):

  • page/GestureTapHighlighter.cpp:
  • page/SpatialNavigation.cpp:

(WebCore::isScrollableNode):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::baselinePosition):

  • plugins/PluginView.cpp:

(WebCore::PluginView::invalidateWindowlessPluginRect):

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::logicalHeight):
(WebCore::InlineBox::adjustPosition):

  • rendering/InlineElementBox.cpp:

(WebCore::InlineElementBox::deleteLine):
(WebCore::InlineElementBox::extractLine):
(WebCore::InlineElementBox::attachLine):
(WebCore::InlineElementBox::paint):
(WebCore::InlineElementBox::nodeAtPoint):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::addReplacedChildOverflow):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::simplifiedNormalFlowLayout):
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
(WebCore::RenderBlock::clearPercentHeightDescendantsFrom):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlockFlow::layoutLineBoxes):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::findAutoscrollable):
(WebCore::computeBlockStaticDistance):
(WebCore::RenderBox::positionForPoint):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBox.h:

(WebCore::RenderBox::previousSiblingBox):
(WebCore::RenderBox::nextSiblingBox):
(WebCore::RenderBox::parentBox):
(WebCore::RenderBox::firstChildBox):
(WebCore::RenderBox::lastChildBox):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::removeChildInternal):
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::findLegend):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderFlowThread::currentActiveRenderBox):

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

(WebCore::RenderFullScreen::unwrapRenderer):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::layoutShadowControls):
(WebCore::RenderImage::computeIntrinsicRatioInformation):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::addFocusRingRects):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::perspectiveTransform):
(WebCore::RenderLayer::perspectiveOrigin):
(WebCore::parentLayerCrossFrame):
(WebCore::RenderLayer::enclosingScrollableLayer):
(WebCore::RenderLayer::resize):
(WebCore::RenderLayer::scrollsOverflow):
(WebCore::computeReferenceBox):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::contentsBox):
(WebCore::RenderLayerBacking::backgroundBoxForPainting):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::rangeIntersectsRect):

  • rendering/RenderMediaControlElements.cpp:

(WebCore::RenderMediaVolumeSliderContainer::layout):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::firstColumnSetOrSpanner):
(WebCore::RenderMultiColumnFlowThread::nextColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlowThread::previousColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlowThread::resolveMovedChild):
(WebCore::isValidColumnSpanner):
(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::getRanges):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::showRegionsInformation):
(WebCore::RenderObject::showRenderObject):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::addAnnotatedRegions):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::nodeAtPoint):

  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::baselinePosition):

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::baselinePosition):
(WebCore::centerRectVerticallyInParentInputElement):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::baselinePosition):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::baselinePosition):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeWin::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeWin::paintSearchFieldResultsButton):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::externalRepresentation):

  • rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::setLineBreakInfo):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::BreakingContext::handleReplaced):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::layout):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::embeddedContentBox):

Source/WebKit/mac:

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::clientFloatRectForNode):

  • WebView/WebFrame.mm:

(-[WebFrame renderedSizeOfNode:constrainedToWidth:]):

Source/WebKit/win:

  • WebView.cpp:

(WebView::gestureNotify):

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
(WebKit::WebPage::plugInIsPrimarySize):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):

2:24 PM Changeset in webkit [174839] by akling@apple.com
  • 19 edits in trunk/Source/WebCore

Get rid of wrapperContext() in DOM bindings.
<​https://webkit.org/b/137834>

Reviewed by Chris Dumez.

The "wrapper context" is always the DOMWrapperWorld, and since we're passing that around
already, we don't need a separate mechanism to get at the context.

The context is extra data stored in the DOM object's JSC::Weak (the wrapper GC object.)

  • bindings/js/JSDOMBinding.h:

(WebCore::setInlineCachedWrapper):
(WebCore::cacheWrapper):
(WebCore::wrapperContext): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

2:21 PM Changeset in webkit [174838] by benjamin@webkit.org
  • 4 edits
    2 adds in trunk

Make a better use of the available registers when compiling nested selector lists
​https://bugs.webkit.org/show_bug.cgi?id=137802

Reviewed by Andreas Kling.

Source/WebCore:

Previously, when compiling a nested selector list, the compiler would start by pushing all
the allocated registers to the stack to free them for the compiled selector list.
While neat to ensure register allocation is correct, this is very inefficient.

This patch brings the first step for reducing the overhead. Instead of pushing everything
to the stack, we just push as many registers as we need for compiling the selector list.

In most cases, we have so many registers that we don't even need to push anything to the stack.

Test: fast/selectors/nth-child-of-register-requirement.html

  • cssjit/SelectorCompiler.cpp:

Add an explicit type for SelectorList to keep information aggregated from all
SelectorFragmentList inside it.

SelectorFragmentList is also extended to include its register and stack requirements.
This information is then used to create a SelectorList and to compile the SelectorFragmentList.

(WebCore::SelectorCompiler::hasAnyCombinators):
We only change the elementAddressRegister when moving over combinators. This is used to detect
if a selector list clobber the elementAddressRegister or leave it untouched.

(WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
Instead of returning a BacktrackingMemoryRequirements, update the SelectorFragmentList and SelectorList directly.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
This is where the fun happen.
First step is keep the input untouched. For now it is simply pushed on the stack. This can be improved later.

Then we find how many allocated registers we need to save to compile the input selector list. We push those registers
to the stack and give them back to the register allocator.

With enough registers we can now compile the nested selector list. The code has changed a bit for efficiency. Instead
of creating a shortcut for success case, the code now exit on error and proceed on success. This is the general pattern
of SelectorCompiler and it is quite a bit more efficient in the common cases.

Finally, we reallocate the registers and get their values back from the stack. The "tail" is duplicated but that's fine
because in the vast majority of cases it is 1 or 2 pop.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf):

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::push):

LayoutTests:

The register pressure cases are already well covered by fast/selectors/nth-child-of-boundaries-*.
The new test covers the maximum register pressure inside :nth-child(of) and having the selector with
max pressure inside a selector list instead of being alone/first.

  • fast/selectors/nth-child-of-register-requirement-expected.txt: Added.
  • fast/selectors/nth-child-of-register-requirement.html: Added.
2:12 PM Changeset in webkit [174837] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the build with the public SDK.

  • WebCoreSupport/WebSelectionServiceController.mm:

We should transition all this SPI to real SPI headers as soon as possible.

2:12 PM Changeset in webkit [174836] by Chris Dumez
  • 12 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for StyleImage
​https://bugs.webkit.org/show_bug.cgi?id=137824

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for StyleImage and clean up the surrouding
code.

No new tests, no behavior change.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::detachPendingImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedImageURL):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::detachPendingImage):
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::cachedImageSet):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::detachPendingImage):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingShapeImage):
(WebCore::StyleResolver::loadPendingImages):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForProperties):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleCachedImageSet.h:
  • rendering/style/StyleGeneratedImage.h:
  • rendering/style/StyleImage.h:
  • rendering/style/StylePendingImage.h:
2:06 PM Changeset in webkit [174835] by Simon Fraser
  • 2 edits in trunk/Tools

[iOS] Simplify test fallback paths for iOS Simulator testing
​https://bugs.webkit.org/show_bug.cgi?id=137830

Reviewed by Zalan Bujtas.

Make the fallback paths be:

ios-simulator -> generic
ios-simulator-wk2->ios-simulator -> generic

so don't include mac in the fallback path. Also remove the
version handling for simplicity.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort):
(IOSSimulatorPort.default_baseline_search_path):

2:03 PM Changeset in webkit [174834] by dburkart@apple.com
  • 2 edits in trunk/Tools

Fix typos in Dashboard config

1:51 PM Changeset in webkit [174833] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed test gardening. Mark some tests as passing that have benefitted from recent bug fixes.

  • platform/win/TestExpectations:
1:35 PM Changeset in webkit [174832] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Media] Always update controls for <audio> since they are always visible
​https://bugs.webkit.org/show_bug.cgi?id=137829
<rdar://problem/18693987>

Reviewed by Brent Fulgham.

Revision 174756 made a change to only update the display of the controls
while they are visible. However, <audio> elements didn't detect visibility
the same way, since their controls do not auto-hide.

Change controlsAreHidden to check if we're an audio element.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.controlsAreHidden): Audio elements do not auto-hide their controls.

1:02 PM Changeset in webkit [174831] by Brent Fulgham
  • 6 edits in trunk/Tools

[Win] Allow WinLauncher to specify Custom User Agent strings
​https://bugs.webkit.org/show_bug.cgi?id=137828

Reviewed by Dean Jackson.

  • WinLauncher/Common.cpp: Add support for custom user agent strings.
  • WinLauncher/WinLauncher.cpp: Add some convenience methods to get

and set the user agent strings.

  • WinLauncher/WinLauncher.h:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc: Add new menu

resources and dialog for setting custom User Agent strings.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h:
12:50 PM Changeset in webkit [174830] by commit-queue@webkit.org
  • 11 edits
    2 adds in trunk/Source

[WinCairo] Accelerated compositing is not implemented.
​https://bugs.webkit.org/show_bug.cgi?id=137345

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-10-17
Reviewed by Brent Fulgham.

This patch is based on GTK, and the texture mapper graphics layer type.

Source/WebCore:

  • WebCore.vcxproj/copyForwardingHeaders.cmd: Copy texmap headers.
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added method and flag indicating whether animation has started.

(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::addAnimation):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h: Ditto.

(WebCore::GraphicsLayerTextureMapper::startedAnimation):

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp: Use same precision for uniform in vertex shader as in fragment shader.

Otherwise glLinkProgram() will fail, and nothing will be rendered.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Added new accelerated compositing source files.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters: Ditto.

Source/WebKit/win:

  • WebCoreSupport/AcceleratedCompositingContext.cpp: Added.

(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::getWebViewSize):
(WebKit::AcceleratedCompositingContext::initialize):
(WebKit::AcceleratedCompositingContext::~AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::stopAnyPendingLayerFlush):
(WebKit::AcceleratedCompositingContext::enabled):
(WebKit::AcceleratedCompositingContext::prepareForRendering):
(WebKit::AcceleratedCompositingContext::startedAnimation):
(WebKit::AcceleratedCompositingContext::compositeLayersToContext):
(WebKit::AcceleratedCompositingContext::setRootCompositingLayer):
(WebKit::AcceleratedCompositingContext::setNonCompositedContentsNeedDisplay):
(WebKit::AcceleratedCompositingContext::setNeedsDisplayInRect):
(WebKit::AcceleratedCompositingContext::resizeRootLayer):
(WebKit::AcceleratedCompositingContext::scrollNonCompositedContents):
(WebKit::AcceleratedCompositingContext::scheduleLayerFlush):
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::flushPendingLayerChangesSoon):
(WebKit::AcceleratedCompositingContext::flushAndRenderLayers):
(WebKit::AcceleratedCompositingContext::layerFlushTimerFired):
(WebKit::AcceleratedCompositingContext::notifyAnimationStarted):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):
(WebKit::AcceleratedCompositingContext::paintContents):

  • WebCoreSupport/AcceleratedCompositingContext.h: Added.

(WebKit::AcceleratedCompositingContext::LayerFlushTimer::LayerFlushTimer):
(WebKit::AcceleratedCompositingContext::LayerFlushTimer::fired):

  • WebView.cpp:

(WebView::WebView):
(WebView::addToDirtyRegion):
(WebView::scrollBackingStore):
(WebView::sizeChanged):
(WebView::paint):
(WebView::setRootChildLayer):
(WebView::flushPendingGraphicsLayerChangesSoon):
(WebView::setAcceleratedCompositing):

  • WebView.h:
12:21 PM Changeset in webkit [174829] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

Mark platform/mac/accessibility/select-text.html as Failure since we can't take
​http://trac.webkit.org/changeset/172028 on branch

  • platform/mac/TestExpectations:
12:16 PM Changeset in webkit [174828] by akling@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add test for innerHTML mutations that yield identical DOM.
<​https://webkit.org/b/137823>

Reviewed by Chris Dumez.

I made this test while working on an optimization, and it seems useful
to have in the tree since it adds additional coverage. The optimization
may come later.

The test works by creating little DOM subtrees like so:

<foo><bar>some text</bar></foo>

It then overwrites that subtree with an identical one by mutating the
containing element's innerHTML property. It then verifies that the DOM
structure is correct and that Node wrappers retain any custom properties
set on them.

  • fast/innerHTML/identical-mutations-expected.txt: Added.
  • fast/innerHTML/identical-mutations.html: Added.
11:49 AM Changeset in webkit [174827] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Crash when load is canceled while waiting for the user to type HTTP authentication credentials
​https://bugs.webkit.org/show_bug.cgi?id=137826
rdar://problem/17329599

Reviewed by Brady Eidson.

No new tests, as we don't have a way to simulate details of user interaction with
an auth dialog.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedRequestToPerformDefaultHandling):
(WebCore::ResourceHandle::receivedChallengeRejection):
Added null checks before passing m_connection for CFNetwork functions, making this
match what Mac code does when sending a message to a nil receiver.

11:28 AM Changeset in webkit [174826] by dburkart@apple.com
  • 3 edits in branches/safari-600.1-branch/LayoutTests

Merge r171344

10:41 AM Changeset in webkit [174825] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:

(WebCore::AVTrackPrivateAVFObjCImpl::languageForAVMediaSelectionOption):

10:30 AM Changeset in webkit [174824] by Simon Fraser
  • 8 edits in trunk

[iOS] Turn off font autosizing for iOS WebKitTestRunner
​https://bugs.webkit.org/show_bug.cgi?id=137806

Reviewed by Sam Weinig.
Source/WebKit2:

Confusingly, WKPreferencesSetTextAutosizingEnabled() does nothing on iOS.
Instead, we have to add WKPreferencesSetMinimumZoomFontSize() and set it to 0
to disable font autosizing.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetMinimumZoomFontSize):
(WKPreferencesGetMinimumZoomFontSize):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Tools:

Confusingly, WKPreferencesSetTextAutosizingEnabled() does nothing on iOS.
Instead, we have to add WKPreferencesSetMinimumZoomFontSize() and set it to 0
to disable font autosizing.

Add platformResetPreferencesToConsistentValues() and implement it in the iOS
test controller to set platform-specific prefs.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::platformResetPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetPreferencesToConsistentValues):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::platformResetPreferencesToConsistentValues):

9:40 AM Changeset in webkit [174823] by jer.noble@apple.com
  • 12 edits
    16 adds in trunk

[Mac] Represent AVMediaSelectionOptions as AudioTracks
​https://bugs.webkit.org/show_bug.cgi?id=137474

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/media/hls/hls-audio-tracks.html

Support selecting audio "tracks" in HLS streams by exposing AVMediaSelectionOptions
as entries in the video's AudioTrackList.

AVMediaSessionGroups and AVPlayerItems don't have KVO or notifications to track when options
are selected and deselected, so wrap AVMediaSessionGroup and AVMediaSessionOption in C++
wrappers. Each AVMediaSelectionGroup can have only one AVMediaSelectionOption selected at a
time, so the wrapper will take care of answering which AVMediaSelectionOption is currently
selected, as without KVO notifications, asking the AVMediaSelectionGroup directly is
inconsistent. Because setting the selected option multiple times in the same run-loop can
cause flakiness, coalesce calls to setSelectedOption() by setting a one-shot timer to do
the actual selection in the next run-loop.

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: Added.

(WebCore::MediaSelectionOptionAVFObjC::avMediaSelectionOption):
(WebCore::MediaSelectionOptionAVFObjC::clearGroup): Clear backpointer to group from option.
(WebCore::MediaSelectionGroupAVFObjC::selectedOption): Simple accessor.
(WebCore::MediaSelectionGroupAVFObjC::options): Simple accessor.
(WebCore::MediaSelectionGroupAVFObjC::avMediaSelectionGroup): Simple accessor.

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: Added.

(WebCore::MediaSelectionOptionAVFObjC::create): Simple factory method.
(WebCore::MediaSelectionOptionAVFObjC::MediaSelectionOptionAVFObjC): Simple constructor.
(WebCore::MediaSelectionOptionAVFObjC::setSelected): Pass through to MediaSelectionGroupAVFObjC.
(WebCore::MediaSelectionOptionAVFObjC::selected): Ditto.
(WebCore::MediaSelectionOptionAVFObjC::index): Return index of this object in the group's object.
(WebCore::MediaSelectionGroupAVFObjC::create):
(WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC):
(WebCore::MediaSelectionGroupAVFObjC::~MediaSelectionGroupAVFObjC):
(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Discover added or removed options.
(WebCore::MediaSelectionGroupAVFObjC::setSelectedOption): Set a one shot timer to coalesce multiple calls.
(WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired): Set the selected AVSelectionOption.

Modify AVTrackPrivateAVFObjCImpl to support both AVPlayerItemTracks and these new
MediaSelectionOptionAVFObjC objects.

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:

(WebCore::AVTrackPrivateAVFObjCImpl::mediaSelectionOption): Simple accessor.

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:

(WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl): Simple constructor.
(WebCore::AVTrackPrivateAVFObjCImpl::~AVTrackPrivateAVFObjCImpl): Simple destructor.
(WebCore::AVTrackPrivateAVFObjCImpl::enabled): Use MediaSelectionOptionAVFObjC, if present.
(WebCore::AVTrackPrivateAVFObjCImpl::setEnabled): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::audioKind): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::videoKind): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::index): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::id): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::label): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::language): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::languageForAVMediaSelectionOption): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::trackID): Ditto.

Allow AudioTrackPrivateAVFObjC and VideoTrackPrivateAVFObjC to be created with
a MediaSelectionOptionAVFObjC.

  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:

(WebCore::AudioTrackPrivateAVFObjC::create): Takes a MediaSelectionOptionAVFObjC.

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

(WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Simple constructor.
(WebCore::AudioTrackPrivateAVFObjC::setMediaSelectionOption): Create a new AVTrackPrivateAVFObjCImpl.
(WebCore::AudioTrackPrivateAVFObjC::mediaSelectionOption): Simple accessor.

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:

(WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC): Simple constructor.
(WebCore::VideoTrackPrivateAVFObjC::setMediaSelectonOption): Create a new AVTrackPrivateAVFObjCImpl.
(WebCore::VideoTrackPrivateAVFObjC::mediaSelectionOption): Simple accessor.

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:

Because IDs are not necessarily unique across AVPlayerItemTracks and AVMediaSelectionOptions,
use the index of the track or option instead of it's self-declared ID for ordering for the
trackIndex.

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

(WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):

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

(WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):

Rather than making allowing the AVPlayerItem to automatically select the "best"
AVMediaSelectionOption, select the automatic options when creating the AVPlayerItem
and thereafter allow the users manual selections "stick".

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayerItem):

Determine whether any MediaSelectionOptionsAVFObjC have been added or removed and send trackChange events accordingly.

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

(WebCore::determineChangedTracksFromNewTracksAndOldItems): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Search for updated selection options.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForAudibleMedia): Return selection group, if available.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForVisualMedia): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Filter out AVPlayerItemTracks without

AVAssetTracks, as these will be represented by MediaSelectionGroupObjCs instead.

Add new files to project.

  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

  • http/tests/media/hls/hls-audio-tracks-expected.txt: Added.
  • http/tests/media/hls/hls-audio-tracks.html: Added.
  • http/tests/media/resources/hls/audio-tracks.m3u8: Added.
  • http/tests/media/resources/hls/bipbop/iframe_index.m3u8: Added.
  • http/tests/media/resources/hls/bipbop/main0.ts: Added.
  • http/tests/media/resources/hls/bipbop/main1.ts: Added.
  • http/tests/media/resources/hls/bipbop/prog_index.m3u8: Added.
  • http/tests/media/resources/hls/french/main.aac: Added.
  • http/tests/media/resources/hls/french/prog_index.m3u8: Added.
  • http/tests/media/resources/hls/spanish/main.aac: Added.
  • http/tests/media/resources/hls/spanish/prog_index.m3u8: Added.
9:13 AM Changeset in webkit [174822] by Brent Fulgham
  • 1 edit
    6 deletes in trunk/LayoutTests

[Win] Test gardening after r174796.

Now that Windows DRT matches Mac's output, we can get rid of some custom test expecations.

  • platform/win/fast/dom/window-load-crash-expected.txt: Removed.
  • platform/win/fast/images/crossfade-client-not-removed-crash-expected.txt: Removed.
  • platform/win/fast/ruby/before-block-doesnt-crash-expected.txt: Removed.
  • platform/win/fast/ruby/before-table-doesnt-crash-expected.txt: Removed.
  • platform/win/fast/ruby/generated-before-counter-doesnt-crash-expected.txt: Removed.
  • platform/win/loader/image-loader-adoptNode-assert-expected.txt: Removed.
9:07 AM Changeset in webkit [174821] by oliver@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Various arguments optimisations in codegen fail to account for arguments being in lexical record
​https://bugs.webkit.org/show_bug.cgi?id=137617

Reviewed by Michael Saboff.

Rework the way we track |arguments| references so that we don't try
to use the |arguments| reference on the stack if it's not safe.

To do this without nuking performance it was necessary to update
the parser to track modification of the |arguments| reference
itself.

  • bytecode/CodeBlock.cpp:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::willResolveToArguments):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::uncheckedRegisterForArguments): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister):

  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::existingArguments):

  • parser/Nodes.h:

(JSC::ScopeNode::modifiesArguments):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseInner):

  • parser/Parser.h:

(JSC::Scope::getCapturedVariables):

  • parser/ParserModes.h:
3:51 AM Changeset in webkit [174820] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] REGRESSION(r173929): It broke the Web Inspector
​https://bugs.webkit.org/show_bug.cgi?id=137522

Reviewed by Csaba Osztrogonác.

r173929 let web inspector use a separate web process. Besides it changed that the inspector is shown
as docking mode by default. However EFL port doesn't support to show web inspector as docking window yet.
This patch is to show web inspector on EFL new window as before. Docking mode should be implemented by
upcoming patch.

  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformAttach):

3:43 AM Changeset in webkit [174819] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] window.screen.width returns wrong value if more displays are available
​https://bugs.webkit.org/show_bug.cgi?id=137778

Reviewed by Gyuyoung Kim.

ecore_x_screen_size_get() retrieves the size of Ecore_X_Screen, for example,
having two displays of 1680x1050, it will return 3360x1050.

Unlike EFL's MiniBrowser, Firefox and Chrome return screen of the current display.

No new tests. Hardware specific bug including multiple displays.

  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenRect):
Use ecore's xrandr to determine the screen on which browser window is displayed.

3:10 AM Changeset in webkit [174818] by Carlos Garcia Campos
  • 7 edits in trunk/Source

[GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
​https://bugs.webkit.org/show_bug.cgi?id=137782

Reviewed by Sergio Villar Senin.

Source/WebCore:

  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval): Use microseconds instead of
milliseconds.

Source/WebKit2:

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::layerFlushTimerFired): Use microseconds
instead of milliseconds.

Source/WTF:

In some cases when we have a double with the time in seconds, the
conversion to milliseconds ends up truncating the value to 0, and
the source scheduled immediately.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::createMicrosecondsTimeoutSource): Use a custom timeout
source that handles the interval in microseconds instead of milliseconds.
(WTF::GMainLoopSource::scheduleAfterDelay): Use MicrosecondsTimeoutSource.
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Ditto.

  • wtf/gobject/GMainLoopSource.h:
3:04 AM Changeset in webkit [174817] by Carlos Garcia Campos
  • 8 edits
    2 deletes in trunk/Source

[GTK] Move touch events handling from Platform to WebKit2
​https://bugs.webkit.org/show_bug.cgi?id=137735

Reviewed by Sergio Villar Senin.

Source/WebCore:

Remove GtkTouchContextHelper.

  • PlatformGTK.cmake:
  • platform/gtk/GtkTouchContextHelper.cpp: Removed.
  • platform/gtk/GtkTouchContextHelper.h: Removed.

Source/WebKit2:

GtkTouchContextHelper was only used by WebKitWebViewBase, since
it's the only one that can create touch events. The code has been
simplified by processing the events in the view, and the native
touch events are now created with the native event and touch points.

  • Shared/NativeWebTouchEvent.h:

(WebKit::NativeWebTouchEvent::touchContext): Deleted.

  • Shared/gtk/NativeWebTouchEventGtk.cpp:

(WebKit::NativeWebTouchEvent::NativeWebTouchEvent): Pass touch
points instead of touch context to WebEventFactory::createWebTouchEvent().

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebTouchEvent): Create the
WebTouchEvent for the given native event and points.
(WebKit::touchPhaseFromEvents): Deleted.
(WebKit::appendTouchEvent): Deleted.

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(appendTouchEvent): Helper function to create a
WebPlatformTouchPoint for the given native event and add it to the
list of touch points.
(webkitWebViewBaseGetTouchPointForEvent): Build the touch point
list for the event.
(webkitWebViewBaseTouchEvent): Process the touch event.
(webkitWebViewBaseDragDataReceived): Deleted.

3:00 AM Changeset in webkit [174816] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused function in WorkerThreadableLoader.h
​https://bugs.webkit.org/show_bug.cgi?id=137811

Reviewed by Csaba Osztrogonác.

mainThreadCreateLoader() isn't used anywhere. Even there is no implementation.

  • loader/WorkerThreadableLoader.h:
2:54 AM Changeset in webkit [174815] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/JavaScriptCore

Use WTF::move() instead of std::move() to help ensure move semantics in JavaScriptCore
​https://bugs.webkit.org/show_bug.cgi?id=137809

Reviewed by Csaba Osztrogonác.

Substitution of WTF::move() for std::move(). Clean up std::move() in JavaScriptCore.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • bytecode/PutByIdVariant.cpp:

(JSC::PutByIdVariant::setter):

1:27 AM Changeset in webkit [174814] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Reverted incorrect build fix attempt.

  • wtf/Threading.cpp:
1:23 AM Changeset in webkit [174813] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

Tried to fix the Yosemite build.

  • wtf/Threading.cpp:

Oct 16, 2014:

11:31 PM Changeset in webkit [174812] by Carlos Garcia Campos
  • 2 edits in trunk

REGRESSION(CMake): [GTK] WebKitSettings:enable-smooth-scrolling does nothing
​https://bugs.webkit.org/show_bug.cgi?id=137781

Reviewed by Martin Robinson.

We used to enable smooth scrolling unconditionally in autotools
(via WebKitFeatures.m4), but since the switch to CMake it's
unconditionally disabled, so changing the setting doesn't have any
effect.

  • Source/cmake/OptionsGTK.cmake: Enable smooth scrolling.
10:34 PM Changeset in webkit [174811] by Yusuke Suzuki
  • 3 edits
    4 adds in trunk

CSS Selectors Level 4: Implement :matches in SelectorChecker
​https://bugs.webkit.org/show_bug.cgi?id=137393

Reviewed by Benjamin Poulain.

Source/WebCore:

In this patch, we introduce initial :matches implementation.
In this current implementation, we don't consider pseudo elements.

Test: fast/selectors/querySelector-matches.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

LayoutTests:

  • fast/selectors/matches-selector-list-expected.txt: Added.
  • fast/selectors/matches-selector-list.html: Added.
  • fast/selectors/querySelector-matches-expected.txt: Added.
  • fast/selectors/querySelector-matches.html: Added.
10:17 PM Changeset in webkit [174810] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

CSS JIT: Introduce StackAllocator::addressOf
​https://bugs.webkit.org/show_bug.cgi?id=137771

Reviewed by Benjamin Poulain.

Introduce StackAllocator::addressOf and drop offsetToStackReference, it's too primitive.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::loadCheckingContext):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateStoreLastVisitedElement):

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::addressOf):
(WebCore::StackAllocator::offsetToStackReference):

10:14 PM Changeset in webkit [174809] by mitz@apple.com
  • 4 edits in trunk

OSObjectPtr is missing leakRef()
​https://bugs.webkit.org/show_bug.cgi?id=137798

Reviewed by Sam Weinig.

Source/WTF:

  • wtf/OSObjectPtr.h:

Tools:

  • TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp:

(TestWebKitAPI::TEST(OSObjectPtr, LeakRef)): Added.

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

Update target platform to remove Leopard, Snow Leopard, Lion.
Add Yosemite.

Unreviewed.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build):

7:17 PM Changeset in webkit [174807] by ap@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r169024): Undetermined text is not displayed in the search field of Adobe Help Website
​https://bugs.webkit.org/show_bug.cgi?id=137679
rdar://problem/18450335

Reviewed by Enrica Casucci.

Source/WebCore:

Test: platform/mac/editing/input/selected-composed-text-painting.html

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): We do not paint

selection beckground for unconfirmed text with underlines, so we should use a regular
style for text painting, as well.

LayoutTests:

  • platform/mac/editing/input/selected-composed-text-painting-expected.html: Added.
  • platform/mac/editing/input/selected-composed-text-painting.html: Added.
6:54 PM Changeset in webkit [174806] by dburkart@apple.com
  • 3 edits in branches/safari-600.1-branch/LayoutTests

Merge r171301

6:54 PM Changeset in webkit [174805] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for BasicShape subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137766

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for BasicShape subclasses and clean up the
surrounding code.

No new tests, no behavior change.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):

  • css/BasicShapeFunctions.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::shapePropertyValue):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • rendering/ClipPathOperation.h:

(WebCore::ShapeClipPathOperation::create):
Take a PassRef<BasicShape> in argument to make it obvious it is never
null.

(WebCore::ShapeClipPathOperation::basicShape):
Return a reference instead of a pointer as it can never return null.

(WebCore::ShapeClipPathOperation::windRule):
(WebCore::ShapeClipPathOperation::pathForReferenceRect):
Make it non-const due to the const-correctness of Ref::get().

(WebCore::ShapeClipPathOperation::ShapeClipPathOperation):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computedShape):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend):
(WebCore::BasicShapeCircle::blend):
(WebCore::BasicShapeEllipse::blend):
(WebCore::BasicShapePolygon::blend):
(WebCore::BasicShapeInset::blend):

  • rendering/style/BasicShapes.h:
  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

6:53 PM Changeset in webkit [174804] by Chris Dumez
  • 9 edits in trunk/Source/WebCore

Leverage the new RenderElement::m_isCSSAnimating flag in more places
​https://bugs.webkit.org/show_bug.cgi?id=137786

Reviewed by Simon Fraser.

Leverage the new RenderElement::m_isCSSAnimating flag that was introduced
in r174703 in more places, for performance. This avoids doing extra work
for renderers on which we are not running animations on. This patch also
updates the API a bit to use more references instead of pointers, making
it clear the RenderElement cannot be null and thus avoiding unnecessary
null checks.

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computeRenderStyleForProperty):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
(WebCore::AnimationController::getAnimatedStyleForRenderer):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::currentTransform):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::notifyAnimationStarted):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):

6:14 PM Changeset in webkit [174803] by commit-queue@webkit.org
  • 35 edits in trunk

Removing CUSTOM_PROTOCOLS guard
​https://bugs.webkit.org/show_bug.cgi?id=137741

Patch by Pascal Jacquemart <​p.jacquemart@samsung.com> on 2014-10-16
Reviewed by Benjamin Poulain.

.:

  • Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):

  • Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/soup/WKAPICastSoup.h:
  • UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp:

(WKSoupCustomProtocolRequestManagerGetTypeID):
(WKSoupCustomProtocolRequestManagerSetClient):

  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
  • UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp:
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::NetworkProcessProxy):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
(WebKit::WebContext::unregisterSchemeForCustomProtocol):

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

(WebKit::WebProcessProxy::WebProcessProxy):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):
(WebKit::WebContext::platformInitializeNetworkProcess):

  • WebKit2Prefix.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/soup/WebKitSoupRequestGeneric.cpp:

(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):

  • WebProcess/soup/WebKitSoupRequestGeneric.h:
6:12 PM Changeset in webkit [174802] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Missing RefPtr.release() calls in TextureMapper
​https://bugs.webkit.org/show_bug.cgi?id=137777

Patch by Adrien Destugues <​pulkomandy@gmail.com> on 2014-10-16
Reviewed by Chris Dumez.

No new tests: no functional change, cleanup/optimization.

Avoids useless ref/deref cycle when returning from functions.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::acquireTextureFromPool):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintIntoSurface):

5:35 PM Changeset in webkit [174801] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for ContentData subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137768

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for ContentData subclasses.

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::contentToCSSValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImages):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • rendering/style/ContentData.h:

(WebCore::operator==):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setContent):

4:55 PM Changeset in webkit [174800] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

commit-queue: fails to replace OO-PS! with reviewer name
<​http://webkit.org/b/137795>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla.fetch_bug_dictionary): Bugzilla 4.2.x never gives out
email addresses to unauthenticated page loads, so we must always
authenticate before getting bug data so we get full email
addresses.

4:39 PM Changeset in webkit [174799] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Crash under RemoteLayerTreeHost::getLayer() when closing a tab
​https://bugs.webkit.org/show_bug.cgi?id=137796
rdar://problem/18547565

Reviewed by Tim Horton.

CA can call our animation delegate after the RemoteLayerTreeHost has been
destroyed. CAAnimation retains its delegate, so it's safe for us to null out
the WKAnimationDelegate's pointer to the RemoteLayerTreeHost when tearing down
the RemoteLayerTreeHost.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
(WebKit::RemoteLayerTreeHost::animationDidEnd):

  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(-[WKAnimationDelegate invalidate]):
(-[WKAnimationDelegate animationDidStart:]):
(-[WKAnimationDelegate animationDidStop:finished:]):

3:43 PM Changeset in webkit [174798] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

  • platform/mac/TestExpectations:
3:43 PM Changeset in webkit [174797] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

commit-queue: fails to close bugs after successfully landing patches
<​http://webkit.org/b/137794>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla.clear_attachment_flags): Change 'nr=0' to 'nr=1' to
tell Mechanize to use the second <textarea> on the page with
name="comment".

3:08 PM Changeset in webkit [174796] by Brent Fulgham
  • 7 edits in trunk/Tools

[Win] Update DRT to match Mac Logic
​https://bugs.webkit.org/show_bug.cgi?id=137787

Reviewed by Dean Jackson.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(initialize): 0 -> nullptr
(runTest): Initialize MSG structure before using.
(main): Add CRT debug flags if building DRT with debug malloc on Windows.
Also, cleanly shut down COM when exiting.

  • DumpRenderTree/win/FrameLoadDelegate.cpp:

(FrameLoadDelegate::didChangeLocationWithinPageForFrame): Move from
header and add printf to match Mac.
(FrameLoadDelegate::windowScriptObjectAvailable): Ditto.

  • DumpRenderTree/win/FrameLoadDelegate.h:

(FrameLoadDelegate::didChangeLocationWithinPageForFrame): Deleted.
(FrameLoadDelegate::windowScriptObjectAvailable): Deleted.

  • DumpRenderTree/win/ResourceLoadDelegate.cpp:

(isLocalhost): Added.
(hostIsUsedBySomeTestsToGenerateError): Added.
(ResourceLoadDelegate::willSendRequest): Add logic to mimic Mac's use
of certain error and redirect host names.

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::runJavaScriptAlertPanelWithMessage): Use 'done' flag to decide if
anything should be output to the console. This modifies behavior to match the Mac.
(UIDelegate::runJavaScriptConfirmPanelWithMessage): Ditto.
(UIDelegate::runJavaScriptTextInputPanelWithPrompt): Ditto.
(UIDelegate::runBeforeUnloadConfirmPanelWithMessage): Ditto.
(UIDelegate::webViewAddMessageToConsole): Ditto.

  • WinLauncher/PageLoadTestClient.cpp:

(PageLoadTestClient::pageLoadEndedAtTime): Drive-by-fix for an assertion that I
added last week.

3:02 PM Changeset in webkit [174795] by oliver@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Use a single allocation for the Arguments object
​https://bugs.webkit.org/show_bug.cgi?id=137751

Reviewed by Filip Pizlo.

This patch removes the secondary allocation for parameters in the Arguments
object. This is faily simple, but we needed to make it possible for the JIT
to allocate a variable GC object. To do this i've added a new
emitAllocateVariableSizedJSObject function to the JIT that does the work to
find the correct heap for a variable sized allocation and then bump that
allocator.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateArguments):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateVariableSizedJSObject):

  • heap/CopyToken.h:
  • heap/Heap.h:

(JSC::Heap::subspaceForObjectWithoutDestructor):
(JSC::Heap::subspaceForObjectNormalDestructor):
(JSC::Heap::subspaceForObjectsWithImmortalStructure):

  • heap/MarkedSpace.h:

(JSC::MarkedSpace::subspaceForObjectsWithNormalDestructor):
(JSC::MarkedSpace::subspaceForObjectsWithImmortalStructure):
(JSC::MarkedSpace::subspaceForObjectsWithoutDestructor):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::createArguments):

  • runtime/Arguments.cpp:

(JSC::Arguments::visitChildren):
(JSC::Arguments::copyBackingStore):
(JSC::Arguments::tearOff):
(JSC::Arguments::allocateRegisterArray): Deleted.

  • runtime/Arguments.h:

(JSC::Arguments::create):
(JSC::Arguments::isTornOff):
(JSC::Arguments::offsetOfRegisterArray):
(JSC::Arguments::registerArraySizeInBytes):
(JSC::Arguments::registerArray):
(JSC::Arguments::allocationSize): Deleted.

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

Unreviewed, rolling out r174744.
​https://bugs.webkit.org/show_bug.cgi?id=137790

Caused another WebGL conformance test to fail (Requested by
rfong on #webkit).

Reverted changeset:

"glReadPixels on NVIDIA cards returns the wrong values for the
alpha channel when alpha is off."
​https://bugs.webkit.org/show_bug.cgi?id=137752
​http://trac.webkit.org/changeset/174744

2:57 PM Changeset in webkit [174793] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r174754.
​https://bugs.webkit.org/show_bug.cgi?id=137789

Speculative fix for Windows test was ineffective. (Requested
by rfong on #webkit).

Reverted changeset:

"[Windows] Add some more logging to debug Windows test
issues."
​http://trac.webkit.org/changeset/174754

2:33 PM Changeset in webkit [174792] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Unskip more subpixel related tests.

  • platform/mac/TestExpectations:
1:13 PM Changeset in webkit [174791] by timothy_horton@apple.com
  • 21 edits
    2 adds in trunk/Source

Implement selection services menu for Legacy WebKit
​https://bugs.webkit.org/show_bug.cgi?id=137582
<rdar://problem/18604241>

Reviewed by Brady Eidson.

  • WebCore.exp.in:
  • editing/Editor.h:
  • editing/ios/EditorIOS.mm:

(WebCore::Editor::replaceSelectionWithAttributedString):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::replaceSelectionWithAttributedString):
Add replaceSelectionWithAttributedString, which replaces the selection
with the given attributed string (converting to plain text if the destination
is not richly editable).

  • WebKit.xcodeproj/project.pbxproj:
  • Misc/WebSharingServicePickerController.h:

Move SPI into the header (in the near future it will be moved to a modern-style SPI header).
Add WebSharingServicePickerClient, which other classes can implement
instead of tying WebSharingServicePickerController strongly to WebContextMenuClient.
Make initWithData:... -> initWithItems:... instead, taking an array of NSItemProviders.

  • Misc/WebSharingServicePickerController.mm:

Pass in NSSharingServicePickerStyle, so that clients can specify the style.

(-[WebSharingServicePickerController clear]):
(-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):
(-[WebSharingServicePickerController sharingServicePicker:didChooseSharingService:]):
(-[WebSharingServicePickerController sharingService:sourceFrameOnScreenForShareItem:]):
(-[WebSharingServicePickerController sharingService:transitionImageForShareItem:contentRect:]):
(-[WebSharingServicePickerController sharingService:sourceWindowForShareItems:sharingContentScope:]):
Make use of WebSharingServicePickerClient.

(-[WebSharingServicePickerController sharingService:didShareItems:]):
If we're returned a NSAttributedString, paste it on top of the current selection,
similar to what the WebKit2 implementation currently does.

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::handleTelephoneNumberClick):
(WebChromeClient::handleSelectionServiceClick):
(WebChromeClient::hasRelevantSelectionServices):
Override the services-related ChromeClient functions, forward them to WebSelectionServiceController.

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::sharingServicePickerWillBeDestroyed):
(WebContextMenuClient::pageForSharingServicePicker):
(WebContextMenuClient::windowForSharingServicePicker):
(WebContextMenuClient::screenRectForCurrentSharingServicePickerItem):
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
(WebContextMenuClient::contextMenuForEvent):
(WebContextMenuClient::screenRectForHitTestNode): Deleted.
(WebContextMenuClient::renderedImageForControlledImage): Deleted.
(WebContextMenuClient::clearSharingServicePickerController): Deleted.
Have WebContextMenuClient implement WebSharingServicePickerClient to avoid
having WebSharingServicePickerController tightly bound to it.
Make an NSItemProvider array when instantiating WebSharingServicePickerController
instead of handing it data directly.

  • WebCoreSupport/WebSelectionServiceController.h: Copied from Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.h.
  • WebCoreSupport/WebSelectionServiceController.mm: Added.

(WebSelectionServiceController::WebSelectionServiceController):
Add WebSelectionServiceController, which will act as the WebSharingServicePickerClient
for selection services.

(WebSelectionServiceController::handleSelectionServiceClick):
Create a WebSharingSericePickerController with the selection's attributed string, and show its menu.

(hasCompatibleServicesForItems):
(WebSelectionServiceController::hasRelevantSelectionServices):
Determine whether or not services are available.

(WebSelectionServiceController::sharingServicePickerWillBeDestroyed):
(WebSelectionServiceController::pageForSharingServicePicker):
(WebSelectionServiceController::windowForSharingServicePicker):
Implement the rest of the WebSharingServicePickerClient overrides.

(WebSelectionServiceController::screenRectForCurrentSharingServicePickerItem):
(WebSelectionServiceController::imageForCurrentSharingServicePickerItem):
These are only useful for image sharing services, so we don't need to
implement them (WebContextMenuClient does, on the other hand).

  • WebView/WebView.mm:

(-[WebView _selectionServiceController]):

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:
  • WebView/WebViewInternal.h:

Keep a WebSelectionServiceController.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
Add a note that we should transition to using replaceSelectionWithAttributedString.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::handleSelectionServiceClick):
Allow editor services in editable-but-not-rich-text areas, just like in WebKit1.

12:56 PM Changeset in webkit [174790] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Apparently we've had a hole in arguments capture all along
​https://bugs.webkit.org/show_bug.cgi?id=137767

Reviewed by Oliver Hunt.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getArgument):

  • tests/stress/arguments-captured.js: Added.

(foo):
(bar):

12:55 PM Changeset in webkit [174789] by saambarati1@gmail.com
  • 16 edits in trunk/Source/JavaScriptCore

Have the ProfileType node in the DFG convert to a structure check where it can
​https://bugs.webkit.org/show_bug.cgi?id=137596

Reviewed by Filip Pizlo.

TypeSet now keeps track of the live set of Structures it has seen.
It no longer nukes everything during GC. It now only removes unmarked
structures during GC. This modification allows the ProfileType node
to convert into a CheckStructure node safely in the DFG.

This change brings up the conversion rate from ProfileType to Check
or CheckStructrue from ~45% to ~65%. This change also speeds the
type profiler up significantly: consistently between 2x-20x faster.

This patch also does some slight refactoring: a few type profiler
related fields are moved from VM to TypeProfiler.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToCheckStructure):

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::uniqueIDForVariable):

  • runtime/SymbolTable.h:
  • runtime/TypeLocationCache.cpp:

(JSC::TypeLocationCache::getTypeLocation):

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::TypeProfiler):
(JSC::TypeProfiler::nextTypeLocation):
(JSC::TypeProfiler::invalidateTypeSetCache):
(JSC::TypeProfiler::dumpTypeProfilerData):

  • runtime/TypeProfiler.h:

(JSC::TypeProfiler::getNextUniqueVariableID):

  • runtime/TypeProfilerLog.cpp:

(JSC::TypeProfilerLog::processLogEntries):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::invalidateCache):

  • runtime/TypeSet.h:

(JSC::TypeSet::structureSet):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::enableTypeProfiler):
(JSC::VM::disableTypeProfiler):
(JSC::VM::dumpTypeProfilerData):
(JSC::VM::nextTypeLocation): Deleted.
(JSC::VM::invalidateTypeSetCache): Deleted.

  • runtime/VM.h:

(JSC::VM::typeProfiler):
(JSC::VM::getNextUniqueVariableID): Deleted.

  • tests/typeProfiler/dfg-jit-optimizations.js:
12:53 PM Changeset in webkit [174788] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Various crashes in ViewGestureControllerIOS when closing a tab while a swipe gesture is in progress
​https://bugs.webkit.org/show_bug.cgi?id=137770
<rdar://problem/17916459>

Reviewed by Dan Bernstein.

When tearing down a WKWebView in the middle of a swipe gesture, a variety of
UI process crashes were observed. First, two uses of potentially deleted objects
(the WebBackForwardListItem and ViewGestureController), which were fixed by
extending the object's lifetime and checking for its liveness, respectively.
Second, a potential null-deref of DrawingArea if the timing of endSwipeGesture
vs. page teardown was such that DrawingArea was null but everything else was in line.
Lastly, another case of messaging a potentially deleted object (specifically,
the _UIViewControllerTransitionContext's animator) in a callback from CA, which
was fixed by nulling out the animator (and a few other properties) when tearing
down the ViewGestureController.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(-[WKSwipeTransitionController invalidate]):
Clear the soon-to-be-invalid ViewGestureController pointer.

(WebKit::ViewGestureController::~ViewGestureController):
Call [WKSwipeTransitionController invalidate] upon destruction.
Clear our transition context's interactor and animator, and inform it that
the transition is not in flight. This avoids a crash when calling back
to the already-destroyed animator later.

(WebKit::ViewGestureController::beginSwipeGesture):
Keep a reference to the target WebBackForwardListItem; this avoids
it being deleted between here and the transition completion block firing.

Look up the ViewGestureController by pageID, just like we do in endSwipeGesture,
to avoid situations where the callback fires after the WKWebView/ViewGestureController
have gone away.

Hold on to our _UIViewControllerOneToOneTransitionContext, so that we can do the
aforementioned clearing upon deallocation.

(WebKit::ViewGestureController::endSwipeGesture):
Null check the DrawingArea. If it is null, instead of doing our normal delayed logic
for swipe snapshot teardown, just put things back together immediately.

(WebKit::ViewGestureController::removeSwipeSnapshot):
Clear m_swipeTransitionContext.

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

Crashes in ResourceHandleCFURLConnectionDelegateWithOperationQueue due to unimplemented retain/release
​https://bugs.webkit.org/show_bug.cgi?id=137779
rdar://problem/18679320

Reviewed by Brady Eidson.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegate::retain):
(WebCore::ResourceHandleCFURLConnectionDelegate::release):
(WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:

Implemented retain/release. They are necessary, as ResourceHandle goes away when
it's canceled, and there is noone else to keep the client object alive but
CFURLConnection itself.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
Added a FIXME about potential improvements that I spotted while invsestigating this.

12:14 PM Changeset in webkit [174786] by Alan Bujtas
  • 16 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Unskip subpixel border tests.

  • platform/mac/TestExpectations:
  • platform/mac/css1/units/length_units-expected.txt:
  • platform/mac/fast/css/bidi-override-in-anonymous-block-expected.txt:
  • platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
  • platform/mac/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
  • platform/mac/media/video-zoom-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
9:01 AM Changeset in webkit [174785] by ddkilzer@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org/template/en/default

Fix JavaScript alert() about missing search terms when submitting patch review

  • template/en/default/attachment/reviewform.html.tmpl: Pass

hide_content=1 argument when including global/header.html.tmpl.

  • template/en/default/global/header.html.tmpl: Add hide_content argument

that hides header content when including the file.

9:01 AM Changeset in webkit [174784] by ddkilzer@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org

Re-enable WebKit-based user matching

  • data/params: Disable Bugzilla's own user matching, which also

requires the JSON::RPC Perl module.

  • template/en/default/global/footer.html.tmpl: Include

committers-autocomplete.js everywhere. Every. Where.

9:01 AM Changeset in webkit [174783] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/code-review.js

Fix loading of legacy comments from older Bugzillas

  • code-review.js:

(fetchHistory): We must support both the old-style and new-style
formats for attachment comments since the old-style format is
quoted and stored as text in the database forever.

9:01 AM Changeset in webkit [174782] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/data/params

Update proxy URL parameter used by Bugzilla

  • data/params: Update proxy URL.
9:01 AM Changeset in webkit [174781] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/mod_perl.pl

Fix maximum unshared memory size of Apache processes

  • mod_perl.pl: Set the maximum unshared memory size of Apache

processes to 700 MB. According to the manpage, this is the
correct way to do it in a mod_perl config file.

9:01 AM Changeset in webkit [174780] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/.htaccess

Remove unneeded rule from .htaccess

  • .htaccess: Remove an old rule that doesn't match any files.
9:01 AM Changeset in webkit [174779] by ddkilzer@apple.com
  • 27 edits
    4 adds in trunk/Websites/bugs.webkit.org

Upgrade to Bugzilla 4.2.11.

9:01 AM Changeset in webkit [174778] by ddkilzer@apple.com
  • 14 edits
    3 copies
    1 delete in trunk/Websites/bugs.webkit.org/template/en

Move template/en/custom files onto template/en/default

9:01 AM Changeset in webkit [174777] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/template/en/custom/attachment/edit.html.tmpl

Do not hide details on attachment edit page

  • template/en/custom/attachment/edit.html.tmpl: Comment out the

call to toggle_attachment_details_visibility() that initially
hides the details.

9:01 AM Changeset in webkit [174776] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/js/field.js

Re-fix Bug 26950: Make the summary and alias fields support click-to-edit <​https://bugs.webkit.org/show_bug.cgi?id=26950>

  • js/field.js: Port the changes from r45538 to Bugzilla 4.2.5.
9:01 AM Changeset in webkit [174775] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/migrate.pl

migrate.pl: remove unnecessary change

9:01 AM Changeset in webkit [174774] by ddkilzer@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org

Fix "View Diff" buttons on edit attachment page

  • js/attachment.js:

(viewPrettyPatch): Change code syntax from Perl to JavaScript.
When I moved this method from
template/en/custom/attachment/edit.html.tmpl into
js/attachment.js during the Bugzilla 4.2.1 merge, I wrote some
of the code using Perl syntax.

  • template/en/custom/attachment/edit.html.tmpl:
  • Fix 120-column truncation of code. (That's what you get for copying and pasting code from 'git diff' in a terminal window.)
  • Pass attachment_id into the viewPrettyPatch() method since the method expects it.
9:01 AM Changeset in webkit [174773] by ddkilzer@apple.com
  • 4 edits
    2 deletes in trunk/Websites/bugs.webkit.org

Remove references to Rietveld from bugs.webkit.org

Rietveld was an experiment that was added by Google. It was
never enabled for everyone, so it's safe to remove the changes
that reference it.

  • Bugzilla/Flag.pm: Remove code that prevented mail messages from

being sent for patches reviewed in Rietveld.

  • attachment.cgi: Remove reference to the "rietveldreview"

template.

  • template/en/custom/attachment/list.html.tmpl: Remove code

that handled the Rietveld review flag.

  • template/en/custom/attachment/reviewform.html.tmpl: Remove code

that handled the "rietveldReview" CGI parameter.

  • template/en/custom/attachment/rietveldreview.html.tmpl: Delete.
  • template/en/custom/flag/list.html.tmpl: Delete. After

removing the code to handle Rietveld reviews, there were no more
local WebKit changes to the custom template file, so it could be
removed.

9:01 AM Changeset in webkit [174772] by ddkilzer@apple.com
  • 3 edits in trunk/Websites/bugs.webkit.org

Display legal text when uploading a patch with a new bug

  • js/attachment.js:

(setContentTypeDisabledState): Make this work on the Enter Bug
page so that the "Submit Bug" button changes to
"Agree and Submit Bug" when the "patch" checkbox is checked, and
it changes back to "Submit Bug" when unchecked.

  • template/en/custom/attachment/createformcontents.html.tmpl:

Include the attachment/patchlegalese.html.tmpl template when
returning the page so that it will be shown when the "patch"
checkbox is checked. Set the 'product' variable from the CGI
variable of the same name.

  • template/en/custom/attachment/patchlegalese.html.tmpl: Add the

'expert_fields' class to the <tr> element so that it gets
shown/hidden when the Show/Hide Advanced Fields links are
clicked.

9:01 AM Changeset in webkit [174771] by ddkilzer@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org

Get rid of large blank area when adding non-patch attachment

  • js/attachment.js:
  • template/en/custom/attachment/patchlegalese.html.tmpl:
  • Use 'display: none;' and 'display: table-row;' instead of 'visibility: collapse;' and 'visibility: visible;' to hide and show the text.
9:01 AM Changeset in webkit [174770] by ddkilzer@apple.com
  • 1 edit
    1 add in trunk/Websites/bugs.webkit.org/template/en/custom/attachment

Move patch legalese into its own template file for reuse

  • template/en/custom/attachment/create.html.tmpl:
  • template/en/custom/attachment/patchlegalese.html.tmpl:
  • Extract patch legalese into its own file.
9:01 AM Changeset in webkit [174769] by ddkilzer@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org

Fix review form after Bugzilla 4.2.5 update

  • code-review.js:

(fetchHistory):

  • Trim author since new format adds a space before the name.
  • Update comment_marker to match the text now used by Bugzilla.
  • template/en/custom/attachment/reviewform.html.tmpl:
  • Add global/header.html.tmpl to make sure we get the standard HTML for including CSS, JavaScript, etc.
    • Remove redundant <link> tags.
    • Add CSS in local <style> to hide the header.
    • Change local <script> to be passed as an argument into global/header.html.tmpl when it is processed.
    • NOTE: local <style> tag should be passed as an argument into global/header.html.tmpl, but that breaks page layout, so it was skipped for now.
  • Fix fallout form moving flag_types into the attachment object when processing flag/list.html.tmpl.
9:01 AM Changeset in webkit [174768] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/template/en/custom/global/header.html.tmpl

Add back "WebKit Bugzilla" text in page header

9:01 AM Changeset in webkit [174767] by ddkilzer@apple.com
  • 3 adds in trunk/Websites/bugs.webkit.org

Add .htaccess files created by checksetup.pl

9:01 AM Changeset in webkit [174766] by ddkilzer@apple.com
  • 1 edit in trunk/Websites/bugs.webkit.org/data/params

data/params: update after running checksetup.pl

9:01 AM Changeset in webkit [174765] by ddkilzer@apple.com
  • 101 edits
    1 add in trunk/Websites/bugs.webkit.org

Upgrade to Bugzilla 4.2.7.

Conflicts:

buglist.cgi
report.cgi

9:00 AM Changeset in webkit [174764] by ddkilzer@apple.com
  • 408 edits
    41 copies
    5 moves
    371 adds
    77 deletes in trunk/Websites/bugs.webkit.org

Upgrade bugs.webkit.org to Bugzilla 4.2
<​http://webkit.org/b/55882>

Upgrade to Bugzilla 4.2.1.

Conflicts:

.htaccess
Bugzilla.pm
Bugzilla/Auth.pm
Bugzilla/Auth/Login/CGI.pm
Bugzilla/Auth/Persist/Cookie.pm
Bugzilla/Bug.pm
Bugzilla/BugMail.pm
Bugzilla/CGI.pm
Bugzilla/Config/Attachment.pm
Bugzilla/Config/Common.pm
Bugzilla/Config/General.pm
Bugzilla/Constants.pm
Bugzilla/DB/Mysql.pm
Bugzilla/DB/Oracle.pm
Bugzilla/DB/Schema.pm
Bugzilla/DB/Schema/Oracle.pm
Bugzilla/Error.pm
Bugzilla/Flag.pm
Bugzilla/FlagType.pm
Bugzilla/Hook.pm
Bugzilla/Install/DB.pm
Bugzilla/Install/Filesystem.pm
Bugzilla/Install/Localconfig.pm
Bugzilla/Install/Requirements.pm
Bugzilla/Install/Util.pm
Bugzilla/Mailer.pm
Bugzilla/Product.pm
Bugzilla/Search.pm
Bugzilla/Search/Quicksearch.pm
Bugzilla/Search/Saved.pm
Bugzilla/Series.pm
Bugzilla/Template.pm
Bugzilla/Template/Plugin/Hook.pm
Bugzilla/Token.pm
Bugzilla/User.pm
Bugzilla/Util.pm
Bugzilla/WebService.pm
Bugzilla/WebService/Bug.pm
Bugzilla/WebService/Bugzilla.pm
Bugzilla/WebService/Constants.pm
Bugzilla/WebService/Product.pm
Bugzilla/WebService/User.pm
attachment.cgi
buglist.cgi
checksetup.pl
colchange.cgi
collectstats.pl
contrib/bugzilla_ldapsync.rb
contrib/bzdbcopy.pl
contrib/gnats2bz.pl
contrib/recode.pl
contrib/sendbugmail.pl
contrib/yp_nomail.sh
docs/en/xml/Bugzilla-Guide.xml
docs/en/xml/about.xml
docs/en/xml/installation.xml
docs/en/xml/security.xml
docs/en/xml/troubleshooting.xml
editflagtypes.cgi
editparams.cgi
editproducts.cgi
editvalues.cgi
editwhines.cgi
email_in.pl
enter_bug.cgi
extensions/BmpConvert/Config.pm
extensions/OldBugMove/template/en/default/admin/params/oldbugmove.html.tmpl
extensions/Voting/template/en/default/hook/bug/process/header-title.html.tmpl
extensions/Voting/template/en/default/hook/search/search-report-select-rep_fields.html.tmpl
extensions/example/code/webservice-error_codes.pl
extensions/example/version.pl
images/favicon.ico
importxml.pl
index.cgi
install-module.pl
js/field.js
js/util.js
long_list.cgi
mod_perl.pl
post_bug.cgi
process_bug.cgi
quips.cgi
sanitycheck.cgi
show_bug.cgi
showattachment.cgi
sidebar.cgi
skins/contrib/Dusk/global.css
skins/contrib/Dusk/index.css
skins/standard/global.css
skins/standard/show_bug.css
t/008filter.t
template/en/custom/attachment/review.html.tmpl
template/en/default/account/prefs/saved-searches.html.tmpl
template/en/default/admin/classifications/delete.html.tmpl
template/en/default/admin/classifications/edit-common.html.tmpl
template/en/default/admin/classifications/footer.html.tmpl
template/en/default/admin/components/create.html.tmpl
template/en/default/admin/components/edit.html.tmpl
template/en/default/admin/params/attachment.html.tmpl
template/en/default/admin/sanitycheck/messages.html.tmpl
template/en/default/admin/users/confirm-delete.html.tmpl
template/en/default/admin/workflow/edit.html.tmpl
template/en/default/attachment/created.html.tmpl
template/en/default/attachment/diff-header.html.tmpl
template/en/default/attachment/edit.html.tmpl
template/en/default/attachment/list.html.tmpl
template/en/default/attachment/updated.html.tmpl
template/en/default/bug/comments.html.tmpl
template/en/default/bug/create/create-guided.html.tmpl
template/en/default/bug/create/create.html.tmpl
template/en/default/bug/create/created.html.tmpl
template/en/default/bug/edit.html.tmpl
template/en/default/bug/field.html.tmpl
template/en/default/bug/process/header.html.tmpl
template/en/default/bug/show.html.tmpl
template/en/default/bug/show.xml.tmpl
template/en/default/config.rdf.tmpl
template/en/default/email/whine.txt.tmpl
template/en/default/filterexceptions.pl
template/en/default/flag/list.html.tmpl
template/en/default/global/common-links.html.tmpl
template/en/default/global/confirm-action.html.tmpl
template/en/default/global/field-descs.none.tmpl
template/en/default/global/footer.html.tmpl
template/en/default/global/header.html.tmpl
template/en/default/global/user-error.html.tmpl
template/en/default/global/userselect.html.tmpl
template/en/default/list/edit-multiple.html.tmpl
template/en/default/list/list.html.tmpl
template/en/default/pages/fields.html.tmpl
template/en/default/pages/release-notes.html.tmpl
template/en/default/search/boolean-charts.html.tmpl
template/en/default/search/form.html.tmpl
template/en/default/search/search-report-graph.html.tmpl
template/en/default/search/search-report-table.html.tmpl
template/en/default/setup/strings.txt.pl
token.cgi
userprefs.cgi
xml.cgi
xmlrpc.cgi

8:26 AM Changeset in webkit [174763] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r173356): Downloading a disk image appends ".txt" to it
​https://bugs.webkit.org/show_bug.cgi?id=137493
<rdar://problem/18321947>

Reviewed by Alexey Proskuryakov.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::startWithHandle):

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::startWithHandle):

It appears that the synthesized NS/CFURLResponse fails to serialize the suggested filename correctly
unless it has been accessed first.

6:29 AM Changeset in webkit [174762] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Use isnan from std namespace in ProfileGenerator.cpp
​https://bugs.webkit.org/show_bug.cgi?id=137653

Patch by Adrien Destugues <​pulkomandy@gmail.com> on 2014-10-16
Reviewed by Darin Adler.

The C++ isnan() function is in the std namespace. The unprefixed isnan
may be available because of C99 headers leakage in C++, but should not
be used.

No new tests: no functional change, build fix on platforms which don't
export C99 functions in C++.

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause):
(JSC::ProfileGenerator::didContinue):

Oct 15, 2014:

11:50 PM Changeset in webkit [174761] by abucur@adobe.com
  • 17 edits
    4 adds in trunk

ASSERTION FAILED in WebCore::RenderFlowThread::getRegionRangeForBox
​https://bugs.webkit.org/show_bug.cgi?id=135563

Reviewed by David Hyatt.

Source/WebCore:

The new multi-column code doesn't work correctly when the document contains nested fragmentation
contexts. The problem is the current flow thread concept that can store only one RenderFlowThread
at a time and use it during layout.

The stored flow thread is always correct for regions because named flow threads are absolutley positioned
so every child renderer is contained inside them (with the expcetion of fixed positioned elements which are
treated separately).

For multi-column elements this is no longer the case. An absolutely positioned element inside a static
multi-column element will be contained by a block outside the fragmentation context. It can even be
contained by a different multi-column element in the case of nested flow threads.

The patch below explores a solution that's not based on a current flow thread stored globally. The proposed
patch makes every block to store a pointer to its fragmentation context and a flag that states if this pointer
needs to be updated or not. If the renderer is not a block it will get its flow thread from the containing
block. Once the containing flow thread is requested for the block, the pointer is computed and cached until
invalidated:

  • when a subtree is removed from a flow thread
  • when the position property of an element inside a flow thread changes

The process is recursive and it doesn't affect elements that are not nested inside a flow thread. If a block
changes position from relative to static, any element that was contained by it can only be contained by an
ancestor of the block. This ancestor will still be outside of any flow thread. This ensures that non-fragmentation
code is not affected from a performance perspective.

The patch affects the results of the performance tests:

  • the regions layout tests have a decreased performance raging from 2% to 5-6%
  • the regions selection tests have an increased performance raging from 1-2% to 10%
  • the multicolumn layout tests (now pending review in b137687) have an increased performance

raging from 1.8% to 5%

Tests: fast/multicol/multicol-all-positioned-crash.html

fast/multicol/multicol-transform-containing-block.html

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::FlowThreadController):

  • rendering/FlowThreadController.h:

(WebCore::FlowThreadController::currentRenderFlowThread): Deleted.
(WebCore::FlowThreadController::setCurrentRenderFlowThread): Deleted.

  • rendering/LayoutState.h:

(WebCore::LayoutState::currentRenderFlowThread):
(WebCore::LayoutState::setCurrentRenderFlowThread):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::cachedFlowThreadContainingBlock):
(WebCore::RenderBlock::cachedFlowThreadContainingBlockNeedsUpdate):
(WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate):
(WebCore::RenderBlock::updateCachedFlowThreadContainingBlock):
(WebCore::RenderBlock::locateFlowThreadContainingBlock):

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

(WebCore::RenderBlockFlow::styleWillChange):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer): Deleted.
(WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer): Deleted.
(WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler): Deleted.
(WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler): Deleted.

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

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRegionsInformation):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::removeFromRenderFlowThread):
(WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):
(WebCore::RenderObject::invalidateFlowThreadContainingBlockIncludingDescendants):
(WebCore::RenderObject::currentRenderNamedFlowFragment):
(WebCore::RenderObject::locateFlowThreadContainingBlock):
(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache): Deleted.
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive): Deleted.

  • rendering/RenderObject.h:

(WebCore::RenderObject::flowThreadContainingBlock):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::computeOverflowFromFlowThread):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
(WebCore::RenderView::popLayoutStateForCurrentFlowThread):

  • rendering/RenderView.h:

LayoutTests:

A test verifying that positioned elements inside multi-column containers don't
cause assertions or crashes.

  • fast/multicol/multicol-all-positioned-crash-expected.txt: Added.
  • fast/multicol/multicol-all-positioned-crash.html: Added.
  • fast/multicol/multicol-transform-containing-block-expected.txt: Added.
  • fast/multicol/multicol-transform-containing-block.html: Added.
11:45 PM Changeset in webkit [174760] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, add myself to CoordinatedGraphics watchers.

  • Scripts/webkitpy/common/config/watchlist:
11:04 PM Changeset in webkit [174759] by Chris Dumez
  • 22 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for list-related render objects
​https://bugs.webkit.org/show_bug.cgi?id=137764

Reviewed by Benjamin Poulain.

Use is<>() / downcast<>() for list-related render objects and clean up
the surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::visibleChildren):
(WebCore::AccessibilityListBox::elementAccessibilityHitTest):

  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::elementRect):

  • accessibility/AccessibilityObject.cpp:

(WebCore::renderListItemContainerForNode):

  • accessibility/atk/WebKitAccessibleHyperlink.cpp:

(getRangeLengthForObject):

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(accessibilityObjectLength):
(offsetAdjustmentForListItem):
(webkitAccessibleTextGetText):

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::didAttachRenderers):
(WebCore::HTMLLIElement::parseValue):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::nextSelectableListIndexPageAway):
(WebCore::HTMLSelectElement::scrollToSelection):
(WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

  • html/HTMLSelectElementWin.cpp:

(WebCore::HTMLSelectElement::platformHandleKeydownEvent):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):

  • rendering/RenderCounter.cpp:

(WebCore::planCounter):

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

(WebCore::nextListItem):
(WebCore::previousListItem):

  • rendering/RenderListItem.h:
  • rendering/RenderListMarker.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::markerTextForListItem):

  • rendering/TextAutoSizing.cpp:

(WebCore::TextAutoSizingValue::adjustNodeSizes):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):

  • testing/Internals.cpp:

(WebCore::Internals::isSelectPopupVisible):

8:57 PM Changeset in webkit [174758] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Use std::unique_ptr for CachedResource
​https://bugs.webkit.org/show_bug.cgi?id=137736

Reviewed by Darin Adler.

No new tests, no behavior change.

  • loader/cache/CachedResource.cpp: Use std::unique_ptr instead of PassOwnPtr|OwnPtr.

(WebCore::CachedResource::removeClient):

  • loader/cache/CachedResource.h: Set ctor from private to public.

(WebCore::CachedResource::CachedResourceCallback::schedule):

7:50 PM Changeset in webkit [174757] by gyuyoung.kim@samsung.com
  • 15 edits in trunk/Source/WebCore

Move TextCodec classes to std::unique_ptr
​https://bugs.webkit.org/show_bug.cgi?id=137738

Reviewed by Darin Adler.

Replace uses of PassOwnPtr in code under TextCodecFoo class with std::unique_ptr.
To do this, ctor of TextCodecFoo classes is changed from private to public. Besides
related classes follow this change as well.

No new tests, no behavior change.

  • html/parser/HTMLMetaCharsetParser.h:
  • loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::setEncoding):
(WebCore::TextResourceDecoder::flush):

  • loader/TextResourceDecoder.h:
  • platform/text/TextCodec.h:
  • platform/text/TextCodecICU.cpp:

(WebCore::TextCodecICU::create):

  • platform/text/TextCodecICU.h:
  • platform/text/TextCodecLatin1.cpp:

(WebCore::newStreamingTextDecoderWindowsLatin1):

  • platform/text/TextCodecUTF16.cpp:

(WebCore::newStreamingTextDecoderUTF16LE):
(WebCore::newStreamingTextDecoderUTF16BE):

  • platform/text/TextCodecUTF8.cpp:

(WebCore::TextCodecUTF8::create):

  • platform/text/TextCodecUTF8.h:
  • platform/text/TextCodecUserDefined.cpp:

(WebCore::newStreamingTextDecoderUserDefined):

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::newTextCodec):

  • platform/text/TextEncodingRegistry.h:
  • platform/text/mac/TextCodecMac.cpp:

(WebCore::newTextCodecMac):

7:25 PM Changeset in webkit [174756] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[Media] Reduce style updates (painting) in controls
​https://bugs.webkit.org/show_bug.cgi?id=137763
<rdar://problem/17833045>

Reviewed by Simon Fraser.

Media controls were causing a lot of repaints they were
constantly updating the style of the widgets, the value
of the forms, or the text in the display.

This is necessary when the controls are visible, but not
necessary when they are hidden. Return immediately in that case.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Initialise the slider to a zero value.
(Controller.prototype.handleDurationChange): Force an update even though we might be hidden.
(Controller.prototype.updateProgress): Don't update if we're hidden.
(Controller.prototype.updateTime): Ditto.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.updateProgress): Ditto.

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

Unreviewed, rolling out r174753.
​https://bugs.webkit.org/show_bug.cgi?id=137761

caused layout tests to fail. (Requested by zalan on #webkit).

Reverted changeset:

"[Mac] Unreviewed gardening."
​http://trac.webkit.org/changeset/174753

6:16 PM Changeset in webkit [174754] by roger_fong@apple.com
  • 4 edits in trunk

[Windows] Speculative Windows test fix.
Also add some more test logging.

  • DumpRenderTree/win/DumpRenderTree.cpp: Make sure that OLEAUT32.dll doesn't cache BSTRs.
  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read): Add logging for testing purposes.

5:56 PM Changeset in webkit [174753] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Unskip subpixel border tests.

  • platform/mac/TestExpectations:
5:29 PM Changeset in webkit [174752] by jonowells@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebInspectorUI

Build fix. Rolling back changes in ​http://trac.webkit.org/changeset/174721.

  • Scripts/copy-user-interface-resources.pl:
  • UserInterface/External/ESLint/LICENSE: Removed.
  • UserInterface/External/ESLint/eslint.js: Removed.
5:28 PM Changeset in webkit [174751] by Lucas Forschler
  • 4 edits in branches/safari-600.1-branch/LayoutTests

Merged r173674.

5:17 PM Changeset in webkit [174750] by Alan Bujtas
  • 1 edit
    1 add in trunk/LayoutTests

[Mac] Unreviewed gardening(mountain-lion).

  • platform/mac-mountainlion/fast/text/international/hindi-spacing-expected.txt: Added.
5:14 PM Changeset in webkit [174749] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r174025): remote inspector crashes frequently when executing inspector frontend's JavaScript
​https://bugs.webkit.org/show_bug.cgi?id=137758

Rubber stamped by Filip Pizlo.

Reverted r174025 for just PutByOffset Nodes.

  • dfg/DFGFixupPhase.cpp:

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

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

import-w3c-test rewrites relative src paths in ref files incorrectly
​https://bugs.webkit.org/show_bug.cgi?id=137586

This patch fixes a bug in test_converter.py where src paths were getting
rewritten as ../../some-path instead of <script src="../../some-path>".
It also adds support for rewriting src paths in style elements, which was
missing before and it adds tests for this case.

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-10-15
Reviewed by Bem Jones-Bey.

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.convert_attributes_if_needed):

  • Scripts/webkitpy/w3c/test_converter_unittest.py:

(test_convert_attributes_if_needed):
(verify_reference_relative_paths):

5:09 PM Changeset in webkit [174747] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel) - Part 2
​https://bugs.webkit.org/show_bug.cgi?id=137721

Reviewed by Darin Adler.

Follow-up patch to r174717 addressing review comments made after the patch landed:

  • Use modern C++ loop
  • Remove explicit calls to String(NSString*) constructor

No new tests, no new tests.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformLazyInit):

5:05 PM Changeset in webkit [174746] by Chris Dumez
  • 24 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for InlineBox subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137749

Reviewed by Darin Adler.

Use is<>() / downcast<>() for InlineBox subclasses and clean up the
surrounding code.

No new tests, no behavior change.

  • dom/Position.cpp:

(WebCore::Position::upstream):
(WebCore::Position::downstream):

  • editing/VisibleUnits.cpp:

(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
(WebCore::visualWordPosition):
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::root):
(WebCore::InlineBox::nextLeafChild):
(WebCore::InlineBox::prevLeafChild):
(WebCore::InlineBox::nextLeafChildIgnoringLineBreak):

  • rendering/InlineBox.h:
  • rendering/InlineElementBox.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::computeMaxLogicalTop):
(WebCore::InlineFlowBox::flipLinesInBlockDirection):
(WebCore::InlineFlowBox::computeOverflow):
(WebCore::InlineFlowBox::firstLeafChild):
(WebCore::InlineFlowBox::lastLeafChild):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):

  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::positionForBox):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::firstRootBox):
(WebCore::RenderBlockFlow::lastRootBox):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::createLineBoxes):
(WebCore::RenderBlockFlow::constructLine):
(WebCore::setLogicalWidthForTextRun):
(WebCore::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
(WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):

  • rendering/RenderText.cpp:

(WebCore::RenderText::localCaretRect):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::isHyphenated):
(WebCore::RootInlineBox::ascentAndDescentForBox):

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::nextRootBox):
(WebCore::RootInlineBox::prevRootBox):

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::localCaretRect):
(WebCore::RenderSVGInlineText::positionForPoint):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::positionForPoint):

  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::paintSelectionBackground):
(WebCore::SVGInlineFlowBox::paint):
(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

  • rendering/svg/SVGInlineFlowBox.h:
  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeRenderSVGTextBox):
(WebCore::writeSVGInlineTextBoxes):

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::paint):
(WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
(WebCore::SVGRootInlineBox::layoutChildBoxes):
(WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):

  • rendering/svg/SVGRootInlineBox.h:
  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::collectTextBoxesInFlowBox):

3:36 PM Changeset in webkit [174745] by Alan Bujtas
  • 17 edits
    2 adds in trunk/LayoutTests

[Mac] Unreviewed gardening.

Rebaselining.

  • platform/mac/TestExpectations:
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/mac/fast/events/constructors/mouse-event-constructor-expected.txt: Added.
  • platform/mac/fast/events/constructors/wheel-event-constructor-expected.txt: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.txt:
  • platform/mac/fast/text/international/vertical-text-glyph-test-expected.txt:
  • platform/mac/fast/text/orientation-sideways-expected.txt:
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac/fast/writing-mode/japanese-ruby-vertical-lr-expected.txt:
  • platform/mac/fast/writing-mode/japanese-ruby-vertical-rl-expected.txt:
  • platform/mac/fast/writing-mode/vertical-font-fallback-expected.txt:
  • platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
2:41 PM Changeset in webkit [174744] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

glReadPixels on NVIDIA cards returns the wrong values for the alpha channel when alpha is off.
​https://bugs.webkit.org/show_bug.cgi?id=137752.
<rdar://problem/15408133>

Reviewed by Brent Fulgham.

This change fixed the 1.0.2 conformance test: context/context-attribute-preserve-drawing-buffer.html

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

Manually set the alpha channel to 255 when alpha is off on the rendering context.

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

Add --json flag to test-webkitpy to emit JSON formatted test results
to stdout
​https://bugs.webkit.org/show_bug.cgi?id=137353

Patch by Jake Nielsen <​jacob_nielsen@apple.com> on 2014-10-15
Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/server_process_unittest.py:

Adds the read method to MockFile to allow the stdout of test_webkitpy
to be redirected without causing erroneous test failures.
In particular,
webkitpy.port.server_process_unittest.TestServerProcess.test_broken_pipe
and
webkitpy.port.server_process_unittest.TestServerProcess.test_cleanup
because when redirecting to a file, the
_wait_for_data_and_update_buffers_using_select method in
server_process.py will find that there is a read file descriptor in
its call to select.select, which eventually leads to it calling read()
on the MockFile object.
(MockFile.read):

  • Scripts/webkitpy/test/main.py:

Adds the _print_results_as_json method and the --json flag which
determines whether _print_results_as_json will get called.
(Tester._parse_args):
(Tester._print_results_as_json):
(Tester._print_results_as_json.result_dict_from_tuple):
(Tester._run_tests):

12:39 PM Changeset in webkit [174742] by mitz@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

[Cocoa] "Plug-in will handle load" error isn't declared in the modern API
​https://bugs.webkit.org/show_bug.cgi?id=137747

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKError.mm: Define _WKLegacyErrorDomain.
  • UIProcess/API/Cocoa/WKErrorInternal.h: Changed to import WKErrorPrivate.h.
  • UIProcess/API/Cocoa/WKErrorPrivate.h: Added. Declares _WKLegacyErrorDomain

and _WKLegacyErrorPlugInWillHandleLoad.

  • WebKit2.xcodeproj/project.pbxproj: Added new private header.
12:35 PM Changeset in webkit [174741] by Chris Fleizach
  • 9 edits in trunk

AX: Going back is broken for VoiceOver
​https://bugs.webkit.org/show_bug.cgi?id=137382

Reviewed by Darin Adler.

Source/WebCore:

There were two issues preventing VoiceOver from navigating when using page history to go back/forward.

1) Existing AXLoadComplete does not get fired when you just move through page history.

There were existing frameLoad notifications used by GTK. I think we should use those which seem more reliable.

2) The AccessibilityScrollView cached its children, but on some history page loads, that cache was never cleared out.

Rather than trying to find those places to clear out the cache, it's easier to just add the elements to the children
array everytime it's asked for. Since there's only ever 3 elements (web area + 2 scroll bars) this should not be a performance hit.

Tests are not possible since they require monitoring notifications across multiple page loads.

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::updateChildrenIfNecessary):

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):

  • dom/Document.cpp:

(WebCore::Document::implicitClose):

LayoutTests:

Update tests now that AXLoadComplete is sent more reliably.

  • platform/mac/accessibility/aria-expanded-notifications-expected.txt:
  • platform/mac/accessibility/aria-expanded-notifications.html:
12:18 PM Changeset in webkit [174740] by Simon Fraser
  • 3 edits
    3 adds in trunk

Sometimes can't scroll overflow:scroll areas in subframes
​https://bugs.webkit.org/show_bug.cgi?id=137746
rdar://problem/18603560

Reviewed by Tim Horton.

Source/WebCore:

r169733 introduced a regression which caused us to no longer update the non-fast
scrollable region on every layout in subframes, by adding a bogus isMainFrame() check.
Revert to the previous code.

Test: platform/mac-wk2/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout.html

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

LayoutTests:

Test that changes an overflow size in a subframe and then dumps the non-fast scrollable region.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/resources/layouting-frame.html: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/frames/scroll-region-after-frame-layout.html: Added.
12:15 PM Changeset in webkit [174739] by Chris Dumez
  • 21 edits in trunk/Source

Use is<>() / downcast<>() for TransformOperation subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137731

Reviewed by Darin Adler.

Use is<>() / downcast<>() for TransformOperation subclasses and clean
up the surrounding code.

Source/WebCore:

No new tests, no behavior change.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateTransformOperations):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::getTransformFunctionValue):

  • platform/graphics/transforms/IdentityTransformOperation.h:
  • platform/graphics/transforms/Matrix3DTransformOperation.cpp:

(WebCore::Matrix3DTransformOperation::operator==):

  • platform/graphics/transforms/Matrix3DTransformOperation.h:
  • platform/graphics/transforms/MatrixTransformOperation.cpp:

(WebCore::MatrixTransformOperation::operator==):
(WebCore::MatrixTransformOperation::blend):

  • platform/graphics/transforms/MatrixTransformOperation.h:
  • platform/graphics/transforms/PerspectiveTransformOperation.cpp:

(WebCore::PerspectiveTransformOperation::operator==):
(WebCore::PerspectiveTransformOperation::blend):

  • platform/graphics/transforms/PerspectiveTransformOperation.h:
  • platform/graphics/transforms/RotateTransformOperation.cpp:

(WebCore::RotateTransformOperation::operator==):
(WebCore::RotateTransformOperation::blend):

  • platform/graphics/transforms/RotateTransformOperation.h:
  • platform/graphics/transforms/ScaleTransformOperation.cpp:

(WebCore::ScaleTransformOperation::operator==):
(WebCore::ScaleTransformOperation::blend):

  • platform/graphics/transforms/ScaleTransformOperation.h:
  • platform/graphics/transforms/SkewTransformOperation.cpp:

(WebCore::SkewTransformOperation::operator==):
(WebCore::SkewTransformOperation::blend):

  • platform/graphics/transforms/SkewTransformOperation.h:
  • platform/graphics/transforms/TransformOperation.h:
  • platform/graphics/transforms/TranslateTransformOperation.cpp:

(WebCore::TranslateTransformOperation::operator==):
(WebCore::TranslateTransformOperation::blend):

  • platform/graphics/transforms/TranslateTransformOperation.h:

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<TransformOperations>::encode):

12:04 PM Changeset in webkit [174738] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Rebaselining.

  • css3/flexbox/flex-rounding.html:
11:34 AM Changeset in webkit [174737] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

Unskip some subpixel related tests.

  • platform/mac/TestExpectations:
11:04 AM Changeset in webkit [174736] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening.

css3/flexbox/flex-rounding.html passes now that subpixel is on.

  • platform/mac/TestExpectations:
11:00 AM Changeset in webkit [174735] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

[Mac] Allow some Kerberos related paths in sandbox
​https://bugs.webkit.org/show_bug.cgi?id=137666
rdar://problem/17965010

Reviewed by Darin Adler.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
11:00 AM Changeset in webkit [174734] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.4

New tag.

10:58 AM Changeset in webkit [174733] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:36 AM Changeset in webkit [174732] by Chris Dumez
  • 12 edits in trunk/Source

Use is<>() / downcast<>() for RenderTextControl / RenderTextControlSingleLine
​https://bugs.webkit.org/show_bug.cgi?id=137727

Reviewed by Darin Adler.

Use is<>() / downcast<>() for RenderTextControl / RenderTextControlSingleLine.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::selectedText):
(WebCore::AccessibilityRenderObject::selectedTextRange):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::visiblePositionForIndex):
(WebCore::AccessibilityRenderObject::indexForVisiblePosition):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleReplacedElement):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerElement::customStyleForRenderer):

  • page/EventHandler.cpp:

(WebCore::EventHandler::capsLockStateMayHaveChanged):

  • page/ios/FrameIOS.mm:

(WebCore::ancestorRespondingToScrollWheelEvents):

  • rendering/RenderTextControl.h:
  • rendering/RenderTextControlSingleLine.h:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

Source/WebKit/ios:

  • WebCoreSupport/WebVisiblePosition.mm:

(-[DOMHTMLInputElement startPosition]):
(-[DOMHTMLInputElement endPosition]):
(-[DOMHTMLTextAreaElement startPosition]):
(-[DOMHTMLTextAreaElement endPosition]):

10:33 AM Changeset in webkit [174731] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Allow plug-ins to read managed preferences
​https://bugs.webkit.org/show_bug.cgi?id=137665
<rdar://problem/18255601>

Reviewed by Darin Adler.

  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
10:21 AM Changeset in webkit [174730] by Alan Bujtas
  • 5 edits in trunk/LayoutTests

Subpixel layout: Unskip fast/sub-pixel directory.
​https://bugs.webkit.org/show_bug.cgi?id=137732

Reviewed by Simon Fraser.

Unskip tests.

  • TestExpectations:
  • fast/sub-pixel/inline-block-with-padding-expected.txt: minor adjustment.
  • fast/sub-pixel/zoomed-em-border-expected.html: minor adjustment.
  • platform/mac/TestExpectations: we still have to skip couple of tests.
10:13 AM Changeset in webkit [174729] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for ClipPathOperation subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137733

Reviewed by Mihnea Ovidenie.

Use is<>() / downcast<>() for ClipPathOperation subclasses.

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyClipPath::applyValue):

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

(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

10:01 AM Changeset in webkit [174728] by dfarler@apple.com
  • 2 edits in trunk/Tools

[iOS] LayoutTestRelay: Detect broken pipe when reading simulator app's stdout and stderr.
​https://bugs.webkit.org/show_bug.cgi?id=137662

Reviewed by Darin Adler.

The layout test harness can close LayoutTestRelay's subprocess
stdout and stderr in the case of a timeout or if a run is
cancelled and the FIFOs are cleaned up. If LayoutTestRelay
finds that no one is listening to its stdout/stderr (broken
pipe), then just exit(1), there is nothing to report.

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController didReceiveStdoutData:]):
Add @try/@catch for NSFileHandleOperationException.
(-[LTRelayController didReceiveStderrData:]):
Add @try/@catch for NSFileHandleOperationException.

9:53 AM Changeset in webkit [174727] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use CFDictionaryContainsKey() in ImageSource::isSizeAvailable()
​https://bugs.webkit.org/show_bug.cgi?id=137723

Reviewed by Simon Fraser.

Use CFDictionaryContainsKey() in ImageSource::isSizeAvailable() instead
of CFDictionaryGetValue() as we are not actually interested in the
value.

No new tests, no behavior change.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::isSizeAvailable):

6:37 AM Changeset in webkit [174726] by abucur@adobe.com
  • 2 edits
    6 adds in trunk/PerformanceTests

[Multicol] Start adding performance tests for the multi-column implementation
​https://bugs.webkit.org/show_bug.cgi?id=137687

Reviewed by Mihnea Ovidenie.

This patch creates a Multicol folder inside the Layout performance tests suite. It adds only two tests
as described below.

The tests are skipped until the implementation stabilizes.

  • Layout/Multicol/MulticolManyColumns.html: Added.

This test verifies the performance of the multi-column implementation with two nested multi-column
containers, the first having 20 columns and the second 10 columns.

  • Layout/Multicol/MulticolNested.html: Added.

This test verifies the performance of nesting multi-column containers in the presence
of floats.

  • Layout/Multicol/resources/multicol-content-many-columns.html: Added.
  • Layout/Multicol/resources/multicol-content-nested.html: Added.
  • Skipped: Skip the Multicol folder for now.
1:31 AM Changeset in webkit [174725] by mihnea@adobe.com
  • 3 edits in trunk/Source/WebCore

Use modern loops in subtrees selection code
​https://bugs.webkit.org/show_bug.cgi?id=137688

Reviewed by Andreas Kling.

No new tests as no change in functionality.

  • rendering/RenderView.cpp:

(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):

  • rendering/RenderView.h:
12:33 AM Changeset in webkit [174724] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser : Add keyboard support for zoom in , zoom out and default zoom in GTK Minibrowser
​https://bugs.webkit.org/show_bug.cgi?id=137060

Patch by Rohit Kumar <​kumar.rohit@samsung.com> on 2014-10-15
Reviewed by Philippe Normand.

Add keyboard support for zoom in , zoom out and default zoom using 'Ctrl' + '+', 'Ctrl' + '-' and 'Ctrl' + '0' respectively.

  • MiniBrowser/gtk/BrowserWindow.c:

(zoomInCallback):
(zoomOutCallback):
(defaultZoomCallback): Callback for default zoom keyboard support.
(browser_window_init):

Oct 14, 2014:

10:05 PM Changeset in webkit [174723] by gyuyoung.kim@samsung.com
  • 17 edits in trunk/Source

Clean up unnecessary PassOwnPtr.h inclusion
​https://bugs.webkit.org/show_bug.cgi?id=137726

Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • API/JSCallbackObject.h: Remove PassOwnPtr.h inclusion.
  • bytecode/DFGExitProfile.cpp: ditto.

Source/WebCore:

No new tests, no behavior changes.

  • dom/Document.h: Remove PassOwnPtr.h inclusion.
  • loader/ResourceBuffer.h: ditto.
  • loader/cocoa/DiskCacheMonitorCocoa.mm: ditto.
  • page/scrolling/AxisScrollSnapOffsets.h: ditto.
  • page/scrolling/ScrollingStateScrollingNode.h: ditto.
  • platform/ColorChooserClient.h: ditto.
  • platform/ScrollableArea.cpp: ditto.
  • platform/ScrollbarThemeClient.h: ditto.
  • platform/SharedBuffer.cpp: ditto.
  • platform/Supplementable.h: ditto.
  • platform/graphics/surfaces/GraphicsSurface.h: ditto.
  • platform/graphics/surfaces/GraphicsSurfaceToken.h: ditto.
  • platform/graphics/win/WKCAImageQueue.cpp: ditto.
  • platform/win/CursorWin.cpp: ditto.
10:01 PM Changeset in webkit [174722] by Chris Dumez
  • 17 edits in trunk/Source/WebCore

Have offsetFromContainer() / offsetFromAncestorContainer() take a RenderElement&
​https://bugs.webkit.org/show_bug.cgi?id=137728

Reviewed by Benjamin Poulain.

Have offsetFromContainer() / offsetFromAncestorContainer() take a RenderElement&
instead of a RenderObject*. The argument passed is never null and the type
should be a RenderElement as the argument is a container.

No new tests, no behavior change.

  • editing/htmlediting.cpp:

(WebCore::localCaretRectInRendererForCaretPainting):

  • page/GestureTapHighlighter.cpp:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::pushMappingToContainer):

  • rendering/RenderInline.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::offsetFromContainer):

  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::offsetFromContainer):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::offsetFromContainer):
(WebCore::RenderObject::offsetFromAncestorContainer):

  • rendering/RenderObject.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::offsetFromContainer):

  • rendering/RenderTableCell.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::convertToPaintingRect):

8:28 PM Changeset in webkit [174721] by jonowells@apple.com
  • 2 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: Add ESLint open source library to the inspector
​https://bugs.webkit.org/show_bug.cgi?id=137714

Reviewed by Timothy Hatcher.

This adds the eslint.js external library for static analysis and the necessary license.

6:21 PM Changeset in webkit [174720] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r159208): Crash when clicking scrubber after navigating away/back to video
​https://bugs.webkit.org/show_bug.cgi?id=137715

Reviewed by Darin Adler.

Simple null-check of m_player in refreshCachedTime.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime):

5:53 PM Changeset in webkit [174719] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][EFL] Fix the problem that threads created by a DispatchQueueEfl are not destroyed
even after the DispatchQueueEfl has been destructed
​https://bugs.webkit.org/show_bug.cgi?id=137195

Patch by Joonghun Park <​jh718.park@samsung.com> on 2014-10-14
Reviewed by Gyuyoung Kim.

Linux and Unix System's pthreads are created in joinable state by default.
If threads aren't destructed explicitly, it will be still live
until process which created the thread is dead.
Besides it may cause out of capacity range of thread creation in a process.
It is one of hidden defects.
This patch calls detachThread() to detach thread immediately after it is created.
So the thread can be destroyed as soon as the thread's ThreadContext::function()
returns.

  • Platform/efl/DispatchQueueEfl.cpp:

(DispatchQueue::ThreadContext::start):

5:50 PM Changeset in webkit [174718] by rniwa@webkit.org
  • 4 edits
    1 delete in trunk/Websites/perf.webkit.org

Remove unused jobs table
​https://bugs.webkit.org/show_bug.cgi?id=137724

Reviewed by Daniel Bates.

Removed jobs table in the database as well as related code.

  • init-database.sql:
  • public/admin/jobs.php: Removed.
  • public/admin/tests.php:
  • public/include/admin-header.php:
5:44 PM Changeset in webkit [174717] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Fix inefficiencies in ResourceResponse::platformLazyInit(InitLevel)
​https://bugs.webkit.org/show_bug.cgi?id=137721

Reviewed by Geoffrey Garen.

There were several inefficiencies with the Mac implementation of
ResourceResponse::platformLazyInit(InitLevel):

  1. We end up initializing uncommon fields even if called with 'CommonFieldsOnly' initLevel.
  2. If called with 'AllFields' initLevel (and if currently uninitialized), we end up populating m_httpHeaderFields twice, once with only the common headers, then a second time with ALL the headers. We can skip the common-header case in this case to avoid wasting CPU time.

This patch addresses both inefficiencies and cleans up the code a
little bit to reduce variable scope and to use fast enumeration of
header names.

As a result, we spend almost twice as little time in platformLazyInit()
when loading msn.com (~30ms -> ~18ms).

No new tests, no behavior change.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformLazyInit):

5:42 PM Changeset in webkit [174716] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (Safari 7.1/8.0): Border-radius and overflow hidden renders incorrectly.
​https://bugs.webkit.org/show_bug.cgi?id=137205

Reviewed by Simon Fraser.

Child layer should not reset radius clipping behaviour.

Source/WebCore:

Test: fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping-expected.html: Added.
  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html: Added.
5:41 PM Changeset in webkit [174715] by Chris Dumez
  • 20 edits in trunk/Source

Use is<>() / downcast<>() for PlatformCAAnimation subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137722

Reviewed by Simon Fraser.

Use is<>() / downcast<>() for PlatformCAAnimation subclasses and clean
up the surrounding code.

Source/WebCore:

No new tests, no behavior change.

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::Highlight::fadeIn):
(WebCore::ServicesOverlayController::Highlight::fadeOut):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::moveOrCopyLayerAnimation):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(PlatformCAAnimationMac::copy):
(PlatformCAAnimationMac::copyTimingFunctionFrom):
(PlatformCAAnimationMac::copyFromValueFrom):
(PlatformCAAnimationMac::copyToValueFrom):
(PlatformCAAnimationMac::copyValuesFrom):
(PlatformCAAnimationMac::copyKeyTimesFrom):
(PlatformCAAnimationMac::copyTimingFunctionsFrom):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::addAnimationForKey):

  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

(PlatformCAAnimationWin::copy):
(PlatformCAAnimationWin::copyTimingFunctionFrom):
(PlatformCAAnimationWin::copyFromValueFrom):
(PlatformCAAnimationWin::copyToValueFrom):
(PlatformCAAnimationWin::copyValuesFrom):
(PlatformCAAnimationWin::copyKeyTimesFrom):
(PlatformCAAnimationWin::copyTimingFunctionsFrom):

  • platform/graphics/ca/win/PlatformCAAnimationWin.h:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::addAnimationForKey):

  • platform/graphics/ca/win/PlatformCALayerWin.h:

Source/WebKit2:

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

(WebKit::PlatformCAAnimationRemote::copy):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom):
(WebKit::PlatformCAAnimationRemote::copyFromValueFrom):
(WebKit::PlatformCAAnimationRemote::copyToValueFrom):
(WebKit::PlatformCAAnimationRemote::copyValuesFrom):
(WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::addAnimationForKey):
(WebKit::PlatformCALayerRemote::animationStarted):

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

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

5:29 PM Changeset in webkit [174714] by Chris Dumez
  • 31 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for RenderInline
​https://bugs.webkit.org/show_bug.cgi?id=137704

Reviewed by Darin Adler.

Use is<>() / downcast<>() for RenderInline and clean up the surrounding
code.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildInContinuation):

  • editing/SimplifyMarkupCommand.cpp:

(WebCore::SimplifyMarkupCommand::doApply):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
(WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
(WebCore::InlineFlowBox::attachLineBoxToRenderObject):
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paint):

  • rendering/InlineIterator.h:

(WebCore::bidiFirstSkippingEmptyInlines):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::inlineElementContinuation):
(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):
(WebCore::RenderBlockFlow::layoutLineBoxes):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::accumulateInFlowPositionOffsets):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeRemovedFromTree):

  • rendering/RenderElement.h:

(WebCore::RenderElement::dirtyLinesFromChangedChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsOverflowFromChild):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):
(WebCore::RenderInline::updateAlwaysCreateLineBoxes):
(WebCore::RenderInline::clippedOverflowRectForRepaint):

  • rendering/RenderInline.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

  • rendering/RenderLineBoxList.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::insertedIntoTree):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::willBeDestroyed):

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::removeAllFromParent):
(WebCore::RenderTextLineBoxes::dirtyRange):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::inlineLogicalWidth):
(WebCore::BreakingContext::handleEmptyInline):

  • rendering/line/LineInlineHeaders.h:

(WebCore::requiresLineBox):
(WebCore::setStaticPositions):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paint):

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

[Win] Unreviewed build fix after r174710.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::createSession):

4:58 PM Changeset in webkit [174712] by mitz@apple.com
  • 10 edits in trunk

URLs that start with ​http:/// and ​https:/// lose two slashes when parsed, causing assertion failure and inconsistent behavior
​https://bugs.webkit.org/show_bug.cgi?id=137718

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added cases to fast/loader/url-parse-1.html.

  • platform/URL.cpp:

(WebCore::URL::parse): In hierarchical schemes other than file:, ignore any additional
slashes after the :, as prescribed by the authority-ignore-slashes state in the current
URL spec.

LayoutTests:

  • fast/loader/url-parse-1-expected.txt: Updated results.
  • fast/loader/url-parse-1.html: Added a few test cases.
  • fast/url/file-http-base-expected.txt: Updated results.
  • fast/url/host-expected.txt: Ditto.
  • fast/url/invalid-urls-utf8-expected.txt: Ditto.
  • fast/url/relative-expected.txt: Ditto.
  • fast/url/standard-url-expected.txt: Ditto.
4:46 PM Changeset in webkit [174711] by rniwa@webkit.org
  • 9 edits in trunk/Websites/perf.webkit.org

New perf dashboard should have an ability to search commits by a keyword
​https://bugs.webkit.org/show_bug.cgi?id=137675

Reviewed by Geoffrey Garen.

/api/commits/ now accepts query parameters to search a commit by a keyword. Its output format changed to
include "authorEmail" and "authorName" directly as columns instead of including an "author" object.
This API change allows fetch_commits_between to generate results without processing Postgres query results.

In the front end side, we've added a search pane in pane controller, and the interactive chart component
now has a concept of highlighted items which is used to indicate commits found by the search pane.

  • public/api/commits.php:

(main): Extract query parameters: keyword, from, and to and use that to fetch appropriate commits.
(fetch_commits_between): Moved some code from main. Now takes a search term as the third argument.
We look for a commit if its author name or email contains the keyword or if its revision matches the keyword.
(format_commit): Renamed from format_commits. Now only formats one commit.

  • public/include/db.php:

(Database::query_and_fetch_all): Now returns array() when the query results is empty (instead of false).

  • public/v2/app.css: Renamed .close-button to .icon-button since it's used by a search button as well.
  • public/v2/app.js:

(App.Pane.searchCommit): Added. Finds the commits by a search term and assigns 'highlightedItems',
which is a hash table that contains highlighted items' measurements' ids as keys.
(App.PaneController.actions.toggleSearch): Toggles the visibility of the search pane. Also sets
the default commit repository.
(App.PaneController.actions.searchCommit): Delegates the work to App.Pane.searchCommit.
(App.InteractiveChartComponent._constructGraphIfPossible): Fixed a bug that we weren't removing old this._dots.
Added the code to initialize this._highlights.
(App.InteractiveChartComponent._updateDimensionsIfNeeded): Updates dimensions of highlight lines.
(App.InteractiveChartComponent._updateHighlightPositions): Added. Ditto.
(App.InteractiveChartComponent._highlightedItemsChanged): Adds vertical lines for highlighted items and deletes
the existing lines for the old highlighted items.
(App.CommitsViewerComponent.commitsChanged): Updated the code per JSON API change mentioned above.
Also fixed a bug that the code tries to update the commits viewer even if the viewer had already been destroyed.

  • public/v2/chart-pane.css: Added style for the search pane and the search button.
  • public/v2/data.js: Turned FetchCommitsForTimeRange into a class: CommitLogs.

(CommitLogs): Added.
(CommitLogs.fetchForTimeRange): Renamed from FetchCommitsForTimeRange. Takes a search term as an argument.
(CommitLogs._cachedCommitsBetween): Extracted from FetchCommitsForTimeRange.
(CommitLogs._cacheConsecutiveCommits): Ditto.
(FetchCommitsForTimeRange._cachedCommitsByRepository): Deleted.
(Measurement.prototype.commitTimeForRepository): Extracted from formattedRevisions.
(Measurement.prototype.formattedRevisions): Uses formattedRevisions. Deleted the unused code for commitTime.

  • public/v2/index.html: Added the search pane and the search button. Also removed the unused attribute binding

for showingDetails since this property is no longer used.

  • public/v2/manifest.js:

(App.Manifest.repositories): Added.
(App.Manifest.repositoriesWithReportedCommits): Ditto. Used by App.PaneController.actions.toggleSearch to find
the default repository to search.
(App.Manifest._fetchedManifest): Populates repositories and repositoriesWithReportedCommits.

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

[Win] Unreviewed build fix after r174698 and r174709.

  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::supportsKeySystem):
(WebCore::AVFWrapper::shouldWaitForLoadingOfResource):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
4:31 PM Changeset in webkit [174709] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r174698

  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::createSession):

4:23 PM Changeset in webkit [174708] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r165356): Issues with Japanese text input
​https://bugs.webkit.org/show_bug.cgi?id=137719
rdar://problem/18431952
rdar://problem/18483741

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):

In sync code path, ensure consistent message delivery order by adding
a DispatchMessageEvenWhenWaitingForSyncReply flag. This way, delayed
EditorStateChanged messages won't confuse UI process.

4:17 PM Changeset in webkit [174707] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Re-adding fast/hidpi/image-srcset-relative-svg-canvas.html, as it still fails on bots

3:43 PM Changeset in webkit [174706] by roger_fong@apple.com
  • 2 edits
    43 adds in trunk/LayoutTests

[Windows] Unreviewed gardening following r174585.

  • platform/win/TestExpectations:
  • platform/win/editing/inserting/4960120-1-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-1-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-2-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-3-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-4-expected.png: Added.
  • platform/win/editing/selection/select-across-readonly-input-4-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-5-expected.png: Added.
  • platform/win/editing/selection/select-across-readonly-input-5-expected.txt: Added.
  • platform/win/fast/block/positioning/inline-block-relposition-expected.txt: Added.
  • platform/win/fast/css/resize-corner-tracking-expected.png: Added.
  • platform/win/fast/css/resize-corner-tracking-expected.txt: Added.
  • platform/win/fast/css/text-input-with-webkit-border-radius-expected.txt: Added.
  • platform/win/fast/dom/html-link-element-activation-behavior-url-is-null-expected.txt: Added.
  • platform/win/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Added.
  • platform/win/fast/events/shadow-event-path-2-expected.txt: Added.
  • platform/win/fast/forms/003-expected.txt: Added.
  • platform/win/fast/forms/004-expected.txt: Added.
  • platform/win/fast/forms/button-default-title-expected.txt: Added.
  • platform/win/fast/forms/button-generated-content-expected.png: Added.
  • platform/win/fast/forms/button-generated-content-expected.txt: Added.
  • platform/win/fast/forms/menulist-clip-expected.png: Added.
  • platform/win/fast/forms/menulist-clip-expected.txt: Added.
  • platform/win/fast/forms/menulist-deselect-update-expected.txt: Added.
  • platform/win/fast/forms/menulist-style-color-expected.png: Added.
  • platform/win/fast/forms/menulist-style-color-expected.txt: Added.
  • platform/win/fast/forms/menulist-width-change-expected.txt: Added.
  • platform/win/fast/forms/option-script-expected.txt: Added.
  • platform/win/fast/forms/option-text-clip-expected.png: Added.
  • platform/win/fast/forms/option-text-clip-expected.txt: Added.
  • platform/win/fast/forms/select-writing-direction-natural-expected.png: Added.
  • platform/win/fast/forms/select-writing-direction-natural-expected.txt: Added.
  • platform/win/fast/forms/textarea-placeholder-visibility-1-expected.txt: Added.
  • platform/win/fast/forms/textarea-placeholder-visibility-2-expected.txt: Added.
  • platform/win/fast/forms/textarea-scrollbar-expected.png: Added.
  • platform/win/fast/forms/textarea-scrollbar-expected.txt: Added.
  • platform/win/fast/repaint/control-clip-expected.png: Added.
  • platform/win/fast/repaint/control-clip-expected.txt: Added.
  • platform/win/fast/repaint/selection-gap-fixed-child-expected.txt: Added.
  • platform/win/fast/repaint/selection-gap-flipped-fixed-child-expected.txt: Added.
  • platform/win/fast/table/append-cells2-expected.txt: Added.
  • platform/win/fast/table/remove-td-display-none-expected.txt: Added.
  • platform/win/fast/text/atsui-rtl-override-selection-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug30559-expected.txt: Added.
3:31 PM Changeset in webkit [174705] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Hide the find indicator when starting a swipe
​https://bugs.webkit.org/show_bug.cgi?id=137711

Reviewed by Tim Horton.

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::navigationGestureDidBegin):

3:23 PM Changeset in webkit [174704] by mmaxfield@apple.com
  • 6 edits in trunk/Source

Improve debug description of WAKViews
​https://bugs.webkit.org/show_bug.cgi?id=137716

Reviewed by Simon Fraser.

Source/WebCore:

No new tests because there is no behavior change.

  • platform/ios/wak/WAKView.mm:

(-[WAKView description]):

  • platform/ios/wak/WKView.h:
  • platform/ios/wak/WKView.mm:

(WKViewGetOrigin):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _touchEventRegions]): Adding a comment.

2:50 PM Changeset in webkit [174703] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Introduce an isCSSAnimated flag on RenderElement for performance
​https://bugs.webkit.org/show_bug.cgi?id=137583

Reviewed by Simon Fraser.

I noticed when profiling the ebay.com page load that isRunningAnimationOnRenderer()
and isRunningAcceleratedAnimationOnRenderer() were called frequently, causing
~4.7 millions m_compositeAnimations HashMap lookups.

This patch introduces an isCSSAnimated flag on RenderElement to return early if
there is no animation on the renderer, thus avoiding HashMap lookups. This reduces
the number of HashMap lookups from ~4.7 millions to ~68k. On my machine, I see
the following performance improvements:

  • isRunning*AnimationOnRenderer() / computeCompositingRequirements()
    • before: ~45ms / ~90ms
    • after: ~4ms / ~30ms

No new tests, no behavior change.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::isCSSAnimating):
(WebCore::RenderElement::setIsCSSAnimating):

2:33 PM Changeset in webkit [174702] by Simon Fraser
  • 2 edits in trunk/Tools

[Mac] DRT stderr logging after the test completes gets attributed to the next test

Reviewed by Alexey Proskuryakov.

DRT would send "#EOF" to stderr just after doing so to stdout, which cause any later
logging to stderr to get associated with the next test.

Fix by logging #EOF to stderr later, after we've completely finished with this test.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dumpTestResults):
(runTest):

2:33 PM Changeset in webkit [174701] by Simon Fraser
  • 30 edits in trunk/LayoutTests

Rebaseline some compositing tests that are sensitive to the visible rect, and skip
tests that rely on media loading.

  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/compositing/columns/hittest-composited-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/animating-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/rounded-contents-scale-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/scaled-ancestor-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/simple-scale-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/z-translate-expected.txt:
  • platform/ios-simulator/compositing/geometry/partial-layout-update-expected.txt:
  • platform/ios-simulator/compositing/geometry/root-layer-update-expected.txt:
  • platform/ios-simulator/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt:
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • platform/ios-simulator/compositing/overflow/overflow-positioning-expected.txt:
  • platform/ios-simulator/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/ios-simulator/compositing/tiling/tiled-layer-resize-expected.txt:
  • platform/ios-simulator/compositing/transitions/singular-scale-transition-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/2d-transformed-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/3d-transform-style-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/3d-transformed-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/animated-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/animated-from-none-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/clipped-by-viewport-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/clipped-visible-rect-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/flipped-preserve-3d-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/iframe-and-layers-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/nested-transform-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/scrolled-expected.txt:
1:59 PM Changeset in webkit [174700] by dino@apple.com
  • 11 edits in trunk/Source/WebCore

Crash in WebCore::UserGestureIndicator::processingUserGesture with WebWorkers
​https://bugs.webkit.org/show_bug.cgi?id=137676
<rdar://problem/15735049>

Reviewed by Alexey Proskuryakov.

Remove the code I added that tracks the timestamp of the most recent
user gesture from the event handling dispatch, as it was both
a silly place to do it and it originally crashed when events were fired from
Worker threads (although this was fixed in r152238).

It's now recorded by going through UserGestureIndicator, which is good because
it knows when a user has triggered an event. Its constructor now takes
a pointer to Document, and updates the timestamp there if necessary.

Not all UserGestureIndicator instances needed to reset the timestamp; Those did
not have to pass along the Document.

This is untestable due to the fix mentioned above.

  • WebCore.exp.in: Change constructor signature.
  • accessibility/AccessibilityNodeObject.cpp: Pass a pointer to the Document into the UserGestureIndicator.

(WebCore::AccessibilityNodeObject::increment):
(WebCore::AccessibilityNodeObject::decrement):

  • accessibility/AccessibilityObject.cpp: Ditto.

(WebCore::AccessibilityObject::press):

  • dom/Document.cpp:

(WebCore::Document::updateLastHandledUserGestureTimestamp): Renamed.

  • dom/Document.h:
  • dom/EventTarget.cpp: Remove the code to update the timestamp.

(WebCore::EventTarget::fireEventListeners):

  • dom/UserGestureIndicator.cpp:

(WebCore::UserGestureIndicator::UserGestureIndicator): If there is a Document and
this is a user gesture, then reset the timestamp.

  • dom/UserGestureIndicator.h:
  • page/EventHandler.cpp: Pass a pointer to the Document.

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTouchEvent):

  • rendering/HitTestResult.cpp: Ditto.

(WebCore::HitTestResult::toggleMediaFullscreenState):
(WebCore::HitTestResult::enterFullscreenForVideo):

1:36 PM Changeset in webkit [174699] by Brent Fulgham
  • 11 edits in trunk

Source/JavaScriptCore:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

Source/WebCore:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

  • WebCore.vcxproj: Modified property svn:ignore.

Source/WebKit:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

  • WebKit.vcxproj: Modified property svn:ignore.

Source/WTF:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf files.

  • WTF.vcxproj: Modified property svn:ignore.

Tools:
[Win] Unreviewed gardening. Ignore Visual Studio *.sdf temporary files.

  • DumpRenderTree/DumpRenderTree.vcxproj: Modified property svn:ignore.
1:09 PM Changeset in webkit [174698] by Brent Fulgham
  • 5 edits in trunk

[Win] Enable Encrypted Media Support
​https://bugs.webkit.org/show_bug.cgi?id=137710
<rdar://problem/18652699>

Reviewed by Jer Noble.

Source/WebCore:

This feature is covered by existing media tests.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::destroyAVFWrapper): Remove redundant ASSERT.

  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(displayOnMainThreadContext::displayOnMainThreadContext): Added.
(redispatchOnMainQueue): Added.
(PlatformCALayerWinInternal::displayCallback): Check if a display
call is happening on a background queue, and re-dispatch on the
main thread if necessary.

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props: Activate the

ENCRYPTED_MEDIA_V2 flag on Windows.

12:30 PM Changeset in webkit [174697] by jdiggs@igalia.com
  • 6 edits in trunk/LayoutTests

REGRESSION(r174567): [GTK] Layout Tests platform/gtk/accessibility/aria-table-hierarchy.html and platform/gtk/accessibility/table-hierarchy.html fail
​https://bugs.webkit.org/show_bug.cgi?id=137697

These tests were overlooked when updating tests to reflect the correct
mapping for ColumnHeaderRole and RowHeaderRole in ATK.

Reviewed by Chris Fleizach.

  • platform/gtk/TestExpectations: Remove two failing tests.
  • platform/gtk/accessibility/aria-table-hierarchy-expected.txt: Updated expectations.
  • platform/gtk/accessibility/aria-table-hierarchy.html: Updated in-test shouldBe values for headers.
  • platform/gtk/accessibility/table-hierarchy-expected.txt: Updated expectations.
  • platform/gtk/accessibility/table-hierarchy.html: Updated in-test shouldBe values for headers.
12:29 PM Changeset in webkit [174696] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: paint flashing mode should be disabled when remote inspecting legacy iOS versions
​https://bugs.webkit.org/show_bug.cgi?id=137575

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-14
Reviewed by Simon Fraser.

Remove setShowPaintRects from the legacy iOS protocol definitions.
The methods were unimplemented by the backends, so they should
not advertise supporting it.

  • UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/InspectorWeb-iOS-8.0.json:
12:24 PM Changeset in webkit [174695] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Avoid unnecessary dictionary lookup in ImageSource::isSizeAvailable()
​https://bugs.webkit.org/show_bug.cgi?id=137701

Reviewed by Simon Fraser.

The CG implementation of ImageSource::isSizeAvailable() was looking up
both the width and the height keys in the dictionary before determining
if the size is available. We can abort early and return false if the
first key (the width) is missing, thus avoiding an extra dictionary
lookup in this case.

This is a small win but ImageSource::isSizeAvailable() is called quite
frequently during page loads

No new tests, no behavior change.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::isSizeAvailable):

12:22 PM Changeset in webkit [174694] by mmirman@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Removes references to LLVMJIT which is no longer part of LLVM
​https://bugs.webkit.org/show_bug.cgi?id=137708

Reviewed by Filip Pizlo.

  • Configurations/LLVMForJSC.xcconfig: removed -lLLVMJIT
  • llvm/LLVMAPIFunctions.h: removed LinkInJIT
12:12 PM Changeset in webkit [174693] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[cmake] Fix the make build after r174683
​https://bugs.webkit.org/show_bug.cgi?id=137703

Reviewed by Martin Robinson.

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject):

11:36 AM Changeset in webkit [174692] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Windows] Add some logging to debug random crashing when running layout tests on Windows.

  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read):

11:32 AM Changeset in webkit [174691] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unnecessary logging from SimpleFontData
​https://bugs.webkit.org/show_bug.cgi?id=137699

Reviewed by Andreas Kling.

Because of web fonts, fonts that don't have a glyph page 0 are common and expected. Printing out a
message is not helpful, especially if you're not dealing with a font-related piece of WebKit.

No new tests because there is no behavior change.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::platformGlyphInit):

11:24 AM Changeset in webkit [174690] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Adding myself to the watchlist to CachedFont

Unreviewed.

  • Scripts/webkitpy/common/config/watchlist:
11:05 AM Changeset in webkit [174689] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Addressing post-review comment.
​https://bugs.webkit.org/show_bug.cgi?id=137550

Unreviewed.

  • WebView/WebHTMLView.mm:

(fontNameForDescription):
(-[WebHTMLView _addToStyle:fontA:fontB:]):

10:57 AM Changeset in webkit [174688] by mhock@apple.com
  • 2 edits in trunk/Source/WebCore

Update ViewportConfiguration whenever its size attributes change
​https://bugs.webkit.org/show_bug.cgi?id=137682
rdar://problem/18643655

Reviewed by Benjamin Poulain.

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::setMinimumLayoutSize):
(WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI):

10:53 AM Changeset in webkit [174687] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Web Inspector: Processing Instruction Nodes appear poorly in DOM Tree
​https://bugs.webkit.org/show_bug.cgi?id=137681

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-14
Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):
Include the nodeName, localName, and nodeValue (string data)
properties for processing instruction nodes.

Source/WebInspectorUI:

Handle processing instruction node types in more places. The
backend sends the contents as a pure string, not as attribute
pairs, so just include the string in the UI.

  • UserInterface/Models/DOMSearchMatchObject.js:

(WebInspector.DOMSearchMatchObject.prototype._generateClassName):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
Display the value in the UI.

  • UserInterface/Views/DOMTreeElementPathComponent.js:

(WebInspector.DOMTreeElementPathComponent):
Include an icon like DOCTYPE.

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.syntax-highlighted .html-processing-instruction):
Style gray like a DOCTYPE.

10:31 AM Changeset in webkit [174686] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for RenderFrame / RenderFrameSet
​https://bugs.webkit.org/show_bug.cgi?id=137696

Reviewed by Darin Adler.

Use is<>() / downcast<>() for RenderFrame / RenderFrameSet.

No new tests, no behavior change.

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::defaultEventHandler):

  • rendering/RenderFrame.cpp:

(WebCore::RenderFrame::updateFromElement):

  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::computeEdgeInfo):
(WebCore::RenderFrameSet::positionFramesWithFlattening):

  • rendering/RenderFrameSet.h:
10:29 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:18 AM Changeset in webkit [174685] by clopez@igalia.com
  • 13 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Report new failures and update expectations.
  • platform/gtk/css3/selectors3/html/css3-modsel-61-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/html/css3-modsel-83-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-61-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-83-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xml/css3-modsel-61-expected.txt: Rebaseline after r174535.
  • platform/gtk/css3/selectors3/xml/css3-modsel-83-expected.txt: Rebaseline after r174535.
  • platform/gtk/fast/borders/bidi-002-expected.txt: Rebaseline after r174160.
  • platform/gtk/fast/borders/bidi-009a-expected.txt: Rebaseline after r174160.
  • platform/gtk/fast/selectors/061-expected.txt: Rebaseline after r174535.
  • platform/gtk/fast/selectors/083-expected.txt: Rebaseline after r174535.
  • platform/gtk/mathml/opentype/horizontal-expected.txt: Rebaseline after r174540.
10:10 AM Changeset in webkit [174684] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry
​https://bugs.webkit.org/show_bug.cgi?id=126975

Patch by Youenn Fablet <​youennf@gmail.com> on 2014-10-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Merging ​https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4
Ensuring new test from ​https://codereview.chromium.org/76133002/ is passing.

Test: http/tests/xmlhttprequest/reentrant-cancel-abort.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::abort): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::internalAbort): ask calling function to exit early if a new loader is created during the cancellation of the loader (potential reentrant case through window.onload callback)
(WebCore::XMLHttpRequest::didTimeout): exit early if internalAbort asks so

  • xml/XMLHttpRequest.h:

LayoutTests:

Adding reentrant-cancel-abort.html (from ​https://codereview.chromium.org/76133002/)
that crashes without the patch
Updated reentrant-cancel.html test to expect the exception
that is now hit in initSend function (since a XHR open() call is aborted)

  • http/tests/xmlhttprequest/reentrant-cancel-abort-expected.txt: Added.
  • http/tests/xmlhttprequest/reentrant-cancel-abort.html: Added.
  • http/tests/xmlhttprequest/reentrant-cancel.html:
9:42 AM Changeset in webkit [174683] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[EFL][GTK] Make it possible to get verbose output with ninja
​https://bugs.webkit.org/show_bug.cgi?id=137606

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject):

9:25 AM Changeset in webkit [174682] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Win32] Thunk is not implemented.
​https://bugs.webkit.org/show_bug.cgi?id=137691

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-10-14
Reviewed by Mark Lam.

Thunks for functions with double operands (floor, etc.) are not implemented on Win32.

  • jit/ThunkGenerators.cpp:
9:03 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:09 AM Changeset in webkit [174681] by evab.u-szeged@partner.samsung.com
  • 3 edits in trunk/Tools

[EFL] Make it possible to use ninja for EFL build too
​https://bugs.webkit.org/show_bug.cgi?id=137605

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject):

  • efl/install-dependencies:
3:56 AM Changeset in webkit [174680] by alex
  • 1 edit
    2 adds in trunk/LayoutTests

Add test to check stretchy value is case sensitive
​https://bugs.webkit.org/show_bug.cgi?id=137602

Reviewed by Darin Adler.

  • mathml/presentation/mo-stretchy-case-sensitive-expected.html: Added.
  • mathml/presentation/mo-stretchy-case-sensitive.html: Added.
3:49 AM Changeset in webkit [174679] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[GTK] Minibrowser : Add home buton and keyboard support for home page load
​https://bugs.webkit.org/show_bug.cgi?id=137486

Patch by Rohit Kumar <​kumar.rohit@samsung.com> on 2014-10-14
Reviewed by Philippe Normand.

  • MiniBrowser/gtk/BrowserWindow.c:

(loadHomePage): Callback for home page load.
(browser_window_init):

  • MiniBrowser/gtk/BrowserWindow.h:
  • MiniBrowser/gtk/main.c:

(main):

3:05 AM Changeset in webkit [174678] by alex
  • 5 edits in trunk/Source/WebCore

Multiple refactors in RenderMathMLOperator
​https://bugs.webkit.org/show_bug.cgi?id=137611

Reviewed by Darin Adler.

The changes include:

  • Rename m_operator to m_textContent.
  • Make most of the functions private, we needed to create some

public member functions to be able to make the some funtions private
and move trailingSpaceError to RenderMathMLOperator.

  • Fix incorrect capitalization of setOperatorProperties function.
  • Make all data members private and move them to the end of the

class defition.

No new tests as no change in functionality.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorProperties): Renamed,
incorrect capitalization
(WebCore::RenderMathMLOperator::stretchTo):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::rebuildTokenContent):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::updateOperatorProperties):
(WebCore::RenderMathMLOperator::shouldAllowStretching):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::trailingSpaceError):
(WebCore::RenderMathMLOperator::SetOperatorProperties): Deleted.
(WebCore::RenderMathMLOperator::advanceForGlyph): Deleted.
(WebCore::RenderMathMLOperator::updateTokenContent): Deleted.
(WebCore::RenderMathMLOperator::getGlyphAssemblyFallBack): Deleted.

  • rendering/mathml/RenderMathMLOperator.h:

(WebCore::RenderMathMLOperator::setLeadingSpace): Added.
(WebCore::RenderMathMLOperator::setTrailingSpace): Added.
(WebCore::RenderMathMLOperator::textContent): Added.
(WebCore::RenderMathMLOperator::isInvisibleOperator):

  • rendering/mathml/RenderMathMLRadicalOperator.cpp:

(WebCore::RenderMathMLRadicalOperator::setOperatorProperties):
Renamed, incorrect capitalization
(WebCore::RenderMathMLRadicalOperator::SetOperatorProperties): Deleted.
(WebCore::RenderMathMLRadicalOperator::trailingSpaceError): Deleted.

  • rendering/mathml/RenderMathMLRadicalOperator.h:
2:53 AM Changeset in webkit [174677] by alex
  • 6 edits in trunk

Changes in the stretchy attribute do not update rendering
​https://bugs.webkit.org/show_bug.cgi?id=136883

Reviewed by Darin Adler.

Source/WebCore:

Test: mathml/presentation/mo-stretch-update.html

We need to relayout when a change in the stretchy attribute
happens.

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::parseAttribute): Parse the
modifications of the stretchy attribute.

  • mathml/MathMLTextElement.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::setOperatorFlagAndScheduleLayoutIfNeeded):
Add function that receives the value instead of looking for it and
checks if the change should schedule a layout.
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue):
Add function that receives the value instead of looking for it.

  • rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

The test updates the stretchy value in a timeout.

  • mathml/presentation/mo-stretch-update-expected.html: Added.
  • mathml/presentation/mo-stretch-update.html: Added.
2:07 AM Changeset in webkit [174676] by Chris Dumez
  • 31 edits in trunk/Source

Use is<>() / downcast<>() for RenderImage
​https://bugs.webkit.org/show_bug.cgi?id=137683

Reviewed by Mihnea Ovidenie.

Use is<>() / downcast<>() for RenderImage.

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::alternativeText):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):

  • bindings/objc/DOM.mm:

(-[DOMElement image]):
(-[DOMElement _imageTIFFRepresentation]):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleReplacedElement):

  • editing/cocoa/HTMLConverter.mm:

(fileWrapperForElement):

  • editing/gtk/EditorGtk.cpp:

(WebCore::getImageForElement):

  • editing/ios/EditorIOS.mm:

(WebCore::getImage):

  • editing/mac/EditorMac.mm:

(WebCore::getImage):

  • html/HTMLAnchorElement.cpp:

(WebCore::appendServerMapMousePosition):

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::setFocus):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::createImageControls):
(WebCore::HTMLImageElement::destroyImageControls):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::didAttachRenderers):
(WebCore::HTMLVideoElement::parseAttribute):

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::altAttributeChanged):
(WebCore::ImageInputType::attach):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::size):

  • html/shadow/mac/ImageControlsRootElementMac.cpp:

(WebCore::RenderImageControls::updateLogicalWidth):
(WebCore::RenderImageControls::computeLogicalHeight):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::renderImageResource):

  • page/ContextMenuController.cpp:

(WebCore::imageFromImageElementNode):

  • page/DragController.cpp:

(WebCore::getCachedImage):
(WebCore::getImage):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writeImage):
(WebCore::getCachedImage):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::image):

  • rendering/RenderImage.h:
  • rendering/RenderImageResource.cpp:

(WebCore::RenderImageResource::getImageSize):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
(WebCore::RenderLayerBacking::updateImageContents):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage):

Source/WebKit/mac:

  • Misc/WebNSPasteboardExtras.mm:

(imageFromElement):
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::cachedImage):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

1:18 AM Changeset in webkit [174675] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

[AX] Improve AccessibilityTableCell columnHeaders and rowHeaders functions.
​https://bugs.webkit.org/show_bug.cgi?id=136818

Patch by Andrzej Badowski <​a.badowski@samsung.com> on 2014-10-14
Reviewed by Chris Fleizach.

Source/WebCore:

Take into account that <th> elements can be both the column headers and row headers
improved the operation of two functions: columnHeaders and rowHeaders.

Test: accessibility/table-headers.html

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::isColumnHeaderCell):
A new function that helps the main goal.
(WebCore::AccessibilityTableCell::isRowHeaderCell):
A new function that helps the main goal.
(WebCore::AccessibilityTableCell::columnHeaders):
Use isColumnHeaderCell instead of isTableHeaderCell.
(WebCore::AccessibilityTableCell::rowHeaders):
Use isRowHeaderCell also includes <th> row header element next to the scope attribute.

  • accessibility/AccessibilityTableCell.h:

Adds new functions to the header file.

LayoutTests:

  • accessibility/table-headers-expected.txt: Added.
  • accessibility/table-headers.html: Added.
  • platform/mac/accessibility/table-attributes-expected.txt:
  • platform/mac/accessibility/table-cells-expected.txt:
  • platform/mac/accessibility/table-sections-expected.txt:
1:14 AM Changeset in webkit [174674] by Csaba Osztrogonác
  • 5 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO) build after r174353
​https://bugs.webkit.org/show_bug.cgi?id=137655

Reviewed by Darin Adler.

  • dom/Document.cpp:
  • dom/Document.h:
  • page/Page.cpp:
  • page/Page.h:
1:11 AM Changeset in webkit [174673] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Compile error in CurlDownload.cpp.
​https://bugs.webkit.org/show_bug.cgi?id=137654

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-10-14
Reviewed by Philippe Normand.

A template specialization is not needed anymore.

  • platform/network/curl/CurlDownload.cpp:
1:08 AM Changeset in webkit [174672] by Manuel Rego Casasnovas
  • 4 edits in trunk/Tools

import-w3c-tests doesn't prefix property values
​https://bugs.webkit.org/show_bug.cgi?id=137600

Reviewed by Bem Jones-Bey.

Some property values are prefixed in WebKit. Modified the W3C import
script in order to prefix property values and not only properties.
The patch re-uses most of the already existent logic to prefix
properties.

  • Scripts/webkitpy/w3c/test_converter.py: Read prefixed property values

from CSSValueKeywords.in and adapt converter to modify both properties
and property values.
(convert_for_webkit):
(_W3CTestConverter.init):
(_W3CTestConverter.output):
(_W3CTestConverter.read_webkit_prefixed_css_property_list):
(_W3CTestConverter):
(_W3CTestConverter.add_webkit_prefix_to_unprefixed_properties_and_values):
(_W3CTestConverter.add_webkit_prefix_following_regex):
(_W3CTestConverter.convert_reference_relpaths):
(_W3CTestConverter.convert_style_data):
(_W3CTestConverter.convert_attributes_if_needed):
(_W3CTestConverter.add_webkit_prefix_to_unprefixed_properties): Deleted.

  • Scripts/webkitpy/w3c/test_converter_unittest.py: Updated unit test to

include checks for property values too.
(W3CTestConverterTest.test_read_prefixed_property_list):
(verify_no_conversion_happened):
(verify_prefixed_properties):
(verify_prefixed_property_values):
(generate_test_content_properties_and_values):
(generate_test_content):

  • Scripts/webkitpy/w3c/test_importer.py: Modified importer to manage

prefixed property values and inform about them.
(TestImporter.import_tests):
(TestImporter.write_import_log):

Oct 13, 2014:

11:58 PM Changeset in webkit [174671] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK][CMake] Non-ninja build is broken since r174422
​https://bugs.webkit.org/show_bug.cgi?id=137656

Reviewed by Philippe Normand.

Make WebKit2-forwarding-headers depend only on static,
non-generated sources.

  • CMakeLists.txt:
  • PlatformGTK.cmake:
9:43 PM Changeset in webkit [174670] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Paint Flashing button does not match page state after reload
​https://bugs.webkit.org/show_bug.cgi?id=137680

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.loaded):
Make paint flashing a frontend setting. Enable it when the inspector
is opened if it was previously enabled.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):
(WebInspector.DOMTreeContentView.prototype._showPaintRectsSettingChanged):
Have the paint flashing button always match the global setting.

6:31 PM Changeset in webkit [174669] by benjamin@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add test coverage for the more complex cases of :not()
​https://bugs.webkit.org/show_bug.cgi?id=137671

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-10-13
Reviewed by Andreas Kling.

Those tests cover the future CSS JIT support of :not(). I'll to the implementation
split over multiple patch, better put the tests first.

  • fast/selectors/not-backtracking-expected.txt: Added.
  • fast/selectors/not-backtracking.html: Added.
  • fast/selectors/not-boundaries-expected.txt: Added.
  • fast/selectors/not-boundaries.html: Added.
6:30 PM Changeset in webkit [174668] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Source/WebCore:
Web Inspector: Remove unused stale Page protocol methods
​https://bugs.webkit.org/show_bug.cgi?id=137678

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Andreas Kling.

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::canShowDebugBorders): Deleted.
(WebCore::InspectorClient::setShowDebugBorders): Deleted.
(WebCore::InspectorClient::canShowFPSCounter): Deleted.
(WebCore::InspectorClient::setShowFPSCounter): Deleted.
(WebCore::InspectorClient::canContinuouslyPaint): Deleted.
(WebCore::InspectorClient::setContinuousPaintingEnabled): Deleted.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::canShowDebugBorders): Deleted.
(WebCore::InspectorPageAgent::setShowDebugBorders): Deleted.
(WebCore::InspectorPageAgent::canShowFPSCounter): Deleted.
(WebCore::InspectorPageAgent::setShowFPSCounter): Deleted.
(WebCore::InspectorPageAgent::canContinuouslyPaint): Deleted.
(WebCore::InspectorPageAgent::setContinuousPaintingEnabled): Deleted.

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

Source/WebInspectorUI:
Web Inspector: Improve appearance of alpha color swatches
​https://bugs.webkit.org/show_bug.cgi?id=137627

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-13
Reviewed by Andreas Kling.

  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
  • Versions/InspectorWeb-iOS-8.0.json:
6:16 PM Changeset in webkit [174667] by jer.noble@apple.com
  • 2 edits in trunk/Tools

MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
​https://bugs.webkit.org/show_bug.cgi?id=137533

Reviewed by Andy Estes.

Follow up patch; bail out of the test early (without failing) if the platform does not support MSE.

  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:

(TestWebKitAPI::isMSEEnabledCallback):
(TestWebKitAPI::TEST):

5:22 PM Changeset in webkit [174666] by eric.carlson@apple.com
  • 11 edits in trunk/Source/WebCore

[iOS] Refactor AirPlay monitoring code
​https://bugs.webkit.org/show_bug.cgi?id=137645
<rdar://problem/18444817>

Reviewed by Jer Noble.

Refactor AirPlay route change monitoring code:
+ Have MediaSessionManager register/unregister for route changes depending on the state of

all sessions so it does the right thing when there is more than one media element.

+ Make HTMLMediaElement unregister with MediaSession as soon as the media player is cleared

because there can be no wireless playback without a player.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement): Call mediaSession->setHasPlaybackTargetAvailabilityListeners

when there are target availability changed listeners.

(WebCore::HTMLMediaElement::clearMediaPlayer): Ditto.
(WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): New, media session client method.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession): Initialize m_hasPlaybackTargetAvailabilityListeners.
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Remember whether or not

the client has a target availability listener and tell the media session manager to reconfigure
itself instead of telling it to start or stop listening for route changes so it does the
right thing when there is more than one media element.

  • html/HTMLMediaSession.h:

(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Return true when the client

has a target availability listener, false otherwise.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::wirelessRoutesAvailableDidChange): Inform the client that routes have changed.

  • platform/audio/MediaSession.h:

(WebCore::MediaSession::requiresPlaybackTargetRouteMonitoring):
(WebCore::MediaSessionClient::wirelessRoutesAvailableDidChange):

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::wirelessRoutesAvailableChanged): Implement it.

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::configureWireLessTargetMonitoring):
(WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManager::sessions):
(WebCore::MediaSessionManager::startMonitoringAirPlayRoutes): Deleted.
(WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes): Deleted.

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring): Start or stop monitoring

for route changes depending on client state.

(WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes): Deleted.
(WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes): Deleted.

4:46 PM Changeset in webkit [174665] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Return value of createImageSourceOptions() is leaked in ImageSourceCG
​https://bugs.webkit.org/show_bug.cgi?id=137677

Reviewed by Simon Fraser.

The return value of createImageSourceOptions() was leaked in
ImageSourceCG.cpp. It was returning a CFDictionaryRef created using
CFDictionaryCreate(). Therefore, the return value should have been
released but wasn't.

This patch makes createImageSourceOptions() return a
RetainPtr<CFDictionaryRef> to make sure the CFDictionaryRef properly
gets released after use.

No new tests, no behavior change.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::createImageSourceOptions):
(WebCore::imageSourceOptions):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):

4:10 PM Changeset in webkit [174664] by Brent Fulgham
  • 15 edits
    4 adds in trunk

[Win] Implement a page load profiling tool
​https://bugs.webkit.org/show_bug.cgi?id=137673

Reviewed by Dean Jackson.

Source/WebKit/win:

Add a new predicate (isMainFrame) to the IWebFrame interface so
that we can make decisions about a frames position in the page
load hierarchy in client programs.

  • Interfaces/IWebFrame.idl: Added new isMainFrame

predicate to interface definition.

  • WebFrame.cpp:

(WebFrame::isMainFrame): Added.

  • WebFrame.h:

Tools:

Add a tool to capture and summarize page load statistics.

  • WinLauncher/Common.cpp:

(parseCommandLine): Move from WinMain.cpp so that it can
be shared with internal tools.

  • WinLauncher/PageLoadTestClient.cpp: Added.

(PageLoadTestClient::PageLoadTestClient):
(PageLoadTestClient::pageLoadStartedAtTime):
(PageLoadTestClient::didStartProvisionalLoad):
(PageLoadTestClient::didCommitLoad):
(PageLoadTestClient::didFirstLayoutForMainFrame):
(PageLoadTestClient::didHandleOnLoadEvents):
(PageLoadTestClient::didFinishLoad):
(PageLoadTestClient::didFailLoad):
(PageLoadTestClient::didInitiateResourceLoad):
(PageLoadTestClient::didEndResourceLoad):
(PageLoadTestClient::pageLoadEndedAtTime):
(PageLoadTestClient::endPageLoad):
(PageLoadTestClient::clearPageLoadState):
(PageLoadTestClient::shouldConsiderPageLoadEnded):
(PageLoadTestClient::maybeEndPageLoadSoon):
(PageLoadTestClient::setPageURL):
(PageLoadTestClient::dumpRunStatistics):

  • WinLauncher/PrintWebUIDelegate.cpp:

(PrintWebUIDelegate::createWebViewWithRequest): Handle
nullptr URL properly.

  • WinLauncher/ResourceLoadDelegate.cpp: Added.

(ResourceLoadDelegate::QueryInterface):
(ResourceLoadDelegate::AddRef):
(ResourceLoadDelegate::Release):
(ResourceLoadDelegate::identifierForInitialRequest):
(ResourceLoadDelegate::willSendRequest):
(ResourceLoadDelegate::didReceiveAuthenticationChallenge):
(ResourceLoadDelegate::didCancelAuthenticationChallenge):
(ResourceLoadDelegate::didReceiveResponse):
(ResourceLoadDelegate::didReceiveContentLength):
(ResourceLoadDelegate::didFinishLoadingFromDataSource):
(ResourceLoadDelegate::didFailLoadingWithError):
(ResourceLoadDelegate::plugInFailedWithError):

  • WinLauncher/ResourceLoadDelegate.h: Added.

(ResourceLoadDelegate::ResourceLoadDelegate):

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::WinLauncher): Accept argument to indicate we want to capture
page loading statistics.
(WinLauncher::setFrameLoadDelegatePrivate): Get rid of stub implementation
and set private load delegate state.
(WinLauncher::setResourceLoadDelegate): Replace stub with a full implementation
that sets the view's resource load delegate.
(WinLauncher::loadURL): If no URL is passed, load the test document.

  • WinLauncher/WinLauncher.h:

(WinLauncher::pageLoadTestClient):

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj: Updated for new source files.
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters: Ditto.
  • WinLauncher/WinLauncherWebHost.cpp:

(WinLauncherWebHost::updateAddressBar): Hook into page load statistics routine.
(WinLauncherWebHost::loadURL): Moved 'SendMessage' call to its own method so that
it could be used from other source files.
(WinLauncherWebHost::didFinishLoadForFrame): Added overload to capture statistics.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Ditto.
(WinLauncherWebHost::didFailLoadWithError): Ditto.
(WinLauncherWebHost::didHandleOnloadEventsForFrame): Ditto.
(WinLauncherWebHost::didFirstLayoutInFrame): Ditto.
(WinLauncherWebHost::didFinishDocumentLoadForFrame): Ditto.
(WinLauncherWebHost::didFirstVisuallyNonEmptyLayoutInFrame): Ditto.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Deleted.

  • WinLauncher/WinLauncherWebHost.h:
  • WinLauncher/WinMain.cpp:

(wWinMain): Create and use new delegates for gathering page load data.

  • WinLauncher/stdafx.h: Need to add <wtf/Platform> include for various macros used in build.
3:46 PM Changeset in webkit [174663] by Yusuke Suzuki
  • 7 edits
    2 adds in trunk

CSS JIT: Implement :visited pseudo class
​https://bugs.webkit.org/show_bug.cgi?id=135293

Reviewed by Benjamin Poulain.

Source/WebCore:

This patch implements CSS JIT for :visited. And it makes :not(:link) JIT-ed.
Following the design discussed at the other bug[1], implemented :visited JIT
without tracking VisitedMatchEnabled state.

In this patch, we change the semantics of :visited / :link
inside functional pseudo classes for further CSS Selector Level 4 extensions.

Edge cases are tested by the existing tests.
:not(:link)

fast/history/link-inside-not.html

:not(:visited)

fast/history/visited-inside-not.html

:-webkit-any(:link)

fast/history/link-inside-any.html

:-webkit-any(:visited)

fast/history/visited-inside-any.html

[1]: ​https://bugs.webkit.org/show_bug.cgi?id=135639

Test: fast/history/link-inside-not-inside-any.html

To cover the :-webkit-any(:not(:link)), added new tests.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateRightmostTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstLink):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateStoreLastVisitedElement):

LayoutTests:

To cover the :-webkit-any(:not(:link)), added new tests.

  • TestExpectations:
  • fast/history/link-inside-not-expected.txt:
  • fast/history/link-inside-not-inside-any-expected.txt: Added.
  • fast/history/link-inside-not-inside-any.html: Added.
  • fast/history/link-inside-not.html:
3:44 PM Changeset in webkit [174662] by Simon Fraser
  • 5 edits in trunk

Improve the test image diffs page
​https://bugs.webkit.org/show_bug.cgi?id=137674

Reviewed by Alexey Proskuryakov.

Tools:

Don't treat the input file as a format string, otherwise we have to escape special
characters. Just do a couple of replaces.

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

(TestResultWriter.write_image_diff_files):

LayoutTests:

New version of the image diff page that has the diff images in-place, and allows
for control of the image toggling.

  • fast/harness/image-diff-template-expected.txt:
  • fast/harness/image-diff-template.html:
3:35 PM Changeset in webkit [174661] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Use modern loops in RenderLayerCompositor
​https://bugs.webkit.org/show_bug.cgi?id=137670

Reviewed by Simon Fraser.

Use modern range for-loops in RenderLayerCompositor.

No new tests, no behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::OverlapMapContainer::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::RectList::intersects):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush):
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::resetTrackedRepaintRectsRecursive):
(WebCore::RenderLayerCompositor::layerHas3DContent):
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
(WebCore::RenderLayerCompositor::registerAllScrollingLayers):
(WebCore::RenderLayerCompositor::unregisterAllScrollingLayers):

3:30 PM Changeset in webkit [174660] by Antti Koivisto
  • 2 edits in trunk/Source/WTF

Add StringCapture helper for thread-safe lambda capture
​https://bugs.webkit.org/show_bug.cgi?id=137664

Reviewed by Anders Carlsson.

There is currently no clean way to capture a String in a thread-safe manner. This will now work:

StringCapture stringCapture(string);
auto lambdaThatRunsInAnotherThread = [stringCapture] { String string = stringCapture.string(); ... }

This type won't be necessary with C++14 initialized lambda capture: [string = string.isolatedCopy()].

  • wtf/text/WTFString.h:

(WTF::StringCapture::StringCapture): Create isolated copy in copy-constructor.
(WTF::StringCapture::string):

2:58 PM Changeset in webkit [174659] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Unreviewed build fix after r174555.

  • public/include/manifest.php:

(ManifestGenerator::generate): Assign an empty array to $repositories_with_commit when there are no commits.

  • tests/admin-regenerate-manifest.js: Fixed the test case.
2:33 PM Changeset in webkit [174658] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop unnecessary overlapMap null checks in computeCompositingRequirements()
​https://bugs.webkit.org/show_bug.cgi?id=137668

Reviewed by Andreas Kling.

Drop unnecessary overlapMap null checks in computeCompositingRequirements().
The function is never called with a null overlapMap so we can make the
argument a reference and drop all the null checks.

No new tests, no behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):

  • rendering/RenderLayerCompositor.h:
1:59 PM Changeset in webkit [174657] by Chris Dumez
  • 19 edits in trunk/Source

Use is<>() / downcast<>() for PlatformCALayer subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137661

Reviewed by Simon Fraser.

Source/WebCore:

Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up
the surrounding code.

No new tests, no behavior change.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateReplicatedLayers):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::fetchCloneLayers): Deleted.

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::TileCoverageMap):

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::ensureTilesForRect):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::clone):
(PlatformCALayerMac::appendSublayer):
(PlatformCALayerMac::insertSublayer):
(PlatformCALayerMac::replaceSublayer):
(PlatformCALayerMac::adoptSublayers):
(PlatformCALayerMac::copyFiltersFrom):

  • platform/graphics/ca/win/CACFLayerTreeHost.cpp:

(WebCore::CACFLayerTreeHost::setRootChildLayer):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::clone):
(PlatformCALayerWin::rootLayer):
(PlatformCALayerWin::appendSublayer):
(PlatformCALayerWin::insertSublayer):
(PlatformCALayerWin::replaceSublayer):
(PlatformCALayerWin::adoptSublayers):
(PlatformCALayerWin::copyFiltersFrom):

  • platform/graphics/ca/win/PlatformCALayerWin.h:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::insertSublayer):

  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:

Source/WebKit/win:

Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up
the surrounding code.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::enterFullscreen):

Source/WebKit2:

Use is<>() / downcast<>() for PlatformCALayer subclasses and clean up
the surrounding code.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::~PlatformCALayerRemote):
(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::setSublayers):
(WebKit::PlatformCALayerRemote::appendSublayer):
(WebKit::PlatformCALayerRemote::insertSublayer):
(WebKit::PlatformCALayerRemote::replaceSublayer):
(WebKit::PlatformCALayerRemote::adoptSublayers):
(WebKit::PlatformCALayerRemote::setMask):
(WebKit::PlatformCALayerRemote::copyFiltersFrom):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::buildTransaction):

11:50 AM Changeset in webkit [174656] by clopez@igalia.com
  • 2 edits in trunk/Tools

[XvfbDriver] Regular expression used to match running X servers fails on Fedora 21.
​https://bugs.webkit.org/show_bug.cgi?id=137659

Reviewed by Martin Robinson.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver._next_free_display): Update the regular expression to also match Xorg.bin

11:46 AM Changeset in webkit [174655] by ap@apple.com
  • 3 edits in trunk/Tools

Add more detailed wait time information to EWS metrics
​https://bugs.webkit.org/show_bug.cgi?id=137649

Reviewed by Daniel Bates.

Added average and worst time (we used to only have median), and also a percentage
of patches that took a non-trivial time to start. Non-trivial is defined as 3 minutes.

There is always some wait due to the polling nature of the queues, which is well understood
and doesn't need to be measured. What needs to be measured is whether there is enough
bot machines to process patches as soon as they are submitted.

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

(Analyzer.prototype._analyzeBubblePerformance):

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

(MetricsBubbleView.prototype._update):

11:28 AM Changeset in webkit [174654] by Chris Dumez
  • 17 edits in trunk/Source

Use is<>() / downcast<>() for Filter / FilterOperation subclasses
​https://bugs.webkit.org/show_bug.cgi?id=137644

Reviewed by Darin Adler.

Use is<>() / downcast<>() for Filter / FilterOperation subclasses.

Source/WebCore:

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForFilter):

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm:

(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):

  • platform/graphics/filters/Filter.h:
  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::DefaultFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::BasicColorMatrixFilterOperation::blend):
(WebCore::BasicColorMatrixFilterOperation::operator==):
(WebCore::BasicComponentTransferFilterOperation::blend):
(WebCore::BasicComponentTransferFilterOperation::operator==):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::blend):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::blend):

  • platform/graphics/filters/FilterOperation.h:
  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::outsets):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):

  • rendering/svg/RenderSVGResourceFilterPrimitive.cpp:

(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):

  • svg/graphics/filters/SVGFilter.h:

(isType):

Source/WebKit2:

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::FilterOperations>::encode):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<FilterOperation>::encode):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

11:21 AM Changeset in webkit [174653] by Chris Dumez
  • 26 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for Table render objects
​https://bugs.webkit.org/show_bug.cgi?id=137641

Reviewed by Mihnea Ovidenie.

Use is<>() / downcast<>() for table-related render objects and clean
up the surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addChildren):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):
(WebCore::AccessibilityTableCell::titleUIElement):

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::removeNode):

  • editing/TextIterator.cpp:

(WebCore::shouldEmitTabBeforeNode):
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::parseAttribute):
(WebCore::HTMLTableCellElement::cellAbove):

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute):

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::parseAttribute):

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):
(WebCore::shouldScaleColumns):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::addChild):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild):
(WebCore::RenderTable::layout):
(WebCore::RenderTable::firstColumn):
(WebCore::RenderTable::recalcSections):
(WebCore::RenderTable::sectionAbove):
(WebCore::RenderTable::sectionBelow):
(WebCore::RenderTable::bottomSection):

  • rendering/RenderTable.h:
  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::table):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::nextCell):
(WebCore::RenderTableCell::previousCell):
(WebCore::RenderTableRow::firstCell):
(WebCore::RenderTableRow::lastCell):

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::table):
(WebCore::RenderTableCol::enclosingColumnGroup):
(WebCore::RenderTableCol::nextColumn):

  • rendering/RenderTableCol.h:

Make updateFromElement() public to allow the callers to use tighter
typing and devitualize the call as the class is final.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::addChild):

  • rendering/RenderTableRow.h:

(WebCore::RenderTableSection::firstRow):
(WebCore::RenderTableSection::lastRow):
(WebCore::RenderTableRow::nextRow):
(WebCore::RenderTableRow::previousRow):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::paintCell):

  • rendering/RenderTableSection.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::writeTextRun):
(WebCore::writeSimpleLine):

10:56 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:49 AM Changeset in webkit [174652] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
​https://bugs.webkit.org/show_bug.cgi?id=137533

Reviewed by Darin Adler.

Source/WebCore:

When a new AVAsset is returned out of the AVStreamDataParser, notify the HTMLMediaElement that
characteristics of the player may have changed.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::characteristicsChanged):

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

(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/file-with-mse.html: Added.
  • TestWebKitAPI/Tests/WebKit2/test-mse.mp4: Added.
10:44 AM Changeset in webkit [174651] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Stop listening for wireless playback target availability when the default controls are hidden.
​https://bugs.webkit.org/show_bug.cgi?id=137633

Reviewed by Dean Jackson.

In order to minimize the excess bandwidth and power consumption required for actively listening
for wireless playback target availablity, unregister for those notifications while the controls
are hidden due to playback, or when the element's document is hidden.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createBase): Register for document visiblity change notfications.
(ControllerIOS.prototype.setControlsType): Call updateShouldListenForPlaybackTargetAvailabilityEvent()

instead of setShouldListenForPlaybackTargetAvailabilityEvent()

(ControllerIOS.prototype.hideControls): Ditto.
(ControllerIOS.prototype.showControls): Ditto.
(ControllerIOS.prototype.updateStatusDisplay): Ditto.
(ControllerIOS.prototype.handleVisibilityChange): Ditto.
(ControllerIOS.prototype.updateShouldListenForPlaybackTargetAvailabilityEvent): Added. Only listen

for target availability when the video has no errors, is not in the initial "big play button"
controls state, and when the controls are not hidden.

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Explicitly set the discoveryMode to "disabled"

rather than waiting for the autoreleasepool to destroy our routing controller.

10:33 AM Changeset in webkit [174650] by Simon Fraser
  • 6 edits in trunk

iOS DRT snapshots are limited to the page visible area
​https://bugs.webkit.org/show_bug.cgi?id=137650

Reviewed by Daniel Bates.
Source/WebCore:

LegacyTileCache drawing was limited to the window's visible area, found by
crawling up the layer hierarchy to the root layer. This caused test snapshots to
be missing non-composited content outside the iPhone visible area, which hinders
testing.

Fix by adding a test-only mode where the window visible area is the entire window.

  • platform/ios/wak/WAKWindow.h:
  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setEntireWindowVisibleForTesting:]):
(-[WAKWindow _visibleRectRespectingMasksToBounds:]):

Tools:

LegacyTileCache drawing was limited to the window's visible area, found by
crawling up the layer hierarchy to the root layer. This caused test snapshots to
be missing non-composited content outside the iPhone visible area, which hinders
testing.

Fix by adding a test-only mode where the window visible area is the entire window.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(dumpWebViewAsPixelsAndCompareWithExpected): Drive-by RetainPtr fix.

  • DumpRenderTree/mac/DumpRenderTreeWindow.mm:

(-[DumpRenderTreeWindow initWithLayer:]): Call setEntireWindowVisibleForTesting:YES
for the DRT window.

9:08 AM Changeset in webkit [174649] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Gardening.

  • platform/mac/TestExpectations:
7:33 AM Changeset in webkit [174648] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSSRegions] Make RenderNamedFlowFragment::computeStyleInRegion const
​https://bugs.webkit.org/show_bug.cgi?id=137604

Reviewed by Andrei Bucur.

The method computeStyleInRegion should be const as it does not modify
the state of the RenderNamedFlowFragment instance. Make pointers to
the region used for styling const along the way. No new tests as no
change in functionality.

  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::ElementRuleCollector):
(WebCore::ElementRuleCollector::setRegionForStyling):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleForElement):

  • css/StyleResolver.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::computeStyleInRegion):

  • rendering/RenderNamedFlowFragment.h:
5:16 AM Changeset in webkit [174647] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.1

WebKitGTK+ 2.6.1

4:59 AM Changeset in webkit [174646] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.6.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.1.
4:56 AM Changeset in webkit [174645] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Fix make distcheck.

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformGTK.cmake:

Tools:

  • TestWebKitAPI/PlatformGTK.cmake:
2:19 AM Changeset in webkit [174644] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174639 - [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
​https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

1:44 AM Changeset in webkit [174643] by svillar@igalia.com
  • 7 edits in trunk

[CSS Grid Layout] Pass the valid set of tracks to grow beyond growth limits
​https://bugs.webkit.org/show_bug.cgi?id=137253

Reviewed by Darin Adler.

Source/WebCore:

Section 10.4 of the specs describe how to resolve content based
track sizing functions. Among others it describes the "distribute
extra space" algorithm. The 3rd bullet of that algorithm specifies
how to distribute (and also the target tracks) the extra space
once all the tracks have reached their growth limits.

Our implementation had 2 problems. First we were not passing a
valid subset of tracks (instead we were always using all of
them). Now we use a function that filters the right tracks to be
the target of the extra space distribution depending on whether
we're computing the min track function or the max track function.

Secondly the algorithm that was distributing the extra space was
not using that list of passed in tracks (it iterated over all of
them). From now on it will use the set of tracks selected using
the filter function described above.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):

  • rendering/RenderGrid.h:
  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
Note: See TracTimeline for information about the timeline view.