Undefined Symbol build error "_objc_registerThreadWithCollector" when building WebKit GTK Mac OS X on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=58737

Reviewed by Darin Adler.

Replace OS(MAC_OS_X) with PLATFORM(MAC) to prevent using
osx-specific code in WebKitGTK+ builds.

* wtf/ThreadingPthreads.cpp:
(WTF::initializeCurrentThreadInternal):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Apple] Use Accelerate framework to speed-up FEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=139310

Unreviewed followup, after comments by Andreas Kling.

It was pointed out that we already have a USE(ACCELERATE), so
we don't need a HAVE(ACCELERATE) :)

Source/WebCore:

* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::platformApply):

Source/WTF:

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: [ATK] MathML tokens, tables, and row-like elements are exposed with ATK_ROLE_UNKNOWN
https://bugs.webkit.org/show_bug.cgi?id=139402

Reviewed by Chris Fleizach.

Source/WebCore:

Expose tables and their children using existing table AtkRole types,
token elements using the new ATK_ROLE_STATIC, and row-like elements
using ATK_ROLE_PANEL. Also expose <mlabeledtr> as a math table row
and <ms> as math text.

No new tests; instead, added MathML elements to roles-exposed.html.

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isMathToken):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isMathToken):
(WebCore::AccessibilityRenderObject::isMathText):
(WebCore::AccessibilityRenderObject::isMathTableRow):
* accessibility/AccessibilityRenderObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):
* css/mathml.css:
(ms, mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
(mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
* mathml/mathtags.in:

LayoutTests:

* accessibility/roles-exposed.html: Added MathML elements.
* platform/efl/accessibility/roles-exposed-expected.txt: Updated for added elements.
* platform/gtk/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.
* platform/mac/accessibility/roles-exposed-expected.txt: Updated for added elements.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mark several hidpi compositing tests that fail on EWS bots with ATI graphics.

* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Switch from using PLATFORM_NAME to SDK selectors in ANGLE, bmalloc, gtest, JavaScriptCore, WTF
<http://webkit.org/b/139212>

Reviewed by Joseph Pecoraro.

Source/bmalloc:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Only set LLVM_LOCAL_HEADER_PATH and LLVM_SYSTEM_HEADER_PATH on
  OS X.
- Set JAVASCRIPTCORE_CONTENTS_DIR and
  JAVASCRIPTCORE_FRAMEWORKS_DIR separately for iOS and OS X.

* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

* Configurations/JSC.xcconfig:
- Only set CODE_SIGN_ENTITLEMENTS for iOS hardware builds.

* Configurations/JavaScriptCore.xcconfig:
- Set OTHER_LDFLAGS separately for iOS and OS X.
- Set SECTORDER_FLAGS separately for iOS and OS X, but only for
  Production builds.
- Only set EXCLUDED_SOURCE_FILE_NAMES for iOS.

* Configurations/LLVMForJSC.xcconfig:
- Rename LLVM_LIBS_iphoneos to LLVM_LIBS_ios.
- Set LLVM_LIBRARY_PATHS and OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT
  separately for iOS hardware and OS X.
- Fix curly braces in LIBRARY_SEARCH_PATHS.
- Merge OTHER_LDFLAGS_BASE into OTHER_LDFLAGS. (Could have been
  done before this patch.)

* Configurations/ToolExecutable.xcconfig:
- Only set CODE_SIGN_ENTITLEMENTS for iOS, per target.
- Only set CLANG_ENABLE_OBJC_ARC for i386 on the iOS Simulator.
- Add missing newline.

* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig:
- Only set SDKROOT and TOOLCHAINS on OS X.

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

Source/WTF:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Blink Merge: Remove 'http_lock' code from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=136722

Reviewed by Alexey Proskuryakov.

Based on Blink commit by Dirk Pranke <dpranke@chromium.org>
https://chromium.googlesource.com/chromium/blink/+/196f8146a948275c2f1594b13e30ab19a6e6fd66

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__):
(LayoutTestRunner.run_tests):
(LayoutTestRunner.start_servers): Renamed from start_servers_with_lock.
(LayoutTestRunner.stop_servers): Renamed from stop_servers_with_lock.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(FakePrinter.flush):
(LayoutTestRunnerTests._runner):
(LayoutTestRunnerTests._run_tests):
(LayoutTestRunnerTests.test_servers_started):
(LockCheckingRunner): Deleted.
(LockCheckingRunner.__init__): Deleted.
(LockCheckingRunner.handle_finished_list): Deleted.
(LayoutTestRunnerTests.test_http_locking): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.__init__):
(Port.to.http_server_supports_ipv6):
(Port.to.stop_websocket_server):
(Port.to.acquire_http_lock): Deleted.
(Port.to.release_http_lock): Deleted.
* Scripts/webkitpy/port/http_lock.py: Removed.
* Scripts/webkitpy/port/http_lock_unittest.py: Removed.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.show_results_html_file):
(IOSSimulatorPort.acquire_http_lock): Deleted.
(IOSSimulatorPort): Deleted.
(IOSSimulatorPort.release_http_lock): Deleted.
* Scripts/webkitpy/port/mac.py:
(MacPort.show_results_html_file):
(MacPort): Deleted.
(MacPort.acquire_http_lock): Deleted.
(MacPort.release_http_lock): Deleted.
* Scripts/webkitpy/port/mock_drt.py:
(MockDRTPort.start_websocket_server):
(MockDRTPort.stop_websocket_server):
(MockDRTPort.acquire_http_lock): Deleted.
(MockDRTPort.release_http_lock): Deleted.
* Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTPortTest.test_uses_apache):
(MockDRTPortTest.integration_test_http_lock): Deleted.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.assert_servers_are_up):
(PortTestCase.integration_test_http_lock): Deleted.
* Scripts/webkitpy/port/test.py:
(TestPort.start_websocket_server):
(TestPort.stop_websocket_server):
(TestPort.acquire_http_lock): Deleted.
(TestPort.release_http_lock): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Re-enable function.arguments
https://bugs.webkit.org/show_bug.cgi?id=139452
Source/JavaScriptCore:

