[MediaControls][iOS] Make mediacontrols match the system inline controls
https://bugs.webkit.org/show_bug.cgi?id=128833

Reviewed by Eric Carlson.

Move items slightly, fix button sizes, font sizes, and colors to match the
inline controls from MoviePlayer.framework.

* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-time-remaining-display):
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.configureInlineControls): Do not add the status text.
(ControllerIOS.prototype.updateTime): Call updateProgress().
(ControllerIOS.prototype.progressFillStyle): Draw a slightly different color.
(ControllerIOS.prototype.updateProgress): Draw white to the left of the currentTime.
(ControllerIOS.prototype.formatTime): Single leading zero in the time display fields.
(ControllerIOS.prototype.handleTimelineChange): Call updateProgress().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CounterContentData::counter() and ImageContentData::image() should return references
<http://webkit.org/b/128671>

Reviewed by Darin Adler.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::contentToCSSValue):
- Update to use references.  Remove useless ASSERTs.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImages):
- Update to use references.  StyleResolver::loadPendingImage()
  will be changed to take a reference in the near future.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
- Update to use references.  The auto keyword wanted to
  instantiate a StyleImage instead a reference, so it was
  replaced.

* rendering/style/ContentData.h:
(WebCore::ImageContentData::ImageContentData): Add ASSERT that
m_image is not NULL.
(WebCore::ImageContentData::image): Return a reference.  Remove
useless overload with identical name.
(WebCore::ImageContentData::cloneInternal): Simplify by using
implicit PassRefPtr constructor.
(WebCore::operator==): Remove unneeded deref operators.
(WebCore::CounterContentData::counter): Return a reference.
(WebCore::CounterContentData::cloneInternal): Remove unneeded
deref operator.
(WebCore::operator==): Remove unneeded deref operators.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Try to fix iOS Debug builds without breaking Release builds.

* WebProcess/WebPage/PageBanner.cpp:
* WebProcess/WebPage/PageBanner.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, make this test pass without DFG. It was assuming that you always have DFG
and that it would always tier-up to the DFG - both wrong assumptions.

* tests/stress/tricky-array-bounds-checks.js:
(foo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164226 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DataCue.data should be a copy of the input ArrayBuffer, not a pointer
https://bugs.webkit.org/show_bug.cgi?id=128886

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, just updated existing track-datacue.html test.

* html/track/DataCue.cpp:
(WebCore::DataCue::DataCue): Add ExceptionCode and pass through to setData().
(WebCore::DataCue::data): Return a copy of m_data instead of a pointer.
(WebCore::DataCue::setData): Create a copy of the input data, or throw an exception if it's null.
* html/track/DataCue.h: Add ExceptionCode parameters to constructor and data setter.
* html/track/DataCue.idl: Same.

LayoutTests:

* media/track/track-datacue-expected.txt:
* media/track/track-datacue.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FTL OSR exit shouldn't make X86-specific assumptions
https://bugs.webkit.org/show_bug.cgi?id=128890

Reviewed by Mark Hahnenberg.

Mostly this is about not using push/pop, but instead using the more abstract pushToSave() and popToRestore() while reflecting on the stack alignment.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssembler::pushToSaveByteOffset):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssemblerARM64::pushToSaveByteOffset):
* ftl/FTLExitThunkGenerator.cpp:
(JSC::FTL::ExitThunkGenerator::emitThunk):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* ftl/FTLThunks.cpp:
(JSC::FTL::osrExitGenerationThunkGenerator):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move back primary header includes next to config.h
https://bugs.webkit.org/show_bug.cgi?id=128912

Reviewed by Alexey Proskuryakov.

