WebKit-https.git
7 years ago[GTK] Use custom JavaScript instead of DBus to implement WebProcess tests
carlosgc@webkit.org [Fri, 28 Nov 2014 14:29:26 +0000 (14:29 +0000)]
[GTK] Use custom JavaScript instead of DBus to implement WebProcess tests
https://bugs.webkit.org/show_bug.cgi?id=138834

Reviewed by Sergio Villar Senin.

It makes everyting simpler and the tests run faster too, since we
don't need to spawn the private bus and wait until the DBus name
is registered. The web extension registers a new JavaSCript class
with a status method to run the tests, similar to the DBus
method. In the UI process side, tests use webkit_web_view_run_java_script()
instead of sending a DBus message.

* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp:
(WebKitDOMNodeFilterTest::create):
(WebKitDOMNodeFilterTest::testTreeWalker):
(WebKitDOMNodeFilterTest::testNodeIterator):
(WebKitDOMNodeFilterTest::webPageFromArgs): Deleted.
(WebKitDOMNodeFilterTest::runTest): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
(WebKitDOMNodeTest::create):
(WebKitDOMNodeTest::testHierarchyNavigation):
(WebKitDOMNodeTest::testInsertion):
(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::webPageFromArgs): Deleted.
(WebKitDOMNodeTest::runTest): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp:
(WebKitDOMXPathNSResolverTest::create):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
(WebKitDOMXPathNSResolverTest::webPageFromArgs): Deleted.
(WebKitDOMXPathNSResolverTest::runTest): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp:
(WebKitFrameTest::create):
(WebKitFrameTest::testMainFrame):
(WebKitFrameTest::testURI):
(WebKitFrameTest::testJavaScriptContext):
(WebKitFrameTest::webPageFromArgs): Deleted.
(WebKitFrameTest::runTest): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:
(testWebKitDOMNodeHierarchyNavigation):
(testWebKitDOMNodeInsertion):
(testWebKitDOMNodeTagNames):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp:
(runTest):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp:
(testWebKitDOMXPathNSResolverNative):
(testWebKitDOMXPathNSResolverCustom):
(beforeAll):
(afterAll):
(runTest): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp:
(webkitFrameTestRun):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:
(testsMap):
(WebProcessTest::add):
(WebProcessTest::create):
(runTest):
(windowObjectClearedCallback):
(webkit_web_extension_initialize):
(methodCallCallback): Deleted.
(webkit_web_extension_initialize_with_user_data): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
* TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp: Removed.
* TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.h: Removed.
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::runWebProcessTest):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:

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

7 years ago[EFL] libseccomp should pick up CC environment variable to be conform to other jhbuil...
ossy@webkit.org [Fri, 28 Nov 2014 13:41:46 +0000 (13:41 +0000)]
[EFL] libseccomp should pick up CC environment variable to be conform to other jhbuild modules
https://bugs.webkit.org/show_bug.cgi?id=139086

Reviewed by Gyuyoung Kim.

* efl/jhbuild.modules:
* efl/patches/libseccomp-pick-up-CC.patch: Added.

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

7 years ago[GStreamer] HTTP source element lacks SCHEDULING query support
philn@webkit.org [Fri, 28 Nov 2014 11:05:11 +0000 (11:05 +0000)]
[GStreamer] HTTP source element lacks SCHEDULING query support
https://bugs.webkit.org/show_bug.cgi?id=139064

Reviewed by Carlos Garcia Campos.

No new tests, covered by http/tests/media/hls.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
to configure itself for adaptive streaming playback scenarios.

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

7 years ago[EFL] Add warning if CMake version is too old for building with ninja.
commit-queue@webkit.org [Fri, 28 Nov 2014 09:50:18 +0000 (09:50 +0000)]
[EFL] Add warning if CMake version is too old for building with ninja.
https://bugs.webkit.org/show_bug.cgi?id=139055

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-11-28
Reviewed by Gyuyoung Kim.

CMake need to be >= 2.8.10 to build WebKit using ninja, some repos don't have
that version in their repositories.

* efl/install-dependencies:

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

7 years ago[WK2] SecComp buildfix after r176452
ossy@webkit.org [Fri, 28 Nov 2014 09:10:41 +0000 (09:10 +0000)]
[WK2] SecComp buildfix after r176452
https://bugs.webkit.org/show_bug.cgi?id=139081

Reviewed by Antti Koivisto.

* Shared/linux/SeccompFilters/SeccompBroker.cpp:
(WebKit::SeccompBrokerClient::dispatch):
(WebKit::SeccompBroker::runLoop):

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

7 years agoFix -Wc++11-narrowing error in SeccompFilters.cpp
ossy@webkit.org [Fri, 28 Nov 2014 09:09:44 +0000 (09:09 +0000)]
Fix -Wc++11-narrowing error in SeccompFilters.cpp
https://bugs.webkit.org/show_bug.cgi?id=139079

Reviewed by Carlos Garcia Campos.

* Shared/linux/SeccompFilters/SeccompFilters.cpp:
(WebKit::SeccompFilters::addRule):
* Shared/linux/SeccompFilters/SeccompFilters.h:

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

7 years ago[WK2] SecComp buildfix after r168605 and r168999
ossy@webkit.org [Fri, 28 Nov 2014 09:04:21 +0000 (09:04 +0000)]
[WK2] SecComp buildfix after r168605 and r168999
https://bugs.webkit.org/show_bug.cgi?id=139080

Reviewed by Carlos Garcia Campos.

* Shared/linux/SeccompFilters/SyscallPolicy.cpp:
(WebKit::SyscallPolicy::addDefaultWebProcessPolicy):

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

7 years ago[ATK] Allowing the use of AccessibilityUIElement::columnHeaders method for table.
commit-queue@webkit.org [Fri, 28 Nov 2014 09:00:54 +0000 (09:00 +0000)]
[ATK] Allowing the use of AccessibilityUIElement::columnHeaders method for table.
https://bugs.webkit.org/show_bug.cgi?id=139044

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-11-28
Reviewed by Chris Fleizach.

ATK method AccessibilityUIElement::columnHeaders currently focused only on the object table cell.
The proposed solution will enable the use of this method for the object table.
Existing test shows the result.

Tools:

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::columnHeaders):

LayoutTests:

* accessibility/table-column-headers-with-captions.html: Updated for ATK platform.
* platform/efl/accessibility/table-column-headers-with-captions-expected.txt: Added.
* platform/gtk/TestExpectations: Updated for GTK.
* platform/gtk/accessibility/table-column-headers-with-captions-expected.txt: Added.

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

7 years ago[EFL] Remove E_Dbus dependency
ryuan.choi@navercorp.com [Fri, 28 Nov 2014 07:04:09 +0000 (07:04 +0000)]
[EFL] Remove E_Dbus dependency
https://bugs.webkit.org/show_bug.cgi?id=136355

Reviewed by Gyuyoung Kim.

.:

* Source/cmake/FindE_DBus.cmake: Removed.
* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8.
Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface.
This patch replaces E_Dbus implementation to Eldbus.

* PlatformEfl.cmake:
* platform/efl/BatteryProviderEfl.cpp:
(WebCore::BatteryProviderEfl::BatteryProviderEfl):
(WebCore::BatteryProviderEfl::~BatteryProviderEfl):
(WebCore::BatteryProviderEfl::stopUpdating):
(WebCore::batteryProperties):
(WebCore::batteryPropertiesChanged):
(WebCore::BatteryProviderEfl::deviceTypeCallback):
(WebCore::BatteryProviderEfl::enumerateDevices):
(WebCore::BatteryProviderEfl::startUpdating):
(WebCore::BatteryProviderEfl::setBatteryStatus):
(WebCore::BatteryProviderEfl::timerFired): Deleted.
(WebCore::BatteryProviderEfl::getBatteryStatus): Deleted.
(WebCore::BatteryProviderEfl::setBatteryClient): Deleted.
* platform/efl/BatteryProviderEfl.h:
(WebCore::BatteryProviderEfl::connection):
(WebCore::BatteryProviderEfl::setSignalHandler):
(WebCore::BatteryProviderEfl::~BatteryProviderEfl): Deleted.

Source/WebKit2:

* UIProcess/API/efl/ewk_main.cpp: Added init/shutdown for eldbus.
(WebKit::EwkMain::initialize):
(WebKit::EwkMain::finalize):
(WebKit::EwkMain::shutdownInitializedEFLModules):

Tools:

* MiniBrowser/efl/CMakeLists.txt: Removed E_DBUS includes.

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

7 years agoCrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInIma...
antti@apple.com [Fri, 28 Nov 2014 01:40:01 +0000 (01:40 +0000)]
CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108
https://bugs.webkit.org/show_bug.cgi?id=139057

Reviewed by Anders Carlsson.

No test, don't know how to repro.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateSnapshot): Null check the renderer.

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

7 years agoUse std::unique_ptr instead of OwnPtr in JSC classes
gyuyoung.kim@samsung.com [Fri, 28 Nov 2014 00:51:32 +0000 (00:51 +0000)]
Use std::unique_ptr instead of OwnPtr in JSC classes
https://bugs.webkit.org/show_bug.cgi?id=139009

Reviewed by Filip Pizlo.

As a step of using std::unique_ptr<>, this patch replaces OwnPtr with
std::unique_ptr<>|std::make_unique<>.

* bytecode/DFGExitProfile.cpp:
(JSC::DFG::ExitProfile::add):
* bytecode/DFGExitProfile.h:
* bytecode/LazyOperandValueProfile.cpp:
(JSC::CompressedLazyOperandValueProfileHolder::add):
* bytecode/LazyOperandValueProfile.h:
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::specializedSweep):
(JSC::MarkedBlock::stopAllocating):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::clearNewlyAllocated):
* inspector/ContentSearchUtilities.cpp:
(Inspector::ContentSearchUtilities::findMagicComment):
* runtime/RegExp.cpp:
(JSC::RegExp::invalidateCode):
* runtime/RegExp.h:
* yarr/RegularExpression.cpp:
(JSC::Yarr::RegularExpression::Private::compile):
(JSC::Yarr::RegularExpression::isValid):
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::compile):
(JSC::Yarr::ByteCompiler::regexBegin):
(JSC::Yarr::byteCompile):
* yarr/YarrInterpreter.h:
(JSC::Yarr::BytecodePattern::BytecodePattern):

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

7 years agoAX: [ATK] Meter and Option elements do not expose their id attribute
jdiggs@igalia.com [Fri, 28 Nov 2014 00:24:43 +0000 (00:24 +0000)]
AX: [ATK] Meter and Option elements do not expose their id attribute
https://bugs.webkit.org/show_bug.cgi?id=139017

Reviewed by Mario Sanchez Prada.

Source/WebCore:

The options in a collapsed select element lack a node, so get the id
attribute from the associated action element. In the case of a meter,
the meter element itself is not exposed; its RenderMeter is instead.
So associate the meter element's id with the exposed RenderMeter.

No new tests. Instead, updated existing expectations to reflect the fix.

* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::element):
* accessibility/AccessibilityProgressIndicator.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):

LayoutTests:

* accessibility/roles-exposed.html: Unskipped the meter element test.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated to reflect fixes.
* platform/gtk/accessibility/roles-exposed-expected.txt: Updated to reflect fixes.

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

7 years agoAdd a stubbed out WebVisitedLinkStore to WebViewGroup
andersca@apple.com [Thu, 27 Nov 2014 18:00:10 +0000 (18:00 +0000)]
Add a stubbed out WebVisitedLinkStore to WebViewGroup
https://bugs.webkit.org/show_bug.cgi?id=139066

