WebKit-https.git
6 years agoExpose ElementBoundingBox on WKHitTestResult
timothy_horton@apple.com [Wed, 24 Dec 2014 00:13:48 +0000 (00:13 +0000)]
Expose ElementBoundingBox on WKHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=139895
<rdar://problem/19333075>

Reviewed by Dan Bernstein.

* UIProcess/API/C/WKHitTestResult.cpp:
(WKHitTestResultGetElementBoundingBox):
* UIProcess/API/C/WKHitTestResult.h:
Expose the rect.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177704 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSimplify building with ASan
ap@apple.com [Wed, 24 Dec 2014 00:13:16 +0000 (00:13 +0000)]
Simplify building with ASan
https://bugs.webkit.org/show_bug.cgi?id=139916

Reviewed by Mark Rowe.

.:

* Makefile.shared: Invoke set-webkit-configuration to store ASan choice as appropriate.

Tools:

* Scripts/set-webkit-configuration: Store ASan state into a new configuration file.
We could also update Configuration file format, but that's a little scary because
of how many places in code read it.

* Scripts/webkitdirs.pm:
(determineASanIsEnabled): Read it from ASan configuration file.
(argumentsForConfiguration): Added a FIXME.
(asanIsEnabled): A caching wrapper similar to what we have for other configuration options.
(XcodeOptions): Pass the options needed for ASan.

* asan/asan.xcconfig: Use the right toolchains. Made warnings fatal again, as there
no warnings to avoid. Removed explicit linking options, as -fsanitize=address does
that automatically.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177703 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove the custom web page preview code
timothy_horton@apple.com [Wed, 24 Dec 2014 00:13:03 +0000 (00:13 +0000)]
Remove the custom web page preview code
https://bugs.webkit.org/show_bug.cgi?id=139894
<rdar://problem/19333074>

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _dismissContentRelativeChildWindows]):
(-[WKView _viewForPreviewingURL:initialFrameSize:]): Deleted.
(-[WKView _titleForPreviewOfURL:]): Deleted.
(-[WKView _setPreviewTitle:]): Deleted.
(-[WKView _setPreviewLoading:]): Deleted.
(-[WKView _setPreviewOverrideImage:]): Deleted.
(-[WKView _finishPreviewingURL:withPreviewView:]): Deleted.
(-[WKView _handleClickInPreviewView:URL:]): Deleted.
(-[WKView _shouldUseStandardQuickLookPreview]): Deleted.
* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController hidePreview]): Deleted.
(-[WKImmediateActionController setPreviewTitle:]): Deleted.
(-[WKImmediateActionController setPreviewLoading:]): Deleted.
(-[WKImmediateActionController setPreviewOverrideImage:]): Deleted.
(-[WKImmediateActionController _animationControllerForCustomPreview]): Deleted.
* UIProcess/mac/WKPagePreviewViewController.h: Removed.
* UIProcess/mac/WKPagePreviewViewController.mm: Removed.
* UIProcess/mac/WKPreviewPopoverAnimationController.h: Removed.
* UIProcess/mac/WKPreviewPopoverAnimationController.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj:
Remove all of the custom web page preview code. Clients that want the custom
preview can implement it by overriding the immediate action.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177702 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd WebProcessProxy::transformHandlesToObjects
andersca@apple.com [Tue, 23 Dec 2014 23:58:27 +0000 (23:58 +0000)]
Add WebProcessProxy::transformHandlesToObjects
https://bugs.webkit.org/show_bug.cgi?id=139922

Reviewed by Tim Horton.

This will be used to convert between the handles and their respective UI side objects.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::transformHandlesToObjects):
(WebKit::WebProcessProxy::transformObjectsToHandles):
(WebKit::WebProcessProxy::apiObjectByConvertingToHandles): Deleted.
* UIProcess/WebProcessProxy.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177701 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd handle transform functions to WebConnection
andersca@apple.com [Tue, 23 Dec 2014 23:35:33 +0000 (23:35 +0000)]
Add handle transform functions to WebConnection
https://bugs.webkit.org/show_bug.cgi?id=139920

Reviewed by Sam Weinig.

This will be used by the web connection code to convert between objects and their respective handles.

* Shared/WebConnection.h:
* UIProcess/WebConnectionToWebProcess.cpp:
(WebKit::WebConnectionToWebProcess::transformHandlesToObjects):
(WebKit::WebConnectionToWebProcess::transformObjectsToHandles):
* UIProcess/WebConnectionToWebProcess.h:
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::transformHandlesToObjects):
(WebKit::WebConnectionToUIProcess::transformObjectsToHandles):
* WebProcess/WebConnectionToUIProcess.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177700 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRename ImmutableDictionary to API::Dictionary and merge MutableDictionary into it
weinig@apple.com [Tue, 23 Dec 2014 23:07:40 +0000 (23:07 +0000)]
Rename ImmutableDictionary to API::Dictionary and merge MutableDictionary into it
https://bugs.webkit.org/show_bug.cgi?id=139917

Reviewed by Anders Carlsson.

- Renames ImmutableDictionary -> API::Dictionary
- Merges MutableDictionary into the new API::Dictionary
    (as a result WKDictionaryIsMutable() now always returns true)

* File list elided *

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177699 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd WebProcess::transformObjectsToHandles
andersca@apple.com [Tue, 23 Dec 2014 23:06:10 +0000 (23:06 +0000)]
Add WebProcess::transformObjectsToHandles
https://bugs.webkit.org/show_bug.cgi?id=139918

Reviewed by Tim Horton.

This function will be used for transforming bundle objects to their respective handle types
when sending messages to the UI process.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::transformObjectsToHandles):
* WebProcess/WebProcess.h:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::transformObjectsToHandles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177698 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove dynamic_objc_cast to RetainPtr.h
andersca@apple.com [Tue, 23 Dec 2014 22:27:11 +0000 (22:27 +0000)]
Move dynamic_objc_cast to RetainPtr.h
https://bugs.webkit.org/show_bug.cgi?id=139915

Reviewed by Sam Weinig.

Source/WebKit2:

* Shared/mac/ObjCObjectGraph.mm:
(WebKit::dynamic_objc_cast): Deleted.

Source/WTF:

* wtf/RetainPtr.h:
(WTF::dynamic_objc_cast):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177697 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRe-indent RefPtr.h and RetainPtr.h.
andersca@apple.com [Tue, 23 Dec 2014 22:16:46 +0000 (22:16 +0000)]
Re-indent RefPtr.h and RetainPtr.h.

Rubber-stamped by Sam Weinig.

* wtf/RefPtr.h:
* wtf/RetainPtr.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177696 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd WebProcess::transformHandlesToObjects
andersca@apple.com [Tue, 23 Dec 2014 22:14:48 +0000 (22:14 +0000)]
Add WebProcess::transformHandlesToObjects
https://bugs.webkit.org/show_bug.cgi?id=139913

Reviewed by Tim Horton.

Rename objectGraphByTransformingObjectsToHandles to transformObjectsToHandles and add
transformHandlesToObjects that will try to convert handles to the actual bundle type objects.

* WebProcess/WebProcess.h:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::transformObjectsToHandles):
(WebKit::WebProcess::objectGraphByTransformingObjectsToHandles): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177695 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd WebProcess::objectGraphByTransformingObjectsToHandles
andersca@apple.com [Tue, 23 Dec 2014 21:53:07 +0000 (21:53 +0000)]
Add WebProcess::objectGraphByTransformingObjectsToHandles
https://bugs.webkit.org/show_bug.cgi?id=139912

Reviewed by Tim Horton.

This will be used to convert Objective-C object graphs containing bundle types to their handle counterparts.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::transformHandlesToObjects):
(WebKit::WebProcess::apiObjectByConvertingFromHandles): Deleted.
Rename apiObjectByConvertingFromHandles to transformHandlesToObjects.

* WebProcess/WebProcess.h:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::objectGraphByTransformingObjectsToHandles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177694 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix UserMessage::transform to only call shouldTransform once
andersca@apple.com [Tue, 23 Dec 2014 20:44:25 +0000 (20:44 +0000)]
Fix UserMessage::transform to only call shouldTransform once
https://bugs.webkit.org/show_bug.cgi?id=139911

Reviewed by Sam Weinig.

Also, make it possible for transformers to return null objects and change the transformers
to return the passed in object when there's no need to do a transform.

* Shared/UserData.cpp:
(WebKit::transformGraph):
(WebKit::UserData::transform):
(WebKit::UserData::encode): Deleted.
(WebKit::UserData::decode): Deleted.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::apiObjectByConvertingFromHandles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177693 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRename WebContext to WebProcessPool
weinig@apple.com [Tue, 23 Dec 2014 20:29:26 +0000 (20:29 +0000)]
Rename WebContext to WebProcessPool
https://bugs.webkit.org/show_bug.cgi?id=139909

Rubber-stamped by Anders Carlsson.

Source/WebCore:

Merge SessionID and SessionIDHash into one file to make auto-generation of
HashMaps with SessionIDs easier.

* WebCore.xcodeproj/project.pbxproj:
* loader/cache/MemoryCache.h:
* page/SessionID.h:
(WTF::SessionIDHash::hash):
(WTF::SessionIDHash::equal):
(WTF::HashTraits<WebCore::SessionID>::emptyValue):
(WTF::HashTraits<WebCore::SessionID>::constructDeletedValue):
(WTF::HashTraits<WebCore::SessionID>::isDeletedValue):
* page/SessionIDHash.h: Removed.

Source/WebKit2:

- Major renames:
    WebContext -> WebProcessPool
    WebContextConfiguration -> WebProcessPoolConfiguration
    API::ContextConfiguration -> API::ProcessPoolConfiguration

* File list elided *

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177692 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOnly call shouldTransformGraph once per graph
andersca@apple.com [Tue, 23 Dec 2014 20:15:48 +0000 (20:15 +0000)]
Only call shouldTransformGraph once per graph
https://bugs.webkit.org/show_bug.cgi?id=139910

