Timeline



Jan 5, 2015:

11:46 PM Changeset in webkit [177951] by Darin Adler
  • 4 edits in trunk

WebCore:

Revert mistake in yesterday's HTMLDocumentParser refactor.
https://bugs.webkit.org/show_bug.cgi?id=140041

  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass the parser content policy
from the parserContentPolicy function, not the raw policy that was passed in. This
restores the behavior from before r177883.

LayoutTests:

editing/pasteboard/drag-and-drop-objectimage-contenteditable.html,
now that it's fixed.

9:51 PM Changeset in webkit [177950] by Chris Dumez
  • 3 edits
    2 adds in trunk

Using calc() for -webkit-filter does not work
https://bugs.webkit.org/show_bug.cgi?id=140106

Reviewed by Darin Adler.

Source/WebCore:

Using calc() for -webkit-filter did not work because the CSS parser did
not handle it properly. This patch addresses the issue.

Test: fast/css/webkit-filter-calc.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBuiltinFilterArguments):

LayoutTests:

Add a layout test to make sure using calc() for -webkit-filter CSS
property is working as intended.

  • fast/css/webkit-filter-calc-expected.txt: Added.
  • fast/css/webkit-filter-calc.html: Added.
8:50 PM Changeset in webkit [177949] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove some stale class names in check-for-inappropriate-objc-class-names
https://bugs.webkit.org/show_bug.cgi?id=140104

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-05
Reviewed by Darin Adler.

  • Scripts/check-for-inappropriate-objc-class-names:

These UIWK* classes no longer exist.

8:50 PM Changeset in webkit [177948] by Chris Dumez
  • 6 edits in trunk

Allow HTTPS + 'Cache-control: no-cache' pages into the page cache
https://bugs.webkit.org/show_bug.cgi?id=139251

Reviewed by Darin Adler.

Source/WebCore:

Allow HTTPS + 'Cache-control: no-cache' pages into the page cache as
IE10+ and Google Chrome do, and as allowed by RFC2616 & newer RFC7234
(both RFCs distinguish history mechanisms and caches).

Pages over HTTPs using 'Cache-control: no-store' still don't go into
the page cache for now.

Test: http/tests/navigation/https-in-page-cache.html

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • platform/FeatureCounterKeys.h:

LayoutTests:

Update http/tests/navigation/https-in-page-cache.html layout test so that it
expects HTTPS + 'Cache-control: no-cache' pages to go into the page cache.

  • http/tests/navigation/https-in-page-cache-expected.txt:
  • http/tests/navigation/resources/https-in-page-cache-2.php:
8:48 PM Changeset in webkit [177947] by Chris Dumez
  • 4 edits
    2 adds in trunk

Using calc() in repeat() for -webkit-grid-template-rows does not work
https://bugs.webkit.org/show_bug.cgi?id=140094

Reviewed by Darin Adler.

Source/WebCore:

Using calc() in repeat() for -webkit-grid-template-rows was not working
because the CSS parser was not handling this case properly. This patch
addresses the issue.

Test: fast/css-grid-layout/grid-repeat-calc.html

  • css/CSSCalculationValue.h:

(WebCore::CSSCalcValue::isPositive):
Add isPositive() method as it is needed by
CSSParser::validateCalculationUnit().

  • css/CSSParser.cpp:

(WebCore::CSSParser::validateCalculationUnit):
Add support for FPositiveInteger, similarly to what was done in
validateUnit(). This would cause us to consider calc(1 + 1) as invalid
if a FPositiveInteger was requested.

(WebCore::CSSParser::parseGridTrackRepeatFunction):
Do not access fValue directly and call parsedDouble() instead as it
correctly handles calculation values.

LayoutTests:

  • fast/css-grid-layout/grid-repeat-calc-expected.txt: Added.
  • fast/css-grid-layout/grid-repeat-calc.html: Added.
8:46 PM Changeset in webkit [177946] by Chris Dumez
  • 3 edits
    2 adds in trunk

calc() cannot be used in steps() for -webkit-animation-timing-function
https://bugs.webkit.org/show_bug.cgi?id=140091

Reviewed by Darin Adler.

Source/WebCore:

calc() could not be used in steps() for -webkit-animation-timing-function
CSS property because the CSS parser did not handle this case properly.
This patch addresses the issue.

Test: fast/css/animation-steps-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseAnimationTimingFunction):

LayoutTests:

Add a layout test to make sure that calc() can be used in steps() for
-webkit-animation-timing-function CSS property.

  • fast/css/animation-steps-calculated-value-expected.txt: Added.
  • fast/css/animation-steps-calculated-value.html: Added.
6:38 PM Changeset in webkit [177945] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] One more build fix for r177937.

  • plugins/PluginPackage.cpp: Provide forward declaration for local NPN_Evaluate

implementation to avoid linker error.

6:13 PM Changeset in webkit [177944] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Web Inspector: inspector view top inset should not include height of web view banners
https://bugs.webkit.org/show_bug.cgi?id=140076

Patch by Matt Baker <Matt Baker> on 2015-01-05
Reviewed by Anders Carlsson.

Added _totalHeightOfBanners property to WKView, which is used by the WebInspectorProxy
to calculate the correct vertical position of the Inspector view frame. The browser is
responsible for setting the property value whenever banners are installed or uninstalled from
the view.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setTotalHeightOfBanners:]):
(-[WKView _totalHeightOfBanners]):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):

6:01 PM Changeset in webkit [177943] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r177937.

Add the missing #include and namespace declarations to get a clean build.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::getAttachedShaders):

  • plugins/PluginPackage.cpp:

(WebCore::getListFromVariantArgs):
(WebCore::NPN_Invoke):
(WebCore::makeSource):
(WebCore::NPN_Evaluate):

5:54 PM Changeset in webkit [177942] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source/WebCore

Remove PluginViewNone.cpp
https://bugs.webkit.org/show_bug.cgi?id=140107

Reviewed by Andreas Kling.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformWin.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • plugins/PluginViewNone.cpp: Removed.
5:23 PM Changeset in webkit [177941] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Stop including PluginView.h from cross platform WebCore code
https://bugs.webkit.org/show_bug.cgi?id=140105

Reviewed by Andreas Kling.

Instead, include PluginViewBase.h. This will allow us to move the old plug-in implementation to WebKit.

  • bindings/js/ScriptController.cpp:
  • bridge/NP_jsobject.cpp:

(_NPN_Evaluate):

  • inspector/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::setJavaScriptPaused):

  • loader/FrameLoaderClient.h:
  • page/Page.cpp:
  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::setJavaScriptPaused):

4:53 PM Changeset in webkit [177940] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r177925.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct symbol name.
4:48 PM Changeset in webkit [177939] by Lucas Forschler
  • 6 edits
    3 deletes in branches/safari-600.3-branch/Source/WebKit2

Merged r177702. rdar://problem/19333074

4:29 PM Changeset in webkit [177938] by andersca@apple.com
  • 9 edits
    2 adds in trunk/Source/WebCore

Introduce a per-page database provider class
https://bugs.webkit.org/show_bug.cgi?id=140102

Reviewed by Sam Weinig.

This class will replace DatabaseStrategy and allow for different providers per page.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DatabaseProvider.cpp: Added.

(WebCore::DatabaseProvider::~DatabaseProvider):
(WebCore::DatabaseProvider::idbFactoryBackend):

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

(WebCore::Page::Page):

  • page/Page.h:
  • page/PageConfiguration.cpp:
  • page/PageConfiguration.h:
4:10 PM Changeset in webkit [177937] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Add copies of NPN_Evaluate and NPN_Invoke on Windows
https://bugs.webkit.org/show_bug.cgi?id=140103

Reviewed by Andreas Kling.

While this is unfortunate, it will allow us to get rid of PluginView.h and PluginViewNone.cpp
from the cross platform WebCore code and then move the plug-in code to WebKit/win (which is the only client of this plug-in implementation).

  • plugins/PluginPackage.cpp:

(WebCore::NPN_Invoke):
(WebCore::NPN_Evaluate):
(WebCore::PluginPackage::initializeBrowserFuncs):

4:03 PM Changeset in webkit [177936] by Lucas Forschler
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r177656. rdar://problem/19311017

3:59 PM Changeset in webkit [177935] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r177641. rdar://problem/19283300

3:57 PM Changeset in webkit [177934] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177604. rdar://problem/19312111

3:54 PM Changeset in webkit [177933] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177601. rdar://problem/19301470

3:51 PM Changeset in webkit [177932] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177600. <rdar://problem/19312111>

3:33 PM Changeset in webkit [177931] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

Fix up bmalloc's PerThread for use on Linux
https://bugs.webkit.org/show_bug.cgi?id=139804

Reviewed by Anders Carlsson.

The previous implementation was a bit slow.

  • bmalloc/PerThread.h:

(bmalloc::PerThreadStorage<Cache>::get):
(bmalloc::PerThreadStorage::get):
(bmalloc::PerThreadStorage::init): Added a catch-all cross-platform Unix
way to do fast per-thread access without taking a lock every time. This
probably works on all the platforms we care about, and it matches other
techniques we use elsewhere in WebKit.

(bmalloc::PerThread<T>::getFastCase): Removed the conditional from
this class because PerThreadStorage now encapsulates everything that
needs to be conditional.

(bmalloc::PerThreadStorage::initSharedKeyIfNeeded): Deleted.

2:37 PM Changeset in webkit [177930] by andersca@apple.com
  • 2 edits in trunk/Tools

heap-buffer-overflow on fast/loader/reload-zero-byte-plugin.html
https://bugs.webkit.org/show_bug.cgi?id=140096
rdar://problem/19368938

Reviewed by Alexey Proskuryakov.

When creating a new page, don't pass clientInfo when setting up the frame and policy clients,
since clientInfo points to a web view, not the test controller.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):

1:48 PM Changeset in webkit [177929] by akling@apple.com
  • 7 edits in trunk/Source

Purge PassRefPtr from Page.
<https://webkit.org/b/140089>

Reviewed by Anders Carlsson.

Source/WebCore:

Use Ref or RefPtr instead of PassRefPtr as appropriate in WebCore::Page.

  • page/Page.cpp:

(WebCore::Page::rangeOfString):
(WebCore::Page::setSessionStorage):

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

(WebCore::Page::addSchedulePair):
(WebCore::Page::removeSchedulePair):

Source/WTF:

Make SchedulePair::create() return Ref since it never fails.

  • wtf/SchedulePair.h:

(WTF::SchedulePair::create):

1:47 PM Changeset in webkit [177928] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Implicitly dismissed DD popovers don't clear immediate action state, prematurely dismissing the next DD highlight
https://bugs.webkit.org/show_bug.cgi?id=140088
<rdar://problem/19298391>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _menuItemForDataDetectedText]):
Instead of just tearing down the TextIndicator, clear all state.

1:44 PM Changeset in webkit [177927] by Chris Dumez
  • 4 edits
    5 adds in trunk

Regression(r163928): Animated images are not resumed on window resizing
https://bugs.webkit.org/show_bug.cgi?id=139714
<rdar://problem/18855285>

Reviewed by Darin Adler.

Source/WebCore:

After r163928, animated images were not resumed if they became visible
after resizing the window. This patch calls resumes animated images if
necessary in FrameView::setFrameRect() to handle this case properly.

Tests: fast/images/animated-gif-window-resizing.html

fast/images/animated-gif-zooming.html

  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):

LayoutTests:

Add a layout test to make sure animated images are correctly paused /
resumed when resizing the window.

Also add another test to make sure animated images are correctly paused
/ resumed when zooming in and out.

  • fast/images/animated-gif-window-resizing-expected.txt: Added.
  • fast/images/animated-gif-window-resizing.html: Added.
  • fast/images/animated-gif-zooming-expected.txt: Added.
  • fast/images/animated-gif-zooming.html: Added.
  • fast/images/resources/animated-gif-window-resize.html: Added.
  • platform/mac-wk1/TestExpectations:
1:32 PM Changeset in webkit [177926] by Csaba Osztrogonác
  • 7 edits in trunk/Source/WebKit2

One more URTBF after r177917.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • WebProcess/Battery/WebBatteryManager.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:

(WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/LayerTreeHost.h:
1:30 PM Changeset in webkit [177925] by Brian Burg
  • 46 edits in trunk/Source/WebCore

Web Inspector: pass parameters to inspector instrumentation by reference where possible
https://bugs.webkit.org/show_bug.cgi?id=139981

Reviewed by Andreas Kling.

Clean up inspector instrumentation entry points throughout WebCore. In particular, make
parameters pass-by-reference if they are not nullable. Also standardize quirky parameter
orders and do other small cleanups in InspectorInstrumentation and at callsites.

Inspector agents still take the pertinent parameters by pointer even when they could be
passed by reference. This will be addressed in a follow-up change.

No new tests, no behavior changed.

  • WebCore.exp.in:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • css/PropertySetCSSStyleDeclaration.cpp:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchesFocusPseudoClass):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForElement):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::elementIsActive):
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
(WebCore::SelectorCompiler::elementIsHovered):
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent): Remove unnecessary ENABLE guard.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::appendChild):
(WebCore::dispatchChildRemovalEvents):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notify): Remove unnecessary ENABLE guard.

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::recalcStyle):
(WebCore::Document::finishedParsing): This is safe because we checked the argument.

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):
(WebCore::Element::removeShadowRoot): This is safe because we checked the argument.
(WebCore::Element::willModifyAttribute): Remove unnecessary ENABLE guard.
(WebCore::Element::didAddAttribute):
(WebCore::Element::didModifyAttribute):
(WebCore::Element::didRemoveAttribute):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners): This is safe because the type test would fail if null.

  • dom/NamedFlowCollection.cpp: Pass by reference since code already assumes non-null.

(WebCore::NamedFlowCollection::ensureFlowWithName):
(WebCore::NamedFlowCollection::discardNamedFlow):

  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::~PseudoElement):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::startConsoleTiming):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::didClearWindowObjectInWorld):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):

  • inspector/InspectorController.h: Remove instrumentationForPage() in favor of using instrumentingAgentsForPage() directly.
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorInstrumentation.cpp: Add missing s_ prefix for global s_instrumentingAgentSets. Pass the instrumenting

agent by reference since it was already null-checked if we reached a slow path for instrumentation.
(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
(WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl):
(WebCore::InspectorInstrumentation::didPushShadowRootImpl):
(WebCore::InspectorInstrumentation::willPopShadowRootImpl):
(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
(WebCore::InspectorInstrumentation::didScrollImpl):
(WebCore::InspectorInstrumentation::handleTouchEventImpl):
(WebCore::InspectorInstrumentation::handleMousePressImpl):
(WebCore::InspectorInstrumentation::forcePseudoStateImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
(WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willCallFunctionImpl):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore::InspectorInstrumentation::didHandleEventImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::scriptsEnabledImpl):
(WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Removed, as there are no callers from WebCore. Possible V8 artifact.
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::didFireTimerImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
(WebCore::InspectorInstrumentation::willLayoutImpl):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl):
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::didPaintImpl):
(WebCore::InspectorInstrumentation::willScrollLayerImpl):
(WebCore::InspectorInstrumentation::didScrollLayerImpl):
(WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
(WebCore::InspectorInstrumentation::didRecalculateStyleImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
(WebCore::InspectorInstrumentation::applyEmulatedMediaImpl): Pass string by reference.
(WebCore::InspectorInstrumentation::willSendRequestImpl):
(WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
(WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
(WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
(WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): Add proper cookie guard and pass by reference.
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
(WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
(WebCore::InspectorInstrumentation::didReceiveDataImpl):
(WebCore::InspectorInstrumentation::didFinishLoadingImpl):
(WebCore::InspectorInstrumentation::didFailLoadingImpl):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl):
(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::didFailXHRLoadingImpl):
(WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
(WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
(WebCore::InspectorInstrumentation::scriptImportedImpl):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
(WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): Use Frame::isMainFrame().
(WebCore::InspectorInstrumentation::loadEventFiredImpl): Use Frame::isMainFrame().
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
(WebCore::InspectorInstrumentation::willRunJavaScriptDialogImpl):
(WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl): Use a range-based iterator.
(WebCore::InspectorInstrumentation::willWriteHTMLImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::startProfilingImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScopeImpl):
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminatedImpl):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
(WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::segmentUnloadedImpl):
(WebCore::InspectorInstrumentation::captureStartedImpl):
(WebCore::InspectorInstrumentation::captureStoppedImpl):
(WebCore::InspectorInstrumentation::playbackStartedImpl):
(WebCore::InspectorInstrumentation::playbackPausedImpl):
(WebCore::InspectorInstrumentation::playbackHitPositionImpl):
(WebCore::InspectorInstrumentation::playbackFinishedImpl):
(WebCore::InspectorInstrumentation::networkStateChangedImpl):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
(WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
(WebCore::InspectorInstrumentation::registerInstrumentingAgents):
(WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
(WebCore::InspectorInstrumentation::retrieveTimelineAgent):
(WebCore::InspectorInstrumentation::instrumentingAgentsForPage): Add by-reference version which contains the logic from instrumentationForPage().
(WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer):
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
(WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
(WebCore::InspectorInstrumentation::layerTreeDidChangeImpl):
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
(WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
(WebCore::InspectorInstrumentation::isDebuggerPaused):
(WebCore::InspectorInstrumentation::willInsertDOMNode):
(WebCore::InspectorInstrumentation::didInsertDOMNode):
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::didRemoveDOMNode):
(WebCore::InspectorInstrumentation::willModifyDOMAttr):
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::didRemoveDOMAttr):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
(WebCore::InspectorInstrumentation::frameWindowDiscarded):
(WebCore::InspectorInstrumentation::mediaQueryResultChanged):
(WebCore::InspectorInstrumentation::didPushShadowRoot):
(WebCore::InspectorInstrumentation::willPopShadowRoot):
(WebCore::InspectorInstrumentation::didCreateNamedFlow):
(WebCore::InspectorInstrumentation::willRemoveNamedFlow):
(WebCore::InspectorInstrumentation::didChangeRegionOverset):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
(WebCore::InspectorInstrumentation::handleTouchEvent):
(WebCore::InspectorInstrumentation::handleMousePress): Take Frame by reference instead of Page by pointer.
(WebCore::InspectorInstrumentation::forcePseudoState):
(WebCore::InspectorInstrumentation::characterDataModified):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
(WebCore::InspectorInstrumentation::didScheduleResourceRequest):
(WebCore::InspectorInstrumentation::didInstallTimer):
(WebCore::InspectorInstrumentation::didRemoveTimer):
(WebCore::InspectorInstrumentation::willCallFunction):
(WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
(WebCore::InspectorInstrumentation::willDispatchEvent):
(WebCore::InspectorInstrumentation::willHandleEvent): Pass a const event reference.
(WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::willEvaluateScript):
(WebCore::InspectorInstrumentation::didEvaluateScript):
(WebCore::InspectorInstrumentation::scriptsEnabled):
(WebCore::InspectorInstrumentation::willFireTimer):
(WebCore::InspectorInstrumentation::didInvalidateLayout):
(WebCore::InspectorInstrumentation::willLayout):
(WebCore::InspectorInstrumentation::didScroll):
(WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
(WebCore::InspectorInstrumentation::willPaint):
(WebCore::InspectorInstrumentation::didPaint):
(WebCore::InspectorInstrumentation::willScrollLayer):
(WebCore::InspectorInstrumentation::didScrollLayer):
(WebCore::InspectorInstrumentation::willRecalculateStyle):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
(WebCore::InspectorInstrumentation::applyEmulatedMedia): Pass string by reference.
(WebCore::InspectorInstrumentation::willSendRequest):
(WebCore::InspectorInstrumentation::continueAfterPingLoader):
(WebCore::InspectorInstrumentation::markResourceAsCached):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
(WebCore::InspectorInstrumentation::willReceiveResourceData):
(WebCore::InspectorInstrumentation::willReceiveResourceResponse):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
(WebCore::InspectorInstrumentation::continueWithPolicyDownload):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
(WebCore::InspectorInstrumentation::didReceiveData):
(WebCore::InspectorInstrumentation::didFinishLoading):
(WebCore::InspectorInstrumentation::didFailLoading):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): No need to go through
ScriptExecutionContext interface, as it's always a Document.
(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::didFailXHRLoading):
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
(WebCore::InspectorInstrumentation::didReceiveXHRResponse):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::scriptImported):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
(WebCore::InspectorInstrumentation::didReceiveScriptResponse):
(WebCore::InspectorInstrumentation::domContentLoadedEventFired):
(WebCore::InspectorInstrumentation::loadEventFired):
(WebCore::InspectorInstrumentation::frameDetachedFromParent):
(WebCore::InspectorInstrumentation::didCommitLoad):
(WebCore::InspectorInstrumentation::frameDocumentUpdated):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
(WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
(WebCore::InspectorInstrumentation::willDestroyCachedResource):
(WebCore::InspectorInstrumentation::willWriteHTML):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
(WebCore::InspectorInstrumentation::didStartWorkerGlobalScope):
(WebCore::InspectorInstrumentation::workerGlobalScopeTerminated):
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::segmentUnloaded):
(WebCore::InspectorInstrumentation::captureStarted):
(WebCore::InspectorInstrumentation::captureStopped):
(WebCore::InspectorInstrumentation::playbackStarted):
(WebCore::InspectorInstrumentation::playbackPaused):
(WebCore::InspectorInstrumentation::playbackFinished):
(WebCore::InspectorInstrumentation::playbackHitPosition):
(WebCore::InspectorInstrumentation::networkStateChanged):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
(WebCore::InspectorInstrumentation::didRequestAnimationFrame):
(WebCore::InspectorInstrumentation::didCancelAnimationFrame):
(WebCore::InspectorInstrumentation::willFireAnimationFrame):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed):
(WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
(WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
(WebCore::InspectorInstrumentation::didCreateIsolatedContext): Deleted.

  • inspector/InspectorInstrumentationCookie.cpp: Take a reference, use default RefPtr constructor.

(WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):

  • inspector/InspectorInstrumentationCookie.h: Fix misplaced ENABLE guard.
  • inspector/InstrumentingAgents.cpp:

(WebCore::instrumentationForPage): Deleted.
(WebCore::instrumentationForWorkerGlobalScope): Deleted.

  • inspector/InstrumentingAgents.h:
  • inspector/WorkerInspectorController.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::detachFromFrame):

  • loader/DocumentThreadableLoader.cpp: Remove unnecessary ENABLE(INSPECTOR) guards, as these inlined calls

are boiled away by the compiler if !ENABLE(INSPECTOR).
(WebCore::DocumentThreadableLoader::didReceiveData):
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::didFail):
(WebCore::DocumentThreadableLoader::preflightFailure):
(WebCore::DocumentThreadableLoader::loadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
(WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
(WebCore::FrameLoader::dispatchDidCommitLoad):

  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::notifyDidScheduleResourceRequest):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest): Remove unnecessary ENABLE guard.

  • loader/appcache/ApplicationCacheGroup.cpp: Remove several unnecessary ENABLE guards.

(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didReceiveData):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::didFail):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::deleteIfPossible):

  • page/Chrome.cpp:

(WebCore::Chrome::scroll):
(WebCore::Chrome::runBeforeUnloadConfirmPanel):
(WebCore::Chrome::runJavaScriptAlert):
(WebCore::Chrome::runJavaScriptConfirm):
(WebCore::Chrome::runJavaScriptPrompt):
(WebCore::Chrome::mouseDidMoveOverElement):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchLoadEvent):
(WebCore::DOMWindow::dispatchEvent):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleTouchEvent): Add a guard to make it safe to pass event target by-reference.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::mediaType):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::scheduleRelayoutOfSubtree):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profile):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::time):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):

  • page/Settings.cpp:

(WebCore::Settings::setScriptEnabled):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerBecameNonComposited):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):

  • replay/ReplayController.cpp:

(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):
(WebCore::ReplayController::unloadSegment):
(WebCore::ReplayController::startCapturing):
(WebCore::ReplayController::stopCapturing):
(WebCore::ReplayController::startPlayback):
(WebCore::ReplayController::pausePlayback):
(WebCore::ReplayController::cancelPlayback):
(WebCore::ReplayController::willDispatchInput):

  • testing/Internals.cpp:

(WebCore::Internals::consoleMessageArgumentCounts):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::callReadyStateChangeListener):

1:11 PM Changeset in webkit [177924] by andersca@apple.com
  • 14 edits in trunk/Source/WebKit2