Reviewed by Antti Koivisto.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* WebCoreSupport/WebViewGroup.h:
(WebViewGroup::visitedLinkStore):
* WebCoreSupport/WebViewGroup.mm:
(WebViewGroup::WebViewGroup):
* WebCoreSupport/WebVisitedLinkStore.h: Copied from Source/WebKit/mac/WebCoreSupport/WebViewGroup.h.
* WebCoreSupport/WebVisitedLinkStore.mm: Copied from Source/WebKit/mac/WebCoreSupport/WebViewGroup.h.
(WebVisitedLinkStore::create):
(WebVisitedLinkStore::WebVisitedLinkStore):
(WebVisitedLinkStore::~WebVisitedLinkStore):
(WebVisitedLinkStore::isLinkVisited):
(WebVisitedLinkStore::addVisitedLink):

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

7 years agoAdd a Page::setVisitedLinkStore member function
andersca@apple.com [Thu, 27 Nov 2014 17:58:41 +0000 (17:58 +0000)]
Add a Page::setVisitedLinkStore member function
https://bugs.webkit.org/show_bug.cgi?id=139065

Reviewed by Antti Koivisto.

This will be used in a subsequent commit.

* WebCore.exp.in:
* page/Page.cpp:
(WebCore::Page::setVisitedLinkStore):
* page/Page.h:

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

7 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Thu, 27 Nov 2014 12:04:51 +0000 (12:04 +0000)]
[GTK] Unreviewed GTK gardening.
https://bugs.webkit.org/show_bug.cgi?id=139061

rebaseline after r176354.

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-11-27

* platform/gtk/fast/multicol/tall-image-behavior-expected.png: Added.
* platform/gtk/fast/multicol/tall-image-behavior-expected.txt: Added.
* platform/gtk/fast/multicol/tall-image-behavior-lr-expected.png: Added.
* platform/gtk/fast/multicol/tall-image-behavior-lr-expected.txt: Added.
* platform/gtk/fast/multicol/tall-image-behavior-rl-expected.png: Added.
* platform/gtk/fast/multicol/tall-image-behavior-rl-expected.txt: Added.

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

7 years agoWeb Inspector: Update NavigationItemProbes icon for the GTK+ port
agomez@igalia.com [Thu, 27 Nov 2014 11:39:33 +0000 (11:39 +0000)]
Web Inspector: Update NavigationItemProbes icon for the GTK+ port
https://bugs.webkit.org/show_bug.cgi?id=139074

Reviewed by Carlos Garcia Campos.

NavigationItemProbes was updated for the Mac port and we are now
having a similar ideogram in GTK+.

* UserInterface/Images/gtk/NavigationItemProbes.svg: Updated.

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

7 years ago[EFL] Unreviewed EFL gardening after r176354.
commit-queue@webkit.org [Wed, 26 Nov 2014 13:39:20 +0000 (13:39 +0000)]
[EFL] Unreviewed EFL gardening after r176354.
https://bugs.webkit.org/show_bug.cgi?id=139060

rebaseline after r176354.

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-11-26

* platform/efl/fast/multicol/tall-image-behavior-expected.png: Added.
* platform/efl/fast/multicol/tall-image-behavior-expected.txt: Added.
* platform/efl/fast/multicol/tall-image-behavior-lr-expected.png: Added.
* platform/efl/fast/multicol/tall-image-behavior-lr-expected.txt: Added.
* platform/efl/fast/multicol/tall-image-behavior-rl-expected.png: Added.
* platform/efl/fast/multicol/tall-image-behavior-rl-expected.txt: Added.

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

7 years ago[EFL][GTK] Bump up FDE relocation fixing patch to version accepted to LLVM trunk.
commit-queue@webkit.org [Wed, 26 Nov 2014 08:08:17 +0000 (08:08 +0000)]
[EFL][GTK] Bump up FDE relocation fixing patch to version accepted to LLVM trunk.
https://bugs.webkit.org/show_bug.cgi?id=139047

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-11-26
Reviewed by Carlos Garcia Campos.

* efl/jhbuild.modules:
* efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Added.
* efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Removed.
* gtk/jhbuild-optional.modules:
* gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Added.
* gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Removed.

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

7 years agoAdd parsing for :dir()
commit-queue@webkit.org [Wed, 26 Nov 2014 00:27:52 +0000 (00:27 +0000)]
Add parsing for :dir()
https://bugs.webkit.org/show_bug.cgi?id=138932

Patch by Sukolsak Sakshuwong <sukolsak@gmail.com> on 2014-11-25
Reviewed by Benjamin Poulain.

Source/WebCore:

Add support for parsing :dir() pseudo class. The implementation of selector
matching will be in a follow-up patch.

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::detectFunctionTypeToken):
* css/CSSSelector.cpp:
(WebCore::appendPseudoClassFunctionTail):
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
* fast/selectors/invalid-functional-pseudo-class-expected.txt:
* fast/selectors/invalid-functional-pseudo-class.html:

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

7 years agoRemove user content handling from PageGroup
andersca@apple.com [Tue, 25 Nov 2014 19:50:45 +0000 (19:50 +0000)]
Remove user content handling from PageGroup
https://bugs.webkit.org/show_bug.cgi?id=139051

Reviewed by Antti Koivisto.

Source/WebCore:

Remove m_userContentController from PageGroup and the related functions and symbol exports.

* WebCore.exp.in:
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::~PageGroup):
(WebCore::PageGroup::addPage):
(WebCore::PageGroup::removePage):
(WebCore::PageGroup::addUserScriptToWorld): Deleted.
(WebCore::PageGroup::addUserStyleSheetToWorld): Deleted.
(WebCore::PageGroup::removeUserScriptFromWorld): Deleted.
(WebCore::PageGroup::removeUserStyleSheetFromWorld): Deleted.
(WebCore::PageGroup::removeUserScriptsFromWorld): Deleted.
(WebCore::PageGroup::removeUserStyleSheetsFromWorld): Deleted.
(WebCore::PageGroup::removeAllUserContent): Deleted.
* page/PageGroup.h:

Source/WebKit/mac:

Use the user content controller in the web view group.

* WebView/WebView.mm:
(-[WebView _injectOutlookQuirksScript]):

Source/WebKit2:

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::addUserScript):
(WebKit::InjectedBundle::addUserStyleSheet):
(WebKit::InjectedBundle::removeUserScript):
(WebKit::InjectedBundle::removeUserStyleSheet):
(WebKit::InjectedBundle::removeUserScripts):
(WebKit::InjectedBundle::removeUserStyleSheets):
(WebKit::InjectedBundle::removeAllUserContent):
Talk to the user content controller from the passed in WebPageGroupProxy.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Create the WebPageGroupProxy before creating the page so we can get its user content controller and
pass it to the page configuration if necessary.

* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::userContentController):
New function that lazily creates a user content controller. We don't want to create this eagerly since
it's not used with the modern API.

(WebKit::WebPageGroupProxy::addUserStyleSheet):
(WebKit::WebPageGroupProxy::addUserScript):
(WebKit::WebPageGroupProxy::removeAllUserStyleSheets):
(WebKit::WebPageGroupProxy::removeAllUserScripts):
(WebKit::WebPageGroupProxy::removeAllUserContent):
Call through to the user content controller.

* WebProcess/WebPage/WebPageGroupProxy.h:
Add an m_userContentController member.

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

7 years agoUnreviewed, upload two missing test files in the commit r174677.
alex@webkit.org [Tue, 25 Nov 2014 18:05:39 +0000 (18:05 +0000)]
Unreviewed, upload two missing test files in the commit r174677.

* mathml/presentation/mo-stretch-update-expected.html: Added.
* mathml/presentation/mo-stretch-update.html: Added.

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

7 years agoAdd a user content controller to WebViewGroup and use it for user content
andersca@apple.com [Tue, 25 Nov 2014 16:16:15 +0000 (16:16 +0000)]
Add a user content controller to WebViewGroup and use it for user content
https://bugs.webkit.org/show_bug.cgi?id=139043

Reviewed by Antti Koivisto.

Source/WebCore:

* WebCore.exp.in:
Export symbols.

* page/Page.cpp:
(WebCore::Page::setUserContentController):
Invalidate the injected style cache when setting a new user content controller.

Source/WebKit/mac:

This is another tiny step towards getting rid of user content handling inside PageGroup.

* WebCoreSupport/WebViewGroup.h:
(WebViewGroup::userContentController):
Add a UserContentController member and getter.