Reviewed by Sam Weinig.

Don't call shouldTransformGraph for each node in the object graph. Instead, call it once
and then transform the entire graph if needed.

* Shared/mac/ObjCObjectGraph.h:
* Shared/mac/ObjCObjectGraph.mm:
(WebKit::shouldTransformGraph):
(WebKit::transformGraph):
(WebKit::ObjCObjectGraph::transform):
(WebKit::shouldTransform): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177691 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTestWebKitAPI build is broken when ASan is enabled
ap@apple.com [Tue, 23 Dec 2014 20:01:42 +0000 (20:01 +0000)]
TestWebKitAPI build is broken when ASan is enabled
https://bugs.webkit.org/show_bug.cgi?id=139902

Reviewed by Darin Adler.

* TestWebKitAPI/Configurations/InjectedBundle.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig:
Inherit linker flags from DebugRelease, which respects ASAN.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoplatform/mac/editing/input/devanagari-ligature.html is flaky on Yosemite, ligature...
mmaxfield@apple.com [Tue, 23 Dec 2014 19:23:48 +0000 (19:23 +0000)]
platform/mac/editing/input/devanagari-ligature.html is flaky on Yosemite, ligature fails to form
https://bugs.webkit.org/show_bug.cgi?id=138683

Reviewed by Darin Adler.

This patch changes how we check fonts for equality. In particular, this patch adds a
objectForEqualityCheck() to Cocoa's FontPlatformData, and callers should pass this object
to CFEqual() to determine if two platform fonts are equal. This patch also migrates all
call sites to using this function.

I don't want to implement operator==() because there are many cases where the same font
is compared against many others, and this solution is cleaner than caching a comparison
object inside the font object itself.

No new tests because this is covered by platform/mac/editing/input/devanagari-ligature.html.

* platform/graphics/FontPlatformData.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::objectForEqualityCheck):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
* platform/spi/cocoa/CoreTextSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[SVG -> OTF Converter] Make Placeholder a move-only type
mmaxfield@apple.com [Tue, 23 Dec 2014 18:45:05 +0000 (18:45 +0000)]
[SVG -> OTF Converter] Make Placeholder a move-only type
https://bugs.webkit.org/show_bug.cgi?id=139870

Reviewed by Anders Carlsson.

No new tests because there is no behavior change.

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
(WebCore::SVGToOTFFontConverter::Placeholder::populate):
(WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177688 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove color CSS properties to the new StyleBuilder
cdumez@apple.com [Tue, 23 Dec 2014 18:37:21 +0000 (18:37 +0000)]
Move color CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139898

Reviewed by Antti Koivisto.

Move color CSS properties to the new StyleBuilder by teaching the
StyleBuilder generator how to handle them.

* css/CSSPropertyNames.in:
- Move color properties to the new StyleBuilder.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::defaultInitialColor): Deleted.
(WebCore::ApplyPropertyColor::applyInheritValue): Deleted.
(WebCore::ApplyPropertyColor::applyInitialValue): Deleted.
(WebCore::ApplyPropertyColor::applyValue): Deleted.
(WebCore::ApplyPropertyColor::applyColorValue): Deleted.
(WebCore::ApplyPropertyColor::createHandler): Deleted.
- Drop color properties support from the DeprecatedStyleBuilder.

* css/makeprop.pl:
- Teach the StyleBuilder generator how to handle color properties.
- Use a class for StyleBuilderFunctions instead of a namespace so
  that it can be made a friend of RenderStyle class.

* rendering/style/RenderStyle.h:
- Mark StyleBuilderFunctions class as friend as its functions
  can set RenderStyle members directly. This is similar to what
  is already done for StyleBuilderCustom class. The new color
  properties handling calls private methods on RenderStyle.
- Mark invalidColor() method as static as it does not require
  an instance.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177687 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIncorrect dashed and dotted border painting.
zalan@apple.com [Tue, 23 Dec 2014 18:04:39 +0000 (18:04 +0000)]
Incorrect dashed and dotted border painting.
https://bugs.webkit.org/show_bug.cgi?id=139872
rdar://problem/18024205

Reviewed by Simon Fraser.

This patch makes dashed/dotted border painting symmetric and consistent.
It also works with subpixel positioning.

Source/WebCore:

Tests: fast/borders/border-painting-correctness-dashed.html
       fast/borders/border-painting-correctness-dotted.html

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLine):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):

LayoutTests:

* fast/borders/border-painting-correctness-dashed-expected.html: Added.
* fast/borders/border-painting-correctness-dashed.html: Added.
* fast/borders/border-painting-correctness-dotted-expected.html: Added.
* fast/borders/border-painting-correctness-dotted.html: Added.
* fast/borders/resources/border-painting-correctness-dashed-expected.png: Added.
* fast/borders/resources/border-painting-correctness-dotted-expected.png: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177686 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse a Transformer for UserData as well, to avoid always copying arrays and dictionaries
andersca@apple.com [Tue, 23 Dec 2014 16:52:54 +0000 (16:52 +0000)]
Use a Transformer for UserData as well, to avoid always copying arrays and dictionaries
https://bugs.webkit.org/show_bug.cgi?id=139896

Reviewed by Darin Adler.

* Shared/UserData.cpp:
(WebKit::shouldTransform):
(WebKit::UserData::transform):
* Shared/UserData.h:
(WebKit::UserData::Transformer::~Transformer):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::apiObjectByConvertingFromHandles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177685 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoediting/spelling/grammar-paste.html is flaky in debug after r177682
g.czajkowski@samsung.com [Tue, 23 Dec 2014 10:29:14 +0000 (10:29 +0000)]
editing/spelling/grammar-paste.html is flaky in debug after r177682
https://bugs.webkit.org/show_bug.cgi?id=139903

Unreviewed gardening.

* TestExpectations:
Mark it as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177684 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd proper expectations for two spelling/ tests after r177682
g.czajkowski@samsung.com [Tue, 23 Dec 2014 09:36:44 +0000 (09:36 +0000)]
Add proper expectations for two spelling/ tests after r177682

Unreviewed gardening.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoshouldBecomeEqual() behaves as shouldBe() if the testing expression returns the expec...
g.czajkowski@samsung.com [Tue, 23 Dec 2014 08:26:49 +0000 (08:26 +0000)]
shouldBecomeEqual() behaves as shouldBe() if the testing expression returns the expected value
https://bugs.webkit.org/show_bug.cgi?id=133939

Reviewed by Darin Adler.

First call of eval(expression) inside shouldBecomeEqual was always
made synchronously. If the testing expression returns the same value
as expected one then shouldBecomeEqual() will immediately report PASS,
for example,

shouldBecomeEqual(internals.hasSpellingMarker("wellcome"), false);

in consequence, assuming asynchronous path of spellchecking, spelling markers
may appear after a while.

The bug was caused by checking a condition at the beginning of shouldBecomeEqual(),
before calling a timer. As a result, queued asynchronous events doesn't effect
this checking.

* TestExpectations:
This fix reveals new bugs in execDeleteCommand() behaviour, two tests need
to marked as failure now.

* resources/js-test-pre.js:
(.condition):
(shouldBecomeEqual):
(shouldBecomeDifferent):
* resources/js-test.js:
(.condition):
(shouldBecomeEqual):
(shouldBecomeDifferent):
Always check a condition on timer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177682 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Log which type of resources are commonly loaded using FeatureCounter
cdumez@apple.com [Tue, 23 Dec 2014 07:28:53 +0000 (07:28 +0000)]
[iOS] Log which type of resources are commonly loaded using FeatureCounter
https://bugs.webkit.org/show_bug.cgi?id=139890

Reviewed by Darin Adler.

Log which type of resources are commonly loaded using FeatureCounter
(e.g. stylesheets, scripts, fonts, images, ...).

* loader/SubresourceLoader.cpp:
(WebCore::logResourceLoadedUsingFeatureCounter):
(WebCore::SubresourceLoader::didFinishLoading):
* platform/FeatureCounterKeys.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177681 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Log using FeatureCounter when a PacheCache fails due to memory pressure
cdumez@apple.com [Tue, 23 Dec 2014 07:23:14 +0000 (07:23 +0000)]
[iOS] Log using FeatureCounter when a PacheCache fails due to memory pressure
https://bugs.webkit.org/show_bug.cgi?id=139874
<rdar://problem/19255690>

Reviewed by Darin Adler.

Log using FeatureCounter when a PacheCache fails due to memory
pressure. To detect this, a flag is added to HistoryItem to mark
items that are no longer in the page becaused they were pruned
(either because of a low memory handling or because the page cache
reached its maximum capacity).

* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
* history/HistoryItem.h:
* history/PageCache.cpp:
(WebCore::PageCache::add):
(WebCore::PageCache::take):
(WebCore::PageCache::get):
(WebCore::PageCache::prune):
* platform/FeatureCounterKeys.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177680 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoplatform/mac-wk2/tiled-drawing/scrolling/frames/frameset-frame-scrollability.html...
ap@apple.com [Tue, 23 Dec 2014 07:17:54 +0000 (07:17 +0000)]
platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-frame-scrollability.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139901

* platform/mac-wk2/TestExpectations: Mark it as such.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177679 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r177658.
commit-queue@webkit.org [Tue, 23 Dec 2014 07:15:54 +0000 (07:15 +0000)]
Unreviewed, rolling out r177658.
https://bugs.webkit.org/show_bug.cgi?id=139900

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

Reverted changeset:

"Incorrect dashed and dotted border painting."
https://bugs.webkit.org/show_bug.cgi?id=139872
http://trac.webkit.org/changeset/177658

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177678 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake it possible to transform Objective-C object graphs, replacing certain elements...
andersca@apple.com [Tue, 23 Dec 2014 03:24:06 +0000 (03:24 +0000)]
Make it possible to transform Objective-C object graphs, replacing certain elements with others
https://bugs.webkit.org/show_bug.cgi?id=139893

Reviewed by Sam Weinig.

