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

Timeline



Jan 19, 2015:

9:58 PM Changeset in webkit [178698] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Re-enable js/dom/string-replace-exception-crash.html as root problem is fixed.
https://bugs.webkit.org/show_bug.cgi?id=140666

Rubber Stamped by Filip Pizlo.

  • platform/mac/TestExpectations:

Re-enabled js/dom/string-replace-exception-crash.html.

9:55 PM Changeset in webkit [178697] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Layout Test fast/xmlhttprequest/xmlhttprequest-no-file-access.html is failing
https://bugs.webkit.org/show_bug.cgi?id=140665

Reviewed by Brian Burg.

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::webViewAddMessageToConsole): Correct string search and concatenation to
match expected test output.

9:28 PM Changeset in webkit [178696] by msaboff@apple.com
  • 9 edits
    5 adds in trunk

A "cached" null setter should throw a TypeException when called in strict mode and doesn't
https://bugs.webkit.org/show_bug.cgi?id=139418

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Made a new NullSetterFunction class similar to NullGetterFunction. The difference is that
NullSetterFunction will throw a TypeError per the ECMA262 spec for a strict mode caller.

Added new files NullSetterFunction.cpp and NullSetterFunction.h.

  • runtime/GetterSetter.h:

(JSC::GetterSetter::GetterSetter):
(JSC::GetterSetter::isSetterNull):
(JSC::GetterSetter::setSetter):
Change setter instances from using NullGetterFunction to using NullSetterFunction.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::nullSetterFunction):
Added m_nullSetterFunction and accessor.

  • runtime/NullSetterFunction.cpp: Added.

(JSC::GetCallerStrictnessFunctor::GetCallerStrictnessFunctor):
(JSC::GetCallerStrictnessFunctor::operator()):
(JSC::GetCallerStrictnessFunctor::callerIsStrict):
(JSC::callerIsStrict):
Method to determine if the caller is in strict mode.

(JSC::callReturnUndefined):
(JSC::constructReturnUndefined):
(JSC::NullSetterFunction::getCallData):
(JSC::NullSetterFunction::getConstructData):

  • runtime/NullSetterFunction.h: Added.

(JSC::NullSetterFunction::create):
(JSC::NullSetterFunction::createStructure):
(JSC::NullSetterFunction::NullSetterFunction):
Class with handlers for a null setter.

LayoutTests:

New regression test.

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

(InnerObjectNoSetter):
(InnerObjectNoSetter.prototype.get enabled):
(StrictOuterObject):
(StrictOuterObject.prototype.get enabled):
(StrictOuterObject.prototype.set enabled):

9:17 PM Changeset in webkit [178695] by saambarati1@gmail.com
  • 10 edits
    1 add
    1 delete in trunk/Source

Web Inspector: Provide a front end for JSC's Control Flow Profiler
https://bugs.webkit.org/show_bug.cgi?id=138454

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

This patch puts the final touches on what JSC needs to provide
for the Web Inspector to show a UI for the control flow profiler.

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::recompileAllJSFunctionsForTypeProfiling):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::getBasicBlocksForSourceID):

  • runtime/FunctionHasExecutedCache.cpp:

(JSC::FunctionHasExecutedCache::getFunctionRanges):
(JSC::FunctionHasExecutedCache::getUnexecutedFunctionRanges): Deleted.

  • runtime/FunctionHasExecutedCache.h:

Source/WebInspectorUI:

This patch creates a user interface for JSC's control flow profiler.
The Web Inspector gets basic block ranges from JSC, and displays
basic blocks that have not executed as having a gray background.

BasicBlockAnnotator is the class responsible for this UI logic.
It also does a few nifty things when presenting a UI for this gray
background color: if an entire line of code is within the basic
block's boundary, the annotator will not just highlight the background
behind the text, but the background of the entire line itself. This
provides a nicer experience when glancing through large JavaScript files.

This patch also adds some necessary wrapper methods inside TextEditor
for accessing CodeMirror's text highlighting functionality. It also
creates a way for TextEditor and SourceCodeTextEditor to listen
for focus events inside CodeMirror.

  • UserInterface/Controllers/AnnotatorManager.js: Removed.
  • UserInterface/Controllers/BasicBlockAnnotator.js: Added.

(WebInspector.BasicBlockAnnotator):
(WebInspector.BasicBlockAnnotator.prototype.clearAnnotations):
(WebInspector.BasicBlockAnnotator.prototype.insertAnnotations):
(WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
(WebInspector.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
(WebInspector.BasicBlockAnnotator.prototype.set _highlightTextForBasicBlock):
(WebInspector.BasicBlockAnnotator.prototype._isTextRangeOnlyWhitespace):
(WebInspector.BasicBlockAnnotator.prototype._canGrayOutEntireLine):
(WebInspector.BasicBlockAnnotator.prototype._grayOutLine):
(WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker.get marker):
(WebInspector.BasicBlockAnnotator.prototype._clearRangeForBasicBlockMarker):

  • UserInterface/Main.html:
  • UserInterface/Views/SourceCodeTextEditor.css:

(.basic-block-has-not-executed):
(.basic-block-has-not-executed-prepend::before):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.gainedFocus):
(WebInspector.SourceCodeTextEditor.prototype.lostFocus):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeBasicBlockAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor):
(WebInspector.TextEditor.prototype.getTextInRange):
(WebInspector.TextEditor.prototype.addStyleToTextRange):
(WebInspector.TextEditor.prototype.gainedFocus):
(WebInspector.TextEditor.prototype.lostFocus):

9:09 PM Changeset in webkit [178694] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[iOS] Only use LLVM static library arguments on 64-bit builds of libllvmForJSC.dylib
<http://webkit.org/b/140658>

Reviewed by Filip Pizlo.

  • Configurations/LLVMForJSC.xcconfig: Set OTHER_LDFLAGS_LLVM

only when building for 64-bit architectures.

9:01 PM Changeset in webkit [178693] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

ClosureCallStubRoutine no longer needs codeOrigin
https://bugs.webkit.org/show_bug.cgi?id=140659

Reviewed by Michael Saboff.

Once upon a time, we would look for the CodeOrigin associated with a return PC. This search
would start with the CodeBlock according to the caller frame's call frame header. But if the
call was a closure call, the return PC would be inside some closure call stub. So if the
CodeBlock search failed, we would search *all* closure call stub routines to see which one
encompasses the return PC. Then, we would use the CodeOrigin stored in the stub routine
object. This was all a bunch of madness, and we actually got rid of it - we now determine
the CodeOrigin for a call frame using the encoded code origin bits inside the tag of the
argument count.

This patch removes the final vestiges of the madness:

  • Remove the totally unused method declaration for the thing that did the closure call stub search.


  • Remove the CodeOrigin field from the ClosureCallStubRoutine. Except for that crazy search that we no longer do, everyone else who finds a ClosureCallStubRoutine will find it via the CallLinkInfo. The CallLinkInfo also has the CodeOrigin, so we don't need this field anymore.
  • bytecode/CodeBlock.h:
  • jit/ClosureCallStubRoutine.cpp:

(JSC::ClosureCallStubRoutine::ClosureCallStubRoutine):

  • jit/ClosureCallStubRoutine.h:

(JSC::ClosureCallStubRoutine::executable):
(JSC::ClosureCallStubRoutine::codeOrigin): Deleted.

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

8:47 PM Changeset in webkit [178692] by saambarati1@gmail.com
  • 7 edits in trunk/Source/JavaScriptCore

Basic block start offsets should never be larger than end offsets in the control flow profiler
https://bugs.webkit.org/show_bug.cgi?id=140377

Reviewed by Filip Pizlo.

The bytecode generator will emit code more than once for some AST nodes. For instance,
the finally block of TryNode will emit two code paths for its finally block: one for
the normal path, and another for the path where an exception is thrown in the catch block.

This repeated code emission of the same AST node previously broke how the control
flow profiler computed text ranges of basic blocks because when the same AST node
is emitted multiple times, there is a good chance that there are ranges that span
from the end offset of one of these duplicated nodes back to the start offset of
the same duplicated node. This caused a basic block range to report a larger start
offset than end offset. This was incorrect. Now, when this situation is encountered
while linking a CodeBlock, the faulty range in question is ignored.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):

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

(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::TryNode::emitBytecode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseConditionalExpression):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::ControlFlowProfiler):

  • runtime/ControlFlowProfiler.h:

(JSC::ControlFlowProfiler::dummyBasicBlock):

8:04 PM Changeset in webkit [178691] by mmaxfield@apple.com
  • 82 edits
    1 add
    6 deletes in trunk

[SVG -> OTF Converter] Flip the switch on
https://bugs.webkit.org/show_bug.cgi?id=140592

Source/JavaScriptCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Updating test expected results.

svg/W3C-SVG-1.1/fonts-glyph-04-t.svg tests something which isn't spec'ed
and is impossible to perform with the converter, so I have deleted that
test.

svg/custom/skip-underline-missing-glyph-expected.html was testing
incorrect behavior, so I have updated the test.

The getStartPositionOfChar() calls in svg/text/kerning.svg and
svg/text/multichar-glyph.svg are currently impossible to be implemented
correctly with the converter, so I have updated the expected results to
test for the updated results of those calls.

Reviewed by Antti Koivisto.

  • platform/mac/TestExpectations:
  • platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
  • platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-fallback-expected.txt:
  • platform/mac/svg/foreignObject/text-tref-02-b-expected.txt:
  • platform/mac/svg/text/kerning-expected.txt:
  • platform/mac/svg/text/multichar-glyph-expected.txt:
  • platform/mac/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac-mountainlion/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
  • platform/mac-mountainlion/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac-mountainlion/svg/custom/svg-fonts-fallback-expected.txt:
  • platform/mac-mountainlion/svg/text/kerning-expected.txt:
  • platform/mac-mountainlion/svg/text/multichar-glyph-expected.txt:
  • platform/mac-mountainlion/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-w3c.png: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t.svg: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.html: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.txt: Added.
  • svg/custom/skip-underline-missing-glyph.html:
7:48 PM WebKitGTK/StableRelease edited by clopez@igalia.com
(diff)
7:46 PM Changeset in webkit [178690] by mrowe@apple.com
  • 6 edits in trunk/Source/WebKit2

<https://webkit.org/b/140504> REGRESSION (r178452): Visited link coloring only appears to work in the first web process

Roll out r178452 since it broke visited link coloring.

Reviewed by Anders Carlsson.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
(WebKit::VisitedLinkProvider::addProcess):
(WebKit::VisitedLinkProvider::removeProcess):
(WebKit::VisitedLinkProvider::removeAll):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkProvider::resizeTable):

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

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::processDidFinishLaunching):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::addVisitedLinkProvider):
(WebKit::WebProcessProxy::didDestroyVisitedLinkProvider):

  • UIProcess/WebProcessProxy.h:
7:43 PM Changeset in webkit [178689] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Unreviewed, rolling out r178683.
https://bugs.webkit.org/show_bug.cgi?id=140657

Lots of asserts in tests. (Requested by JoePeck on #webkit).

Reverted changeset:

"LayoutState and subtree layout code should use
RenderElement."
https://bugs.webkit.org/show_bug.cgi?id=126878
http://trac.webkit.org/changeset/178683

7:38 PM Changeset in webkit [178688] by weinig@apple.com
  • 13 edits in trunk/Source/WebKit2

Sprinkle some CTTE on API::PolicyClient and API::FormClient
https://bugs.webkit.org/show_bug.cgi?id=140656

Reviewed by Tim Horton.

  • Use references rather than pointers where possible.
  • Store and pass the listeners as Refs.
  • Make API::FormClient more like API::PolicyClient by making it the responsibility of the client implementation to call the default policy.
  • UIProcess/API/APIFormClient.h:

(API::FormClient::willSubmitForm):

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):
(API::PolicyClient::unableToImplementPolicy):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPagePolicyClient):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setFormDelegate:]):

  • UIProcess/API/gtk/WebKitPolicyClient.cpp:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForNewWindowAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

  • UIProcess/WebFormClient.cpp:

(WebKit::WebFormClient::willSubmitForm):

  • UIProcess/WebFormClient.h:
  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::setUpPolicyListenerProxy):
(WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy):

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

(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::unableToImplementPolicy):
(WebKit::WebPageProxy::willSubmitForm):

6:10 PM Changeset in webkit [178687] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed gardening.

Avoid compiling files twice when they are included in an 'AllInOne.cpp' file.

  • WebCore.vcxproj/WebCore.vcxproj: Mark several files as 'not to be built', since

they are also build as part of an 'AllInOne.cpp' file.

6:06 PM Changeset in webkit [178686] by benjamin@webkit.org
  • 5 edits in trunk/Tools

Remove the support for custom suffixes on ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=140648

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-19
Reviewed by David Kilzer.

Custom suffixes were used for the iOS branch of WebKit.
Now that everything is opensource, there is no need for it.

  • Scripts/VCSUtils.pm:

(changeLogSuffix): Deleted.
(changeLogFileName): Deleted.

  • Scripts/commit-log-editor:
  • Scripts/prepare-ChangeLog:

(getLatestChangeLogs):
(generateNewChangeLogs):
(generateFileList):

  • Scripts/resolve-ChangeLogs:

(findChangeLog):

5:35 PM Changeset in webkit [178685] by weinig@apple.com
  • 21 edits
    1 add in trunk/Source/WebKit2

Merge API::ProcessPoolConfiguration and _WKProcessPoolConfiguration
https://bugs.webkit.org/show_bug.cgi?id=140601

Reviewed by Anders Carlsson.

  • Converts _WKProcessPoolConfiguration to be backed via API::ProcessPoolConfiguration.
  • Expands API::ProcessPoolConfiguration to add all the parameters necessary to fully initialize a WebProcessPool. This allows -[WKProcessPool _initWithConfiguration:] to be a simple pass through initializer, which in turn allows us to consider WebProcessPools created on the C++ and Objective-C sides as equivalent.
  • Makes WebProcessPool own the reference to the API::ProcessPoolConfiguration (rather than the WKProcessPool wrapper).
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Create the API::ProcessPoolConfigurations using [_WKProcessPoolConfiguration alloc] as its
storage..

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::create):
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::~ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):
(API::ProcessPoolConfiguration::webProcessPoolConfiguration): Deleted.

  • UIProcess/API/APIProcessPoolConfiguration.h:

Add the remaining initialization parameters and add a convenience create function
for configuring legacy WebProcessPools (for use by the C-SPI).

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

  • UIProcess/API/APIWebsiteDataStore.h:
  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::defaultDataStoreConfiguration):
Expose helper for getting the website data directories for use in the ProcessPoolConfiguration.

  • UIProcess/API/C/WKContext.cpp:

(WKContextCreate):
(WKContextCreateWithInjectedBundlePath):
(WKContextCreateWithConfiguration):
Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCreate):
Update for ProcessPoolConfiguration::create() returning a Ref. Note, this function
was not changed to call ProcessPoolConfiguration::createWithLegacyOptions() since
it has not been around long enough to warrant it.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):
Use ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool description]):
Change to pull the configuration from the underlying API::Object.

(-[WKProcessPool _configuration]):
Change to pull the configuration from the underlying API::Object and call the new
copy() helper on it.

(-[WKProcessPool _initWithConfiguration:]):
Convert to be a simple pass through to API::Object::constructInWrapper.