* WebCoreSupport/WebViewGroup.mm:
(WebViewGroup::get):
Helper function that returns a WebViewGroup by its name (or null if it doesn't exist).

(WebViewGroup::WebViewGroup):
Create a user content controller.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Instead of calling -[WebView setGroupName:], create a WebViewGroup before creating the page, that way we can
set its user content controller in the PageConfiguration.

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Ditto.

(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
(+[WebView _removeUserScriptFromGroup:world:url:]):
(+[WebView _removeUserStyleSheetFromGroup:world:url:]):
(+[WebView _removeUserScriptsFromGroup:world:]):
(+[WebView _removeUserStyleSheetsFromGroup:world:]):
(+[WebView _removeAllUserContentFromGroup:]):
Instead of calling into the PageGroup, get the WebViewGroup's user content controller and call into that.

(-[WebView setGroupName:]):
Set the user content controller to the new WebViewGroup's user content controller.

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

7 years ago[GStreamer] gstmpegts is not initialized
philn@webkit.org [Tue, 25 Nov 2014 14:49:30 +0000 (14:49 +0000)]
[GStreamer] gstmpegts is not initialized
https://bugs.webkit.org/show_bug.cgi?id=139039

Reviewed by Carlos Garcia Campos.

* platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::initializeGStreamer): Initialize the gstmpegts library.

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

7 years ago[GTK] Use LD_LIBRARY_PATH to make g-ir-scanner use the newly-built
berto@igalia.com [Tue, 25 Nov 2014 14:29:09 +0000 (14:29 +0000)]
[GTK] Use LD_LIBRARY_PATH to make g-ir-scanner use the newly-built
version of libraries when running the temporary executable
https://bugs.webkit.org/show_bug.cgi?id=138833

Patch by Ting-Wei Lan <lantw44@gmail.com> on 2014-11-25
Reviewed by Carlos Garcia Campos.

This patch modifies LD_LIBRARY_PATH to make sure the dynamic linker
find the correct version of libraries when running the temporary
executable to generate the .gir file.

* PlatformGTK.cmake:

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

7 years ago[GTK] Minibrowser: Add support for zoom using Control Key + Mouse scroll
commit-queue@webkit.org [Tue, 25 Nov 2014 13:48:04 +0000 (13:48 +0000)]
[GTK] Minibrowser: Add support for zoom using Control Key + Mouse scroll
https://bugs.webkit.org/show_bug.cgi?id=138090

Patch by Tanay C <tanay.c@samsung.com> on 2014-11-25
Reviewed by Carlos Garcia Campos.

* MiniBrowser/gtk/BrowserWindow.c: Implementing zoom using Cntrl + Mouse scroll
(browserWindowZoomIn): Added.
(browserWindowZoomOut): Added.
(scrollEventCallback): Added.
(zoomInCallback): Modified.
(zoomOutCallback): Modified.
(browserWindowConstructed): Modified.

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

7 years ago[EFL] REGRESSION(r176514): It made performance tests fail
ossy@webkit.org [Tue, 25 Nov 2014 09:59:38 +0000 (09:59 +0000)]
[EFL] REGRESSION(r176514): It made performance tests fail
https://bugs.webkit.org/show_bug.cgi?id=139037

Reviewed by Gyuyoung Kim.

Source/WebKit2:

* WebProcess/efl/WebProcessMainEfl.cpp: Don't try to load/shutdown eail if eailLibraryPath() is empty.

Tools:

* Scripts/webkitpy/port/efl.py:
(EflPort.setup_environ_for_server): Pass ACCESSIBILITY_EAIL_LIBRARY_PATH environment variable to WTR.
* efl/jhbuildrc: Set ACCESSIBILITY_EAIL_LIBRARY_PATH to point to DependenciesEFL/lib/libeail.so
only if ACCESSIBILITY_EAIL_LIBRARY_PATH isn't already set and DependenciesEFL/lib/libeail.so exists.

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

7 years agoFix unused variable warning in Biquad.cpp
evab.u-szeged@partner.samsung.com [Tue, 25 Nov 2014 07:41:27 +0000 (07:41 +0000)]
Fix unused variable warning in Biquad.cpp
https://bugs.webkit.org/show_bug.cgi?id=139031

Reviewed by Andreas Kling.

No new tests needed.

* platform/audio/Biquad.cpp:

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

7 years agoRemove Qt cruft related to tap higlighting
evab.u-szeged@partner.samsung.com [Tue, 25 Nov 2014 07:39:07 +0000 (07:39 +0000)]
Remove Qt cruft related to tap higlighting
https://bugs.webkit.org/show_bug.cgi?id=139030

Reviewed by Andreas Kling.

Source/WebCore:

No new tests needed.

* CMakeLists.txt:
* page/GestureTapHighlighter.cpp: Removed.
* page/GestureTapHighlighter.h: Removed.

Source/WebKit2:

* CMakeLists.txt:
* WebProcess/WebPage/TapHighlightController.cpp: Removed.
* WebProcess/WebPage/TapHighlightController.h: Removed.

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

7 years agoFix the parsing and re-serialization of :lang pseudo class selector when it has multi...
commit-queue@webkit.org [Tue, 25 Nov 2014 05:26:27 +0000 (05:26 +0000)]
Fix the parsing and re-serialization of :lang pseudo class selector when it has multiple arguments with same value
https://bugs.webkit.org/show_bug.cgi?id=139013

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-11-24
Reviewed by Benjamin Poulain.

Source/WebCore:

Fix the parsing and re-serialization of :lang pseudo class selector when
it has multiple arguments with same value e.g. :lang(en, en, en). Previously,
given :lang(en, en, en) selector, it was parsed and reserialized
as :lang(enenen) instead of :lang(en, en, en)

Related test on parsing and re-serialization of css selectors is updated.

* css/CSSSelector.cpp:
(WebCore::appendArgumentList):

LayoutTests:

Updated tests to verify the parsing and serialization of :lang pseudo class
selector when it has multiple arguments with same value.

* fast/css/css-selector-text-expected.txt: Updated to cover fix.
* fast/css/css-selector-text.html: Updated to cover fix.

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

7 years agoFix r176527. Iterate through the text renderers.
zalan@apple.com [Tue, 25 Nov 2014 03:47:57 +0000 (03:47 +0000)]
Fix r176527. Iterate through the text renderers.
https://bugs.webkit.org/show_bug.cgi?id=139007

Reviewed by Antti Koivisto.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):

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

7 years agoClean up OwnPtr and PassOwnPtr in JSC - bytecode, jit, inspector, and interpreter
gyuyoung.kim@samsung.com [Tue, 25 Nov 2014 02:40:06 +0000 (02:40 +0000)]
Clean up OwnPtr and PassOwnPtr in JSC - bytecode, jit, inspector, and interpreter
https://bugs.webkit.org/show_bug.cgi?id=139022

Reviewed by Filip Pizlo.

As a step of using std::unique_ptr<>, this patch replaces OwnPtr with
std::unique_ptr<>|std::make_unique<>.

* bytecode/DFGExitProfile.cpp:
(JSC::DFG::ExitProfile::add):
* bytecode/DFGExitProfile.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::linkFunction):
* dfg/DFGJITFinalizer.cpp:
(JSC::DFG::JITFinalizer::JITFinalizer):
* dfg/DFGJITFinalizer.h:
* heap/IncrementalSweeper.h:
* inspector/ContentSearchUtilities.cpp:
(Inspector::ContentSearchUtilities::findMagicComment):
* inspector/agents/InspectorDebuggerAgent.h:
* inspector/agents/JSGlobalObjectRuntimeAgent.h:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::enableSampler):
* interpreter/Interpreter.h:
* jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::ExecutableAllocator):
* jit/ExecutableAllocator.h:

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

7 years agoUnreviewed, EFL build fix since r176530.
gyuyoung.kim@samsung.com [Tue, 25 Nov 2014 01:37:39 +0000 (01:37 +0000)]
Unreviewed, EFL build fix since r176530.

* UIProcess/CoordinatedGraphics/WebView.cpp: Replace pointer with reference.
(WebKit::WebView::processDidExit):

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

7 years agoSimple line layout: Rename TextFragment::mustBreak to TextFragment::isLineBreak
zalan@apple.com [Tue, 25 Nov 2014 01:00:57 +0000 (01:00 +0000)]
Simple line layout: Rename TextFragment::mustBreak to TextFragment::isLineBreak
https://bugs.webkit.org/show_bug.cgi?id=139035

Reviewed by Antti Koivisto.

Move new line logic to FlowContents class.
This is in preparation to support <br>.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::isNewline):
(WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): Deleted.

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

7 years ago[WK2] Remove some bad stuff from WebPageProxy
benjamin@webkit.org [Tue, 25 Nov 2014 00:26:35 +0000 (00:26 +0000)]
[WK2] Remove some bad stuff from WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=138896

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

The state loadStateAtProcessExit does not seem to be used anywhere.

The state urlAtProcessExit only exists to forward the url from
WebPageProxy::resetStateAfterProcessExited() to the coordinated graphics code
WebView::processDidExit().

* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::processDidExit):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::urlAtProcessExit): Deleted.
(WebKit::WebPageProxy::loadStateAtProcessExit): Deleted.

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

7 years agoMove :placeholder-shown out of experimental
benjamin@webkit.org [Tue, 25 Nov 2014 00:20:35 +0000 (00:20 +0000)]
Move :placeholder-shown out of experimental
https://bugs.webkit.org/show_bug.cgi?id=138998

Reviewed by Andreas Kling.

The pseudo class :placeholder-shown is used by the inspector, disabling it breaks
the sidebar.

The implementation has been stable for a while, we can move it to stable.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):

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

7 years agoAvoid String concatenation with line break iterator
antti@apple.com [Tue, 25 Nov 2014 00:15:46 +0000 (00:15 +0000)]
Avoid String concatenation with line break iterator
https://bugs.webkit.org/show_bug.cgi?id=139034

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/text/simple-lines-multiple-renderers-break.html

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::initializeSegments):

    Include String too so it doesn't need to be fetched from the renderer.

(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):

    Make this iterative instead of recursive.
    Uset setPriorContext to provide previous characters instead of concatenating
    the string from all the previous segments.

(WebCore::SimpleLineLayout::findNextNonWhitespace):
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):

    Search using segments instead of the concatenated string.

(WebCore::SimpleLineLayout::FlowContents::textWidth):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow):
(WebCore::SimpleLineLayout::FlowContents::runWidth):
(WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow): Deleted.
(WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Deleted.
(WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): Deleted.
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::characterAt):
(WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition):
(WebCore::SimpleLineLayout::FlowContents::segmentForPosition):

LayoutTests:

Test that there is no implicit break point between Text nodes.

* fast/text/simple-lines-multiple-renderers-break-expected.html: Added.
* fast/text/simple-lines-multiple-renderers-break.html: Added.

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

7 years agoSimpleLineLayout::canUseFor() should iterate through RenderTexts to check if their...
zalan@apple.com [Tue, 25 Nov 2014 00:10:17 +0000 (00:10 +0000)]
SimpleLineLayout::canUseFor() should iterate through RenderTexts to check if their content is eligible for simple line layout.
https://bugs.webkit.org/show_bug.cgi?id=139007

Reviewed by Antti Koivisto.

Source/WebCore:

Tests: fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html
       fast/text/simple-line-layout-multiple-renderers-with-float.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):

LayoutTests:

* fast/text/simple-line-layout-multiple-renderers-non-breaking-space-expected.html: Added.
* fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html: Added.
* fast/text/simple-line-layout-multiple-renderers-with-float-expected.html: Added.
* fast/text/simple-line-layout-multiple-renderers-with-float.html: Added.

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

7 years ago[GTK] update-webkitgtk-libs fails to build fontconfig
commit-queue@webkit.org [Tue, 25 Nov 2014 00:05:27 +0000 (00:05 +0000)]
[GTK] update-webkitgtk-libs fails to build fontconfig
https://bugs.webkit.org/show_bug.cgi?id=139032

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2014-11-24
Reviewed by Martin Robinson.

On Fedora, if docbook-utils is installed but docbook-utils-pdf is not,
fontconfig will try to generate documentation and fail.

* gtk/install-dependencies:

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

7 years agoSimple line layout: fast/text/simple-lines-multiple-renderers test has the wrong...
zalan@apple.com [Mon, 24 Nov 2014 23:56:37 +0000 (23:56 +0000)]
Simple line layout: fast/text/simple-lines-multiple-renderers test has the wrong content.
https://bugs.webkit.org/show_bug.cgi?id=139036

Swap simple-lines-multiple-renderers.html and simple-lines-multiple-renderers-expected.html

* fast/text/simple-lines-multiple-renderers-expected.html:
* fast/text/simple-lines-multiple-renderers.html:

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

7 years agoMove the '-webkit-box-reflext' CSS property to the new StyleBuilder
weinig@apple.com [Mon, 24 Nov 2014 22:12:53 +0000 (22:12 +0000)]
Move the '-webkit-box-reflext' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139008

Reviewed by Anders Carlsson.

* css/CSSPropertyNames.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertReflection):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

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

7 years agoStub out user content WebView member functions on Windows
andersca@apple.com [Mon, 24 Nov 2014 22:09:06 +0000 (22:09 +0000)]
Stub out user content WebView member functions on Windows
https://bugs.webkit.org/show_bug.cgi?id=139033

Reviewed by Sam Weinig.

These functions aren't used by any clients and hinder getting rid of PageGroup.
If it turns out they're still needed we can copy the user content controller code from Mac Legacy WebKit.

* WebView.cpp:
(WebView::addUserScriptToGroup):
(WebView::addUserStyleSheetToGroup):
(WebView::removeUserScriptFromGroup):
(WebView::removeUserStyleSheetFromGroup):
(WebView::removeUserScriptsFromGroup):
(WebView::removeUserStyleSheetsFromGroup):
(WebView::removeAllUserContentFromGroup):
(toStringVector): Deleted.

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

7 years ago[EFL] REGRESSION(176066): It made all performance tests fail
ryuan.choi@navercorp.com [Mon, 24 Nov 2014 20:48:49 +0000 (20:48 +0000)]
[EFL] REGRESSION(176066): It made all performance tests fail
https://bugs.webkit.org/show_bug.cgi?id=138865

Reviewed by Csaba Osztrogonác.