* Shared/mac/ObjCObjectGraph.h:
(WebKit::ObjCObjectGraph::Transformer::~Transformer):
* Shared/mac/ObjCObjectGraph.mm:
(WebKit::dynamic_objc_cast):
(WebKit::shouldTransform):
(WebKit::ObjCObjectGraph::transform):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177677 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed build fix after r177661 and r177662
ljaehun.lim@samsung.com [Tue, 23 Dec 2014 03:21:58 +0000 (03:21 +0000)]
Unreviewed build fix after r177661 and r177662

Source/WebCore:

* dom/SecurityOriginPolicy.cpp: Modify #include path.

Source/WebKit2:

* CMakeLists.txt: Add APIPageGroupHandle.cpp to the source list.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177676 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse ctiPatchCallByReturnAddress() in JITOperations.cpp.
mark.lam@apple.com [Tue, 23 Dec 2014 02:48:00 +0000 (02:48 +0000)]
Use ctiPatchCallByReturnAddress() in JITOperations.cpp.
<https://webkit.org/b/139892>

Reviewed by Michael Saboff.

The code in JITOperations.cpp sometimes calls RepatchBuffer::relinkCallerToFunction()
directly, and sometimes uses a helper function, ctiPatchCallByReturnAddress().
This patch changes it to use the helper function consistently.

* jit/JITOperations.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] Engineering builds of WebCore on OS X 10.8 and 10.9 shouldn't build with -gline...
mrowe@apple.com [Tue, 23 Dec 2014 02:24:23 +0000 (02:24 +0000)]
[Mac] Engineering builds of WebCore on OS X 10.8 and 10.9 shouldn't build with -gline-tables-only
<https://webkit.org/b/139883> / <rdar://problem/19297261>

Reviewed by Alexey Proskuryakov.

* Configurations/DebugRelease.xcconfig: Override the setting using conditional settings
so that they take precedence over the conditional settings in Base.xcconfig.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177674 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConvert pages and page groups to their respective handle objects
andersca@apple.com [Tue, 23 Dec 2014 01:59:21 +0000 (01:59 +0000)]
Convert pages and page groups to their respective handle objects
https://bugs.webkit.org/show_bug.cgi?id=139891

Reviewed by Tim Horton.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::apiObjectByConvertingFromHandles):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177673 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Build fix after r177668.
bfulgham@apple.com [Tue, 23 Dec 2014 01:54:09 +0000 (01:54 +0000)]
[Win] Build fix after r177668.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing export definition
for new symbols.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177672 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a bunch of missing header includes in preparation for making toImpl require the...
andersca@apple.com [Tue, 23 Dec 2014 01:32:36 +0000 (01:32 +0000)]
Add a bunch of missing header includes in preparation for making toImpl require the complete type
https://bugs.webkit.org/show_bug.cgi?id=139887

Reviewed by Andreas Kling.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177671 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed build fix.
ap@apple.com [Tue, 23 Dec 2014 01:23:41 +0000 (01:23 +0000)]
Unreviewed build fix.

* WebCore.exp.in: Move SQLiteDatabaseTracker::setClient export out of PLATFORM(IOS) section.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177670 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove two functions from SecurityOrigin
andersca@apple.com [Tue, 23 Dec 2014 00:54:18 +0000 (00:54 +0000)]
Remove two functions from SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=139885

Reviewed by Andreas Kling.

* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::canAccessPasswordManager): Deleted.
(WebCore::SecurityOrigin::canAccessFileSystem): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177668 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix some typos in a comment.
mark.lam@apple.com [Tue, 23 Dec 2014 00:50:24 +0000 (00:50 +0000)]
Fix some typos in a comment.
<https://webkit.org/b/139882>

Reviewed by Michael Saboff.

* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177667 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Log using FeatureCounter user-triggered zooming
cdumez@apple.com [Tue, 23 Dec 2014 00:48:55 +0000 (00:48 +0000)]
[iOS] Log using FeatureCounter user-triggered zooming
https://bugs.webkit.org/show_bug.cgi?id=139879
<rdar://problem/19329130>

Reviewed by Benjamin Poulain.

Log using FeatureCounter user-triggered zooming on iOS.

Source/WebCore:

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/FeatureCounter.h:
* platform/FeatureCounterKeys.h:

Source/WebKit2:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::willStartUserTriggeredZooming):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177666 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoForm elements should match :valid and :invalid based on their associated elements
benjamin@webkit.org [Tue, 23 Dec 2014 00:38:52 +0000 (00:38 +0000)]
Form elements should match :valid and :invalid based on their associated elements
https://bugs.webkit.org/show_bug.cgi?id=139850

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-22
Reviewed by Darin Adler.

Source/WebCore:

In the latest HTML spec, form elements can match :valid or :invalid based
on their associated element.

The tricky part is that object lifetime is a mess. When elements are associated
with forms by the parser, the form is set by the constructor of HTMLFormControlElement.
At that point, the real object has not been initialized yet which
makes it impossible to find its validity.

To work around the lifetime problem, the code of HTMLFormControlElement::didChangeForm()
uses m_willValidateInitialized and m_willValidate direclty instead
of invoking willValidate(). That way we don't try to validate an incomplete object.

When the object really validates, HTMLFormControlElement::setNeedsWillValidateCheck()
takes care of updating the form.

Tests: fast/css/pseudo-invalid-form-and-fieldset-basics.html
       fast/css/pseudo-invalid-form-basics.html
       fast/css/pseudo-invalid-form-dynamically-created-basics.html
       fast/css/pseudo-invalid-form-invalidation-optimization.html
       fast/css/pseudo-valid-form-and-fieldset-basics.html
       fast/css/pseudo-valid-form-basics.html
       fast/css/pseudo-valid-form-dynamically-created-basics.html
       fast/css/pseudo-valid-form-invalidation-optimization.html
       fast/selectors/invalid-form-style-update-1.html
       fast/selectors/invalid-form-style-update-2.html
       fast/selectors/invalid-form-style-update-3.html
       fast/selectors/valid-form-style-update-1.html
       fast/selectors/valid-form-style-update-2.html
       fast/selectors/valid-form-style-update-3.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithControl):
(WebCore::StyleResolver::canShareStyleWithElement):
HTMLFormElement is not a FormControl, we have to generalize the test
for :valid/:invalid with style sharing.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::~HTMLFormControlElement):
Since we now have willChangeForm(), didChangeForm(), we have to null
the form ourself, as documented by FormAssociatedElement.

(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
(WebCore::HTMLFormControlElement::willChangeForm):
(WebCore::HTMLFormControlElement::didChangeForm):
(WebCore::HTMLFormControlElement::updateValidity):
Update the owner form when any of the associated form element changes
to invalid.

* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::registerInvalidAssociatedFormControl):
(WebCore::HTMLFormElement::removeInvalidAssociatedFormControlIfNeeded):
(WebCore::HTMLFormElement::matchesValidPseudoClass):
(WebCore::HTMLFormElement::matchesInvalidPseudoClass):
This is very similar to the code of fieldset, but we have much weaker
invariants due to the insane way FormAssociatedElement initializes.

* html/HTMLFormElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::initializeInputType):
For completeness, we should always validate when changing the type.
The code was only doing that when the element was inserted into the tree,
that was too fragile.

LayoutTests:

The style update tests are largely based on the fieldset test suite.
The other tests are for various aspects of the patch.

* fast/css/pseudo-invalid-form-and-fieldset-basics-expected.html: Added.
* fast/css/pseudo-invalid-form-and-fieldset-basics.html: Added.
* fast/css/pseudo-invalid-form-basics-expected.html: Added.
* fast/css/pseudo-invalid-form-basics.html: Added.
* fast/css/pseudo-invalid-form-dynamically-created-basics-expected.html: Added.
* fast/css/pseudo-invalid-form-dynamically-created-basics.html: Added.
* fast/css/pseudo-invalid-form-invalidation-optimization-expected.txt: Added.
* fast/css/pseudo-invalid-form-invalidation-optimization.html: Added.
* fast/css/pseudo-valid-form-and-fieldset-basics-expected.html: Added.
* fast/css/pseudo-valid-form-and-fieldset-basics.html: Added.
* fast/css/pseudo-valid-form-basics-expected.html: Added.
* fast/css/pseudo-valid-form-basics.html: Added.
* fast/css/pseudo-valid-form-dynamically-created-basics-expected.html: Added.
* fast/css/pseudo-valid-form-dynamically-created-basics.html: Added.
* fast/css/pseudo-valid-form-invalidation-optimization-expected.txt: Added.
* fast/css/pseudo-valid-form-invalidation-optimization.html: Added.
* fast/selectors/invalid-form-style-update-1-expected.txt: Added.
* fast/selectors/invalid-form-style-update-1.html: Added.
* fast/selectors/invalid-form-style-update-2-expected.txt: Added.
* fast/selectors/invalid-form-style-update-2.html: Added.
* fast/selectors/invalid-form-style-update-3-expected.txt: Added.
* fast/selectors/invalid-form-style-update-3.html: Added.
* fast/selectors/valid-form-style-update-1-expected.txt: Added.
* fast/selectors/valid-form-style-update-1.html: Added.
* fast/selectors/valid-form-style-update-2-expected.txt: Added.
* fast/selectors/valid-form-style-update-2.html: Added.
* fast/selectors/valid-form-style-update-3-expected.txt: Added.
* fast/selectors/valid-form-style-update-3.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177664 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry to fix the Windows build.
andersca@apple.com [Tue, 23 Dec 2014 00:02:45 +0000 (00:02 +0000)]
Try to fix the Windows build.

* dom/DOMAllInOne.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177663 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd an API::PageGroupHandle object
andersca@apple.com [Mon, 22 Dec 2014 23:56:22 +0000 (23:56 +0000)]
Add an API::PageGroupHandle object
https://bugs.webkit.org/show_bug.cgi?id=139881

Reviewed by Sam Weinig.