(websiteDataDirectoryURL): Deleted.
Moved to APIWebsiteDataStore.h

  • UIProcess/API/Cocoa/WKProcessPoolInternal.h:

Removes the _WKProcessPoolConfiguration member, now that it is stored on the WebProcessPool.

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration init]):
(-[_WKProcessPoolConfiguration dealloc]):
Added to support API::Object bridging.

(-[_WKProcessPoolConfiguration injectedBundleURL]):
(-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
Convert to getting the URL from the underlying object. Moved the exception
that used to be on creation of the WKProcessPool.

(-[_WKProcessPoolConfiguration maximumProcessCount]):
(-[_WKProcessPoolConfiguration setMaximumProcessCount:]):
Convert to getting the count from the underlying object.

(-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]):
Convert to constructing the NSArray on demand from the underlying Vector.

(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
Converts the NSArray to a Vector rather than storing the array.

  • UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h: Added.

(API::wrapper):
Add boilerplate for API::Object bridging.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):
Update to use API::ProcessPoolConfiguration::createWithLegacyOptions() to keep backwards compatibility.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::inspectorProcessPool):
Update to call API::ProcessPoolConfiguration::createWithLegacyOptions().

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::create):
(WebKit::websiteDataStoreConfiguration):
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::applyPlatformSpecificConfigurationDefaults): Deleted.
This functionality was moved to the constructor of the API::ProcessPoolConfiguration.

  • UIProcess/WebProcessPool.h:

Changed to take (and store) a API::ProcessPoolConfiguration rather than the WebProcessPoolConfiguration.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.

  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultLocalStorageDirectory): Deleted.
(WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory): Deleted.
Renamed to make it clear these were the legacy locations for these directories.

  • WebKit2.xcodeproj/project.pbxproj:

Added new files.

4:58 PM Changeset in webkit [178684] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Stop using FeatureCounter to log navigation types
https://bugs.webkit.org/show_bug.cgi?id=140642

Reviewed by Andreas Kling.

Stop using FeatureCounter to log navigation types now that
DiagnosticLoggingClient is working on iOS.

  • loader/FrameLoader.cpp:

(WebCore::logNavigation):

  • platform/FeatureCounterKeys.h:
4:39 PM Changeset in webkit [178683] by akling@apple.com
  • 11 edits in trunk/Source/WebCore

LayoutState and subtree layout code should use RenderElement.
<https://webkit.org/b/126878>

Subtree layout will never begin at a RenderText, so tighten up
the code to operate on RenderElements instead of RenderObjects.

Reviewed by Antti Koivisto.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willLayout):

  • page/FrameView.cpp:

(WebCore::FrameView::layoutRoot):
(WebCore::FrameView::layout):

  • page/FrameView.h:

Make FrameView::layoutRoot() return RenderElement*.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

  • rendering/RenderObject.h:

Move subtree layout root clearing logic in willBeDestroyed()
from RenderObject to RenderElement.

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

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

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

Make all of these functions take RenderElement instead of
RenderObject since layout never starts from a RenderText.

(WebCore::RenderView::shouldDisableLayoutStateForSubtree):

Tweak loop since it's never null on first iteration.

4:36 PM Changeset in webkit [178682] by gyuyoung.kim@samsung.com
  • 2 edits in trunk

[CMAKE] Fix cmake warning
https://bugs.webkit.org/show_bug.cgi?id=140497

Reviewed by Gustavo Noronha Silva.

r173155 already tried to fix cmake warning though, the warning is still exist.
CMAKE_LINK_INTERFACE_LIBRARIES seems to cause this warning. Individual target is
already set for their libraries though, INTERFACE_LINK_LIBRARIES contains the list
of transitive link dependencies, and CMAKE_LINK_INTERFACE_LIBRARIES can override
the INTERFACE_LINK_LIBRARIES property when CMP0022 is not set. CMake warns this override.
To avoid it, EFL port doesn't set CMAKE_LINK_INTERFACE_LIBRARIES.

  • CMakeLists.txt:
4:24 PM Changeset in webkit [178681] by Beth Dakin
  • 6 edits in trunk/Source

Source/WebCore:
Speculative build fix.

  • platform/spi/mac/NSViewSPI.h:

Source/WebKit/mac:
Speculative build fix.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit2:

Speculative build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processPool:configuration:webView:]):

4:17 PM Changeset in webkit [178680] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Speculative build fix.

  • WebView/WebView.mm:

(-[WebView _convertRectFromRootView:]):

3:46 PM Changeset in webkit [178679] by timothy_horton@apple.com
  • 10 edits in trunk

Adjust naming of action menu SPI
https://bugs.webkit.org/show_bug.cgi?id=140644
<rdar://problem/19448129>

Reviewed by Brian Weinstein.

  • platform/spi/mac/NSViewSPI.h:

Add an underscore.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController willOpenMenu:withEvent:]):
(-[WebActionMenuController didCloseMenu:withEvent:]):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView prepareForMenu:withEvent:]):
(-[WebView willOpenMenu:withEvent:]):
(-[WebView didCloseMenu:withEvent:]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processPool:configuration:webView:]):

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController menuNeedsUpdate:]):
(-[WKActionMenuController _updateActionMenuItems]):

  • TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:

(-[ActionMenusTestWKView runMenuSequenceAtPoint:preDidCloseMenuHandler:]):
(TestWebKitAPI::TEST):

3:43 PM Changeset in webkit [178678] by Brent Fulgham
  • 6 edits in trunk/LayoutTests

[Win] Unreviewed Windows gardening.

Rebaseline a few tests based on current bot output.

  • platform/win/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt:
  • platform/win/fast/regions/region-dynamic-after-before-expected.txt:
  • platform/win/fast/regions/region-generated-content-before-after-expected.txt:
  • platform/win/fast/regions/text-region-split-small-pagination-expected.txt:
  • platform/win/fast/text/international/thai-baht-space-expected.txt:
3:25 PM Changeset in webkit [178677] by roger_fong@apple.com
  • 3 edits in trunk/LayoutTests

[Mac] Test fix after r178674.

  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
3:24 PM Changeset in webkit [178676] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

REGRESSION (r178290): Yellow highlight from context menu Lookup in Dictionary is
offset by flipped-ness
https://bugs.webkit.org/show_bug.cgi?id=140643
-and corresponding-
rdar://problem/19489593

Reviewed by Tim Horton.

We universally flipped because we assumed that the root view was flipped and the
WebView was not. However, in Dictionary, the WebView is flipped! So this patch
fixes that assumption by checking the WebView’s flipped-ness.

  • WebView/WebView.mm:

(-[WebView _convertRectFromRootView:]):

3:09 PM Changeset in webkit [178675] by commit-queue@webkit.org
  • 11 edits in trunk

Canonicalization of :lang() should preserve the :lang()'s arguments representations
https://bugs.webkit.org/show_bug.cgi?id=139928

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2015-01-19
Reviewed by Benjamin Poulain.

Source/WebCore:

Preserve the representation of IDENT and STRING when serializing the
:lang(). For example, :lang(foo,"bar", baz) should be serialize as
:lang(foo, "bar", baz) instead of :lang(foo, bar, baz).

Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
CSSSelector::setLangArgumentList and CSSSelector::langArgumentList
respectively, since those methods are being exclusively used in respect
with :lang().

Update the test of serializing :lang() with IDENT and STRING arguments.

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setLangArgumentList):
(WebCore::CSSParserSelector::setArgumentList): Deleted.

  • css/CSSParserValues.h:

(WebCore::CSSParserString::tokenType):
(WebCore::CSSParserString::setTokenType):

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::setLangArgumentList):
(WebCore::appendArgumentList): Deleted.
(WebCore::CSSSelector::setArgumentList): Deleted.

  • css/CSSSelector.h:

(WebCore::CSSSelector::langArgumentList):
(WebCore::CSSSelector::argumentList): Deleted.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):

LayoutTests:

  • fast/css/css-lang-selector-with-string-arguments-text-expected.txt:
  • fast/css/css-lang-selector-with-string-arguments-text.html:
2:15 PM Changeset in webkit [178674] by roger_fong@apple.com
  • 85 edits
    3 copies
    8 adds in trunk

WebGL2: Support webgl2 context creation.
https://bugs.webkit.org/show_bug.cgi?id=126408
<rdar://problem/15002170>

Reviewed by Dean Jackson.

Tests covered by existing Khronos tests for WebGL 1.0 conformance.

Create a WebGLRenderingContextBase class that extends to a WebGLRenderingContext and WebGL2RenderingContext.
Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now.
As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSHTMLCanvasElementCustom.cpp:
  • bindings/js/JSWebGL2RenderingContextCustom.cpp: Added.

(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added.
  • bindings/js/JSWebGLRenderingContextCustom.cpp: Move code to JSWebGLRenderingContextBaseCustom.cpp.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::getImageData):

  • html/canvas/ANGLEInstancedArrays.cpp:

(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):

  • html/canvas/ANGLEInstancedArrays.h:
  • html/canvas/CanvasRenderingContext.h:

(WebCore::CanvasRenderingContext::isWebGL1):
(WebCore::CanvasRenderingContext::isWebGL2):
(WebCore::CanvasRenderingContext::is3d):

  • html/canvas/EXTBlendMinMax.cpp:

(WebCore::EXTBlendMinMax::EXTBlendMinMax):

  • html/canvas/EXTBlendMinMax.h:
  • html/canvas/EXTFragDepth.cpp:

(WebCore::EXTFragDepth::EXTFragDepth):

  • html/canvas/EXTFragDepth.h:
  • html/canvas/EXTShaderTextureLOD.cpp:

(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):

  • html/canvas/EXTShaderTextureLOD.h:
  • html/canvas/EXTTextureFilterAnisotropic.cpp:

(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):

  • html/canvas/EXTTextureFilterAnisotropic.h:
  • html/canvas/EXTsRGB.cpp:

(WebCore::EXTsRGB::EXTsRGB):

  • html/canvas/EXTsRGB.h:
  • html/canvas/OESElementIndexUint.cpp:

(WebCore::OESElementIndexUint::OESElementIndexUint):

  • html/canvas/OESElementIndexUint.h:
  • html/canvas/OESStandardDerivatives.cpp:

(WebCore::OESStandardDerivatives::OESStandardDerivatives):

  • html/canvas/OESStandardDerivatives.h:
  • html/canvas/OESTextureFloat.cpp:

(WebCore::OESTextureFloat::OESTextureFloat):

  • html/canvas/OESTextureFloat.h:
  • html/canvas/OESTextureFloatLinear.cpp:

(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):

  • html/canvas/OESTextureFloatLinear.h:
  • html/canvas/OESTextureHalfFloat.cpp:

(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):

  • html/canvas/OESTextureHalfFloat.h:
  • html/canvas/OESTextureHalfFloatLinear.cpp:

(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):

  • html/canvas/OESTextureHalfFloatLinear.h:
  • html/canvas/OESVertexArrayObject.cpp:

(WebCore::OESVertexArrayObject::OESVertexArrayObject):

  • html/canvas/OESVertexArrayObject.h:
  • html/canvas/WebGL2RenderingContext.cpp: Added.

(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):

  • html/canvas/WebGL2RenderingContext.h: Added.
  • html/canvas/WebGL2RenderingContext.idl: Added.
  • html/canvas/WebGLBuffer.cpp:

(WebCore::WebGLBuffer::create):
(WebCore::WebGLBuffer::WebGLBuffer):

  • html/canvas/WebGLBuffer.h:
  • html/canvas/WebGLCompressedTextureATC.cpp:

(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):

  • html/canvas/WebGLCompressedTextureATC.h:
  • html/canvas/WebGLCompressedTexturePVRTC.cpp:

(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):

  • html/canvas/WebGLCompressedTexturePVRTC.h:
  • html/canvas/WebGLCompressedTextureS3TC.cpp:

(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):

  • html/canvas/WebGLCompressedTextureS3TC.h:
  • html/canvas/WebGLContextGroup.cpp:

(WebCore::WebGLContextGroup::getAGraphicsContext3D):
(WebCore::WebGLContextGroup::addContext):
(WebCore::WebGLContextGroup::removeContext):
(WebCore::WebGLContextGroup::loseContextGroup):

  • html/canvas/WebGLContextGroup.h:
  • html/canvas/WebGLContextObject.cpp:

(WebCore::WebGLContextObject::WebGLContextObject):

  • html/canvas/WebGLContextObject.h:

(WebCore::WebGLContextObject::context):

  • html/canvas/WebGLDebugRendererInfo.cpp:

(WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):

  • html/canvas/WebGLDebugRendererInfo.h:
  • html/canvas/WebGLDebugShaders.cpp:

(WebCore::WebGLDebugShaders::WebGLDebugShaders):

  • html/canvas/WebGLDebugShaders.h:
  • html/canvas/WebGLDepthTexture.cpp:

(WebCore::WebGLDepthTexture::WebGLDepthTexture):

  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):

  • html/canvas/WebGLDrawBuffers.h:
  • html/canvas/WebGLExtension.cpp:

(WebCore::WebGLExtension::WebGLExtension):

  • html/canvas/WebGLExtension.h:

(WebCore::WebGLExtension::context):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::create):
(WebCore::WebGLFramebuffer::WebGLFramebuffer):

  • html/canvas/WebGLFramebuffer.h:
  • html/canvas/WebGLLoseContext.cpp:

(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::loseContext):

  • html/canvas/WebGLLoseContext.h:
  • html/canvas/WebGLObject.cpp:

(WebCore::WebGLObject::WebGLObject):

  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::create):
(WebCore::WebGLProgram::WebGLProgram):

  • html/canvas/WebGLProgram.h:
  • html/canvas/WebGLRenderbuffer.cpp:

(WebCore::WebGLRenderbuffer::create):
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):

  • html/canvas/WebGLRenderbuffer.h:
  • html/canvas/WebGLRenderingContext.cpp: Move implementation to WebGLRenderingContextBase.cpp.
  • html/canvas/WebGLRenderingContext.h: Move implementation to WebGLRenderingContextBase.h.
  • html/canvas/WebGLRenderingContext.idl: Move implementation to WebGLRenderingContextBase.idl.
  • html/canvas/WebGLRenderingContextBase.cpp: Added.
  • html/canvas/WebGLRenderingContextBase.h: Added.
  • html/canvas/WebGLRenderingContextBase.idl: Added.
  • html/canvas/WebGLShader.cpp:

(WebCore::WebGLShader::create):
(WebCore::WebGLShader::WebGLShader):

  • html/canvas/WebGLShader.h:
  • html/canvas/WebGLSharedObject.cpp:

(WebCore::WebGLSharedObject::WebGLSharedObject):

  • html/canvas/WebGLSharedObject.h:
  • html/canvas/WebGLTexture.cpp:

(WebCore::WebGLTexture::create):
(WebCore::WebGLTexture::WebGLTexture):

  • html/canvas/WebGLTexture.h:
  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::create):
(WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):

  • html/canvas/WebGLVertexArrayObjectOES.h:

Layout test fixes:

  • fast/canvas/webgl/bad-arguments-test-expected.txt:
  • fast/canvas/webgl/null-object-behaviour-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
2:02 PM Changeset in webkit [178673] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r178250): ~2% PLT regression
https://bugs.webkit.org/show_bug.cgi?id=140640