<rdar://problem/18848149>

Reviewed by Sam Weinig.

Disabling function.arguments broke a few websites, and we don't have
time right now to work through the details.

I'm re-enabling function.arguments but leaving in the infrastructure
to re-disable it, so we can try this experiment again in the future.

* runtime/Options.h:

LayoutTests:


Reviewed by Sam Weinig.

* TestExpectations: Re-enable these tests, since WebKit supports this
feature by default now.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG Tries using an inner object's getter/setter when one hasn't been defined
https://bugs.webkit.org/show_bug.cgi?id=139229

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added a new NullGetterFunction singleton class to use for getters and setters that
haven't been set to a user defined value.  The NullGetterFunction callReturnUndefined()
and createReturnUndefined() methods return undefined.  Changed all null checks of the
getter and setter pointers to the newly added isGetterNull() and isSetterNull()
helper methods.  

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
Added NullGetterFunction.cpp & .h to build files.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setDescriptor):
(JSC::PropertyDescriptor::setAccessorDescriptor):
Changed checking getter and setter to null to use new isGetterNull() and isSetterNull()
helpers.

* inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
* inspector/JSJavaScriptCallFramePrototype.cpp:
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/JSObject.cpp:
(JSC::JSObject::putIndexedDescriptor):
(JSC::putDescriptor):
(JSC::JSObject::defineOwnNonIndexProperty):
* runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
* runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
Updated calls to GetterSetter::create(), setGetter(), setSetter(), withGetter()
and withSetter() to provide a global object.

* runtime/GetterSetter.cpp:
(JSC::GetterSetter::withGetter):
(JSC::GetterSetter::withSetter):
(JSC::callGetter):
(JSC::callSetter):
* runtime/GetterSetter.h:
(JSC::GetterSetter::GetterSetter):
(JSC::GetterSetter::create):
(JSC::GetterSetter::isGetterNull):
(JSC::GetterSetter::isSetterNull):
(JSC::GetterSetter::setGetter):
(JSC::GetterSetter::setSetter):
Changed to use NullGetterFunction for unspecified getters / setters.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::createThrowTypeError):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::nullGetterFunction):
(JSC::JSGlobalObject::evalFunction):
Added m_nullGetterFunction singleton.  Updated calls to GetterSetter::create(),
setGetter() and setSetter() to provide a global object.