Since r176066, there are crash because evas_gl_surface is destroyed with
invalid evas_gl instance after evas_gl is destroyed.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::~EwkView):

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

7 years agoRemove unused Style struct from SimpleLineLayout.cpp
antti@apple.com [Mon, 24 Nov 2014 18:07:13 +0000 (18:07 +0000)]
Remove unused Style struct from SimpleLineLayout.cpp
https://bugs.webkit.org/show_bug.cgi?id=139027

Reviewed by Sam Weinig.

It was moved to FlowContents.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::Style::Style): Deleted.

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

7 years ago[Curl] Compile error in ResourceHandleManager.cpp.
commit-queue@webkit.org [Mon, 24 Nov 2014 17:02:25 +0000 (17:02 +0000)]
[Curl] Compile error in ResourceHandleManager.cpp.
https://bugs.webkit.org/show_bug.cgi?id=139026

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-11-24
Reviewed by Brent Fulgham.

The parameter types of the constructor of the Timer class has changed.

* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::downloadTimerCallback):
* platform/network/curl/ResourceHandleManager.h:

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

7 years agoWebkit2 doesnt build on powerpc 32 bits
berto@igalia.com [Mon, 24 Nov 2014 14:49:39 +0000 (14:49 +0000)]
Webkit2 doesnt build on powerpc 32 bits
https://bugs.webkit.org/show_bug.cgi?id=130837

Reviewed by Carlos Garcia Campos.

Check if libatomic is needed in order to use std::atomic, and add
it to the list of WebKit2 libraries.

* PlatformGTK.cmake:

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

7 years ago.:
carlosgc@webkit.org [Mon, 24 Nov 2014 12:45:13 +0000 (12:45 +0000)]
.:
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.1 release.

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

Source/WebKit2:
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.2 release.

* gtk/NEWS: Add release notes for 2.7.2.

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

7 years agoUnreviewed. Fix GTK+ make distcheck.
carlosgc@webkit.org [Mon, 24 Nov 2014 12:12:08 +0000 (12:12 +0000)]
Unreviewed. Fix GTK+ make distcheck.

* gtk/manifest.txt: Remove deleted files.

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

7 years agoAX: [ATK] Unskip the skipped ATK tests in roles-exposed.html
jdiggs@igalia.com [Mon, 24 Nov 2014 12:05:33 +0000 (12:05 +0000)]
AX: [ATK] Unskip the skipped ATK tests in roles-exposed.html
https://bugs.webkit.org/show_bug.cgi?id=139016

Reviewed by Chris Fleizach.

Source/WebCore:

There was one test that could not be unskipped without making a change
for that one to pass: mapping DocumentRegionRole to ATK_ROLE_PANEL. The
rest of the "fix" is just unskipping tests for ATK and updating the test
expectations.

No new tests needed.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

LayoutTests:

* accessibility/roles-exposed.html: Unskipped a bunch of tests.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated for unskipped tests.
* platform/gtk/accessibility/roles-exposed-expected.txt: Updated for unskipped tests.

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

7 years ago[EFL] Utilize Eail library to support accessibility in EFL
k.czech@samsung.com [Mon, 24 Nov 2014 11:30:55 +0000 (11:30 +0000)]
[EFL] Utilize Eail library to support accessibility in EFL
https://bugs.webkit.org/show_bug.cgi?id=137742

Reviewed by Gyuyoung Kim.

Source/WebKit2:

Initialize EAIL module so that all the listeners and atk-bridge started properly.
Dynamic loading of EAIL help us to avoid elementary dependencies in WebKit.

* WebProcess/efl/WebProcessMainEfl.cpp:
(eailLibraryPath): reads path provided by ACCESSIBILITY_EAIL_LIBRARY_PATH variable.
(eail):

Tools:

Eail, atk-bridge, at-spi2 are not mandatory modules for webkit-efl. They are rather optional.

* efl/jhbuild-optional.modules: Added.
* efl/jhbuild.modules:

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

7 years ago[GTK] WebKitWebView is created with the wrong web context when using webkit_web_view_...
carlosgc@webkit.org [Mon, 24 Nov 2014 11:18:55 +0000 (11:18 +0000)]
[GTK] WebKitWebView is created with the wrong web context when using webkit_web_view_new_with_related_view()
https://bugs.webkit.org/show_bug.cgi?id=139023

Reviewed by Sergio Villar Senin.

Source/WebKit2:

The WebKitWebContext is a construct only property, so it's always
set to the default value when not provided, during the
construction. When a related-view is used to create a new web view
we should ensure that the same web context is used for the new web
view, instead of the default. We should also ignore any web
context given as construct parameter if a related view is alos provided.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Do not set the context to the default
one when not given during construction.
(webkitWebViewSetProperty): Only use the default web context when
not provided as construct parameter and there isn't a related view.

Tools:

Rename WebKitWebView/default-context as WebKitWebView/web-context
and check we are always using the right context for new web views.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewWebContext):
(beforeAll):
(testWebViewDefaultContext): Deleted.

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

7 years ago[GTK] Add API to override the default local storage directory
carlosgc@webkit.org [Mon, 24 Nov 2014 07:24:01 +0000 (07:24 +0000)]
[GTK] Add API to override the default local storage directory
https://bugs.webkit.org/show_bug.cgi?id=138828

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add WebKitWebContext:local-storage-directory construct-only
property. If not provided the default will be used.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextGetProperty):
(webkitWebContextSetProperty):
(webkitWebContextConstructed):
(webkit_web_context_class_init):

Tools:

Add test to check that the local storage directory is created at
the path given on construction.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextConfiguration):
(beforeAll):
* TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
(Test::Test):
(Test::~Test): Deleted.

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

7 years agoPage previews should have titles
conrad_shultz@apple.com [Mon, 24 Nov 2014 05:21:13 +0000 (05:21 +0000)]
Page previews should have titles
https://bugs.webkit.org/show_bug.cgi?id=139020

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKViewPrivate.h:
Declare -_titleForPreviewOfURL:.

* UIProcess/API/mac/WKView.mm:
(-[WKView _titleForPreviewOfURL:]):
Stub implementation.

* UIProcess/mac/WKActionMenuController.mm:
(+[WKPagePreviewViewController previewPadding]):
Account for the title height.
(-[WKPagePreviewViewController loadView]):
Set correct autoresize masks on some views; create and configure a title view that is
horizontally and vertically centered.
(-[WKActionMenuController pagePreviewViewController:titleForPreviewOfURL:]):
WKPagePreviewViewControllerDelegate method; wrap -[WKView _titleForPreviewOfURL:].

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

7 years agoUse segment vector for FlowContents
antti@apple.com [Sun, 23 Nov 2014 18:46:18 +0000 (18:46 +0000)]
Use segment vector for FlowContents
https://bugs.webkit.org/show_bug.cgi?id=139015

Reviewed by Zalan Bujtas.

And FlowContents::Segment struct and use it.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::splitRunsAtRendererBoundary):

    Use segments.
    If there is only one segment there is nothing to do. Bail out.

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::initializeSegments):

    Move initialization to a function so m_segments can be const.
    Don't add empty end segment, handle the end case in code.

(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::textWidth):

    Simplify and use segments.

(WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow):

    Replace hand-rolled binary search with std::lower_bounds.

(WebCore::SimpleLineLayout::FlowContents::segmentForRenderer):
(WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):
(WebCore::SimpleLineLayout::FlowContents::renderer): Deleted.
(WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): Deleted.
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::hasOneSegment):
(WebCore::SimpleLineLayout::FlowContents::length):
(WebCore::SimpleLineLayout::FlowContents::isEnd):
(WebCore::SimpleLineLayout::FlowContents::isEndOfContent): Deleted.

    Renamed.

(WebCore::SimpleLineLayout::FlowContents::segmentForPosition):

    Inline the fast path.

* rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::Run::text):
(WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):

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

7 years agoExtend WKRenderObject and WKRenderLayer with some more useful data
simon.fraser@apple.com [Sun, 23 Nov 2014 18:00:52 +0000 (18:00 +0000)]
Extend WKRenderObject and WKRenderLayer with some more useful data
https://bugs.webkit.org/show_bug.cgi?id=139006

Reviewed by Sam Weinig.
Source/WebCore:

Export WebCore::RenderLayerBacking::backingStoreMemoryEstimate() const.

* WebCore.exp.in:

Source/WebKit2:

Implement WKRenderLayerGetBackingStoreMemoryEstimate,
WKRenderObjectCopyTextSnippet and WKRenderObjectGetTextLength for improved
RenderLayer and RenderTree display in clients of the C SPI.

* Shared/API/c/WKRenderLayer.cpp:
(WKRenderLayerGetBackingStoreMemoryEstimate):
* Shared/API/c/WKRenderLayer.h:
* Shared/API/c/WKRenderObject.cpp:
(WKRenderObjectCopyTextSnippet):
(WKRenderObjectGetTextLength):
* Shared/API/c/WKRenderObject.h:
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::WebRenderLayer):
* Shared/WebRenderLayer.h:
(WebKit::WebRenderLayer::backingStoreMemoryEstimate):
* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::create):
(WebKit::WebRenderObject::WebRenderObject):
* Shared/WebRenderObject.h:
(WebKit::WebRenderObject::textSnippet):
(WebKit::WebRenderObject::textLength):

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

7 years agoClean up OwnPtr and PassOwnPtr in some of JS classes
gyuyoung.kim@samsung.com [Sun, 23 Nov 2014 04:37:15 +0000 (04:37 +0000)]
Clean up OwnPtr and PassOwnPtr in some of JS classes
https://bugs.webkit.org/show_bug.cgi?id=138724

Reviewed by Filip Pizlo.

As a step to use std::unique_ptr<> and std::make_unique<>, this patch replaces
OwnPtr with std::unique_ptr<>. Besides create() factory function is removed as well.

* builtins/BuiltinExecutables.h:
(JSC::BuiltinExecutables::create): Deleted.
* bytecode/CodeBlock.h:
(JSC::CodeBlock::createRareDataIfNecessary):
* bytecode/StructureStubInfo.h:
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::hasRareData):
(JSC::UnlinkedCodeBlock::createRareDataIfNecessary):
* runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
* runtime/CodeCache.h:
(JSC::CodeCache::create): Deleted.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::clearRareData):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::createRareDataIfNeeded):
* runtime/RegExpConstructor.h:
* runtime/SmallStrings.cpp:
(JSC::SmallStrings::createSingleCharacterString):
(JSC::SmallStrings::singleCharacterStringRep):
* runtime/SmallStrings.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

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

7 years agoMake locale part of the SimpleLineLayout::FlowContent::Style
antti@apple.com [Sat, 22 Nov 2014 19:37:08 +0000 (19:37 +0000)]
Make locale part of the SimpleLineLayout::FlowContent::Style
https://bugs.webkit.org/show_bug.cgi?id=139004

Reviewed by Zalan Bujtas.

That's the only part of style not extracted out of RenderStyle in the constructor.

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::FlowContents::Style::Style):
(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):
* rendering/SimpleLineLayoutFlowContents.h:

    Also remove RenderBlockFlow member since it is now unused.

(WebCore::SimpleLineLayout::FlowContents::Style::Style): Deleted.

    Move to cpp.

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

7 years agor176455: ASSERT(!m_vector.isEmpty()) in IntendedStructureChain.cpp(143)
msaboff@apple.com [Sat, 22 Nov 2014 19:07:26 +0000 (19:07 +0000)]
r176455: ASSERT(!m_vector.isEmpty()) in IntendedStructureChain.cpp(143)
https://bugs.webkit.org/show_bug.cgi?id=139000