Reviewed by Andreas Kling.

  • platform/graphics/FontCache.cpp:

The patch accidentally contained a change to reduce the size of the cache (to verify that purgin works).
Restore it back to the original value.

1:58 PM Changeset in webkit [178672] by commit-queue@webkit.org
  • 4 edits
    1 move in trunk

[GTK] Generate the make dist manifest from a CMake template file
https://bugs.webkit.org/show_bug.cgi?id=139387

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-19
Reviewed by Martin Robinson.

.:

Generate manifest.txt from manifest.txt.in. Only expose the dist and
distcheck targets for developer builds, as they won't work when
building from a tarball because the manifest is not distributed.

  • Source/PlatformGTK.cmake:

Tools:

Remove the code that performs variable substitution on manifest.txt.
Replace the custom variables used in that file with CMake variables.

  • gtk/make-dist.py:

(Manifest.add_directory):
(Manifest.get_full_source_path):
(Manifest.process_line):
(Manifest.resolve_variables): Deleted.
(Manifest.get_full_tarball_path): Deleted.

  • gtk/manifest.txt.in: Renamed from Tools/gtk/manifest.txt.
1:03 PM Changeset in webkit [178671] by commit-queue@webkit.org
  • 5 edits in trunk

[WinCairo][Video] Windows Media Foundation implementation is not completed.
https://bugs.webkit.org/show_bug.cgi?id=140337

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-19
Reviewed by Alex Christensen.

Source/WebCore:

This patch aims to complete some of the methods which are not implemented.
Currently, only MP4 is supported.
Video is rendered in a child window of the main window.
We should eventually render the video directly in the main window,
by reading and painting individual video frames from the stream.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
(WebCore::MediaPlayerPrivateMediaFoundation::~MediaPlayerPrivateMediaFoundation):
(WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes):
(WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
(WebCore::MediaPlayerPrivateMediaFoundation::load):
(WebCore::MediaPlayerPrivateMediaFoundation::play):
(WebCore::MediaPlayerPrivateMediaFoundation::pause):
(WebCore::MediaPlayerPrivateMediaFoundation::naturalSize):
(WebCore::MediaPlayerPrivateMediaFoundation::hasVideo):
(WebCore::MediaPlayerPrivateMediaFoundation::hasAudio):
(WebCore::MediaPlayerPrivateMediaFoundation::setVisible):
(WebCore::MediaPlayerPrivateMediaFoundation::paused):
(WebCore::MediaPlayerPrivateMediaFoundation::readyState):
(WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress):
(WebCore::MediaPlayerPrivateMediaFoundation::setSize):
(WebCore::MediaPlayerPrivateMediaFoundation::paint):
(WebCore::MediaPlayerPrivateMediaFoundation::createSession):
(WebCore::MediaPlayerPrivateMediaFoundation::endSession):
(WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
(WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
(WebCore::MediaPlayerPrivateMediaFoundation::addBranchToPartialTopology):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoViewWndProc):
(WebCore::MediaPlayerPrivateMediaFoundation::registerVideoWindowClass):
(WebCore::MediaPlayerPrivateMediaFoundation::createVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::destroyVideoWindow):
(WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
(WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
(WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AsyncCallback):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::~AsyncCallback):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::QueryInterface):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AddRef):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Release):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::GetParameters):
(WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

WebKitLibraries:

Link with Media Foundation libraries.

  • win/tools/vsprops/WinCairo.props:
1:01 PM Changeset in webkit [178670] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Correct merge error in last commit.

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(findAccessibleObjectById): Undo accidental paste made during landing.

12:58 PM Changeset in webkit [178669] by Brent Fulgham
  • 16 edits in trunk

[Win] Periodic failure in DumpRenderTree related to WebActionPropertyBag::Read
https://bugs.webkit.org/show_bug.cgi?id=139906

Reviewed by Dean Jackson.

WebKit on Windows was creating uninitialized VARIANT structures, then attempting
to use them. This patch fixes that.

Source/WebKit/win:

Identified by dom/html/level2/html/HTMLIFrameElement03.html (and others)

  • COMEnumVariant.h:

(COMEnumVariant<ContainerType>::Next):

  • COMPropertyBag.h:

(HashType>::Read):

  • DefaultPolicyDelegate.cpp:

(DefaultPolicyDelegate::decidePolicyForNavigationAction):

  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read):

  • WebDatabaseManager.cpp:

(DatabaseDetailsPropertyBag::Read):

  • WebElementPropertyBag.cpp:

(WebElementPropertyBag::Read):

  • WebFrame.cpp:

(EnumChildFrames::Next):

  • WebView.cpp:

(WebView::notifyDidAddIcon):

Tools:

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(findAccessibleObjectById):
(AccessibilityController::focusedElement):
(logEventProc):
(notificationListenerProc):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::titleUIElement):
(self):
(AccessibilityUIElement::role):
(AccessibilityUIElement::valueDescription):
(accessibilityState):
(AccessibilityUIElement::isChecked):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(dumpFrameScrollPosition):
(dumpFramesAsText):

  • DumpRenderTree/win/PolicyDelegate.cpp:

(PolicyDelegate::decidePolicyForNavigationAction):

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::exceededDatabaseQuota):

  • WinLauncher/Common.cpp:

(setWindowText):

12:49 PM Changeset in webkit [178668] by Brian Burg
  • 16 edits in trunk/Source

Web Replay: convert to is<T> and downcast<T> for decoding replay inputs
https://bugs.webkit.org/show_bug.cgi?id=140512

Reviewed by Chris Dumez.

Source/JavaScriptCore:

Generate a SPECIALIZE_TYPE_TRAITS_* chunk of code for each input. This cannot
be done using REPLAY_INPUT_NAMES_FOR_EACH macro since that doesn't fully qualify
input types, and the type traits macro is defined in namespace WTF.

  • replay/NondeterministicInput.h: Make overridden methods public.
  • replay/scripts/CodeGeneratorReplayInputs.py:

(Generator.generate_header):
(Generator.qualified_input_name): Allow forcing qualification. WTF is never a target framework.
(Generator.generate_input_type_trait_declaration): Added.

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py: Add a template.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h:

Source/WebCore:

No new tests, no behavior changed.

  • replay/EventLoopInput.h: Make overridden methods public.
  • replay/MemoizedDOMResult.h: Add type trait specialization here. It is

special-cased because the input type parameter doesn't work with macros.

  • replay/SerializationMethods.cpp:

(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
Use is() and downcast() when dispatching to encoders based on type.

12:34 PM Changeset in webkit [178667] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Replace use of WTF::bind() in MemoryPressureHandlerLinux.cpp with a C++ lambda
https://bugs.webkit.org/show_bug.cgi?id=140614

Reviewed by Carlos Garcia Campos.

Use a C++ lambda instead of WTF::bind() in the MemoryPressureHandler
implementation for Linux.

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent):

12:32 PM Changeset in webkit [178666] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expectations for media/track/track-forced-subtitles-in-band.html.

This test was marked as flaky on Yosemite, but the bug that tracked that was already
fixed. The test is flaky on Mavericks and above for some other reason.

  • platform/mac/TestExpectations:
12:31 PM Changeset in webkit [178665] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Use C++ lambda instead of WTF::bind() in ThreadedCompositor::updateSceneState()
https://bugs.webkit.org/show_bug.cgi?id=140613

Reviewed by Carlos Garcia Campos.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::updateSceneState): Replace the use of WTF::bind() with a C++ lambda.

12:30 PM Changeset in webkit [178664] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Replace uses of WTF::bind() in MockMediaPlayerMediaSource with C++ lambdas
https://bugs.webkit.org/show_bug.cgi?id=140612

Reviewed by Philippe Normand.

Use C++ lambdas in place of WTF::bind() in the MockMediaPlayerMediaSource class.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::play):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::seekCompleted):

12:17 PM Changeset in webkit [178663] by commit-queue@webkit.org
  • 61 edits
    1 copy
    5 adds
    1 delete in trunk

Unreviewed, rolling out r178653.
https://bugs.webkit.org/show_bug.cgi?id=140634

Broke multiple SVG tests on Mountain Lion (Requested by ap on
#webkit).

Reverted changeset:

"[SVG -> OTF Converter] Flip the switch on"
https://bugs.webkit.org/show_bug.cgi?id=140592
http://trac.webkit.org/changeset/178653

12:03 PM Changeset in webkit [178662] by dino@apple.com
  • 5 edits
    3 adds in trunk

ES6: Support Array.of construction
https://bugs.webkit.org/show_bug.cgi?id=140605
<rdar://problem/19513655>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add and implementation of Array.of, described in 22.1.2.3 of the ES6
specification (15 Jan 2015). The Array.of() method creates a new Array
instance with a variable number of arguments, regardless of number or type
of the arguments.

  • runtime/ArrayConstructor.cpp:

(JSC::arrayConstructorOf): Create a new empty Array, then iterate
over the arguments, setting them to the appropriate index.

LayoutTests:

Add 'of' to the Array properties, and a
test for Array.of().

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/array-of-expected.txt: Added.
  • js/array-of.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/array-of.js: Added.
12:02 PM Changeset in webkit [178661] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Layers need to be already updated before we call adjustViewSize
https://bugs.webkit.org/show_bug.cgi?id=135514

Reviewed by Simon Fraser.

Tested by 'fast/dynamic/layer-no-longer-paginated.html'

Defer painting operations until we have finished layout. This
has a couple of benefits:
(1) We do not attempt to modify render layers during layout.
(2) In WK1 we do not attempt to paint during layout.

Add a new virtual predicate to ScrollView indicating when we are in
layout so that calls to setContentsSize do not attempt
to adjust scrollbars.

Modify FrameView to set its ScrollView state to block paint
operations during layout. Also add a post-layout handler to
complete the scrollbar updates after layout is finished.

  • WebCore.exp.in: Move linker symbol to ScrollView (from FrameView).
  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
(WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Removed (Renamed).
(WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added (Renamed)
(WebCore::FrameView::paintContents): Do not paint if we are inside view size adjustment.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollPositionChangedViaPlatformWidget): Added. Checks whether we need to defer
painting, and calls virtual scrollPositionChangedViaPlatformWidgetImpl if we do not.
(WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added.
(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
(WebCore::ScrollView::scrollTo): If we should defer painting, cache the
the scroll delta and apply it after the layout is complete.
(WebCore::ScrollView::completeUpdatesAfterScrollTo): Split off part of 'scrollTo' into its own method
so we can reuse it in handleDeferredScrollUpdateAfterContentSizeChange.

  • platform/ScrollView.h:

(WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.

11:45 AM Changeset in webkit [178660] by dino@apple.com
  • 7 edits in trunk

Add "override" to fix the build with newer clangs.

Source/WebKit2:

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::transformHandlesToObjects):
(WebKit::WebProcessProxy::transformObjectsToHandles):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::transformObjectsToHandles):

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::transformObjectsToHandles):

Tools:

  • TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:

(TestWebKitAPI::CalculationDeletionTestNode::operator==):

11:30 AM Changeset in webkit [178659] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

11:28 AM Changeset in webkit [178658] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4-branch/Source

Versioning.

11:26 AM Changeset in webkit [178657] by bshafiei@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

11:04 AM Changeset in webkit [178656] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

[iOS] Do not hard-code iphoneos.internal SDK in buildXCodeProject()
<http://webkit.org/b/140623>

Reviewed by Daniel Bates.

  • Scripts/build-webkit: Update help for --device switch.
  • Scripts/webkitdirs.pm:

(determineXcodeSDK): When passing --device, prefer the internal
iOS SDK if it exists, else fall back to the external iOS SDK.
(buildXCodeProject): Use xcodeSDK() as -sdk argument for
xcodebuild instead of trying to sanitize values.

10:50 AM Changeset in webkit [178655] by adachan@apple.com
  • 3 edits
    2 adds in trunk

HTMLMediaElement::isPlayingAudio() should return false if the element is explicitly muted by script.
https://bugs.webkit.org/show_bug.cgi?id=140524

Reviewed by Andreas Kling.

Source/WebCore:

Test: media/muted-video-is-playing-audio.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setMuted):
Call Document::updateIsPlayingAudio() to recalculate the overall audio playing state.
(WebCore::HTMLMediaElement::isPlayingAudio):
HTMLMediaElement::isPlayingAudio() should return false if the media element is explicitly muted.

LayoutTests:

The test contains a looping video. It makes sure initially Page::isPlayingAudio() returns true.
It should return false after the video is muted, and true again after the video is unmuted.

  • media/muted-video-is-playing-audio-expected.txt: Added.
  • media/muted-video-is-playing-audio.html: Added.
10:40 AM Changeset in webkit [178654] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Try to fix build warnings with newer versions of clang.

  • Storage/StorageAreaImpl.h:
10:37 AM Changeset in webkit [178653] by mmaxfield@apple.com
  • 61 edits
    1 add
    6 deletes in trunk

[SVG -> OTF Converter] Flip the switch on
https://bugs.webkit.org/show_bug.cgi?id=140592

Source/JavaScriptCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Reviewed by Antti Koivisto.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Updating test expected results.

svg/W3C-SVG-1.1/fonts-glyph-04-t.svg tests something which isn't spec'ed
and is impossible to perform with the converter, so I have deleted that
test.

svg/custom/skip-underline-missing-glyph-expected.html was testing
incorrect behavior, so I have updated the test.

The getStartPositionOfChar() calls in svg/text/kerning.svg and
svg/text/multichar-glyph.svg are currently impossible to be implemented
correctly with the converter, so I have updated the expected results to
test for the updated results of those calls.

Reviewed by Antti Koivisto.

  • platform/mac/TestExpectations:
  • platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
  • platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-fallback-expected.txt:
  • platform/mac/svg/foreignObject/text-tref-02-b-expected.txt:
  • platform/mac/svg/text/kerning-expected.txt:
  • platform/mac/svg/text/multichar-glyph-expected.txt:
  • platform/mac/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t-w3c.png: Removed.
  • svg/W3C-SVG-1.1/fonts-glyph-04-t.svg: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.html: Removed.
  • svg/custom/skip-underline-missing-glyph-expected.txt: Added.
  • svg/custom/skip-underline-missing-glyph.html:
10:32 AM Changeset in webkit [178652] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark a couple slow tests as such.

10:05 AM Changeset in webkit [178651] by ap@apple.com
  • 2 edits in trunk/Tools

"Unknown option: sharedworkerglobalscopeconstructorsfile" when running bindings tests.
https://bugs.webkit.org/show_bug.cgi?id=140606

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/bindings/main.py:

(BindingsTests.generate_supplemental_dependency):
(BindingsTests.main):

9:43 AM Changeset in webkit [178650] by Brent Fulgham
  • 1 edit
    1 delete in trunk/LayoutTests

[Win] Unreviewed gardening: Remove unneeded win-specific result.

At one point, Windows error messages did not include line numbers and needed its own results.
This is no longer the case, and any such results should be removed

  • platform/win/fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt: Removed.
9:35 AM Changeset in webkit [178649] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening: Mark some passing tests appropriately.

  • platform/win/TestExpectations:
9:25 AM Changeset in webkit [178648] by ap@apple.com
  • 32 edits in trunk

Console log sometimes prefixed with line number
https://bugs.webkit.org/show_bug.cgi?id=105280

Reviewed by Darin Adler.

Source/WebCore:

Improve the logic for determining whether a console message should be associated
with a source code location.

  • dom/ScriptableDocumentParser.h:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):

  • html/parser/HTMLDocumentParser.h:
  • page/PageConsoleClient.cpp:

(WebCore::getParserLocationForConsoleMessage):
(WebCore::PageConsoleClient::addMessage):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::pauseParsing):

  • xml/parser/XMLDocumentParser.h:
  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):

LayoutTests:

Some messages lost line numbers now. Some of these were definitely wrong, others
were roughly right. Unfortunately, it is not currently possible to figure out whether
ScriptController actually executes a script after passing control to it. So the cases
where it refuses to execute the script and logs a message are handled like those
where it does.

I think that it shouldn't be a big obstacle in practice, it is easy enough to find
a script in a page when Web Inspector tells you that scripts were not allowed.

  • fast/frames/sandboxed-iframe-attribute-parsing-06-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-07-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-08-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-09-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-10-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-11-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-12-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-13-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-14-expected.txt:
  • fast/frames/sandboxed-iframe-parsing-space-characters-expected.txt:
  • fast/frames/sandboxed-iframe-scripting-04-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-empty-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-empty-subframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-control-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header-expected.txt:
  • http/tests/security/isolatedWorld/sandboxed-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-script-in-iframe-expected.txt:
  • http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe-expected.txt:
  • http/tests/security/no-javascript-refresh-expected.txt:
  • http/tests/security/no-javascript-refresh-spaces-expected.txt:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:

Unmark tests that were broken by this.

8:32 AM Changeset in webkit [178647] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[SVG -> OTF Converter] Glyphs get clipped weirdly
https://bugs.webkit.org/show_bug.cgi?id=137095

Reviewed by Antti Koivisto.

The Adobe CFF spec doesn't actually tell you how to serialize a
"FontBBox." After trial and error, it seems to be (x, y, width,
height).

Test: svg/text/kerning.svg

svg/W3C-SVG-1.1/fonts-kern-01-t.svg

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendHEADTable):
(WebCore::SVGToOTFFontConverter::appendCFFTable):
(WebCore::SVGToOTFFontConverter::appendVHEATable):
(WebCore::CFFBuilder::CFFBuilder):
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
(WebCore::SVGToOTFFontConverter::processGlyphElement):

7:27 AM Changeset in webkit [178646] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

REGRESSION(r178486): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=140611

Reviewed by Eric Carlson.

  • testing/Internals.cpp:

(WebCore::Internals::elementIsBlockingDisplaySleep):

  • testing/Internals.h:
6:23 AM Changeset in webkit [178645] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Win] REGRESSION(r177542 or r177613): svg/W3C tests are broken
https://bugs.webkit.org/show_bug.cgi?id=139972

Unreviewed gardening, unskip now passing tests after r178139.

  • platform/win/TestExpectations:
5:33 AM Changeset in webkit [178644] by Carlos Garcia Campos
  • 5 edits in trunk/Tools

[GTK] [WK2] TestWebKitWebView snapshot fails
https://bugs.webkit.org/show_bug.cgi?id=120404

Reviewed by Žan Doberšek.

Rework the test to make sure the snapshot is always created at the
desired size.

  • Scripts/run-gtk-tests:

(TestRunner): Unskip /webkit2/WebKitWebView/snapshot.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewSnapshot): Use a fixed size for the document, and
disable scrollbars to make sure the visible area is always the
WebView size.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::showInWindowAndWaitUntilMapped): Add optional width
and height parameters to create the window with a given size.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
3:21 AM Changeset in webkit [178643] by svillar@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed, when committing r178642 I forgot to add the
TestExpectations change.

fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html.

1:44 AM Changeset in webkit [178642] by svillar@igalia.com
  • 9 edits
    2 adds in trunk

[CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
https://bugs.webkit.org/show_bug.cgi?id=139059

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):

LayoutTests:

The third step of the grid track sizing algorithm (method
ComputeUsedBreadthOfGridTracks in the old specs version of the
algorithm) tries to grow all grid tracks until the remaining space
is exhausted. Should the remaining space is undefined we should fill
the tracks up to their limits. This is specified in pseudocode like
this:

For each Grid track t in GridTracks

t.UsedBreadth = t.MaxBreadth

That's correct for most of the cases, but it becomes
wrong whenever t.UsedBreadth > t.MaxBreadth something that is not
incorrect. What we actually want to do is to grow the track to its
maximum if and only if the used breadth is smaller than the maximum.

due to another bug (wkb.ug/139058).

  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/grid-grow-tracks-to-their-max-expected.txt: Added.
  • fast/css-grid-layout/grid-grow-tracks-to-their-max.html: Added.
  • fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size.html:

Jan 18, 2015:

11:15 PM Changeset in webkit [178641] by ddkilzer@apple.com
  • 5 edits in trunk/Tools

iOS EWS queue name should be consistent
<http://webkit.org/b/140585>

Reviewed by Daniel Bates.

  • Scripts/webkitpy/common/config/ews.json: Rename 'ios-device'

to 'ios'.

  • Scripts/webkitpy/common/config/ports.py: Ditto.

(DeprecatedPort.port):
(IOSPort):

  • Scripts/webkitpy/port/ios.py: Ditto.

(IOSPort):

  • Scripts/webkitpy/port/factory.py:

(PortFactory): Re-order PORT_CLASSES so ios.IOSSimulatorPort
appears before ios.IOSPort. If this is not done,
run-webkit-tests --ios-simulator will get the wrong Port class
(IOSPort instead of IOSSimulatorPort) due to the way that
PortFactory.get() uses prefix matching of <Port>.port_name to
find the correct class to use.

11:07 PM Changeset in webkit [178640] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/navigation/navigation-interrupted-by-fragment.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=140607

  • platform/mac-wk2/TestExpectations: Added an expectation.
10:57 PM Changeset in webkit [178639] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

Update bindings generation test results after <https://trac.webkit.org/changeset/178633>.

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):

9:32 PM Changeset in webkit [178638] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Generate matchingShorthandsForLonghand() implementation from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140599

Reviewed by Antti Koivisto.

Generate matchingShorthandsForLonghand() implementation from
CSSPropertyNames.in. We already have all the information we need in
CSSPropertyNames.in to generate the big switch() in
matchingShorthandsForLonghand().

A few shorthands still aren't generated. I will look into getting rid
of the custom code in a follow-up patch.

  • css/StylePropertyShorthand.cpp:

(WebCore::makeVector): Deleted.
(WebCore::matchingShorthandsForLonghand): Deleted.

  • css/StylePropertyShorthand.h:

(WebCore::matchingCustomShorthandsForLonghand):

  • css/makeprop.pl:

(constructShorthandsVector):

9:14 PM Changeset in webkit [178637] by dino@apple.com
  • 3 edits
    2 adds in trunk

Out of bounds write in canvas.toDataURL
https://bugs.webkit.org/show_bug.cgi?id=140594
<rdar://problem/19449135>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In the case where we have a canvas object that does
not have premultiplied alpha (an option you can select
when using WebGL) we have to multiply out the alpha when
converting to JPEG via toDataURL.

For this we created a buffer, but were not accurately
resizing it before flattening the alpha.

Test: fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageDataToDataURL): Call resize once we've
determined we have enough space.

LayoutTests:

Creates a WebGL context that does not have
premultiplied alpha, fills it with 50% transparent white,
and attempts to convert the canvas to a JPEG data URL. This
exercises the code path that was not accurately
allocating data (to flatten the alpha).

  • fast/canvas/webgl/toDataURL-unpremultipliedAlpha-expected.txt: Added.
  • fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html: Added.
4:03 PM Changeset in webkit [178636] by dbates@webkit.org
  • 5 edits in trunk/Source

Attempt to fix the iOS build after <http://trac.webkit.org/changeset/178631>
(https://bugs.webkit.org/show_bug.cgi?id=129441)

Source/WebKit/mac:

Pass lvalue reference to WebCore::Highlight instead of pointer in call to InspectorController::getHighlight().
Also substitute HighlightType::Node and HighlightType::Rects for HighlightTypeNode and HighlightTypeRects, respectively.

  • WebInspector/WebNodeHighlightView.mm:

(-[WebNodeHighlightView layoutSublayers:]):

Source/WebKit2:

  • UIProcess/WKInspectorHighlightView.mm:

(-[WKInspectorHighlightView update:]): Substitute HighlightType::Node and
HighlightType::Rects for HighlightTypeNode and HighlightTypeRects, respectively.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::highlight): Pass lvalue reference to WebCore::Highlight
instead of pointer in call to InspectorController::getHighlight().

2:16 PM Changeset in webkit [178635] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Fix style issues and add availability macros missed in r178634
https://bugs.webkit.org/show_bug.cgi?id=140597

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:

Add missing availability macros.

  • UIProcess/API/Cocoa/_WKUserContentFilter.h:
  • UIProcess/API/Cocoa/_WKUserContentFilter.mm:

(-[_WKUserContentFilter initWithName:serializedRules:]):
(-[_WKUserContentFilter _initWithName:serializedRules:]): Deleted.
Removed unnecessary leading underscore from init method.

1:54 PM Changeset in webkit [178634] by weinig@apple.com
  • 33 edits
    8 adds
    2 deletes in trunk/Source

Add initial experimental user content filtering API
https://bugs.webkit.org/show_bug.cgi?id=140584

Reviewed by Benjamin Poulain.

Source/WebCore:

Change content extensions to be managed through the UserContentController.

  • WebCore.exp.in:

Update exports.

  • WebCore.xcodeproj/project.pbxproj:

Update for removed files.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::removeAllRuleLists):
(WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance): Deleted.

  • contentextensions/ContentExtensionsBackend.h:

Remove concept of a shared instance and add a removeAllRuleLists() function.

  • contentextensions/ContentExtensionsInterface.cpp: Removed.
  • contentextensions/ContentExtensionsInterface.h: Removed.

Since there is no shared instance anymore, checking if a URL should be blocked
now has to go directly to the backend.

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::createRuleList):
(WebCore::ContentExtensions::ExtensionsManager::loadExtension): Deleted.

  • contentextensions/ContentExtensionsManager.h:

Update interface to accommodate the lack of a shared instance. Now, all this
file does is take a serialized rule list and outputs the Vector of ContentExtensionRules

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
Check with the UserContentController to see if the URL should be blocked.

  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserContentFilter):
(WebCore::UserContentController::removeAllUserContentFilters):
(WebCore::UserContentController::contentFilterBlocksURL):

  • page/UserContentController.h:

Add single point of interaction for both the WebKit level to add and remove
content filters and WebCore to check to see if URLs should be blocked.

Source/WebKit2:

Moves content filtering from being per-ProcessPool to per-UserContentController.

  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • UIProcess/API/APIUserContentFilter.cpp: Added.

(API::UserContentFilter::UserContentFilter):
(API::UserContentFilter::~UserContentFilter):

  • UIProcess/API/APIUserContentFilter.h: Added.
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKUserContentFilterRef.cpp: Added.

(WKUserContentFilterGetTypeID):
(WKUserContentFilterCreate):

  • UIProcess/API/C/WKUserContentFilterRef.h: Added.
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/API/Cocoa/_WKUserContentFilter.h: Added.
  • UIProcess/API/Cocoa/_WKUserContentFilter.mm: Added.

(WKUserContentControllerAddUserContentFilter):
(WKUserContentControllerRemoveAllUserContentFilters):
(-[_WKUserContentFilter _initWithName:ruleList:]):

  • UIProcess/API/Cocoa/_WKUserContentFilterInternal.h: Added.

Add a basic UserContentFilter type and expose it via both the Objective-C API (as _WKUserContentFilter)
and via the C SPI (as WKUserContentFilterRef).

  • UIProcess/API/C/WKUserContentControllerRef.h:
  • UIProcess/API/C/WKUserContentControllerRef.cpp:

Add C-SPI to set and remove WKUserContentFilterRefs.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _loadContentExtensionWithIdentifier:serializedRules:successCompletionHandler:errorCompletionHandler:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::loadContentExtension): Deleted.

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

(WebKit::WebProcess::loadContentExtension): Deleted.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Remove the old SPI for loading content filters that was per-ProcessPool. Content filters now follow
the same pattern as UserScripts and UserStyleSheets as being per-UserContentController.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addUserContentFilter:]):
(-[WKUserContentController _removeAllUserContentFilters]):

  • UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Added.
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentFilter):
(WebKit::WebUserContentControllerProxy::removeAllUserContentFilters):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserContentFilters):
(WebKit::WebUserContentController::removeAllUserContentFilters):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:

Pipe user content filters over to all the WebProcesses that the UserContentController is
connected to.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

12:57 PM Changeset in webkit [178633] by Darin Adler
  • 5 edits in trunk/Source/WebCore

REGRESSION (r125251): wrapper lifetimes of SVGElementInstance are incorrect
https://bugs.webkit.org/show_bug.cgi?id=132148

Reviewed by Anders Carlsson.

Test: svg/custom/use-instanceRoot-event-listeners.xhtml

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::addEventListener): Updated for the new return type
of JSListener::create. For the event type, use JSString::toAtomicString instead of
calling JSString::value and then converting to an AtomicString.
(WebCore::JSDOMWindow::removeEventListener): Same changes as for addEventListener.

  • bindings/js/JSEventListener.cpp:

(WebCore::forwardsEventListeners): Added. Helper to detect the special case needed
for SVGElementInstance. In the future, for better encapsulation, we could use virtual
functions, but for now hard coding this single class seems fine.
(WebCore::correspondingElementWrapper): Added. For use if forwardsEventListeners
returns true, to find out where event listeners will be forwarded.
(WebCore::createJSEventListenerForAttribute): Added. Replaces the old function
createJSAttributeEventListener, for SVGElementInstance attributes only.
(WebCore::createJSEventListenerForAdd): Added. Helper function to avoid repeated
generated code in the addElementListener bindings other than the DOMWindow one.

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::create): Changed to return a Ref instead of a PassRefPtr.
(WebCore::createJSEventListenerForAttribute): Renamed from createJSAttributeEventListener,
changed to return a RefPtr instead of a PassRefPtr and to take references rather than
pointers for non-null things.
(WebCore::createJSEventListenerForRemove): Added. Small wrapper that calls
createJSEventListenerForAdd since they are currently identical.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall): Removed the special case for JSSVGElementInstance
and updated to call the new createJSEventListenerForAttribute. The special case for
SVGElementInstance is now in JSEventListener.h/cpp, which is nicer since we prefer to
keep the generated code simpler if possible.
(GenerateEventListenerCall): Removed the special case for JSSVGElementInstance. This
has been dead code since the explicit definition of add/removeEventListener was removed
from SVGElementInstance.idl, and was also a problem if someone were to use the
addEventListener function from EventTarget on an SVGElementInstance object. The function
needs to be generic at runtime. Use toAtomicString as in JSDOMWindow::addEventListener above.
Call the two new functions, createJSEventListenerForAdd and createJSEventListenerForRemove.
Those new functions properly handle SVGElementInstance.
(GenerateImplementation): Don't pass the class name to GenerateAttributeEventListenerCall
or GenerateEventListenerCall any more.
(GenerateConstructorDefinition): Use JSString::toAtomicString instead of calling
JSString::value and then converting to AtomicString.

12:03 PM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
12:00 PM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
11:52 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
11:50 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
10:39 AM Changeset in webkit [178632] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: OS X EWS is now on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=140595