API::PageGroupHandle won't be exposed to any API, it will only be used to facilitate passing page groups
between the UI and web process inside UserData objects.

* Shared/API/APIObject.h:
* Shared/API/APIPageGroupHandle.cpp: Added.
(API::PageGroupHandle::create):
(API::PageGroupHandle::~PageGroupHandle):
(API::PageGroupHandle::PageGroupHandle):
* Shared/API/APIPageGroupHandle.h: Added.
(API::PageGroupHandle::webPageGroupData):
* Shared/UserData.cpp:
(WebKit::UserData::UserData):
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* Shared/UserData.h:
* UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::data):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177662 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a SecurityOriginPolicy class
andersca@apple.com [Mon, 22 Dec 2014 23:42:30 +0000 (23:42 +0000)]
Add a SecurityOriginPolicy class
https://bugs.webkit.org/show_bug.cgi?id=139875

Reviewed by Sam Weinig.

This is the first step towards making SecurityOrigin immutable. SecurityOriginPolicy will hold a
SecurityOrigin and will handle things that would otherwise mutate SecurityOrigin.

* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
* dom/Document.cpp:
(WebCore::Document::create):
(WebCore::Document::open):
(WebCore::Document::cloneDataFromDocument):
(WebCore::Document::initSecurityContext):
* dom/ScriptExecutionContext.h:
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::setSecurityOriginPolicy):
(WebCore::SecurityContext::securityOrigin):
(WebCore::SecurityContext::isSecureTransitionTo):
(WebCore::SecurityContext::enforceSandboxFlags):
(WebCore::SecurityContext::setSecurityOrigin): Deleted.
* dom/SecurityContext.h:
(WebCore::SecurityContext::securityOriginPolicy):
(WebCore::SecurityContext::securityOrigin): Deleted.
* dom/SecurityOriginPolicy.cpp: Added.
(WebCore::SecurityOriginPolicy::create):
(WebCore::SecurityOriginPolicy::SecurityOriginPolicy):
(WebCore::SecurityOriginPolicy::~SecurityOriginPolicy):
* dom/SecurityOriginPolicy.h: Added.
(WebCore::SecurityOriginPolicy::origin):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
* xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::transformDocumentToTreeView):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177661 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agocompositing/rtl/rtl-fixed-overflow-scrolled.html had a 1600x1200 expected PNG
ap@apple.com [Mon, 22 Dec 2014 23:30:29 +0000 (23:30 +0000)]
compositing/rtl/rtl-fixed-overflow-scrolled.html had a 1600x1200 expected PNG
accidentally checked in, let's land 800x600 again.

* platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177660 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSort the Xcode project file.
simon.fraser@apple.com [Mon, 22 Dec 2014 23:27:49 +0000 (23:27 +0000)]
Sort the Xcode project file.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177659 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoIncorrect dashed and dotted border painting.
zalan@apple.com [Mon, 22 Dec 2014 23:18:59 +0000 (23:18 +0000)]
Incorrect dashed and dotted border painting.
https://bugs.webkit.org/show_bug.cgi?id=139872
rdar://problem/18024205

Reviewed by Simon Fraser.

This patch makes dashed/dotted border painting symmetric and consistent.
It also works with subpixel positioning.

Source/WebCore:

Tests: fast/borders/border-painting-correctness-dashed.html
       fast/borders/border-painting-correctness-dotted.html

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLine):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):

LayoutTests:

* fast/borders/border-painting-correctness-dashed-expected.html: Added.
* fast/borders/border-painting-correctness-dashed.html: Added.
* fast/borders/border-painting-correctness-dotted-expected.html: Added.
* fast/borders/border-painting-correctness-dotted.html: Added.
* fast/borders/resources/border-painting-correctness-dashed-expected.png: Added.
* fast/borders/resources/border-painting-correctness-dotted-expected.png: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177658 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAssert that Array elements not copied when changing shape to ArrayStorage type are...
mark.lam@apple.com [Mon, 22 Dec 2014 23:09:22 +0000 (23:09 +0000)]
Assert that Array elements not copied when changing shape to ArrayStorage type are indeed holes.
<https://webkit.org/b/138118>

Reviewed by Michael Saboff.

* runtime/JSObject.cpp:
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177657 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTextIndicatorWindow is larger than it needs to be, especially when not bouncing
timothy_horton@apple.com [Mon, 22 Dec 2014 22:17:42 +0000 (22:17 +0000)]
TextIndicatorWindow is larger than it needs to be, especially when not bouncing
https://bugs.webkit.org/show_bug.cgi?id=139876
<rdar://problem/19311017>

Reviewed by Sam Weinig.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::wantsBounce):
(WebCore::TextIndicator::wantsContentCrossfade):
(WebCore::TextIndicator::wantsFadeIn):
* page/TextIndicator.h:
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(-[WebTextIndicatorView _animationDuration]):
(-[WebTextIndicatorView present]):
(WebCore::TextIndicatorWindow::setTextIndicator):
(-[WebTextIndicatorView _textIndicatorWantsBounce]): Deleted.
(-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]): Deleted.
(-[WebTextIndicatorView _textIndicatorWantsFadeIn]): Deleted.
Move the various switches over TextIndicatorPresentationTransition into TextIndicator.
Adjust the margin; only inflate by the shadow if we're not bouncing.
If we are bouncing, fix the math to more tightly fit the bounce.
Previously we were inflating by way too much, and even when we didn't need to.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177656 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate apple-mac-114 to bot629.
lforschler@apple.com [Mon, 22 Dec 2014 21:45:18 +0000 (21:45 +0000)]
Update apple-mac-114 to bot629.

Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/config.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177655 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoReplace Apple bot104 with bot124.
lforschler@apple.com [Mon, 22 Dec 2014 21:37:59 +0000 (21:37 +0000)]
Replace Apple bot104 with bot124.

Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/config.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177654 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html is flaky
ap@apple.com [Mon, 22 Dec 2014 21:20:23 +0000 (21:20 +0000)]
REGRESSION: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139840

* TestExpectations: Marking as such.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177653 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the iOS build after <https://trac.webkit.org/changeset/177639>
dbates@webkit.org [Mon, 22 Dec 2014 21:12:43 +0000 (21:12 +0000)]
Fix the iOS build after <https://trac.webkit.org/changeset/177639>
(https://bugs.webkit.org/show_bug.cgi?id=139866)

Substitute APISecurityOrigin.h for WebSecurityOrigin.h as the latter was renamed to the former.

* UIProcess/ios/WKGeolocationProviderIOS.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177652 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURTBF after r177649.
ossy@webkit.org [Mon, 22 Dec 2014 20:55:48 +0000 (20:55 +0000)]
URTBF after r177649.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLast URTBF after r177639, GTK builds now.
ossy@webkit.org [Mon, 22 Dec 2014 20:48:53 +0000 (20:48 +0000)]
Last URTBF after r177639, GTK builds now.

* UIProcess/API/gtk/WebKitJavascriptResult.cpp:
* UIProcess/API/gtk/WebKitUIClient.cpp:
* UIProcess/API/gtk/WebKitUserContentManager.cpp:
* UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
(webkitUserMediaPermissionRequestCreate):
* UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewRunJavaScriptCallback):
(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove more API classes from Shared to Shared/API.
andersca@apple.com [Mon, 22 Dec 2014 20:39:02 +0000 (20:39 +0000)]
Move more API classes from Shared to Shared/API.

Rubber-stamped by Sam Weinig.

* Shared/API/APIArray.cpp: Renamed from Source/WebKit2/Shared/APIArray.cpp.
* Shared/API/APIArray.h: Renamed from Source/WebKit2/Shared/APIArray.h.
* Shared/API/APIClient.h: Renamed from Source/WebKit2/Shared/APIClient.h.
* Shared/API/APIData.cpp: Renamed from Source/WebKit2/Shared/APIData.cpp.
* Shared/API/APIData.h: Renamed from Source/WebKit2/Shared/APIData.h.
* Shared/API/APIError.cpp: Renamed from Source/WebKit2/Shared/APIError.cpp.
* Shared/API/APIError.h: Renamed from Source/WebKit2/Shared/APIError.h.
* Shared/API/APIFrameHandle.cpp: Renamed from Source/WebKit2/Shared/APIFrameHandle.cpp.
* Shared/API/APIFrameHandle.h: Renamed from Source/WebKit2/Shared/APIFrameHandle.h.
* Shared/API/APIGeometry.cpp: Renamed from Source/WebKit2/Shared/APIGeometry.cpp.
* Shared/API/APIGeometry.h: Renamed from Source/WebKit2/Shared/APIGeometry.h.
* Shared/API/APINumber.h: Renamed from Source/WebKit2/Shared/APINumber.h.
* Shared/API/APIObject.cpp: Renamed from Source/WebKit2/Shared/APIObject.cpp.
* Shared/API/APIObject.h: Renamed from Source/WebKit2/Shared/APIObject.h.
* Shared/API/APIPageHandle.cpp: Renamed from Source/WebKit2/Shared/APIPageHandle.cpp.
* Shared/API/APIPageHandle.h: Renamed from Source/WebKit2/Shared/APIPageHandle.h.
* Shared/API/APIString.h: Renamed from Source/WebKit2/Shared/APIString.h.
* Shared/API/APIURL.h: Renamed from Source/WebKit2/Shared/APIURL.h.
* Shared/API/APIURLRequest.cpp: Renamed from Source/WebKit2/Shared/APIURLRequest.cpp.
* Shared/API/APIURLRequest.h: Renamed from Source/WebKit2/Shared/APIURLRequest.h.
* Shared/API/APIURLResponse.cpp: Renamed from Source/WebKit2/Shared/APIURLResponse.cpp.
* Shared/API/APIURLResponse.h: Renamed from Source/WebKit2/Shared/APIURLResponse.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate some inspector test expectations for the new timeout detection.
ap@apple.com [Mon, 22 Dec 2014 20:13:12 +0000 (20:13 +0000)]
Update some inspector test expectations for the new timeout detection.
Also, unmarked some tests that appear stable on bots now.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Log using FeatureCounter when a PacheCache entry is not reused because it expired
cdumez@apple.com [Mon, 22 Dec 2014 20:13:07 +0000 (20:13 +0000)]
[iOS] Log using FeatureCounter when a PacheCache entry is not reused because it expired
https://bugs.webkit.org/show_bug.cgi?id=139869
<rdar://problem/19255690>

Reviewed by Darin Adler.

Log using FeatureCounter when a PacheCache entry is not reused because
it expired.

* history/PageCache.cpp:
(WebCore::PageCache::take):
(WebCore::PageCache::get):
* history/PageCache.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::loadDifferentDocumentItem):
* loader/HistoryController.cpp:
(WebCore::HistoryController::invalidateCurrentItemCachedPage):
* platform/FeatureCounterKeys.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOne more URTBF after r177639 to try to make GTK happy.
ossy@webkit.org [Mon, 22 Dec 2014 20:13:02 +0000 (20:13 +0000)]
One more URTBF after r177639 to try to make GTK happy.

