WebKit-https.git
8 years agoAdd a CSSProperty::isDirectionAwareProperty() helper.
akling@apple.com [Wed, 4 Dec 2013 05:33:24 +0000 (05:33 +0000)]
Add a CSSProperty::isDirectionAwareProperty() helper.
<https://webkit.org/b/125202>

Move the block of case labels for checking whether a CSS property ID
is a directional property into a separate function. Also removed an
outdated comment about CSS variables.

Reviewed by Antti Koivisto.

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

8 years agoWKContentView should just use InitializeWebKit2()
simon.fraser@apple.com [Wed, 4 Dec 2013 05:25:13 +0000 (05:25 +0000)]
WKContentView should just use InitializeWebKit2()
https://bugs.webkit.org/show_bug.cgi?id=125209

Reviewed by Benjamin Poulain.

Rather than calling an motley selection of init fuctions,
WKContentView should use the one true init function, InitializeWebKit2().

* Shared/WebKit2Initialize.cpp: On iOS, we need to call InitWebCoreThreadSystemInterface().
(WebKit::InitializeWebKit2):
* UIProcess/API/ios/WKContentView.mm: Remove various unused #imports.
(-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

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

8 years agoRevert the inadvertently committed change.
rniwa@webkit.org [Wed, 4 Dec 2013 05:24:15 +0000 (05:24 +0000)]
Revert the inadvertently committed change.

* html/HTMLElement.idl:

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

8 years agoRemove nodeIsDetachedFromDocument and visualWordMovementEnabled in FrameSelection
rniwa@webkit.org [Wed, 4 Dec 2013 05:20:48 +0000 (05:20 +0000)]
Remove nodeIsDetachedFromDocument and visualWordMovementEnabled in FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=125210

Reviewed by Antti Koivisto.

Inspired by https://chromium.googlesource.com/chromium/blink/+/92409870f0ff8fafe31217830db0838a9e1ffb98

Removed some unused code.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::textWasReplaced):
* editing/FrameSelection.h:
* page/Settings.in:

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

8 years agoWeb Inspector: Remove '_attachedWindowHeight' property in InspectorFrontendHostStub.js
seokju@webkit.org [Wed, 4 Dec 2013 05:05:29 +0000 (05:05 +0000)]
Web Inspector: Remove '_attachedWindowHeight' property in InspectorFrontendHostStub.js
https://bugs.webkit.org/show_bug.cgi?id=125204

Reviewed by Timothy Hatcher.

'_attachedWindowHeight' property is not used anywhere, so remove it.

* UserInterface/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub):

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

8 years agoPotential crash in RenderView::selectionBounds and RenderView::repaintSelection
rniwa@webkit.org [Wed, 4 Dec 2013 04:21:51 +0000 (04:21 +0000)]
Potential crash in RenderView::selectionBounds and RenderView::repaintSelection
https://bugs.webkit.org/show_bug.cgi?id=125207

Reviewed by Simon Fraser.

Merge https://chromium.googlesource.com/chromium/blink/+/f9e6e288a5aa959f05c374806121aaf0fc52d440

Update style in FrameSelection instead of RenderView's member functions. These are the last two
member functions of RenderView that updates the style.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::focusedOrActiveStateChanged):
(WebCore::FrameSelection::bounds):
* rendering/RenderView.cpp:
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::repaintSelection):

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

8 years ago<https://webkit.org/b/125143> Improve the formatting in the generated Objective-C...
mrowe@apple.com [Wed, 4 Dec 2013 03:23:52 +0000 (03:23 +0000)]
<https://webkit.org/b/125143> Improve the formatting in the generated Objective-C headers.

Add a space between @property and any parenthesized attributes.
Prefer strong over retain when specifying memory management semantics.

Reviewed by Darin Adler.

* bindings/objc/PublicDOMInterfaces.h:
* bindings/scripts/CodeGeneratorObjC.pm:
(GetPropertyAttributes): Generate strong instead of retain. Include a
space before the parenthesis.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
* bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
* bindings/scripts/test/ObjC/DOMTestException.h:
* bindings/scripts/test/ObjC/DOMTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/ObjC/DOMTestTypedefs.h:
* bindings/scripts/test/ObjC/DOMattribute.h:

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

8 years agotestapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow...
mark.lam@apple.com [Wed, 4 Dec 2013 02:19:09 +0000 (02:19 +0000)]
testapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow>::size().
https://bugs.webkit.org/show_bug.cgi?id=121972.

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

* interpreter/JSStack.cpp:
(JSC::JSStack::~JSStack):
- Reverting the change from r160004 since it's better to fix OSAllocatorWin
  to be consistent with OSAllocatorPosix.

Source/WTF:

* wtf/OSAllocatorWin.cpp:
(WTF::OSAllocator::decommit):
(WTF::OSAllocator::releaseDecommitted):
- Added a check to ensure that the bytes to decommit / release is not 0.
  On Windows, a 0 length passed to VirtualFree() has a special meaning,
  and it's not "decommit / release nothing" as one would expect. Adding
  this check makes OSAllocatorWin consistent with OSAllocatorPosix for
  these 2 functions.

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

8 years agoFix LLINT_C_LOOP build for Win64.
mark.lam@apple.com [Wed, 4 Dec 2013 01:18:19 +0000 (01:18 +0000)]
Fix LLINT_C_LOOP build for Win64.
https://bugs.webkit.org/show_bug.cgi?id=125186.

Reviewed by Michael Saboff.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* jit/JITOperationsMSVC64.cpp: Added.
(JSC::getHostCallReturnValueWithExecState):
- Win64 will build JITStubMSVC64.asm even when !ENABLE(JIT). This results
  in a linkage error due to a missing getHostCallReturnValueWithExecState().
  So, we add a stub getHostCallReturnValueWithExecState() here to satisfy
  that linkage. This function will never be called.
  The alternative to providing such a stub is to make the MSVC project
  recognize if the JIT is enabled or not, and exclude JITStubMSVC64.asm
  if it's not enabled. We don't currently set ENABLE(JIT) via the MSVC
  project and the work to do that is too much trouble for what we're trying
  to achieve here. So, we're opting for this simpler workaround instead.

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- Don't build callToJavaScript if we're building the C loop. Otherwise,
  the C loop won't build if !ENABLE(COMPUTE_GOTO_OPCODES).

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

8 years agoUpdate WebCrypto JWK mapping to newer proposal
ap@apple.com [Wed, 4 Dec 2013 00:51:14 +0000 (00:51 +0000)]
Update WebCrypto JWK mapping to newer proposal
https://bugs.webkit.org/show_bug.cgi?id=124218

Reviewed by Anders Carlsson.

Source/WebCore:

Tests: crypto/subtle/jwk-export-use-values.html
       crypto/subtle/jwk-import-use-values.html

1. "extractable" renamed to "ext" in JWK.
2. New values for "use" mapping, which can now be combined into comma separated lists,
and cover all possible WebCrypto usages.

* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
(WebCore::processUseValue):
(WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):

LayoutTests:

* crypto/subtle/jwk-export-use-values-expected.txt: Added.
* crypto/subtle/jwk-export-use-values.html: Added.
* crypto/subtle/jwk-import-use-values-expected.txt: Added.
* crypto/subtle/jwk-import-use-values.html: Added.
New tests for "use" mapping.

* crypto/subtle/aes-cbc-import-jwk.html:
* crypto/subtle/aes-cbc-unwrap-rsa.html:
* crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html:
* crypto/subtle/aes-cbc-wrap-rsa.html:
* crypto/subtle/aes-export-key-expected.txt:
* crypto/subtle/aes-export-key.html:
* crypto/subtle/hmac-export-key-expected.txt:
* crypto/subtle/hmac-export-key.html:
* crypto/subtle/hmac-import-jwk.html:
* crypto/subtle/import-jwk-expected.txt:
* crypto/subtle/import-jwk.html:
* crypto/subtle/rsa-export-key-expected.txt:
* crypto/subtle/rsa-export-key.html:
* crypto/subtle/rsa-export-private-key-expected.txt:
* crypto/subtle/rsa-export-private-key.html:
* crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
* crypto/subtle/rsa-oaep-key-manipulation.html:

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

8 years agoPageOverlayClientImpl should be a proper API::Client
andersca@apple.com [Wed, 4 Dec 2013 00:36:00 +0000 (00:36 +0000)]
PageOverlayClientImpl should be a proper API::Client
https://bugs.webkit.org/show_bug.cgi?id=125199

Reviewed by Tim Horton.

* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(PageOverlayClientImpl::PageOverlayClientImpl):
(PageOverlayClientImpl::setAccessibilityClient):
(PageOverlayClientImpl::willMoveToWebPage):
(PageOverlayClientImpl::didMoveToWebPage):
(PageOverlayClientImpl::drawRect):
(PageOverlayClientImpl::mouseEvent):
(PageOverlayClientImpl::copyAccessibilityAttributeValue):
(PageOverlayClientImpl::copyAccessibilityAttributeNames):
(WKBundlePageOverlayCreate):
(WKBundlePageOverlaySetAccessibilityClient):

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

8 years agoInitialize the PageBannerClientImpl API::Client
andersca@apple.com [Wed, 4 Dec 2013 00:13:34 +0000 (00:13 +0000)]
Initialize the PageBannerClientImpl API::Client
https://bugs.webkit.org/show_bug.cgi?id=125198

Reviewed by Tim Horton.

* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
(PageBannerClientImpl::PageBannerClientImpl):

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

8 years agoARM64: Crash in JIT code due to improper reuse of cached memory temp register
msaboff@apple.com [Tue, 3 Dec 2013 23:56:31 +0000 (23:56 +0000)]
ARM64: Crash in JIT code due to improper reuse of cached memory temp register
https://bugs.webkit.org/show_bug.cgi?id=125181

Reviewed by Geoffrey Garen.

Changed load8() and load() to invalidate the memory temp CachedTempRegister when the
destination of an absolute load is the memory temp register since the source address
is also the memory temp register.  Change branch{8,32,64} of an AbsoluteAddress with
a register to use the dataTempRegister as the destinate of the absolute load to
reduce the chance that we need to invalidate the memory temp register cache.
In the process, found and fixed an outright bug in branch8() where we'd load into
the data temp register and then compare and branch on the memory temp register.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::load8):
(JSC::MacroAssemblerARM64::branch32):
(JSC::MacroAssemblerARM64::branch64):
(JSC::MacroAssemblerARM64::branch8):
(JSC::MacroAssemblerARM64::load):

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

8 years ago[EFL] Disable RTTI for release build
ryuan.choi@samsung.com [Tue, 3 Dec 2013 23:41:48 +0000 (23:41 +0000)]
[EFL] Disable RTTI for release build
https://bugs.webkit.org/show_bug.cgi?id=125138

Reviewed by Gyuyoung Kim.

Binary size will be reduced about 1M bytes without RTTI.
ewebkit.so : 43,449,275 -> 42,510,224
ewebkit2.so: 46,715,870 -> 45,653,989

* Source/cmake/OptionsEfl.cmake: Added -fno-rtti option to CMAKE_CXX_FLAGS_RELEASE.

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

8 years agoRemote Layer Tree: Force repaint
timothy_horton@apple.com [Tue, 3 Dec 2013 23:28:10 +0000 (23:28 +0000)]
Remote Layer Tree: Force repaint
https://bugs.webkit.org/show_bug.cgi?id=125189
<rdar://problem/15541789>

Reviewed by Anders Carlsson.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::forceRepaint):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
Implement WebProcess-synchronous force repaint.
We don't need the async variant because it is only needed
to synchronize with the WebProcess-side threaded scrolling
tree, which is not a component of the remote layer tree model.
The UI process will not handle the callback until after
RemoteLayerTreeHost::commit is complete, ensuring that the commit
is actually done.

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

8 years agoREGRESSION: repro scripts disappear when you rerun tests
fpizlo@apple.com [Tue, 3 Dec 2013 23:26:46 +0000 (23:26 +0000)]
REGRESSION: repro scripts disappear when you rerun tests
https://bugs.webkit.org/show_bug.cgi?id=125184

Reviewed by Mark Hahnenberg.

This bug made it difficult to quickly see if a test that recently failed is still
failing while also running a new batch of tests.

Repro scripts are supposed to stay around until you delete them explicitly. This
patch accomplishes that.

* Scripts/run-jsc-stress-tests:

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

8 years agoRemove some iOS-related documentScale code
simon.fraser@apple.com [Tue, 3 Dec 2013 23:25:19 +0000 (23:25 +0000)]
Remove some iOS-related documentScale code
https://bugs.webkit.org/show_bug.cgi?id=125194

Source/WebCore:

Reviewed by Enrica Casucci.

Remove exports of nonexistent documentScale-related functions on Frame.

* WebCore.exp.in:

Source/WebKit2:

Reviewed by Enrica Casucci.

Upstream bits of removal of Frame::documentScale on iOS.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Whitespace.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didFinishZooming): Don't call setDocumentScale().
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Remove minimumDocumentScale().
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: Ditto.
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): We delegate page scaling on iOS.
(WebKit::RemoteLayerTreeDrawingArea::setDeviceScaleFactor):

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

8 years agoLayout Test platform/mac/accessibility/search-predicate-element-count.html is flaky
ap@apple.com [Tue, 3 Dec 2013 23:21:03 +0000 (23:21 +0000)]
Layout Test platform/mac/accessibility/search-predicate-element-count.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=125195

* platform/mac/TestExpectations: Marking as such.

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

8 years ago[Win] run-jsc-stress-tests has a great number of failures (2026/7606) on Windows
commit-queue@webkit.org [Tue, 3 Dec 2013 23:20:08 +0000 (23:20 +0000)]
[Win] run-jsc-stress-tests has a great number of failures (2026/7606) on Windows
https://bugs.webkit.org/show_bug.cgi?id=125111

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-03
Reviewed by Filip Pizlo.