Reviewed by Csaba Osztrogonác.

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

(BubbleQueueServer):

9:07 AM Changeset in webkit [178631] by Brian Burg
  • 13 edits
    1 add in trunk/Source

Web Inspector: highlight data for overlay should use protocol type builders
https://bugs.webkit.org/show_bug.cgi?id=129441

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add a new domain for overlay types.

  • CMakeLists.txt:
  • DerivedSources.make:
  • inspector/protocol/OverlayTypes.json: Added.

Source/WebCore:

As a first step towards cleaning up the inspector overlay, convert highlight
data construction to use protocol type builders. It's now really obvious what
data is being sent to the inspector overlay page.

This change paves the way towards using inspector protocol commands and events
if we want to support more interactive functionality in the inspector overlay.

This patch makes a few style cleanups, such as standardizing variable names,
using default member initializers, passing by reference, and fixing casts.

No new tests, no behavior changed.

  • WebCore.exp.in:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::getHighlight):
(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::inspect): Deleted.

  • inspector/InspectorController.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):
(WebCore::buildNodeHighlight):
(WebCore::buildQuadHighlight):
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::getHighlight):
(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegion):
(WebCore::buildObjectForFlowRegions):
(WebCore::buildObjectForSize):
(WebCore::buildQuadObjectForCSSRegionContentClip):
Simplify how the clipping area is encoded. It's now 'regionClippingArea'
stored on a FragmentHighlightData instance.

(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildArrayForRendererFragments):
(WebCore::appendPathCommandAndPoints):
(WebCore::appendPathSegment):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementData):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::drawNodeHighlight):
(WebCore::InspectorOverlay::drawQuadHighlight):
(WebCore::InspectorOverlay::reset):
(WebCore::buildObjectForRegionHighlight): Deleted.
(WebCore::buildObjectForCSSRegionsHighlight): Deleted.
(WebCore::buildObjectForCSSRegionContentClip): Deleted.
(WebCore::buildObjectForRendererFragments): Deleted.
(WebCore::buildObjectForElementInfo): Deleted.

  • inspector/InspectorOverlay.h:

(WebCore::Highlight::Highlight):

  • inspector/InspectorOverlayPage.js:

(_createElementTitle):
(_drawElementTitle):
(_drawFragmentHighlight):
(drawNodeHighlight):

  • testing/Internals.cpp:

(WebCore::Internals::inspectorHighlightRects):
(WebCore::Internals::inspectorHighlightObject):

Source/WebKit:

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

Jan 17, 2015:

5:41 PM Changeset in webkit [178630] by Chris Dumez
  • 9 edits
    3 copies
    1 add in trunk/Source/WebKit2

[WK2][iOS] Add Cocoa delegate for logging diagnostic messages
https://bugs.webkit.org/show_bug.cgi?id=140410

Reviewed by Sam Weinig.

Add Cocoa delegate for logging diagnostic messages.

  • UIProcess/API/APIDiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.

(API::DiagnosticLoggingClient::~DiagnosticLoggingClient):
(API::DiagnosticLoggingClient::logDiagnosticMessage):
(API::DiagnosticLoggingClient::logDiagnosticMessageWithResult):
(API::DiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageDiagnosticLoggingClient):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _diagnosticLoggingDelegate]):
(-[WKWebView _setDiagnosticLoggingDelegate:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.
  • UIProcess/Cocoa/DiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.
  • UIProcess/Cocoa/DiagnosticLoggingClient.mm: Added.

(WebKit::DiagnosticLoggingClient::DiagnosticLoggingClient):
(WebKit::DiagnosticLoggingClient::delegate):
(WebKit::DiagnosticLoggingClient::setDelegate):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • UIProcess/WebPageDiagnosticLoggingClient.cpp:

(WebKit::WebPageDiagnosticLoggingClient::WebPageDiagnosticLoggingClient):

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

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setDiagnosticLoggingClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):
(WebKit::WebPageProxy::initializeDiagnosticLoggingClient): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::diagnosticLoggingClient):

  • WebKit2.xcodeproj/project.pbxproj:
4:20 PM Changeset in webkit [178629] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Crash in JSScope::resolve() on tools.ups.com
https://bugs.webkit.org/show_bug.cgi?id=140579

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

For op_resolve_scope of a global property or variable that needs to check for the var
injection check watchpoint, we need to keep the scope around with a Phantom. The
baseline JIT slowpath for op_resolve_scope needs the scope value if the watchpoint
fired.

  • dfg/DFGByteCodeParser.cpp:

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

LayoutTests:

New regression test.

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

(Test.this.isString):
(Test.this.test):
(Test):

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

[SVG -> OTF Converter] Crashes when SVG font is invalid
https://bugs.webkit.org/show_bug.cgi?id=140378

Reviewed by Antti Koivisto.

Because CachedSVGFonts are cached, they have to be able to be used
in subsequent documents regardless how the first document left it.

Tests: fast/css/font-face-svg-decoding-error.html

svg/custom/svg-fonts-in-html.html
svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::getFontData):
(WebCore::CachedSVGFont::ensureCustomFontData):
(WebCore::CachedSVGFont::maybeInitializeExternalSVGFontElement):

  • loader/cache/CachedSVGFont.h:
9:18 AM Changeset in webkit [178627] by Chris Dumez
  • 6 edits in trunk

Converting time, angle and frequency units in CSS calc() function
https://bugs.webkit.org/show_bug.cgi?id=138356

Reviewed by Darin Adler.

Source/WebCore:

Update CSSPrimitiveValue::primitiveType() to actually query the
primitiveType of the CSSCalcValue instead of assuming a given
type based on its category (e.g. If category is CalcTime, then
assume type is CSS_MS, even though it would be CSS_S as well).

This would like to calculation errors such as:
calc(4s + 1s) -> 5ms

Because we would assume the unit is CSS_MS without actually
checking.

This patch is inspired by the following Blink revision
by <rhodovan.u-szeged@partner.samsung.com> and initial WebKit
patch from <tmeszaros.u-szeged@partner.samsung.com>:
https://src.chromium.org/viewvc/blink?view=rev&revision=179101

Test: fast/css/calc-with-angle-time-frequency.html

  • css/CSSCalculationValue.h:

(WebCore::CSSCalcValue::primitiveType):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::primitiveType):

LayoutTests:

Update fast/css/calc-with-angle-time-frequency.html to include more
test cases and actually validate the result of the calculation,
instead of merely setting the CSS property and being happy if we don't
crash.

  • fast/css/calc-with-angle-time-frequency-expected.txt:
  • fast/css/calc-with-angle-time-frequency.html:
8:54 AM Changeset in webkit [178626] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Generate shorthandForProperty() implementation from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140556

Reviewed by Darin Adler.

Generate shorthandForProperty() implementation from CSSPropertyNames.in.
This is just a big switch() statement calling the right
StylePropertyShorthand factory function for a given CSSPropertyID.

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty): Deleted.

  • css/StylePropertyShorthand.h:
  • css/makeprop.pl:
8:49 AM Changeset in webkit [178625] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r178618): Change to WKWebViewConfiguration broke iOS build
<https://bugs.webkit.org/show_bug.cgi?id=140559>

Blind fix to address the following build failure:

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:79:7: error: interface type cannot be statically allocated

T m_value;


*

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:94:55: note: in instantiation of template class 'LazyInitialized<WKWebViewContentProviderRegistry>' requested here

LazyInitialized<WKWebViewContentProviderRegistry> _contentProviderRegistry;


Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:53:21: error: assigning to 'WKWebViewContentProviderRegistry *' from incompatible type 'RetainPtr<WKWebViewContentProviderRegistry *>'

m_value = f();

~

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:37: note: in instantiation of function template specialization 'LazyInitialized<WKWebViewContentProviderRegistry>::get<(lambda at Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:41)>' requested here

return _contentProviderRegistry.get([] { return adoptNS([[WKWebViewContentProviderRegistry alloc] init]); });


Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:57:24: error: property 'get' not found on object of type 'WKWebViewContentProviderRegistry *'

return m_value.get();


3 errors generated.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Change

_contentProviderRegistry to be a LazyInitialized<RetainPtr<>> to
match other instance variables.

8:08 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
7:55 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
2:48 AM Changeset in webkit [178624] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix webkitpy tests on Mountain Lion, Mavericks bots

  • Scripts/webkitpy/port/ios.py:

(IOSPort): Add 'ios-device-7' to VERSION_FALLBACK_ORDER so that
test-webkitpy doesn't fail since iOS 7.x SDKs are installed on
the Mountain Lion and Mavericks bots.

2:08 AM Changeset in webkit [178623] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix webkitpy tests on GTK Linux ports

  • Scripts/webkitpy/port/ios.py:

(IOSPort.determine_full_port_name): Set a sensible default if
not running on a Mac platform or if no iOS SDK is installed.

12:42 AM Changeset in webkit [178622] by ddkilzer@apple.com
  • 14 edits in trunk/Tools

Create iOS-EWS client queue
https://bugs.webkit.org/show_bug.cgi?id=140476

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2015-01-17
Reviewed by Alexey Proskuryakov.

  • EWSTools/start-queue-mac.sh:

Adds call to configure-xcode-for-ios-development for iOS EWS.

  • Scripts/webkitpy/common/config/ews.json:

Adds the iOS EWS config entry.

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
Adds IOSPort to the port map.
(IOSPort):
(IOSPort.build_webkit_command):
Adds --sdk=iphoneos to the webkit build command.

  • Scripts/webkitpy/port/base.py:

(Port.architecture):
Adds an accessor for the architecture member variable.

  • Scripts/webkitpy/port/factory.py:

(PortFactory):
Adds IOSPort to the port class list.

  • Scripts/webkitpy/port/ios.py:

Adds the IOSPort to encapsulate iOS-specific things.
(IOSPort):
(IOSPort.determine_full_port_name):
(IOSPort.init):
(IOSPort._build_driver_flags):
(IOSPort.operating_system):

  • Scripts/webkitpy/tool/commands/download_unittest.py:

Adds the archetecture option to the mock options.
(DownloadCommandsTest._default_options):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Appends the archetecture option into calls to webkit-patch.
(AbstractEarlyWarningSystem.review_patch):
(AbstractEarlyWarningSystem.run_command):
(AbstractEarlyWarningSystem.load_ews_classes):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Adds logic to soothe the unittest now that --architecture is being
thrown around everywhere.
(EarlyWarningSystemTest._default_expected_logs):

  • Scripts/webkitpy/tool/commands/queues.py:

Adds glue code to ferry the --architecture option around.
(AbstractQueue.init):
(PatchProcessingQueue.begin_work_queue):

  • Scripts/webkitpy/tool/steps/abstractstep.py:

Adds the archetecture option to all AbstractSteps so that
EarlyWarningSystem doesn't start shoving --architecture into
unsuspecting commands.
(AbstractStep.options):

  • Scripts/webkitpy/tool/steps/build.py:

Translates the --architecture option into an ARCHS= format to pass to
build-webkit.
(Build.build):

  • Scripts/webkitpy/tool/steps/options.py:

Adds a definition for the --architecture option.
(Options):

Jan 16, 2015:

6:53 PM Changeset in webkit [178621] by ggaren@apple.com
  • 12 edits
    1 delete in trunk/Source/bmalloc

bmalloc: refactored XLarge allocation for better alignment
https://bugs.webkit.org/show_bug.cgi?id=140582

Reviewed by Andreas Kling.

XLarge objects used to be Large objects with an extra bit of metadata
that said "actually, I'm not large -- I'm extra large".

The metadata header in an XLarge allocation made it impossible for the
XLarge object to honor a very large alignment request.

The solution is to stop using a metadata header for XLarge objects, and
instead to store explicit metadata on the side.

This is a bit less astonishing, which is also nice.

Finding XLarge metadata is now a linear search. That's probably OK, since
it was always so in TCMalloc, and the usual number of XLarge allocations
in a process is 0.

This design makes it possible for the heap to cache XLarge allocations
with and/or without physical pages. I haven't actually done that yet
because the tradeoffs are subtle, so I don't want to do anything without
a motivating test case.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Removed the concept of an XLargeChunk,
since an XLarge allocation is now just a naked buffer without a header.

(bmalloc::Allocator::allocateXLarge): Added an explicit qualifier for
XLarge alignment, since XLargeChunk won't give this to us implicitly
anymore.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::setRange):
(bmalloc::BoundaryTag::isXLarge): Deleted.
(bmalloc::BoundaryTag::setXLarge): Deleted.

  • bmalloc/BoundaryTagInlines.h:

(bmalloc::validate):
(bmalloc::BoundaryTag::deallocate): Removed the XLarge hacks from Large allocations.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::deallocateXLarge):
(bmalloc::Deallocator::deallocateSlowCase):

  • bmalloc/Heap.cpp:

(bmalloc::Heap::findXLarge):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::deallocateXLarge):

  • bmalloc/Heap.h: Updated for interface changes.
  • bmalloc/ObjectType.cpp:

(bmalloc::objectType):

  • bmalloc/ObjectType.h:

(bmalloc::isXLarge): We can now tell if a pointer is XLarge just by
examining its bit pattern -- just like we do for other kinds of
allocations -- which is nice.

  • bmalloc/Sizes.h:
  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateXLarge):
(bmalloc::VMHeap::findXLarge):
(bmalloc::VMHeap::deallocateXLarge): Keep an explicit vector of metadata
for XLarge allocations.

  • bmalloc/XLargeChunk.h: Removed.
6:26 PM Changeset in webkit [178620] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make message selection in the console more readable
https://bugs.webkit.org/show_bug.cgi?id=140385

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-01-16
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-item.selected):
(.console-messages:focus .console-item.selected):
(.console-item.selected .console-message::after):
(.console-messages:focus .console-item.selected .console-message::after):
(.console-messages:focus .console-item.selected .go-to-link):

  • UserInterface/Views/Main.css:

(.go-to-link):
!important statements seem to be unnecessary, remove them.

6:12 PM Changeset in webkit [178619] by dbates@webkit.org
  • 121 edits in trunk/LayoutTests

Update some expected results for iOS

  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/ios-simulator-wk2/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/ios-simulator/TestExpectations:

[...]

6:07 PM Changeset in webkit [178618] by weinig@apple.com
  • 19 edits
    10 adds in trunk

Add a basic configuration object for WKView
https://bugs.webkit.org/show_bug.cgi?id=140559

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Adds WKPageConfigurationRef (backed by API::PageConfiguration). WKWebView configuration is not yet bridged to this, but that will happen soon. For now, it has a few basic configuration options.
  • Adds WKUserContentControllerRef as C-SPI version of WKUserContentController.
  • Adds WKUserScriptRef as C-SPI version of WKUserScript.
  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toWKUserScriptInjectionTime):

  • UIProcess/API/APIPageConfiguration.cpp: Added.

(API::PageConfiguration::PageConfiguration):
(API::PageConfiguration::~PageConfiguration):
(API::PageConfiguration::processPool):
(API::PageConfiguration::setProcessPool):
(API::PageConfiguration::userContentController):
(API::PageConfiguration::setUserContentController):
(API::PageConfiguration::pageGroup):
(API::PageConfiguration::setPageGroup):
(API::PageConfiguration::preferences):
(API::PageConfiguration::setPreferences):
(API::PageConfiguration::relatedPage):
(API::PageConfiguration::setRelatedPage):
(API::PageConfiguration::webPageConfiguration):

  • UIProcess/API/APIPageConfiguration.h: Added.

