andersca@apple.com [Tue, 28 Jan 2014 21:15:23 +0000 (21:15 +0000)]
Add a NavigationActionData object for easy storage of navigation action data
https://bugs.webkit.org/show_bug.cgi?id=127787
Reviewed by Tim Horton.
* Scripts/webkit2/messages.py:
(struct_or_class):
* Shared/NavigationActionData.cpp: Added.
(WebKit::NavigationActionData::NavigationActionData):
(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h: Added.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162951
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 20:49:49 +0000 (20:49 +0000)]
Fix the Mountain Lion build.
* UIProcess/mac/ViewGestureController.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::recordSnapshot):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162950
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 20:25:24 +0000 (20:25 +0000)]
Fix the iOS build.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::recordNavigationSnapshot):
* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162949
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Tue, 28 Jan 2014 20:01:59 +0000 (20:01 +0000)]
Remove unneeded “WebCore::” prefixing in two .cpp files.
Rubberstamped by Alexey Proskuryakov.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162948
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Tue, 28 Jan 2014 19:40:05 +0000 (19:40 +0000)]
REGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEvenBench
https://bugs.webkit.org/show_bug.cgi?id=127722
Reviewed by Darin Adler.
Accumulate repaint region in RendeView instead of flushing rects directly to the system.
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
(WebCore::Document::updateLayout):
(WebCore::Document::topDocument):
Make less silly.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::flushAccumulatedRepaintRegion):
(WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
(WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
* rendering/RenderView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162947
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 19:33:49 +0000 (19:33 +0000)]
WebKit2 View Gestures (Swipe): Snapshots should be purgeable
https://bugs.webkit.org/show_bug.cgi?id=127390
<rdar://problem/
15876775>
Reviewed by Anders Carlsson.
Make snapshots be purgeable, and implement a straightforward
(if perhaps expensive, for now) cache eviction strategy to limit the
number of snapshots to 20.
* UIProcess/mac/ViewGestureController.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
When beginning a gesture, attempt to make the retrieved snapshot
non-volatile. If it was purged while volatile, we won't use it, but if it
is still valid, we'll go ahead and use it as the swipe layer's contents.
(WebKit::ViewGestureController::removeSwipeSnapshot):
When removing the swipe snapshot, make it volatile once again.
* UIProcess/mac/ViewSnapshotStore.h:
Store a creation time along with the image.
Store and return IOSurfaces instead of CGImages.
Store snapshots and render tree sizes separately, so that we can
throw away snapshots but keep the render tree sizes indefinitely.
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::pruneSnapshots):
Cap the number of snapshots we'll ever have live at 20.
Enforce this cap by first trying to remove snapshots farthest
from the current back-forward list's current item, falling back
to removing the least recently created snapshot if there are no
snapshots owned by the current back-forward list.
(WebKit::createIOSurfaceFromImage):
Build an IOSurface from the CGImage snapshot we took, for ease of
use of its purgeability API.
(WebKit::ViewSnapshotStore::recordSnapshot):
Bail from taking the snapshot if the image is empty; this can happen
if the view is out of the window when the snapshot is taken.
Mark snapshots as purgeable as soon as they go into the cache.
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
Return the target render tree size even if there is no snapshot image.
Take care not to look up an empty UUID.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162946
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 28 Jan 2014 19:26:21 +0000 (19:26 +0000)]
HTMLMediaElement::m_platformLayerBorrowed is uninitialized.
https://bugs.webkit.org/show_bug.cgi?id=127759
Patch by Jeremy Jones <jeremyj@apple.com> on 2014-01-28
Reviewed by Eric Carlson.
Initalize m_platformLayerBorrowed to false.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162945
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 28 Jan 2014 18:22:07 +0000 (18:22 +0000)]
[Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
https://bugs.webkit.org/show_bug.cgi?id=127781
Reviewed by Eric Carlson.
Since every mac platform uses Float32 audio samples, use these types explicitly
rather than the implicit, canonical AudioSampleType type. Once we're using Float32
explicity, we can also use the explicit kAudioFormatFlagsNativeFloatPacked flag
rather than the canonical version.
* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::configure):
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::createBus):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162944
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 28 Jan 2014 18:18:47 +0000 (18:18 +0000)]
Expose SQL database creation and modification times
https://bugs.webkit.org/show_bug.cgi?id=127728
Reviewed by Brady Eidson.
Source/WebCore:
* platform/FileSystem.h:
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::getFileCreationTime):
* platform/win/FileSystemWin.cpp:
(WebCore::getFileCreationTimeFromFindData):
(WebCore::getFileCreationTime):
Added functions to get file creation times. Not all OSes support that, but Darwin
and Windows do, as (I think) various BSD flavors.
* platform/gtk/FileSystemGtk.cpp: Added a stub for getFileCreationTime().
* platform/sql/SQLiteFileSystem.h:
* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::databaseCreationTime):
(WebCore::SQLiteFileSystem::databaseModificationTime):
Expose it in the same strange manner other database file operations are.
* Modules/webdatabase/DatabaseDetails.h:
(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::creationTime):
(WebCore::DatabaseDetails::modificationTime):
Added creation and modification times to DatabaseDetails.
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
(WebCore::DatabaseManager::openDatabaseBackend):
ProposedDatabase is an unfortunate mechanism for communicating quota errors to the
client, we should really straighten it up. But for now, just leave the times uninitialized.
* Modules/webdatabase/DatabaseBackendBase.cpp: (WebCore::DatabaseBackendBase::details):
This code path is for handling quota errors, so there is no need to initialize most
of DatabaseDetails here as well.
* Modules/webdatabase/DatabaseTracker.cpp: (WebCore::DatabaseTracker::detailsForNameAndOrigin):
* Modules/webdatabase/DatabaseTracker.h:
Fill in database file times. Inlined and removed usageForDatabase function to
avoid rebuilding the path multiple times.
Source/WebKit2:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DatabaseDetails>::encode):
(IPC::ArgumentCoder<DatabaseDetails>::decode):
Encode and decode new DatabaseDetails member variables.
* UIProcess/API/C/WKDatabaseManager.cpp:
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
* UIProcess/API/C/WKDatabaseManager.h:
Added new keys for database details.
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey):
(WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey):
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
* UIProcess/WebDatabaseManagerProxy.h:
Set the new keys if times are valid.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162943
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
m.pakula@samsung.com [Tue, 28 Jan 2014 17:55:17 +0000 (17:55 +0000)]
Unreviewed EFL gardening
Skip crashing http tests.
* platform/efl-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162942
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 28 Jan 2014 17:49:58 +0000 (17:49 +0000)]
Setting muted attribute on <video> element is not reflected in controls
https://bugs.webkit.org/show_bug.cgi?id=127726
Reviewed by Eric Carlson.
Source/WebCore:
If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
set but before loading begins, it will return 'false' until loading begins, but with no
way to query whether that value is valid, nor firing a volumechange event when its value
changes.
The HTML spec says that the 'muted' content attribute controls whether audio output is
muted "when the media element is created", not when loading begins, but we don't
necessarily have a signal that the element is fully parsed. Additionally, this means its
impossible to make an element via script and get this behavior.
So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
content attribute up until one of the following three conditions:
- The 'muted' IDL attribute is set via script.
- The element is inserted in the document.
- The element begins loading.
After the first one of the above conditions, the 'muted' IDL attribute will no longer
change when the 'muted' content attribute changes.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
LayoutTests:
* media/video-defaultmuted-expected.txt:
* media/video-defaultmuted.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162941
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Tue, 28 Jan 2014 17:43:07 +0000 (17:43 +0000)]
Jettison DFG code when neither breakpoints or the profiler are active.
<https://webkit.org/b/127766>
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
We need to jettison the DFG CodeBlocks under the following circumstances:
1. When adding breakpoints to a CodeBlock, jettison it if it is a DFG CodeBlock.
2. When enabling stepping mode in a CodeBlock, jettison it if it a DFG CodeBlock.
3. When settign the enabled profiler in the VM, we need to jettison all DFG
CodeBlocks.
Instead of emitting speculation checks, the DFG code will now treat Breakpoint,
ProfileWillCall, and ProfileDidCall as no-ops similar to a Phantom node. We
still need to track these nodes so that they match the corresponding opcodes
in the baseline JIT when we jettison and OSR exit. Without them, we would OSR
exit to the wrong location in the baseline JIT code.
In DFGDriver's compileImpl() and DFGPlan's finalizeWithoutNotifyingCallback()
we fail the compilation effort with a CompilationInvalidated result. This allows
the DFG compiler to re-attampt the compilation of the function after some time
if it is hot. The CompilationInvalidated result is supposed to cause the DFG
to exercise an exponential back off before re-attempting compilation again
(see runtime/CompilationResult.h).
This patch improves the Octane score from ~2950 to ~3067.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::addBreakpoint):
(JSC::CodeBlock::setSteppingMode):
* bytecode/CodeBlock.h:
* debugger/Debugger.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::startProfiling):
(JSC::LegacyProfiler::stopProfiling):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::SetEnabledProfilerFunctor::operator()):
(JSC::VM::setEnabledProfiler):
* runtime/VM.h:
(JSC::VM::enabledProfiler):
LayoutTests:
Added a test to exercise setting a breakpoint in 2 DFG compiled functions:
1 not inlined, and 1 inlined.
* inspector-protocol/debugger/resources/breakpoint.js:
(notInlineable):
(inlineable):
(notInliningFoo):
(inliningFoo):
(dfgWithoutInline):
(dfgWithInline):
* inspector-protocol/debugger/setBreakpoint-dfg-expected.txt: Added.
* inspector-protocol/debugger/setBreakpoint-dfg.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162940
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 28 Jan 2014 17:38:49 +0000 (17:38 +0000)]
Actually turn stack stats back off.
* wtf/StackStats.cpp:
* wtf/StackStats.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162939
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 28 Jan 2014 17:36:54 +0000 (17:36 +0000)]
Turn stack stats back off.
* wtf/StackStats.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162938
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 28 Jan 2014 17:28:44 +0000 (17:28 +0000)]
Add stubbed out VisitedLinkProvider class
https://bugs.webkit.org/show_bug.cgi?id=127744
Reviewed by Andreas Kling.
This is a first step towards moving responsibility of visited links from
the page group to a separate object.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* page/PageGroup.cpp:
(WebCore::PageGroup::PageGroup):
* page/PageGroup.h:
(WebCore::PageGroup::visitedLinkProvider):
* page/VisitedLinkProvider.cpp: Added.
(WebCore::VisitedLinkProvider::VisitedLinkProvider):
(WebCore::VisitedLinkProvider::~VisitedLinkProvider):
* page/VisitedLinkProvider.h: Added.
(WebCore::VisitedLinkProvider::create):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162937
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 17:19:05 +0000 (17:19 +0000)]
WebKit2 View Gestures (Swipe): Use CGSCaptureWindowsContentsToRect for now
https://bugs.webkit.org/show_bug.cgi?id=127768
<rdar://problem/
15923662>
Reviewed by Simon Fraser.
* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
Until <rdar://problem/
15709646> is resolved, we'll use
CGSCaptureWindowsContentsToRect instead of CGWindowListCreateImage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162936
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 28 Jan 2014 17:13:41 +0000 (17:13 +0000)]
Use std::mutex instead of WTF::Mutex in WTF
https://bugs.webkit.org/show_bug.cgi?id=127783
Reviewed by Antti Koivisto.
* wtf/CryptographicallyRandomNumber.cpp:
* wtf/MainThread.cpp:
(WTF::mainThreadFunctionQueueMutex):
(WTF::functionQueue):
(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):
(WTF::cancelCallOnMainThread):
* wtf/StackStats.cpp:
(WTF::StackStats::initialize):
(WTF::StackStats::CheckPoint::CheckPoint):
(WTF::StackStats::CheckPoint::~CheckPoint):
(WTF::StackStats::probe):
(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
(WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
* wtf/StackStats.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162935
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 28 Jan 2014 16:34:52 +0000 (16:34 +0000)]
Add support for menclose element
https://bugs.webkit.org/show_bug.cgi?id=85729
Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-28
Reviewed by Chris Fleizach.
Source/WebCore:
Added support for menclose element. MathML <menclose> element renders
its content inside an enclosing notation specified by the notation
attribute. The notation attribute can have values longdiv, box, left,
right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
updiagonalstrike, downdiagonalstrike, verticalstrike and
horizontalstrike.
Tests: mathml/presentation/menclose-add-children.html
mathml/presentation/menclose-notation-attribute-add.html
mathml/presentation/menclose-notation-attribute-change-value.html
mathml/presentation/menclose-notation-attribute-remove.html
mathml/presentation/menclose-notation-attribute-set1.html
mathml/presentation/menclose-notation-attribute-set2.html
mathml/presentation/menclose-notation-no-overlap.html
mathml/presentation/menclose-notation-radical.html
mathml/presentation/menclose-remove-children.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/mathml.css:
(mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
(math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
* mathml/MathMLAllInOne.cpp:
* mathml/MathMLElement.h:
* mathml/MathMLInlineContainerElement.cpp:
* mathml/MathMLMencloseElement.cpp: Added.
(WebCore::MathMLMencloseElement::MathMLMencloseElement):
(WebCore::MathMLMencloseElement::create):
(WebCore::MathMLMencloseElement::createElementRenderer):
(WebCore::MathMLMencloseElement::isPresentationAttribute):
(WebCore::MathMLMencloseElement::finishParsingChildren):
(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
(WebCore::MathMLMencloseElement::longDivLeftPadding):
* mathml/MathMLMencloseElement.h: Added.
(WebCore::toMathMLMencloseElement):
* mathml/mathattrs.in:
* mathml/mathtags.in:
* rendering/mathml/RenderMathMLMenclose.cpp: Added.
(WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
(WebCore::RenderMathMLMenclose::addChild):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
(WebCore::RenderMathMLMenclose::paint):
(WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
* rendering/mathml/RenderMathMLMenclose.h: Added.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::RenderMathMLRoot):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
(WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLSquareRoot.h:
Added new file related to menclose element implementation. Menclose
element is created and while parsing its notation attribute based on
its values like top, left CSSBorder properties are applied and for
values like circle, verticalstrike, longidv its taken care in paint.
For radical value an anonymous RenderMathMLSquareRoot is created as
a child of menclose.
LayoutTests:
* mathml/presentation/inferred-mrow-baseline-expected.txt:
* mathml/presentation/inferred-mrow-baseline.html:
* mathml/presentation/inferred-mrow-stretchy-expected.txt:
* mathml/presentation/inferred-mrow-stretchy.html:
Rebaselining existing tests as per the new behavior.
* mathml/presentation/menclose-add-children-expected.html: Added.
* mathml/presentation/menclose-add-children.html: Added.
* mathml/presentation/menclose-notation-attribute-add-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-add.html: Added.
* mathml/presentation/menclose-notation-attribute-change-value-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-change-value.html: Added.
* mathml/presentation/menclose-notation-attribute-remove-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-remove.html: Added.
* mathml/presentation/menclose-notation-attribute-set1-expected.txt: Added.
* mathml/presentation/menclose-notation-attribute-set1.html: Added.
* mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html: Added.
* mathml/presentation/menclose-notation-attribute-set2.html: Added.
* mathml/presentation/menclose-notation-no-overlap-expected.txt: Added.
* mathml/presentation/menclose-notation-no-overlap.html: Added.
* mathml/presentation/menclose-notation-radical-expected.html: Added.
* mathml/presentation/menclose-notation-radical.html: Added.
* mathml/presentation/menclose-remove-children-expected.html: Added.
* mathml/presentation/menclose-remove-children.html: Added.
Added new test cases for verifying the behaviour of menclose element
with different values of notation attribute and removing/changing/adding
notation attribute.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162933
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
k.czech@samsung.com [Tue, 28 Jan 2014 16:29:26 +0000 (16:29 +0000)]
[ATK] accessibility/range-alter-by-percent.html is failing after r162587.
https://bugs.webkit.org/show_bug.cgi?id=127774
Reviewed by Mario Sanchez Prada.
Implicit value of step in range type elements should be one or larger.
No new tests. Covered by exiting one.
* accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
(webkitAccessibleValueGetMinimumIncrement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162932
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 28 Jan 2014 15:40:29 +0000 (15:40 +0000)]
Web Inspector: In a DataGrid, store value of columnIdentifier to DOM node representing a cell
https://bugs.webkit.org/show_bug.cgi?id=127613
Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-01-28
Reviewed by Timothy Hatcher.
* UserInterface/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype._editingCallback):
* UserInterface/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype._keyDown):
(WebInspector.DataGrid.prototype._contextMenuInDataTable):
(WebInspector.DataGridNode.prototype.createCell):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162931
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Tue, 28 Jan 2014 15:08:31 +0000 (15:08 +0000)]
Remove unnecessary forward declarations of MessagePortChannel, MessagePortChannelArray in DumpRenderTreeSupportEfl.h
https://bugs.webkit.org/show_bug.cgi?id=127654
Reviewed by Alexey Proskuryakov.
* WebCoreSupport/DumpRenderTreeSupportEfl.h: Remove the forward declarations of MessagePortChannel
and MessagePortChannelArray. They were most likely at one point used in DRT support methods, but are
not necessary anymore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162930
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 28 Jan 2014 10:40:58 +0000 (10:40 +0000)]
<https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
Reviewed by Ryosuke Niwa.
Source/WebCore:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
* platform/audio/mac/AudioDestinationMac.cpp:
(WebCore::AudioDestinationMac::configure):
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::createBus):
Source/WebKit/mac:
* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::populate):
Source/WebKit2:
* UIProcess/API/mac/WKView.mm:
(-[WKView _updateWindowAndViewFrames]):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162929
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 28 Jan 2014 10:22:47 +0000 (10:22 +0000)]
[GTK] Add API to allow setting the process model in WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=125463
Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-01-28
Reviewed by Carlos Garcia Campos.
Implements accessors in WebKitWebContext for the process model.
The default behavior is unchanged, and a single web process is
used. Using WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
as the process model will make use one web process for each
WebKitWebView. This also enables the network process. Setting
the process model must be done as early as possible, before the
very first web process is spawned.
Source/WebKit2:
* UIProcess/API/gtk/WebKitWebContext.cpp:
Add accessors in the API to get/set the process model.
(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
* UIProcess/API/gtk/WebKitWebContext.h:
Define the WebKitProcessModel enum.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
Add new public API bits to the documentation.
Tools:
* MiniBrowser/gtk/main.c:
(main):
Enable multiple process mode if the MINIBROWSER_MULTIPROCESS
environment variable is defined and not empty.
* TestWebKitAPI/GNUmakefile.am:
Add new TestMultiprocess test case.
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
Add new TestMultiprocess test case.
* TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp: Added.
(loadChanged):
(testMultipleSecondaryProcesses):
(initializeWebExtensions):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(methodCallCallback):
Implement the GetProcessIdentifier D-Bus method.
(makeBusName):
Choose a different bus name when the web extension is used
from TestMultiprocess.
(webkit_web_extension_initialize_with_user_data):
Use makeBusName() to choose the bus name.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162928
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bshafiei@apple.com [Tue, 28 Jan 2014 09:21:07 +0000 (09:21 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162924
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 28 Jan 2014 09:08:40 +0000 (09:08 +0000)]
[SOUP] Remove soupURIToKURL
https://bugs.webkit.org/show_bug.cgi?id=127104
Reviewed by Martin Robinson.
Source/WebCore:
In favor of a URL constructor receiving a SoupURI. Also add a
method to URL to create a soupURI.
* GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
* PlatformEfl.cmake: Ditto.
* PlatformGTK.cmake: Ditto.
* platform/URL.h: Add URL constructor receiving a SoupURI and
createSoupURI() to create a new soupURI for the URL.
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::setCookiesFromDOM): Use URL::createSoupURI().
(WebCore::cookiesForSession): Ditto.
(WebCore::getRawCookies): Ditto.
(WebCore::deleteCookie): Ditto.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Use the new URL constructor instead of
soupURIToKURL.
(WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
* platform/network/soup/ResourceRequest.h: Rename soupURI as
createSoupURI to make it clear that the method returns a newly
created SoupURI.
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
(WebCore::ResourceRequest::updateSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
constructor instead of soupURIToKURL.
(WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage): Use the new
URL constructor instead of soupURIToKURL.
* platform/network/soup/SoupURIUtils.cpp: Removed.
* platform/network/soup/SoupURIUtils.h: Removed.
* platform/soup/URLSoup.cpp: Added.
(WebCore::URL::URL):
(WebCore::URL::createSoupURI):
Tools:
* TestWebKitAPI/GNUmakefile.am: Add soup cppflags to WebCore unit
tests, because URL.h now includes GUniquePtrSoup.h.
* TestWebKitAPI/CMakeLists.txt: Ditto.
* WebKitTestRunner/PlatformEfl.cmake: Add soup cppflags to WTR,
because URL.h now includes GUniquePtrSoup.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162922
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 28 Jan 2014 08:15:39 +0000 (08:15 +0000)]
[GTK] Avoid unnecessary string duplications in FileSystemGtk
https://bugs.webkit.org/show_bug.cgi?id=127469
Reviewed by Martin Robinson.
We are using fileSystemRepresentation() everywhere internally
which returns a CString that always duplicates the string.
Add unescapedFilename() internal helper function that returns a
GUniquePtr and used it everywhere instead of fileSystemRepresentation().
* platform/gtk/FileSystemGtk.cpp:
(WebCore::unescapedFilename):
(WebCore::fileSystemRepresentation):
(WebCore::filenameForDisplay):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::getFileStat):
(WebCore::getFileSize):
(WebCore::getFileModificationTime):
(WebCore::getFileMetadata):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
(WebCore::pathGetFileName):
(WebCore::directoryName):
(WebCore::listDirectory):
(WebCore::openFile):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162921
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Tue, 28 Jan 2014 07:52:01 +0000 (07:52 +0000)]
[GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
https://bugs.webkit.org/show_bug.cgi?id=127614
Reviewed by Gustavo Noronha Silva.
Source/WebCore:
Add API to set the page identifier that initiated the request to
ResourceRequest, and remove the initiatingPageID() method from the
NetworkingContext class.
* platform/network/NetworkingContext.h:
* platform/network/ResourceHandle.h:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupRequestAndMessageForHandle):
* platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::initiatingPageID):
(WebCore::ResourceRequest::setInitiatingPageID):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupRequest):
(WebCore::ResourceRequest::updateFromSoupRequest):
Source/WebKit/efl:
Remove initiatingPageID() method form the FrameNetworkingContext.
* WebCoreSupport/FrameNetworkingContextEfl.cpp:
* WebCoreSupport/FrameNetworkingContextEfl.h:
Source/WebKit/gtk:
Remove initiatingPageID() method from FrameNetworkingContext.
* WebCoreSupport/FrameNetworkingContextGtk.cpp:
* WebCoreSupport/FrameNetworkingContextGtk.h:
Source/WebKit2:
* NetworkProcess/RemoteNetworkingContext.h: Remove
initiatingPageID() method.
* NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Ditto.
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
(WebKit::CustomProtocolManagerImpl::send): Create the request with
the ResourceRequest constructor that receives a SoupRequest.
* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode initiatingPageID.
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode initiatingPageID.
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestCreate): Remove initiatingPageID parameter
and get it from the given ResourceRequest.
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextStartLoadingCustomProtocol): Update to
webkitURISchemeRequestCreate API change.
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(willSendRequestForFrame): Set the initiatingPageID to the ResourceRequest.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
Remove initiatingPageID() method.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::send): Get the initiatingPageID
from the SoupRequest using the ResourceRequest API.
Tools:
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp: Bring
back the custom URI scheme WebView check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162920
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Tue, 28 Jan 2014 07:43:02 +0000 (07:43 +0000)]
[EFL][WK1] Remove ewk_history_item_time_last_visited_get and ewk_history_item_visit_count
https://bugs.webkit.org/show_bug.cgi?id=127662
Reviewed by Gyuyoung Kim.
These APIs are exposing WebCore's internal structure, but they removed
from WebCore since 162808.
This patch removed not to support them because applications can do it
if they want.
* ewk/ewk_history.cpp:
* ewk/ewk_history.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162919
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 28 Jan 2014 07:29:57 +0000 (07:29 +0000)]
-[JSContext evaluteScript:] calls JSEvaluteScript with startingLineNumber 0, later interpreted as a oneBasedInt
https://bugs.webkit.org/show_bug.cgi?id=127648
Reviewed by Geoffrey Garen.
The actual bug being fixed here is that the line number for
scripts evaluated via the JSC APIs is now sane. However,
there is no good infrastructure in place right now to test that.
* API/tests/testapi.c:
(main):
* API/tests/testapi.mm:
(testObjectiveCAPI):
Add tests for exception line numbers and handling of bad
startingLineNumbers in public APIs. These tests were already
passing, I just add them to make sure they are not regressed
in the future.
* API/JSBase.cpp:
(JSEvaluateScript):
(JSCheckScriptSyntax):
* API/JSBase.h:
* API/JSObjectRef.cpp:
(JSObjectMakeFunction):
* API/JSObjectRef.h:
* API/JSScriptRef.cpp:
* API/JSScriptRefPrivate.h:
* API/JSStringRef.h:
- Clarify documentation that startingLineNumber is 1 based and clamped.
- Add clamping in the implementation to put sane values into JSC::SourceProvider.
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::didParseSource):
Remove the FIXME now that the SourceProvider is giving us expected values.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162918
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 07:25:58 +0000 (07:25 +0000)]
Revert yet one more tiny part of r162629 that didn't get reverted in r162883
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::pluginLoadPolicy):
* WebKitTestRunner/TestController.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162917
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 07:20:57 +0000 (07:20 +0000)]
Revert one more tiny part of r162629 that didn't get reverted in r162883.
... which was also causing test failures!
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162916
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 07:16:15 +0000 (07:16 +0000)]
Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
https://bugs.webkit.org/show_bug.cgi?id=127734
<rdar://problem/
15906263>
Reviewed by Simon Fraser.
* page/scrolling/ScrollingStateScrollingNode.h:
Retain the ScrollbarPainters in the scrolling state tree.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162915
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 28 Jan 2014 05:19:48 +0000 (05:19 +0000)]
Unreviewed iOS build fix. FALLTHROUGHs for iOS.
Source/WebCore:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
Source/WebKit/ios:
* Misc/WebNSStringDrawing.mm:
(needsBidiLayout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162913
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Tue, 28 Jan 2014 05:09:51 +0000 (05:09 +0000)]
WebGLLoadPolicy::WebGLAsk is an unnecessary value.
https://bugs.webkit.org/show_bug.cgi?id=127755
Reviewed by Anders Carlsson.
* UIProcess/API/C/WKAPICast.h:
(WebKit::toWebGLLoadPolicy):
* UIProcess/API/C/WKPageLoaderClient.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* loader/FrameLoaderTypes.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162912
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Tue, 28 Jan 2014 05:03:45 +0000 (05:03 +0000)]
IDB: Cursor support - Messaging, IPC, Threading plumbing
https://bugs.webkit.org/show_bug.cgi?id=127736
Reviewed by Sam Weinig.
Source/WebCore:
* Modules/indexeddb/IDBCursorBackendOperations.h:
(WebCore::CursorIterationOperation::cursorID):
(WebCore::CursorAdvanceOperation::cursorID):
* Modules/indexeddb/IDBTransactionBackendOperations.h:
(WebCore::OpenCursorOperation::transactionID):
* WebCore.exp.in:
Source/WebKit2:
Pipe three cursor-related calls to the DatabaseProcess, and handle messages
from the database process when it is done handling them:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::didOpenCursor):
(WebKit::WebIDBServerConnection::didAdvanceCursor):
(WebKit::WebIDBServerConnection::didIterateCursor):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
Pipe the calls through to the appropriate UniqueIDBDatabase:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::openCursor):
(WebKit::DatabaseProcessIDBConnection::cursorAdvance):
(WebKit::DatabaseProcessIDBConnection::cursorIterate):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
Pass the calls to the backing store thread, then message back to the WebProcess
when the requests are complete.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
(WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
(WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
(WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* Shared/WebCrossThreadCopier.cpp:
(WebCore::Vector<char>>::copy):
* Shared/WebCrossThreadCopier.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162911
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 28 Jan 2014 04:55:55 +0000 (04:55 +0000)]
Web Inspector: CRASH when debugger closes remote inspecting JSContext
https://bugs.webkit.org/show_bug.cgi?id=127738
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-27
Reviewed by Timothy Hatcher.
RemoteInspectorXPCConnection could be accessed in a background dispatch
queue, while being deallocated on the main thread when a connection
was suddenly terminated.
Make RemoteInspectorXPCConnection a ThreadSafeRefCounted object. Always
keep the connection object ref'd until the main thread calls close()
and removes its reference. At that point we can close the connection,
queue, and deref safely on the background queue.
* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionFailed):
For simplicity RemoteInspectorXPCConnections's don't have any threading
primatives to prevent client callbacks after they are closed. RemoteInspector
does, so it just ignores possible callbacks from connections it no longer
cares about.
* inspector/remote/RemoteInspectorXPCConnection.h:
* inspector/remote/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::~RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::close):
Keep the connection alive as long as the queue it can be used on
is alive. Clean up everything on the queue when close() is called.
(Inspector::RemoteInspectorXPCConnection::handleEvent):
Checking if closed here is not thread safe so it is meaningless.
Remove the check.
(Inspector::RemoteInspectorXPCConnection::sendMessage):
Bail based on the m_closed state.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162910
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:56 +0000 (04:04 +0000)]
WebKit2: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127665
Reviewed by Anders Carlsson.
* Shared/UserData.cpp:
(WebKit::UserData::encode):
These look like they should not have fallen through!
* Configurations/Base.xcconfig:
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162909
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:54 +0000 (04:04 +0000)]
WebKit1: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127664
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
* History/BinaryPropertyList.cpp:
(BinaryPropertyListSerializer::appendObjectReference):
(BinaryPropertyListSerializer::startObject):
(BinaryPropertyListSerializer::addAggregateObjectReference):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162908
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:52 +0000 (04:04 +0000)]
WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127671
Source/WebCore:
Reviewed by Ryosuke Niwa.
* Configurations/Base.xcconfig:
Enable the warning.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.
* platform/Decimal.cpp:
(WebCore::Decimal::fromString):
Possible bug. Implementation doesn't seem to match its documentation.
Filed an issue to follow-up on this unclear function.
* css/makeprop.pl:
* css/makevalues.pl:
* platform/ColorData.gperf:
Ignore implicit fallthrough warnings in generated code. gperf outputs
a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
this output. Easiest to just ignore the warning for now.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout):
There has been a "fall through" comment immediately followed by a break
since its introduction in 2003. Removing the inaccurate comment.
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
(-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::deserialize):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::realLex):
* css/CSSSelector.cpp:
(WebCore::CSSSelector::extractPseudoType):
(WebCore::CSSSelector::selectorText):
* css/StyleProperties.cpp:
(WebCore::StyleProperties::asText):
* css/StyleSheetContents.cpp:
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* dom/Node.cpp:
(WebCore::appendTextContent):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
(WebCore::HTMLTreeBuilder::processEndOfFile):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* page/EventSource.cpp:
(WebCore::EventSource::parseEventStream):
* platform/DateComponents.cpp:
(WebCore::DateComponents::toStringForTime):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformInit):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::totalBytes):
* platform/graphics/win/FullScreenController.cpp:
(FullScreenController::Private::fullscreenClientWndProc):
* platform/text/BidiResolver.h:
(WebCore::Run>::updateStatusLastFromCurrentDirection):
(WebCore::Run>::createBidiRunsForLine):
* platform/text/win/LocaleWin.cpp:
(WebCore::LocaleWin::initializeLocaleData):
* rendering/PointerEventsHitRules.cpp:
(WebCore::PointerEventsHitRules::PointerEventsHitRules):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::newLine):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateFillTileSize):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::originalText):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::replacedContentRect):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setWordSpacing):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::requestPaintingResource):
* rendering/svg/SVGMarkerData.h:
(WebCore::SVGMarkerData::updateMarkerDataForPathElement):
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::parsePathDataFromSource):
* svg/SVGTransformDistance.cpp:
(WebCore::SVGTransformDistance::SVGTransformDistance):
(WebCore::SVGTransformDistance::scaledDistance):
(WebCore::SVGTransformDistance::addSVGTransforms):
(WebCore::SVGTransformDistance::addToSVGTransform):
(WebCore::SVGTransformDistance::distance):
Add annotation or break before falling into a default:break;
Source/WTF:
Reviewed by Ryosuke Niwa.
* wtf/text/WTFString.h:
(WTF::appendNumber):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162907
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Tue, 28 Jan 2014 04:04:45 +0000 (04:04 +0000)]
JavaScriptCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
https://bugs.webkit.org/show_bug.cgi?id=127647
Reviewed by Anders Carlsson.
Explicitly annotate switch case fallthroughs in JavaScriptCore and
enable warnings for unannotated fallthroughs.
* dfg/DFGArithMode.h:
(doesOverflow):
Only insert FALLTHROUGH in release builds. In debug builds, the
FALLTHROUGH would be unreachable (due to the ASSERT_NOT_REACHED)
and would through a warning.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):
Due to the templatized nature of this function, a fallthrough
in one of the template expansions would be unreachable. Disable
the warning for this function.
* Configurations/Base.xcconfig:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validateCPS):
* parser/Lexer.cpp:
(JSC::Lexer<T>::lex):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseProperty):
* runtime/JSArray.cpp:
(JSC::JSArray::push):
* runtime/JSONObject.cpp:
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndex):
(JSC::JSObject::putByIndexBeyondVectorLength):
* runtime/JSObject.h:
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
* runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::backtrackParenthesesOnceBegin):
(JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
* yarr/YarrParser.h:
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter):
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass):
(JSC::Yarr::Parser::parseEscape):
(JSC::Yarr::Parser::parseTokens):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162906
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Tue, 28 Jan 2014 02:56:45 +0000 (02:56 +0000)]
[WebKit2] Add SPI to disable the WebCore memory cache
https://bugs.webkit.org/show_bug.cgi?id=127747
Reviewed by Tim Horton.
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
Initialized memoryCacheDisabled to false.
(WebKit::WebProcessCreationParameters::encode):
Encoded memoryCacheDisabled.
(WebKit::WebProcessCreationParameters::decode):
Decoded memoryCacheDisabled.
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetMemoryCacheDisabled):
Called WebContext::setMemoryCacheDisabled().
* UIProcess/API/C/WKContextPrivate.h: Declared new SPI.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialized m_memoryCacheDisabled to false.
(WebKit::WebContext::createNewWebProcess):
Set WebProcessCreationParameters::memoryCacheDisabled to m_memoryCacheDisabled.
(WebKit::WebContext::setMemoryCacheDisabled): Set m_memoryCacheDisabled
and sent new value to all existing processes.
* UIProcess/WebContext.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
Called WebProcess::setMemoryCacheDisabled().
(WebKit::WebProcess::setMemoryCacheDisabled):
Called MemoryCache::setDisabled() if the disabled state changed.
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162904
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 28 Jan 2014 02:04:30 +0000 (02:04 +0000)]
Add -[WKWebView loadRequest:] API
https://bugs.webkit.org/show_bug.cgi?id=127727
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView loadRequest:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dfarler@apple.com [Tue, 28 Jan 2014 02:02:56 +0000 (02:02 +0000)]
iOS DumpRenderTree.app dies loading fonts
https://bugs.webkit.org/show_bug.cgi?id=127730
Reviewed by Daniel Bates.
* DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
- Add Ahem to the __DATA section
* DumpRenderTree/mac/DumpRenderTree.mm:
(activateFontsIOS):
- Load "WeightWatcher100" instead.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162898
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Tue, 28 Jan 2014 01:59:20 +0000 (01:59 +0000)]
Allow mmap encoded data replacement for WOFF fonts.
<https://webkit.org/b/127737>
We always have to convert WOFF fonts to SFNT format. This happens
in a separate buffer from the CachedFont's internal resource buffer.
Because of this, there's no need to protect the original buffer from
mmap replacement.
With this change, WOFF web fonts are no longer duplicated between
the network and web processes.
Reviewed by Brady Eidson.
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::mayTryReplaceEncodedData):
* loader/cache/CachedFont.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162897
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bburg@apple.com [Tue, 28 Jan 2014 01:56:54 +0000 (01:56 +0000)]
Web Inspector: clean up initialization of managers and observers in InspectorTest
https://bugs.webkit.org/show_bug.cgi?id=127707
Reviewed by Timothy Hatcher.
The test harness was setting up managers and observers before
telling the frontend host that the page loaded. The InspectorObserver
was also not being initialized.
For clarity, rename importInspectorScripts to initializeInspectorModels.
For easier debugging, make model test assertions use InspectorTest.log.
* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.initializeInspectorModels.console.error.window.onerror):
(InspectorTest.initializeInspectorModels.console.assert):
(InspectorTest.initializeInspectorModels):
* inspector-protocol/model/content-flow-content-nodes.html:
* inspector-protocol/model/content-flow-content-removal.html:
* inspector-protocol/model/content-flow-list.html:
* inspector-protocol/model/content-node-region-info.html:
* inspector-protocol/model/main-frame-resource.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162896
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 28 Jan 2014 01:50:27 +0000 (01:50 +0000)]
[Mac] Extra logging output from run-safari --no-saved-state
https://bugs.webkit.org/show_bug.cgi?id=127732
Reviewed by Daniel Bates.
* Scripts/webkitdirs.pm: (argumentsForRunAndDebugMacWebKitApp): Use an option that
disables saved state without logging.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 28 Jan 2014 01:26:37 +0000 (01:26 +0000)]
[New Multicolumn] Add support for block progression axis and reverse direction
https://bugs.webkit.org/show_bug.cgi?id=127715
Reviewed by thorton.
This patch adds support for -webkit-progression-direction and -webkit-progression-axis
to the new column code. This allows columns to stack along the block axis instead of
the inline axis or to reverse directions along that progression axis.
Added fast/multicol/newmulticol/progression-reverse.html and
fast/multicol/newmulticol/progression-reverse-overflow.html
Source/WebCore:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isTopLayoutOverflowAllowed):
(WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
New functions have been added for top and left layout overflow in order to get
a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
the functions for the old multicolumn layout code to keep it working.
* rendering/RenderBlock.h:
Added the new top/left overflow functions.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
Moved from RenderBlock, since it didn't belong there.
(WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
(WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
* rendering/RenderBlockFlow.h:
Overridden for the new multi-column code to specify when top/left overflow are
allowed (e.g., when the columns go backwards).
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addLayoutOverflow):
Overridden to use the new top/left overflow functions.
* rendering/RenderBox.h:
(WebCore::RenderBox::isTopLayoutOverflowAllowed):
(WebCore::RenderBox::isLeftLayoutOverflowAllowed):
Added base definitions that look at direction and writing-mode.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
(WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
* rendering/RenderFlexibleBox.h:
Overrides for flexible box of the top/left overflow functions.
* rendering/RenderMultiColumnFlowThread.h:
Make sure requiresBalancing() is set to false if the axis of the columns
is block, since at least right now, we don't support balancing columns
along the block axis. (In theory we could support this in the future, but
nobody has requested it.)
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::updateLogicalWidth):
Remove the code that expands the width of multi column sets. We now always
let their logical width match the containing block's content width and instead
add the overflow to the set itself.
(WebCore::RenderMultiColumnSet::columnRectAt):
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::paintColumnRules):
(WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
Patch all of these functions to know how to handle a block axis or reversed
direction.
(WebCore::RenderMultiColumnSet::addOverflowFromChildren):
* rendering/RenderMultiColumnSet.h:
Make multi-column set add in its overflow in the same way that the old
multi-column code did, by looking at the last column rect. (This is really
not a very good way to do it, but it's the same as the old code for now.)
LayoutTests:
* fast/multicol/newmulticol/progression-reverse-expected.html: Added.
* fast/multicol/newmulticol/progression-reverse-overflow-expected.html: Added.
* fast/multicol/newmulticol/progression-reverse-overflow.html: Added.
* fast/multicol/newmulticol/progression-reverse.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Tue, 28 Jan 2014 01:17:40 +0000 (01:17 +0000)]
IDB: Rename "IDBTransactionIdentifier" to be more general purpose (take 2)
https://bugs.webkit.org/show_bug.cgi?id=127717
Reviewed by Tim Horton.
Update all related variable names since the type no longer contains the relevant info.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
* Shared/WebCrossThreadCopier.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Tue, 28 Jan 2014 01:12:50 +0000 (01:12 +0000)]
Unreviewed EFL gardening. Add test expectations for failing tests.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Tue, 28 Jan 2014 01:01:57 +0000 (01:01 +0000)]
Fix the Mac build following <trac.webkit.org/changeset/162887>
(https://bugs.webkit.org/show_bug.cgi?id=127703)
Export symbol for WebCore::AXObjectCache::enableAccessibility().
* WebCore.exp.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Tue, 28 Jan 2014 00:49:25 +0000 (00:49 +0000)]
[Mac] Unreviewed build fix. Add missing export symbol.
* WebCore.exp.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Tue, 28 Jan 2014 00:31:06 +0000 (00:31 +0000)]
[Windows] Tests crashing on Windows after r162816.
https://bugs.webkit.org/show_bug.cgi?id=127703.
Reviewed by Alexey Proskuryakov.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::enableAccessibility):
(WebCore::AXObjectCache::disableAccessibility):
* accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove variable export in favor of function export.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 28 Jan 2014 00:24:56 +0000 (00:24 +0000)]
Copy relevant code from the iOS version of WKView to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=127721
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView scrollView]):
(-[WKWebView browsingContextController]):
(-[WKWebView contentView:contentsSizeDidChange:]):
(-[WKWebView contentViewDidCommitLoadForMainFrame:]):
(-[WKWebView contentViewDidReceiveMobileDocType:]):
(-[WKWebView contentView:didChangeViewportArgumentsSize:initialScale:minimumScale:maximumScale:allowsUserScaling:]):
(-[WKWebView viewportHandlerDidChangeScales:]):
(-[WKWebView viewportHandler:didChangeViewportSize:]):
(-[WKWebView viewForZoomingInScrollView:]):
(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView _didFinishScroll]):
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(-[WKWebView scrollViewDidEndDecelerating:]):
(-[WKWebView scrollViewDidScrollToTop:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _setDocumentScale:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Tue, 28 Jan 2014 00:20:58 +0000 (00:20 +0000)]
Update bindings test expectations after r162872
* bindings/scripts/test/ObjC/DOMTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestObj.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162885
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Tue, 28 Jan 2014 00:18:55 +0000 (00:18 +0000)]
Unreviewed gardening, unskip now passing webgl tests on EFL port.
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162884
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Tue, 28 Jan 2014 00:07:30 +0000 (00:07 +0000)]
Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item.
We're leaving the parts that make us use PDFPlugin instead of showing the blocked
plugin indicator intact, though.
* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::pluginLoadPolicy):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findPlugin):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::handleContextMenuEvent):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
(WebKit::WebPage::canPluginHandleResponse):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 28 Jan 2014 00:04:39 +0000 (00:04 +0000)]
Add a WKContentView initializer that takes a WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=127718
Reviewed by Tim Horton.
This initializer will be used by WKWebView.
* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView initWithFrame:configuration:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Tue, 28 Jan 2014 00:01:28 +0000 (00:01 +0000)]
Scrub WebKit API headers of WTF macros
https://bugs.webkit.org/show_bug.cgi?id=127706
Reviewed by David Kilzer.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
Source/WebCore:
* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
* bindings/objc/DOMEvents.h: Guarded include of
DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
are always enabled on iOS.
* platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
* platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
TARGET_OS_IPHONE.
* platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
TARGET_IPHONE_SIMULATOR.
Source/WebKit/ios:
* WebCoreSupport/WebMIMETypeRegistry.h: Changed PLATFORM(IOS) to
TARGET_OS_IPHONE.
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
* WebView/WebPreferenceKeysPrivate.h: Changed ENABLE(REMOTE_INSPECTOR)
to !defined(ENABLE_REMOTE_INSPECTOR) || ENABLE_REMOTE_INSPECTOR. We are
in a TARGET_OS_IPHONE block, and ENABLE_REMOTE_INSPECTOR is enabled by
default on iOS, so include this block unless the feature is explicitly
disabled.
* postprocess-headers.sh: Stopped processing ENABLE_IOS_TOUCH_EVENTS
and ENABLE_IOS_GESTURE_EVENTS. These are now defined in DOMEvents.h.
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
Tools:
* Scripts/check-for-inappropriate-macros-in-external-headers: Modified
the regex to require a '(' after the macro name in order to be
considered a match. This prevents things like 'ENABLE_SOME_FEATURE'
from being flagged as an ENABLE() macro.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162881
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 27 Jan 2014 23:56:18 +0000 (23:56 +0000)]
Crashes in RemoteScrollingCoordinatorProxy::rootScrollingNodeID
Reviewed by Simon Fraser.
* UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
Null-check the root scrolling node, in case something scrolls before
we've made the first remote layer/scrolling tree commit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Mon, 27 Jan 2014 23:51:19 +0000 (23:51 +0000)]
[iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=127701
Reviewed by Eric Carlson.
dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
thread was also the web thread. But since that's not the case on iOS, we should be
using callOnMainThread() instead (because it dispatches to the web thread, not as
its name implies, the main thread).
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162879
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 27 Jan 2014 23:50:52 +0000 (23:50 +0000)]
Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
https://bugs.webkit.org/show_bug.cgi?id=127719
Reviewed by Sam Weinig.
* html/DOMURL.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162878
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 27 Jan 2014 23:48:45 +0000 (23:48 +0000)]
IDB: Rename "IDBTransactionIdentifier" to be more general purpose
https://bugs.webkit.org/show_bug.cgi?id=127717
Reviewed by Tim Horton.
Global rename of IDBTransactionIdentifier to IDBIdentifier.
* DatabaseProcess/IndexedDB/IDBIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h.
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
* Shared/WebCrossThreadCopier.cpp:
* Shared/WebCrossThreadCopier.h:
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 27 Jan 2014 23:39:47 +0000 (23:39 +0000)]
Move underlying C++ objects to class extensions
https://bugs.webkit.org/show_bug.cgi?id=127716
Reviewed by Tim Horton.
This allows us to get at the internals without calling any Obj-C methods.
* UIProcess/API/Cocoa/WKProcessClass.mm:
* UIProcess/API/Cocoa/WKProcessClassInternal.h:
* UIProcess/API/ios/WKContentView.mm:
* UIProcess/API/ios/WKContentViewInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 27 Jan 2014 23:29:07 +0000 (23:29 +0000)]
Remove unused USE(OPENTYPE_SANITIZER) code.
<https://webkit.org/b/127710>
This code was only used by the Chromium port.
Reviewed by Darin Adler.
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):
* platform/graphics/WOFFFileFormat.cpp:
* platform/graphics/WOFFFileFormat.h:
* platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
* platform/graphics/opentype/OpenTypeSanitizer.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 27 Jan 2014 23:25:17 +0000 (23:25 +0000)]
Web Inspector: Feature Check all Protocol Generated Interfaces to get JSContext Inspection working
https://bugs.webkit.org/show_bug.cgi?id=127712
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-27
Reviewed by Timothy Hatcher.
Feature check protocol generated interfaces (e.g. FooAgent and registerFooObserver).
Also drive by handle a possible exception if a SourceCode's URL is null, which is possible.
* UserInterface/ApplicationCacheManager.js:
(WebInspector.ApplicationCacheManager):
(WebInspector.ApplicationCacheManager.prototype.initialize):
* UserInterface/CSSCompletions.js:
(WebInspector.CSSCompletions.requestCSSNameCompletions):
* UserInterface/CSSStyleManager.js:
(WebInspector.CSSStyleManager):
(WebInspector.CSSStyleManager.prototype.canForcePseudoClasses):
* UserInterface/DebuggerManager.js:
* UserInterface/FrameResourceManager.js:
(WebInspector.FrameResourceManager):
(WebInspector.FrameResourceManager.prototype.initialize):
* UserInterface/Main.js:
(WebInspector.loaded):
* UserInterface/ProfileManager.js:
(WebInspector.ProfileManager):
* UserInterface/StorageManager.js:
(WebInspector.StorageManager):
Type check generated interfaces.
(WebInspector.DebuggerManager):
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
Null check a SourceCode URL, which can be null for a Script with no URL.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 27 Jan 2014 23:22:39 +0000 (23:22 +0000)]
Implement the _injectedBundleURL property
https://bugs.webkit.org/show_bug.cgi?id=127714
Reviewed by Tim Horton.
Properties declared in class categories need to be implemented. Do this
for the _injectedBundleURL property.
* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
(-[WKProcessClassConfiguration _injectedBundleURL]):
(-[WKProcessClassConfiguration _setInjectedBundleURL:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Mon, 27 Jan 2014 23:15:17 +0000 (23:15 +0000)]
Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
https://bugs.webkit.org/show_bug.cgi?id=127706
Reviewed by David Kilzer.
Instead of adding ENABLE() macros to generated Objective-C DOM
headers, which might become Public or Private headers, elide generated
code for disabled features.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateInterface): Passed $defines to GenerateHeader.
(ConditionalIsEnabled): Checked if the given conditional is found in
$defines. Handled conditionals with '&' and '|'.
(GenerateHeader): Rather than calling GenerateConditionalString to
generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
whether we should generate code for the given constant, attribute, or
function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162872
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zoltan@webkit.org [Mon, 27 Jan 2014 23:03:56 +0000 (23:03 +0000)]
[CSS Shapes] Remove restriction of negative values for inset parameters
https://bugs.webkit.org/show_bug.cgi?id=127704
Reviewed by Darin Adler.
Source/WebCore:
The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
doesn't contain any restriction of using negative values for the inset sizing.
I removed the restriction from the code and added testing for them.
Existing tests have been extended with the new cases.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseBasicShapeInset):
LayoutTests:
* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162871
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Mon, 27 Jan 2014 22:47:27 +0000 (22:47 +0000)]
[iOS] preload=none prevents play()
https://bugs.webkit.org/show_bug.cgi?id=127702
Reviewed by Jer Noble.
No new tests, covered by existing tests.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
fix logic error introduced in r161973
(WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
we are using the plug-in proxy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162870
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 27 Jan 2014 22:38:41 +0000 (22:38 +0000)]
IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
https://bugs.webkit.org/show_bug.cgi?id=127708
Reviewed by Tim Horton.
Source/WebCore:
Move that knowledge to the IDBCursorBackendOperations inside the callback.
* Modules/indexeddb/IDBCursorBackendOperations.cpp:
(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendOperations.h:
* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::cursorAdvance):
(WebCore::IDBServerConnectionLevelDB::cursorIterate):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
Source/WebKit2:
Update to new callback signatures:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162869
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 27 Jan 2014 21:45:10 +0000 (21:45 +0000)]
Tweak the WKWebView and WKWebViewConfiguration headers
https://bugs.webkit.org/show_bug.cgi?id=127705
Reviewed by Dan Bernstein.
Add WK_API_CLASS to WKWebView and make WKWebView.h and WKWebViewConfiguration.h public.
* UIProcess/API/Cocoa/WKWebView.h:
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162865
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 27 Jan 2014 21:29:16 +0000 (21:29 +0000)]
IDB: Remove unused concept of "cursor prefetch"
https://bugs.webkit.org/show_bug.cgi?id=127700
Reviewed by Tim Horton.
Source/WebCore:
* Modules/indexeddb/IDBCursorBackend.cpp:
* Modules/indexeddb/IDBCursorBackend.h:
* Modules/indexeddb/IDBCursorBackendOperations.cpp:
* Modules/indexeddb/IDBCursorBackendOperations.h:
* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
Source/WebKit2:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162864
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Mon, 27 Jan 2014 21:16:50 +0000 (21:16 +0000)]
[WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
https://bugs.webkit.org/show_bug.cgi?id=127370
Reviewed by Alexey Proskuryakov.
When WEB_THREAD is enabled, and callOnMainThread() is called from the main
thread, if the web thread is locked, a timer is set and the passed-in function
is called on the next run-loop. However, by that time the web thread may have
been unlocked, and isMainThread() will no longer return true, resulting in
an assert.
Instead, scheduleDispatchFunctionsOnMainThread() should check isWebThread(),
which is equivalent to isMainThread() when the WEB_THREAD is disabled, but
will do the correct thing when WEB_THREAD is enabled.
* wtf/mac/MainThreadMac.mm:
(WTF::scheduleDispatchFunctionsOnMainThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162862
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 27 Jan 2014 20:53:33 +0000 (20:53 +0000)]
Fix the build on case-sensitive filesystems
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162859
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 27 Jan 2014 20:52:17 +0000 (20:52 +0000)]
REGRESSION(r162837): fast/writing-mode/ruby-text-logical-left.html fails on WK1
* TestExpectations: skip for now
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162858
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 27 Jan 2014 20:51:35 +0000 (20:51 +0000)]
Build fix.
* wtf/ThreadSafeRefCounted.h: Added a necessary #include.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162857
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Mon, 27 Jan 2014 20:34:55 +0000 (20:34 +0000)]
IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
https://bugs.webkit.org/show_bug.cgi?id=127592
Reviewed by Tim Horton.
Source/WebCore:
For each of the 3 remaining operations where the backing store calls callbacks directly,
factor out the callbacks to the operation itself.
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
* Modules/indexeddb/IDBTransactionBackendOperations.h:
* Modules/indexeddb/IDBServerConnection.h:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
Source/WebKit2:
Update the WebIDBServerConnection to the new callback signatures:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::count):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 27 Jan 2014 20:31:09 +0000 (20:31 +0000)]
Unreviewed, rolling out r162755.
http://trac.webkit.org/changeset/162755
https://bugs.webkit.org/show_bug.cgi?id=127696
not quite right, breaks subframe scrolling in some cases
(Requested by thorton on #webkit).
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree):
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::removeDestroyedNodes):
* page/scrolling/ScrollingTree.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162855
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 27 Jan 2014 20:21:21 +0000 (20:21 +0000)]
WebKit2 View Gestures: Fluid back-forward swipe
https://bugs.webkit.org/show_bug.cgi?id=127363
Reviewed by Anders Carlsson.
Add support for a "back-forward swipe", which allows fluid swiping between
items in the back-forward list. Currently disabled by default.
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetViewGestureDebuggingEnabled):
(WKPreferencesGetViewGestureDebuggingEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
Add a ViewGestureDebuggingEnabled preference, which currently causes snapshots to be blurred.
Additional view gesture debugging features could come in the future.
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _ensureGestureController]):
(-[WKView scrollWheel:]):
If back-forward navigation gestures are enabled, intercept scrollWheel events
on the WKView and let the ViewGestureController take the first crack at them.
(-[WKView setAllowsBackForwardNavigationGestures:]):
(-[WKView allowsBackForwardNavigationGestures]):
* UIProcess/API/mac/WKViewInternal.h:
Add allowsBackForwardNavigationGesture property, which enables the gesture.
* UIProcess/mac/ViewGestureController.h:
Add swipe-related methods, which will be described below.
Add an enum for the swipe transition style. Currently only Overlap is accessible,
but in the future one could see having API to choose the style.
'Overlap' has the outgoing page swipe out to the right (when swiping right)
or the incoming page swipe in from the right (when swiping left).
'Push' has the pages push each other along in sync, as if all the pages in the
back-forward list were oriented from left to right.
* UIProcess/mac/ViewGestureController.messages.in:
* UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
Use some CAFilter SPI to blur the snapshot if ViewGestureDebuggingEnabled is on.
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::endMagnificationGesture):
Move m_activeGestureType clearing to each end* function instead of one global place,
so that each gesture can handle when it ends separately.
(WebKit::ViewGestureController::handleScrollWheelEvent):
If we receive a scroll wheel event which is appropriate for starting a
fluid swipe, in a direction where the main frame is pinned to the appropriate
edge of the view, start tracking a swipe.
This should eventually have some hysterisis to avoid stealing scrolls that
venture into the wrong direction, but for now it starts tracking immediately.
Forward events from the tracking loop to {begin, handle, end}SwipeGesture.
(WebKit::ViewGestureController::beginSwipeGesture):
Create a layer with the destination page's snapshot, and set it up.
(WebKit::ViewGestureController::handleSwipeGesture):
Appropriately adjust the position of the root layer and snapshot layer,
given the transition style and swipe direction.
(WebKit::ViewGestureController::endSwipeGesture):
When the gesture ends, do the navigation, and tell the WebProcess to
inform us when the render tree hits half the size it was when the
snapshot was taken (when that happens, we will remove the snapshot
and the gesture will be truly complete). Also, start a watchdog timer
in case the render tree never hits that size, after which we will
also remove the snapshot.
(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
(WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
(WebKit::ViewGestureController::removeSwipeSnapshot):
Tear down the swipe snapshot layer, and mark our current gesture as complete.
(WebKit::ViewGestureController::endActiveGesture):
Simplify endActiveGesture; it only has work to do for a pinch-zoom gesture,
as those are the only gestures where the user is directly in control of when they end.
* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
(WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
(WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired):
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
(WebKit::ViewGestureGeometryCollector::setRenderTreeSizeNotificationThreshold):
* WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
ViewGestureController pushes a render-tree size threshold to the WebProcess;
ViewGestureGeometryCollector (whose name is now more unfortunate than before)
monitors render-tree size changes and informs ViewGestureController when
it reaches that threshold via the 'DidHitRenderTreeSizeThreshold' message.
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):
* UIProcess/API/mac/WKView.mm:
(-[WKView _acceleratedCompositingModeRootLayer]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::acceleratedCompositingRootLayer):
Add a getter for the accelerated compositing root layer.
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
Don't extract the CGImageRef from a RetainPtr just to put it back in one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 27 Jan 2014 19:49:10 +0000 (19:49 +0000)]
Unreviewed, rolling out r162846.
http://trac.webkit.org/changeset/162846
https://bugs.webkit.org/show_bug.cgi?id=127695
"Broke the WebKit Bot Watcher's Dashboard; will fix offline"
(Requested by dydz on #webkit).
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.update.):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162850
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zoltan@webkit.org [Mon, 27 Jan 2014 19:15:25 +0000 (19:15 +0000)]
[CSS Shapes] inset() function with multiple spaces on element style
https://bugs.webkit.org/show_bug.cgi?id=127617
Reviewed by Dirk Schulze.
Source/WebCore:
When only a subset of parameters were defined for an inset shape, the built
inset string contained some extra spaces. This patch fixes the behavior and
adds tests for the case. I also removed the string allocation optimization from
buildInsetString, since it's not worthwhile to always allocate as many memory
as needed for a fully defined inset.
I added the new test cases to the shapes parser code test.
* css/CSSBasicShapes.cpp:
(WebCore::buildInsetString):
LayoutTests:
* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* 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@162848
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 27 Jan 2014 19:08:51 +0000 (19:08 +0000)]
Add support for displaying results from multiple Buildbots on WebKit Bot Watcher's Dashboard
https://bugs.webkit.org/show_bug.cgi?id=127564
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 27 Jan 2014 19:06:40 +0000 (19:06 +0000)]
Teach Buildbot dashboard to parse alternative revision format
https://bugs.webkit.org/show_bug.cgi?id=127561
Reviewed by Alexey Proskuryakov.
Add support for extracting the OpenSource and Internal revision numbers when Buildbot
returns a dictionary for the value of property got_revision.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(parseRevisionProperty): Added; parses Buildbot revision property, which can either be a
string or a dictionary.
(BuildbotIteration.prototype.update.): Modified to call parseRevisionProperty() to determine
the OpenSource and Internal revision numbers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162846
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Mon, 27 Jan 2014 18:53:26 +0000 (18:53 +0000)]
Remove unused CodeBlock::createActivation().
<https://webkit.org/b/127686>
Reviewed by Filip Pizlo.
* bytecode/CodeBlock.cpp:
* bytecode/CodeBlock.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 27 Jan 2014 17:48:04 +0000 (17:48 +0000)]
* WebCore.exp.in: Add export needed for iOS.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162844
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 27 Jan 2014 17:12:46 +0000 (17:12 +0000)]
REGRESSION(r133214): Don't invalidate style when adding classes that don't match rules
https://bugs.webkit.org/show_bug.cgi?id=126177
Reviewed by Anders Carlsson.
Spotted by Elliott Sprehn in Chromium.
* dom/Element.cpp:
(WebCore::checkSelectorForClassChange):
Remove unnecessary templating.
(WebCore::Element::classAttributeChanged):
Fix logic error with 'continue'.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
b.long@cablelabs.com [Mon, 27 Jan 2014 16:57:30 +0000 (16:57 +0000)]
[GStreamer] Lockup when playing Icecast radio
https://bugs.webkit.org/show_bug.cgi?id=127452
Reviewed by Philippe Normand.
No new tests. This bug can only be demonstrated with an Icecast stream, and it's
not clear how to do that in our testing framework.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::handleResponseReceived): Wait until we unlock to send notifications.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162842
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 27 Jan 2014 16:49:42 +0000 (16:49 +0000)]
Typo fix after r162838.
* platform/wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162841
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jberlin@webkit.org [Mon, 27 Jan 2014 16:31:24 +0000 (16:31 +0000)]
Build fix after r162838.
* page/FrameView.cpp:
Remove an unused constant.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162840
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Mon, 27 Jan 2014 16:27:45 +0000 (16:27 +0000)]
Remove repaint throttling
https://bugs.webkit.org/show_bug.cgi?id=127681
Patch by Antti Koivisto <antti@apple.com> on 2014-01-27
Reviewed by Sam Weinig.
Nowadays we throttle layer flushes. This code is unnecessary.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* dom/Element.cpp:
(WebCore::Element::classAttributeChanged):
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::insertDictatedText):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTextInputEvent):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::flushCompositingStateForThisFrame):
(WebCore::FrameView::layout):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
* page/FrameView.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162839
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 27 Jan 2014 16:18:06 +0000 (16:18 +0000)]
Unreviewed gardening, unskip now passing tests.
* platform/wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162838
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Mon, 27 Jan 2014 15:11:08 +0000 (15:11 +0000)]
Remove repaint throttling
https://bugs.webkit.org/show_bug.cgi?id=127681
Reviewed by Sam Weinig.
Nowadays we throttle layer flushes. This code is unnecessary.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* dom/Element.cpp:
(WebCore::Element::classAttributeChanged):
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::insertDictatedText):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTextInputEvent):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::flushCompositingStateForThisFrame):
(WebCore::FrameView::layout):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
* page/FrameView.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162837
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Mon, 27 Jan 2014 15:05:44 +0000 (15:05 +0000)]
Merge Chromium TextTrack cleanups
https://bugs.webkit.org/show_bug.cgi?id=127483
Reviewed by Darin Adler.
Merge some TextTrack cleanups:
https://chromium.googlesource.com/chromium/blink/+/
b571b9fbc6e62e05aa77a402cf8f447e681b8ee3
https://chromium.googlesource.com/chromium/blink/+/
6b1940151258150ea01bcf21ebfd958e2af247f4
https://chromium.googlesource.com/chromium/blink/+/
397c2a2d9416f5c0d79bca22d6979f174eefcce2
https://chromium.googlesource.com/chromium/blink/+/
f42ad93e25c6310b2b0327ab7ce5d82d3c4a6c1b
https://chromium.googlesource.com/chromium/blink/+/
d55b52b53b7da05bba5fe378a4278250b9347430
https://chromium.googlesource.com/chromium/blink/+/
cac766ecaaac477a08879f0b3157d0327cc75d96
https://chromium.googlesource.com/chromium/blink/+/
6197ce278696cdd52fc2ad81893f369492468ca0
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::loadTimerFired): Remove the LoadableTextTrack* parameter, it isn't used.
(WebCore::HTMLTrackElement::didCompleteLoad): Ditto.
* html/HTMLTrackElement.h: didCompleteLoad doesn't need to be virtual.
* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::loadTimerFired): Pass a reference, not a pointer.
(WebCore::LoadableTextTrack::cueLoadingStarted): Removed, it wasn't used.
(WebCore::LoadableTextTrack::cueLoadingCompleted): Pass a reference, not a pointer.
* html/track/LoadableTextTrack.h: Delete LoadableTextTrackClient, it is no longer used.
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::TextTrackLoader): Take a TextTrackLoaderClient reference.
(WebCore::TextTrackLoader::~TextTrackLoader): Rename m_cachedCueData m_resource.
(WebCore::TextTrackLoader::cueLoadTimerFired): m_client is a reference.
(WebCore::TextTrackLoader::cancelLoad): m_cachedCueData -> m_resource.
(WebCore::TextTrackLoader::processNewCueData): Ditto.
(WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource): Ditto.
(WebCore::TextTrackLoader::notifyFinished): Ditto.
(WebCore::TextTrackLoader::load): shouldLoadCues was removed from the client interface because
the only implementation always returned true.
(WebCore::TextTrackLoader::newRegionsParsed): m_client is a reference
* loader/TextTrackLoader.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest): Remove an outdated comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162836
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 27 Jan 2014 13:14:49 +0000 (13:14 +0000)]
[GTK] Implement custom URI schemes with CustomProtocols
https://bugs.webkit.org/show_bug.cgi?id=127091
Reviewed by Gustavo Noronha Silva.
Source/WebKit2:
The old classes are no longer built for GTK+ and should be removed once
other ports using soup backend switch to custom protocols implementation.
* GNUmakefile.am: Remove include path.
* GNUmakefile.list.am: Remove files from compilation.
* PlatformGTK.cmake: Ditto.
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
(startLoading):
(stopLoading):
(attachRequestManagerClientToContext):
* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestCreate):
(webkit_uri_scheme_request_get_web_view):
(webkitURISchemeRequestReadCallback):
(webkit_uri_scheme_request_finish):
(webkit_uri_scheme_request_finish_error):
* UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
(webkit_web_context_register_uri_scheme):
(webkitWebContextGetRequestManager):
(webkitWebContextStartLoadingCustomProtocol):
(webkitWebContextStopLoadingCustomProtocol):
(webkitWebContextDidFinishLoadingCustomProtocol):
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* WebKit2Prefix.h: Enable CustomProtocols unconditionally for the
GTK+ port.
Tools:
Temporarily disable the WebKitWebView check until we figure out
how to implement it with CustomProtocols.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162835
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 27 Jan 2014 12:40:18 +0000 (12:40 +0000)]
AX: Disable accessibility after every test run
https://bugs.webkit.org/show_bug.cgi?id=127439
Patch by Chris Fleizach <cfleizach@apple.com> on 2014-01-27
Reviewed by Csaba Osztrogonác.
Speculative fix for EFL build. Don't process these notifications unless accessibility is enabled.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::prepareForLoadStart):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162834
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 27 Jan 2014 11:13:19 +0000 (11:13 +0000)]
Buildfix for !ENABLE(COMPARE_AND_SWAP) platforms after r162774
https://bugs.webkit.org/show_bug.cgi?id=127678
Reviewed by Zoltan Herczeg.
* platform/text/TextBreakIterator.cpp:
(WebCore::compareAndSwapNonSharedCharacterBreakIterator):
Use std::mutex instead of Mutex and std::lock_guard instead of MutexLocker.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162833
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Mon, 27 Jan 2014 10:46:31 +0000 (10:46 +0000)]
[Mac] fast/profiler/stop-profiling-after-setTimeout.html and fast/profiler/dead-time.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=84102
Reviewed by Darin Adler.
* fast/profiler/dead-time-expected.txt: Updated.
* fast/profiler/stop-profiling-after-setTimeout-expected.txt: Updated.
* platform/efl/TestExpectations: Unskip tests.
* platform/gtk/fast/profiler/dead-time-expected.txt: Removed.
* platform/gtk/fast/profiler/stop-profiling-after-setTimeout-expected.txt: Removed.
* platform/mac/TestExpectations: Unskip tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162832
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 27 Jan 2014 09:09:18 +0000 (09:09 +0000)]
Another iOS build fix.
* Misc/WebElementDictionary.mm:
(-[WebElementDictionary _image]):
We were apparently depending on Image::getNSImage() being defined
(yet always returning nullptr) on iOS.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162831
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 27 Jan 2014 08:27:01 +0000 (08:27 +0000)]
[SOUP] WebProcess sometimes crashes when a download is cancelled
https://bugs.webkit.org/show_bug.cgi?id=127650
Reviewed by Martin Robinson.
The problem is that when the download is cancelled, the download
manager removes the download from the map and it's deleted. The
Download destructor calls platformInvalidate() that cancels the
resource handle if there's still one. We set to nullptr the
ResourceHandle when the download is cancelled to avoid cancelling
it twice, but it's done after calling Download::didCancel(). It
should be done before, because at that moment, when the download
is deleted, the resource handle pointer is still valid.
* Shared/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::cancel):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162830
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 27 Jan 2014 08:18:51 +0000 (08:18 +0000)]
Unreviewed. Fix GTK+ build after r162808.
* webkit/webkitwebhistoryitem.cpp:
(webkit_web_history_item_new_with_data):
(webkit_web_history_item_get_last_visited_time):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162829
268f45cc-cd09-0410-ab3c-
d52691b4dbfc