Get rid of PassRefPtr from IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=140092

Reviewed by Andreas Kling.

  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):

  • Platform/IPC/Connection.cpp:

(IPC::Connection::createServerConnection):
(IPC::Connection::createClientConnection):
(IPC::Connection::Connection):

  • Platform/IPC/Connection.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::WebProcessConnection):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::initialize):

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):

  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::NetworkProcessConnection):

  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::PluginProcessConnection):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):

  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::establishConnection):

12:59 PM Changeset in webkit [177923] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

URTBF after r177917.

  • UIProcess/WebBatteryManagerProxy.h:
  • UIProcess/WebVibrationProxy.h:
12:39 PM Changeset in webkit [177922] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Clean up Connection::SyncMessageState
https://bugs.webkit.org/show_bug.cgi?id=140087

Reviewed by Andreas Kling.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::SyncMessageState::syncMessageStateMapMutex):
Change this to return an std::mutex and use std::call_once to initialize it properly.

(IPC::Connection::SyncMessageState::getOrCreate):
Return a Ref.

(IPC::Connection::SyncMessageState::~SyncMessageState):
Use an std::lock_guard.

(IPC::Connection::SyncMessageState::processIncomingMessage):
Replace a bind call with a lambda.

(IPC::Connection::SyncMessageState::dispatchMessages):
ConnectionAndIncomingMessage now holds a Ref<Connection>.

(IPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection):
Change Connection to a reference.

(IPC::Connection::processIncomingMessage):
Change Connection to a reference.

12:07 PM Changeset in webkit [177921] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Clean up the storage manager some more
https://bugs.webkit.org/show_bug.cgi?id=140086

Reviewed by Andreas Kling.

Use lambdas instead of WTF::bind and get rid of a couple of internal functions.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit::StorageManager::destroySessionStorageNamespace):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::cloneSessionStorageNamespace):
(WebKit::StorageManager::processWillCloseConnection):
(WebKit::StorageManager::createSessionStorageNamespaceInternal): Deleted.
(WebKit::StorageManager::destroySessionStorageNamespaceInternal): Deleted.
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal): Deleted.
(WebKit::StorageManager::cloneSessionStorageNamespaceInternal): Deleted.
(WebKit::StorageManager::invalidateConnectionInternal): Deleted.

  • UIProcess/Storage/StorageManager.h:
11:00 AM Changeset in webkit [177920] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Change more connection pointers to references
https://bugs.webkit.org/show_bug.cgi?id=140085

Reviewed by Andreas Kling.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::addListener):
(WebKit::StorageManager::StorageArea::removeListener):
(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createTransientLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::getValues):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::removeItem):
(WebKit::StorageManager::clear):
(WebKit::StorageManager::applicationWillTerminate):
(WebKit::StorageManager::invalidateConnectionInternal):
(WebKit::StorageManager::findStorageArea):

  • UIProcess/Storage/StorageManager.h:
10:50 AM Changeset in webkit [177919] by ap@apple.com
  • 2 edits in trunk/LayoutTests

After updating tests to use kerning, ligatures, and printer fonts, some tests fail
https://bugs.webkit.org/show_bug.cgi?id=139968

  • platform/mac/TestExpectations: Adding more flaky tests.
10:45 AM Changeset in webkit [177918] by ap@apple.com
  • 2 edits in trunk/LayoutTests

js/dom/dfg-inline-resolve.html flakily times out
https://bugs.webkit.org/show_bug.cgi?id=140084

  • platform/mac-wk2/TestExpectations: Added an expectation.
10:38 AM Changeset in webkit [177917] by andersca@apple.com
  • 101 edits in trunk/Source/WebKit2

Change more of the IPC code to take connections by reference
https://bugs.webkit.org/show_bug.cgi?id=140083

Reviewed by Andreas Kling.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::didReceiveMessage):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
(WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkResourceLoader.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(IPC::Connection::dispatchSyncMessage):
(IPC::Connection::dispatchMessage):

  • Platform/IPC/Connection.h:

(IPC::Connection::waitForAndDispatchImmediately):

  • Platform/IPC/MessageReceiver.h:

(IPC::MessageReceiver::didReceiveSyncMessage):

  • Platform/IPC/MessageReceiverMap.cpp:

(IPC::MessageReceiverMap::dispatchMessage):
(IPC::MessageReceiverMap::dispatchSyncMessage):

  • Platform/IPC/MessageReceiverMap.h:
  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::didReceiveMessage):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):

  • PluginProcess/WebProcessConnection.h:
  • Scripts/webkit/messages.py:

(async_message_statement):
(sync_message_statement):
(generate_message_handler):

  • Shared/API/Cocoa/RemoteObjectRegistry.h:
  • Shared/Authentication/AuthenticationManager.h:
  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::dispatchMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):

  • Shared/ChildProcessProxy.h:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • Shared/Plugins/NPObjectMessageReceiver.h:
  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):

  • Shared/Plugins/NPRemoteObjectMap.h:
  • Shared/WebConnection.h:
  • Shared/mac/SecItemShim.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didReceiveMessage):

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveMessage):
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Storage/StorageManager.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebApplicationCacheManagerProxy.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebIconDatabase.h:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebMediaCacheManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::dispatchMessage):
(WebKit::WebProcessPool::dispatchSyncMessage):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebResourceCacheManagerProxy.h:
  • UIProcess/ios/SmartMagnificationController.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/SecItemShimProxy.h:
  • UIProcess/mac/ViewGestureController.h:
  • WebProcess/ApplicationCache/WebApplicationCacheManager.h:
  • WebProcess/Cookies/WebCookieManager.h:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::didReceiveMessage):

  • WebProcess/Databases/WebToDatabaseProcessConnection.h:
  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::didReceiveMessage):

  • WebProcess/FullScreen/WebFullScreenManager.h:
  • WebProcess/Geolocation/WebGeolocationManager.h:
  • WebProcess/IconDatabase/WebIconDatabaseProxy.h:
  • WebProcess/MediaCache/WebMediaCacheManager.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/OriginData/WebOriginDataManager.h:
  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):

  • WebProcess/Plugins/PluginProcessConnection.h:
  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/ResourceCache/WebResourceCacheManager.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/Storage/StorageAreaMap.h:
  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewGestureGeometryCollector.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.h:
  • WebProcess/WebPage/VisitedLinkTableController.h:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspectorUI.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPageGroupProxy.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):

  • WebProcess/WebProcess.h:
  • WebProcess/ios/WebVideoFullscreenManager.h:
10:36 AM Changeset in webkit [177916] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix the iOS build.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):

10:29 AM Changeset in webkit [177915] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Get rid of some unnecessary custom StyleBuilder code
https://bugs.webkit.org/show_bug.cgi?id=140058

Reviewed by Darin Adler.

Get rid of some unnecessary custom StyleBuilder code. The generator is
now able to generate this code just fine.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::convertLineHeight):
(WebCore::StyleBuilderCustom::applyValueWebkitMarqueeIncrement): Deleted.
(WebCore::StyleBuilderCustom::csstoLengthConversionDataWithTextZoomFactor): Deleted.
(WebCore::StyleBuilderCustom::applyValueWordSpacing): Deleted.
(WebCore::StyleBuilderCustom::applyValueWebkitPerspective): Deleted.

10:17 AM Changeset in webkit [177914] by andersca@apple.com
  • 15 edits in trunk/Source/WebKit2

Pass IPC::Connection by reference to IPC message handlers
https://bugs.webkit.org/show_bug.cgi?id=140082

Reviewed by Darin Adler.

  • Platform/IPC/HandleMessage.h:

(IPC::callMemberFunctionImpl):
(IPC::callMemberFunction):
(IPC::handleMessage):
(IPC::handleMessageDelayed):

  • Scripts/webkit/messages.py:

(async_message_statement):
(sync_message_statement):

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createTransientLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::getValues):
(WebKit::StorageManager::setItem):
(WebKit::StorageManager::removeItem):
(WebKit::StorageManager::clear):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::didPostMessage):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):

  • UIProcess/WebGeolocationManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::WebOriginDataManagerProxy::didGetOrigins):
(WebKit::WebOriginDataManagerProxy::didDeleteEntries):
(WebKit::WebOriginDataManagerProxy::didDeleteAllEntries):

  • UIProcess/WebOriginDataManagerProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::handleMessage):
(WebKit::WebProcessPool::handleSynchronousMessage):

  • UIProcess/WebProcessPool.h:
  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::secItemRequest):

  • UIProcess/mac/SecItemShimProxy.h:
10:16 AM Changeset in webkit [177913] by ap@apple.com
  • 2 edits in trunk/LayoutTests

editing/pasteboard/drag-and-drop-objectimage-contenteditable.html times out after r177883.

10:11 AM Changeset in webkit [177912] by Brent Fulgham
  • 6 edits
    5 adds in trunk

[Mac] Cannot scroll when a non-scrollable iframe is contained inside a scrollable iframe
https://bugs.webkit.org/show_bug.cgi?id=139914
<rdar://problem/18750910>

Reviewed by Darin Adler.

Source/WebCore:

Tests: platform/mac/fast/scrolling/scroll-nested-iframe.html

The latching logic was breaking down when a non-scrollable iframe was the closest target of
a wheel event. EventHandler would latch to the enclosing scrollable region (in this case, the
non-scrollable iframe) and would eat scroll events, preventing anything from working.

The fix is as follows:

  1. Modify the logic to understand a stack of latched states, so that we can discared 'invalid' latched states as we discover them.
  2. Revise the latching logic so that it understands the case where the 'latched' node for wheel events is in a parent frame of the current wheel event target. For example, when the mouse is over an element in an unscrollable iframe that is contained within a scrollable iframe. We should be latched to the scrollable iframe so events go to the right place.
  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent): Update to call new 'stack' versions of latch
state methods.
(WebCore::EventHandler::clearLatchedState): Ditto.
(WebCore::EventHandler::defaultWheelEventHandler): Ditto.

  • page/MainFrame.cpp: Update to store a stack of latched states. Provide methods to control

the lifetime of the stack and its elements.
(WebCore::MainFrame::MainFrame):
(WebCore::MainFrame::latchingState):
(WebCore::MainFrame::pushNewLatchingState):
(WebCore::MainFrame::resetLatchingState):
(WebCore::MainFrame::popLatchingState):

  • page/MainFrame.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::latchingIsLockedToParentOfThisFrame): Added helper function.
(WebCore::EventHandler::platformPrepareForWheelEvents): Update to use new 'stack' style latch
methods. Also, if we are latched to a frame that contains the frame we are currently evaluating,
don't replace the current event target with the latched targets because (1) they will be processed
in the enclosing scope when we leave this routine, and (2) if we do change targets to the latched
elements we create an infinite loop.
(WebCore::EventHandler::platformCompleteWheelEvent): We want to mark the element as having started
at the scroll limit regardless of what the wheel event handler returns as its success state.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Revise to handle the new
stack-based latching methods.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-nested-iframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-nested-iframe.html: Added.
  • platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_inner.html: Added.
  • platform/mac/fast/scrolling/resources/scroll_nested_iframe_test_outer.html: Added.
9:30 AM Changeset in webkit [177911] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Quick follow-up to last check-in, addressing review comments.

  • html/parser/HTMLStackItem.h:

(WebCore::HTMLStackItem::HTMLStackItem): Use rvalue reference for incoming Ref.
(WebCore::HTMLStackItem::create): Ditto.

9:11 AM Changeset in webkit [177910] by Darin Adler
  • 11 edits in trunk/Source/WebCore

Modernize and streamline HTMLStackItem
https://bugs.webkit.org/show_bug.cgi?id=140056

Reviewed by Anders Carlsson.

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::create): Changed to return Ref.

  • html/HTMLHtmlElement.h: Ditto.
  • html/parser/HTMLConstructionSite.cpp:

(WebCore::hasImpliedEndTag): Update to use reference instead of pointer.
(WebCore::causesFosterParenting): Moved here from HTMLStackItem.h.
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): Update
for references instead of pointers.
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody): Ditto.
(WebCore::HTMLConstructionSite::insertComment): Ditto.
(WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLHeadElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLBodyElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLFormElement): Ditto.
(WebCore::HTMLConstructionSite::insertHTMLElement): Ditto.
(WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): Ditto.
(WebCore::HTMLConstructionSite::insertFormattingElement): Ditto.
(WebCore::HTMLConstructionSite::insertScriptElement): Ditto.
(WebCore::HTMLConstructionSite::insertForeignElement): Ditto.
(WebCore::HTMLConstructionSite::insertTextNode): Ditto.
(WebCore::HTMLConstructionSite::reparent): Ditto.
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild): Ditto.
(WebCore::HTMLConstructionSite::takeAllChildren): Ditto.
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode): Ditto.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto.
(WebCore::HTMLConstructionSite::indexOfFirstUnopenFormattingElement): Ditto.
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements): Ditto.
(WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): Ditto.
(WebCore::HTMLConstructionSite::findFosterSite): Ditto.
(WebCore::HTMLConstructionSite::shouldFosterParent): Removed unneeded
isElementNode check, since causesFosterParenting will return false for a
document fragment node.

  • html/parser/HTMLConstructionSite.h: Updated to use references instead of

pointers. Also removed the unneeded currentElementRecord function.

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLNames::isRootNode): Updated to use references instead of pointers.
(WebCore::HTMLNames::isScopeMarker): Ditto.
(WebCore::HTMLNames::isListItemScopeMarker): Ditto.
(WebCore::HTMLNames::isTableScopeMarker): Ditto.
(WebCore::HTMLNames::isTableBodyScopeMarker): Ditto.
(WebCore::HTMLNames::isTableRowScopeMarker): Ditto.
(WebCore::HTMLNames::isForeignContentScopeMarker): Ditto.
(WebCore::HTMLNames::isButtonScopeMarker): Ditto.
(WebCore::HTMLNames::isSelectScopeMarker): Ditto.
(WebCore::HTMLElementStack::ElementRecord::replaceElement): Ditto.
(WebCore::HTMLElementStack::hasOnlyOneElement): Ditto.
(WebCore::HTMLElementStack::popHTMLHeadElement): Ditto.
(WebCore::HTMLElementStack::popHTMLBodyElement): Ditto.
(WebCore::HTMLElementStack::popAll): Ditto.
(WebCore::HTMLElementStack::pop): Ditto.
(WebCore::HTMLElementStack::popUntil): Ditto.
(WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped): Ditto.
(WebCore::HTMLElementStack::isMathMLTextIntegrationPoint): Ditto. Also removed
unneeded isElementNode check.
(WebCore::HTMLElementStack::isHTMLIntegrationPoint): Ditto.
(WebCore::HTMLElementStack::pushRootNode): Ditto.
(WebCore::HTMLElementStack::pushRootNodeCommon): Ditto.
(WebCore::HTMLElementStack::pushHTMLHeadElement): Ditto.
(WebCore::HTMLElementStack::pushHTMLBodyElement): Ditto.
(WebCore::HTMLElementStack::insertAbove): Ditto.
(WebCore::HTMLElementStack::topRecord): Ditto.
(WebCore::HTMLElementStack::oneBelowTop): Ditto.
(WebCore::HTMLElementStack::removeHTMLHeadElement): Ditto.
(WebCore::HTMLElementStack::remove): Ditto.
(WebCore::HTMLElementStack::find): Ditto.
(WebCore::HTMLElementStack::topmost): Ditto.
(WebCore::inScopeCommon): Ditto.
(WebCore::HTMLElementStack::hasNumberedHeaderElementInScope): Ditto.
(WebCore::HTMLElementStack::inScope): Ditto.
(WebCore::HTMLElementStack::htmlElement): Ditto.
(WebCore::HTMLElementStack::headElement): Ditto.
(WebCore::HTMLElementStack::bodyElement): Ditto.
(WebCore::HTMLElementStack::rootNode): Ditto.
(WebCore::HTMLElementStack::popCommon): Ditto.
(WebCore::HTMLElementStack::removeNonTopCommon): Ditto.
(WebCore::HTMLElementStack::furthestBlockForFormattingElement): Ditto.
(WebCore::HTMLElementStack::show): Ditto.

  • html/parser/HTMLElementStack.h: Use reference instead of pointer.
  • html/parser/HTMLFormattingElementList.cpp:

(WebCore::HTMLFormattingElementList::closestElementInScopeWithName): Update
to use references instead of pointer.
(WebCore::HTMLFormattingElementList::swapTo): Ditto.
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly): Ditto.
(WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Ditto.
(WebCore::HTMLFormattingElementList::show): Ditto.

  • html/parser/HTMLFormattingElementList.h: Use reference instead of pointer

and a raw pointer instead of a RefPtr.

  • html/parser/HTMLStackItem.h: Removed unneeded includes. Got rid of "type"

concept and simply overload the create functions and constructors for both
Element and DOcumentFragment. Renamed isElementNode and isDocumentFragmentNode
to remove the "Node" suffix. Removed unused getAttributeItem, hasLocalName, and
one of the overloads of matchesHTMLTag. Moved all the policy functions such as
causesFosterParenting out of this class into free functions or into other
source files. Got rid of m_isDocumentFragmentNode boolean. Moved function
bodies out of the class definition. Marked all data members const since they
are all initialized in the constructor and never touched again. Restructured
the isSpecialNode function to avoid the repeated checks of the namespace.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::isParsingTemplateContents): Use reference instead of
pointer and free functions instead of member functions.
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Ditto.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Ditto.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto.
(WebCore::HTMLTreeBuilder::constructTree): Ditto.
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto.
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto.
(WebCore::HTMLTreeBuilder::closeTheCell): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto.
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto.
(WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
(WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Ditto.
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): Ditto.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.

7:05 AM Changeset in webkit [177909] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[WinCairo] Crash when font data pointer is null.
https://bugs.webkit.org/show_bug.cgi?id=139969

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-05
Reviewed by Darin Adler.

Source/WebCore:

Added null pointer check.

Test: fonts/unicode-character-font-crash.html

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::advance):
(WebCore::UniscribeController::shape):

LayoutTests:

  • fonts/unicode-character-font-crash-expected.txt: Added.
  • fonts/unicode-character-font-crash.html: Added.
5:07 AM Changeset in webkit [177908] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][GTK] WKPreferencesDefaults test failed after r177506
https://bugs.webkit.org/show_bug.cgi?id=140077

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-05
Reviewed by Csaba Osztrogonác.

WebKit C SPI is available on EFL,GTK.
Changed the define order to pass the API test.

  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:

(TestWebKitAPI::TEST):

3:42 AM Changeset in webkit [177907] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r176316 - [GTK] Error in documentation of webkit_print_operation_get_page_setup()
https://bugs.webkit.org/show_bug.cgi?id=138868

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-11-19
Reviewed by Carlos Garcia Campos.

Fix copypaste error in documentation of
webkit_print_operation_get_page_setup().

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:
3:41 AM Changeset in webkit [177906] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r176154 - Network process crash when running http/tests/appcache/fallback.html
https://bugs.webkit.org/show_bug.cgi?id=138740

Reviewed by Alexey Proskuryakov.

It happens because ResourceHandle::continueWillSendRequest() is
called with a null request. We could handle that case in the
ResourceHandle, but the thing is tha the behaviour is
not the same for async loads, or when loading in the web
process. In WebResourceLoader::willSendRequest(),
ResourceRequest::willSendRequest() is called, and cancels the load
if the client returns a null request. In this case, the
ResourceLoader is detached and WebResourceLoader::willSendRequest()
returns early without sending the ContinueWillSendRequest message
to the network process. However, for synchronous loads,
NetworkResourceLoader::continueWillSendRequest() is always called.

Fixes http/tests/appcache/fallback.html for GTK port when using
the network process.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::continueWillSendRequest): Do not
call ResourceHandle::continueWillSendRequest() if the client
request is null, since the load is going to be cancelled.

3:34 AM Changeset in webkit [177905] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r175809 - 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.
3:28 AM Changeset in webkit [177904] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/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):

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

Merge r176945 - Webkit using Harfbuzz does not display Arabic script correctly
https://bugs.webkit.org/show_bug.cgi?id=136337

Patch by Doron Wloschowsky <doron_wloschowsky@scee.net> on 2014-12-08
Reviewed by Carlos Garcia Campos.

Using reinterpret_cast to convert hb_codepoint_t* into UChar*
doesn't work on big endian systems.

  • platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:

(WebCore::harfBuzzGetGlyph):

2:56 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:55 AM Changeset in webkit [177902] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/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):

2:47 AM Changeset in webkit [177901] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/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:
2:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:22 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:21 AM Changeset in webkit [177900] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r176252 - [SOUP] [GnuTLS] Don't use a SSL3.0 record version in client hello.
https://bugs.webkit.org/show_bug.cgi?id=138794

Reviewed by Sergio Villar Senin.

It seems that following POODLE many sites incorrectly banned SSL 3.0
record packet versions. Since GnuTLS uses a SSL 3.0 record to
advertise TLS 1.2, they are effectively banning it even if it doesn't
advertise SSL 3.0. That is a server issue, but it can be worked around
by using the modifier %LATEST_RECORD_VERSION.

With this modifier, GnuTLS will use the latest TLS version record
in client hello instead of using the default SSL 3.0.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

2:17 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:12 AM Changeset in webkit [177899] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

webkit-gtk fails to link JavaScriptCore, missing symbols add_history and readline
https://bugs.webkit.org/show_bug.cgi?id=127059

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-06
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.am: add -ledit to jsc link args on OS_DARWIN.
2:07 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:06 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:05 AM Changeset in webkit [177898] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167805 - Web process is crashed during dispatching touchEvent created by JS.
https://bugs.webkit.org/show_bug.cgi?id=113225

Patch by Miyoung Shin <myid.shin@samsung.com> on 2014-04-25
Reviewed by Benjamin Poulain.

TouchEvent created by JS should have the necessary attributes
of touches, targetTouches and changedTouches.
It should be verified weather there are touchLists before dispatching touch event.

Source/WebCore:
Test: fast/events/touch/create-touch-event-without-touchList.html

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventPath::updateTouchLists):
(WebCore::addRelatedNodeResolversForTouchList): Deleted.

LayoutTests:

  • fast/events/touch/create-touch-event-without-touchList-expected.txt: Added.
  • fast/events/touch/create-touch-event-without-touchList.html: Added.
1:58 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:25 AM Changeset in webkit [177897] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r169757 - Fix crashes on some plug-in tests.
https://bugs.webkit.org/show_bug.cgi?id=133691
<rdar://problem/17255836>

Reviewed by Anders Carlsson.

  • PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::initialize):

Cannot use TemporaryChange here, because the object may go away before stack unwinds.

1:23 AM Changeset in webkit [177896] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Disable gst-plugin-scanner if seccomp filters are enabled
https://bugs.webkit.org/show_bug.cgi?id=140069

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-05
Reviewed by Philippe Normand.

If seccomp filters are enabled, any child processes we create are doomed
if they try to use a trapped syscall: the child will receive SIGSYS and
dump core. There appears to be no way around this.

Fortunately, the gstreamer developers had mad prescience and provided
us with a way to move plugin scanning in-process, so we don't need the
helper binary at all.

No new tests because this is covered by existing tests when seccomp
filters are enabled.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer):

1:22 AM Changeset in webkit [177895] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4

Merge r170946 - Fix flaky loading tests
https://bugs.webkit.org/show_bug.cgi?id=133696

Reviewed by Ryosuke Niwa.

Source/WebCore:
In some cases, the Frame may be destroyed while the loader is
initializing. Make sure we don't delete it too early.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::init):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip no-longer failing tests
1:20 AM Changeset in webkit [177894] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4

Merge r170135 - Fix flaky beforeload tests
https://bugs.webkit.org/show_bug.cgi?id=133685

Reviewed by David Kilzer.

Source/WebCore:

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip tests that are no longer flaky
1:15 AM Changeset in webkit [177893] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r170028 - AX: Safari crashed once in WebCore::AccessibilityObject::ariaIsHidden
https://bugs.webkit.org/show_bug.cgi?id=133825

Reviewed by Enrica Casucci.

Sometimes asking accessibilityIsIgnored() will cause a newObject to be detached immediately after its created.
The creation function holds a reference with RefPtr as long as it lives, but when that method returns, the object goes away.

With that out of the way, I saw the same backtrace lead to updateLayoutIgnorePendingStylesheets being called while still inLayout.