* runtime/NullGetterFunction.cpp: Added.
(JSC::callReturnUndefined):
(JSC::constructReturnUndefined):
(JSC::NullGetterFunction::getCallData):
(JSC::NullGetterFunction::getConstructData):
* runtime/NullGetterFunction.h: Added.
(JSC::NullGetterFunction::create):
(JSC::NullGetterFunction::createStructure):
(JSC::NullGetterFunction::NullGetterFunction):
New singleton class that returns undefined when called.

LayoutTests:

New regression test.

* js/regress-139229-expected.txt: Added.
* js/regress-139229.html: Added.
* js/script-tests/regress-139229.js: Added.
(InnerObjectNoGetter):
(InnerObjectNoGetter.prototype.set enabled):
(InnerObjectNoSetter):
(InnerObjectNoSetter.prototype.get enabled):
(OuterObject):
(OuterObject.prototype.get enabled):
(OuterObject.prototype.set enabled):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r173272): When open PDF from Safari in iBooks, title is replaced to “QuickLookPDF-s72DbgAU-1”
https://bugs.webkit.org/show_bug.cgi?id=139453
rdar://problem/19052192

Reviewed by Pratik Solanki.

Pulling the suggested filename from the platform response returned null string on USE(CFNETWORK) code path
if it was the first thing needed from it.

* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::platformSuggestedFilename): Use the lazy accessor.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement clearing of cookies
https://bugs.webkit.org/show_bug.cgi?id=139455

Reviewed by Andreas Kling.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteData):
Handle deleting cookies by finding the right network storage session and deleting the cookies from it.
Then, send a DidDeleteWebsiteData message back.

* NetworkProcess/NetworkProcess.h:
Add new members.

* NetworkProcess/NetworkProcess.messages.in:
Add new DeleteWebsiteData message.

* Shared/WebsiteData/WebsiteDataTypes.h:
Move the website data types enum to its own file so it can be shared.

* UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(toWebsiteDataTypes):
Update now that WebsiteDataTypes is its own enum.

(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
removeDataModifiedSince was renamed to removeData.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::generateCallbackID):
Helper function to create a callback ID.

(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
Assert that we have no pending callbacks.

(WebKit::NetworkProcessProxy::deleteWebsiteData):
Put the completion handler in our map and message the network process.

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
Call all completion handlers.

(WebKit::NetworkProcessProxy::didDeleteWebsiteData):
Grab the completion handler and call it.

* UIProcess/Network/NetworkProcessProxy.h:
Add new members.

* UIProcess/Network/NetworkProcessProxy.messages.in:
Add DidDeleteWebsiteData callback.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::computeNetworkProcessAccessType):
Helper function that computes the type of process access we'd need for the given mask of
website data types.

(WebKit::WebsiteDataStore::removeData):
Gather all the network processes and message them. Use a callback aggregator object to track callbacks
so we'll call the completion handler once all callbacks have been invoked.

* UIProcess/WebsiteData/WebsiteDataStore.h:
Move WebsiteDataTypes to its own file.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Crash when answering notification permission request after navigating
https://bugs.webkit.org/show_bug.cgi?id=139429
<rdar://problem/18921122>

Reviewed by Andreas Kling.

Source/WebKit2:

When requesting a notification permission, navigating away and then
answering the permission, WebKit2 would crash. This is because upon
navigating, the request is cancelled and removed from the HashMaps
in NotificationPermissionRequestManager. When
didReceiveNotificationPermissionDecision() is later called, it would
look for the request identifier in m_idToOriginMap HashMap. As the
request was cancelled, HashMap::take() call would return null for
the SecurityOrigin*. This security origin pointer is then removed
from m_originToIDMap, but the code was failing to do a null check
first. Calling HashMap::remove(nullptr) would then crash.