(API::PageConfiguration::create):

  • UIProcess/API/APIUserScript.cpp: Added.

(API::generateIdentifier):
(API::UserScript::generateUniqueURL):

  • UIProcess/API/APIUserScript.h:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPageConfigurationRef.cpp: Added.

(WKPageConfigurationGetTypeID):
(WKPageConfigurationCreate):
(WKPageConfigurationGetContext):
(WKPageConfigurationSetContext):
(WKPageConfigurationGetPageGroup):
(WKPageConfigurationSetPageGroup):
(WKPageConfigurationGetUserContentController):
(WKPageConfigurationSetUserContentController):
(WKPageConfigurationGetPreferences):
(WKPageConfigurationSetPreferences):
(WKPageConfigurationGetRelatedPage):
(WKPageConfigurationSetRelatedPage):

  • UIProcess/API/C/WKPageConfigurationRef.h: Added.
  • UIProcess/API/C/WKUserContentControllerRef.cpp: Added.

(WKUserContentControllerGetTypeID):
(WKUserContentControllerCreate):
(WKUserContentControllerCopyUserScripts):
(WKUserContentControllerAddUserScript):
(WKUserContentControllerRemoveAllUserScripts):

  • UIProcess/API/C/WKUserContentControllerRef.h: Added.
  • UIProcess/API/C/WKUserScriptRef.cpp: Added.

(WKUserScriptGetTypeID):
(WKUserScriptCreateWithSource):
(WKUserScriptCopySource):
(WKUserScriptGetInjectionTime):
(WKUserScriptGetMainFrameOnly):

  • UIProcess/API/C/WKUserScriptRef.h: Added.
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(generateIdentifier): Deleted.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(LazyInitialized::get):
(LazyInitialized::set):
(LazyInitialized::peek):

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:configurationRef:]):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

(WebKit::WebUserContentControllerProxy::create):

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Add tests for WKPageConfigurationRef.

  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WKPageConfiguration.cpp: Added.

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

  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(TestWebKitAPI::PlatformWebView::initialize):
(TestWebKitAPI::PlatformWebView::PlatformWebView):

5:49 PM Changeset in webkit [178617] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac] Correct infinite loop in Wheel Handler code in EventHandlerMac
https://bugs.webkit.org/show_bug.cgi?id=140564
<rdar://problem/19386426.

Reviewed by Dean Jackson.

  • page/mac/EventHandlerMac.mm:

(WebCore::latchingIsLockedToAncestorOfThisFrame): Put missing assignment
back into the loop!

5:15 PM Changeset in webkit [178616] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.2

New tag.

4:39 PM Changeset in webkit [178615] by mmaxfield@apple.com
  • 6 edits
    1 add in trunk

WeakPtr functions crash when created with default constructor
https://bugs.webkit.org/show_bug.cgi?id=140479

Reviewed by Andreas Kling.

Source/WTF:

This patch rearranges how WeakPtr works, and has the following ideas behind it:

  1. WeakPtr should use Ref internally. This solves the crash by always having a

valid WeakReference.

  1. Clients should not be able to construct WeakReferences directly. Instead,

only WeakPtrFactory (and WeakPtr's default constructor) should be able to
construct them. They are considered an implementation detail of WeakPtr.

  1. Except for the default constructor, clients should not be able to construct

WeakPtrs directly. Instead, the WeakPtrFactory must construct them. This
guarantees that the WeakPtrs all reference the same WeakReference.

  1. Clients can construct a WeakPtr using its default constructor, and then

use the assignment operator to make it non-null. (Or they could use
WeakPtrFactory to make it non-null at creation-time.)

  1. No one was using WeakReference::bindTo(), and it doesn't seem useful, so I

removed it.

Tests: WTF_WeakPtr API tests

  • wtf/Ref.h:

(WTF::Ref::Ref): Added extra ASSERT()s, and explicitly deleted copy
constructors with a comment.
(WTF::Ref::operator=): Added extra ASSERT()s, and explicitly deleted copy
assignment operators with a comment.

  • wtf/WeakPtr.h:

(WTF::WeakReference::clear): Used nullptr.
(WTF::WeakReference::create): Moved to private:
(WTF::WeakPtr::WeakPtr): For the default constructor, initialized the Ref with
a new WeakReference. For the other constructor, moved it to private:. Also added
copy constructors and copy assignment operators (since Ref doesn't have them but
RefPtr does). These constructors/operators are relied upon in various places
throughout WebCore.
(WTF::WeakPtr::operator bool): Made non-explicit.
(WTF::WeakReference::createUnbound): Deleted.
(WTF::WeakReference::bindTo): Deleted.
(WTF::WeakReference::WeakReference): Deleted.
(WTF::WeakPtrFactory::WeakPtrFactory): Deleted.

Tools:

Add WeakPtr API tests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Added.
  • TestWebKitAPI/Tests/WTF/Ref.cpp: Update to not use copy constructor.
4:37 PM Changeset in webkit [178614] by msaboff@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION(178591): js/slow-stress/call-spread.html & js/slow-stress/new-spread.html
https://bugs.webkit.org/show_bug.cgi?id=140574

Rubber stamped by Oliver Hunt.

Changed the loop counts in the test to lower values to speed up the tests.

  • js/slow-stress/script-tests/call-spread.js:

(test2):
(test3):

  • js/slow-stress/script-tests/new-spread.js:

(test2):
(test3):

4:35 PM Changeset in webkit [178613] by Alan Bujtas
  • 5 edits
    2 adds in trunk

When border-radius is present, inset/outset/groove/ridge border color changes.
https://bugs.webkit.org/show_bug.cgi?id=140551

Reviewed by Simon Fraser.

This patch applies the same color lighten/darken adjustment on the radius borders
that we use for non-radius border.

Source/WebCore:

Test: fast/borders/wrong-border-color-when-radius-is-present.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::drawBoxSideFromPath):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::calculateBorderStyleColor):

  • rendering/RenderObject.h:

LayoutTests:

  • fast/borders/wrong-border-color-when-radius-is-present-expected.html: Added.
  • fast/borders/wrong-border-color-when-radius-is-present.html: Added.
4:12 PM Changeset in webkit [178612] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Web pages fail to load using public iOS WebKit; ASSERT(!isMainThread()) in
-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
https://bugs.webkit.org/show_bug.cgi?id=140470

Patch by Pratik Solanki <psolanki@apple.com> on 2015-01-16
Reviewed by Alexey Proskuryakov.

Fixes an issue where a web page would fail to load in iOS WebKit2 built with the public iOS SDK
because NSURLConnection callbacks were always being scheduled on the main thread.

Currently we always schedule NSURLConnection callbacks to occur on the WebThread or the main
thread depending on whether the WebThread was started. In iOS WebKit2, the callbacks were
always being scheduled on the main thread regardless of whether we were using the NetworkProcess
(since the WebThread is only started when using WebKit1). This led to an assertion failure.
Instead we want to schedule callbacks to an NSOperationsQueue queue when using WebKit2 with the
NetworkProcess (i.e. ResourceHandleClient::usesAsyncCallbacks() is true), on the main thread when
using WebKit2 without the NetworkProcess and on the WebThread when using WebKit1.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::operationQueueForAsyncClients): Remove PLATFORM(IOS)-guards as we want to make use
of this code for iOS WebKit2 with the NetworkProcess.
(WebCore::ResourceHandle::start): Modified to use the existing Mac code path to conditionally
schedule NSURLConnection callbacks to an operation queue when ResourceHandleClient::usesAsyncCallbacks()
is true. Otherwise, schedule the callbacks on the run loop returned by WebThreadNSRunLoop(),
which is either the WebThread or the main thread run loop when using WebKit1 and WebKit2 without
the NetworkProcess, respectively.

4:10 PM Changeset in webkit [178611] by ggaren@apple.com
  • 5 edits
    2 adds in trunk/PerformanceTests

bmalloc: added the tiniest bit of testing for aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140573

Reviewed by Andreas Kling.

Just good enoug to catch two bugs in a preliminary implementation.

  • MallocBench/MallocBench.xcodeproj/project.pbxproj:
  • MallocBench/MallocBench/Benchmark.cpp:
  • MallocBench/MallocBench/mbmalloc.cpp:
  • MallocBench/MallocBench/mbmalloc.h:
  • MallocBench/MallocBench/memalign.cpp: Added.

(benchmark_memalign):

  • MallocBench/MallocBench/memalign.h: Added.
4:10 PM Changeset in webkit [178610] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused WebInspector.LocalJSONObject
https://bugs.webkit.org/show_bug.cgi?id=140570

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-16
Reviewed by Timothy Hatcher.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.fromLocalObject): Deleted.
(WebInspector.LocalJSONObject): Deleted.
(WebInspector.LocalJSONObject.prototype.get description.switch.case.string_appeared_here): Deleted.
(WebInspector.LocalJSONObject.prototype.get description.switch.default): Deleted.
(WebInspector.LocalJSONObject.prototype.get description): Deleted.
(WebInspector.LocalJSONObject.prototype._concatenate): Deleted.
(WebInspector.LocalJSONObject.prototype.get type): Deleted.
(WebInspector.LocalJSONObject.prototype.get subtype): Deleted.
(WebInspector.LocalJSONObject.prototype.get hasChildren): Deleted.
(WebInspector.LocalJSONObject.prototype.getOwnProperties): Deleted.
(WebInspector.LocalJSONObject.prototype.getAllProperties): Deleted.
(WebInspector.LocalJSONObject.prototype._children.buildProperty): Deleted.
(WebInspector.LocalJSONObject.prototype._children): Deleted.
(WebInspector.LocalJSONObject.prototype.isError): Deleted.

4:01 PM Changeset in webkit [178609] by ggaren@apple.com
  • 8 edits in trunk/Source/bmalloc

bmalloc: added some infrastructure for aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140572

Reviewed by Andreas Kling.

  • bmalloc/Algorithm.h:

(bmalloc::isPowerOfTwo):
(bmalloc::roundUpToMultipleOf):
(bmalloc::roundDownToMultipleOf): Refactored some duplicate code to use our
isPowerOfTwo helper function.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::allocate):

  • bmalloc/Allocator.h: Stubbed out an implementation of aligned allocation.

Doesn't do anything yet, but does correctly forward to system malloc
when bmalloc is disabled.

  • bmalloc/Cache.cpp:

(bmalloc::Cache::allocateSlowCaseNullCache):

  • bmalloc/Cache.h:

(bmalloc::Cache::allocate):

  • bmalloc/bmalloc.h:

(bmalloc::api::memalign):

  • bmalloc/mbmalloc.cpp: Stubbed out an API for aligned allocation.
3:41 PM Changeset in webkit [178608] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Pass the connection along to WebProcessLifetimeTracker
https://bugs.webkit.org/show_bug.cgi?id=140569

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionDidClose):

  • UIProcess/WebProcessLifetimeTracker.cpp:

(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionDidClose):
(WebKit::WebProcessLifetimeTracker::connectionWillClose): Deleted.

  • UIProcess/WebProcessLifetimeTracker.h:
3:32 PM Changeset in webkit [178607] by Chris Dumez
  • 2 edits in trunk/Tools

Regression(r178586): Caused webkitpy.w3c.test_converter_unittest.W3CTestConverterTest.test_convert_prefixed_properties to fail
https://bugs.webkit.org/show_bug.cgi?id=140568

Reviewed by Alexey Proskuryakov.

Fix the script parsing CSSPropertyNames.in to stop splitting lines
on '=' sign. The '=' sign is also used in StyleBuilder parameters:
e.g. "Longhands=background-position-x|background-position-y".
This would confuse the script and treat this as a CSS property:
"background-position-x|background-position-y".

We now split on white space and treat the first string on the line
to be the property name (this is the syntax in this file).

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.init):
(_W3CTestConverter.read_webkit_prefixed_css_property_list):

3:17 PM Changeset in webkit [178606] by Brian Burg
  • 16 edits in trunk/Source/JavaScriptCore

Web Inspector: code generator should introduce typedefs for protocol types that are arrays
https://bugs.webkit.org/show_bug.cgi?id=140557

Reviewed by Joseph Pecoraro.

Currently, there is no generated type name for "array" type declarations such as Console.CallStack.
This makes it longwinded and confusing to use the type in C++ code.

This patch adds a typedef for array type declarations, so types such as Console::CallStack
can be referred to directly, rather than using Inspector::Protocol::Array<Console::CallFrame>.

Some tests were updated to cover array type declarations used as parameters and type members.

  • inspector/ScriptCallStack.cpp: Use the new typedef.

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_protocol_type_for_type): If an ArrayType is nominal, use the typedef'd name instead.

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(_generate_typedefs_for_domain): Also generate typedefs for array type declarations.
(_generate_typedefs_for_domain.Inspector):

  • inspector/scripts/codegen/models.py: Save the name of an ArrayType when it is a type declaration.

(ArrayType.init):
(Protocol.resolve_types):
(Protocol.lookup_type_reference):

  • inspector/scripts/tests/commands-with-async-attribute.json:
  • inspector/scripts/tests/commands-with-optional-call-return-parameters.json:
  • inspector/scripts/tests/events-with-optional-parameters.json:
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • inspector/scripts/tests/type-declaration-object-type.json:
2:51 PM Changeset in webkit [178605] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Make sure early cancellation of immediate action actually does that in WK1
https://bugs.webkit.org/show_bug.cgi?id=140566
-and corresponding-
rdar://problem/19490114

Reviewed by Tim Horton.

Work around an AppKit bug by dispatching the call to _cancelImmediateAction
asynchronously.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):

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

More WebPageProxy CTTE
https://bugs.webkit.org/show_bug.cgi?id=140565

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionDidClose):
(WebKit::WebPageProxy::connectionWillClose): Deleted.

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

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):

2:13 PM Changeset in webkit [178603] by Brian Burg
  • 21 edits in trunk/Source

Web Replay: purge remaining PassRefPtr uses and minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=140456

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Get rid of PassRefPtr. Introduce default initializers where it makes sense.
Remove mistaken uses of AtomicString that were not removed as part of r174113.

  • replay/EmptyInputCursor.h:
  • replay/InputCursor.h:

(JSC::InputCursor::InputCursor):

Source/WebCore:

Get rid of PassRefPtr. Introduce default initializers where it makes sense. Change
uses of ASSERT to ASSERT_ARG when the assert is a precondition on an argument.

Remove mistaken uses of AtomicString that were not removed as part of r174113.

No new tests, no behavior changed.

  • inspector/InspectorReplayAgent.cpp:

(WebCore::SerializeInputToJSONFunctor::operator()):
(WebCore::SerializeInputToJSONFunctor::returnValue):
(WebCore::InspectorReplayAgent::sessionCreated):
(WebCore::InspectorReplayAgent::sessionModified):
(WebCore::InspectorReplayAgent::sessionLoaded):
(WebCore::InspectorReplayAgent::segmentCreated):
(WebCore::InspectorReplayAgent::segmentCompleted):
(WebCore::InspectorReplayAgent::segmentLoaded):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::findSession):
(WebCore::InspectorReplayAgent::findSegment):

  • inspector/InspectorReplayAgent.h:
  • replay/CapturingInputCursor.cpp:

(WebCore::CapturingInputCursor::CapturingInputCursor):
(WebCore::CapturingInputCursor::create):
(WebCore::CapturingInputCursor::loadInput):

  • replay/CapturingInputCursor.h:
  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):

  • replay/EventLoopInputDispatcher.h:
  • replay/FunctorInputCursor.h:

(WebCore::FunctorInputCursor::FunctorInputCursor):
(WebCore::FunctorInputCursor::loadInput):

  • replay/ReplayController.cpp:

(WebCore::ReplayController::ReplayController):
(WebCore::ReplayController::setForceDeterministicSettings):
(WebCore::ReplayController::setSessionState):
(WebCore::ReplayController::setSegmentState):
(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):
(WebCore::ReplayController::unloadSegment):
(WebCore::ReplayController::frameNavigated):
(WebCore::ReplayController::loadedSession):
(WebCore::ReplayController::loadedSegment):
(WebCore::ReplayController::activeInputCursor):
(WebCore::ReplayController::dispatcher):

  • replay/ReplayController.h:
  • replay/ReplaySession.cpp:

(WebCore::ReplaySession::create):
(WebCore::ReplaySession::at):
(WebCore::ReplaySession::appendSegment):
(WebCore::ReplaySession::insertSegment):
(WebCore::ReplaySession::removeSegment):

  • replay/ReplaySession.h:
  • replay/ReplaySessionSegment.cpp:

(WebCore::ReplaySessionSegment::create):
(WebCore::ReplaySessionSegment::ReplaySessionSegment):

  • replay/ReplaySessionSegment.h:
  • replay/ReplayingInputCursor.cpp:

(WebCore::ReplayingInputCursor::ReplayingInputCursor):
(WebCore::ReplayingInputCursor::create):
(WebCore::ReplayingInputCursor::loadInput):

  • replay/ReplayingInputCursor.h:
  • replay/SegmentedInputStorage.cpp:

(WebCore::SegmentedInputStorage::store):
(WebCore::SegmentedInputStorage::queue):
(WebCore::SegmentedInputStorage::SegmentedInputStorage): Deleted.

  • replay/SegmentedInputStorage.h:
2:05 PM Changeset in webkit [178602] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Remove dead code
https://bugs.webkit.org/show_bug.cgi?id=140563

Reviewed by Geoffrey Garen.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processWillOpenConnection): Deleted.
(WebKit::WebProcessPool::processWillCloseConnection): Deleted.

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

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):

1:58 PM Changeset in webkit [178601] by dbates@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r171968): run-safari --simulator fails to launch Safari on iOS
https://bugs.webkit.org/show_bug.cgi?id=135589

Reviewed by David Kilzer.

Derived from a patch by David Farler.

Following the removal IPhoneSimulatorNotification.pm in <http://trac.webkit.org/changeset/171968>
run-safari --simulator fails to launch Safari on iOS. We need to implement run-safari
in terms of the simctl command line utility.

  • Scripts/webkitdirs.pm: Added constant SIMULATOR_DEVICE_STATE_BOOTED.

(eraseIOSSimulatorDevice): Added.
(bootedIOSSimulatorDevice): Added.
(iosSimulatorApplicationsPath): Added.
(installedMobileSafariBundle): Implemented in terms of iosSimulatorApplicationsPath().
(openIOSSimulator): Modified to launch iOS Simulator using OPEN(1).
(quitIOSSimulator): Added.
(iosSimulatorDeviceByName): Modified to find the first simulator device that matches
the specified name and currently selected iOS runtime.
(isIOSSimulatorSystemInstalledApp): Added.
(runIOSWebKitAppInSimulator): Modified to use simctl launch to launch an app in the simulator.
(deleteiOSSimulatorDevice): Deleted.
(loadIPhoneSimulatorNotificationIfNeeded): Deleted.
(installAndLaunchIOSWebKitAppInSimulator): Deleted.

1:42 PM Changeset in webkit [178600] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove assertion that Page::m_editorClient is non-null.

Unreviewed debug build fix. (It's a reference, it won't be null.)

  • page/Page.cpp:

(WebCore::Page::Page):

1:40 PM Changeset in webkit [178599] by Brian Burg
  • 2 edits
    8 adds in trunk/Source/JavaScriptCore

Web Inspector: code generator should fail on duplicate parameter and member names
https://bugs.webkit.org/show_bug.cgi?id=140555

Reviewed by Timothy Hatcher.

  • inspector/scripts/codegen/models.py:

(find_duplicates): Add a helper function to find duplicates in a list.
(Protocol.parse_type_declaration):
(Protocol.parse_command):
(Protocol.parse_event):

  • inspector/scripts/tests/expected/fail-on-duplicate-command-call-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-command-return-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-event-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-type-member-names.json-error: Added.
  • inspector/scripts/tests/fail-on-duplicate-command-call-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-command-return-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-event-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-type-member-names.json: Added.
1:37 PM Changeset in webkit [178598] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Sprinkle some CTTE in ChildProcessProxy member functions
https://bugs.webkit.org/show_bug.cgi?id=140562

Reviewed by Andreas Kling.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::clearConnection):
(WebKit::ChildProcessProxy::connectionWillOpen):
(WebKit::ChildProcessProxy::connectionDidClose):
(WebKit::ChildProcessProxy::connectionWillClose): Deleted.

  • Shared/ChildProcessProxy.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::connectionWillOpen): Deleted.
(WebKit::DatabaseProcessProxy::connectionWillClose): Deleted.

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

(WebKit::NetworkProcessProxy::connectionWillOpen):
(WebKit::NetworkProcessProxy::connectionWillClose): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):
(WebKit::WebProcessProxy::connectionWillClose): Deleted.

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

(WebKit::SecItemShimProxy::initializeConnection):

  • UIProcess/mac/SecItemShimProxy.h:
1:33 PM Changeset in webkit [178597] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Page::editorClient() should return a reference.
<https://webkit.org/b/140552>

Reviewed by Chris Dumez.

Page always has an EditorClient, so make editorClient() return a reference.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::editorClient):
(WebCore::AlternativeTextController::textChecker):

  • editing/Editor.cpp:

(WebCore::Editor::client):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::client):

  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElement):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::clearUndoRedoOperations):

  • page/Page.h:

(WebCore::Page::editorClient):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

1:25 PM Changeset in webkit [178596] by alex.christensen@flexsim.com
  • 4 edits in trunk/Tools

Resurrect the WinCairo bot.
https://bugs.webkit.org/show_bug.cgi?id=139908

Patch by Alex Christensen <alex.christensen@flexsim.com> on 2015-01-16
Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(appendCustomBuildFlags):

  • BuildSlaveSupport/test-result-archive:

(archiveTestResults):
Add WinCairo buildbot.

1:11 PM Changeset in webkit [178595] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Should cancel immediate action sooner in WK2
https://bugs.webkit.org/show_bug.cgi?id=140561
-and corresponding-
rdar://problem/19490114

Reviewed by Tim Horton.

_cancelImmediateActionIfNeeded will cancel the immediate action if there is no
animation controller or if the DDActionContext doesn’t want to use its actions.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):

Call _cancelImmediateActionIfNeeded to cancel earlier.
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):

Re-factor this code to use the newly-added method _cancelImmediateActionIfNeeded
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

1:04 PM Changeset in webkit [178594] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't try to send SetSession messages before the web page has been constructed in the web process
https://bugs.webkit.org/show_bug.cgi?id=140558

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
We already send the session ID along in the page creation parameters so just message the network process
if we need to create an ephemeral session.

(WebKit::WebPageProxy::setSessionID):
Add an isValid call for good measure.

1:01 PM Changeset in webkit [178593] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Make URL filters case-insensitive by default
https://bugs.webkit.org/show_bug.cgi?id=140531

Reviewed by Andreas Kling.

Safari's filters were case-insensitive. Adopt that convention in the engine,
and add a flag in case someone ever need a case-sensitive filter.

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadTrigger):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::trivialAtomFromASCIICharacter):
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::generateTransition):
(WebCore::ContentExtensions::URLFilterParser::addPattern):

  • contentextensions/URLFilterParser.h:
12:57 PM Changeset in webkit [178592] by benjamin@webkit.org
  • 11 edits
    10 adds in trunk

Add the alternative syntax for CSS Selector's descendant combinator (">>")
https://bugs.webkit.org/show_bug.cgi?id=140525

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-16
Reviewed by Antti Koivisto.

Source/WebCore:

The latest Selector spec introduces the combinator ">>" as an alias for the descendant
relation: http://dev.w3.org/csswg/selectors-4/#descendant-combinators

This patch implements that combinator as an alias of the existing one. For CSSOM's selector
serialization, I use one bit of CSSSelector to store if that alternative syntax was used.

Tests: fast/css/descendant-combinator-doubled-child-syntax-styling.html

fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html
fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html
fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html
fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::appendTagHistory):

  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::setDescendantUseDoubleChildSyntax):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::setDescendantUseDoubleChildSyntax):
(WebCore::CSSSelector::CSSSelector):

LayoutTests:

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/descendant-combinator-doubled-child-syntax-styling-expected.html: Added.
  • fast/css/descendant-combinator-doubled-child-syntax-styling.html: Added.
  • fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/element-closest-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/element-matches-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/querySelector-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html: Added.
12:40 PM Changeset in webkit [178591] by msaboff@apple.com
  • 10 edits
    3 adds in trunk

REGRESSION (r174226): Header on huffingtonpost.com is too large
https://bugs.webkit.org/show_bug.cgi?id=140306

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

BytecodeGenerator::willResolveToArguments() is used to check to see if we can use the
arguments register or whether we need to resolve "arguments". If the arguments have
been captured, then they are stored in the lexical environment and the arguments
register is not used.

Changed BytecodeGenerator::willResolveToArguments() to also check to see if the arguments
register is captured. Renamed the function to willResolveToArgumentsRegister() to
better indicate what we are checking.

Aligned 32 and 64 bit paths in ArgumentsRecoveryGenerator::generateFor() for creating
an arguments object that was optimized out of an inlined callFrame. The 32 bit path
incorrectly calculated the location of the reified callee frame. This alignment resulted
in the removal of operationCreateInlinedArgumentsDuringOSRExit()

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::willResolveToArgumentsRegister):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::willResolveToArguments): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::ArgumentsRecoveryGenerator::generateFor):

  • dfg/DFGOperations.cpp:

(JSC::operationCreateInlinedArgumentsDuringOSRExit): Deleted.

  • dfg/DFGOperations.h:

(JSC::operationCreateInlinedArgumentsDuringOSRExit): Deleted.

LayoutTests:

Updated js/arguments-iterator to test changing argument to array values.
Removed tests that changed arguments to a string and an object as they were
bogus and didn't test what the appeared to test.
for .. of works on iterable objects only.

Added new regression test, js/regress-140306.

  • js/arguments-iterator-expected.txt:
  • js/regress-140306-expected.txt: Added.
  • js/regress-140306.html: Added.
  • js/script-tests/arguments-iterator.js:

(testEmptyArrayArguments):
(testArrayArguments):
(testOverwrittenArguments): Deleted.
(testNullArguments): Deleted.
(testNonArrayLikeArguments): Deleted.

  • js/script-tests/regress-140306.js: Added.

(checkArgs):
(applyToArgs):

12:22 PM Changeset in webkit [178590] by Brent Fulgham
  • 5 edits in branches/safari-600.5-branch/Source/WebCore

Merge r174295. rdar://problem/19501151

2014-09-09 Roger Fong <roger_fong@apple.com>

Unreviewed build fix for Windows.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
12:06 PM Changeset in webkit [178589] by Chris Dumez
  • 3 edits in trunk/Tools

webkit-patch should auto-install the keyring python module
https://bugs.webkit.org/show_bug.cgi?id=140547

Reviewed by David Kilzer.

Auto-install the keyring python module. This is the module that
webkit-patch uses for cross-platform access to the keyring
service.

Without this module, if the password if not in the keychain,
webkit-patch will keep asking for your username / password and
never remember them.

  • Scripts/webkitpy/common/net/credentials.py:
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_keyring):

12:05 PM Changeset in webkit [178588] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[mac] Fix test expectations after r178310.
https://bugs.webkit.org/show_bug.cgi?id=140503

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-01-16
Reviewed by Alexey Proskuryakov.

Remove references to removed tests.

  • platform/mac-wk2/TestExpectations: removed reference to storage/indexeddb/basics-shared-workers.html removed reference to js/dom/global-constructors-attributes-shared-worker.html
  • platform/mac/TestExpectations: removed reference to fast/workers/shared-worker-storagequota-query-usage.html
12:01 PM Changeset in webkit [178587] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Log unhandled messages in the web process
https://bugs.webkit.org/show_bug.cgi?id=140549

Reviewed by Andreas Kling.

  • WebProcess/WebProcess.cpp:

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

11:39 AM Changeset in webkit [178586] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Generate StylePropertyShorthand.* from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140501

Reviewed by Darin Adler.

Add initial support for having makeprop.pl generate most of
StylePropertyShorthand.* from CSSPropertyNames.in.

This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a
more descriptive [Longhands=property1|property2|...] parameter. With
this information, makeprop.pl is now able to generate the
StylePropertyShorthand factories for all CSS shorthand properties
in a new StylePropertyShorthandFunctions.h header.

The switches in StylePropertyShorthand.cpp could also be generated
but this will be taken care of in follow-up patches to reduce patch
size.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

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