I tried my best but could not create a reproducible layout test.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::updateBackingStore):

1:09 AM Changeset in webkit [177892] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r170026 - AX: Crash at WebCore::AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=133873

Reviewed by Enrica Casucci.

This looks like a very similar problem to
https://bugs.webkit.org/show_bug.cgi?id=133825

The object is being created and deallocated almost right away because calling accessibilityIsIgnored triggers
a deferred layout that invalidates the associated render element.

Despite my best efforts, I could not come up with a way to reproduce this in a layout test.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

1:07 AM Changeset in webkit [177891] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r169726 - Properly reset UStringSearch object in SearchBuffer constructor.
https://bugs.webkit.org/show_bug.cgi?id=133662
<rdar://problem/17240136>

Reviewed by Tim Horton.

  • editing/TextIterator.cpp: (WebCore::SearchBuffer::~SearchBuffer):
1:05 AM Changeset in webkit [177890] by Carlos Garcia Campos
  • 33 edits
    7 adds in releases/WebKitGTK/webkit-2.4

Merge r169475 - Don't dispatch 'beforeload' event inside FrameView::layout()

<https://bugs.webkit.org/show_bug.cgi?id=132621>

Reviewed by Brent Fulgham.

Source/WebCore:
Tests: fast/events/beforeload-assertion.html

fast/events/beforeload-iframe-crash.html
fast/events/beforeload-input-time-crash.html

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

  • dom/Document.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetForJSBindings):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetForJSBindings):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

LayoutTests:

  • compositing/plugins/composited-plugin.html:
  • compositing/plugins/no-backing-store.html:
  • fast/dom/beforeload/flash-before-load.html:
  • fast/events/beforeload-assertion-expected.txt: Added.
  • fast/events/beforeload-assertion.html: Added.
  • fast/events/beforeload-iframe-crash-expected.txt: Added.
  • fast/events/beforeload-iframe-crash.html: Added.
  • fast/events/beforeload-input-time-crash-expected.txt: Added.
  • fast/events/beforeload-input-time-crash.html: Added.
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
  • http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:

(testImpl.iframe.onload):
(testImpl):

  • http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
  • platform/mac/plugins/supports-carbon-event-model.html:
  • platform/mac/plugins/testplugin-onnew-onpaint.html:
  • plugins/get-user-agent-with-null-npp-from-npp-new.html:
  • plugins/mouse-click-plugin-clears-selection.html:
  • plugins/netscape-plugin-map-data-to-src.html:
  • plugins/no-mime-with-valid-extension.html:
  • plugins/plugin-initiate-popup-window.html:
  • plugins/windowless_plugin_paint_test.html:
  • resources/plugin.js: Added.

(runAfterPluginLoad):

Conflicts:

Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in

1:04 AM Changeset in webkit [177889] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r166810 - Improve error checking in WebPageProxy::didReceiveEvent
https://bugs.webkit.org/show_bug.cgi?id=131243
<rdar://problem/16529207>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveEvent):
12:33 AM Changeset in webkit [177888] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r167341 - Unreviewed, add the obvious thing that marks MakeRope as exiting since it can exit.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

12:18 AM Changeset in webkit [177887] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
https://bugs.webkit.org/show_bug.cgi?id=126821

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-06
Reviewed by Carlos Garcia Campos.

  • plugins/PluginPackageNone.cpp: Remove PluginPackage::determineQuirks()

from PluginPackageNone.cpp as it also shows up as a duplicate symbol.

12:15 AM Changeset in webkit [177886] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
https://bugs.webkit.org/show_bug.cgi?id=126821

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-06
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.list.am: Add WidgetBackingStoreCairo to platformgtk_sources

for the Quartz build target, otherwise WebKitGTK aborts with an undefined
symbol at runtime.

12:12 AM Changeset in webkit [177885] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
https://bugs.webkit.org/show_bug.cgi?id=126821

Patch by Zan Dobersek <zdobersek@igalia.com> on 2015-01-05
Reviewed by Carlos Garcia Campos.

  • GNUmakefile.list.am: Simplify the logic for determining build

targets that are specific to windowing targets. Avoid nested target
checks and list all the additional build targets for each windowing
target - X11, Wayland, X11 and Wayland (i.e. the build targets that
are shared between the two configurations), Win32 and Quartz. This
avoids the current problems of building duplicate build targets on
Quartz, and also cleans up the list.

Jan 4, 2015:

9:11 PM Changeset in webkit [177884] by Darin Adler
  • 2 edits in trunk/Source/WebCore
  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::parseXML):
Removed an incorrect assertion my last check-in added.

6:24 PM Changeset in webkit [177883] by Darin Adler
  • 9 edits in trunk/Source/WebCore

Modernize and tighten up HTMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=140041

Reviewed by Sam Weinig.

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::parseHTML): Pass a reference instead of
a pointer for the context element.

  • html/FTPDirectoryDocument.cpp: Removed unneeded includes, made more

things in FTPDirectoryDocumentParser private. Use Ref instead of RefPtr
in a could places. Initialize in class instead of in constructor.
(WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
Less initialization here.
(WebCore::FTPDirectoryDocumentParser::createTDForFilename): More Ref here.
(WebCore::createTemplateDocumentData): Removed unneeded initialization
of RefPtr, which is initialized without explicitly asking for it.
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Reworded
comment slightly.

  • html/parser/HTMLDocumentParser.cpp: Cut down on includes.

(WebCore::tokenizerStateForContextElement): Fixed URL. Changed argument
to be a reference rather than a pointer.
(WebCore::HTMLDocumentParser::inPumpSession):
(WebCore::HTMLDocumentParser::shouldDelayEnd):
(WebCore::HTMLDocumentParser::HTMLDocumentParser): Marked constructors
inline. Updated for data members that are now objects instead of pointers.
Removed explicit initialization for scalars that are now initialized in
the class definition.
(WebCore::HTMLDocumentParser::create): Moved the private creation
functions in here, out of the header file.
(WebCore::HTMLDocumentParser::~HTMLDocumentParser): Removed unused
m_haveBackgroundParser.
(WebCore::HTMLDocumentParser::prepareToStopParsing): Updated URL and
removed m_haveBackgroundParser reference.
(WebCore::HTMLDocumentParser::processingData): Removed a check of
m_haveBackgroundParser.
(WebCore::HTMLDocumentParser::resumeParsingAfterYield): Tweak comment.
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Added
a null check of the result of takeScriptToProcess, since there really
is no guarantee it's non-null.
(WebCore::HTMLDocumentParser::canTakeNextToken): Removed assertion
that was for m_haveBackgroundParser cases only. Rewrapped comment.
(WebCore::HTMLDocumentParser::contextForParsingSession): Use nullptr.
(WebCore::HTMLDocumentParser::pumpTokenizer): Rework comments,
remove assertions that no longer make sense, use auto instead of
repeating a long type name, update to use m_token and m_tokenizer.
(WebCore::HTMLDocumentParser::hasInsertionPoint): Rewrapped comment.
(WebCore::HTMLDocumentParser::insert): Got rid of braces around a
single-line if body.
(WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
Removed comment about incorrect m_haveBackgroundParser assertion.
(WebCore::HTMLDocumentParser::isExecutingScript): Use && style instead
of early exit for a null check.
(WebCore::HTMLDocumentParser::textPosition): Tightened up code a little.
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): Added
a Ref to protect the parser, as is already done in every other function
that calls pumpTokenizerIfPossible.
(WebCore::HTMLDocumentParser::parseDocumentFragment): Take a reference
instead of a pointer. Also use auto so we get a Ref instead of a RefPtr.

  • html/parser/HTMLDocumentParser.h: Removed unneeded includes.

Made private inheritance explicit instead of just omitting public.
Moved function bodies out of the class, and in some cases, out of the
header entirely. Return a reference from tokenizer(). Marked most
virtual functions final. Made DocumentFragment version of the
constructor private rather than protected. Made the functions
suspendScheduledTasks() and resumeScheduledTasks() private, since
they are always called through a base class. Removed the private
token function since it is better to get at m_token directly.
Removed m_haveBackgroundParser, since we don't have that any more
and it's always false. Also removed forcePlaintextForTextDocument
since the tokenizer is exposed and can be used directly to do that.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Made the parser non-const.
It could only be const before because HTMLDocumentParser::tokenizer
took a const parser and returned a non-const tokenizer, but that doesn't
really make sense.
(WebCore::HTMLTreeBuilder::constructTree): Removed null check for
tokenizer, which was never null. Updated since tokenizer is a reference.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto. Also fixed and removed
some assertions like the ones I did recently in the rest of this file.
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.

  • html/parser/HTMLTreeBuilder.h: Made HTMLDocumentParser& non-const.
  • html/parser/TextDocumentParser.cpp: Removed unneeded include and

unneeded explicit destructor.
(WebCore::TextDocumentParser::TextDocumentParser): Updated since
treeBuilder() returns a reference now, and set the tokenizer state
directly since tokenizer() is exposed.

  • html/parser/TextDocumentParser.h: Moved initialization of the

data member here instead of the constructor. Also removed unneeded
explicitly defined destructor.

5:08 PM Changeset in webkit [177882] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/events/autoscroll-should-not-stop-on-keypress.html is flaky in debug builds
https://bugs.webkit.org/show_bug.cgi?id=140060

Reviewed by Darin Adler.

  • fast/events/autoscroll-should-not-stop-on-keypress.html: Instead of waiting a

fixed amount of time, check if the test succeeded every 100ms. In addition to making
the test more reliable on slow builds, it makes the test faster in release mode.

4:46 PM Changeset in webkit [177881] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove GlyphPageTree
https://bugs.webkit.org/show_bug.cgi?id=140015

Follow-up to follow-up, fonts/font-fallback-prefers-pictographs.html is now failing.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):

Make the loop again go one past the last fallback index, the pictograph special case depends on it.

4:16 PM Changeset in webkit [177880] by ap@apple.com
  • 4 edits in trunk/LayoutTests

http/tests/security/cross-frame-access-put.html is racy
https://bugs.webkit.org/show_bug.cgi?id=140059

Reviewed by Darin Adler.

This test used to run some code in a subframe on a zero delay timer, and some more
code in a main frame in onload. The order was undefined.

  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/cross-frame-access-put.html:
  • http/tests/security/resources/cross-frame-iframe-for-put-test.html:
4:04 PM Changeset in webkit [177879] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: plugins/plugin-remove-readystatechange.html is failing on debug bots
https://bugs.webkit.org/show_bug.cgi?id=126169

Reviewed by Antti Koivisto.

  • plugins/plugin-remove-readystatechange.html: Move the embed so that it's not the

last rendered element in the test. It's only a workaround, not a real fix - if
anyone is interested in fixing the issue for real, please file a new bug.
Also, demystified the test by using readyState instead of counting readystatechange
events.

3:38 PM Changeset in webkit [177878] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove GlyphPageTree
https://bugs.webkit.org/show_bug.cgi?id=140015

Follow-up to r177876 to fix mathml/opentype/munderover-layout-resize.html which is asserting in bots.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):

Always return system fallback if no glyph is found.

3:27 PM Changeset in webkit [177877] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::createAndFillGlyphPage):

1:26 PM Changeset in webkit [177876] by Antti Koivisto
  • 28 edits
    1 move
    2 deletes in trunk/Source

Remove GlyphPageTree
https://bugs.webkit.org/show_bug.cgi?id=140015

Reviewed by Darin Adler.

GlyphPageTree is a global cache consisting of a tree of nodes that match SimpleFontData instances.
The tree levels correspond to font fallback lists so that higher levels fill holes (missing glyphs)
in the lower levels. This patch replaces it with a simpler and easier to understand caching scheme.
In particular the goal is to have clearer ownership relations and better control over mutability.

The new scheme looks like this:

SimpleFontData instances cache GlyphPages for themselves. These pages are immutable after construction
and may contain holes. This is a global cache (since SimpleFontDatas are cached globally) with the same
lifetime as the GlyphPageTree used to have.

FontGlyphs instances cache resolved GlyphPages for the normal font variant. These are build by traversing
the fallback list as necessary and collecting glyphs from SimpleFontDatas. As a common case case optimization
the page from the primary font is cached directly as long as it has the requested glyphs.
FontGlyphs are shared between sufficiently similar Font instances so this is a shared cache as well.

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionFontDataCacheKey::makeFlagKey):