Reviewed by Darin Adler.

Check that the chainCount is non-zero before using a StructureChain.

* bytecode/ComplexGetStatus.cpp:
(JSC::ComplexGetStatus::computeFor):

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

7 years agoAX: [ATK] Accessible names missing for imagemap images and links
jdiggs@igalia.com [Sat, 22 Nov 2014 18:18:11 +0000 (18:18 +0000)]
AX: [ATK] Accessible names missing for imagemap images and links
https://bugs.webkit.org/show_bug.cgi?id=127288

Source/WebCore:

Reviewed by Chris Fleizach.

Return the alt text, if present, for the accessible name for image maps
and image map links for ATK. Also expose the accessible element with
ATK_ROLE_IMAGE_MAP instead of ATK_ROLE_IMAGE.

Test: accessibility/image-with-alt-and-map.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isImageMap):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetName):
(atkRole):

LayoutTests:

New and updated tests to reflect the expected role, accessible hierarchy,
and exposure of the alternative text for each platform.

Reviewed by Chris Fleizach.

* accessibility/image-with-alt-and-map.html: Added.
* accessibility/roles-exposed.html: Added some more elements to the test.
* platform/efl/accessibility/image-map1-expected.txt: Added.
* platform/efl/accessibility/image-map2-expected.txt: Updated to reflect fix.
* platform/efl/accessibility/image-with-alt-and-map-expected.txt: Added.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/gtk/accessibility/image-map1-expected.txt: Added.
* platform/gtk/accessibility/image-map2-expected.txt: Updated to reflect fix.
* platform/gtk/accessibility/image-with-alt-and-map-expected.txt: Added.
* platform/gtk/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/mac/accessibility/image-with-alt-and-map-expected.txt: Added.
* platform/mac/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Updated for added elements.

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

7 years agoRemove unused Document::ignoreAutofocus().
akling@apple.com [Sat, 22 Nov 2014 10:11:13 +0000 (10:11 +0000)]
Remove unused Document::ignoreAutofocus().
<https://webkit.org/b/139002>

Reviewed by Antti Koivisto.

No one ever actually changes this flag, so let's remove it.

* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::ignoreAutofocus): Deleted.
(WebCore::Document::setIgnoreAutofocus): Deleted.
* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):

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

7 years agoURTBF after r176459 to fix GTK build.
ossy@webkit.org [Sat, 22 Nov 2014 09:44:21 +0000 (09:44 +0000)]
URTBF after r176459 to fix GTK build.

* platform/ScrollAnimatorNone.cpp:
(WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
(WebCore::ScrollAnimatorNone::requestAnimationTimerFired):
* platform/ScrollAnimatorNone.h:

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

7 years agoConvert PassRefPtr return types to RefPtr.
akling@apple.com [Sat, 22 Nov 2014 09:12:01 +0000 (09:12 +0000)]
Convert PassRefPtr return types to RefPtr.
<https://webkit.org/b/138995>

Reviewed by Anders Carlsson.

Convert an assortment of DOM and HTML related functions
to return RefPtr instead of PassRefPtr.

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

7 years agoUnreviewed iOS build fix; move new symbols out of Mac-only exports.
jer.noble@apple.com [Sat, 22 Nov 2014 07:50:44 +0000 (07:50 +0000)]
Unreviewed iOS build fix; move new symbols out of Mac-only exports.

* WebCore.exp.in:

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

7 years agoRemove a file that r176499 presumably did not mean to add.
timothy_horton@apple.com [Sat, 22 Nov 2014 06:38:47 +0000 (06:38 +0000)]
Remove a file that r176499 presumably did not mean to add.

* WebCore.exp.in.orig: Removed.

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

7 years agoSupport multiple signatures of diagnostic logging.
jer.noble@apple.com [Sat, 22 Nov 2014 05:27:16 +0000 (05:27 +0000)]
Support multiple signatures of diagnostic logging.
https://bugs.webkit.org/show_bug.cgi?id=138690

Reviewed by Anders Carlsson.

Source/WebCore:

Pull logDiagnosticMessage() out of ChromeClient and make a new client interface,
DiagnosticLoggingClient, which supports multiple kinds of diagnostic logging,
namely: simple logging without a parameter, logging with a success parameter, and
logging with a generic string value parameter.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Use DiagnosticLoggingClient.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
* loader/SubframeLoader.cpp:
(WebCore::logPluginRequest): Ditto.
* page/ChromeClient.h:
(WebCore::ChromeClient::logDiagnosticMessage): Deleted.
* page/DiagnosticLoggingClient.h:
(WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Added.
(WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Added.
(WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Added.
(WebCore::DiagnosticLoggingClient::~DiagnosticLoggingClient): Empty destructor.

Rename Page::PageClient to PageConfiguration, and pass that configuration from
Page into MainFrame upon construction.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage): Use PageConfiguration instead of PageClients.
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients): Ditto.
* loader/EmptyClients.h:
* page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame): Pass loaderClientForMainFrame through to the
    Frame constructor.
(WebCore::MainFrame::create): Takes a PageConfiguration.
* page/MainFrame.h:
(WebCore::MainFrame::diagnosticLoggingClient): Simple accessor.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients): Deleted.
(WebCore::Page::PageClients::~PageClients): Deleted.
* page/Page.h:
* page/PageConfiguration.cpp: Added.
(WebCore::PageConfiguration::PageConfiguration): Renamed from PageClients().
(WebCore::PageConfiguration::~PageConfiguration): Renamed from ~PageClients().
* page/PageConfiguration.h: Added.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged): Use PageConfiguration instead of PageClients.

Add new files and symbols to the project.

* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Page::PageClients has been renamed PageConfiguration.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKit/win:

Page::PageClients has been renamed PageConfiguration.

* WebView.cpp:
(WebView::initWithFrame):

Source/WebKit2:

Extend the existing WKBundlePageDiagnosticLoggingClient interface by deprecating
the original logDiagnosticMessage client method in V1 and adding three new,
explicit client methods.

* CMakeLists.txt:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageDeprecated):
    Renamed from logDiagnosticMessage().
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): Pass to the client.
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto.
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto.
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::logDiagnosticMessage): Deleted.
* WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: Added.
(WebKit::WebDiagnosticLoggingClient::WebDiagnosticLoggingClient): Simple constructor.
(WebKit::WebDiagnosticLoggingClient::~WebDiagnosticLoggingClient): Simple destructor.
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): Pass to the injected bundle.
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto.
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto.
* WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialize the new client.

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

7 years agoUnreviewed. Fixed syntax errors.
rniwa@webkit.org [Sat, 22 Nov 2014 04:25:19 +0000 (04:25 +0000)]
Unreviewed. Fixed syntax errors.

* init-database.sql:
* public/api/commits.php:

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

7 years agoThe dashboard on new perf monitor should be configurable
rniwa@webkit.org [Sat, 22 Nov 2014 03:42:26 +0000 (03:42 +0000)]
The dashboard on new perf monitor should be configurable
https://bugs.webkit.org/show_bug.cgi?id=138994

Reviewed by Benjamin Poulain.

For now, make it configurable via config.json. We should eventually make it configurable via
an administrative page but this will do for now.

* config.json: Added the empty dashboard configuration.

* public/include/manifest.php: Include the dashboard configuration in the manifest file.

* public/v2/app.js:
(App.IndexController): Removed defaultTable since this is now dynamically obtained via App.Manifest.
(App.IndexController.gridChanged): Use App.Dashboard to parse the dashboard configuration.
Also obtain the default configuration from App.Manifest.
(App.IndexController._normalizeTable): Moved to App.Dashboard.

* public/v2/manifest.js:
(App.Repository.urlForRevision): Fixed the position of the open curly bracket.
(App.Repository.urlForRevisionRange): Ditto.
(App.Dashboard): Added.
(App.Dashboard.table): Extracted from App.IndexController.gridChanged.
(App.Dashboard.rows): Ditto.
(App.Dashboard.headerColumns): Ditto.
(App.Dashboard._normalizeTable): Moved from App.IndexController._normalizeTable.
(App.MetricSerializer.normalizePayload): Synthesize a dashboard record from the configuration.
Since there is exactly one dashboard object per app, it's okay to hard code an id here.
(App.Manifest._fetchedManifest): Set defaultDashboard to the one and only one dashboard we have.

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

7 years agoThrottled DOMTimers can prevent their document from being garbage collected
cdumez@apple.com [Sat, 22 Nov 2014 03:29:58 +0000 (03:29 +0000)]
Throttled DOMTimers can prevent their document from being garbage collected
https://bugs.webkit.org/show_bug.cgi?id=138915

Reviewed by Andreas Kling.

Source/WebCore:

Throttled DOMTimers whose interval depend on viewport changes would
keep a Vector of elements outside viewport causing them to be throttled
so that we could check later on (upon scroll or layout) if those
elements are still outside viewport. The issue is that these elements
could potentially be removed from the document (and destroyed) after
the timer has fired. To handle this, DOMTimer was ref'ing the
elements. Unfortunately, this was causing us to leak the document
as the elements in the Vector would keep the document alive.

To handle this issue, this patch updates the DOMTimer Vector to use
weak pointers. The WeakPtrFactory is stored in ElementRareData to
avoid wasting memory for all kinds of Elements (it is a fair assumption
that the number of elements whose style is animated via timers is low).

Test: fast/dom/throttled-timer-running-on-document-destruction.html

* dom/Element.cpp:
(WebCore::Element::createWeakPtr):
* dom/Element.h:
* dom/ElementRareData.cpp:
* dom/ElementRareData.h:
(WebCore::ElementRareData::weakPtrFactory):
* page/DOMTimer.cpp:
(WebCore::DOMTimerFireState::elementsChangedOutsideViewport):
(WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):
* page/DOMTimer.h:

LayoutTests:

Improve fast/dom/throttled-timer-running-on-document-destruction.html
layout test to cover the case where the throttled timer is changing the
style of an element on the *same* document when the document is
destroyed.

* fast/dom/resources/frame-with-throttled-timer-animating-element-other-document.html: Renamed from LayoutTests/fast/dom/resources/frame-with-throttled-timer.html.
* fast/dom/resources/frame-with-throttled-timer-animating-element-same-document.html: Added.
* fast/dom/throttled-timer-running-on-document-destruction.html:

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

7 years agoUnreviewed, EFL build fix since r176459.
gyuyoung.kim@samsung.com [Sat, 22 Nov 2014 03:27:53 +0000 (03:27 +0000)]
Unreviewed, EFL build fix since r176459.

r176459 removed Timer parameter in timer callbacks only for Mac port.
So this patch applies it to remaining classes for EFL port.

Source/WebCore:

No new tests, fix build break.

* Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::RTCDTMFSender):
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::RTCDataChannel):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::Vibration):
(WebCore::Vibration::timerFired):
* Modules/vibration/Vibration.h:
* bindings/js/GCController.cpp:
(WebCore::GCController::GCController):
* platform/efl/BatteryProviderEfl.cpp:
(WebCore::BatteryProviderEfl::BatteryProviderEfl):
(WebCore::BatteryProviderEfl::timerFired):
* platform/efl/BatteryProviderEfl.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::BitmapTexturePool::BitmapTexturePool):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::CompositingCoordinator):
(WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
* platform/graphics/texmap/coordinated/CompositingCoordinator.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
(WebCore::CoordinatedImageBacking::CoordinatedImageBacking):
(WebCore::CoordinatedImageBacking::clearContentsTimerFired):
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
* platform/mock/DeviceMotionClientMock.cpp:
(WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
(WebCore::DeviceMotionClientMock::timerFired):
* platform/mock/DeviceMotionClientMock.h:
* platform/mock/TimerEventBasedMock.h:
(WebCore::TimerEvent::TimerEvent):
(WebCore::TimerEvent::timerFired):

Source/WebKit2:

* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
(EwkView::displayTimerFired):
* UIProcess/API/efl/EwkView.h:
* UIProcess/efl/TextCheckerClientEfl.cpp:
(TextCheckerClientEfl::TextCheckerClientEfl):
(TextCheckerClientEfl::languagesUpdateTimerFired):
(TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
* UIProcess/efl/TextCheckerClientEfl.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:

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

7 years agoStart using the new :not() and :matches() in the Web Inspector
benjamin@webkit.org [Sat, 22 Nov 2014 02:06:47 +0000 (02:06 +0000)]
Start using the new :not() and :matches() in the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=138978

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-21
Reviewed by Joseph Pecoraro.

Source/WebCore:

There are only minor pending issues on :not() and :matches(). The feedback
has only been positive so far. It is time to move them out the experimental
flag.

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::detectFunctionTypeToken):
* css/CSSSelector.cpp:
(WebCore::simpleSelectorSpecificityInternal):
(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
(WebCore::appendSelectorList):
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::determineLinkMatchType):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):

Source/WebInspectorUI:

Start simpifying some definitions by using modern CSS.

* UserInterface/Views/CSSStyleDeclarationSection.css:
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:matches(.last-in-group, :last-child)):
(.style-declaration-section:matches(.locked, .selector-locked) > .header > .selector):
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:last-child): Deleted.
(.style-declaration-section.selector-locked > .header > .selector): Deleted.
* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.overridden): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property.overridden): Deleted.
* UserInterface/Views/ControlToolbarItem.css:
(.toolbar:matches(.icon-and-label-horizontal, .toolbar.icon-only) .item.control):
(.toolbar.icon-only .item.control): Deleted.
* UserInterface/Views/DOMStorageContentView.css:
* UserInterface/Views/DashboardContainerView.css:
(.toolbar.icon-and-label-vertical:matches(.small-size, .normal-size) .dashboard-container):
(.toolbar:matches(.label-only, .small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal)) .dashboard-container):
(.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container):
(.toolbar.normal-size.icon-and-label-vertical .dashboard-container): Deleted.
(.toolbar.small-size.icon-and-label-horizontal .dashboard-container): Deleted.
(.toolbar.normal-size.icon-and-label-horizontal .dashboard-container): Deleted.
* UserInterface/Views/DataGrid.css:
(.data-grid :matches(th, td):not(:last-child)):
(.data-grid th:matches(.sort-ascending, .sort-descending)):
(.data-grid :matches(th, td) > div):
(.data-grid th:matches(.sort-ascending, .sort-descending) > div:first-child):
(.data-grid tr:matches(.selected, :hover) .go-to-arrow):
(.data-grid :-webkit-any(th, td):not(:last-child)): Deleted.
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending)): Deleted.
(.data-grid :-webkit-any(th, td) > div): Deleted.
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child): Deleted.
(.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow): Deleted.
* UserInterface/Views/DebuggerDashboardView.css:
(.toolbar.collapsed .dashboard.debugger > :not(.message, .navigation-bar )):
(.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )): Deleted.
* UserInterface/Views/DefaultDashboardView.css:
(body.web .toolbar.collapsed .dashboard.default > :matches(.time, .resourcesSize, .logs)):
(body.javascript .toolbar .dashboard.default > :matches(.time, .resourcesSize, .resourcesCount)):
(.toolbar:matches(.label-only, .small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal)) .dashboard.default > .item):
(.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard.default > .item):
(body.web .toolbar.collapsed .dashboard.default > .logs): Deleted.
(body.javascript .toolbar .dashboard.default > .resourcesCount): Deleted.
(.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item): Deleted.
(.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item): Deleted.
* UserInterface/Views/DetailsSection.css:
(.details-section > .header > :matches(.node-link, .go-to-arrow)):
(.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
(body.mac-platform.legacy .details-section > .content > .group:matches(:nth-child(even), :last-child) > .row.simple:last-child > *):
(.details-section > .content > .group > .row:matches(.empty, .text)):
(body.mac-platform.legacy .details-section > .content > .group > .row:matches(.empty, .text)):
(.details-section > .header > .go-to-arrow): Deleted.
(.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *): Deleted.
(body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *): Deleted.
(.details-section > .content > .group > .row.text): Deleted.
(body.mac-platform.legacy .details-section > .content > .group > .row.text): Deleted.
* UserInterface/Views/FindBanner.css:
(:matches(.find-banner, .supports-find-banner).no-find-banner-transition):
(.supports-find-banner.no-find-banner-transition): Deleted.
* UserInterface/Views/FlexibleSpaceNavigationItem.css:
(:matches(.navigation-bar, .toolbar) .item.flexible-space):
(.toolbar .item.flexible-space): Deleted.

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

7 years agoThere should be a way to associate bugs with analysis tasks
rniwa@webkit.org [Sat, 22 Nov 2014 02:06:00 +0000 (02:06 +0000)]
There should be a way to associate bugs with analysis tasks
https://bugs.webkit.org/show_bug.cgi?id=138977

Reviewed by Benjamin Poulain.

Updated associate-bug.php to match the new database schema.

* public/include/json-header.php:
(require_format): Removed the call to camel_case_words_separated_by_underscore since the name is
already camel-cased in require_existence_of. This makes the function usable elsewhere.

* public/privileged-api/associate-bug.php:
(main): Changed the API to take run, bugTracker, and number to match the new database schema.
Also verify that those values are integers using require_format.

* public/v2/analysis.js:
(App.AnalysisTask.label): Added. Concatenates the task's name with the bug numbers.
(App.Bug.label): Added.
(App.BugAdapter): Added.
(App.BugAdapter.createRecord): Use PrivilegedAPI instead of the builtin ajax call.
(App.BuildRequest): Inherit from newly added App.Model, which is set to DS.Model right now.

* public/v2/app.css: Renamed .test-groups to .analysis-group. Also added new rules for the table
containing the bug information.

* public/v2/app.js:
(App.InteractiveChartComponent._rangesChanged): Added label to range bar objects.
(App.AnalysisTaskRoute):
(App.AnalysisTaskController): Replaced the functionality of App.AnalysisTaskViewModel.
(App.AnalysisTaskController._fetchedManifest): Added.
(App.AnalysisTaskController.actions.associateBug): Added.

* public/v2/chart-pane.css: Renamed .bugs-pane to .analysis-pane.

* public/v2/data.js:
(Measurement.prototype.associateBug): Deleted.

* public/v2/index.html: Renamed .bugs-pane to .analysis-pane and .test-groups to .analysis-group.
Added a table show the bug information. Also hide the chart until chartData is available.

* public/v2/manifest.js:
(App.Model): Added.

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

7 years agoUnreviewed, iOS build fix after r176462.
cdumez@apple.com [Sat, 22 Nov 2014 01:43:07 +0000 (01:43 +0000)]
Unreviewed, iOS build fix after r176462.

Source/WebCore:

Export a few extra symbols.

* WebCore.exp.in:

Source/WebKit2:

Fix include path to TextIndicator.h to include WebCore/
as it was moved.

* UIProcess/ios/PageClientImplIOS.mm:

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

7 years agoProperties in CSSPropertyNames.in should use the new StyleBuilder by default
cdumez@apple.com [Sat, 22 Nov 2014 01:26:46 +0000 (01:26 +0000)]
Properties in CSSPropertyNames.in should use the new StyleBuilder by default
https://bugs.webkit.org/show_bug.cgi?id=138983

Reviewed by Andreas Kling.

This patch makes using the new StyleBuilder the default and drops the
[NewStyleBuilder] option as a result. A new [LegacyStyleBuilder] option
is introduced for CSS properties that are not generated in the new
StyleBuilder yet.

* css/CSSPropertyNames.in:
* css/SVGCSSPropertyNames.in:
* css/makeprop.pl:

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

7 years ago[iOS] Regression(r176202): line-height is wrong on marco.org
cdumez@apple.com [Sat, 22 Nov 2014 01:22:41 +0000 (01:22 +0000)]
[iOS] Regression(r176202): line-height is wrong on marco.org
https://bugs.webkit.org/show_bug.cgi?id=138970

Reviewed by Simon Fraser.

Source/WebCore:

After r176202, on iOS with IOS_TEXT_AUTOSIZING enabled, we would
multiply the lineHeight by RenderStyle::textSizeAdjust()::multiplier()
unconditionally. However, we're only supposed to do so if
RenderStyle::textSizeAdjust()::isPercentage() returns true. This
patch reintroduces the textSizeAdjust().isPercentage() check that was
inadvertently dropped when refactoring the code to be shared between
iOS and OS X.

Additionally, the multiplier is only supposed the be applied if the
input CSSPrimitiveValue is a Length or a Number. However, after
r176202, we would apply the multiplier if the CSSPrimitiveValue is
a Percentage or a Number. This patch updates the code to match the
behavior prior to r176202.

Test: fast/css/line-height-text-autosizing.html

* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderFunctions::convertLineHeight):
(WebCore::StyleBuilderFunctions::applyValueLineHeight):

LayoutTests:

Add layout test to cover line-height CSS property and its interaction
with -webkit-text-size-adjust.

* fast/css/line-height-text-autosizing-expected.txt: Added.
* fast/css/line-height-text-autosizing.html: Added.
* platform/ios-simulator/fast/css/line-height-text-autosizing-expected.txt: Added.

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

7 years agoUnreviewed, iOS build fix after r176452.
cdumez@apple.com [Sat, 22 Nov 2014 01:09:21 +0000 (01:09 +0000)]
Unreviewed, iOS build fix after r176452.

dencodeFixedLengthData() now only takes 2 arguments instead of
3.

* Shared/ios/QuickLookDocumentData.cpp:
(WebKit::QuickLookDocumentData::decode):

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

7 years agoSimple line layout: Add "show simple line layout debug borders" setting to MiniBrowser.
zalan@apple.com [Sat, 22 Nov 2014 00:59:27 +0000 (00:59 +0000)]
Simple line layout: Add "show simple line layout debug borders" setting to MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=138981

Reviewed by Simon Fraser.

Source/WebKit/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences simpleLineLayoutDebugBordersEnabled]):
(-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _simpleLineLayoutDebugBordersEnabled]):
(-[WKPreferences _setSimpleLineLayoutDebugBordersEnabled:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleSimpleLineLayoutDebugBordersEnabled:]):
(-[SettingsController simpleLineLayoutDebugBordersEnabled]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):

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

7 years agoWebVideoFullscreenManagerProxy must clear pointers when invalidated
eric.carlson@apple.com [Sat, 22 Nov 2014 00:55:45 +0000 (00:55 +0000)]
WebVideoFullscreenManagerProxy must clear pointers when invalidated
https://bugs.webkit.org/show_bug.cgi?id=138982

Reviewed by Jer Noble.

* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy): Call invalidate.
(WebKit::WebVideoFullscreenManagerProxy::invalidate): Set WebVideoFullscreenModel and
    WebVideoFullscreenChangeObserver to NULL.

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