Almost all errors seem to be caused by differences in line ending when diffing test output with expected output.

* Scripts/run-javascriptcore-tests: Enable api test and stress test for WinCairo.
* Scripts/run-jsc-stress-tests: Ignore carriage return when diffing test output with expected output.

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

8 years agoPageBannerClientImpl should be an API::Client
andersca@apple.com [Tue, 3 Dec 2013 23:19:40 +0000 (23:19 +0000)]
PageBannerClientImpl should be an API::Client
https://bugs.webkit.org/show_bug.cgi?id=125190

Reviewed by Tim Horton.

* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
(PageBannerClientImpl::PageBannerClientImpl):
(PageBannerClientImpl::~PageBannerClientImpl):
(WKBundlePageBannerCreateBannerWithCALayer):

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

8 years agoFix regression caused by r158599
eric.carlson@apple.com [Tue, 3 Dec 2013 23:03:09 +0000 (23:03 +0000)]
Fix regression caused by r158599
https://bugs.webkit.org/show_bug.cgi?id=125188

Reviewed by Jer Noble.

* html/HTMLMediaElement.cpp:
(HTMLMediaElement::clearMediaPlayer): Do not clear m_player when PLUGIN_PROXY_FOR_VIDEO
    is enabled.

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

8 years agoNix Upstream: Updating WebCore files
commit-queue@webkit.org [Tue, 3 Dec 2013 22:50:20 +0000 (22:50 +0000)]
Nix Upstream: Updating WebCore files
https://bugs.webkit.org/show_bug.cgi?id=124981

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-03
Reviewed by Benjamin Poulain.

Just to sync our github repo files and the trunk, as part of the upstream process

No new tests needed.

* PlatformNix.cmake:
* css/mediaControlsNix.css:
(audio):
(video::-webkit-media-controls):
(audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
(video::-webkit-media-controls-enclosure):
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(video:-webkit-full-page-media):
(audio:-webkit-full-page-media, video:-webkit-full-page-media):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
(input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-media-slider-container > div):
(input[type="range"]::-webkit-media-slider-thumb):
(audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
(audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
(audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider):
(audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button):
(audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button):
(video::-webkit-media-text-track-container):
(video::cue):
(video::-webkit-media-text-track-region):
(video::-webkit-media-text-track-region-container):
(video::-webkit-media-text-track-region-container.scrolling):
(video::-webkit-media-text-track-display):
(video::cue(:future)):
(video::-webkit-media-text-track-container b):
(video::-webkit-media-text-track-container u):
(video::-webkit-media-text-track-container i):
* editing/Editor.cpp:
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::copyImage):
* editing/Editor.h:
* html/HTMLCanvasElement.h:
* platform/Cursor.h:
* platform/audio/FFTFrame.h:
* platform/audio/nix/AudioBusNix.cpp:
(WebCore::AudioBus::loadPlatformResource):
* platform/graphics/GLContext.h:
* platform/nix/CursorNix.cpp:
(WebCore::Cursor::ensurePlatformCursor):
* platform/nix/GamepadsNix.cpp:
(WebCore::sampleGamepads):
* platform/nix/RenderThemeNix.cpp:
(WebCore::toIntSize):
(WebCore::toNixRect):
(WebCore::RenderThemeNix::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeNix::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeNix::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeNix::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeNix::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeNix::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeNix::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeNix::platformInactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeNix::platformActiveTextSearchHighlightColor):
(WebCore::RenderThemeNix::platformInactiveTextSearchHighlightColor):
(WebCore::RenderThemeNix::platformFocusRingColor):
(WebCore::RenderThemeNix::platformTapHighlightColor):
(WebCore::RenderThemeNix::paintButton):
(WebCore::RenderThemeNix::paintTextField):
(WebCore::RenderThemeNix::paintCheckbox):
(WebCore::RenderThemeNix::setCheckboxSize):
(WebCore::RenderThemeNix::paintRadio):
(WebCore::RenderThemeNix::setRadioSize):
(WebCore::RenderThemeNix::paintMenuList):
(WebCore::RenderThemeNix::paintProgressBar):
(WebCore::RenderThemeNix::paintSliderTrack):
(WebCore::RenderThemeNix::paintSliderThumb):
(WebCore::RenderThemeNix::paintInnerSpinButton):
(WebCore::RenderThemeNix::paintMeter):
(WebCore::RenderThemeNix::extraMediaControlsStyleSheet):
(WebCore::RenderThemeNix::paintMediaPlayButton):
(WebCore::RenderThemeNix::paintMediaMuteButton):
(WebCore::RenderThemeNix::paintMediaSeekBackButton):
(WebCore::RenderThemeNix::paintMediaSeekForwardButton):
(WebCore::RenderThemeNix::paintMediaSliderTrack):
(WebCore::RenderThemeNix::paintMediaVolumeSliderContainer):
(WebCore::RenderThemeNix::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeNix::paintMediaRewindButton):
* platform/nix/RenderThemeNix.h:
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):

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

8 years agoTypo: FixedPositionConstaint -> FixedPositionConstraint
commit-queue@webkit.org [Tue, 3 Dec 2013 22:43:03 +0000 (22:43 +0000)]
Typo: FixedPositionConstaint -> FixedPositionConstraint
https://bugs.webkit.org/show_bug.cgi?id=125171

Patch by Ralph Thomas <ralpht@gmail.com> on 2013-12-03
Reviewed by Simon Fraser.

Source/WebCore:

No new tests, no change in behavior.

* page/scrolling/ScrollingConstraints.h:
* page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
(WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):

Source/WebKit/ios:

* WebCoreSupport/WebFixedPositionContent.mm:
(-[WebFixedPositionContent scrollOrZoomChanged:]):

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

8 years agoAdd a script to automatically configure a git clone
rniwa@webkit.org [Tue, 3 Dec 2013 22:38:20 +0000 (22:38 +0000)]
Add a script to automatically configure a git clone
https://bugs.webkit.org/show_bug.cgi?id=110073

Revert the change to use https for now since git.webkit.org is setup with http.

* Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone.execute):

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

8 years agojit/JITArithmetic.cpp doesn't build for non-X86 ports
msaboff@apple.com [Tue, 3 Dec 2013 22:38:13 +0000 (22:38 +0000)]
jit/JITArithmetic.cpp doesn't build for non-X86 ports
https://bugs.webkit.org/show_bug.cgi?id=125185

Rubber stamped by Mark Hahnenberg.

Removed unused declarations and related UNUSED_PARAM().

* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_mod):

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

8 years ago[CSS Regions] Fix Layout/RegionsSelection.html in Mac platform
rego@igalia.com [Tue, 3 Dec 2013 22:35:19 +0000 (22:35 +0000)]
[CSS Regions] Fix Layout/RegionsSelection.html in Mac platform
https://bugs.webkit.org/show_bug.cgi?id=124963

Reviewed by Ryosuke Niwa.

Layout/RegionsSelection.html introduced in r159488 was not working in
Mac platform because of it was trying to use mouse events out of the
window dimensions. Use collapse() and extend() methods from Selection
object to solve the issue.

* Layout/resources/regions.js: Use collapse() and extend() instead of
mouse events.

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

8 years ago[Cocoa] Give two load delegate methods more conventional names
mitz@apple.com [Tue, 3 Dec 2013 22:32:20 +0000 (22:32 +0000)]
[Cocoa] Give two load delegate methods more conventional names
https://bugs.webkit.org/show_bug.cgi?id=125183

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(didFailProvisionalLoadWithErrorForFrame): Updated for rename.
(didFailLoadWithErrorForFrame): Ditto.
* UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Renamed
-browsingContextControllerDidFailProvisionalLoad:withError: to
-browsingContextController:didFailProvisionalLoadWithError: and
-browsingContextControllerDidFailLoad:withError: to
-browsingContextController:didFailLoadWithError:.

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

8 years agoAdd a script to automatically configure a git clone
rniwa@webkit.org [Tue, 3 Dec 2013 22:29:39 +0000 (22:29 +0000)]
Add a script to automatically configure a git clone
https://bugs.webkit.org/show_bug.cgi?id=110073

Reviewed by Benjamin Poulain.

Added "webkit-patch setup-git-clone" to setup a brand new Git clone.

This command runs various commands listed on http://trac.webkit.org/wiki/UsingGitWithWebKit

* Scripts/webkitpy/tool/commands/__init__.py:
* Scripts/webkitpy/tool/commands/setupgitclone.py: Added.
(SetupGitClone):
(SetupGitClone.execute):

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

8 years agoObjectAllocationProfile is racy and the DFG should be cool with that
fpizlo@apple.com [Tue, 3 Dec 2013 22:24:53 +0000 (22:24 +0000)]
ObjectAllocationProfile is racy and the DFG should be cool with that
https://bugs.webkit.org/show_bug.cgi?id=125172
<rdar://problem/15233487>

Reviewed by Mark Hahnenberg.

We would previously sometimes get a null Structure because checking if the profile is non-null and loading
the structure from it were two separate operations.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::setFuturePossibleStructure):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* runtime/JSFunction.h:
(JSC::JSFunction::allocationProfile):
(JSC::JSFunction::allocationStructure):

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

8 years agoImport the XHTML parsing and serialization tests for template elements
rniwa@webkit.org [Tue, 3 Dec 2013 22:19:32 +0000 (22:19 +0000)]
Import the XHTML parsing and serialization tests for template elements
https://bugs.webkit.org/show_bug.cgi?id=125131

Reviewed by Antti Koivisto.

Import the tests for parsing XHTML documents and fragments at f744661dbd0c29bb6a54c1530f9843838eec1300
after self-closing link elements in template-child-nodes-div.xhtml and template-child-nodes-nested.xhtml
as these two files would encounter parser errors otherwise (I'll be merging these changes back into
the web-platform-tests repository later).

This completes the importation of W3C tests for the HTML template element.

* html-templates/additions-to-parsing-xhtml-documents: Added.
* html-templates/additions-to-parsing-xhtml-documents/node-document-expected.txt: Added.
* html-templates/additions-to-parsing-xhtml-documents/node-document.html: Added.
* html-templates/additions-to-parsing-xhtml-documents/template-child-nodes-expected.txt: Added.
* html-templates/additions-to-parsing-xhtml-documents/template-child-nodes.html: Added.
* html-templates/additions-to-serializing-xhtml-documents: Added.
* html-templates/additions-to-serializing-xhtml-documents/outerhtml-expected.txt: Added.
* html-templates/additions-to-serializing-xhtml-documents/outerhtml.html: Added.
* html-templates/resources/template-child-nodes-div.xhtml:
* html-templates/resources/template-child-nodes-nested.xhtml:

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

8 years agoDeprecate WKNotificationProvider
andersca@apple.com [Tue, 3 Dec 2013 21:53:21 +0000 (21:53 +0000)]
Deprecate WKNotificationProvider
https://bugs.webkit.org/show_bug.cgi?id=125178

Reviewed by Sam Weinig.

Source/WebKit2:

* Shared/API/c/WKDeclarationSpecifiers.h:
Add WK_DEPRECATED and WK_ENUM_DEPRECATED macros so we can things as deprecated.

* UIProcess/API/C/WKNotificationManager.cpp:
(WKNotificationManagerSetProvider):
* UIProcess/API/C/WKNotificationManager.h:
WKNotificationManagerSetProvider now takes a WKNotificationProviderBase.

* UIProcess/API/C/WKNotificationProvider.h:
Deprecate WKNotificationProvider and kWKNotificationProviderCurrentVersion.

Tools:

Update for WebKit2 changes.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
* WebKitTestRunner/WebNotificationProvider.cpp:
(WTR::WebNotificationProvider::provider):
* WebKitTestRunner/WebNotificationProvider.h:

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

8 years ago[Win] Support 64-bit Application Support Libraries Location
bfulgham@apple.com [Tue, 3 Dec 2013 21:50:43 +0000 (21:50 +0000)]
[Win] Support 64-bit Application Support Libraries Location
https://bugs.webkit.org/show_bug.cgi?id=125179

Reviewed by Tim Horton.

Enable the user to specify a location for 64-bit support libraries (such as libxml2, ICU, etc.)
on Windows until an official distribution is available that properly creates registry settings
to specify these locations.

* Scripts/webkitdirs.pm:
(setupAppleWinEnv): Notify user to set WEBKIT_64_SUPPORT environment variable if needed.
(setupCygwinEnv): Report WEWBKIT_64_SUPPORT path when running 64-bit builds.
(appleApplicationSupportPath): Add WEBKIT_64_SUPPORT location to runtime environment when
running 64-bit builds.

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

8 years agoIndexed Database work should be done on a non-main queue
beidson@apple.com [Tue, 3 Dec 2013 21:21:52 +0000 (21:21 +0000)]
Indexed Database work should be done on a non-main queue
https://bugs.webkit.org/show_bug.cgi?id=125127

Reviewed by Darin Adler.

Add a non-main WorkQueue to the DatabaseProcess:
* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::DatabaseProcess):
(WebKit::DatabaseProcess::queue):
* DatabaseProcess/DatabaseProcess.h:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
(WebKit::UniqueIDBDatabase::enqueueDatabaseQueueRequest): Add an AsyncRequest to the deque then schedule performing
  the requests on the background WorkQueue.
(WebKit::UniqueIDBDatabase::processDatabaseRequestQueue): Processes all enqueued database requests.
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Renamed from getIDBDatabaseMetadata().
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadataInternal): For doing i/o on a background queue/thread.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Add a creator that takes the abort handler as an argument, and rename requestedCompleted()
to completeRequest(). This makes more sense in more situations:
* Shared/AsyncRequest.cpp:
(WebKit::AsyncRequest::AsyncRequest):
(WebKit::AsyncRequest::setAbortHandler):
* Shared/AsyncRequest.h:
(WebKit::AsyncRequest::completeRequest):