(WebCore::StyleProperties::getPropertyValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
(WebCore::backgroundShorthand): Deleted.
(WebCore::backgroundPositionShorthand): Deleted.
(WebCore::backgroundRepeatShorthand): Deleted.
(WebCore::borderShorthand): Deleted.
(WebCore::borderBottomShorthand): Deleted.
(WebCore::borderColorShorthand): Deleted.
(WebCore::borderImageShorthand): Deleted.
(WebCore::borderLeftShorthand): Deleted.
(WebCore::borderRadiusShorthand): Deleted.
(WebCore::webkitBorderRadiusShorthand): Deleted.
(WebCore::borderRightShorthand): Deleted.
(WebCore::borderSpacingShorthand): Deleted.
(WebCore::borderStyleShorthand): Deleted.
(WebCore::borderTopShorthand): Deleted.
(WebCore::borderWidthShorthand): Deleted.
(WebCore::listStyleShorthand): Deleted.
(WebCore::marginShorthand): Deleted.
(WebCore::markerShorthand): Deleted.
(WebCore::outlineShorthand): Deleted.
(WebCore::overflowShorthand): Deleted.
(WebCore::paddingShorthand): Deleted.
(WebCore::transitionShorthand): Deleted.
(WebCore::animationShorthand): Deleted.
(WebCore::webkitAnimationShorthand): Deleted.
(WebCore::webkitBorderAfterShorthand): Deleted.
(WebCore::webkitBorderBeforeShorthand): Deleted.
(WebCore::webkitBorderEndShorthand): Deleted.
(WebCore::webkitBorderStartShorthand): Deleted.
(WebCore::webkitColumnsShorthand): Deleted.
(WebCore::webkitColumnRuleShorthand): Deleted.
(WebCore::flexFlowShorthand): Deleted.
(WebCore::flexShorthand): Deleted.
(WebCore::webkitMarginCollapseShorthand): Deleted.
(WebCore::webkitGridShorthand): Deleted.
(WebCore::webkitGridTemplateShorthand): Deleted.
(WebCore::webkitGridAreaShorthand): Deleted.
(WebCore::webkitGridColumnShorthand): Deleted.
(WebCore::webkitGridRowShorthand): Deleted.
(WebCore::webkitMarqueeShorthand): Deleted.
(WebCore::webkitMaskShorthand): Deleted.
(WebCore::webkitMaskPositionShorthand): Deleted.
(WebCore::webkitMaskRepeatShorthand): Deleted.
(WebCore::webkitTextDecorationShorthand): Deleted.
(WebCore::webkitTextEmphasisShorthand): Deleted.
(WebCore::webkitTextStrokeShorthand): Deleted.
(WebCore::webkitTransitionShorthand): Deleted.
(WebCore::webkitPerspectiveOriginShorthand): Deleted.
(WebCore::webkitTransformOriginShorthand): Deleted.

  • css/StylePropertyShorthand.h:
  • css/makeprop.pl:
11:38 AM Changeset in webkit [178585] by Brent Fulgham
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r174295. rdar://problem/19501151

2014-10-03 Brent Fulgham <Brent Fulgham>

[Win] Unreviewed build fix for MSVC 2013 SP 3.

The std::array initializer is not fully implemented in SP3 and causes a
build error.

  • platform/graphics/transforms/AffineTransform.cpp: Use old style assignment initialization for MSVC builds until this bug is fixed.
11:33 AM Changeset in webkit [178584] by Brent Fulgham
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r173391. rdar://problem/19501151

2014-09-08 peavo@outlook.com <peavo@outlook.com>

[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=136633

Reviewed by Darin Adler.

Enum name has already been defined.

  • platform/audio/AudioHardwareListener.h:

Patch by Brent Fulgham <bfulgham@webkit.org> on 2015-01-16

10:50 AM Changeset in webkit [178583] by commit-queue@webkit.org
  • 11 edits in trunk

Unreviewed, rolling out r178532.
https://bugs.webkit.org/show_bug.cgi?id=140548

Broke fast/css/parsing-css-lang.html on some bots (Requested
by ap on #webkit).

Reverted changeset:

"Canonicalization of :lang() should preserve the :lang()'s
arguments representations"
https://bugs.webkit.org/show_bug.cgi?id=139928
http://trac.webkit.org/changeset/178532

10:36 AM Changeset in webkit [178582] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r178577.
https://bugs.webkit.org/show_bug.cgi?id=140546

Broke fast/css-grid-layout/grid-content-sized-columns-
resolution.html (Requested by ap on #webkit).

Reverted changeset:

"[CSS Grid Layout] Tracks shrink sometimes with indefinite
remaining space"
https://bugs.webkit.org/show_bug.cgi?id=139059
http://trac.webkit.org/changeset/178577

10:15 AM Changeset in webkit [178581] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

std::all_of requires complete C++ iterators in GCC 4.8
https://bugs.webkit.org/show_bug.cgi?id=140530

Reviewed by Darin Adler.

In the WebKit2/UIProcess/WebProcessLifetimeObserver.cpp, std::all_of
is used for HashIterators. However, std::all_of requires the complete
C++ iterator interface including iterator_category typedef member and
it raises compile error in GCC 4.8 (and libstdc++) environment.

This patch inherits std::iterator with appropriate type parameters.
It automatically defines required typedefs including iterator_category.

  • wtf/HashIterators.h:
9:50 AM Changeset in webkit [178580] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Some improvements to RuleSet shrinking.
<https://webkit.org/b/140534>

Reviewed by Antti Koivisto.

Give an inline capacity (1) to the RuleData Vectors in RuleSet.
The vast majority of Vectors have only a single entry, and this
avoids having to allocate a separate Vector backing store for them.

Also make sure to shrink some Vectors that we weren't already,
like those in RuleFeatureSet.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRulesForList):

  • css/ElementRuleCollector.h:
  • css/RuleFeature.cpp:

(WebCore::RuleFeatureSet::shrinkToFit):

  • css/RuleFeature.h:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addToRuleSet):
(WebCore::rulesCountForName):
(WebCore::shrinkMapVectorsToFit):
(WebCore::RuleSet::shrinkToFit):

  • css/RuleSet.h:

(WebCore::RuleSet::idRules):
(WebCore::RuleSet::classRules):
(WebCore::RuleSet::tagRules):
(WebCore::RuleSet::shadowPseudoElementRules):
(WebCore::RuleSet::linkPseudoClassRules):
(WebCore::RuleSet::cuePseudoRules):
(WebCore::RuleSet::focusPseudoClassRules):
(WebCore::RuleSet::universalRules):

9:13 AM Changeset in webkit [178579] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Fix the public iOS SDK build after <http://trac.webkit.org/changeset/178285>
(https://bugs.webkit.org/show_bug.cgi?id=140360)

Forward declare protocol NSURLDownloadDelegate as it is SPI on iOS.

  • Misc/WebDownload.h:
8:07 AM Changeset in webkit [178578] by Antti Koivisto
  • 5 edits
    1 move
    2 deletes in trunk/Source/WebCore

Correct naming for FontCascade implementation files
https://bugs.webkit.org/show_bug.cgi?id=140544

Reviewed by Zalan Bujtas.

Also reduce their number.

Merge FontFastPath.cpp into FontCascade.cpp
Merge FontMac.mm and FontComplexTextMac.cpp into FontCascadeCocoa.mm

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::getEmphasisMarkGlyphData):
(WebCore::FontCascade::emphasisMarkAscent):
(WebCore::FontCascade::emphasisMarkDescent):
(WebCore::FontCascade::emphasisMarkHeight):
(WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText):
(WebCore::FontCascade::drawSimpleText):
(WebCore::FontCascade::drawEmphasisMarksForSimpleText):
(WebCore::FontCascade::drawGlyphBuffer):
(WebCore::offsetToMiddleOfGlyph):
(WebCore::offsetToMiddleOfGlyphAtIndex):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::floatWidthForSimpleText):
(WebCore::FontCascade::adjustSelectionRectForSimpleText):
(WebCore::FontCascade::offsetForPositionForSimpleText):

  • platform/graphics/FontFastPath.cpp: Removed.
  • platform/graphics/cocoa/FontCascadeCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.

(WebCore::FontCascade::drawGlyphs):
(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
(WebCore::FontCascade::floatWidthForComplexText):
(WebCore::FontCascade::offsetForPositionForComplexText):
(WebCore::FontCascade::fontDataForCombiningCharacterSequence):

  • platform/graphics/mac/FontComplexTextMac.cpp: Removed.
  • platform/graphics/mac/FontMac.mm: Removed.
2:22 AM Changeset in webkit [178577] by svillar@igalia.com
  • 12 edits
    2 adds in trunk

[CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
https://bugs.webkit.org/show_bug.cgi?id=139059

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):

LayoutTests:

The third step of the grid track sizing algorithm (method
ComputeUsedBreadthOfGridTracks in the old specs version of the
algorithm) tries to grow all grid tracks until the remaining space
is exhausted. Should the remaining space is undefined we should fill
the tracks up to their limits. This is specified in pseudocode like
this:

For each Grid track t in GridTracks

t.UsedBreadth = t.MaxBreadth

That's correct for most of the cases, but it becomes
wrong whenever t.UsedBreadth > t.MaxBreadth something that is not
incorrect. What we actually want to do is to grow the track to its
maximum if and only if the used breadth is smaller than the maximum.

due to another bug (wkb.ug/139058).

  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
  • fast/css-grid-layout/grid-grow-tracks-to-their-max-expected.txt: Added.
  • fast/css-grid-layout/grid-grow-tracks-to-their-max.html: Added.
  • fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size.html:
12:12 AM Changeset in webkit [178576] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/UIProcess module.
https://bugs.webkit.org/show_bug.cgi?id=140538

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-16
Reviewed by Csaba Osztrogonác.

Fix build warnings by removing parameter name from functions

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::processWillOpenConnection):
(WebKit::StorageManager::processDidCloseConnection):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processWillOpenConnection):
(WebKit::WebProcessPool::processWillCloseConnection):

12:05 AM Changeset in webkit [178575] by Csaba Osztrogonác
  • 162 edits in trunk

Remove ENABLE(SQL_DATABASE) guards
https://bugs.webkit.org/show_bug.cgi?id=140434

Reviewed by Darin Adler.

.:

  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • inspector/protocol/Database.json:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/ChangeVersionData.h:
  • Modules/webdatabase/ChangeVersionWrapper.cpp:
  • Modules/webdatabase/ChangeVersionWrapper.h:
  • Modules/webdatabase/DOMWindowWebDatabase.cpp:
  • Modules/webdatabase/DOMWindowWebDatabase.h:
  • Modules/webdatabase/DOMWindowWebDatabase.idl:
  • Modules/webdatabase/Database.cpp:
  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/Database.idl:
  • Modules/webdatabase/DatabaseBackend.cpp:
  • Modules/webdatabase/DatabaseBackend.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:
  • Modules/webdatabase/DatabaseBackendBase.h:
  • Modules/webdatabase/DatabaseBasicTypes.h:
  • Modules/webdatabase/DatabaseCallback.h:
  • Modules/webdatabase/DatabaseCallback.idl:
  • Modules/webdatabase/DatabaseContext.cpp:
  • Modules/webdatabase/DatabaseContext.h:
  • Modules/webdatabase/DatabaseDetails.h:
  • Modules/webdatabase/DatabaseError.h:
  • Modules/webdatabase/DatabaseManager.cpp:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseManagerClient.h:
  • Modules/webdatabase/DatabaseServer.cpp:
  • Modules/webdatabase/DatabaseServer.h:
  • Modules/webdatabase/DatabaseTask.cpp:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.cpp:
  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:
  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginLock.cpp:
  • Modules/webdatabase/OriginLock.h:
  • Modules/webdatabase/SQLCallbackWrapper.h:
  • Modules/webdatabase/SQLError.h:
  • Modules/webdatabase/SQLError.idl:
  • Modules/webdatabase/SQLException.cpp:
  • Modules/webdatabase/SQLException.h:
  • Modules/webdatabase/SQLException.idl:
  • Modules/webdatabase/SQLResultSet.cpp:
  • Modules/webdatabase/SQLResultSet.h:
  • Modules/webdatabase/SQLResultSet.idl:
  • Modules/webdatabase/SQLResultSetRowList.cpp:
  • Modules/webdatabase/SQLResultSetRowList.h:
  • Modules/webdatabase/SQLResultSetRowList.idl:
  • Modules/webdatabase/SQLStatement.cpp:
  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:
  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLStatementCallback.h:
  • Modules/webdatabase/SQLStatementCallback.idl:
  • Modules/webdatabase/SQLStatementErrorCallback.h:
  • Modules/webdatabase/SQLStatementErrorCallback.idl:
  • Modules/webdatabase/SQLTransaction.cpp:
  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransaction.idl:
  • Modules/webdatabase/SQLTransactionBackend.cpp:
  • Modules/webdatabase/SQLTransactionBackend.h:
  • Modules/webdatabase/SQLTransactionCallback.h:
  • Modules/webdatabase/SQLTransactionCallback.idl:
  • Modules/webdatabase/SQLTransactionClient.cpp:
  • Modules/webdatabase/SQLTransactionClient.h:
  • Modules/webdatabase/SQLTransactionCoordinator.cpp:
  • Modules/webdatabase/SQLTransactionCoordinator.h:
  • Modules/webdatabase/SQLTransactionErrorCallback.h:
  • Modules/webdatabase/SQLTransactionErrorCallback.idl:
  • Modules/webdatabase/SQLTransactionState.h:
  • Modules/webdatabase/SQLTransactionStateMachine.cpp:
  • Modules/webdatabase/SQLTransactionStateMachine.h:
  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::JSCommandLineAPIHost::databaseId):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  • bindings/js/JSExceptionBase.cpp:

(WebCore::toExceptionBase):

  • bindings/js/JSSQLResultSetRowListCustom.cpp:
  • bindings/js/JSSQLTransactionCustom.cpp:
  • bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:

(webkit_dom_test_callback_finalize):
(webkit_dom_test_callback_constructor):
(webkit_dom_test_callback_callback_with_no_param):
(webkit_dom_test_callback_callback_with_array_param):
(webkit_dom_test_callback_callback_with_serialized_script_value_param):
(webkit_dom_test_callback_callback_with_non_bool_return_type):
(webkit_dom_test_callback_callback_with_string_list):
(webkit_dom_test_callback_callback_with_boolean):
(webkit_dom_test_callback_callback_requires_this_to_pass):

  • bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
  • bindings/scripts/test/JS/JSTestCallback.cpp:
  • bindings/scripts/test/JS/JSTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm:
  • bindings/scripts/test/TestCallback.idl:
  • dom/DOMExceptions.in:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::setDatabaseContext):

  • dom/ScriptExecutionContext.h:
  • history/PageCache.cpp:

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

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::CommandLineAPIHost):
(WebCore::CommandLineAPIHost::disconnect):
(WebCore::CommandLineAPIHost::databaseIdImpl):

  • inspector/CommandLineAPIHost.h:

(WebCore::CommandLineAPIHost::init):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):

  • inspector/InspectorInstrumentation.h:
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

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

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

  • page/ChromeClient.h:
  • platform/FeatureCounterKeys.h:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • Storage/WebDatabaseManager.mm:

(databasesDirectoryPath):

  • Storage/WebDatabaseManagerClient.h:
  • Storage/WebDatabaseManagerClient.mm:
  • Storage/WebDatabaseManagerInternal.h:
  • Storage/WebDatabaseManagerPrivate.h:
  • Storage/WebDatabaseQuotaManager.mm:

(-[WebDatabaseQuotaManager usage]):
(-[WebDatabaseQuotaManager quota]):
(-[WebDatabaseQuotaManager setQuota:]):

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:
  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

  • ForEachCoClass.h:
  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::exceededDatabaseQuota):

  • WebCoreSupport/WebChromeClient.h:
  • WebDatabaseManager.cpp:

(WebKitInitializeWebDatabasesIfNecessary):

  • WebDatabaseManager.h:
  • WebSecurityOrigin.cpp:

(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):

  • WebView.cpp:

(WebView::initWithFrame):
(WebView::notifyPreferencesChanged):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/OriginAndDatabases.cpp:
  • Shared/OriginAndDatabases.h:
  • Shared/WebCoreArgumentCoders.cpp:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetDatabaseManager):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerGetTypeID):
(WKDatabaseManagerGetOriginKey):
(WKDatabaseManagerGetOriginQuotaKey):
(WKDatabaseManagerGetOriginUsageKey):
(WKDatabaseManagerGetDatabaseDetailsKey):
(WKDatabaseManagerGetDatabaseDetailsNameKey):
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
(WKDatabaseManagerSetClient):
(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
(WKDatabaseManagerDeleteDatabasesForOrigin):
(WKDatabaseManagerDeleteAllDatabases):
(WKDatabaseManagerSetQuotaForOrigin):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::informDatabaseQuotaReached):

  • UIProcess/WebDatabaseManagerProxy.cpp:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.messages.in:
  • UIProcess/WebProcessPool.cpp:
  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):

  • UIProcess/efl/PageUIClientEfl.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::exceededDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp:
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
Note: See TracTimeline for information about the timeline view.