* UIProcess/API/gtk/WebKitUserContentManager.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURTBF after r177639 to try to make GTK happy.
ossy@webkit.org [Mon, 22 Dec 2014 20:08:08 +0000 (20:08 +0000)]
URTBF after r177639 to try to make GTK happy.

* UIProcess/API/gtk/WebKitJavascriptResult.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry to fix the windows build.
antti@apple.com [Mon, 22 Dec 2014 20:05:00 +0000 (20:05 +0000)]
Try to fix the windows build.

* platform/graphics/win/SimpleFontDataCGWin.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdjust TextIndicator shadow parameters
timothy_horton@apple.com [Mon, 22 Dec 2014 19:56:38 +0000 (19:56 +0000)]
Adjust TextIndicator shadow parameters
https://bugs.webkit.org/show_bug.cgi?id=139871
<rdar://problem/19283300>

Reviewed by Sam Weinig.

* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
Slightly adjust the shadow and bounce size.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURTBF after r177639.
ossy@webkit.org [Mon, 22 Dec 2014 19:47:32 +0000 (19:47 +0000)]
URTBF after r177639.

* TestWebKitAPI/CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRename a bunch of API classes and move them to Shared/API
andersca@apple.com [Mon, 22 Dec 2014 19:27:07 +0000 (19:27 +0000)]
Rename a bunch of API classes and move them to Shared/API
https://bugs.webkit.org/show_bug.cgi?id=139866

Reviewed by Sam Weinig.

* Shared/API/APISecurityOrigin.h: Renamed from Source/WebKit2/Shared/WebSecurityOrigin.h.
(API::SecurityOrigin::createFromString):
(API::SecurityOrigin::create):
(API::SecurityOrigin::securityOrigin):
(API::SecurityOrigin::SecurityOrigin):
* Shared/API/APISerializedScriptValue.h: Renamed from Source/WebKit2/Shared/WebSerializedScriptValue.h.
(API::SerializedScriptValue::create):
(API::SerializedScriptValue::adopt):
(API::SerializedScriptValue::deserialize):
(API::SerializedScriptValue::dataReference):
(API::SerializedScriptValue::internalRepresentation):
(API::SerializedScriptValue::SerializedScriptValue):
* Shared/API/APIUserContentURLPattern.h: Renamed from Source/WebKit2/Shared/WebUserContentURLPattern.h.
(API::UserContentURLPattern::create):
(API::UserContentURLPattern::host):
(API::UserContentURLPattern::scheme):
(API::UserContentURLPattern::isValid):
(API::UserContentURLPattern::matchesURL):
(API::UserContentURLPattern::matchesSubdomains):
(API::UserContentURLPattern::patternString):
(API::UserContentURLPattern::UserContentURLPattern):
* Shared/API/c/WKSecurityOrigin.cpp:
(WKSecurityOriginGetTypeID):
(WKSecurityOriginCreateFromString):
(WKSecurityOriginCreateFromDatabaseIdentifier):
(WKSecurityOriginCreate):
* Shared/API/c/WKSerializedScriptValue.cpp:
(WKSerializedScriptValueGetTypeID):
(WKSerializedScriptValueCreate):
(WKSerializedScriptValueCreateWithInternalRepresentation):
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedAPI):
* Shared/API/c/WKUserContentURLPattern.cpp:
(WKUserContentURLPatternGetTypeID):
(WKUserContentURLPatternCreate):
* Shared/SecurityOriginData.cpp:
(WebKit::performAPICallbackWithSecurityOriginDataVector):
* Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* UIProcess/API/APIUIClient.h:
(API::UIClient::exceededDatabaseQuota):
(API::UIClient::decidePolicyForGeolocationPermissionRequest):
(API::UIClient::decidePolicyForUserMediaPermissionRequest):
(API::UIClient::decidePolicyForNotificationPermissionRequest):
* UIProcess/API/C/WKNotification.cpp:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView evaluateJavaScript:completionHandler:]):
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
* UIProcess/GenericCallback.h:
* UIProcess/Notifications/WebNotification.cpp:
(WebKit::WebNotification::WebNotification):
* UIProcess/Notifications/WebNotification.h:
(WebKit::WebNotification::origin):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* UIProcess/Notifications/WebNotificationProvider.cpp:
* UIProcess/Notifications/WebNotificationProvider.h:
* UIProcess/PageClient.h:
(WebKit::PageClient::decidePolicyForGeolocationPermissionRequest):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
* UIProcess/WebApplicationCacheManagerProxy.h:
* UIProcess/WebCookieManagerProxy.cpp:
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
(WebKit::WebDatabaseManagerProxy::didModifyOrigin):
(WebKit::WebDatabaseManagerProxy::didModifyDatabase):
* UIProcess/WebDatabaseManagerProxy.h:
* UIProcess/WebDatabaseManagerProxyClient.cpp:
(WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
(WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
* UIProcess/WebDatabaseManagerProxyClient.h:
* UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
* UIProcess/WebKeyValueStorageManager.h:
* UIProcess/WebMediaCacheManagerProxy.cpp:
* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::WebOriginDataManagerProxy::didGetOrigins):
(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
* UIProcess/WebOriginDataManagerProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::scriptValueCallback):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
(WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
(WebKit::WebPageProxy::requestNotificationPermission):
* UIProcess/WebPageProxy.h:
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
* UIProcess/WebResourceCacheManagerProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
* UIProcess/ios/WKContentView.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
(API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota):
(API::InjectedBundle::PageUIClient::didExceedDatabaseQuota):
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
(WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota):
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConsistently use "FeatureCounter*Key" naming for FeatureCounter keys
cdumez@apple.com [Mon, 22 Dec 2014 19:21:54 +0000 (19:21 +0000)]
Consistently use "FeatureCounter*Key" naming for FeatureCounter keys
https://bugs.webkit.org/show_bug.cgi?id=139867

Reviewed by Darin Adler.

Consistently use "FeatureCounter*Key" naming for FeatureCounter keys.

* loader/FrameLoader.cpp:
(WebCore::logNavigationWithFeatureCounter):
* platform/FeatureCounterKeys.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177638 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGeneric font code should not know about SVG font missing glyph
antti@apple.com [Mon, 22 Dec 2014 19:14:58 +0000 (19:14 +0000)]
Generic font code should not know about SVG font missing glyph
https://bugs.webkit.org/show_bug.cgi?id=139864

Reviewed by Andreas Kling and Myles Maxfield.

The defined missing glyph is an SVG font concept and should be handled in SVG code.

* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForVariant):

    Return null glyph instead of the missing glyph (the missing glyph was already a null glyph in all non-svg-font cases).
    Use early return style.

* platform/graphics/FontGlyphs.h:
* platform/graphics/SegmentedFontData.cpp:
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::platformGlyphInit):
* platform/graphics/SimpleFontData.h:

    Remove the missingGlyph member.

* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):

    Explicitly skip over null glyphs. Before they had non-null fontData and would get skipped implicitly.

* platform/graphics/mac/SimpleFontDataMac.mm:
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::missingGlyphForFont):

    Get the missing glyph from the SVG font element.

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

    Return the missing glyph if the normal lookup didn't produce results.