nonCJKGlyphOrientation matters for glyph selection too and needs to be part of the FontDescription cache key.

  • platform/graphics/FontData.h:

(WebCore::FontData::FontData):
(WebCore::FontData::setMaxGlyphPageTreeLevel): Deleted.
(WebCore::FontData::maxGlyphPageTreeLevel): Deleted.

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::primaryFontHasGlyphForCharacter):

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::glyphDataForCJKCharacterWithoutSyntheticItalic):
(WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalCharacter):

Traverse the fallback list by using simple index instead of indirectly via GlyphPageTreeNode traversal.

(WebCore::pageFromFontData):

Fetch a page from the primary font and see if we can use it as-is.
Vertical fonts have special glyph selection and can't use this path.

(WebCore::FontGlyphs::createFlattenedGlyphPage):

Build a hole-free glyph page by pulling characters from the fallback list.

(WebCore::FontGlyphs::glyphDataForCharacter):

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::primarySimpleFontData):

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphPage::createForMixedFontData):
(WebCore::GlyphPage::createCopyForMixedFontData):

Add copy version.

(WebCore::GlyphPage::createForSingleFontData):

Remove owner node field.

(WebCore::GlyphPage::~GlyphPage):
(WebCore::GlyphPage::count):
(WebCore::GlyphPage::GlyphPage):
(WebCore::GlyphPage::createCopiedSystemFallbackPage): Deleted.
(WebCore::GlyphPage::owner): Deleted.

  • platform/graphics/GlyphPageTreeNode.cpp: Removed.
  • platform/graphics/GlyphPageTreeNode.h: Removed.
  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::SegmentedFontData):
(WebCore::SegmentedFontData::~SegmentedFontData):
(WebCore::SegmentedFontData::simpleFontDataForCharacter):

Return null when there is no usable range so the client can tell the difference.
Rename for clarity.

(WebCore::SegmentedFontData::simpleFontDataForFirstRange):

Add a way to get the fallback font separately. This is always available.

(WebCore::SegmentedFontData::isLoading):
(WebCore::SegmentedFontData::fontDataForCharacter): Deleted.

  • platform/graphics/SegmentedFontData.h:

(WebCore::SegmentedFontData::SegmentedFontData): Deleted.

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::initCharWidths):
(WebCore::SimpleFontData::platformGlyphInit):
(WebCore::SimpleFontData::~SimpleFontData):
(WebCore::SimpleFontData::simpleFontDataForCharacter):
(WebCore::fillGlyphPage):
(WebCore::createAndFillGlyphPage):

Move code for initializing glyph pages here. The code is from GlyphPageTreeNode.

(WebCore::SimpleFontData::glyphPage):

Cache glyphs for this font. These pages may have holes.

(WebCore::SimpleFontData::glyphForCharacter):
(WebCore::SimpleFontData::glyphDataForCharacter):
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):

Since the cache is now owned by the SimpleFontData all the custom pruning can go away.
The glyph page cache dies along with it owner.

(WebCore::SimpleFontData::fontDataForCharacter): Deleted.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(-[WebCascadeList objectAtIndex:]):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence):

  • platform/graphics/mac/GlyphPageMac.cpp: Copied from Source/WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp.

This was already misnamed.

(WebCore::GlyphPage::fill):

  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Removed.
  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):

  • platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
  • platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
  • platform/graphics/win/SimpleFontDataCGWin.cpp:

(WebCore::SimpleFontData::platformInit):

  • platform/mac/DragImageMac.mm:

Add missing FontCachePurgePreventer.

(WebCore::createDragImageForLink):

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData):

  • svg/SVGFontElement.cpp:
12:14 PM Changeset in webkit [177875] by andersca@apple.com
  • 33 edits in trunk/Source/WebKit2

Clean up some of the IPC code
https://bugs.webkit.org/show_bug.cgi?id=140057

Reviewed by Antti Koivisto.

Use std::mutex instead of WTF::Mutex. Change a couple of pointers to references in the connection client.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):

  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::didClose):
(WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):

  • NetworkProcess/NetworkProcess.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendMessage):
(IPC::Connection::waitForMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::sendOutgoingMessages):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::enqueueIncomingMessage):
(IPC::Connection::dispatchMessage):
(IPC::Connection::dispatchOneMessage):

  • Platform/IPC/Connection.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::didClose):
(WebKit::PluginProcess::didReceiveInvalidMessage):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::didClose):
(WebKit::WebProcessConnection::didReceiveInvalidMessage):

  • PluginProcess/WebProcessConnection.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didClose):
(WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didReceiveInvalidMessage):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didClose):
(WebKit::PluginProcessProxy::didReceiveInvalidMessage):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didReceiveInvalidMessage):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

(WebKit::WebToDatabaseProcessConnection::didClose):
(WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Databases/WebToDatabaseProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didClose):
(WebKit::NetworkProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::didClose):
(WebKit::PluginProcessConnection::didReceiveInvalidMessage):

  • WebProcess/Plugins/PluginProcessConnection.h:
  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspectorUI.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didClose):
(WebKit::WebProcess::didReceiveInvalidMessage):

  • WebProcess/WebProcess.h:
11:39 AM Changeset in webkit [177874] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Remove an unused function
https://bugs.webkit.org/show_bug.cgi?id=140055

Reviewed by Sam Weinig.

  • Modules/webdatabase/DatabaseAuthorizer.cpp:

(WebCore::DatabaseAuthorizer::setReadOnly): Deleted.

  • Modules/webdatabase/DatabaseAuthorizer.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::setAuthorizerReadOnly): Deleted.

  • Modules/webdatabase/DatabaseBackendBase.h:
10:57 AM Changeset in webkit [177873] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Modernize parts of the database code
https://bugs.webkit.org/show_bug.cgi?id=140054

Reviewed by Antti Koivisto.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::runTransaction):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::SQLStatement):

  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::create):
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::executeSQL):

  • Modules/webdatabase/SQLTransaction.h:

(WebCore::SQLTransaction::database):

Jan 3, 2015:

10:35 PM Changeset in webkit [177872] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Move the CSS Grid properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140051

Reviewed by Sam Weinig.

Move the CSS Grid properties from StyleResolver to the new
StyleBuilder.

This patch adds support for "ConditionalConverter" parameter in
CSSPropertyNames.in to support cases where we only want to call the
property setter conditionally. The converter function is then expected
to return a boolean to indicate if the setter should be called by the
StyleBuilder or not.

7:47 PM Changeset in webkit [177871] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Crash in operationNewFunction when scrolling on Google+
https://bugs.webkit.org/show_bug.cgi?id=140033

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

In DFG code, the scope register can be eliminated because all uses have been
dead code eliminated. In the case where one of the uses was creating a function
that is never used, the baseline code will still create the function. If we OSR
exit to a path where that function gets created, check the scope register value
and set the new, but dead, function to undefined instead of creating a new function.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_func_exp):

LayoutTests:

New regerssion test.

  • js/regress-140033-expected.txt: Added.
  • js/regress-140033.html: Added.
  • js/script-tests/regress-140033.js: Added.

(.unused):
(defineADeadFunction):

Jan 2, 2015:

2:49 PM Changeset in webkit [177870] by ap@apple.com
  • 8 edits in trunk/Tools

Simplify WebKitTestRunner timeout tracking
https://bugs.webkit.org/show_bug.cgi?id=140036

Reviewed by Darin Adler.

The code for configuring timeouts was mostly dead, because run-webkit-tests never
passes the --timeout option to WebKitTestRunner.

  • WebKitTestRunner/Options.h:
  • WebKitTestRunner/Options.cpp:

(WTR::Options::Options):
(WTR::OptionsHandler::OptionsHandler):
(WTR::handleOptionTimeout): Deleted.
Removed support for --timeout. Timeouts are passed for each test individually,
and defaults are good enough for the rare cases where WebKitTestRunner is run
manually without run-webkit-tests.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::TestController):
(WTR::TestController::initialize):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::reattachPageToWebProcess):
(WTR::TestController::runUntil):

  • WebKitTestRunner/TestController.h:

Simplified runUntil by passing the actual timeout, not an enum.
Increased short timeout for ASan enabled builds, as WebProcess launching takes
quite a while.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke): Removed dead code that handled a timeout from NoTimeout.

  • WebKitTestRunner/efl/TestControllerEfl.cpp:

(WTR::TestController::platformRunUntil):

  • WebKitTestRunner/gtk/TestControllerGtk.cpp:

(WTR::TestController::platformRunUntil):
Build fixes.

2:40 PM Changeset in webkit [177869] by Chris Dumez
  • 14 edits
    2 deletes in trunk/Source/WebCore

Kill the DeprecatedStyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140034

Reviewed by Darin Adler.

Move FillLayer properties to the new StyleBuilder and get rid of the
DeprecatedStyleBuilder now that all its CSS properties have been ported
to the new StyleBuilder.

12:07 PM Changeset in webkit [177868] by andersca@apple.com
  • 8 edits
    2 deletes in trunk/Tools

Remove now unused storage tracker glue from DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=140045

Reviewed by Darin Adler.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/StorageTrackerDelegate.h: Removed.
  • DumpRenderTree/StorageTrackerDelegate.mm: Removed.
  • DumpRenderTree/TestRunner.cpp:

(TestRunner::staticFunctions):
(syncLocalStorageCallback): Deleted.
(observeStorageTrackerNotificationsCallback): Deleted.
(deleteAllLocalStorageCallback): Deleted.
(deleteLocalStorageForOriginCallback): Deleted.
(localStorageDiskUsageForOriginCallback): Deleted.
(originsWithLocalStorageCallback): Deleted.

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(allocateGlobalControllers):
(releaseGlobalControllers):

  • DumpRenderTree/mac/DumpRenderTreeMac.h:
  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::syncLocalStorage): Deleted.
(TestRunner::localStorageDiskUsageForOrigin): Deleted.
(TestRunner::observeStorageTrackerNotifications): Deleted.
(TestRunner::deleteAllLocalStorage): Deleted.
(TestRunner::originsWithLocalStorage): Deleted.
(TestRunner::deleteLocalStorageForOrigin): Deleted.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::syncLocalStorage): Deleted.
(TestRunner::localStorageDiskUsageForOrigin): Deleted.
(TestRunner::observeStorageTrackerNotifications): Deleted.
(TestRunner::deleteAllLocalStorage): Deleted.
(TestRunner::originsWithLocalStorage): Deleted.
(TestRunner::deleteLocalStorageForOrigin): Deleted.

11:57 AM Changeset in webkit [177867] by andersca@apple.com
  • 8 edits
    1 delete in trunk/LayoutTests

Get rid of storage tracker layout tests
https://bugs.webkit.org/show_bug.cgi?id=140044

Reviewed by Darin Adler.

These tests are very flaky since they expect to be run in order. Furthermore, they were testing a WebKit Mac SPI
that is pretty hard to test reliably, due to its "design". It's not worth trying to make these tests work
or to rewrite them in Objective-C (which would be the right thing to do), so just get rid of them.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
  • storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare-expected.txt: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-2-create-expected.txt: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all-expected.txt: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-4-create-expected.txt: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one-expected.txt: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-6-create-expected.txt: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage-expected.txt: Removed.
  • storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html: Removed.
11:53 AM Changeset in webkit [177866] by Chris Dumez
  • 8 edits in trunk/Source/WebCore

Move 'font-size' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=140010

Reviewed by Darin Adler.

Move 'font-size' CSS property to the new StyleBuilder by using custom
code.

10:32 AM Changeset in webkit [177865] by ap@apple.com
  • 2 edits in trunk/LayoutTests

js/dom/Promise.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140043

10:18 AM Changeset in webkit [177864] by Darin Adler
  • 18 edits in trunk/Source/WebCore

Pass Document instead of ScriptExecutionContext to non-worker constructors
https://bugs.webkit.org/show_bug.cgi?id=140040

Reviewed by Sam Weinig.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDefinition):
Generate code passing the document when ConstructorCallWith=Document is used.
Later, we could base this on whether the constructor is exposed to workers
or not, instead, but for now this seems a clean way to do it.

  • bindings/scripts/IDLAttributes.txt: Allow ConstructorCallWith=Document.
  • Modules/notifications/Notification.cpp:

(WebCore::Notification::create):

  • Modules/notifications/Notification.h:
  • Modules/notifications/Notification.idl:
  • dom/Comment.cpp:
  • dom/Comment.h:
  • dom/Comment.idl:
  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::nodeName): Use ASCIILiteral (just something
I noticed in passing).

  • dom/DocumentFragment.h:
  • dom/DocumentFragment.idl:
  • dom/Range.cpp:
  • dom/Range.h:
  • dom/Range.idl:
  • dom/Text.cpp:
  • dom/Text.h:
  • dom/Text.idl:

Change from ScriptExecutionContext to Document, and remove unneeded
overloads that were just casting. It's better to have the bindings
layer, which knows these are not ScriptExecutionContext, do the cast
than to have create functions that cast that are not in any position
to know the cast is safe.

10:17 AM Changeset in webkit [177863] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Re-land the HTMLTreeBuilder change with the assertion fixed.
https://bugs.webkit.org/show_bug.cgi?id=140032

Reviewed by Andreas Kling.

10:07 AM Changeset in webkit [177862] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r177859 and r177861.
https://bugs.webkit.org/show_bug.cgi?id=140042

Caused many assertion failures (Requested by ap on #webkit).

Reverted changesets:

"Modernize coding style of HTMLTreeBuilder"
https://bugs.webkit.org/show_bug.cgi?id=140032
http://trac.webkit.org/changeset/177859

"Tried to fix the iOS build."
http://trac.webkit.org/changeset/177861

9:45 AM Changeset in webkit [177861] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix the iOS build.

  • html/parser/HTMLTreeBuilder.cpp:
8:33 AM Changeset in webkit [177860] by Darin Adler
  • 8 edits in trunk/Source

Rework code that hides characters in password fields to streamline a little
https://bugs.webkit.org/show_bug.cgi?id=140035

Reviewed by Sam Weinig.

Source/WebCore:

  • editing/InsertIntoTextNodeCommand.cpp:

(WebCore::InsertIntoTextNodeCommand::doApply): Pass the offset after the character
we want to reveal instead of the offset before. This is more future proof if we
ever want to handling surrogate pairs or combining marks, rather than hard
coding the likely incorrect rule of "go back by one code unit". Also got rid of
the isSecure check here, since RenderText can do that check inside the
momentarilyRevealLastTypedCharacter instead.

  • rendering/RenderText.cpp: Tweaked the SecureTextTimer class: Marked it final

and made it derive from TimerBase privately. Made the constructor explicit and
made it take a reference rather than a pointer. Use initialization in the class
to set up the variable, and use 0 as the special value instead of -1 since we
now store the offset *after* the character to be revealed.
(WebCore::secureTextTimers): Use this function and NeverDestroyed rather than
a global variable gSecureTextTimers. Also use unique_ptr for the map so we
don't have to delete explicitly any more.
(WebCore::SecureTextTimer::SecureTextTimer): Moved out of the class definition
so the class ia a little easier to read.
(WebCore::SecureTextTimer::restart): Renamed since the function name doesn't
have to describe its argument; the function is only called in one place.
(WebCore::SecureTextTimer::takeOffsetAfterLastTypedCharacter): Changed name
and made this a one-shot that always zeroes the offset.
(WebCore::SecureTextTimer::fired): Moved out of line and tweaked as above.
(WebCore::RenderText::willBeDestroyed): Simplified now that the function
secureTextTimers() always returns a map and we can just remove since the
values in the map are unique_ptr, so take care of deletion.
(WebCore::RenderText::setRenderedText): Tweaked the code that calls secureText
to make the iOS case clearer.
(WebCore::RenderText::secureText): Rewrote the function. New version no
longer relies on a special String::fill function; it's kind of strange that
String had a built in concept of replacing a string with one that has the
same length but all with a masking character. This new approach is cleaner.
I had written a version that handles surrogate pairs and combining marks,
but then instead wrote a comment explaining why that's not needed/helpful.
(WebCore::RenderText::momentarilyRevealLastTypedCharacter): Added a check so
this does nothing if we are not securing the text. Also updated logic so that
this doesn't double hash any more and updated for other changes like using
a reference instead of a pointer.

  • rendering/RenderText.h: Removed the unneeded isSecure function and updated

the argument name in momentarilyRevealLastTypedCharacter since it's now the
offset after the character, not before the character.

Source/WTF:

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::fill): Deleted.

  • wtf/text/StringImpl.h: Deleted StringImpl::fill.
  • wtf/text/WTFString.h:

(WTF::String::fill): Deleted.

8:31 AM Changeset in webkit [177859] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Modernize coding style of HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=140032

Reviewed by Andreas Kling.

Changes include:

  • Use references rather than pointers.
  • Mark data members const that are fully set up in the constructor.
  • Remove many unneeded includes and forward declarations.
  • Fix conditionals to be consistent and correct.
  • Merge some multi-line constructs into a single line.
  • Update whatwg.org URLs; not sure we should keep these, though.
  • Cut down on use of WTF_MAKE_NONCOPYABLE since for many classes it's impossible to copy anyway due to references, or harmless to copy.
  • Made more things private.
  • Initialize scalars in the class definition rather than each constructor.
  • Use Ref/RefPtr instead of PassRefPtr.
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::HTMLDocumentParser): Pass reference rather than pointer to
the context element.
(WebCore::HTMLDocumentParser::detach): Removed call to HTMLTreeBuilder::detach. This work
is instead done when the tree builder is destroyed.
(WebCore::HTMLDocumentParser::constructTreeFromHTMLToken): Pass reference rather than pointer.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::uninitializedPositionValue1): Marked this inline because it's trivial. It was
probably getting inlined already.
(WebCore::isCaptionColOrColgroupTag): Format on a single line.
(WebCore::isTableBodyContextTag): Ditto.
(WebCore::isNonAnchorFormattingTag): Ditto.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
Take reference instead of pointer.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Use makeString helper.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading): Tweak formatting.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading): Both of the above.
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::makeString): Added.
(WebCore::HTMLTreeBuilder::isParsingTemplateContents): Moved the body of this function here,
since it's only used inside the class.
(WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Ditto.
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Get rid of dead code that handles a null context
element. The FIXME mentions a bug that is obsolete. Also reorder the data members to be a bit
more logical and set the new m_destructionProhibited to false at the end of the constructor,
to check if we accidentally destroy the tree builder while constructing it.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): Updated to take
a reference and to let m_fragment get initialized in the class definition.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::fragment): Moved this here since it's only
used inside the class.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Ditto.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Ditto.
(WebCore::HTMLTreeBuilder::takeScriptToProcess): Changed return type to RefPtr instead of
PassRefPtr. Added code to handle m_scriptToProcess of null, since reading the code at the
single call site makes it clear that it's not guaranteed to be non-null! Added destruction-
related assertions since this is a public function.
(WebCore::HTMLTreeBuilder::constructTree): Updated for reference rather than pointer. Also
added destruction-related assertions since this is a public function.
(WebCore::HTMLTreeBuilder::processToken): Updated to take a reference.
(WebCore::HTMLTreeBuilder::processDoctypeToken): Ditto.
(WebCore::HTMLTreeBuilder::processFakeStartTag): Ditto. Also take an rvalue reference for
the vector of attributes that we will put into the token.
(WebCore::HTMLTreeBuilder::processFakeEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope): Ditto.
(WebCore::HTMLTreeBuilder::attributesForIsindexInput): Ditto.
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ditto.
(WebCore::isLi): Ditto.
(WebCore::isDdOrDt): Ditto.
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Changed loop to use reference
rather than pointer for never-null stackItem. Also use auto and a for loop to make the
loop easier to read.
(WebCore::createCaseMap): Tweaked formatting.
(WebCore::adjustAttributes): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Use reference instead of pointer.
Set insertion mode directly instead of using a setInsertionMode function.
(WebCore::HTMLTreeBuilder::processTemplateStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processTemplateEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents): Ditto.
(WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): Ditto.
(WebCore::HTMLTreeBuilder::closeTheCell): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processStartTag): Ditto. Tweaked assertions, so that we
assert what state we are in before we fall through to each case, rather than asserting
inside each case. The per-case assertions were sort of excessive and repetitive and
even a bit hard to understand.
(WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Ditto.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInTableBody): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInRow): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInCell): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): Ditto.
(WebCore::HTMLTreeBuilder::processTrEndTagForInRow): Ditto.
(WebCore::HTMLTreeBuilder::processTableEndTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTag): Ditto.
(WebCore::HTMLTreeBuilder::processComment): Ditto.
(WebCore::HTMLTreeBuilder::processCharacter): Ditto.
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Ditto.
(WebCore::HTMLTreeBuilder::processCharacterBuffer): Ditto.
(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processEndOfFile): Ditto.
(WebCore::HTMLTreeBuilder::defaultForInitial): Ditto.
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML): Ditto.
(WebCore::HTMLTreeBuilder::defaultForBeforeHead): Ditto.
(WebCore::HTMLTreeBuilder::defaultForInHead): Ditto.
(WebCore::HTMLTreeBuilder::defaultForInHeadNoscript): Ditto.
(WebCore::HTMLTreeBuilder::defaultForAfterHead): Ditto.
(WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInHead): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag): Ditto.
(WebCore::HTMLTreeBuilder::processScriptStartTag): Ditto.
(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): Made this return a reference.
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): More of the same.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.
(WebCore::HTMLTreeBuilder::finished): Changed m_isAttached assertion to !m_destroyed.
Also updated the comment.
(WebCore::HTMLTreeBuilder::parseError): Marked this empty function inline.

  • html/parser/HTMLTreeBuilder.h: Removed most includes and forward declarations.

Changed the phone number functions conditional to be correct. Removed a non-helpful
FIXME about assertions we really don't need. Removed unneeded use of the inline keyword,
changed types to references rather than pointer. Removed unneeded public insertionMode
and setInsertionMode functions. Both are things that are only done inside this class and
m_insertionMode can be accessed directly instead. Added a destructor that implements
the destruction assertions. Asserted !m_destroyed at the start of all the public functions.

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement): Use reference rather than pointer.

2:01 AM Changeset in webkit [177858] by Manuel Rego Casasnovas
  • 23 edits in trunk

[CSS Grid Layout] Remove stack from grid-auto-flow syntax
https://bugs.webkit.org/show_bug.cgi?id=134842

Reviewed by Sergio Villar Senin.

Source/WebCore:

"stack" mode for grid-auto-flow property has been removed from the grid
layout spec. New syntax is:

[ row | column ]
dense

Modified parsing in order to adapt it to the new syntax.

Also the current behavior relying on "stack" has been updated following
the spec. Now it won't be possible to mimic the old "none" (or "stack")
unless you specify manually the grid-placement properties.

No new tests needed, updated current tests to adapt them to the new
behavior.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Adapt to new syntax.

  • css/CSSParser.cpp:

(WebCore::isValidGridAutoFlowId): Remove "stack" from valid ids.
(WebCore::CSSParser::parseGridAutoFlow): Adapt to new syntax.

  • css/CSSValueKeywords.in: Remove "stack".
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty): Adapt to new syntax.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeItemsOnGrid): Remove old "stack" code.

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::resolveGridPositionsFromStyle): If we
cannot resolve positions, we have to run the auto-placement algorithm.

  • rendering/style/RenderStyle.h: Remove "stack".
  • rendering/style/RenderStyleConstants.h: Ditto.

LayoutTests:

Update layout tests in order to adapt the results to the new behavior.

  • fast/css-grid-layout/grid-auto-flow-get-set-expected.txt:
  • fast/css-grid-layout/grid-auto-flow-get-set.html:
  • fast/css-grid-layout/grid-auto-flow-update.html:
  • fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
  • fast/css-grid-layout/grid-item-z-index-change-repaint.html:
  • fast/css-grid-layout/grid-item-z-index-stacking-context.html:
  • fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
  • fast/css-grid-layout/grid-shorthand-get-set.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
  • ietestcenter/css3/grid/grid-column-001.htm:
  • ietestcenter/css3/grid/grid-column-002.htm:
  • ietestcenter/css3/grid/grid-column-003.htm:

Jan 1, 2015:

9:26 PM Changeset in webkit [177857] by commit-queue@webkit.org
  • 41 edits
    2 deletes in trunk/Source

Remove GroupSettings
https://bugs.webkit.org/show_bug.cgi?id=140037