This patch adds the missing null check and a layout test to cover
this case.

Test: http/tests/notifications/legacy/notification-request-permission-then-navigate.html

* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):

LayoutTests:

Add layout test to cover the case where the notification permission is
requesting before navigating to a new URL and answered after the page
is navigated away.

* http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Added.
* http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Added.
* http/tests/notifications/legacy/resources/notify-opener-done.html: Added.
* http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove virtual test support from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=139427

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-09
Reviewed by Alexey Proskuryakov.

It seems that the only concrete client of virtual tests is the unit tests :D

This patch tries to clean as much useless code as possible.

* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_tolerance):
(RunTest.test_virtual): Deleted.
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer._print_test_trace):
* Scripts/webkitpy/port/base.py:
(Port.expected_filename):
(Port.tests):
(Port.test_isfile):
(Port.test_isdir):
(Port.sample_process):
(Port.find_system_pid):
(Port.test_expectations_file_position):
(Port.virtual_test_suites): Deleted.
(Port): Deleted.
(Port.populated_virtual_test_suites): Deleted.
(Port._virtual_tests): Deleted.
(Port.lookup_virtual_test_base): Deleted.
(Port.lookup_virtual_test_args): Deleted.
(VirtualTestSuite): Deleted.
(VirtualTestSuite.__init__): Deleted.
(VirtualTestSuite.__repr__): Deleted.
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_test_exists):
(PortTest.test_test_isfile):
(PortTest.test_test_isdir):
(PortTest.test_tests):
* Scripts/webkitpy/port/driver.py:
(DriverProxy.run_test): Deleted.
* Scripts/webkitpy/port/test.py:
(TestPort._skipped_tests_for_unsupported_features):
(TestPort.all_baseline_variants):
(TestPort.virtual_test_suites): Deleted.
* Scripts/webkitpy/tool/commands/queries.py:
(PrintBaselines.__init__):
(PrintBaselines.execute):
* Scripts/webkitpy/tool/commands/queries_unittest.py:
(PrintBaselinesTest.test_basic):
(PrintBaselinesTest.test_multiple):
(PrintBaselinesTest.test_csv):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Delete Node::boundingBox()
https://bugs.webkit.org/show_bug.cgi?id=139333

Source/WebCore:

Conceptually, boundingBox() should be on RenderInline. In addition,
Node::boundingBox() is completely broken for inline elements: it
makes a rect from the top left of the first inline child to the
bottom right of the last inline child, disregarding the intermediate
inline children. This breaks with vertical text and with line
breaks.

What makes this problem worse is that some functions actually rely
on this bad behavior. These functions are functions that use the
Node's so-called "bounding box" to scroll to an anchor tag.

This patch goes through all the call sites of Node::boundingBox(),
and segregates them into calls that expect the true bounding box
and calls that need this false bounding box. This patch then moves
this false bounding box into RenderElement, using the name
anchorRect(). Callers what want the correct bounding box have been
updated to use RenderElement::absoluteBoundingBoxRect().

Reviewed by Zalan Bujtas.

No new tests because there should be no behavior change.

* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySliderThumb::elementRect): Use
RenderObject::absoluteBoundingBoxRect()
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner): Deleted.
(WebCore::ContainerNode::getLowerRightCorner): Deleted.
(WebCore::ContainerNode::boundingBox): Deleted.
* dom/ContainerNode.h:
* dom/Element.cpp:
(WebCore::Element::scrollIntoView): Use RenderElement::anchorRect().
(WebCore::Element::scrollIntoViewIfNeeded): Ditto.
(WebCore::Element::updateFocusAppearance): Ditto.
* dom/Node.cpp:
(WebCore::Node::boundingBox): Deleted.
* dom/Node.h:
(WebCore::Node::pixelSnappedBoundingBox): Deleted.
* html/ColorInputType.cpp:
(WebCore::ColorInputType::elementRectRelativeToRootView): Use
RenderObject::absoluteBoundingBoxRect()
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::buildBubbleTree): Ditto.
* page/FrameView.cpp:
(WebCore::FrameView::scrollElementToRect): Use
RenderElement::anchorRect().
(WebCore::FrameView::scrollToAnchor): Ditto.
* page/SpatialNavigation.cpp:
(WebCore::nodeRectInAbsoluteCoordinates): Use
RenderObject::absoluteBoundingBoxRect()
* rendering/RenderElement.cpp:
(WebCore::RenderElement::getUpperLeftCorner): Moved from ContainerNode.
(WebCore::RenderElement::getLowerRightCorner): Moved from
ContainerNode.
(WebCore::RenderElement::anchorRect): Moved from ContainerNode.
* rendering/RenderObject.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::topOfFirstText): Helper for
RenderElement::anchorRect()
* rendering/RenderText.h:

Source/WebKit/mac:

Reviewed by Zalan Bujtas.

* WebView/WebActionMenuController.mm:
(elementBoundingBoxInWindowCoordinatesFromNode): Use
RenderObject::absoluteBoundingBoxRect().

Source/WebKit2:

Reviewed by Zalan Bujtas.

* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates):
Use RenderObject::absoluteBoundingBoxRect().
* WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
(WebKit::WebPage::findZoomableAreaForPoint): Use
RenderObject::absoluteBoundingBoxRect().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix webkitpy test expectation

Not sure what I messed up, but TOTAL_SKIPS was not right.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-09

* Scripts/webkitpy/port/test.py:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use the new storage namespace provider in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=139425

Reviewed by Tim Horton.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Set the storage namespace provider from the web page group.

Source/WebKit/win:

* WebView.cpp:
(localStorageDatabasePath):
Helper from getting the local storage database path given a WebPreferences instance.

(WebView::initWithFrame):
Create a storage namespace provider.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for clearing the disk cache
https://bugs.webkit.org/show_bug.cgi?id=139458

Reviewed by Antti Koivisto.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteData):
If we're asked to clear the disk cache, do so. Clearing the cache is asynchronous,
so we make sure not to call the completion handler right away in that case.

* NetworkProcess/NetworkProcess.h:
Add clearDiskCache member function.

* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::clearDiskCache):
Clear the disk cache, then call the completion handler.

* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::clearCacheForAllOrigins):
Call the new clearDiskCache function.

* Shared/WebsiteData/WebsiteDataTypes.h:
Add WebsiteDataTypeDiskCache.

* UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
(toWebsiteDataTypes):
Handle WKWebsiteDataTypeDiskCache.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable automatic optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=139437

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-12-09
Source/WebCore:

Reviewed by Eric Carlson.

Anticipate transition to optimized video fullscreen mode when entering background.

* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::overrideBackgroundPlaybackRestriction): Add logic for automatic transition detection.
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Add logic for automatic transition detection.

Source/WebKit2:

Reviewed by Simon Fraser.

Anticipate the automatic transition to optimized video fullscreen mode when deciding if the page is visible.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingVideoOptimized]): Renamed. Test precondition.
(-[WKWebView _mayAutomaticallyShowVideoOptimized]): Added.
(-[WKWebView _isPlayingFullscreenOptimizedVideo]): Deleted.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewVisible): Test for optimized modes even when not in a window.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Kotoeri sometimes doesn't correctly process the first chanaracter in a text field in Safari 7.1 or 6.2
https://bugs.webkit.org/show_bug.cgi?id=139459
rdar://problem/19017432
rdar://problem/19036869

Reviewed by Enrica Casucci.

When inputContext changes, notify the application. We already did this when the context
changed due to plug-ins, and this used to sort of make it work on on yahoo.co.jp,
which has plug-ins. But that was quite unreliable, as evidenced by the reproducible
cases where we didn't use an input method for the first keypress.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::notifyApplicationAboutInputContextChange):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix iOS build after r177035.

Unreviewed.

I accidentally added my line to WebCore.exp.in inside an

* WebCore.exp.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move mixed border color test image result to mac folder,
should address yosemite case.

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