* dfg/DFGAbstractHeap.cpp:
* dfg/DFGAbstractValue.cpp:
* dfg/DFGArgumentsSimplificationPhase.cpp:
* dfg/DFGArithMode.cpp:
* dfg/DFGArrayMode.cpp:
* dfg/DFGAtTailAbstractState.cpp:
* dfg/DFGAvailability.cpp:
* dfg/DFGBackwardsPropagationPhase.cpp:
* dfg/DFGBasicBlock.cpp:
* dfg/DFGBinarySwitch.cpp:
* dfg/DFGBlockInsertionSet.cpp:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCFAPhase.cpp:
* dfg/DFGCFGSimplificationPhase.cpp:
* dfg/DFGCPSRethreadingPhase.cpp:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGCapabilities.cpp:
* dfg/DFGClobberSet.cpp:
* dfg/DFGClobberize.cpp:
* dfg/DFGCommon.cpp:
* dfg/DFGCommonData.cpp:
* dfg/DFGCompilationKey.cpp:
* dfg/DFGCompilationMode.cpp:
* dfg/DFGConstantFoldingPhase.cpp:
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
* dfg/DFGDCEPhase.cpp:
* dfg/DFGDesiredIdentifiers.cpp:
* dfg/DFGDesiredStructureChains.cpp:
* dfg/DFGDesiredTransitions.cpp:
* dfg/DFGDesiredWatchpoints.cpp:
* dfg/DFGDesiredWeakReferences.cpp:
* dfg/DFGDesiredWriteBarriers.cpp:
* dfg/DFGDisassembler.cpp:
* dfg/DFGDominators.cpp:
* dfg/DFGEdge.cpp:
* dfg/DFGFailedFinalizer.cpp:
* dfg/DFGFinalizer.cpp:
* dfg/DFGFixupPhase.cpp:
* dfg/DFGFlushFormat.cpp:
* dfg/DFGFlushLivenessAnalysisPhase.cpp:
* dfg/DFGFlushedAt.cpp:
* dfg/DFGGraph.cpp:
* dfg/DFGGraphSafepoint.cpp:
* dfg/DFGInPlaceAbstractState.cpp:
* dfg/DFGIntegerCheckCombiningPhase.cpp:
* dfg/DFGInvalidationPointInjectionPhase.cpp:
* dfg/DFGJITCode.cpp:
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITFinalizer.cpp:
* dfg/DFGJumpReplacement.cpp:
* dfg/DFGLICMPhase.cpp:
* dfg/DFGLazyJSValue.cpp:
* dfg/DFGLivenessAnalysisPhase.cpp:
* dfg/DFGLongLivedState.cpp:
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
* dfg/DFGMinifiedNode.cpp:
* dfg/DFGNaturalLoops.cpp:
* dfg/DFGNode.cpp:
* dfg/DFGNodeFlags.cpp:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
* dfg/DFGOSREntry.cpp:
* dfg/DFGOSREntrypointCreationPhase.cpp:
* dfg/DFGOSRExit.cpp:
* dfg/DFGOSRExitBase.cpp:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
* dfg/DFGOSRExitCompiler64.cpp:
* dfg/DFGOSRExitCompilerCommon.cpp:
* dfg/DFGOSRExitJumpPlaceholder.cpp:
* dfg/DFGOSRExitPreparation.cpp:
* dfg/DFGPhase.cpp:
* dfg/DFGPlan.cpp:
* dfg/DFGPredictionInjectionPhase.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGResurrectionForValidationPhase.cpp:
* dfg/DFGSSAConversionPhase.cpp:
* dfg/DFGSSALoweringPhase.cpp:
* dfg/DFGSafepoint.cpp:
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStackLayoutPhase.cpp:
* dfg/DFGStoreBarrierElisionPhase.cpp:
* dfg/DFGStrengthReductionPhase.cpp:
* dfg/DFGThreadData.cpp:
* dfg/DFGThunks.cpp:
* dfg/DFGTierUpCheckInjectionPhase.cpp:
* dfg/DFGToFTLDeferredCompilationCallback.cpp:
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
* dfg/DFGTypeCheckHoistingPhase.cpp:
* dfg/DFGUnificationPhase.cpp:
* dfg/DFGUseKind.cpp:
* dfg/DFGValidate.cpp:
* dfg/DFGValueSource.cpp:
* dfg/DFGVariableAccessDataDump.cpp:
* dfg/DFGVariableEvent.cpp:
* dfg/DFGVariableEventStream.cpp:
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
* dfg/DFGWatchpointCollectionPhase.cpp:
* dfg/DFGWorklist.cpp:
* heap/JITStubRoutineSet.cpp:
* jit/GCAwareJITStubRoutine.cpp:
* jit/JIT.cpp:
* jit/JITDisassembler.cpp:
* jit/JITOperations.cpp:
* jit/JITStubRoutine.cpp:
* jit/JITStubs.cpp:
* jit/TempRegisterSet.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Turn the history client into a fancy API::HistoryClient abstract base class
https://bugs.webkit.org/show_bug.cgi?id=128917

Reviewed by Andreas Kling.

* UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h.
(API::HistoryClient::~HistoryClient):
(API::HistoryClient::didNavigateWithNavigationData):
(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):
(API::HistoryClient::populateVisitedLinks):
(API::HistoryClient::shouldTrackVisitedLinks):
* UIProcess/API/C/WKContext.cpp:
(WKContextSetHistoryClient):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::populateVisitedLinks):
* UIProcess/WebContext.h:
(WebKit::WebContext::historyClient):
* UIProcess/WebHistoryClient.cpp: Removed.
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessProxy.cpp:
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] The box decorations of an element overflowing a region should be clipped at the border box, not the content box
https://bugs.webkit.org/show_bug.cgi?id=128815

Reviewed by Andrei Bucur.

Source/WebCore:

Elements flowed into a region should not be painted past the region's content box
if they continue to flow into another region in that direction.
If they do not continue into another region in that direction, they should be
painted all the way to the region's border box.
Regions with overflow:hidden will apply clip at the border box, not the content box.

Tests: fast/regions/box-decorations-over-region-padding-fragmented.html
       fast/regions/box-decorations-over-region-padding-horiz-bt.html
       fast/regions/box-decorations-over-region-padding-vert-lr.html
       fast/regions/box-decorations-over-region-padding-vert-rl.html
       fast/regions/box-decorations-over-region-padding.html

* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::flowThreadPortionRectForClipping):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::rectFlowPortionForBox):

LayoutTests:

Added tests for the painting of the borders of elements flowed into regions
over the region's padding area, for regions with overflow:hidden.
Tests were added for all writing modes.

* fast/regions/box-decorations-over-region-padding-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-fragmented-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-fragmented.html: Added.
* fast/regions/box-decorations-over-region-padding-horiz-bt-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-horiz-bt.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-lr-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-lr.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-rl-expected.html: Added.
* fast/regions/box-decorations-over-region-padding-vert-rl.html: Added.
* fast/regions/box-decorations-over-region-padding.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Graphics buffer issue with clip-path and fixed positioned element
https://bugs.webkit.org/show_bug.cgi?id=126262

Source/WebCore:

Reviewed by Tim Horton.

If an element has a clip-path, backgroundIsKnownToBeOpaqueInRect() needs
to return false so that we don't try to make opaque compositing layers.

Test: compositing/contents-opaque/opaque-with-clip-path.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Tim Horton.

* compositing/contents-opaque/opaque-with-clip-path-expected.html: Added.
* compositing/contents-opaque/opaque-with-clip-path.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RegisterSet::calleeSaveRegisters() should know about ARM64
https://bugs.webkit.org/show_bug.cgi?id=128918

Reviewed by Mark Hahnenberg.

* jit/RegisterSet.cpp:
(JSC::RegisterSet::calleeSaveRegisters):



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