Update for the AsyncRequest rename:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):

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

8 years ago AXPress event coordinates are always sent as (0, 0)
samuel_white@apple.com [Tue, 3 Dec 2013 20:58:18 +0000 (20:58 +0000)]
AXPress event coordinates are always sent as (0, 0)
    https://bugs.webkit.org/show_bug.cgi?id=76677

    Reviewed by Simon Fraser.

    Make sure a press targets an element's center point.

    * accessibility/press-targets-center-point-expected.txt: Added.
    * accessibility/press-targets-center-point.html: Added.

    Set the coordinates of a simulated press equal to the center of the target
    element when the simulated press does not have a related mouse event.

    Test: accessibility/press-targets-center-point.html

    * dom/Element.cpp:
    (WebCore::Element::clientRect):
    (WebCore::Element::screenRect):
    * dom/Element.h:
    * dom/EventDispatcher.cpp:
    (WebCore::EventDispatcher::dispatchSimulatedClick):
    * dom/MouseEvent.cpp:
    (WebCore::SimulatedMouseEvent::create):
    (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
    * dom/MouseEvent.h:

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

8 years agoRemove TiledCoreAnimationDrawingArea(Proxy)IOS
timothy_horton@apple.com [Tue, 3 Dec 2013 20:37:57 +0000 (20:37 +0000)]
Remove TiledCoreAnimationDrawingArea(Proxy)IOS
https://bugs.webkit.org/show_bug.cgi?id=125176

Reviewed by Simon Fraser.

Remove unused code.

* UIProcess/API/ios/WKContentView.mm:
* UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.h: Removed.
* UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm: Removed.
* Shared/DrawingAreaInfo.h:
* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::create):
* WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.h: Removed.
* WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.mm: Removed.

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

8 years ago[WebGL] Implement OES texture float linear
dino@apple.com [Tue, 3 Dec 2013 20:21:29 +0000 (20:21 +0000)]
[WebGL] Implement OES texture float linear
https://bugs.webkit.org/show_bug.cgi?id=124871

Reviewed by Brent Fulgham.

Source/WebCore:

Implement the OES_texture_float_linear extension. Generally
we'd also enable OES_texture_half_float_linear at the same
time, but that's blocked on webkit.org/b/110936.

Test: fast/canvas/webgl/oes-texture-float-linear.html

* CMakeLists.txt: Add new files.
* DerivedSources.cpp: Ditto.
* DerivedSources.make: Generate new file from IDL.
* GNUmakefile.list.am: Add new files.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: New files for OESTextureFloatLinear.

* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS): Map the new name into the appropriate type.

* html/canvas/OESTextureFloatLinear.cpp: Added. This is a very simple class
that's mostly empty.
(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
(WebCore::OESTextureFloatLinear::~OESTextureFloatLinear):
(WebCore::OESTextureFloatLinear::getName):
(WebCore::OESTextureFloatLinear::create):
* html/canvas/OESTextureFloatLinear.h: Added.
* html/canvas/OESTextureFloatLinear.idl: Added.

* html/canvas/WebGLExtension.h: Declare the new name in the enum of extensions.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::drawArrays): Call new name.
(WebCore::WebGLRenderingContext::drawElements): Call new name.
(WebCore::WebGLRenderingContext::getExtension): Create the new extension if asked.
(WebCore::WebGLRenderingContext::checkTextureCompleteness): Renamed from handleNPOTTextures. Now
checks for the type of the texture too.
* html/canvas/WebGLRenderingContext.h: Member variable for new extension.

* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::WebGLTexture):
(WebCore::WebGLTexture::needToUseBlackTexture): Takes an extra parameter which indicates
if it has an extension enabled.
(WebCore::WebGLTexture::update): Note it is a float type when updating.
* html/canvas/WebGLTexture.h: New flag to indicate float type.

* platform/graphics/Extensions3D.h: New flag type.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension): Add a comment about the extension.

LayoutTests:

Add the Khronos test files for this extension.

Add the JS test file for OES_texture_float_linear and OES_texture_half_float_linear
even though it's only used for the former at the moment.

* fast/canvas/webgl/oes-texture-float-linear.html: Added.
* fast/canvas/webgl/resources/oes-texture-float-and-half-float-linear.js: Added.

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

8 years agoSupport exporting private WebCrypto RSA keys
ap@apple.com [Tue, 3 Dec 2013 20:18:14 +0000 (20:18 +0000)]
Support exporting private WebCrypto RSA keys
https://bugs.webkit.org/show_bug.cgi?id=124483

Reviewed by Anders Carlsson.

Source/WebCore:

Test: crypto/subtle/rsa-export-private-key.html

It might be better to have our own bignum implementation in WTF, but we currently
don't, and the need for this computation is Common Crypto specific anyway.

* crypto/CommonCryptoUtilities.h:
* crypto/CommonCryptoUtilities.cpp:
(WebCore::CCBigNum::CCBigNum):
(WebCore::CCBigNum::~CCBigNum):
(WebCore::CCBigNum::operator=):
(WebCore::CCBigNum::data):
(WebCore::CCBigNum::operator-):
(WebCore::CCBigNum::operator%):
(WebCore::CCBigNum::inverse):
Added a minimal wrapper around CommonCrypto BigNum.

* crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::getPrivateKeyComponents): Compute missing parts using CCBigNum.
(WebCore::CryptoKeyRSA::exportData): Implemented private key case.

LayoutTests:

* crypto/subtle/rsa-export-private-key-expected.txt: Added.
* crypto/subtle/rsa-export-private-key.html: Added.

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

8 years agoRemove old WebKit::APIClient cruft
andersca@apple.com [Tue, 3 Dec 2013 20:12:09 +0000 (20:12 +0000)]
Remove old WebKit::APIClient cruft
https://bugs.webkit.org/show_bug.cgi?id=125173

Reviewed by Antti Koivisto.

* Shared/APIClient.h:
* Shared/APIClientTraits.cpp: Removed.
* Shared/APIClientTraits.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/PDF/PDFPlugin.mm:

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

8 years agoWebCrypto HMAC doesn't check key algorithm's hash
ap@apple.com [Tue, 3 Dec 2013 20:05:52 +0000 (20:05 +0000)]
WebCrypto HMAC doesn't check key algorithm's hash
https://bugs.webkit.org/show_bug.cgi?id=125114

Update layout test result for a last minute change in test content.

* crypto/subtle/hmac-check-algorithm-expected.txt:

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

8 years agoBuild fix for iOS.
enrica@apple.com [Tue, 3 Dec 2013 20:01:24 +0000 (20:01 +0000)]
Build fix for iOS.

Reviewed by Tim Horton.

* Shared/WebCoreArgumentCoders.cpp: Added missing header.

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

8 years agoWeb Inspector: restore navigation panel state across reloads and reopens
commit-queue@webkit.org [Tue, 3 Dec 2013 19:51:08 +0000 (19:51 +0000)]
Web Inspector: restore navigation panel state across reloads and reopens
https://bugs.webkit.org/show_bug.cgi?id=122125

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-12-03
Reviewed by Timothy Hatcher.

The previous strategy for restoring content views after inspector
re-open did not consider the active sidebar and its selection, and
tried to recreate the appropriate selection from the saved content
view. However, doesn't work for tree elements in the sidebar panel
that don't change views when selected, such as script breakpoints,
special breakpoints, call stack, timeline sections, etc.

This patch implements a new strategy that saves the navigation
sidebar panel's view state by serializing the identity of the
selected element's represented object. Relevant represented
object classes implement the saveIdentityToCookie() method. Each
represented object class also adds a TypeIdentifier property to
its constructor, to aid inexact matching based on represented
object type, rather than its complete identity.

When restoring, the navigation sidebar attempts to match added
tree elements against the pending cookie, and selects the element
if it matches. A represented object matches if its serialized
identity matches the previously saved serialized identity.

The inspector view state is now only saved on the page hide event
(for saving across reopen) and when the main frame commits its
provisional load (for saving across same-page reloads). It
consolidates similar view state settings into a single setting.

* UserInterface/ApplicationCacheFrame.js:
(WebInspector.ApplicationCacheFrame): Add cookie keys and type identifier.
(WebInspector.ApplicationCacheFrame.prototype.saveIdentityToCookie): Added.
* UserInterface/ApplicationCacheManager.js: remove objectForCookie().
* UserInterface/Breakpoint.js:
(WebInspector.Breakpoint): Add cookie keys and type identifier.
(WebInspector.Breakpoint.prototype.saveIdentityToCookie):
* UserInterface/CookieStorageObject.js:
(WebInspector.CookieStorageObject.prototype.saveIdentityToCookie): Added.
* UserInterface/DOMStorageObject.js:
(WebInspector.DOMStorageObject): Add cookie keys and type identifier.
(WebInspector.DOMStorageObject.prototype.saveIdentityToCookie): Added.
* UserInterface/DatabaseObject.js:
(WebInspector.DatabaseObject): Add cookie keys and type identifier.
(WebInspector.DatabaseObject.prototype.saveIdentityToCookie): Added.
* UserInterface/DatabaseTableObject.js:
(WebInspector.DatabaseTableObject): Add cookie keys and type identifier.
(WebInspector.DatabaseTableObject.prototype.saveIdentityToCookie): Added.
* UserInterface/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie): Added.
(WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie): Added.
* UserInterface/Frame.js:
(WebInspector.Frame): Add cookie keys and type identifier.
(WebInspector.Frame.prototype.saveIdentityToCookie): Added.
* UserInterface/FrameResourceManager.js: remove objectForCookie().
* UserInterface/InstrumentSidebarPanel.js:
(WebInspector.InstrumentSidebarPanel.prototype.showTimelineForRecordType):
Return the shown timeline, if any.

(WebInspector.InstrumentSidebarPanel.prototype.saveStateToCookie): Added.
(WebInspector.InstrumentSidebarPanel.prototype.restoreStateFromCookie): Added.
(WebInspector.InstrumentSidebarPanel.prototype.showProfile):
Return the shown profile, if any.

* UserInterface/Main.js:
(WebInspector): Added cookie keys for the selected sidebar and
typeidentifier of the sidebar's selected tree element.

(WebInspector.contentLoaded): Remove callbacks for
resolveAndShowPendingContentViewCookie(). Consolidate all saved
inspector view state into one Setting. Move special-cased
restoring of the console to the restoration method. Move saving
of last opened navigation panel to the saving method.

(WebInspector._mainResourceDidChange): Try to restore saved view
state when the main resource changes.

(WebInspector._provisionalLoadCommitted): Update the saved view
state when the navigation commits. This is the last chance to save
it before the main resource changes and the navigation panel view
state is discarded and rebuilt.

(WebInspector._pageHidden): Update the saved view state when the
inspector page is hidden, but before state is discarded.

(WebInspector._navigationSidebarPanelSelected): Don't save last
navigation sidebar panel.
(WebInspector._updateCookieForInspectorViewState): Renamed from
_updateCurrentContentViewCookie. It delegates view state
serialization to the currently open navigation sidebar, rather
than the current content view.

(WebInspector._contentBrowserRepresentedObjectsDidChange): Don't
spuriously serialize the current view state cookie on every
ContentView change.

(WebInspector._restoreInspectorViewStateFromCookie): Renamed from
_showContentViewForCookie. It now restores a specific navigation
panel and delegates remaining view state restoration to the panel
itself. Last-resort selection of any tree element with the same
type identifier was moved to the navigation panel's restore method.

* UserInterface/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline):
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
Save references to all created TreeOutlines in a Set, so we can
restore any tree's selection.

(WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
Added. Find the selected tree element from all tree outlines and
ask it to serialize its identity.

(WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
Added. Eagerly search existing tree elements for a matching
representedObject. If none exists, save the pending cookie and
schedule last-resort matching using the provided timeout interval.

(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
Check if the added tree element matches a pending view state
cookie, if one exists.

(WebInspector.NavigationSidebarPanel.prototype.treeElementMatchesCookie):
Added. Check if the tree element's representedObject matches the
pending view state cookie.

(WebInspector.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
Added. For each provided tree element, check if the tree
element's represented object produces the same serialized identity
as the pending view state cookie that we are trying to resolve.
If a match is found (possibly by relaxing to matching anything
with the same type), select the tree element and clear both the
pending view state cookie and last-resort selection timer.

* UserInterface/Resource.js:
(WebInspector.Resource): Add cookie keys and type identifier.
(WebInspector.Resource.prototype.saveIdentityToCookie): Added.

* UserInterface/ResourceClusterContentView.js:
(WebInspector.ResourceClusterContentView.prototype.saveToCookie):
(WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):
Since identity state is serialized by the representedObject, these
methods only need to save view-specific state, such as the visible
subview. Remove extraneous state.

* UserInterface/Script.js:
(WebInspector.Script): Add cookie keys and type identifier.
(WebInspector.Script.prototype.saveIdentityToCookie): Added.
* UserInterface/StorageManager.js: remove objectForCookie().
* UserInterface/TimelineManager.js: remove objectForCookie().
* UserInterface/TimelinesContentView.js:
(WebInspector.TimelinesContentView.prototype.saveToCookie):
(WebInspector.TimelinesContentView.prototype.restoreFromCookie):
Since identity state is serialized by the representedObject, these
methods only need to save view-specific state, such as the visible
subview. Remove extraneous state.

* UserInterface/TreeOutline.js: Add TreeOutline.prototype.constructor
so other code can assume the constructor property exists.

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

8 years agoXML fragment parsing algorithm doesn't use the context element's default namespace URI
rniwa@webkit.org [Tue, 3 Dec 2013 19:44:55 +0000 (19:44 +0000)]
XML fragment parsing algorithm doesn't use the context element's default namespace URI
https://bugs.webkit.org/show_bug.cgi?id=125132

Reviewed by Darin Adler.

Source/WebCore:

Always use the context element's namespace as the default namespace URI when one is not specified by xmlns.

The new behavior matches that of Internet Explorer and the specified behavior in HTML5:
http://www.w3.org/TR/2013/CR-html5-20130806/the-xhtml-syntax.html#parsing-xhtml-fragments

"The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would
return true."

Test: fast/parser/fragment-parsing-in-document-without-xmlns.html

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):

LayoutTests:

Added a test for parsing a markup fragment inside a XHTML document without xmlns.
The parsed fragment should use the context element's namespace as the default namespace.

* fast/parser/fragment-parsing-in-document-without-xmlns-expected.txt: Added.
* fast/parser/fragment-parsing-in-document-without-xmlns.html: Added.

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

8 years agoRemove some CSS Variables leftovers
commit-queue@webkit.org [Tue, 3 Dec 2013 19:43:25 +0000 (19:43 +0000)]
Remove some CSS Variables leftovers
https://bugs.webkit.org/show_bug.cgi?id=125167

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-03
Reviewed by Darin Adler.

Source/WebCore:

No new tests needed. Only removing leftover code.

* css/CSSBasicShapes.cpp:
* css/CSSBasicShapes.h:

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

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

8 years agoRemove WTF:: prefix from types in messages.in files.
commit-queue@webkit.org [Tue, 3 Dec 2013 19:37:35 +0000 (19:37 +0000)]
Remove WTF:: prefix from types in messages.in files.
https://bugs.webkit.org/show_bug.cgi?id=124578

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-03
Reviewed by Anders Carlsson.

The WTF:: prefixes are removed from the messages.in files, and the
messages.py now handles unprefixed non-template WTF classes (only
the WTF::String class is used currently). Tests are also updated.

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.messages.in:
* PluginProcess/PluginControllerProxy.messages.in:
* PluginProcess/PluginProcess.messages.in:
* Scripts/webkit2/messages.py:
(forward_declarations_and_headers):
(class_template_headers):
(argument_coder_headers_for_type):
* Scripts/webkit2/messages_unittest.py:
(std):
* Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
* UIProcess/Downloads/DownloadProxy.messages.in:
* UIProcess/Plugins/PluginProcessProxy.messages.in:
* UIProcess/Storage/StorageManager.messages.in:
* UIProcess/WebContext.messages.in:
* UIProcess/WebCookieManagerProxy.messages.in:
* UIProcess/WebDatabaseManagerProxy.messages.in:
* UIProcess/WebIconDatabase.messages.in:
* UIProcess/WebInspectorProxy.messages.in:
* UIProcess/WebMediaCacheManagerProxy.messages.in:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/Cookies/WebCookieManager.messages.in:
* WebProcess/Geolocation/WebGeolocationManager.messages.in:
* WebProcess/MediaCache/WebMediaCacheManager.messages.in:
* WebProcess/Notifications/WebNotificationManager.messages.in:
* WebProcess/Plugins/PluginProcessConnection.messages.in:
* WebProcess/Plugins/PluginProxy.messages.in:
* WebProcess/Storage/StorageAreaMap.messages.in:
* WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
* WebProcess/WebPage/WebInspector.messages.in:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.messages.in:
* WebProcess/soup/WebSoupRequestManager.messages.in:

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

8 years agoChecking second-to-last bit in address is a typo
commit-queue@webkit.org [Tue, 3 Dec 2013 19:37:24 +0000 (19:37 +0000)]
Checking second-to-last bit in address is a typo
https://bugs.webkit.org/show_bug.cgi?id=125162

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-03
Reviewed by Darin Adler.

After talking with the original author of this line,
is was a typo to make sure that the second-to-last bit
in an address is 0. Instead, we want to make sure that
the address is aligned to a 4-byte boundary

No behavior change, so no test is necessary

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):

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

8 years agoTweak build fixes.
andersca@apple.com [Tue, 3 Dec 2013 19:36:06 +0000 (19:36 +0000)]
Tweak build fixes.

* Shared/APIClient.h:

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

8 years agoANGLE fails to build with trunk clang: unused constant kTraceBufferLen
dbates@webkit.org [Tue, 3 Dec 2013 19:31:21 +0000 (19:31 +0000)]
ANGLE fails to build with trunk clang: unused constant kTraceBufferLen
https://bugs.webkit.org/show_bug.cgi?id=125164
https://code.google.com/p/angleproject/issues/detail?id=534

Reviewed by Darin Adler.

Move the definition of the constant kTraceBufferLen under the macro
guard TRACE_ENABLED since it's only referenced in code guarded by
TRACE_ENABLED.

* src/compiler/debug.cpp:

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

8 years ago[Win] WebKit.make Makefile doesn't copy resource bundle to DSTROOT
bfulgham@apple.com [Tue, 3 Dec 2013 19:26:56 +0000 (19:26 +0000)]
[Win] WebKit.make Makefile doesn't copy resource bundle to DSTROOT
https://bugs.webkit.org/show_bug.cgi?id=125160

Reviewed by Tim Horton.

* WebKit.vcxproj/WebKit.make: Add copy command for resource bundle.

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

8 years agorun-jsc-stress-tests only supports host environments that have make installed
mhahnenberg@apple.com [Tue, 3 Dec 2013 18:51:12 +0000 (18:51 +0000)]
run-jsc-stress-tests only supports host environments that have make installed
https://bugs.webkit.org/show_bug.cgi?id=124550

Reviewed by Darin Adler.

This might not be the case for all hosts, so this patch implements an alternate "backend"
for run-jsc-stress-tests to use normal shell commands rather than Makefiles. To remain at
least somewhat competitive with the make-based test runner, the shell backend uses subshells
run in the background to allow tests to run in parallel. Since the concurrency primitives
in shell scripting are rather coarse, the overhead of this parallelism is higher than that
of the make-based runner.

* Scripts/jsc-stress-test-helpers/shell-runner.sh: Added. This is the runner that is copied into
the bundle and controls all of the parallel aspects of the shell-based test runner.
* Scripts/run-jsc-stress-tests:

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

8 years agoAX: Crash in accessibilityRoot when Document goes away
cfleizach@apple.com [Tue, 3 Dec 2013 18:44:32 +0000 (18:44 +0000)]
AX: Crash in accessibilityRoot when Document goes away
https://bugs.webkit.org/show_bug.cgi?id=125113

Reviewed by Tim Horton.

The AXObjectCache can sometimes be null if the render tree has been detached from the document.

* WebView/WebFrame.mm:
(-[WebFrame accessibilityRoot]):

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

8 years agoThe overflow border of a relatively positioned element inside a region is not painted
stavila@adobe.com [Tue, 3 Dec 2013 18:28:54 +0000 (18:28 +0000)]
The overflow border of a relatively positioned element inside a region is not painted
https://bugs.webkit.org/show_bug.cgi?id=124919

Source/WebCore:

Relative positioned elements have self-painting layers that don't propagate the visual overflow
so the layer's position should be used when determining the clipping rectangle for box decorations.

Reviewed by Mihnea Ovidenie.

Test: fast/regions/relative-borders-overflow.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):

LayoutTests:

Added new tests for correct painting of the borders of a relatively positioned element inside a region.

Reviewed by Mihnea Ovidenie.

* fast/regions/relative-borders-overflow-expected.html: Added.
* fast/regions/relative-borders-overflow.html: Added.
* fast/regions/relative-in-absolute-borders-overflow-expected.html: Added.
* fast/regions/relative-in-absolute-borders-overflow.html: Added.

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

8 years agoWeb Inspector: Get rid of 'hasFrontend()' in InspectorController and WorkerInspectorC...
seokju@webkit.org [Tue, 3 Dec 2013 18:09:28 +0000 (18:09 +0000)]
Web Inspector: Get rid of 'hasFrontend()' in InspectorController and WorkerInspectorController
https://bugs.webkit.org/show_bug.cgi?id=125135

Reviewed by Darin Adler.

Remove 'hasFrontend()' from InspectorController and WorkerInspectorController
as it's never called.

No new tests, no behavior changes.

* inspector/InspectorController.h:
* inspector/WorkerInspectorController.h:

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

8 years agoWeb Inspector: webViewResized() is not used anywhere in WebInspectorUI
seokju@webkit.org [Tue, 3 Dec 2013 18:08:34 +0000 (18:08 +0000)]
Web Inspector: webViewResized() is not used anywhere in WebInspectorUI
https://bugs.webkit.org/show_bug.cgi?id=125137

Reviewed by Darin Adler.

Remove leftover code.

No new tests, no behavior changes.

* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
* inspector/InspectorOverlay.cpp:
* inspector/InspectorOverlay.h:
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorPageAgent.h:

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

8 years agoAX: aria-hidden=false does not work as expected
cfleizach@apple.com [Tue, 3 Dec 2013 17:40:37 +0000 (17:40 +0000)]
AX: aria-hidden=false does not work as expected
https://bugs.webkit.org/show_bug.cgi?id=98787

Reviewed by Beth Dakin.

These tests were part of this patch added over a year ago, but the patch was rolled out, and when it was rolled back in
the tests were never added. So I'm adding them back again.

* accessibility/aria-hidden-negates-no-visibility.html: Added.
* platform/mac/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added.

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

8 years agoASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties...
commit-queue@webkit.org [Tue, 3 Dec 2013 17:29:22 +0000 (17:29 +0000)]
ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
https://bugs.webkit.org/show_bug.cgi?id=125146

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-03
Reviewed by Darin Adler.

Source/WebCore:

Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
An implicit y-value can become explicit if specified as a separate longhand.
At the same time, its new value can be non-primitive.

Backported from Blink:
http://src.chromium.org/viewvc/blink?view=rev&rev=153678

Test: fast/css/webkit-mask-crash-implicit.html

* css/StyleProperties.cpp:
(WebCore::StyleProperties::getLayeredShorthandValue):

LayoutTests:

* fast/css/webkit-mask-crash-implicit-expected.txt: Added.
* fast/css/webkit-mask-crash-implicit.html: Added.

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

8 years agoFix build break after r160007.
rwlbuis@webkit.org [Tue, 3 Dec 2013 17:26:36 +0000 (17:26 +0000)]
Fix build break after r160007.

* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend):

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

8 years agoFix EFL build error in WK2 (159965)
commit-queue@webkit.org [Tue, 3 Dec 2013 17:25:54 +0000 (17:25 +0000)]
Fix EFL build error in WK2 (159965)
https://bugs.webkit.org/show_bug.cgi?id=125153

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-03
Reviewed by Darin Adler.

* Shared/APIClient.h:

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

8 years ago[css shapes] layout for new ellipse syntax
rwlbuis@webkit.org [Tue, 3 Dec 2013 17:18:01 +0000 (17:18 +0000)]
[css shapes] layout for new ellipse syntax
https://bugs.webkit.org/show_bug.cgi?id=124621

Source/WebCore:

Reviewed by Dirk Schulze.

Implement support for doing layout with the new ellipse shape syntax,
including basic animation support.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html

* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Convert new ellipse to a layout shape.
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend): Ignore ellipses with values that
    cannot be interpolated.
(WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
    either radiusX or radiusY, shared by clip-path and shape code paths.
(WebCore::BasicShapeEllipse::path):
* rendering/style/BasicShapes.h:

LayoutTests:

Add a new test for the new ellipse syntax. Also update existing shape-inside, animation, and clip-path tests to
test the new ellipse syntax for clipping and shape-inside.

Reviewed by Dirk Schulze.

* animations/resources/animation-test-helpers.js:
(parseBasicShape):
* css3/masking/clip-path-animation-expected.txt:
* css3/masking/clip-path-animation.html:
* css3/masking/clip-path-ellipse.html:
* fast/shapes/shape-inside/shape-inside-animation-expected.txt:
* fast/shapes/shape-inside/shape-inside-animation.html:
* fast/shapes/shape-inside/shape-inside-ellipse-padding.html:
* fast/shapes/shape-inside/shape-inside-ellipse.html:
* fast/shapes/shape-inside/shape-inside-empty-expected.html:
* fast/shapes/shape-inside/shape-inside-empty.html:
* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html: Added.

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

8 years agoRemove function from TextChecker
commit-queue@webkit.org [Tue, 3 Dec 2013 17:15:18 +0000 (17:15 +0000)]
Remove function from TextChecker
https://bugs.webkit.org/show_bug.cgi?id=125148

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-03
Reviewed by Darin Adler.

The process_file_data is used only from the unit tests, so it is simply moved there.

* Scripts/webkitpy/style/checkers/text.py:
(TextChecker.check):
* Scripts/webkitpy/style/checkers/text_unittest.py:
(TextStyleTestCase.process_file_data):
(TextStyleTestCase.assertNoError):
(TextStyleTestCase.assertError):

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

8 years agoAdd an MathMLSelectElement class to implement <maction> and <semantics>.
commit-queue@webkit.org [Tue, 3 Dec 2013 17:12:38 +0000 (17:12 +0000)]
Add an MathMLSelectElement class to implement <maction> and <semantics>.
<https://webkit.org/b/120058>

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-03
Reviewed by Chris Fleizach.

Source/WebCore:

Tests: mathml/presentation/maction-dynamic.html
       mathml/presentation/maction.html
       mathml/presentation/semantics.html

This adds a new MathMLSelectElement class to prepare the implementation
of the <maction> and <semantics> elements, for which only one "selected"
child is visible. We now simply display the first child of the
<semantics> element instead of hiding the annotations and this allows to
handle the use case of SVG-in-MathML as generated by Instiki when
bug 124128 is fixed ; Gecko's selection algorithm will be implemented
later (bug 100626). We now also rely on the @actiontype and @selection
attributes to select the visible <maction> child ; It remains to deal
with the user interaction (bug 85734).

* CMakeLists.txt: add the new files.
* GNUmakefile.list.am: ditto
* Target.pri: ditto
* WebCore.vcxproj/WebCore.vcxproj: ditto
* WebCore.vcxproj/WebCore.vcxproj.filters: ditto
* WebCore.xcodeproj/project.pbxproj: ditto
* css/mathml.css: remove the CSS rule for annotation/annotation-xml.
* mathml/MathMLAllInOne.cpp: add the new cpp file.
* mathml/MathMLSelectElement.cpp: Added.
(WebCore::MathMLSelectElement::MathMLSelectElement):
(WebCore::MathMLSelectElement::create):
(WebCore::MathMLSelectElement::createRenderer):
(WebCore::MathMLSelectElement::childShouldCreateRenderer):
(WebCore::MathMLSelectElement::finishParsingChildren):
(WebCore::MathMLSelectElement::childrenChanged):
(WebCore::MathMLSelectElement::attributeChanged):
(WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
* mathml/MathMLSelectElement.h: Added.
* mathml/mathattrs.in: add actiontype and selection attributes.
* mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.

LayoutTests:

New tests for the selection of the visible child in the <maction> and <semantics> elements.

* mathml/presentation/maction-dynamic-expected.html: Added.
* mathml/presentation/maction-dynamic.html: Added.
* mathml/presentation/maction-expected.html: Added.
* mathml/presentation/maction.html: Added.
* mathml/presentation/semantics-expected.html: Added.
* mathml/presentation/semantics.html: Added.

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

8 years agotestapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow...
commit-queue@webkit.org [Tue, 3 Dec 2013 17:09:54 +0000 (17:09 +0000)]
testapi test crashes on Windows in WTF::Vector<wchar_t,64,WTF::UnsafeVectorOverflow>::size()
https://bugs.webkit.org/show_bug.cgi?id=121972

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-03
Reviewed by Michael Saboff.

The reason for the crash is that the wrong memory block is decommitted.
This can happen if no memory has been committed in the reserved block before the JSStack object is destroyed.
In the JSStack destructor, the pointer to decommit then points to the end of the block (or the start of the next), and the decommit size is zero.
If there is a block just after the block we are trying to decommit, this block will be decommitted, since Windows will decommit the whole block,
if the decommit size is zero (see VirtualFree). When somebody tries to read/write to this block later, we crash.

* interpreter/JSStack.cpp:
(JSC::JSStack::~JSStack): Don't decommit memory if nothing has been committed.

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

8 years agoGuard JIT include.
commit-queue@webkit.org [Tue, 3 Dec 2013 15:53:32 +0000 (15:53 +0000)]
Guard JIT include.
https://bugs.webkit.org/show_bug.cgi?id=125063

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-03
Reviewed by Filip Pizlo.

* llint/LLIntThunks.cpp:

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

8 years agoDebug build fix : Add '<algorithm>' for 'std::is_sorted' after r159965.
seokju@webkit.org [Tue, 3 Dec 2013 15:02:03 +0000 (15:02 +0000)]
Debug build fix : Add '<algorithm>' for 'std::is_sorted' after r159965.
https://bugs.webkit.org/show_bug.cgi?id=125140

Reviewed by Csaba Osztrogonác.

* Shared/APIClient.h:

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

8 years agoNix Upstream: Adding missing nix new files to WebCore
commit-queue@webkit.org [Tue, 3 Dec 2013 14:24:50 +0000 (14:24 +0000)]
Nix Upstream: Adding missing nix new files to WebCore
https://bugs.webkit.org/show_bug.cgi?id=124987

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-03
Reviewed by Benjamin Poulain.

No new tests needed.

* PlatformNix.cmake:
* platform/nix/ErrorsNix.cpp: Added.
* platform/nix/ErrorsNix.h: Added.
* platform/nix/FileSystemNix.cpp: Added.
* platform/nix/MIMETypeRegistryNix.cpp: Added.
* platform/nix/SharedTimerNix.cpp: Added.
* platform/nix/TemporaryLinkStubs.cpp: Added.

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

8 years agoFix EFL build with INPUT_TYPE_COLOR disabled.
commit-queue@webkit.org [Tue, 3 Dec 2013 12:44:27 +0000 (12:44 +0000)]
Fix EFL build with INPUT_TYPE_COLOR disabled.
https://bugs.webkit.org/show_bug.cgi?id=125065

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-03
Reviewed by Zoltan Herczeg.

* UIProcess/API/efl/ewk_color_picker.cpp:

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

8 years agoCorrect broken build on efl port with --no-netscape-plugin-api
commit-queue@webkit.org [Tue, 3 Dec 2013 12:42:29 +0000 (12:42 +0000)]
Correct broken build on efl port with --no-netscape-plugin-api
configuration.
https://bugs.webkit.org/show_bug.cgi?id=123997

Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-12-03
Reviewed by Zoltan Herczeg.

Build failed on efl port with --no-netscape-plugin-api configuration
as ld did not found some methods. The configuration uses a minimal
empty implementation of the class, which is now extended with empty
method implementations.

* plugins/PluginPackageNone.cpp:
(WebCore::PluginPackage::createPackage):
  Returns NULL pointer.
(WebCore::PluginPackage::hash):
  Returns 0.
(WebCore::PluginPackage::equal):
  Returns true (equals).
(WebCore::PluginPackage::compare):
  Returns 0 (equals).
(WebCore::PluginPackage::~PluginPackage):
  Do nothing.

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

8 years agoRemove get_test() and reference test names directly instead.
commit-queue@webkit.org [Tue, 3 Dec 2013 12:40:31 +0000 (12:40 +0000)]
Remove get_test() and reference test names directly instead.
https://bugs.webkit.org/show_bug.cgi?id=124962

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-03
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(Base.__init__):
(Base.get_basic_tests):
(assert_exp):
(MiscTests.test_multiple_results):
(MiscTests.test_category_expectations):
(MiscTests.test_get_modifiers):
(MiscTests.test_get_expectations_string):
(MiscTests.test_get_test_set):
(MiscTests.test_parse_warning):
(MiscTests.test_pixel_tests_flag.match):

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

8 years agoStyle Checker false pass.
ossy@webkit.org [Tue, 3 Dec 2013 12:30:22 +0000 (12:30 +0000)]
Style Checker false pass.
https://bugs.webkit.org/show_bug.cgi?id=112456

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-03
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/style/checkers/changelog.py:
(ChangeLogChecker.check_entry):
simple regex fix to check "No new tests (...)."
* Scripts/webkitpy/style/checkers/changelog_unittest.py:
(ChangeLogCheckerTest.test_no_new_tests):

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

8 years agoAdd spatial navigation API in EFL port
commit-queue@webkit.org [Tue, 3 Dec 2013 10:29:47 +0000 (10:29 +0000)]
Add spatial navigation API in EFL port
https://bugs.webkit.org/show_bug.cgi?id=125002

Patch by Dariusz Frankiewicz <d.frankiewic@samsung.com> on 2013-12-03
Reviewed by Gyuyoung Kim.

API enables capability of turning on and off spatial navigation
and check is state.
Spatial navigation is the ability to navigate between focusable
elements by keyboard.

* UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_spatial_navigation_enabled_set):
(ewk_settings_spatial_navigation_enabled_get):
* UIProcess/API/efl/ewk_settings.h:
* UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):

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

8 years agoMerge mips and arm/sh4 paths in nativeForGenerator and privateCompileCTINativeCall...
commit-queue@webkit.org [Tue, 3 Dec 2013 10:28:21 +0000 (10:28 +0000)]
Merge mips and arm/sh4 paths in nativeForGenerator and privateCompileCTINativeCall functions.
https://bugs.webkit.org/show_bug.cgi?id=125067

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-03
Reviewed by Michael Saboff.

* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTINativeCall):
* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):

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

8 years agoBuild fixes for GCC-using ports after r159965 and later
zandobersek@gmail.com [Tue, 3 Dec 2013 08:01:17 +0000 (08:01 +0000)]
Build fixes for GCC-using ports after r159965 and later
https://bugs.webkit.org/show_bug.cgi?id=125136

GCC doesn't process API::ClientTraits template instantiations unless they're done
inside the API namespace.

* Shared/WebConnectionClient.h:
* UIProcess/Notifications/WebNotificationProvider.h:
* UIProcess/WebContextClient.h:
* UIProcess/WebContextConnectionClient.h:
* UIProcess/WebContextInjectedBundleClient.h:
* UIProcess/WebCookieManagerProxyClient.h:
* UIProcess/WebDatabaseManagerProxyClient.h:
* UIProcess/WebDownloadClient.h:
* UIProcess/WebFindClient.h:
* UIProcess/WebFormClient.h:
* UIProcess/WebGeolocationProvider.h:
* UIProcess/WebHistoryClient.h:
* UIProcess/WebIconDatabaseClient.h:
* UIProcess/WebLoaderClient.h:
* UIProcess/WebOriginDataManagerProxyChangeClient.h:
* UIProcess/WebPageContextMenuClient.h:
* UIProcess/WebPolicyClient.h:
* UIProcess/WebUIClient.h:
* WebProcess/InjectedBundle/InjectedBundleClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:

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

8 years agoBuild fix.
mitz@apple.com [Tue, 3 Dec 2013 06:20:39 +0000 (06:20 +0000)]
Build fix.

* UIProcess/API/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS initWithContext:]):

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

8 years agoAdd ability to iterate over API::Array
commit-queue@webkit.org [Tue, 3 Dec 2013 05:53:32 +0000 (05:53 +0000)]
Add ability to iterate over API::Array
https://bugs.webkit.org/show_bug.cgi?id=124533

Patch by Martin Hock <mhock@apple.com> on 2013-12-02
Reviewed by Sam Weinig.

* GNUmakefile.list.am:
* Shared/APIArray.h:
* Shared/FilterIterator.h:
* Shared/IteratorPair.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::toStringVector):
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):

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

8 years ago[Cocoa] WebProtectionSpace has a generic wrapper
mitz@apple.com [Tue, 3 Dec 2013 04:25:07 +0000 (04:25 +0000)]
[Cocoa] WebProtectionSpace has a generic wrapper
https://bugs.webkit.org/show_bug.cgi?id=125125

Reviewed by Anders Carlsson.

Added WKNSURLProtectionSpace.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Allocate a WKNSURLProtectionSpace if the object is a
WebProtectionSpace.
* Shared/Cocoa/WKNSURLProtectionSpace.h: Added.
(WebKit::wrapper): Added. Returns a WebProtecitonSpace’s wrapper as an NSURLProtectionSpace.
* Shared/Cocoa/WKNSURLProtectionSpace.mm: Added.
(-[WKNSURLProtectionSpace copyWithZone:]): Retains self.
* UIProcess/Authentication/WebProtectionSpace.h:
(WebKit::WebProtectionSpace::protectionSpace): Added an accessor for the
WebCore::ProtectionSpace.
* WebKit2.xcodeproj/project.pbxproj: Added references to new files.

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

8 years agorun-jsc-stress-tests should allow for tests that have a directory containing .js...
fpizlo@apple.com [Tue, 3 Dec 2013 04:19:07 +0000 (04:19 +0000)]
run-jsc-stress-tests should allow for tests that have a directory containing .js files nested within a directory containing the data
https://bugs.webkit.org/show_bug.cgi?id=125130

Reviewed by Geoffrey Garen.

* Scripts/run-jsc-stress-tests:

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

8 years agoAvoid setting style twice for generated image content.
akling@apple.com [Tue, 3 Dec 2013 03:19:08 +0000 (03:19 +0000)]
Avoid setting style twice for generated image content.
<https://webkit.org/b/125128>

Take care of a FIXME I added in r158097 and avoid redundant work in
ImageContentData::createRenderer().

I changed the inheritance helper RenderImage::setPseudoStyle() into
a new createStyleInheritingFromPseudoStyle() function instead so it
can be used from both PseudoElement and ImageContentData.

Reviewed by Antti Koivisto.

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

8 years agoReplace uses of WebKit::APIClient with API::Client
andersca@apple.com [Tue, 3 Dec 2013 02:36:08 +0000 (02:36 +0000)]
Replace uses of WebKit::APIClient with API::Client
https://bugs.webkit.org/show_bug.cgi?id=125129

Reviewed by Andreas Kling.