7 years agoFix the build.
timothy_horton@apple.com [Sat, 22 Nov 2014 00:51:20 +0000 (00:51 +0000)]
Fix the build.

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

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

7 years agoThe preview action menu item should not have a title
bdakin@apple.com [Sat, 22 Nov 2014 00:19:24 +0000 (00:19 +0000)]
The preview action menu item should not have a title
https://bugs.webkit.org/show_bug.cgi?id=138989
-and corresponding-
rdar://problem/19061959

Reviewed by Anders Carlsson.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _createActionMenuItemForTag:]):

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

7 years agoAX: com.apple.WebKit.WebContent crashed at WebCore: WebCore::AccessibilityRenderObjec...
cfleizach@apple.com [Sat, 22 Nov 2014 00:11:51 +0000 (00:11 +0000)]
AX: com.apple.WebKit.WebContent crashed at WebCore: WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const
https://bugs.webkit.org/show_bug.cgi?id=138905

Reviewed by Mario Sanchez Prada.

The crash log indicates that m_renderer is null at the time we ask ancestorsOfType().
This is more of a speculative fix, since I am not entirely sure m_renderer is null when we enter the method.

Unable to determine cause of crash or how to reproduce on demand.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

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

7 years agoPage previews should have a margin.
conrad_shultz@apple.com [Sat, 22 Nov 2014 00:07:46 +0000 (00:07 +0000)]
Page previews should have a margin.
https://bugs.webkit.org/show_bug.cgi?id=138990

Reviewed by Beth Dakin.

Enclose the WKWebView (or client-supplied preview view) in a container slightly larger
than the preview view. Adjust sizing code to accommodate the margin.

* UIProcess/mac/WKActionMenuController.mm:
(+[WKPagePreviewViewController previewPadding]):
Return the total amount of fixed padding surrounding the preview
(-[WKPagePreviewViewController loadView]):
Store the actual previewView in an ivar so that clients can distinguish it from the container
view; wrap the preview in a container view; set frames appropriately.
(-[WKActionMenuController _createPreviewPopover]):
Update to reflect method rename; supplement the popover size with the fixed padding.
(-[WKActionMenuController _preferredPopoverSizeWithPreviewPadding:]):
Renamed from -_preferredPopoverSize; account for the fixed padding when computing the preferred size.
(-[WKActionMenuController _clearPreviewPopover]):
Use the previewView ivar instead of the view controller's view.
(-[WKActionMenuController pagePreviewViewControllerWasClicked:]):
Ditto.
(-[WKActionMenuController _preferredPopoverSize]): Deleted.

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

7 years ago[EME][Mac] Check the underlying error if the one returned by AVFoundation is AVErrorU...
jer.noble@apple.com [Sat, 22 Nov 2014 00:04:58 +0000 (00:04 +0000)]
[EME][Mac] Check the underlying error if the one returned by AVFoundation is AVErrorUnknown.
https://bugs.webkit.org/show_bug.cgi?id=138986

Reviewed by Eric Carlson.

When we recieve an error with the code AVErrorUnknown, look for an underlying error from CoreMedia (or another
lower-level framework) with a (presumably) more informative error code, and return that code instead.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::systemCodeForError):
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):

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

7 years agoAX: Unclear that user and password are autofilled, no VoiceOver version of the yellow...
cfleizach@apple.com [Sat, 22 Nov 2014 00:02:59 +0000 (00:02 +0000)]
AX: Unclear that user and password are autofilled, no VoiceOver version of the yellow outline.
https://bugs.webkit.org/show_bug.cgi?id=138904

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Add an attribute that marks when a text field is auto-filled.

Test: accessibility/auto-filled-value.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isValueAutofilled):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

* accessibility/auto-filled-value.html: Added.
* platform/mac/accessibility/auto-filled-value-expected.txt: Added.

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

7 years agoREGRESSION (r176415): Can get stuck, unable to invoke any DataDetectors popovers
timothy_horton@apple.com [Fri, 21 Nov 2014 23:53:13 +0000 (23:53 +0000)]
REGRESSION (r176415): Can get stuck, unable to invoke any DataDetectors popovers
https://bugs.webkit.org/show_bug.cgi?id=138955
<rdar://problem/19056442>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView mouseDown:]):
* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController wkView:willHandleMouseDown:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController menuNeedsUpdate:]):
Keep track of whether we have called shouldUseActionsWithContext: on a
DDActionContext; if we get a mouseDown without having seen didCloseMenu:
(and thus don't properly pair the shouldUseActionsWithContext: with a didUseActions),
tear down the old DDActionContext before proceeding.

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

7 years agoAllocate local ScopeChain register
msaboff@apple.com [Fri, 21 Nov 2014 23:41:26 +0000 (23:41 +0000)]
Allocate local ScopeChain register
https://bugs.webkit.org/show_bug.cgi?id=138793

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Now we allocate the scope register as a local.  The allocated register is stored in the
CodeBlock for use by other components.  Update the DFG to work with a local scope register.
Changed usage of JSStack::ScopeChain access to the CallFrame header to use the allocated
local register.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
Updated to properly represent the operand inputs and bytecode result.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::setScopeRegister):
(JSC::CodeBlock::scopeRegister):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::setScopeRegister):
(JSC::UnlinkedCodeBlock::scopeRegister):
Added scope register member and accessors.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::allocateAndEmitScope):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::scopeRegister):
Change m_scopeRegister to an allocated register.  Added allocateAndEmitScope helper to
allocate the scope register, set the CodeBlock with its value and emit op_get_scope.

* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::scope): Changed to access the scope using the new convention.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::parseBlock):
Changed op_create_lexical_environment to set the scope VirtualRegister operand.
Filled out op_get_scope processing to emit a GetScope node putting the result in
the scope VirtualRegister result operand.
Added Phantoms where appropriate to keep the Scope register alive in places where
it use is optimized away, but where the baseline JIT would need to use its value.
Eliminated uses of JSStack::ScopeChain.

* dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):
Make sure that the scope register stack location is allocated using the same place
that the codeBlock expects.

* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
Allow strength reduction of Flush to skip of GetScope nodes looking for a prior
corresponding SetLocal.

* interpreter/CallFrame.h:
(JSC::ExecState::scope):
(JSC::ExecState::setScope):
Added new scope() and setScope() helpers that take a VirtualRegister offset.

* interpreter/Interpreter.cpp:
(JSC::eval):
Changed eval() to get the scope from the caller's scope register instead of from the
temporary frame created for eval.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
Changed unwind() to manipulate the scope n the allocated register instead of from the
call frame slot.

* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::readInlinedFrame):
* interpreter/StackVisitor.h:
(JSC::StackVisitor::Frame::callee):
(JSC::StackVisitor::Frame::scope): Deleted.
Eliminated the scope member as it needed to change and no StackVisitor users use it.

* jit/JITOperations.cpp:
(JSC::operationPushNameScope):
(JSC::operationPushWithScope):
* runtime/JSNameScope.h:
(JSC::JSNameScope::create):
* runtime/JSWithScope.h:
(JSC::JSWithScope::create): Deleted.
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Deleted JSNameScope::create() and JSWithScope::create() flavors tht used the ScopeChain slot
in the CallFrame header.  Changed the only user of these function, op_push_name_scope and
op_push_with_scope helpers, to use the remaining create variants that require explicit scope.
Those operations get the scope from the register pointed to by their scope operands.

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Changed resolveScope to use the allocated register.

LayoutTests:

New test that sets a breakpoint in a callee of a DFG caller.  While stopped in the
breakpoint, it modifies a global via the scope chain of the DFG caller as well as
a local of the DFG caller.

* inspector-protocol/debugger/resources/breakpoint.js:
(notInlineable3):
(dfgWithoutInline3):
* inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt: Added.
* inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html: Added.

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

7 years agoRenderElement::removeChild() doesn't need a return value.
akling@apple.com [Fri, 21 Nov 2014 23:39:16 +0000 (23:39 +0000)]
RenderElement::removeChild() doesn't need a return value.
<https://webkit.org/b/138985>

Reviewed by Pantti Koivisto.

Nobody uses the return value from RenderElement::removeChild().
Change it to return void and remove all the unnecessary plumbing.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::removeChild):
* rendering/RenderBlockFlow.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::removeChild):
* rendering/RenderButton.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::removeChild):
(WebCore::RenderElement::removeChildInternal):
* rendering/RenderElement.h:
* rendering/RenderMenuList.cpp:
(RenderMenuList::removeChild):
* rendering/RenderMenuList.h:
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsInline::removeChild):
(WebCore::RenderRubyAsBlock::removeChild):
* rendering/RenderRuby.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
* rendering/RenderRubyRun.h:
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
(WebCore::RenderMathMLRootWrapper::removeChild):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::removeChild):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChild):
* rendering/mathml/RenderMathMLScripts.h:
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::removeChild):
* rendering/svg/RenderSVGContainer.h:
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::removeChild):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::removeChild):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::removeChild):
* rendering/svg/RenderSVGText.h:

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

7 years agoREGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
timothy_horton@apple.com [Fri, 21 Nov 2014 23:38:19 +0000 (23:38 +0000)]
REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
​https://bugs.webkit.org/show_bug.cgi?id=138960
<rdar://problem/19056715>

Reviewed by Anders Carlsson.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WKActionMenuController _defaultMenuItemsForMailtoLink]): Deleted.
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForMailtoLink]):
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
Use DataDetectors SPI instead of an explicit blacklist.

* platform/spi/mac/DataDetectorsSPI.h:
Add some DataDetectors SPI.

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

7 years ago[Mac] Random crashes inside media libraries when creating then destroying media quickly.
jer.noble@apple.com [Fri, 21 Nov 2014 23:29:08 +0000 (23:29 +0000)]
[Mac] Random crashes inside media libraries when creating then destroying media quickly.
https://bugs.webkit.org/show_bug.cgi?id=138980

Reviewed by Eric Carlson.

Speculative fix for random crashes in the layout tests which occur randomly but regularly. The theory is
that creating-then-destroying our media objects too quickly triggers crashes deep within the media frameworks
when their initialization threads don't have a chance to complete before the main player object is destroyed.
Test out this theory by delaying the destruction of the AVPlayer object for 1s after its owner is destroyed.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):

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

7 years ago[Mac] Delay of 1-2s after the first paint of a video frame.
jer.noble@apple.com [Fri, 21 Nov 2014 23:24:20 +0000 (23:24 +0000)]
[Mac] Delay of 1-2s after the first paint of a video frame.
https://bugs.webkit.org/show_bug.cgi?id=138979

Reviewed by Eric Carlson.

Only bother waiting for a signal that a new image is ready when the image isn't ready in the first place.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

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

7 years agoCrashes while encoding a TextIndicator with no contentImageWithHighlight
timothy_horton@apple.com [Fri, 21 Nov 2014 23:10:59 +0000 (23:10 +0000)]
Crashes while encoding a TextIndicator with no contentImageWithHighlight
https://bugs.webkit.org/show_bug.cgi?id=138984
<rdar://problem/19063717>

Reviewed by Sam Weinig.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
encodeImage doesn't deal with null images, so handle that case gracefully.

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

7 years agoSource/WebCore:
mmaxfield@apple.com [Fri, 21 Nov 2014 22:33:17 +0000 (22:33 +0000)]
Source/WebCore:
Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics.
https://bugs.webkit.org/show_bug.cgi?id=89235

Reviewed by Eric Seidel and Dave Hyatt.