Patch by Sam Weinig <sam@webkit.org> on 2015-01-01
Reviewed by Dan Bernstein.

Source/WebCore:

Nothing sets the values in GroupSettings and nothing uses them.

  • The indexedDBDatabasePath is accessed and sent to the IndexedDB backend, but the backend then proceeds to not use it.
  • CMakeLists.txt:
  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::getDatabaseNames):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBFactoryBackendInterface.cpp:

(WebCore::IDBFactoryBackendInterface::create):

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/PageGroupIndexedDatabase.cpp:

(WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
(WebCore::PageGroupIndexedDatabase::from):
(WebCore::PageGroupIndexedDatabase::factoryBackend):

  • Modules/indexeddb/PageGroupIndexedDatabase.h:
  • Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:

(WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
(WebCore::WorkerGlobalScopeIndexedDatabase::from):
(WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):

  • Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DocumentStyleSheetCollection.cpp:
  • page/CaptionUserPreferences.cpp:
  • page/Frame.cpp:
  • page/GroupSettings.cpp: Removed.
  • page/GroupSettings.h: Removed.
  • page/PageGroup.cpp:

(WebCore::PageGroup::PageGroup):

  • page/PageGroup.h:

(WebCore::PageGroup::groupSettings): Deleted.

  • platform/DatabaseStrategy.cpp:

(WebCore::DatabaseStrategy::createIDBFactoryBackend):

  • platform/DatabaseStrategy.h:
  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):

  • workers/DedicatedWorkerGlobalScope.h:
  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):

  • workers/DedicatedWorkerThread.h:
  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
(WebCore::SharedWorkerProxy::groupSettings): Deleted.

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::create):
(WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):

  • workers/SharedWorkerGlobalScope.h:
  • workers/SharedWorkerThread.cpp:

(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):
(WebCore::SharedWorkerThread::createWorkerGlobalScope):

  • workers/SharedWorkerThread.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):

  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::groupSettings): Deleted.

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):

  • workers/WorkerThread.h:

Source/WebKit2:

Remove unused databaseDirectoryIdentifier parameters.

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
(WebKit::WebIDBFactoryBackend::getDatabaseNames):
(WebKit::WebIDBFactoryBackend::deleteDatabase):

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
  • WebProcess/Storage/StorageNamespaceImpl.cpp:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createIDBFactoryBackend):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
8:41 PM Changeset in webkit [177856] by Yusuke Suzuki
  • 5 edits in trunk

Source/JavaScriptCore:
String includes methods perform toString on searchString before toInt32 on a offset
https://bugs.webkit.org/show_bug.cgi?id=140031

Reviewed by Darin Adler.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):

LayoutTests:
String includes methods perform toString on searchString before toInteger on a offset
https://bugs.webkit.org/show_bug.cgi?id=140031

Reviewed by Darin Adler.

As per the latest ES6 draft, String.prototype.{startsWith, endsWith, includes}
perform toString on searchString (argument 0) before performing toInteger on offset (argument 1).

  • js/script-tests/string-includes.js:

(searchString.toString):
(startOffset.valueOf):
(endOffset.valueOf):
(matchString.toString): Deleted.

  • js/string-includes-expected.txt:
6:05 PM Changeset in webkit [177855] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Tried to fix the iOS build.

  • page/scrolling/ios/ScrollingTreeIOS.cpp:

(WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):

5:13 PM Changeset in webkit [177854] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/JavaScriptCore

Change to return std::unique_ptr<> in fooCreate()
https://bugs.webkit.org/show_bug.cgi?id=139983

Reviewed by Darin Adler.

To avoid unnecessary std::unique_ptr<> casting, fooCreate() returns std::unique_ptr<> directly.

  • create_regex_tables:
  • yarr/YarrPattern.h:

(JSC::Yarr::YarrPattern::reset):
(JSC::Yarr::YarrPattern::newlineCharacterClass):
(JSC::Yarr::YarrPattern::digitsCharacterClass):
(JSC::Yarr::YarrPattern::spacesCharacterClass):
(JSC::Yarr::YarrPattern::wordcharCharacterClass):
(JSC::Yarr::YarrPattern::nondigitsCharacterClass):
(JSC::Yarr::YarrPattern::nonspacesCharacterClass):
(JSC::Yarr::YarrPattern::nonwordcharCharacterClass):

4:57 PM Changeset in webkit [177853] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix itearator typo
https://bugs.webkit.org/show_bug.cgi?id=140027

Reviewed by Csaba Osztrogonác.

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::nextBreakablePosition): Spelling mistake.

4:29 PM Changeset in webkit [177852] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Don't dereference end() in SimpleLineLayout::RunResolver::rangeForRenderer
https://bugs.webkit.org/show_bug.cgi?id=139951
rdar://problem/19339881

Reviewed by Darin Adler.

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):

3:53 PM Changeset in webkit [177851] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

ASSERT that a null key is never used with FeatureCounter
https://bugs.webkit.org/show_bug.cgi?id=140030

Reviewed by Darin Adler.

  • platform/FeatureCounter.cpp:

(WebCore::FeatureCounter::incrementKey):
(WebCore::FeatureCounter::setKey):

  • platform/ios/FeatureCounter.mm:

(WebCore::FeatureCounter::incrementKey):
(WebCore::FeatureCounter::setKey):

2:35 PM Changeset in webkit [177850] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[iOS] Fix memory leak in FeatureCounter
https://bugs.webkit.org/show_bug.cgi?id=140029
<rdar://problem/19255690>

Reviewed by Darin Adler.

Fix memory leak in FeatureCounter. The NSString for the counter key
was allocated but never released. The patch switches to using a
RetainPtr instead of a raw pointer to avoid the issue.

  • platform/ios/FeatureCounter.mm:

(WebCore::FeatureCounter::incrementKey):
(WebCore::FeatureCounter::setKey):

2:21 PM Changeset in webkit [177849] by jeffm@apple.com
  • 27 edits in trunk

Update user-visible copyright strings to include 2015
https://bugs.webkit.org/show_bug.cgi?id=139880

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • Info.plist:

Source/WebCore:

  • Info.plist:

Source/WebKit/mac:

  • Info.plist:

Source/WebKit2:

  • DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist:
  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist:
  • Info.plist:
  • NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
  • PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
  • mac/Info-WebKit2.plist:

WebKitLibraries:

  • win/tools/scripts/COPYRIGHT-END-YEAR:
1:20 PM Changeset in webkit [177848] by weinig@apple.com
  • 9 edits in trunk/Source

Move scrolling code off of WTF::bind
https://bugs.webkit.org/show_bug.cgi?id=140019

Reviewed by Darin Adler.

Source/WebCore:

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):
(WebCore::ThreadedScrollingTree::invalidate):
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
(WebCore::ThreadedScrollingTree::handleWheelEventPhase):
(WebCore::derefScrollingCoordinator): Deleted.

  • page/scrolling/ios/ScrollingTreeIOS.cpp:

(WebCore::ScrollingTreeIOS::invalidate):
(WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
(WebCore::derefScrollingCoordinator): Deleted.

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::pageDestroyed):
(WebCore::ScrollingCoordinatorMac::handleWheelEvent):

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):

Source/WebKit2:

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::touchEvent):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):

12:49 PM Changeset in webkit [177847] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Remove FontData::containsCharacters
https://bugs.webkit.org/show_bug.cgi?id=140026

Reviewed by Dan Bernstein.

This virtual function has no clients.

  • platform/graphics/FontData.h:
  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::containsCharacter): Deleted.
(WebCore::SegmentedFontData::containsCharacters): Deleted.

  • platform/graphics/SegmentedFontData.h:
  • platform/graphics/SimpleFontData.h:
  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::containsCharacters): Deleted.

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::containsCharacters): Deleted.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::containsCharacters): Deleted.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::containsCharacters): Deleted.

11:56 AM Changeset in webkit [177846] by Darin Adler
  • 22 edits in trunk

We often misspell identifier as "identifer"
https://bugs.webkit.org/show_bug.cgi?id=140025

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • runtime/ArrayConventions.h: Fix it.

Source/WebCore:

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::parseNPTFragment):

  • html/parser/AtomicHTMLToken.h:
  • html/parser/HTMLToken.h:
  • html/shadow/SliderThumbElement.h:
  • platform/graphics/ISOVTTCue.cpp:

(WebCore::ISOWebVTTCue::ISOWebVTTCue):

  • platform/graphics/ISOVTTCue.h:

(WebCore::ISOWebVTTCue::id):
Fix mispellings.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

(WebInspector._updateNavigationSidebarForCurrentContentView):
(WebInspector._contentBrowserCurrentContentViewDidChange):
Fix misspellings.

Source/WebKit2:

  • Shared/WebPageGroupData.cpp:

(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):

  • Shared/WebPageGroupData.h:
  • UIProcess/WebPageGroup.cpp:

(WebKit::pageGroupData):
(WebKit::WebPageGroup::WebPageGroup):

  • UIProcess/WebPageGroup.h:

(WebKit::WebPageGroup::identifier):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):

  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::WebPageGroupProxy):

  • WebProcess/WebPage/WebPageGroupProxy.h:

(WebKit::WebPageGroupProxy::identifier):
Fix misspellings.

Tools:

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:
  • Scripts/webkitdirs.pm:

(appIdentifierFromBundle):
(installAndLaunchIOSWebKitAppInSimulator):
Fix misspellings

5:59 AM WebKitGTK/StartHacking edited by Michael Catanzaro
fixup (diff)
5:58 AM WebKitGTK/StartHacking edited by Michael Catanzaro
Don't recommend old unsupported distro releases (diff)
5:54 AM WebKitGTK/StartHacking edited by Michael Catanzaro
fix path to MiniBrowser (diff)
5:48 AM WebKitGTK/TrackingMemoryErrors edited by Michael Catanzaro
fix path to MiniBrowser (diff)
12:32 AM Changeset in webkit [177845] by Alan Bujtas
  • 4 edits in trunk

Saturated arithmetics: Incorrect float/double clamping.
https://bugs.webkit.org/show_bug.cgi?id=139888
rdar://problem/19330885

Reviewed by Simon Fraser.

Clamp float and double values correctly when applying saturated arithmetics.

Source/WebCore:

Test: LayoutUnit test for float overflow.

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::LayoutUnit):

Tools:

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

(TestWebKitAPI::TEST):

12:06 AM Changeset in webkit [177844] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/send-on-abort.html is flaky in debug builds
https://bugs.webkit.org/show_bug.cgi?id=140020

Reviewed by Darin Adler.

  1. XHR loads are aborted when a page load starts, not when it's committed (which

is a known bug in WebKit). This gave the failure timer an opportunity to fire between
these events. Fixed by extending the delay.

  1. Starting the test while parsing had a potential for a race with loading - we

could run it before all data was loaded. While this probably didn't happen in
practice here, it's better to run navigation tests under 100% reproducible conditions,
like during onload.

  • http/tests/xmlhttprequest/send-on-abort.html:
12:05 AM Changeset in webkit [177843] by ap@apple.com
  • 12 edits in trunk/LayoutTests

http/tests/notifications/legacy/show.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140023

http/tests/notifications/window-show-on-click.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112499

Reviewed by Darin Adler.

Remove 100 ms timeouts from notification tests. If they become broken, it will
be detected as timeout.

  • http/tests/notifications/events-in-dictionary.html:
  • http/tests/notifications/events.html:
  • http/tests/notifications/legacy/double-show.html:
  • http/tests/notifications/legacy/events.html:
  • http/tests/notifications/legacy/request-no-callback.html:
  • http/tests/notifications/legacy/request.html:
  • http/tests/notifications/legacy/show.html:
  • http/tests/notifications/legacy/window-show-on-click.html:
  • http/tests/notifications/request.html:
  • http/tests/notifications/window-show-on-click.html:
  • platform/mac/TestExpectations: window-show-on-click.html should pass now.
12:04 AM Changeset in webkit [177842] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/ruby/ruby-svg-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=135610

Reviewed by Darin Adler.

  • fast/ruby/ruby-svg-crash.html: Streamline the test to avoid timer races. I

verified that it still crashes without the original fix (it gets an
ASSERT_WITH_SECURITY_IMPILICATIONS).

  • platform/mac/TestExpectations: Removed the expectation.
Note: See TracTimeline for information about the timeline view.