* Shared/API/c/WKConnectionRef.cpp:
(WKConnectionSetConnectionClient):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::initializeConnectionClient):
* Shared/WebConnection.h:
* Shared/WebConnectionClient.cpp:
(WebKit::WebConnectionClient::didReceiveMessage):
(WebKit::WebConnectionClient::didClose):
* Shared/WebConnectionClient.h:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetClient):
(WKContextSetInjectedBundleClient):
(WKContextSetHistoryClient):
(WKContextSetDownloadClient):
(WKContextSetConnectionClient):
* UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerSetClient):
* UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerSetClient):
* UIProcess/API/C/WKGeolocationManager.cpp:
(WKGeolocationManagerSetProvider):
* UIProcess/API/C/WKIconDatabase.cpp:
(WKIconDatabaseSetIconDatabaseClient):
* UIProcess/API/C/WKNotificationManager.cpp:
(WKNotificationManagerSetProvider):
* UIProcess/API/C/WKOriginDataManager.cpp:
(WKOriginDataManagerSetChangeClient):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageContextMenuClient):
(WKPageSetPageFindClient):
(WKPageSetPageFindMatchesClient):
(WKPageSetPageFormClient):
(WKPageSetPagePolicyClient):
(WKPageSetPageUIClient):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPagePolicyClient):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::initializeProvider):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::show):
(WebKit::WebNotificationProvider::cancel):
(WebKit::WebNotificationProvider::didDestroyNotification):
(WebKit::WebNotificationProvider::clearNotifications):
(WebKit::WebNotificationProvider::addNotificationManager):
(WebKit::WebNotificationProvider::removeNotificationManager):
(WebKit::WebNotificationProvider::notificationPermissions):
* UIProcess/Notifications/WebNotificationProvider.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::initializeClient):
(WebKit::WebContext::initializeInjectedBundleClient):
(WebKit::WebContext::initializeConnectionClient):
(WebKit::WebContext::initializeHistoryClient):
(WebKit::WebContext::initializeDownloadClient):
* UIProcess/WebContext.h:
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::plugInAutoStartOriginHashesChanged):
(WebKit::WebContextClient::networkProcessDidCrash):
(WebKit::WebContextClient::plugInInformationBecameAvailable):
* UIProcess/WebContextClient.h:
* UIProcess/WebContextConnectionClient.cpp:
(WebKit::WebContextConnectionClient::didCreateConnection):
* UIProcess/WebContextConnectionClient.h:
* UIProcess/WebContextInjectedBundleClient.cpp:
(WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
(WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
(WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
* UIProcess/WebContextInjectedBundleClient.h:
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::initializeClient):
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebCookieManagerProxyClient.cpp:
(WebKit::WebCookieManagerProxyClient::cookiesDidChange):
* UIProcess/WebCookieManagerProxyClient.h:
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::initializeClient):
* UIProcess/WebDatabaseManagerProxy.h:
* UIProcess/WebDatabaseManagerProxyClient.cpp:
(WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
(WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
* UIProcess/WebDatabaseManagerProxyClient.h:
* UIProcess/WebDownloadClient.cpp:
(WebKit::WebDownloadClient::didStart):
(WebKit::WebDownloadClient::didReceiveAuthenticationChallenge):
(WebKit::WebDownloadClient::didReceiveResponse):
(WebKit::WebDownloadClient::didReceiveData):
(WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
(WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
(WebKit::WebDownloadClient::didCreateDestination):
(WebKit::WebDownloadClient::didFinish):
(WebKit::WebDownloadClient::didFail):
(WebKit::WebDownloadClient::didCancel):
(WebKit::WebDownloadClient::processDidCrash):
* UIProcess/WebDownloadClient.h:
* UIProcess/WebFindClient.cpp:
(WebKit::WebFindClient::didFindString):
(WebKit::WebFindClient::didFailToFindString):
(WebKit::WebFindClient::didCountStringMatches):
(WebKit::WebFindMatchesClient::didFindStringMatches):
(WebKit::WebFindMatchesClient::didGetImageForMatchResult):
* UIProcess/WebFindClient.h:
* UIProcess/WebFormClient.cpp:
(WebKit::WebFormClient::willSubmitForm):
* UIProcess/WebFormClient.h:
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::initializeProvider):
* UIProcess/WebGeolocationManagerProxy.h:
* UIProcess/WebGeolocationProvider.cpp:
(WebKit::WebGeolocationProvider::startUpdating):
(WebKit::WebGeolocationProvider::stopUpdating):
(WebKit::WebGeolocationProvider::setEnableHighAccuracy):
* UIProcess/WebGeolocationProvider.h:
* UIProcess/WebHistoryClient.cpp:
(WebKit::WebHistoryClient::didNavigateWithNavigationData):
(WebKit::WebHistoryClient::didPerformClientRedirect):
(WebKit::WebHistoryClient::didPerformServerRedirect):
(WebKit::WebHistoryClient::didUpdateHistoryTitle):
(WebKit::WebHistoryClient::populateVisitedLinks):
* UIProcess/WebHistoryClient.h:
* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::initializeIconDatabaseClient):
* UIProcess/WebIconDatabase.h:
* UIProcess/WebIconDatabaseClient.cpp:
(WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
(WebKit::WebIconDatabaseClient::didRemoveAllIcons):
(WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
* UIProcess/WebIconDatabaseClient.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::WebOriginDataManagerProxy::setChangeClient):
* UIProcess/WebOriginDataManagerProxy.h:
* UIProcess/WebOriginDataManagerProxyChangeClient.cpp:
(WebKit::WebOriginDataManagerProxyChangeClient::didChange):
* UIProcess/WebOriginDataManagerProxyChangeClient.h:
* UIProcess/WebPageContextMenuClient.cpp:
(WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
(WebKit::WebPageContextMenuClient::customContextMenuItemSelected):
(WebKit::WebPageContextMenuClient::contextMenuDismissed):
(WebKit::WebPageContextMenuClient::showContextMenu):
(WebKit::WebPageContextMenuClient::hideContextMenu):
* UIProcess/WebPageContextMenuClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializePolicyClient):
(WebKit::WebPageProxy::initializeFormClient):
(WebKit::WebPageProxy::initializeUIClient):
(WebKit::WebPageProxy::initializeFindClient):
(WebKit::WebPageProxy::initializeFindMatchesClient):
(WebKit::WebPageProxy::initializeContextMenuClient):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPolicyClient.cpp:
(WebKit::WebPolicyClient::decidePolicyForNavigationAction):
(WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
(WebKit::WebPolicyClient::decidePolicyForResponse):
(WebKit::WebPolicyClient::unableToImplementPolicy):
* UIProcess/WebPolicyClient.h:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::createNewPage):
(WebKit::WebUIClient::showPage):
(WebKit::WebUIClient::close):
(WebKit::WebUIClient::takeFocus):
(WebKit::WebUIClient::focus):
(WebKit::WebUIClient::unfocus):
(WebKit::WebUIClient::runJavaScriptAlert):
(WebKit::WebUIClient::runJavaScriptConfirm):
(WebKit::WebUIClient::runJavaScriptPrompt):
(WebKit::WebUIClient::setStatusText):
(WebKit::WebUIClient::mouseDidMoveOverElement):
(WebKit::WebUIClient::unavailablePluginButtonClicked):
(WebKit::WebUIClient::didNotHandleKeyEvent):
(WebKit::WebUIClient::didNotHandleWheelEvent):
(WebKit::WebUIClient::toolbarsAreVisible):
(WebKit::WebUIClient::setToolbarsAreVisible):
(WebKit::WebUIClient::menuBarIsVisible):
(WebKit::WebUIClient::setMenuBarIsVisible):
(WebKit::WebUIClient::statusBarIsVisible):
(WebKit::WebUIClient::setStatusBarIsVisible):
(WebKit::WebUIClient::isResizable):
(WebKit::WebUIClient::setIsResizable):
(WebKit::WebUIClient::setWindowFrame):
(WebKit::WebUIClient::windowFrame):
(WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
(WebKit::WebUIClient::didDraw):
(WebKit::WebUIClient::pageDidScroll):
(WebKit::WebUIClient::exceededDatabaseQuota):
(WebKit::WebUIClient::runOpenPanel):
(WebKit::WebUIClient::decidePolicyForGeolocationPermissionRequest):
(WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
(WebKit::WebUIClient::headerHeight):
(WebKit::WebUIClient::footerHeight):
(WebKit::WebUIClient::drawHeader):
(WebKit::WebUIClient::drawFooter):
(WebKit::WebUIClient::printFrame):
(WebKit::WebUIClient::runModal):
(WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
(WebKit::WebUIClient::shouldInterruptJavaScript):
(WebKit::WebUIClient::showColorPicker):
(WebKit::WebUIClient::hideColorPicker):
* UIProcess/WebUIClient.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetClient):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetContextMenuClient):
(WKBundlePageSetEditorClient):
(WKBundlePageSetFormClient):
(WKBundlePageSetPageLoaderClient):
(WKBundlePageSetResourceLoadClient):
(WKBundlePageSetPolicyClient):
(WKBundlePageSetUIClient):
(WKBundlePageSetFullScreenClient):
(WKBundlePageSetDiagnosticLoggingClient):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::initializeClient):
* WebProcess/InjectedBundle/InjectedBundle.h:
* WebProcess/InjectedBundle/InjectedBundleClient.cpp:
(WebKit::InjectedBundleClient::didCreatePage):
(WebKit::InjectedBundleClient::willDestroyPage):
(WebKit::InjectedBundleClient::didInitializePageGroup):
(WebKit::InjectedBundleClient::didReceiveMessage):
(WebKit::InjectedBundleClient::didReceiveMessageToPage):
* WebProcess/InjectedBundle/InjectedBundleClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
(WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
(WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
(WebKit::InjectedBundlePageEditorClient::shouldInsertText):
(WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
(WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
(WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
(WebKit::InjectedBundlePageEditorClient::didBeginEditing):
(WebKit::InjectedBundlePageEditorClient::didEndEditing):
(WebKit::InjectedBundlePageEditorClient::didChange):
(WebKit::InjectedBundlePageEditorClient::didChangeSelection):
(WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard):
(WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
(WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard):
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didFocusTextField):
(WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
(WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
(WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
(WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
(WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
(WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
(WebKit::InjectedBundlePageFormClient::willSubmitForm):
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
(WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
(WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
(WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
(WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
(WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
(WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
(WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
(WebKit::InjectedBundlePageLoaderClient::didFinishProgress):
(WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
(WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
(WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
(WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
(WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
(WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
(WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
(WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
(WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
(WebKit::InjectedBundlePageLoaderClient::didLayout):
(WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
(WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
(WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
(WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
(WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):
(WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
(WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
(WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
(WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL):
(WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
(WebKit::InjectedBundlePageLoaderClient::willDestroyFrame):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
(WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
(WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
* WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
(WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
(WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
(WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
(WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
(WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
(WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
(WebKit::InjectedBundlePageUIClient::pageDidScroll):
(WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload):
(WebKit::InjectedBundlePageUIClient::generateFileForUpload):
(WebKit::InjectedBundlePageUIClient::statusBarIsVisible):
(WebKit::InjectedBundlePageUIClient::menuBarIsVisible):
(WebKit::InjectedBundlePageUIClient::toolbarsAreVisible):
(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
(WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
(WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
(WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
(WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
(WebKit::InjectedBundlePageUIClient::plugInExtraScript):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::initializeInjectedBundleContextMenuClient):
(WebKit::WebPage::initializeInjectedBundleEditorClient):
(WebKit::WebPage::initializeInjectedBundleFormClient):
(WebKit::WebPage::initializeInjectedBundleLoaderClient):
(WebKit::WebPage::initializeInjectedBundlePolicyClient):
(WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
(WebKit::WebPage::initializeInjectedBundleUIClient):
(WebKit::WebPage::initializeInjectedBundleFullScreenClient):
(WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient):
* WebProcess/WebPage/WebPage.h:

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

8 years agoBuild failure when disabling JIT, YARR_JIT, and ASSEMBLER.
mark.lam@apple.com [Tue, 3 Dec 2013 01:32:43 +0000 (01:32 +0000)]
Build failure when disabling JIT, YARR_JIT, and ASSEMBLER.
https://bugs.webkit.org/show_bug.cgi?id=123809.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Also fixed build when disabling the DISASSEMBLER.
Added some needed #if's and some comments.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::finalizeCodeWithDisassembly):
* dfg/DFGDisassembler.cpp:
* dfg/DFGDisassembler.h:
(JSC::DFG::Disassembler::Disassembler):
(JSC::DFG::Disassembler::setStartOfCode):
(JSC::DFG::Disassembler::setForBlockIndex):
(JSC::DFG::Disassembler::setForNode):
(JSC::DFG::Disassembler::setEndOfMainPath):
(JSC::DFG::Disassembler::setEndOfCode):
(JSC::DFG::Disassembler::dump):
(JSC::DFG::Disassembler::reportToProfiler):
* disassembler/Disassembler.cpp:
* disassembler/X86Disassembler.cpp:
* jit/FPRInfo.h:
* jit/GPRInfo.h:
* jit/JITDisassembler.cpp:
* jit/JITDisassembler.h:
(JSC::JITDisassembler::JITDisassembler):
(JSC::JITDisassembler::setStartOfCode):
(JSC::JITDisassembler::setForBytecodeMainPath):
(JSC::JITDisassembler::setForBytecodeSlowPath):
(JSC::JITDisassembler::setEndOfSlowPath):
(JSC::JITDisassembler::setEndOfCode):
(JSC::JITDisassembler::dump):
(JSC::JITDisassembler::reportToProfiler):

Source/WTF:

* wtf/Platform.h:
- Ensure that the ASSEMBLER is enabled when the DISASSEMBLER is enabled.

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

8 years agoPossible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
beidson@apple.com [Tue, 3 Dec 2013 01:27:06 +0000 (01:27 +0000)]
Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
https://bugs.webkit.org/show_bug.cgi?id=125110

Reviewed by Darin Adler.

FrameLoader::loadProgressingStatusChanged() might be called while the Frame has a null FrameView.

It’s unclear how to reproduce, but there’s no harm in a null check.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadProgressingStatusChanged):

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

8 years agoMerging some more iOS WebKit2 stuff.
enrica@apple.com [Tue, 3 Dec 2013 01:12:51 +0000 (01:12 +0000)]
Merging some more iOS WebKit2 stuff.
https://bugs.webkit.org/show_bug.cgi?id=125119

Reviewed by Tim Horton.

* Shared/EditorState.h:
* Shared/NativeWebKeyboardEvent.h:
* Shared/NativeWebMouseEvent.h:
* Shared/NativeWebTouchEvent.h:
* Shared/mac/RemoteLayerBackingStore.h:
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
* UIProcess/PageClient.h:
* UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
* UIProcess/mac/SecItemShimProxy.messages.in:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

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

8 years agoAdd versioned structs for the remaining clients
andersca@apple.com [Tue, 3 Dec 2013 01:11:47 +0000 (01:11 +0000)]
Add versioned structs for the remaining clients
https://bugs.webkit.org/show_bug.cgi?id=125123

Reviewed by Andreas Kling.

* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/WKContextConnectionClient.h:
* UIProcess/API/C/WKContextDownloadClient.h:
* UIProcess/API/C/WKContextHistoryClient.h:
* UIProcess/API/C/WKContextInjectedBundleClient.h:
* UIProcess/API/C/WKOriginDataManager.h:

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

8 years agoMove WKContext clients to separate files
andersca@apple.com [Tue, 3 Dec 2013 00:54:12 +0000 (00:54 +0000)]
Move WKContext clients to separate files
https://bugs.webkit.org/show_bug.cgi?id=125121

Reviewed by Andreas Kling.

* UIProcess/API/C/WKContext.h:
* UIProcess/API/C/WKContextConnectionClient.h: Added.
* UIProcess/API/C/WKContextDownloadClient.h: Added.
* UIProcess/API/C/WKContextHistoryClient.h: Added.
* UIProcess/API/C/WKContextInjectedBundleClient.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

8 years agoWebPageGroups should keep track of what processes they are being used by
weinig@apple.com [Tue, 3 Dec 2013 00:43:27 +0000 (00:43 +0000)]
WebPageGroups should keep track of what processes they are being used by
https://bugs.webkit.org/show_bug.cgi?id=124556

Reviewed by Anders Carlsson.

* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):
* UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::addProcess):
(WebKit::WebPageGroup::disconnectProcess):
* UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::sendToAllProcessesInGroup):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeWebPage):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::webPageGroup):
(WebKit::WebProcessProxy::addWebPageGroup):
* UIProcess/WebProcessProxy.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::webPageGroup):

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

8 years agoAdd versioned structs for all clients except the ones in WKContext.h
andersca@apple.com [Tue, 3 Dec 2013 00:40:33 +0000 (00:40 +0000)]
Add versioned structs for all clients except the ones in WKContext.h
https://bugs.webkit.org/show_bug.cgi?id=125120

Reviewed by Andreas Kling.

* Shared/API/c/WKConnectionRef.h:
* UIProcess/API/C/WKCookieManager.h:
* UIProcess/API/C/WKDatabaseManager.h:
* UIProcess/API/C/WKGeolocationManager.h:
* UIProcess/API/C/WKIconDatabase.h:
* UIProcess/API/C/WKNotificationProvider.h:
* UIProcess/API/C/WKPageContextMenuClient.h:
* UIProcess/API/C/WKPageFindClient.h:
* UIProcess/API/C/WKPageFindMatchesClient.h:
* UIProcess/API/C/WKPageFormClient.h:
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/C/WKPagePolicyClient.h:
* UIProcess/API/C/WKPageUIClient.h:
* WebProcess/InjectedBundle/API/c/WKBundle.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
* WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:

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

8 years ago AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
samuel_white@apple.com [Tue, 3 Dec 2013 00:36:23 +0000 (00:36 +0000)]
AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
    https://bugs.webkit.org/show_bug.cgi?id=124561

    Reviewed by Chris Fleizach.

    Added test to verify that NSAccessibilityUIElementCountForSearchPredicateParameterizedAttribute
    works as it should and updated existing test that has exposes this new attribute.

    * platform/mac/accessibility/bounds-for-range-expected.txt:
    * platform/mac/accessibility/search-predicate-element-count-expected.txt: Added.
    * platform/mac/accessibility/search-predicate-element-count.html: Added.

    Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
    to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
    exist on a page, and then fetch them in chunks as needed.

    Test: platform/mac/accessibility/search-predicate-element-count.html

    * accessibility/AccessibilityObject.cpp:
    (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
    * accessibility/AccessibilityObject.h:
    (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
    * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
    (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
    (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
    (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

    Added function to verify that NSAccessibilityUIElementCountForSearchPredicateParameterizedAttribute works as it should.

    * DumpRenderTree/AccessibilityUIElement.cpp:
    (uiElementCountForSearchPredicateCallback):
    (uiElementForSearchPredicateCallback):
    (AccessibilityUIElement::getJSClass):
    * DumpRenderTree/AccessibilityUIElement.h:
    * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
    (AccessibilityUIElement::uiElementCountForSearchPredicate):
    * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
    (AccessibilityUIElement::uiElementCountForSearchPredicate):
    * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
    (searchPredicateParameterizedAttributeForSearchCriteria):
    (AccessibilityUIElement::uiElementCountForSearchPredicate):
    (AccessibilityUIElement::uiElementForSearchPredicate):
    * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
    (AccessibilityUIElement::uiElementCountForSearchPredicate):
    * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
    (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
    * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
    * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
    * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
    (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
    * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
    (WTR::searchPredicateParameterizedAttributeForSearchCriteria):
    (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
    (WTR::AccessibilityUIElement::uiElementForSearchPredicate):

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

8 years ago[css shapes] Layout support for new circle shape syntax
bjonesbe@adobe.com [Tue, 3 Dec 2013 00:10:21 +0000 (00:10 +0000)]
[css shapes] Layout support for new circle shape syntax
https://bugs.webkit.org/show_bug.cgi?id=124619

Reviewed by Dirk Schulze.

Source/WebCore:

Implement support for doing layout with the new circle shape syntax,
inclduing basic animation support.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
       fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
       fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
       fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
       fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
       fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html

* css/BasicShapeFunctions.cpp:
(WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
    layout code and the clip path code.
* css/BasicShapeFunctions.h:
* css/CSSBasicShapes.cpp:
(WebCore::buildCircleString): Update to use appendLiteral, and remove
    call to reserveCapacity - if we find that it's actually slow when
    doing performance tests, we can hopefully do something smarter and
    less ugly than that.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
    the radius keywords not to work properly.
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape): Convert new circle to a layout shape.
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend): Ignore circles with values that
    cannot be interpolated.
(WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
    radius keywords to a float value.
(WebCore::BasicShapeCircle::path):
(WebCore::BasicShapeCircle::blend):
* rendering/style/BasicShapes.h:
(WebCore::BasicShapeCenterCoordinate::canBlend):
(WebCore::BasicShapeRadius::canBlend):

LayoutTests:

Add a few tests for the new circle syntax. The old tests in
LayoutTests/csswg will be removed when the old syntax is removed.

Also update existing shape-inside, animation, and clip-path tests to
test the new syntax.

* animations/resources/animation-test-helpers.js:
(parseBasicShape):
* LayoutTests/animations/resources/animation-test-helpers.js:
* LayoutTests/css3/masking/clip-path-animation-expected.txt:
* LayoutTests/css3/masking/clip-path-animation.html:
* LayoutTests/css3/masking/clip-path-circle-filter.html:
* LayoutTests/css3/masking/clip-path-circle-overflow-hidden.html:
* LayoutTests/css3/masking/clip-path-circle-overflow.html:
* LayoutTests/css3/masking/clip-path-circle-relative-overflow.html:
* LayoutTests/css3/masking/clip-path-circle.html:
* LayoutTests/css3/masking/clip-path-restore.html:
* LayoutTests/fast/shapes/parsing/parsing-shape-inside-expected.txt:
* LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt:
* LayoutTests/fast/shapes/parsing/parsing-test-utils.js:
* LayoutTests/fast/shapes/shape-inside/shape-inside-animation-expected.txt:
* LayoutTests/fast/shapes/shape-inside/shape-inside-animation.html:
* LayoutTests/fast/shapes/shape-inside/shape-inside-calc-crash-expected.txt:
* LayoutTests/fast/shapes/shape-inside/shape-inside-calc-crash.html:
* LayoutTests/fast/shapes/shape-inside/shape-inside-circle-padding.html:
* LayoutTests/fast/shapes/shape-inside/shape-inside-circle.html:
* LayoutTests/fast/shapes/shape-inside/shape-inside-dynamic-nested.html:
* LayoutTests/fast/shapes/shape-inside/shape-inside-empty-expected.html:
* LayoutTests/fast/shapes/shape-inside/shape-inside-empty.html:
* fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-000-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-001-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-002-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-003-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-004-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-005-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html: Added.

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

8 years agoInstead of a large 'if' block, each failure class should write it's own result in...
commit-queue@webkit.org [Mon, 2 Dec 2013 23:55:06 +0000 (23:55 +0000)]
Instead of a large 'if' block, each failure class should write it's own result in test_result_writer.py
https://bugs.webkit.org/show_bug.cgi?id=124714

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-02
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:
(write_test_result):
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(TestFailure.write_failure):
(FailureText):
(FailureText.write_failure):
(FailureAudio):
(FailureAudio.write_failure):
(FailureCrash.write_failure):
(FailureMissingResult):
(FailureTextMismatch):
(FailureMissingImageHash.write_failure):
(FailureMissingImage.write_failure):
(FailureImageHashMismatch.write_failure):
(FailureReftestMismatch.write_failure):
(FailureReftestMismatchDidNotOccur.write_failure):
(FailureMissingAudio):
(FailureAudioMismatch):

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

8 years agoRemove the stderr_write attribute from StyleProcessorConfiguration
commit-queue@webkit.org [Mon, 2 Dec 2013 23:52:34 +0000 (23:52 +0000)]
Remove the stderr_write attribute from StyleProcessorConfiguration
https://bugs.webkit.org/show_bug.cgi?id=124703

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-02
Reviewed by Ryosuke Niwa.

Remove the stderr_write attribute from this class in checker and
replace its use with calls to a logging module logger. We Should
use logging module instead of writing to stderr directly.

* Scripts/webkitpy/style/checker.py: Change stderr_write attribute to logging module logger.
(check_webkit_style_configuration):
(CheckerDispatcher.dispatch): Remove FIXME comment.
(StyleProcessorConfiguration):
(StyleProcessorConfiguration.__init__):
(StyleProcessorConfiguration.write_style_error):
* Scripts/webkitpy/style/checker_unittest.py: Update test to the modification.
There is an "ERROR" prefix in log messiges from now.
(StyleProcessorConfigurationTest):
(StyleProcessorConfigurationTest._style_checker_configuration):
(StyleProcessorConfigurationTest.test_init):
(StyleProcessorConfigurationTest.test_write_style_error_emacs):
(StyleProcessorConfigurationTest.test_write_style_error_vs7):
(StyleProcessor_EndToEndTest.with):
(StyleProcessor_EndToEndTest.test_init):
(StyleProcessor_EndToEndTest.test_process):
(StyleProcessor_CodeCoverageTest.setUp):
* Scripts/webkitpy/style/error_handlers.py: Remove stderr_write usage and replace with logging module logger.
(DefaultStyleErrorHandler.__call__):
* Scripts/webkitpy/style/error_handlers_unittest.py: Update test to the modification.
There is an "ERROR" prefix in log messiges from now.
(DefaultStyleErrorHandlerTest):
(DefaultStyleErrorHandlerTest.setUp):
(DefaultStyleErrorHandlerTest._mock_increment_error_count):
(DefaultStyleErrorHandlerTest._style_checker_configuration):
(DefaultStyleErrorHandlerTest._check_initialized):
(DefaultStyleErrorHandlerTest.test_non_reportable_error):
(DefaultStyleErrorHandlerTest.test_max_reports_per_category):
(DefaultStyleErrorHandlerTest.test_line_numbers):

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

8 years agoSplit bundle page clients out into separate headers
andersca@apple.com [Mon, 2 Dec 2013 23:48:35 +0000 (23:48 +0000)]
Split bundle page clients out into separate headers
https://bugs.webkit.org/show_bug.cgi?id=125115

Reviewed by Andreas Kling.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundlePage.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Added.
* WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Added.

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

8 years agoWebCrypto HMAC doesn't check key algorithm's hash
ap@apple.com [Mon, 2 Dec 2013 23:43:01 +0000 (23:43 +0000)]
WebCrypto HMAC doesn't check key algorithm's hash
https://bugs.webkit.org/show_bug.cgi?id=125114

Reviewed by Anders Carlsson.

Source/WebCore:

Test: crypto/subtle/hmac-check-algorithm.html

* crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.

LayoutTests:

* crypto/subtle/hmac-check-algorithm-expected.txt: Added.
* crypto/subtle/hmac-check-algorithm.html: Added.

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

8 years agoPossible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
beidson@apple.com [Mon, 2 Dec 2013 23:30:53 +0000 (23:30 +0000)]
Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
https://bugs.webkit.org/show_bug.cgi?id=125110

Reviewed by Darin Adler.

It’s possible to have a null m_originatingProgressFrame when the heartbeat timer fires.

On the surface this seems impossible because the only time m_originatingProgressFrame is cleared
out the heartbeat timer is also stopped.

But there’s likely still a race condition in multi-threaded environments.

There’s no harm in null-checking m_originatingProgressFrame before accessing its loader.

* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressHeartbeatTimerFired):

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

8 years agoBaseline JIT calls to CommonSlowPaths shouldn't restore the last result
fpizlo@apple.com [Mon, 2 Dec 2013 23:17:53 +0000 (23:17 +0000)]
Baseline JIT calls to CommonSlowPaths shouldn't restore the last result
https://bugs.webkit.org/show_bug.cgi?id=125107

Reviewed by Mark Hahnenberg.

Just killing dead code.

* jit/JITArithmetic.cpp:
(JSC::JIT::emitSlow_op_negate):
(JSC::JIT::emitSlow_op_lshift):
(JSC::JIT::emitSlow_op_rshift):
(JSC::JIT::emitSlow_op_urshift):
(JSC::JIT::emitSlow_op_bitand):
(JSC::JIT::emitSlow_op_inc):
(JSC::JIT::emitSlow_op_dec):
(JSC::JIT::emitSlow_op_mod):
(JSC::JIT::emit_op_mod):
(JSC::JIT::compileBinaryArithOpSlowCase):
(JSC::JIT::emitSlow_op_div):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emitSlow_op_negate):
(JSC::JIT::emitSlow_op_lshift):
(JSC::JIT::emitRightShiftSlowCase):
(JSC::JIT::emitSlow_op_bitand):
(JSC::JIT::emitSlow_op_bitor):
(JSC::JIT::emitSlow_op_bitxor):
(JSC::JIT::emitSlow_op_inc):
(JSC::JIT::emitSlow_op_dec):
(JSC::JIT::emitSlow_op_add):
(JSC::JIT::emitSlow_op_sub):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emitSlow_op_div):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_strcat):
(JSC::JIT::emitSlow_op_get_callee):
(JSC::JIT::emitSlow_op_create_this):
(JSC::JIT::emitSlow_op_to_this):
(JSC::JIT::emitSlow_op_to_primitive):
(JSC::JIT::emitSlow_op_not):
(JSC::JIT::emitSlow_op_bitxor):
(JSC::JIT::emitSlow_op_bitor):
(JSC::JIT::emitSlow_op_stricteq):
(JSC::JIT::emitSlow_op_nstricteq):
(JSC::JIT::emitSlow_op_to_number):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emitSlow_op_to_primitive):
(JSC::JIT::emitSlow_op_not):
(JSC::JIT::emitSlow_op_stricteq):
(JSC::JIT::emitSlow_op_nstricteq):
(JSC::JIT::emitSlow_op_to_number):
(JSC::JIT::emitSlow_op_get_callee):
(JSC::JIT::emitSlow_op_create_this):
(JSC::JIT::emitSlow_op_to_this):

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

8 years ago[WK2] Improve readability of 'generate_message_handler' function
commit-queue@webkit.org [Mon, 2 Dec 2013 23:03:53 +0000 (23:03 +0000)]
[WK2] Improve readability of 'generate_message_handler' function
https://bugs.webkit.org/show_bug.cgi?id=125085

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-02
Reviewed by Sam Weinig.

* Scripts/webkit2/messages.py:
(generate_message_handler):

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

8 years agoNix Upstream: Updating Platform files
commit-queue@webkit.org [Mon, 2 Dec 2013 22:59:05 +0000 (22:59 +0000)]
Nix Upstream: Updating Platform files
https://bugs.webkit.org/show_bug.cgi?id=124982

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-02
Reviewed by Benjamin Poulain.

Adding new Platform files that are missing in the trunk.

* PlatformNix.cmake:
* nix/public/AudioDestinationConsumer.h: Added.
(Nix::AudioDestinationConsumer::~AudioDestinationConsumer):
* nix/public/MediaConstraints.h: Added.
* nix/public/MediaStream.h: Added.
* nix/public/MediaStreamAudioSource.h: Added.
* nix/public/MediaStreamCenter.h: Added.
* nix/public/MediaStreamSource.h: Added.
* nix/public/PrivatePtr.h: Added.

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

8 years agoAdd more CachedPage null checks
beidson@apple.com [Mon, 2 Dec 2013 22:56:01 +0000 (22:56 +0000)]
Add more CachedPage null checks
https://bugs.webkit.org/show_bug.cgi?id=125106

Reviewed by Sam Weinig.

Only some functions in PageCache.cpp null-check the CachedPages in HistoryItems.

Every part that manipulates the CachedPage should.

* history/PageCache.cpp:
(WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
(WebCore::PageCache::markPagesForFullStyleRecalc):
(WebCore::PageCache::markPagesForDeviceScaleChanged):
(WebCore::PageCache::markPagesForCaptionPreferencesChanged):

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

8 years agoAdd JavaScript style checker and teach checker.py about .js files
commit-queue@webkit.org [Mon, 2 Dec 2013 22:53:15 +0000 (22:53 +0000)]
Add JavaScript style checker and teach checker.py about .js files
https://bugs.webkit.org/show_bug.cgi?id=125049

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-12-02
Reviewed by Joseph Pecoraro.

Add a JavaScript file type, extension, and checker (JSChecker).
Use TextChecker for JavaScript tests, libraries, website resources,
etc. and use JSChecker for files within WebInspectorUI/UserInterface.

Amended tests for TextChecker to reflect the rule above.

* Scripts/webkitpy/style/checker.py:
(_all_categories): Add categories defined by JSChecker.
(FileType): Add file type for JS and re-number the enum.
(CheckerDispatcher._file_type): Detect .js files as JavaScript.
(CheckerDispatcher._create_checker):
Create a JSChecker or TextChecker depending on the file's path.

* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherDispatchTest.assert_checker_js): Added.
(CheckerDispatcherDispatchTest.test_js_paths): Added.
(CheckerDispatcherDispatchTest.test_text_paths): Add new test paths
that end in .js but should be checked with TextChecker.
* Scripts/webkitpy/style/checkers/js.py: Added.
(JSChecker):
(JSChecker.__init__):
(JSChecker.check):
* Scripts/webkitpy/style/checkers/js_unittest.py: Added.
(JSTestCase):
(JSTestCase.assertNoError):
(JSTestCase.assertNoError.error_for_test):
(JSTestCase.assertError):
(JSTestCase.assertError.error_for_test):
(JSTestCase.test_no_error):
(JSTestCase.test_error):

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

8 years ago[CSS Shapes] Support inset parsing
zoltan@webkit.org [Mon, 2 Dec 2013 22:48:54 +0000 (22:48 +0000)]
[CSS Shapes] Support inset parsing
https://bugs.webkit.org/show_bug.cgi?id=124903

Reviewed by David Hyatt.

Source/WebCore:

In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.

No new tests, I updated existing tests to cover the changes.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape): Add support for inset.
(WebCore::basicShapeForValue): Add support for inset.
* css/CSSBasicShapes.cpp:
(WebCore::buildInsetString): Create inset css string.
(WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
(WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
(WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
(WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
* css/CSSBasicShapes.h: Add inset class.
(WebCore::CSSBasicShapeInset::create):
(WebCore::CSSBasicShapeInset::top):
(WebCore::CSSBasicShapeInset::right):
(WebCore::CSSBasicShapeInset::bottom):
(WebCore::CSSBasicShapeInset::left):
(WebCore::CSSBasicShapeInset::topLeftRadius):
(WebCore::CSSBasicShapeInset::topRightRadius):
(WebCore::CSSBasicShapeInset::bottomRightRadius):
(WebCore::CSSBasicShapeInset::bottomLeftRadius):
(WebCore::CSSBasicShapeInset::setTop):
(WebCore::CSSBasicShapeInset::setRight):
(WebCore::CSSBasicShapeInset::setBottom):
(WebCore::CSSBasicShapeInset::setLeft):
(WebCore::CSSBasicShapeInset::setTopLeftRadius):
(WebCore::CSSBasicShapeInset::setTopRightRadius):
(WebCore::CSSBasicShapeInset::setBottomRightRadius):
(WebCore::CSSBasicShapeInset::setBottomLeftRadius):
(WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
* css/CSSParser.cpp:
(WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
(WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
(WebCore::CSSParser::parseBasicShapeInset): Parse inset.
(WebCore::CSSParser::parseBasicShape): Add call to parse inset.
* css/CSSParser.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
(WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
* css/CSSValuePool.h:
(WebCore::CSSValuePool::createValue): Add support for LengthSize.
* platform/LengthSize.h:
(WebCore::LengthSize::blend): Add blend for LengthSize.
* rendering/shapes/ShapeInsideInfo.cpp:
(WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeInset::path): Calculate path for an inset.
(WebCore::BasicShapeInset::blend): Blend two insets.
* rendering/style/BasicShapes.h: Add higher level inset.
(WebCore::BasicShapeInset::create):
(WebCore::BasicShapeInset::top):
(WebCore::BasicShapeInset::right):
(WebCore::BasicShapeInset::bottom):
(WebCore::BasicShapeInset::left):
(WebCore::BasicShapeInset::topLeftRadius):
(WebCore::BasicShapeInset::topRightRadius):
(WebCore::BasicShapeInset::bottomRightRadius):
(WebCore::BasicShapeInset::bottomLeftRadius):
(WebCore::BasicShapeInset::setTop):
(WebCore::BasicShapeInset::setRight):
(WebCore::BasicShapeInset::setBottom):
(WebCore::BasicShapeInset::setLeft):
(WebCore::BasicShapeInset::setTopLeftRadius):
(WebCore::BasicShapeInset::setTopRightRadius):
(WebCore::BasicShapeInset::setBottomRightRadius):
(WebCore::BasicShapeInset::setBottomLeftRadius):
(WebCore::BasicShapeInset::BasicShapeInset):

LayoutTests:

* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

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

8 years agoRemote Layer Tree: Support cloning layers
timothy_horton@apple.com [Mon, 2 Dec 2013 22:42:34 +0000 (22:42 +0000)]
Remote Layer Tree: Support cloning layers
https://bugs.webkit.org/show_bug.cgi?id=124874
<rdar://problem/15349468>

Reviewed by Simon Fraser.

We use PlatformCALayer::clone for CSS reflections, so implement it.

Also, since many reflections testcases also use masks,
working on this revealed that masks weren't working, because
we weren't flushing mask layers.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
Rename maskLayer->maskLayerID since it's a LayerID.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
Don't try to look up the layer if it's null.

* Shared/mac/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
Keep track of all properties that have ever been changed on a layer.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::create):
(PlatformCALayerRemote::PlatformCALayerRemote):
(PlatformCALayerRemote::clone):
Copy all of the layer properties from the original to the clone,
and mark all properties that have ever been modified as
needing to be flushed to the UI process.

(PlatformCALayerRemote::recursiveBuildTransaction):
Flush our mask layer, if we have one.

(PlatformCALayerRemote::setMask):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
Store the mask layer we're given. Our owning GraphicsLayer will
hold on to it for us.

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

8 years agoSupport WebCrypto AES-KW
ap@apple.com [Mon, 2 Dec 2013 22:36:07 +0000 (22:36 +0000)]
Support WebCrypto AES-KW
https://bugs.webkit.org/show_bug.cgi?id=125105

Reviewed by Sam Weinig.

Source/WebCore:

Tests: crypto/subtle/aes-kw-key-manipulation.html
       crypto/subtle/aes-kw-wrap-unwrap-aes.html

* WebCore.xcodeproj/project.pbxproj: Added new files.

* crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
It's not standardized yet, but there appears to be a consensus that it will be specified.

* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
Added AES-KW cases everywhere.

* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
(WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
Support importing/exporting AES-KW keys in JWK.

* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::exportKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):
Added some accidentally forgotten std::moves.

* crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
* crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
* crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.

* crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
as valid algorithm for AES keys.

* crypto/mac/CryptoAlgorithmRegistryMac.cpp:
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.

LayoutTests:

* crypto/subtle/aes-kw-key-manipulation-expected.txt: Added.
* crypto/subtle/aes-kw-key-manipulation.html: Added.
* crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt: Added.
* crypto/subtle/aes-kw-wrap-unwrap-aes.html: Added.

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

8 years agoWKPageLoaderClient should be versioned
andersca@apple.com [Mon, 2 Dec 2013 22:35:51 +0000 (22:35 +0000)]
WKPageLoaderClient should be versioned
https://bugs.webkit.org/show_bug.cgi?id=125104

Reviewed by Sam Weinig.

Add multiple versions of the WKPageLoaderClient struct. In a subsequent patch,
WKPageLoaderClient and kWKPageLoaderClientCurrentVersion will be deprecated. Instead,
users of the API are supposed to explicitly choose a version and a versioned struct.

* Shared/APIClient.h:
Add a new API::Client class with a new ClientTraits template that uses std::tuple for versions.

* Shared/APIClientTraits.cpp:
* Shared/APIClientTraits.h:
Remove WKPageLoaderClient interface sizes.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
Add an explicit cast to WKPageLoaderClientBase. In an upcoming patch, WKPageSetPageLoaderClient
will be changed to take a WKPageLoaderClientBase instead.

* UIProcess/API/C/WKPageLoaderClient.h:
Add new versions.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPageLoaderClient):
Use an explicit version.

* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
(WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::WebLoaderClient::didCommitLoadForFrame):
(WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
(WebKit::WebLoaderClient::didFinishLoadForFrame):
(WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
(WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
(WebKit::WebLoaderClient::didReceiveTitleForFrame):
(WebKit::WebLoaderClient::didFirstLayoutForFrame):
(WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebLoaderClient::didLayout):
(WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
(WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
(WebKit::WebLoaderClient::didRunInsecureContentForFrame):
(WebKit::WebLoaderClient::didDetectXSSForFrame):
(WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
(WebKit::WebLoaderClient::didStartProgress):
(WebKit::WebLoaderClient::didChangeProgress):
(WebKit::WebLoaderClient::didFinishProgress):
(WebKit::WebLoaderClient::processDidBecomeUnresponsive):
(WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
(WebKit::WebLoaderClient::processDidBecomeResponsive):
(WebKit::WebLoaderClient::processDidCrash):
(WebKit::WebLoaderClient::didChangeBackForwardList):
(WebKit::WebLoaderClient::shouldGoToBackForwardListItem):
(WebKit::WebLoaderClient::willGoToBackForwardListItem):
(WebKit::WebLoaderClient::didFailToInitializePlugin):
(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
(WebKit::WebLoaderClient::pluginLoadPolicy):
Go through client.base everywhere.

* UIProcess/WebLoaderClient.h:
Add API::ClientTraits specialization. Change WebLoaderClient to derive from API::Client<WKPageLoaderClientBase>.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeLoaderClient):
This now takes a WKPageLoaderClientBase*.

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