* svg/SVGFontData.cpp:
(WebCore::SVGFontData::initializeFontData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAllow the WebContext's history client to coexist with WKWebView's history delegate
weinig@apple.com [Mon, 22 Dec 2014 19:04:45 +0000 (19:04 +0000)]
Allow the WebContext's history client to coexist with WKWebView's history delegate
https://bugs.webkit.org/show_bug.cgi?id=139857

Reviewed by Anders Carlsson.

- Renames API::HistoryClient to API::LegacyContextHistoryClient to make it clear what it is for.
- Re-routes the history client functions from the WebProcessProxy to the WebPageProxy.
- Add history client functions to API::LoaderClient and implement them for NavigationState's
  LoaderClient subclass. Removes the need for WKProcessPool to have to setup a history client and
  forward to the NavigationState.

* UIProcess/API/APIHistoryClient.h: Removed.
* UIProcess/API/APILegacyContextHistoryClient.h: Copied from Source/WebKit2/UIProcess/API/APIHistoryClient.h.
(API::LegacyContextHistoryClient::~LegacyContextHistoryClient):
(API::LegacyContextHistoryClient::didNavigateWithNavigationData):
(API::LegacyContextHistoryClient::didPerformClientRedirect):
(API::LegacyContextHistoryClient::didPerformServerRedirect):
(API::LegacyContextHistoryClient::didUpdateHistoryTitle):
(API::LegacyContextHistoryClient::populateVisitedLinks):
(API::HistoryClient::~HistoryClient): Deleted.
(API::HistoryClient::didNavigateWithNavigationData): Deleted.
(API::HistoryClient::didPerformClientRedirect): Deleted.
(API::HistoryClient::didPerformServerRedirect): Deleted.
(API::HistoryClient::didUpdateHistoryTitle): Deleted.
(API::HistoryClient::populateVisitedLinks): Deleted.
* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didNavigateWithNavigationData):
(API::LoaderClient::didPerformClientRedirect):
(API::LoaderClient::didPerformServerRedirect):
(API::LoaderClient::didUpdateHistoryTitle):
* UIProcess/API/C/WKContext.cpp:
(WKContextSetHistoryClient):
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
* UIProcess/API/mac/WKView.mm:
* UIProcess/Cocoa/HistoryClient.h: Removed.
* UIProcess/Cocoa/HistoryClient.mm: Removed.
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::LoaderClient::didNavigateWithNavigationData):
(WebKit::NavigationState::LoaderClient::didPerformClientRedirect):
(WebKit::NavigationState::LoaderClient::didPerformServerRedirect):
(WebKit::NavigationState::LoaderClient::didUpdateHistoryTitle):
(WebKit::NavigationState::didNavigateWithNavigationData): Deleted.
(WebKit::NavigationState::didPerformClientRedirect): Deleted.
(WebKit::NavigationState::didPerformServerRedirect): Deleted.
(WebKit::NavigationState::didUpdateHistoryTitle): Deleted.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::populateVisitedLinks):
* UIProcess/WebContext.h:
(WebKit::WebContext::historyClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didNavigateWithNavigationData):
(WebKit::WebPageProxy::didPerformClientRedirect):
(WebKit::WebPageProxy::didPerformServerRedirect):
(WebKit::WebPageProxy::didUpdateHistoryTitle):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didNavigateWithNavigationData): Deleted.
(WebKit::WebProcessProxy::didPerformClientRedirect): Deleted.
(WebKit::WebProcessProxy::didPerformServerRedirect): Deleted.
(WebKit::WebProcessProxy::didUpdateHistoryTitle): Deleted.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::updateGlobalHistory):
(WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebKit::WebFrameLoaderClient::setTitle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177636 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove a Slow expectation for js/promises-tests/promises-tests-2-3-3.html,
ap@apple.com [Mon, 22 Dec 2014 18:40:17 +0000 (18:40 +0000)]
Remove a Slow expectation for js/promises-tests/promises-tests-2-3-3.html,
as we now skip the test.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] another outdated comment
commit-queue@webkit.org [Mon, 22 Dec 2014 18:15:39 +0000 (18:15 +0000)]
[GTK] another outdated comment
https://bugs.webkit.org/show_bug.cgi?id=139863

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2014-12-22
Reviewed by Darin Adler.

Remove outdated comment. We nowadays block untrusted connections by
default.

* WebProcess/gtk/WebProcessMainGtk.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agojs/promises-tests/promises-tests-2-3-3.html sometimes crashes under DFG::SpeculativeJ...
ap@apple.com [Mon, 22 Dec 2014 17:39:09 +0000 (17:39 +0000)]
js/promises-tests/promises-tests-2-3-3.html sometimes crashes under DFG::SpeculativeJIT::compile
https://bugs.webkit.org/show_bug.cgi?id=139865
rdar://problem/19326058

* TestExpectations: Skip it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] MiniBrowser steals web view's focus
g.czajkowski@samsung.com [Mon, 22 Dec 2014 15:30:08 +0000 (15:30 +0000)]
[EFL] MiniBrowser steals web view's focus
https://bugs.webkit.org/show_bug.cgi?id=139482

Reviewed by Gyuyoung Kim.

Although we set focus on ewk_view while MiniBrowser initialization
Ecore steals it in a favor of main window. As a result
focused element on web page is unable to receive events.

* MiniBrowser/efl/main.c:
(window_create):
Prevent window from stealing web view's focus on start up.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177632 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Grid Layout] Get rid of legacy WebKitCSSGridLayoutEnabled
rego@igalia.com [Mon, 22 Dec 2014 11:31:47 +0000 (11:31 +0000)]
[CSS Grid Layout] Get rid of legacy WebKitCSSGridLayoutEnabled
https://bugs.webkit.org/show_bug.cgi?id=139860

Reviewed by Sergio Villar Senin.

Remove the missing bits regarding WebKitCSSGridLayoutEnabled.
Most of it was already removed in r168416.

* fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html:
* fast/css-grid-layout/grid-shorthand-get-set.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177631 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove "Auto" CSS properties to the new StyleBuilder
cdumez@apple.com [Mon, 22 Dec 2014 10:38:57 +0000 (10:38 +0000)]
Move "Auto" CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139858

Reviewed by Antti Koivisto.

Move "Auto" CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder, by adding support in the generator for using hasAutoXXX()
/ setHasAutoXXX() methods on RenderStyle.

No new tests, no web-exposed behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyAuto::setValue): Deleted.
(WebCore::ApplyPropertyAuto::value): Deleted.
(WebCore::ApplyPropertyAuto::hasAuto): Deleted.
(WebCore::ApplyPropertyAuto::setAuto): Deleted.
(WebCore::ApplyPropertyAuto::applyInheritValue): Deleted.
(WebCore::ApplyPropertyAuto::applyInitialValue): Deleted.
(WebCore::ApplyPropertyAuto::applyValue): Deleted.
(WebCore::ApplyPropertyAuto::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialColumnGap):
(WebCore::StyleBuilderCustom::applyInheritColumnGap):
(WebCore::StyleBuilderCustom::applyValueColumnGap):
* css/makeprop.pl:
(getNameForMethods):
(getAutoGetter):
(getAutoSetter):
(generateInitialValueSetter):
(generateInheritValueSetter):
(generateValueSetter):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177630 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHTMLSelectElement add() should support adding group of options element (HTMLOptGroupE...
commit-queue@webkit.org [Mon, 22 Dec 2014 02:00:04 +0000 (02:00 +0000)]
HTMLSelectElement add() should support adding group of options element (HTMLOptGroupElement).
https://bugs.webkit.org/show_bug.cgi?id=139806

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-12-21
Reviewed by Darin Adler.

Source/WebCore:

HTMLSelectElement add() should support adding group of options (optgroup) element.

Test: fast/dom/HTMLSelectElement/select-add-optgroup.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):

LayoutTests:

* fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-add-optgroup.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177629 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix missing assertion in r177623.
cdumez@apple.com [Mon, 22 Dec 2014 01:52:23 +0000 (01:52 +0000)]
Fix missing assertion in r177623.
https://bugs.webkit.org/show_bug.cgi?id=139334

Reviewed by Darin Adler.

ValueWithCalculation::setCalculation() was meant to include an
"isCalculation()" assertion but I inadvertently omitted the
ASSERT() around the statement.

* css/CSSParser.h:
(WebCore::CSSParser::ValueWithCalculation::setCalculation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: Hidden aria table crash
rgabor@webkit.org [Sun, 21 Dec 2014 23:56:55 +0000 (23:56 +0000)]
AX: Hidden aria table crash
https://bugs.webkit.org/show_bug.cgi?id=139856

Reviewed by Chris Fleizach.

Source/WebCore:

Change axCaption to pointer and check it's value because
AXObjectCache::getOrCreate() can return with nullptr.

Test: accessibility/aria-hidden-crash.html

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):

LayoutTests:

Add layout test to cover this crash.

* accessibility/aria-hidden-crash-expected.txt: Added.
* accessibility/aria-hidden-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate expectations for two WebGL tests to match what bots see.
ap@apple.com [Sun, 21 Dec 2014 22:11:53 +0000 (22:11 +0000)]
Update expectations for two WebGL tests to match what bots see.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177626 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] avoid WebVideoFullscreenManager crash
eric.carlson@apple.com [Sun, 21 Dec 2014 17:01:04 +0000 (17:01 +0000)]
[iOS] avoid WebVideoFullscreenManager crash
https://bugs.webkit.org/show_bug.cgi?id=139852
<rdar://problem/19319302>

Reviewed by Darin Adler.

* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::didExitFullscreen): NULL-check m_layerHostingContext and m_page.
(WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): NULL-check m_layerHostingContext.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177625 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix WebKit2 build with newer clang compiler
ddkilzer@apple.com [Sun, 21 Dec 2014 10:49:50 +0000 (10:49 +0000)]
Fix WebKit2 build with newer clang compiler

Fixes the following build error:

    In file included from DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:32:
    Source/WebKit2/Platform/IPC/HandleMessage.h:16:25: error: non-const lvalue reference to type 'Vector<[3 * ...]>' cannot bind to a temporary of type 'Vector<[3 * ...]>'
        (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))...);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Source/WebKit2/Platform/IPC/HandleMessage.h:22:5: note: in instantiation of function template specialization 'IPC::callMemberFunctionImpl<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, 0>' requested here
        callMemberFunctionImpl(object, function, std::forward<ArgsTuple>(args), ArgsIndicies());
        ^
    Source/WebKit2/Platform/IPC/HandleMessage.h:120:5: note: in instantiation of function template specialization 'IPC::callMemberFunction<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, std::make_index_sequence<1> >' requested here
        callMemberFunction(WTF::move(arguments), object, function);
        ^
    DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:55:14: note: in instantiation of function template specialization 'IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector, WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &)>' requested here
            IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector>(decoder, this, &WebVideoFullscreenManagerProxy::setSeekableRangesVector);
                 ^

* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
Make Vector<std::pair<double, double>>& argument const because a
temporary is not allowed to bind to a non-const reference.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177624 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGet rid of error-prone ReleaseParsedCalcValueCondition argument in CSSParser
cdumez@apple.com [Sun, 21 Dec 2014 02:56:23 +0000 (02:56 +0000)]
Get rid of error-prone ReleaseParsedCalcValueCondition argument in CSSParser
https://bugs.webkit.org/show_bug.cgi?id=139334

Reviewed by Darin Adler.

Get rid of error-prone ReleaseParsedCalcValueCondition argument in
CSSParser that determines the the m_parsedCalculation member should
be released.

Instead, introduce a new ValueWithCalculation type which wraps a
CSSParserValue and an optional parsed calculation value. This way,
the parsed calculation value is now associated with its CSSParserValue.
This makes it very difficult to use a parsed calculation value for the
wrong CSSParserValue. The API is also easier to use as developers no
longer need to explicitly indicate if the calculation value should be
released or not.