This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break),
and enables testing on (apple) mac ports. Follow on patches will enable these tests on
other ports as they are incrementally verified.

See also wiki documentation at:
[1] http://trac.webkit.org/wiki/LineBreaking
[2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping

Tests: css3/line-break/line-break-auto-centered.html
       css3/line-break/line-break-auto-half-kana.html
       css3/line-break/line-break-auto-hyphens.html
       css3/line-break/line-break-auto-inseparables.html
       css3/line-break/line-break-auto-iteration-marks.html
       css3/line-break/line-break-auto-postfixes.html
       css3/line-break/line-break-auto-prefixes.html
       css3/line-break/line-break-auto-sound-marks.html
       css3/line-break/line-break-loose-centered.html
       css3/line-break/line-break-loose-half-kana.html
       css3/line-break/line-break-loose-hyphens.html
       css3/line-break/line-break-loose-inseparables.html
       css3/line-break/line-break-loose-iteration-marks.html
       css3/line-break/line-break-loose-postfixes.html
       css3/line-break/line-break-loose-prefixes.html
       css3/line-break/line-break-loose-sound-marks.html
       css3/line-break/line-break-normal-centered.html
       css3/line-break/line-break-normal-half-kana.html
       css3/line-break/line-break-normal-hyphens.html
       css3/line-break/line-break-normal-inseparables.html
       css3/line-break/line-break-normal-iteration-marks.html
       css3/line-break/line-break-normal-postfixes.html
       css3/line-break/line-break-normal-prefixes.html
       css3/line-break/line-break-normal-sound-marks.html
       css3/line-break/line-break-strict-centered.html
       css3/line-break/line-break-strict-half-kana.html
       css3/line-break/line-break-strict-hyphens.html
       css3/line-break/line-break-strict-inseparables.html
       css3/line-break/line-break-strict-iteration-marks.html
       css3/line-break/line-break-strict-postfixes.html
       css3/line-break/line-break-strict-prefixes.html
       css3/line-break/line-break-strict-sound-marks.html

These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped
in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports.

* platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
Add static function to construct ICU locale argument (also used as pool key) with additional
break keyword.
(LineBreakIteratorPool):
(WebCore::LineBreakIteratorPool::take):
(WebCore::LineBreakIteratorPool::put):
Remove direct dependency from ICU library (and types), moving that dependency into
new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp).
Update to take line break mode into account.
Create (and cache) different break iterators depending on line break mode (in addition to locale),
which entails expanding pool entry key format to optionally append "@break=" +
"loose"|"normal"|"strict" keyword to locale string.

* platform/text/TextBreakIterator.h:
(WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
(WebCore::LazyLineBreakIterator::isLooseCJKMode):
(WebCore::LazyLineBreakIterator::get):
(WebCore::LazyLineBreakIterator::reset):
(LazyLineBreakIterator):
Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al.
Add state member to indicate line break mode.

* platform/text/TextBreakIteratorICU.cpp:
(WebCore::acquireLineBreakIterator):
Use new line break mode when making iterator from pool.
Handle change of return type of LineBreakIteratorPool::take() to non-ICU type,
i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
(WebCore::releaseLineBreakIterator):
Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type,
i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
(WebCore):
(WebCore::isCJKLocale):
New functions for determining if CJK rules apply.
(WebCore::openLineBreakIterator):
New function for abstracting opening of ICU style line break iterator. This is now
used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
This function also takes into account the line break mode.

Note that this function only calls ubrk_openRules() when the author has opted-in via
using the -webkit-line-break CSS property. Eventually, we would like to be able to
customize the rules that ICU's line breaking algorithm uses (especially for CJK text);
however, ubrk_openRules() currently parses its input string to create a DFA and is
therefore very slow. In fact, it's so slow that increasing our cache size in
LineBreakIteratorPool doesn't actually help enough. Also note that the default value
for the line-break CSS property is 'auto'.
(WebCore::closeLineBreakIterator):
(WebCore::mapLineIteratorModeToRules):
New function for abstracting closing of ICU style line break iterator. This is now
used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
Pass line break iterator mode flag when reseting LazyLineBreakIterator.
Add looseMode local variable to prevent need for computing under isBreakable().

* rendering/RenderText.cpp:
(WebCore::mapLineBreakToIteratorMode):
Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
and RenderBlock::LineBreaker::nextLineBreak.
(WebCore):
(WebCore::RenderText::computePreferredLogicalWidths):
Ensure (lazy line) breakIterator is initialized for line break mode.
Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak.

* rendering/RenderText.h:
(WebCore):
Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
and RenderBlock::LineBreaker::nextLineBreak.

* rendering/break_lines.cpp:
(WebCore):
Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition.
(WebCore::isBreakableSpace):
Add externally specified loose mode parameter to prevent need to invoke line break iterator
accessor method on each invocation. Use new loose mode flavors off NBP functions.
(WebCore::needsLineBreakIterator):
Use enum NBSP behavior template parameter rather than boolean.
(WebCore::nextBreakablePositionNonLoosely):
Extend name to distinguish from loose flavor of this function.
(WebCore::nextBreakablePositionLoosely):
Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut
table cannot be used.
(WebCore::nextBreakablePosition):
(WebCore::nextBreakablePositionIgnoringNBSP):
Use (renamed) non-loose flavor of NBP.
(WebCore::nextBreakablePositionLoose):
(WebCore::nextBreakablePositionIgnoringNBSPLoose):
Introduce loose flavor of NBP template expansions.

* rendering/break_lines.h:
(WebCore):
(WebCore::isBreakable):
Add externally specified loose mode parameter to prevent need to invoke line break iterator
accessor method on each invocation.

LayoutTests:
CSS3: line-break property support
https://bugs.webkit.org/show_bug.cgi?id=89235

Reviewed by Eric Seidel and Dave Hyatt.

* platform/mac/TestExpectations: Mark css3/line-break tests as passing.

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

7 years agoMore build fixes.
andersca@apple.com [Fri, 21 Nov 2014 21:34:30 +0000 (21:34 +0000)]
More build fixes.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):

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

7 years ago[iOS] allocate volume view on the main thread
eric.carlson@apple.com [Fri, 21 Nov 2014 21:22:47 +0000 (21:22 +0000)]
[iOS] allocate volume view on the main thread
https://bugs.webkit.org/show_bug.cgi?id=138971
rdar://problem/18016958

Reviewed by Jer Noble.

* platform/audio/ios/MediaSessionManagerIOS.mm:
(-[WebMediaSessionHelper allocateVolumeView]): New, dispatch to the main thread if necessary before allocating
    the volume view.
(-[WebMediaSessionHelper initWithCallback:]): Call allocateVolumeView.

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

7 years agoREGRESSION(r175259) Simple line layout text measuring behavior changed.
zalan@apple.com [Fri, 21 Nov 2014 21:08:55 +0000 (21:08 +0000)]
REGRESSION(r175259) Simple line layout text measuring behavior changed.
https://bugs.webkit.org/show_bug.cgi?id=138947
rdar://problem/19050653

Reviewed by Antti Koivisto.

In certain cases, when block flow needs to compute the preferred width of a particular text
renderer, we use the non-simple line layout text measuring.
However, the same text renderer might end up at simple line layout later.
Complex line layout measures text including the trailing space and it subtracts
(the constant value of) space width afterwards, while simple line layout measures
runs without the extra space.
In such cases, this may result different word widths and produce unexpected line breaking. (preferred width != final width)
In long term, any text renderer qualified for simple line layout should go through the simple
text measuring code path. (https://bugs.webkit.org/show_bug.cgi?id=138973)
For now, just copy complex line layout behaviour. This also matches the previous simple line layout line breaking implementation.

Source/WebCore:

Test: fast/text/simple-line-text-measuring-with-trailing-space.html

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::FlowContents::textWidth):

LayoutTests:

* fast/text/simple-line-text-measuring-with-trailing-space-expected.html: Added.
* fast/text/simple-line-text-measuring-with-trailing-space.html: Added.

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

7 years agoAdd a new symbol.
andersca@apple.com [Fri, 21 Nov 2014 21:01:46 +0000 (21:01 +0000)]
Add a new symbol.

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

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

7 years agoRemove a symbol that's gone.
andersca@apple.com [Fri, 21 Nov 2014 20:57:28 +0000 (20:57 +0000)]
Remove a symbol that's gone.

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

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

7 years agoAnother Windows build fix.
andersca@apple.com [Fri, 21 Nov 2014 20:51:51 +0000 (20:51 +0000)]
Another Windows build fix.

* FullscreenVideoController.cpp:
(FullscreenVideoController::FullscreenVideoController):

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

7 years agoMore Windows build fixes.
andersca@apple.com [Fri, 21 Nov 2014 20:44:22 +0000 (20:44 +0000)]
More Windows build fixes.

* platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
(WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
(WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
* platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
* platform/mock/GeolocationClientMock.cpp:
(WebCore::GeolocationClientMock::GeolocationClientMock):
(WebCore::GeolocationClientMock::permissionTimerFired):
(WebCore::GeolocationClientMock::controllerTimerFired):
* platform/mock/GeolocationClientMock.h:

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

7 years agoRenderMathMLScripts isPrescript() helper should take a reference.
akling@apple.com [Fri, 21 Nov 2014 20:42:14 +0000 (20:42 +0000)]
RenderMathMLScripts isPrescript() helper should take a reference.
<https://webkit.org/b/138975>

Reviewed by Antti Koivisto.

Tidy this up a bit, since it's never called with a null pointer.

* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::isPrescript):
(WebCore::RenderMathMLScripts::fixAnonymousStyles):
(WebCore::RenderMathMLScripts::addChildInternal):
(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::layout):
(WebCore::RenderMathMLScriptsWrapper::addChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):

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

7 years agoWindows build fixes.
andersca@apple.com [Fri, 21 Nov 2014 20:37:21 +0000 (20:37 +0000)]
Windows build fixes.

* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::freeLibraryTimerFired):
(WebCore::PluginPackage::PluginPackage):
* plugins/PluginPackage.h:
* plugins/PluginStream.cpp:
(WebCore::PluginStream::PluginStream):
(WebCore::PluginStream::delayDeliveryTimerFired):
(WebCore::PluginStream::deliverData): Deleted.
* plugins/PluginStream.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::popPopupsStateTimerFired):
(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::invalidateTimerFired):
(WebCore::PluginView::PluginView):
(WebCore::PluginView::lifeSupportTimerFired):
(WebCore::PluginView::performRequest): Deleted.
(WebCore::PluginView::setValue): Deleted.
(WebCore::PluginView::setParameters): Deleted.
(WebCore::PluginView::userAgent): Deleted.
* plugins/PluginView.h:
* plugins/win/PluginMessageThrottlerWin.cpp:
(WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
* plugins/win/PluginMessageThrottlerWin.h:

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

7 years agoREGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
timothy_horton@apple.com [Fri, 21 Nov 2014 20:28:15 +0000 (20:28 +0000)]
REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
https://bugs.webkit.org/show_bug.cgi?id=138960
<rdar://problem/19056715>

Reviewed by Beth Dakin.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
Blacklist contact results, because they don't have useful menus. If we
bail before setting up _currentActionContext, we'll still allow fallthrough
to ordinary text actions, avoiding mysterious failure when a contact is detected.

This doesn't break the case that r176351 was intended to fix,
because in that case we were detecting e.g. addresses.

* platform/spi/mac/DataDetectorsSPI.h:
Softlink some SPI.

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