No new tests, no web-behavior change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177623 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] add optimized fullscreen API
eric.carlson@apple.com [Sat, 20 Dec 2014 18:28:37 +0000 (18:28 +0000)]
[iOS] add optimized fullscreen API
https://bugs.webkit.org/show_bug.cgi?id=139833
<rdar://problem/18844486>

Reviewed by Simon Fraser.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::optimizedFullscreenSupported): Deleted.
(WebCore::MediaControlsHost::fullscreenMode): Deleted.
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.addVideoListeners): Listen for 'webkitpresentationmodechanged'.
(ControllerIOS.prototype.removeVideoListeners): Stop listening for 'webkitpresentationmodechanged'.
(ControllerIOS.prototype.configureInlineControls): Call video element instead of using the now
    removed host property.
(ControllerIOS.prototype.updateControls): Ditto.
(ControllerIOS.prototype.presentationMode): New, return webkitPresentationMode when possible.
(ControllerIOS.prototype.handleFullscreenButtonClicked): Use webkitSetPresentationMode when possible.
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): Use video element instead of
    using the now removed host method.
(ControllerIOS.prototype.handlePresentationModeChange): New, react to presentation mode changes.
(ControllerIOS.prototype.handleFullscreenChange): Call handlePresentationModeChange.

* dom/EventNames.h: Add webkitpresentationmodechanged.

* html/HTMLAttributeNames.in: Add onwebkitpresentationmodechanged.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enterFullscreen): Early return when asked to change to the current
    mode. Call fullscreenModeChanged() instead of whacking the instance variable directly.
(WebCore::HTMLMediaElement::exitFullscreen): Ditto.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::fullscreenModeChanged): Make virtual.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseAttribute): Deal with onwebkitpresentationmodechange.
(WebCore::presentationModeFullscreen): New.
(WebCore::presentationModeOptimized): Ditto.
(WebCore::presentationModeInline): Ditto.
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Ditto.
(WebCore::HTMLVideoElement::webkitSetPresentationMode): Ditto.
(WebCore::HTMLVideoElement::webkitPresentationMode): Ditto.
(WebCore::HTMLVideoElement::fullscreenModeChanged): Ditto.
* html/HTMLVideoElement.h:
* html/HTMLVideoElement.idl:

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setIsOptimized): Simplify the logic a bit. Don't report
    a mode change when

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:  Add ENABLE_VIDEO_PRESENTATION_MODE.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.

Source/WTF:

* wtf/Platform.h: Define ENABLE_VIDEO_PRESENTATION_MODE.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSwitch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit...
ddkilzer@apple.com [Sat, 20 Dec 2014 17:26:56 +0000 (17:26 +0000)]
Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
<http://webkit.org/b/139463>

Reviewed by Mark Rowe.

Source/JavaScriptCore:

* Configurations/JavaScriptCore.xcconfig:
- Simplify SECTORDER_FLAGS.

Source/WebCore:

Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
r132859 and needed for Leopard.

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
- Simplify SQLITE3_HEADER_SEARCH_PATHS.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebCore.xcconfig:
- Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
  FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
  OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
  WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR,
  JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
  EXCLUDED_SOURCE_FILE_NAMES based on SDK.
- Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
  overrideable by WebCoreTestSupport.xcconfig.
* Configurations/WebCoreTestSupport.xcconfig:
- Set PRIVATE_HEADERS_FOLDER_PATH_Production and
  INSTALL_PATH_Production based on SDK.
- Override SECT_ORDER_FLAGS from WebCore.xcconfig.

Source/WebInspectorUI:

* Configurations/Base.xcconfig:
- Only set TOOLCHAINS on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebInspectorUIFramework.xcconfig:
- Set NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR and
  JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production by SDK.

Source/WebKit/mac:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
- Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebKitLegacy.xcconfig:
- Set EXCLUDED_SOURCE_FILE_NAMES, EXPORTED_SYMBOLS_FILE_x86_64,
  FRAMEWORK_SEARCH_PATHS, OTHER_CFLAGS, INSTALL_PATH,
  DYLIB_INSTALL_NAME_BASE, OTHER_LDFLAGS, SECTORDER_FLAGS,
  NORMAL_WEBKIT_LEGACY_FRAMEWORKS_DIR,
  WEBKIT_LEGACY_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR, PRODUCTION_ROOT,
  WEBCORE_PRIVATE_HEADERS_DIR_Production and
  WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering
  based on SDK.
- Fix PRODUCTION_ROOT to actually be set properly.
- Simplify EXPORTED_SYMBOLS_FILE_i386.

* migrate-headers.sh:
- Get rid of unused WEBKIT2_FRAMEWORKS_DIR variable.
- Change WEBCORE_PRIVATE_HEADERS_DIR_macosx_Production to
  WEBCORE_PRIVATE_HEADERS_DIR_Production based on changes to
  WebKitLegacy.xcconfig.

Source/WebKit2:

* Configurations/All.xcconfig:
- Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
* Configurations/Base.xcconfig:
- Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and
  TOOLCHAINS on OS X.
* Configurations/BaseLegacyProcess.xcconfig:
- Only set SKIP_INSTALL on iOS.
* Configurations/BaseTarget.xcconfig:
- Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
  SDK, and simply them.
* Configurations/BaseXPCService.xcconfig:
- Set INSTALL_PATH_ACTUAL_Normal based on SDK.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
- Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
* Configurations/NetworkProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on
  iOS.
* Configurations/NetworkService.Development.xcconfig:
- Set INFOPLIST_FILE based on SDK.
- Simplify CODE_SIGN_ENTITLEMENTS for iOS.
* Configurations/NetworkService.xcconfig:
- Set INFOPLIST_FILE based on SDK.
- Simplify CODE_SIGN_ENTITLEMENTS for iOS.
* Configurations/PluginProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS.
* Configurations/PluginProcessShim.xcconfig:
- Set OTHER_LDFLAGS based on SDK.
* Configurations/PluginService.32.xcconfig:
- Only set VALID_ARCHS on OS X.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set SKIP_INSTALL on iOS.
* Configurations/PluginService.64.xcconfig:
- Set ARCHS based on SDK.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set SKIP_INSTALL on iOS.
* Configurations/PluginService.Development.xcconfig:
- Only set SKIP_INSTALL on iOS.
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/SecItemShim.xcconfig:
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebContentProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME on iOS.
- Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator.
* Configurations/WebContentService.Development.xcconfig:
- Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK.
- Only set CODE_SIGN_ENTITLEMENTS on iOS hardware.
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/WebContentService.xcconfig: Ditto.
* Configurations/WebKit.xcconfig:
- Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and
  WK_API_AVAILABILITY_ENABLED based on SDK.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
* Configurations/WebKit2.xcconfig:
- Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE,
  NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and
  NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK.
- Set SKIP_INSTALL on iOS.
* Configurations/WebProcessShim.xcconfig:
- Set OTHER_LDFLAGS based on platform-specific values.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177621 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[SVG -> OTF Converter] Make placeholders more robust
mmaxfield@apple.com [Sat, 20 Dec 2014 04:41:57 +0000 (04:41 +0000)]
[SVG -> OTF Converter] Make placeholders more robust
https://bugs.webkit.org/show_bug.cgi?id=139836

Reviewed by Dan Bernstein.

This patch creates a Placeholder object which hides the complexity of
populating offsets to subtables.

No new tests because there is no behavior change.

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
(WebCore::SVGToOTFFontConverter::Placeholder::populate):
(WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):
(WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable):
(WebCore::SVGToOTFFontConverter::appendGSUBTable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177620 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix.
jberlin@webkit.org [Sat, 20 Dec 2014 04:39:03 +0000 (04:39 +0000)]
Build fix.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177619 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSimplify the build fixes from r177615 and r177617.
jberlin@webkit.org [Sat, 20 Dec 2014 04:30:19 +0000 (04:30 +0000)]
Simplify the build fixes from r177615 and r177617.

Rubber-stamped by Dan Bernstein.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177618 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAnother attempt at a speculative build fix.
jberlin@webkit.org [Sat, 20 Dec 2014 03:55:04 +0000 (03:55 +0000)]
Another attempt at a speculative build fix.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177617 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix initial / inherit support for '-webkit-perspective-origin' CSS property
cdumez@apple.com [Sat, 20 Dec 2014 03:41:47 +0000 (03:41 +0000)]
Fix initial / inherit support for '-webkit-perspective-origin' CSS property
https://bugs.webkit.org/show_bug.cgi?id=139843

Reviewed by Simon Fraser.

Source/WebCore:

Fix initial / inherit support for '-webkit-perspective-origin' CSS
property. These previously had no effect.

This patch updates the code to be consistent with
'-webkit-transform-origin' and gets rid of the code in
DeprecatedStyleBuilder as it isn't used.

Test: fast/css/perspective-origin-initial-inherit.html

* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue): Deleted.
(WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue): Deleted.
(WebCore::ApplyPropertyPerspectiveOrigin::applyValue): Deleted.
(WebCore::ApplyPropertyPerspectiveOrigin::createHandler): Deleted.
* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
(WebCore::StyleProperties::asText):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitPerspectiveOriginShorthand):
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
* css/StylePropertyShorthand.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Add layout test to cover 'initial' / 'inherit' support for
'-webkit-perspective-origin' CSS property.

* fast/css/perspective-origin-initial-inherit-expected.txt: Added.
* fast/css/perspective-origin-initial-inherit.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177616 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSpeculative build fix after r177610.
jberlin@webkit.org [Sat, 20 Dec 2014 02:39:28 +0000 (02:39 +0000)]
Speculative build fix after r177610.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPerf dashboard should support authentication via a slave password
rniwa@webkit.org [Sat, 20 Dec 2014 02:38:04 +0000 (02:38 +0000)]
Perf dashboard should support authentication via a slave password
https://bugs.webkit.org/show_bug.cgi?id=139837

Reviewed by Andreas Kling.

For historical reasons, perf dashboard conflated builders and build slaves. As a result we ended up
having to add multiple builders with the same password when a single build slave is shared among them.

This patch introduces the concept of build_slave into the perf dashboard to end this madness.

* init-database.sql: Added build_slave table as well as references to it in builds and reports.

* public/admin/build-slaves.php: Added.

* public/admin/builders.php: Added the support for updating passwords.

* public/include/admin-header.php:
(update_field): Takes an extra argument when a new value needs to be supplied by the caller instead of
being retrieved from $_POST.
(AdministrativePage::render_table): Use array_get to retrieve a value out of the database row since
the raw may not exist (e.g. new_password).
(AdministrativePage::render_form_to_add): Added the support for post_insertion. Don't render the form
control here when this flag evaluates to TRUE.

* public/include/report-processor.php:
(ReportProcessor::process): Added the logic to authenticate with slaveName and slavePassword if those
values are present in the report. In addition, try authenticating builderName with slavePassword if
builderPassword is not specified. When neither password is specified, exit with BuilderNotFound.
Also insert the slave or the builder whichever is missing after we've successfully authenticated.
(ReportProcessor::construct_build_data): Takes a builder ID and an optional slave ID instead of
a builder row.
(ReportProcessor::store_report): Store the slave ID with the report.
(ReportProcessor::resolve_build_id): Exit with MismatchingBuildSlave when the slave associated with
the matching build is different from what's being reported.

* tests/api-report.js: Added a bunch of tests to test the new features of /api/report.
(.addSlave): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177614 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Revise DRT logic to match Mac.
bfulgham@apple.com [Sat, 20 Dec 2014 01:21:38 +0000 (01:21 +0000)]
[Win] Revise DRT logic to match Mac.

Rubberstamped by Anders Carlsson.

Update the Windows logic to perform initialization of preferences and WebKit
settings to match Mac. Also make sure that we only ever emit #EOF tokens under
the same circumstances as the Mac version.

* DumpRenderTree/win/DumpRenderTree.cpp:
(dump):
(resetWebPreferencesToConsistentValues):
(setDefaultsToConsistentValuesForTesting):
(resetWebViewToConsistentStateBeforeTesting):
(sizeWebViewForCurrentTest):
(runTest):
(createWebViewAndOffscreenWindow):
(allocateGlobalControllers):
(prepareConsistentTestingEnvironment):
(main):
(resetDefaultsToConsistentValues): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
cdumez@apple.com [Sat, 20 Dec 2014 01:11:44 +0000 (01:11 +0000)]
[iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
https://bugs.webkit.org/show_bug.cgi?id=139835
<rdar://problem/19312042>

Reviewed by Anders Carlsson.

Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
so that they can be implemented in MobileSafari.

* UIProcess/API/APIUIClient.h:
(API::UIClient::didEnterFullscreen):
(API::UIClient::didExitFullscreen):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didEnterFullscreen):
(WebKit::UIDelegate::UIClient::didExitFullscreen):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
(WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177612 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix pink background on CoreAnimation plug-ins in WebKit1
simon.fraser@apple.com [Sat, 20 Dec 2014 01:02:02 +0000 (01:02 +0000)]
Fix pink background on CoreAnimation plug-ins in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=139845
rdar://problem/19313075

Reviewed by Tim Horton.

r154078 left in some debugging code that set a pink background on plug-in hosting
layers. Remove it.

* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPluginLayer]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177611 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Inspector does not reopen correctly after Inspector Process crashes
commit-queue@webkit.org [Sat, 20 Dec 2014 00:57:55 +0000 (00:57 +0000)]
Web Inspector: Inspector does not reopen correctly after Inspector Process crashes
https://bugs.webkit.org/show_bug.cgi?id=139838

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-12-19
Reviewed by Timothy Hatcher.

When the WebContentProcess holding the Inspector Frontend crashes, we
would properly tear down the inspector objects. However, the next time
the inspector is opened, when creating the new page in the Inspector
Page Group, a WebPageProxy is created with a Terminated WebProcessProxy.

That Terminated WebProcessProxy is automatically replaced with the next
load request is given. The newly created process was missing the
message listeners and assumed URL access settings that the
WebInspectorProxy had set on the old process.

So, WebInspectorProxy now listens for and resets the process properties
when the inspector process is recreated.

* UIProcess/WebInspectorProxy.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
Reset process properties when the process is relaunched.

(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::didClose):
Save connection identifier if we need to establish connections later.

* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]):
(-[WKWebInspectorWKView _didRelaunchProcess]):
(WebKit::WebInspectorProxy::closeTimerFired):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Send WebInspectorProxy a message when the process underlying the
WKView is relaunched.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177610 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r177599.
commit-queue@webkit.org [Sat, 20 Dec 2014 00:52:35 +0000 (00:52 +0000)]
Unreviewed, rolling out r177599.
https://bugs.webkit.org/show_bug.cgi?id=139846

this breaks so many things (Requested by thorton_ on #webkit).

Reverted changeset:

"TextIndicator's window can be pushed down if it intersects
the menu bar"
https://bugs.webkit.org/show_bug.cgi?id=139841
http://trac.webkit.org/changeset/177599

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGet rid of the hardcoded set of structs in the message generation script
andersca@apple.com [Sat, 20 Dec 2014 00:46:42 +0000 (00:46 +0000)]
Get rid of the hardcoded set of structs in the message generation script
https://bugs.webkit.org/show_bug.cgi?id=139844

Reviewed by Tim Horton.

Instead, make it possible to use 'struct' in front of the type name to declare that the type is a struct.

* DatabaseProcess/DatabaseProcess.messages.in:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
* NetworkProcess/NetworkProcess.messages.in:
* PluginProcess/PluginProcess.messages.in:
* PluginProcess/WebProcessConnection.messages.in:
* Scripts/webkit/messages.py:
(struct_or_class):
(forward_declarations_for_namespace):
(forward_declarations_and_headers):
* Scripts/webkit/model.py:
(Parameter.__init__):
* Scripts/webkit/parser.py:
(parse_parameters_string):
* UIProcess/Storage/StorageManager.messages.in:
* UIProcess/WebContext.messages.in:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
* WebProcess/OriginData/WebOriginDataManager.messages.in:
* WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177608 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Rollout r177605.
roger_fong@apple.com [Sat, 20 Dec 2014 00:38:56 +0000 (00:38 +0000)]
Unreviewed. Rollout r177605.

* EWSTools/start-queue-win.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177607 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Try running EWS scripts without —no-confirm, since it defaults to true.
roger_fong@apple.com [Sat, 20 Dec 2014 00:26:20 +0000 (00:26 +0000)]
Unreviewed. Try running EWS scripts without —no-confirm, since it defaults to true.
* EWSTools/start-queue-win.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177605 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the build.
timothy_horton@apple.com [Sat, 20 Dec 2014 00:22:25 +0000 (00:22 +0000)]
Fix the build.

* UIProcess/API/mac/WKView.mm:
(-[WKView _setIgnoresNonWheelEvents:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177604 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Add WebKitSystemInterface for iOS 8.1
dbates@webkit.org [Sat, 20 Dec 2014 00:17:37 +0000 (00:17 +0000)]
[iOS] Add WebKitSystemInterface for iOS 8.1
https://bugs.webkit.org/show_bug.cgi?id=139831

Reviewed by Alexey Proskuryakov.

Tools:

Implement support in copy-webkitlibraries-to-product-directory to copy
WebKitSystemInterface for iOS to the product directory and have build-webkit
pass --wksi to copy-webkitlibraries-to-product-directory when building for iOS.

* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:

WebKitLibraries:

Towards building the iOS WebKit port using the public SDK, add the
WebKitSystemInterface for iOS version 8.1.

* WebKitSystemInterfaceIOS.h: Added.
* libWebKitSystemInterfaceIOSDevice8.1.a: Added.
* libWebKitSystemInterfaceIOSSimulator8.1.a: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Add WebKitSystemInterface for iOS 8.1
dbates@webkit.org [Sat, 20 Dec 2014 00:15:15 +0000 (00:15 +0000)]
[iOS] Add WebKitSystemInterface for iOS 8.1
https://bugs.webkit.org/show_bug.cgi?id=139831

Reviewed by Alexey Proskuryakov.

Implement support in copy-webkitlibraries-to-product-directory to copy
WebKitSystemInterface for iOS to the product directory and have build-webkit
pass --wksi to copy-webkitlibraries-to-product-directory when building for iOS.

* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177602 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPreview popovers don't show an arrow for large links
bdakin@apple.com [Sat, 20 Dec 2014 00:13:14 +0000 (00:13 +0000)]
Preview popovers don't show an arrow for large links
https://bugs.webkit.org/show_bug.cgi?id=139842
-and corresponding-
<rdar://problem/19301470>

Reviewed by Tim Horton.

This patch addresses the case where the link is so large that there is no
available space on any side once you factor in screen padding. In that case, we
should give up early on not obscuring the link.
* UIProcess/mac/WKPreviewPopoverAnimationController.mm:
(-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]):
(-[WKPreviewPopoverAnimationController _effectivePaddingWithPreviewPadding:]):
(-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnYEdgeForOriginRect:withScreenRect:previewPadding:]):
(-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnXEdgeForOriginRect:withScreenRect:previewPadding:]):
(-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWKView's ignoresNonWheelEvents should ignore immediate actions
timothy_horton@apple.com [Fri, 19 Dec 2014 23:54:14 +0000 (23:54 +0000)]
WKView's ignoresNonWheelEvents should ignore immediate actions
https://bugs.webkit.org/show_bug.cgi?id=139839
<rdar://problem/19312111>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]):
(-[WKView _setIgnoresNonWheelEvents:]):
Install/uninstall the immediate action gesture recognizer when
toggling ignoresNonWheelEvents.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177600 268f45cc-cd09-0410-ab3c-d52691b4dbfc