mario@webkit.org [Thu, 2 Feb 2012 13:18:09 +0000 (13:18 +0000)]
[Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
https://bugs.webkit.org/show_bug.cgi?id=72382
Reviewed by Martin Robinson.
Source/WebCore:
Do not add unnecesary blanks at the end of a line of text.
* accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
(textForRenderer): Do not just append a '\n' at the end of a line
if the linebreak for that line was already considered.
Source/WebKit/gtk:
New unit test to ensure the right line is retrieved for the first
position of each line in a multiline preformatted portion of text.
* tests/testatk.c:
(testWebkitAtkGetTextAtOffsetWithPreformattedText): New unit test.
(main): Add the new unit test.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 10:25:25 +0000 (10:25 +0000)]
Regions should ignore the saved currentRenderFlowThread during repainting
because if there are imbricated flow threads, it might end using the wrong one.
[CSSRegions] Assert failure in RenderView::computeRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=77430
Patch by Raul Hudea <rhudea@adobe.com> on 2012-02-02
Reviewed by David Hyatt.
Source/WebCore:
Test: fast/regions/imbricated-flow-threads-crash.html
* rendering/RenderFlowThread.cpp:
(CurrentRenderFlowThreadDisabler):
(WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
(WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
(WebCore):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
LayoutTests:
* fast/regions/imbricated-flow-threads-crash-expected.txt: Added.
* fast/regions/imbricated-flow-threads-crash.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 2 Feb 2012 10:24:29 +0000 (10:24 +0000)]
[PerformanceTests] tests have dependencies
https://bugs.webkit.org/show_bug.cgi?id=77506
Reviewed by Hajime Morita.
PerformanceTests:
* resources/init.html: Added.
Tools:
Load an initialization page before each test after starting a DRT so that
warming up DRT won't affect the performance test results.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
(PerfTestsRunner.__init__):
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.TestDriver.run_test):
(test_initial_page_loaded):
(test_initial_page_loaded.run_test):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kinuko@chromium.org [Thu, 2 Feb 2012 09:31:21 +0000 (09:31 +0000)]
Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
https://bugs.webkit.org/show_bug.cgi?id=76551
Source/WebCore:
Reviewed by David Levin.
Moved the implementation of crackFileSystemURL() and toURL() from
WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
so that each platform can extend/implement their behavior if necessary.
No new tests as it has no functional changes.
* fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
* fileapi/DOMFileSystemBase.h:
(DOMFileSystemBase):
* fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
(WebCore::EntryBase::toURL):
* page/DOMWindow.cpp: Made corresponding callsite changes.
(WebCore::DOMWindow::webkitRequestFileSystem):
(WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
* page/DOMWindow.h:
* platform/AsyncFileSystem.cpp:
(WebCore::AsyncFileSystem::isValidType): Added.
* platform/AsyncFileSystem.h:
(AsyncFileSystem):
* workers/WorkerContext.cpp: Made corresponding callsite changes.
(WebCore::WorkerContext::webkitRequestFileSystem):
(WebCore::WorkerContext::webkitRequestFileSystemSync):
(WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
(WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
* workers/WorkerContext.h:
Source/WebKit/chromium:
* src/AssertMatchingEnums.cpp: Removed the matching assertion for AsyncFileSystem::External (as now we directly use WebFileSystem::TypeExternal).
* src/AsyncFileSystemChromium.cpp:
(WebCore::AsyncFileSystem::crackFileSystemURL): Added.
(WebCore::AsyncFileSystem::isValidType): Added.
(WebCore::AsyncFileSystemChromium::toURL): Added.
* src/AsyncFileSystemChromium.h:
(AsyncFileSystemChromium):
* src/WorkerAsyncFileSystemChromium.cpp: Made this subclass of AsyncFileSystemChromium (rather than that of AsyncFileSystem)
(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
* src/WorkerAsyncFileSystemChromium.h:
(WorkerAsyncFileSystemChromium):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Thu, 2 Feb 2012 09:12:47 +0000 (09:12 +0000)]
Web Inspector: pause on uncaugh exceptions state is not properly restored
https://bugs.webkit.org/show_bug.cgi?id=77558
'Pause on exceptions' state is now stored in InspectorState object so that it is
properly restored on inspected process change.
Reviewed by Vsevolod Vlasov.
* inspector/InspectorDebuggerAgent.cpp:
(DebuggerAgentState):
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::restore):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
(WebCore):
(WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 2 Feb 2012 08:27:21 +0000 (08:27 +0000)]
Re-land r106442 per Adam's suggestion. We'll do both restarting DRT and loading a fake test first.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_passing_test):
(test_run_silent_test):
(test_run_failed_test):
(test_run_tonguey_test):
(test_run_timeout_test):
(test_run_crash_test):
(test_run_test_set_kills_drt_per_run):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.__init__):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.stop):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 08:23:59 +0000 (08:23 +0000)]
The third argument of addEventListener/removeEventListener of PeerConnection should be optional
https://bugs.webkit.org/show_bug.cgi?id=77606
Reviewed by Adam Barth.
Source/WebCore:
This patch corrects a typo in PeerConnection.idl, i.e. [optional] => [Optional].
Test: fast/mediastream/peerconnection-eventlistener-optional-argument.html
* mediastream/PeerConnection.idl:
LayoutTests:
The added test confirms if the third argument of addEventListener() and
removeEventListener() is optional.
* fast/mediastream/peerconnection-eventlistener-optional-argument-expected.txt: Added.
* fast/mediastream/peerconnection-eventlistener-optional-argument.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 08:09:07 +0000 (08:09 +0000)]
hidden attribute on <input type=file /> suppresses the file selection dialog
https://bugs.webkit.org/show_bug.cgi?id=58208
Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-02-02
Reviewed by Ryosuke Niwa.
.:
* ManualTests/input-file-hidden-open-dialog-on-click.html: Added.
Adding manual test as the file dialog opens only in User gesture.
Source/WebCore:
We want to allow opening file dialog on hidden element when click() is called
on the element. The behaviour is similar to Firefox and IE.
Added manual test as the file dialog opens only on user gesture.
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
Removed renderer check as input can be hidden.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 2 Feb 2012 08:04:02 +0000 (08:04 +0000)]
[GStreamer] FFTFrame implementation
https://bugs.webkit.org/show_bug.cgi?id=73545
Reviewed by Chris Rogers.
.:
* configure.ac: Enable the WebAudio option again and remove
libfftw checks.
Source/WebCore:
FFTFrame implementation based on GStreamer's FFT processing
library.
No new tests, existing WebAudio tests cover this.
* GNUmakefile.am:
* GNUmakefile.list.am:
* platform/audio/FFTFrame.h:
* platform/audio/FFTFrameStub.cpp:
* platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
(WebCore::FFTFrame::FFTFrame):
(WebCore::FFTFrame::initialize):
(WebCore::FFTFrame::cleanup):
(WebCore::FFTFrame::~FFTFrame):
(WebCore::FFTFrame::multiply):
(WebCore::FFTFrame::doFFT):
(WebCore::FFTFrame::doInverseFFT):
(WebCore::FFTFrame::realData):
(WebCore::FFTFrame::imagData):
Source/WebKit/gtk:
* GNUmakefile.am: Remove libfftw compilation flags.
Source/WebKit2:
* GNUmakefile.am: Remove libfftw compilation flags.
LayoutTests:
* webaudio/resources/convolution-testing.js:
(checkTail1): Adapt convolution threshold for GStreamerFFTFrame
implementation, as advised by Chris Rogers.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 08:00:20 +0000 (08:00 +0000)]
Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
https://bugs.webkit.org/show_bug.cgi?id=77601
Reviewed by Adam Barth.
[CheckFrameSecurity] and [SVGCheckSecurity] have the same meaning; i.e. generate code
to check allowAccessToNode() for a given attribute or method. This patch renames them
to [CheckAccessToNode].
No tests. No changes in behavior.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateFunctionCallback):
* html/HTMLEmbedElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLObjectElement.idl:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp: Updated the test results.
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 07:48:28 +0000 (07:48 +0000)]
Rename [V8DisallowShadowing] to [V8Unforgeable]
https://bugs.webkit.org/show_bug.cgi?id=77599
Reviewed by Adam Barth.
This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
* page/DOMWindow.idl:
* page/Location.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 07:07:50 +0000 (07:07 +0000)]
Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
https://bugs.webkit.org/show_bug.cgi?id=77602
Reviewed by Adam Barth.
This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).
No tests. No changes in behavior.
* bindings/scripts/CodeGeneratorJS.pm:
(JSValueToNative):
* bindings/scripts/CodeGeneratorV8.pm:
(GetNativeTypeFromSignature):
* css/CSSCharsetRule.idl:
* css/CSSPageRule.idl:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleRule.idl:
* css/CSSValue.idl:
* css/MediaList.idl:
* css/WebKitCSSKeyframesRule.idl:
* dom/Attr.idl:
* dom/CharacterData.idl:
* dom/DOMImplementation.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/ProcessingInstruction.idl:
* dom/ShadowRoot.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLOutputElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLTitleElement.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
* storage/StorageEvent.idl:
* svg/SVGAngle.idl:
* svg/SVGElement.idl:
* svg/SVGLength.idl:
* svg/SVGScriptElement.idl:
* bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 06:31:35 +0000 (06:31 +0000)]
Webkit generate-coverage-data script needs update to use new test script
https://bugs.webkit.org/show_bug.cgi?id=77597
Patch by Jacob Goldstein <jacobg@adobe.com> on 2012-02-01
Reviewed by Dirk Schulze.
* Scripts/generate-coverage-data:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 06:24:28 +0000 (06:24 +0000)]
Remove [GenerateConstructor] from IDL files
https://bugs.webkit.org/show_bug.cgi?id=77598
Reviewed by Adam Barth.
[GenerateConstructor] is used in some IDL files but it is not implemented
in code generators. I could not find any history about [GenerateConstructor]
in code generators. This patch removes them from IDL files.
Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
So simply removing them would make sense.
No new tests. No change in behavior.
* dom/DOMStringList.idl:
* html/DOMSettableTokenList.idl:
* html/DOMTokenList.idl:
* svg/SVGFEConvolveMatrixElement.idl:
* webaudio/AudioPannerNode.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 2 Feb 2012 05:10:31 +0000 (05:10 +0000)]
Consider user's preferred language when choosing text tracks
https://bugs.webkit.org/show_bug.cgi?id=74121
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Tests: media/track/track-language-preference.html
media/track/track-prefer-captions.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
(WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
(WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
(WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
(WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
don't consider user's language preference.
(WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group,
considering user's kind and language preferences.
(WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
(TrackGroup):
* platform/Language.cpp:
(WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
(WebCore::bestMatchingLanguage): New, return the language from the list that best matches the
specified language.
(WebCore::preferredLanguageFromList): New, return the language in the specified list that best
matches the user's language preference.
* platform/Language.h:
* testing/Internals.cpp:
(WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
(WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
* testing/Internals.h:
* testing/Internals.idl:
LayoutTests:
* media/track/track-language-preference-expected.txt: Added.
* media/track/track-language-preference.html: Added.
* media/track/track-prefer-captions-expected.txt: Added.
* media/track/track-prefer-captions.html: Added.
* platform/mac/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hayato@chromium.org [Thu, 2 Feb 2012 04:21:29 +0000 (04:21 +0000)]
Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
https://bugs.webkit.org/show_bug.cgi?id=76693
Reviewed by Darin Adler.
Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
This patch is pre-requirement for coming IDL change.
No tests. No change in behavior.
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::buildAccessKeyMap):
(WebCore::Document::childrenChanged):
(WebCore::Document::attach):
(WebCore::Document::detach):
* dom/Document.h:
(Document):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::DocumentFragment):
* dom/DocumentFragment.h:
(DocumentFragment):
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::get):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
(WebCore::ShadowRoot::attach):
* dom/ShadowRoot.h:
* dom/TreeScope.cpp:
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::setParentTreeScope):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::findAnchor):
* dom/TreeScope.h:
(WebCore):
(WebCore::TreeScope::rootNode):
(TreeScope):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
* page/DragController.cpp:
(WebCore::asFileInput):
* page/FocusController.cpp:
(WebCore::ownerOfTreeScope):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 2 Feb 2012 04:11:09 +0000 (04:11 +0000)]
WorkerScriptController::evaluate() should not return anything
https://bugs.webkit.org/show_bug.cgi?id=77587
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-02-01
Reviewed by Adam Barth.
Remove the return value from WorkerScriptController as it is
(and should be) unused.
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* bindings/js/WorkerScriptController.h:
(WorkerScriptController):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* bindings/v8/WorkerScriptController.h:
(WorkerScriptController):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 03:25:01 +0000 (03:25 +0000)]
Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
[HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
https://bugs.webkit.org/show_bug.cgi?id=77585
Reviewed by Adam Barth.
This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
[HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
since they are not used by no IDL files.
No tests. No change in behavior.
* bindings/scripts/CodeGenerator.pm:
(GetterExpression):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateImplementation):
(IsConstructable):
(IsConstructorTemplate):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
(WebCore):
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
(WebCore):
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
(WebCore):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 03:22:22 +0000 (03:22 +0000)]
Select attribute of HTMLContentElement should be able be changed dynamically.
https://bugs.webkit.org/show_bug.cgi?id=76261
Patch by Shinya Kawanaka <shinyak@google.com> on 2012-02-01
Reviewed by Hajime Morita.
Source/WebCore:
When select attribute is changed, the flag to recalc style is set.
Test: fast/dom/shadow/content-element-select-dynamic.html
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::parseMappedAttribute):
Sets recalc style when select is changed.
* html/shadow/HTMLContentElement.h:
(HTMLContentElement):
LayoutTests:
Test cases for changing select attribute dynamically.
* fast/dom/shadow/content-element-select-dynamic-expected.txt: Added.
* fast/dom/shadow/content-element-select-dynamic.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 02:47:53 +0000 (02:47 +0000)]
Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
https://bugs.webkit.org/show_bug.cgi?id=77589
Reviewed by Adam Barth.
[ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
but they are not implemented in code generators and thus have no meaning.
This patch removes them.
No tests. No change in behavior.
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasPattern.idl: The file is now empty though.
* html/canvas/CanvasRenderingContext.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/WebGLRenderingContext.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 02:46:10 +0000 (02:46 +0000)]
Unreviewed, rolling out r106408.
http://trac.webkit.org/changeset/106408
https://bugs.webkit.org/show_bug.cgi?id=77592
crashes in chromium mac release tests (Requested by japhet on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
* platform/graphics/Region.cpp:
* platform/graphics/Region.h:
(Region):
(Shape):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noam.rosenthal@nokia.com [Thu, 2 Feb 2012 02:42:14 +0000 (02:42 +0000)]
[Texmap] Use glScissors for clipping in TextureMapperGL when possible
https://bugs.webkit.org/show_bug.cgi?id=77575
Reviewed by Martin Robinson.
Source/WebCore:
Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
We apply scissors when the clip region is rectalinear, and stencil when it's not.
No behavior changes so no new tests.
* platform/graphics/opengl/TextureMapperGL.cpp:
(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::bindSurface):
(WebCore):
(WebCore::scissorClip):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::endScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):
* platform/graphics/opengl/TextureMapperGL.h:
(TextureMapperGL):
Source/WebKit2:
Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
now cleaned out of QQuickWebPage.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::paintToCurrentGLContext):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::paintToCurrentGLContext):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
* UIProcess/DrawingAreaProxyImpl.h:
(DrawingAreaProxyImpl):
* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 2 Feb 2012 02:34:13 +0000 (02:34 +0000)]
Move the scrolling coordinator to page/scrolling
https://bugs.webkit.org/show_bug.cgi?id=77590
Reviewed by Dan Bernstein.
Put scrolling related files in page/scrolling to avoid cluttering the page directory.
* WebCore.xcodeproj/project.pbxproj:
* page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
* page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
* page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106523
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 2 Feb 2012 02:27:18 +0000 (02:27 +0000)]
Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
[v8implname] and [v8referenceattr] from code generators
https://bugs.webkit.org/show_bug.cgi?id=77588
Reviewed by Adam Barth.
This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
[v8implname] and [v8referenceattr] from code generators, since they are not used
by any IDL files.
No tests. No changes in behavior.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(IsConstructable):
(IsConstructorTemplate):
(GenerateNormalAttrGetter):
(GenerateFunctionCallString):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Thu, 2 Feb 2012 02:19:01 +0000 (02:19 +0000)]
Yarr crash with regexp replace
https://bugs.webkit.org/show_bug.cgi?id=67454
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
Properly handle the case of a back reference to an unmatched
subpattern by always matching without consuming any characters.
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::matchBackReference):
(JSC::Yarr::Interpreter::backtrackBackReference):
LayoutTests:
New tests to check for proper handling of back references to
unmatched subpatterns.
* fast/js/regexp-backreferences-expected.txt:
* fast/js/script-tests/regexp-backreferences.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106521
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 2 Feb 2012 02:11:52 +0000 (02:11 +0000)]
Update the tests to show that the mac-ews processes patches from
non-committers.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSytemTest.test_committer_only_ewses):
(EarlyWarningSytemTest.test_builder_ewses):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 2 Feb 2012 01:56:58 +0000 (01:56 +0000)]
Mac-ews logs are huge
https://bugs.webkit.org/show_bug.cgi?id=77045
Reviewed by Eric Seidel.
In order to get the cr-linux-ews bot to run tests on EC2, we created
the chromium-xvfb port, which contained a number of tweaks to the
Chromium port's behavior. This patch refactors those tweaks so they
can be shared with the mac-ews, mostly by moving them into the
non-interactive mode of RunTests.
* Scripts/webkitpy/common/config/ports.py:
(WebKitPort):
(WebKitPort.layout_tests_results_path):
(ChromiumPort.run_javascriptcore_tests_command):
(ChromiumXVFBPort):
(ChromiumXVFBPort.run_webkit_tests_command):
* Scripts/webkitpy/common/config/ports_mock.py:
(MockPort):
(MockPort.layout_tests_results_path):
* Scripts/webkitpy/common/config/ports_unittest.py:
(WebKitPortTest.test_chromium_xvfb_port):
* Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
(LayoutTestResultsReaderTest.test_missing_layout_test_results):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(CommitQueueTest.test_commit_queue):
(test_rollout):
(test_manual_reject_during_processing):
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_no_unit_tests):
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest.test_runtests_args):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 2 Feb 2012 01:40:47 +0000 (01:40 +0000)]
Roll out r106442. It made some tests more stable but others less stable.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_passing_test):
(test_run_silent_test):
(test_run_failed_test):
(test_run_tonguey_test):
(test_run_timeout_test):
(test_run_crash_test):
(test_run_test_set):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 2 Feb 2012 01:39:55 +0000 (01:39 +0000)]
Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
https://bugs.webkit.org/show_bug.cgi?id=77580
Patch by Pablo Flouret <pablof@motorola.com> on 2012-02-01
Reviewed by Adam Barth.
Source/WebCore:
No new tests. Modified http/tests/security/postMessage/target-origin.html
to test this case as well.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
LayoutTests:
* http/tests/security/postMessage/target-origin-expected.txt:
* http/tests/security/postMessage/target-origin.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caio.oliveira@openbossa.org [Thu, 2 Feb 2012 00:20:36 +0000 (00:20 +0000)]
Avoid creating NamedNodeMap unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=77574
Reviewed by Ryosuke Niwa.
Source/WebCore:
The method Element::attributes() was being used for multiple things in our
codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
get the attribute storage creating one if necessary.
This commit separate the jobs in different functions:
1) attributes() keeps being the DOM getter, and loses its boolean parameter.
2) updatedAttributes() updates the invalid attributes and returns the attribute
storage. If we don't have one, return 0.
3) ensureUpdatedAttributes() updates the invalid attributes and forces the
creation of attribute storage to return.
There is also another way to get to the attribute storage currently, via
attributeMap(), which doesn't update the attributes for possible changes in Style
or SVG attributes.
Note that the new functions are not available in Node class, so C++ code manipulating
attributes should cast to Element.
This separation also made easier to spot and fix some places where we do not
need to create the attribute storage if it doesn't exist.
No new tests, this commit shouldn't change the behavior of existing code.
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):
* dom/Document.cpp:
(WebCore::Document::importNode):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::hasAttributes):
(WebCore::Element::setAttributeNode):
(WebCore::Element::setAttributeNodeNS):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::normalizeAttributes):
* dom/Element.h:
(Element):
(WebCore::Element::attributes):
(WebCore::Element::ensureAttributeData):
(WebCore::Element::ensureUpdatedAttributes):
(WebCore::Element::updatedAttributes):
(WebCore::Element::setAttributesFromElement):
(WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
(WebCore::Element::updateInvalidAttributes):
(WebCore):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
not having an attribute storage because the attribute storage is lazily created.
* dom/Node.cpp:
(WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
compare two nodes.
(WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
using length, it's OK if the attribute storage is empty.
(WebCore::Node::lookupNamespaceURI): Ditto.
(WebCore::Node::lookupNamespacePrefix): Ditto.
(WebCore::Node::compareDocumentPosition): Ditto.
* editing/ApplyStyleCommand.cpp:
(WebCore::hasNoAttributeOrOnlyStyleAttribute):
(WebCore::isEmptyFontTag):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
to identify non-Element nodes, then use hasAttributes() if is Element.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::highestVisuallyEquivalentDivBelowRoot):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
unnecessarily.
* editing/htmlediting.cpp:
(WebCore::areIdenticalElements): Do not create the attribute storage
unnecessarily. Use mapsEquivalent() for comparing the attributes.
* editing/markup.cpp:
(WebCore::completeURLs): Do not create the attribute storage unnecessarily.
(WebCore::StyledMarkupAccumulator::appendElement): Ditto.
(WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
storage unnecessarily.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
unnecessarily.
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
ensureUpdatedAttributes() since we will add new attributes.
(WebCore):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
* page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.
* svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()
since we will add new attributes.
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
unnecessarily.
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
nodeType() manually. Do not create the attribute storage unnecessarily.
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
storage unnecessarily.
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.
Source/WebKit/chromium:
* src/WebPageSerializerImpl.cpp:
(WebKit::WebPageSerializerImpl::openTagToString): use updatedAttributes().
Source/WebKit/qt:
* Api/qwebelement.cpp:
(QWebElement::attributeNames): use updateAttributes().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106515
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 2 Feb 2012 00:14:55 +0000 (00:14 +0000)]
contentDispositionType misparses the Content-Disposition header in some obscure corner cases
https://bugs.webkit.org/show_bug.cgi?id=77577
Reviewed by Eric Seidel.
The contentDispositionType extracts the disposition-type from the
Content-Disposition header. According to RFC 6266 (and previous RFCs),
the disposition-type must be an RFC 2616 token. Rather than enforce
this general rule, we had special-cased some examples (including
name=foo and filename=bar). This patch generalizes our check to
properly validate that the disposition-type is an RFC 2616 token.
In conjunction with some other work in the Chromium network stack, this
causes Chromium to pass the following tests:
http://greenbytes.de/tech/tc2231/#inlonlyquoted
http://greenbytes.de/tech/tc2231/#attonlyquoted
Without this patch, these test cases neither trigger a navigation nor a
download in Chromium. This patch does not appear to cause any visible
change in Safari. (Safari passes these tests both before and after
this patch.)
* platform/network/HTTPParsers.cpp:
(WebCore::isRFC2616Token):
(WebCore::contentDispositionType):
- This patch also adds a comment to
filenameFromHTTPContentDisposition, which explains some of the
was this function incorrectly implements the requirements in
RFC 6266. Resolving these issues is a subject for a future
patch.
* platform/network/HTTPParsers.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106514
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 2 Feb 2012 00:09:27 +0000 (00:09 +0000)]
Another attempt to fix the Windows build.
* FullscreenVideoController.cpp:
(FullscreenVideoController::LayerClient::platformCALayerDidCreateTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 2 Feb 2012 00:08:00 +0000 (00:08 +0000)]
calling function on catch block scope containing an eval result in wrong this value being passed
https://bugs.webkit.org/show_bug.cgi?id=77581
Reviewed by Oliver Hunt.
javascript:function F(){ return 'F' in this; }; try { throw F; } catch (e) { eval(""); alert(e()); }
Source/JavaScriptCore:
* bytecompiler/NodesCodegen.cpp:
(JSC::TryNode::emitBytecode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createTryStatement):
* parser/NodeConstructors.h:
(JSC::TryNode::TryNode):
* parser/Nodes.h:
(TryNode):
* parser/Parser.cpp:
(JSC::::parseTryStatement):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTryStatement):
* runtime/JSObject.h:
(JSObject):
(JSC::JSObject::isStaticScopeObject):
(JSC):
LayoutTests:
* fast/js/eval-var-decl-expected.txt:
* fast/js/script-tests/eval-var-decl.js:
(checkThis):
(testEvalInCatch):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 2 Feb 2012 00:01:45 +0000 (00:01 +0000)]
Source/WebCore: WebCore part of <rdar://problem/
10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505
Reviewed by Darin Adler.
* page/Page.h:
(WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
variable.
(WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
(Pagination): Added behavesLikeColumns member variable. When set to false (the default),
paginated display respects the page-break-{before,after} properties rather than the
column-break-{before,after} ones.
* rendering/ColumnInfo.h:
(WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
(WebCore::ColumnInfo::paginationUnit): Added this getter.
(WebCore::ColumnInfo::setPaginationUnit): Added this setter.
(ColumnInfo): Added m_paginationUnit member. It defaults to Column.
* rendering/LayoutState.h:
(WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
(WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.
* rendering/RenderBlock.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
this is the RenderView for the main frame and pagination is set to behave like columns.
* rendering/RenderView.h:
Source/WebKit/mac: WebKit/mac part of <rdar://problem/
10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _setPaginationBehavesLikeColumns:]): Added this setter.
(-[WebView _paginationBehavesLikeColumns]): Added this getter.
* WebView/WebViewPrivate.h:
Source/WebKit2: WebKit2 part of <rdar://problem/
10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505
Reviewed by Darin Adler.
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
(WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationBehavesLikeColumns): Added this setter.
(WKPageGetPaginationBehavesLikeColumns): Added this getter.
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/API/mac/WKBrowsingContextController.mm:
(-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
wrapper around WKPageSetPaginationBehavesLikeColumns.
(-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
around WKPageGetPaginationBehavesLikeColumns.
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
the value from the creation parameters.
(WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
(WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:59:59 +0000 (23:59 +0000)]
Backgrounds in HTML inside foreignObject don't draw
https://bugs.webkit.org/show_bug.cgi?id=23111
Patch by Florin Malita <fmalita@google.com> on 2012-02-01
Reviewed by Eric Seidel.
Source/WebCore:
Test: svg/foreignObject/body-background.svg
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBackground):
Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.
LayoutTests:
* svg/foreignObject/body-background-expected.png: Added.
* svg/foreignObject/body-background-expected.txt: Added.
* svg/foreignObject/body-background.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Wed, 1 Feb 2012 23:58:13 +0000 (23:58 +0000)]
Enable EWS for non-contributers.
https://bugs.webkit.org/show_bug.cgi?id=77576
Reviewed by Adam Barth.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(MacEWS):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 23:54:54 +0000 (23:54 +0000)]
REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
https://bugs.webkit.org/show_bug.cgi?id=77578
<rdar://problem/
10767174>
Reviewed by Dan Bernstein.
Resizing a window will always invalidate the window backing store, so make sure to set
_data->_windowHasValidBackingStore to NO whenever that happens.
* UIProcess/API/mac/WKView.mm:
(-[WKView addWindowObserversForWindow:]):
Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
(-[WKView _windowDidMove:]):
Call -[WKView _updateWindowAndViewFrames].
(-[WKView _windowDidResize:]):
Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106508
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:32:37 +0000 (23:32 +0000)]
Make one able to set the local storage (tracker) database dir's path
https://bugs.webkit.org/show_bug.cgi?id=77006
Patch by Gustavo Lima Chaves <glima@profusion.mobi> on 2012-02-01
Reviewed by Darin Adler.
There are no behavior changes with the diff, so no need for new tests.
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::setDatabaseDirectoryPath):
(WebCore):
(WebCore::StorageTracker::databaseDirectoryPath):
* storage/StorageTracker.h:
(StorageTracker):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 23:29:22 +0000 (23:29 +0000)]
Fix Window build.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::LayerClient::platformCALayerDidCreateTiles):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Wed, 1 Feb 2012 23:23:30 +0000 (23:23 +0000)]
Add support for inferred function names
https://bugs.webkit.org/show_bug.cgi?id=77579
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
Add new "inferred" names to function expressions, getters, and setters.
This property is not exposed to JS, so is only visible in the debugger
and profiler.
* JavaScriptCore.exp:
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::makeFunction):
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::calculatedFunctionName):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::makeAssignNode):
* parser/Nodes.h:
(JSC::FunctionBodyNode::setInferredName):
(JSC::FunctionBodyNode::inferredName):
(FunctionBodyNode):
* profiler/Profiler.cpp:
(JSC):
(JSC::Profiler::createCallIdentifier):
(JSC::createCallIdentifierFromFunctionImp):
* runtime/Executable.cpp:
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::fromGlobalCode):
* runtime/Executable.h:
(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::inferredName):
(FunctionExecutable):
* runtime/JSFunction.cpp:
(JSC::JSFunction::calculatedDisplayName):
(JSC):
(JSC::getCalculatedDisplayName):
* runtime/JSFunction.h:
(JSC):
LayoutTests:
Update test case results.
* fast/profiler/anonymous-event-handler-expected.txt:
* fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
* fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
* fast/profiler/anonymous-function-calls-eval-expected.txt:
* fast/profiler/built-in-function-calls-anonymous-expected.txt:
* fast/profiler/inline-event-handler-expected.txt:
* fast/profiler/many-calls-in-the-same-scope-expected.txt:
* fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
* fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
* fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt:
* fast/profiler/nested-anonymous-functon-expected.txt:
* fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:11:01 +0000 (23:11 +0000)]
GetMIMEDescription should return const char *
https://bugs.webkit.org/show_bug.cgi?id=77297
Patch by John Yani <vanuan@gmail.com> on 2012-02-01
Reviewed by Alexey Proskuryakov.
No new tests. No change in behaviour.
* plugins/blackberry/PluginPackageBlackBerry.cpp:
(WebCore::PluginPackage::fetchInfo):
* plugins/efl/PluginPackageEfl.cpp:
(WebCore):
(WebCore::PluginPackage::fetchInfo):
* plugins/npapi.h:
* plugins/npfunctions.h:
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 1 Feb 2012 23:08:54 +0000 (23:08 +0000)]
DFG should fold double-to-int conversions
https://bugs.webkit.org/show_bug.cgi?id=77532
Reviewed by Oliver Hunt.
Performance neutral on major benchmarks. But it makes calling V8's
Math.random() 4x faster.
* bytecode/CodeBlock.cpp:
(JSC):
(JSC::CodeBlock::addOrFindConstant):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::addConstant):
(CodeBlock):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::toInt32):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::isInt32Constant):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateInteger):
(Graph):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::doRoundOfDoubleVoting):
(JSC::DFG::Propagator::fixupNode):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAdd):
(DFG):
(JSC::DFG::SpeculativeJIT::compileArithSub):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::valueOfNumberConstantAsInt32):
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/JSValueInlineMethods.h:
(JSC::JSValue::asDouble):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Wed, 1 Feb 2012 23:08:13 +0000 (23:08 +0000)]
Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
a syntax error in JSC and make the Inspector open again in Release builds.
https://webkit.org/b/77424
Reviewed by Brian Weinstein.
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
(WebInspector.DetailedHeapshotView.prototype.willHide): Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 23:05:31 +0000 (23:05 +0000)]
[Chromium] Enable deferred canvas rendering in the skia port
https://bugs.webkit.org/show_bug.cgi?id=76732
Patch by Justin Novosad <junov@chromium.org> on 2012-02-01
Reviewed by Stephen White.
Source/WebCore:
No new tests: covered by existing canvas layout tests
Adding a new setting to enable deferred 2d canvas rendering.
Added support for deferred 2d canvas rendering in ImageBufferSkia
and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
implementation is provided by skia (class SkDeferredCanvas).
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::shouldDefer):
(WebCore):
(WebCore::HTMLCanvasElement::createImageBuffer):
* html/HTMLCanvasElement.h:
(HTMLCanvasElement):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setAccelerated2dCanvasEnabled):
(WebCore):
(WebCore::Settings::setDeferred2dCanvasEnabled):
* page/Settings.h:
(Settings):
(WebCore::Settings::deferred2dCanvasEnabled):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::create):
(ImageBuffer):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore):
(WebCore::Canvas2DLayerChromium::setCanvas):
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
(Canvas2DLayerChromium):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/skia/ImageBufferSkia.cpp:
(AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(WebCore::AcceleratedDeviceContext::flush):
(WebCore):
(WebCore::createAcceleratedCanvas):
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/wince/ImageBufferWinCE.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/wx/ImageBufferWx.cpp:
(WebCore::ImageBuffer::ImageBuffer):
Source/WebKit/chromium:
Adding a new setting for enabling deferred 2d canvas rendering
* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setDeferred2dCanvasEnabled):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 1 Feb 2012 22:27:32 +0000 (22:27 +0000)]
DFG graph dump for GetScopedVar should show the correct prediction
https://bugs.webkit.org/show_bug.cgi?id=77530
Reviewed by Geoff Garen.
GetScopedVar has a heap prediction, not a variable prediction. But it does
have a variable. Hence we need to check for heap predictions before checking
for variable predictions.
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Wed, 1 Feb 2012 22:15:45 +0000 (22:15 +0000)]
Replace JSArray destructor with finalizer
https://bugs.webkit.org/show_bug.cgi?id=77488
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* JavaScriptCore.exp:
* runtime/JSArray.cpp:
(JSC::JSArray::finalize): Added finalizer.
(JSC::JSArray::allocateSparseMap): Factored out code for allocating new sparse maps.
(JSC):
(JSC::JSArray::deallocateSparseMap): Factored out code for deallocating sparse maps.
(JSC::JSArray::enterDictionaryMode): Renamed enterSparseMode to enterDictionaryMode
because the old name was confusing because we could have a sparse array that never
called enterSparseMode.
(JSC::JSArray::defineOwnNumericProperty):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::putByIndexBeyondVectorLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSArray):
LayoutTests:
* fast/js/script-tests/sparse-array.js: Added code to test oscillation between
sparse and dense arrays.
* fast/js/sparse-array-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 22:05:01 +0000 (22:05 +0000)]
Gcc build fix after r106482.
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 22:02:47 +0000 (22:02 +0000)]
rebaseline box-shadow-clipped-slices
https://bugs.webkit.org/show_bug.cgi?id=77565
Patch by Elliot Poger <epoger@google.com> on 2012-02-01
Reviewed by Stephen White.
* platform/chromium-linux/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Wed, 1 Feb 2012 21:52:41 +0000 (21:52 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=77383
Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
-and corresponding-
<rdar://problem/
10709560>
Reviewed by Sam Weinig.
Source/WebCore:
The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate.
This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and
leaves the old one for the time being. That is temporary.
The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant
painted RenderObjects on Page.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setPaintedObjectsCounterThreshold):
(WebCore::Page::addRelevantRepaintedObject):
* page/Page.h:
(WebCore):
(Page):
(WebCore::Page::startCountingRepaintedObjects):
* WebCore.exp.in:
Start counting relevant painted RenderObjects on the page once the first
layout is complete.
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
Machinery for firing didNewFirstVisuallNonEmptyLayout.
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
(WebCore):
* loader/FrameLoader.h:
(FrameLoader):
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
These RenderObjects are the ones that this api currently consider to be
relevant. If their repaint rects intersect with the viewRect, then they are
added to the relevant objects set on the Page.
* rendering/InlineBox.cpp:
(WebCore::InlineBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paintReplaced):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::paintReplaced):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):
Source/WebKit2:
Machinery for didNewFirstVisuallNonEmptyLayout.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
(WebKit):
* UIProcess/WebLoaderClient.h:
(WebLoaderClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
(WebKit):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient):
This temporary API allows the client to specify the threshold for the painted
objects counter on Page. This is temporary.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetPaintedObjectsCounterThreshold):
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaintedObjectsCounterThreshold):
(WebKit):
* WebProcess/WebPage/WebPage.h:
(WebPage):
Tools:
WebKit2's WebLoaderClient has a temporary new function that must be accounted
for.
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Wed, 1 Feb 2012 21:48:23 +0000 (21:48 +0000)]
CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
https://bugs.webkit.org/show_bug.cgi?id=49058
Reviewed by Andreas Kling.
Source/WebCore:
CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
not part of the property list of the style so we need to query the longhands which are the one added
in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.
Test: fast/css/shorthand-priority.html
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
(WebCore::CSSMutableStyleDeclaration::addParsedProperty):
(WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
* css/CSSMutableStyleDeclaration.h:
(CSSMutableStyleDeclaration):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::extractAndRemoveTextDirection):
(WebCore::EditingStyle::collapseTextDecorationProperties):
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
(WebCore::setTextDecorationProperty):
* editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::doApply):
Source/WebKit/qt:
Update the code as getPropertyPriority has been renamed to propertyIsImportant.
* Api/qwebelement.cpp:
(QWebElement::styleProperty):
LayoutTests:
* fast/css/shorthand-priority-expected.txt: Added.
* fast/css/shorthand-priority.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 21:34:08 +0000 (21:34 +0000)]
Crash in EventHandler::updateDragAndDrop
https://bugs.webkit.org/show_bug.cgi?id=77569
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Test: fast/events/remove-target-with-shadow-in-drag.html
* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop):
LayoutTests:
* fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
* fast/events/remove-target-with-shadow-in-drag.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 21:18:23 +0000 (21:18 +0000)]
Unreviewed, rolling out r106382.
http://trac.webkit.org/changeset/106382
https://bugs.webkit.org/show_bug.cgi?id=77571
Causing chromium crashes in PNGImageDecoder (Requested by
japhet on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
Source/WebCore:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluate):
* page/Console.cpp:
(WebCore::Console::time):
(WebCore::Console::timeEnd):
* platform/chromium/PlatformSupport.h:
* platform/chromium/TraceEvent.h:
(internal):
(ScopeTracer):
(WebCore::internal::ScopeTracer::ScopeTracer):
(WebCore::internal::ScopeTracer::~ScopeTracer):
Source/WebKit/chromium:
* public/platform/WebKitPlatformSupport.h:
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::isTraceEventEnabled):
(WebKit::WebKitPlatformSupport::traceEventBegin):
(WebKit::WebKitPlatformSupport::traceEventEnd):
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::isTraceEventEnabled):
(WebCore):
(WebCore::PlatformSupport::traceEventBegin):
(WebCore::PlatformSupport::traceEventEnd):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106487
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 20:02:34 +0000 (20:02 +0000)]
Reviewed by Darin Adler.
Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
slot in the hash map and assign directly into it.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::revalidateTiles):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 1 Feb 2012 19:59:47 +0000 (19:59 +0000)]
Tile cache doesn't have an upper limit
https://bugs.webkit.org/show_bug.cgi?id=77564
<rdar://problem/
10710744>
Reviewed by Darin Adler.
Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
and drop tiles that are outside that area.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
the page layout is up to date before the new tiles are painted.
* platform/graphics/ca/PlatformCALayerClient.h:
Add platformCALayerDidCreateTiles member function.
* platform/graphics/ca/mac/TileCache.h:
Update for new/removed member functions and member variables.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache):
Initialize the tile revalidation timer.
(WebCore::TileCache::tileCacheLayerBoundsChanged):
If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
schedule the revalidation timer.
(WebCore::TileCache::setNeedsDisplayInRect):
Return early if we have no tiles.
(WebCore::TileCache::visibleRectChanged):
Schedule tile revalidation.
(WebCore::TileCache::rectForTileIndex):
New helper function that returns the bounds rect of a tile given its tile index.
(WebCore::TileCache::getTileIndexRangeForRect):
Clamp the rect to the bounds of the tile cache layer.
(WebCore::TileCache::scheduleTileRevalidation):
Schedule the revalidation timer if it hasn't already been scheduled.
(WebCore::TileCache::tileRevalidationTimerFired):
Call revalidateTiles.
(WebCore::TileCache::revalidateTiles):
Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
parts of the tile coverage rect that don't have tiles already.
(WebCore::TileCache::tileLayerAtIndex):
Remove invalid assertions.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Wed, 1 Feb 2012 19:52:06 +0000 (19:52 +0000)]
TestWebKitAPI isn't being built on chromium bots any more
https://bugs.webkit.org/show_bug.cgi?id=77563
Reviewed by Dimitri Glazkov.
I accidentally dropped it in the refactoring in r105449.
Source/WebKit/chromium:
* All.gyp:
Tools:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:41:01 +0000 (19:41 +0000)]
Fixed some lines in the date-constructor.js test.
https://bugs.webkit.org/show_bug.cgi?id=75892
Patch by Szilard Ledan <Ledan-Muntean.Szilard@stud.u-szeged.hu> on 2012-02-01
Reviewed by Gavin Barraclough.
* fast/js/date-constructor-expected.txt:
* fast/js/script-tests/date-constructor.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:38:23 +0000 (19:38 +0000)]
Source/WebCore: Add support for fixed and percent min-width on the table element for table-layout: auto to
match Firefox and Opera's behavior.
In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
issues based on the comment: "FIXME: This entire calculation is incorrect for both
minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
min-width and max-width styles). I have not implemented min-width for FixedTableLayout
in this patch since it requires some more research around that comment.
min-width and max-width on the table element was discussed on the www-style list:
http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html
min-width is not implemented on <table> for table-layout: auto
https://bugs.webkit.org/show_bug.cgi?id=76553
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-01
Reviewed by Julien Chaffraix.
Test: fast/table/min-width.html
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
If the min or max preferred logical width is less than a fixed min width style, it is
set to the fixed min width style. Like a percent width style, a percent min-width style
does not affect the min or max preferred logical widths computed by the table layout
algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.
min-width for the table-layout: fixed case has been split out into this bug:
https://bugs.webkit.org/show_bug.cgi?id=76948
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
If the RenderStyle's logical min width is defined and greater than the logical width
calculation, this method sets the logical width to the logical min width.
(WebCore::RenderTable::convertStyleWidthToComputedWidth):
This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
that converted the width style to a computed value in the fixed and percent case.
RenderTable::computeLogicalWidth now calls this method to determine the computed values
for both the width style and the min-width style. In the future, it can also be used for
the max-width style.
Note that this method handles the special CSS table case, which requires borders and
paddings to be included in the computed width calculation. This applies to all width
styles, including width, min-width, and max-width. Before, this special case was handled
in RenderTable::computeLogicalWidth.
* rendering/RenderTable.h:
LayoutTests: Add support for min-width on the table element.
min-width is not implemented on <table> for table-layout: auto
https://bugs.webkit.org/show_bug.cgi?id=76553
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-01
Reviewed by Julien Chaffraix.
* fast/table/min-width-css-block-table.html: Added.
* fast/table/min-width-css-block-table-expected.txt: Added.
* fast/table/min-width-css-inline-table.html: Added.
* fast/table/min-width-css-inline-table-expected.txt: Added.
* fast/table/min-width-html-block-table.html: Added.
* fast/table/min-width-html-block-table-expected.txt: Added.
* fast/table/min-width-html-inline-table.html: Added.
* fast/table/min-width-html-inline-table-expected.txt: Added.
* fast/table/script-tests/min-width-css-block-table.js: Added.
(computeLogicalWidth):
* fast/table/script-tests/min-width-css-inline-table.js: Added.
(computeLogicalWidth):
* fast/table/script-tests/min-width-helpers.js: Added.
(runTests):
(createTableStyle):
(computeLogicalWidthHelper):
(createSpan):
* fast/table/script-tests/min-width-html-block-table.js: Added.
(computeLogicalWidth):
* fast/table/script-tests/min-width-html-inline-table.js: Added.
(computeLogicalWidth):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:37:00 +0000 (19:37 +0000)]
Refactor identifier resolution in BytecodeGenerator
https://bugs.webkit.org/show_bug.cgi?id=76285
Patch by Andy Wingo <wingo@igalia.com> on 2012-02-01
Reviewed by Geoffrey Garen.
* bytecompiler/BytecodeGenerator.h:
(JSC::ResolveResult): New class, to describe the storage
location corresponding to an identifier in a program.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::resolve): New function, replacing
findScopedProperty.
(JSC::BytecodeGenerator::resolveConstDecl): New function,
encapsulating what ConstDeclNode::emitBytecode used to do.
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar): New functions,
corresponding to the old emitGetScopedVar and emitPutScopedVar.
(JSC::BytecodeGenerator::registerFor): Remove version that took an
Identifier&; replaced by ResolveResult::local().
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis): Change to accept a
"resolveResult" argument. This is more clear, and reduces the
amount of double analysis happening at compile-time.
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixResolveNode::emitBytecode):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixResolveNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode): Refactor to use the new
ResolveResult structure.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 19:21:32 +0000 (19:21 +0000)]
[SKIA/CHROMIUM] Perform getImageData format conversions using Skia
https://bugs.webkit.org/show_bug.cgi?id=77553
Patch by Brian Salomon <bsalomon@google.com> on 2012-02-01
Reviewed by Stephen White.
Source/WebCore:
Many existing canvas tests exercise this functionality.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::getImageData):
LayoutTests:
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
japhet@chromium.org [Wed, 1 Feb 2012 18:45:17 +0000 (18:45 +0000)]
Source/WebCore: preventDefault() in a mousedown in a subframe should not
prevent the scrollbar from handling mouse movements if the
cursor leaves the subframe.
https://bugs.webkit.org/show_bug.cgi?id=73097
Reviewed by Darin Adler.
Test: fast/events/scroll-div-with-prevent-default-in-subframe.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=73097.
Test adapted from repro case provided by zacklloyd@google.com.
Reviewed by Darin Adler.
* fast/events/resources/subframe-with-scrollable-div.html: Added.
* fast/events/scroll-div-with-prevent-default-in-subframe-expected.txt: Added.
* fast/events/scroll-div-with-prevent-default-in-subframe.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hans@chromium.org [Wed, 1 Feb 2012 18:29:20 +0000 (18:29 +0000)]
Rename WebSpeechInputResult::set() to assign()
https://bugs.webkit.org/show_bug.cgi?id=77540
Reviewed by Darin Fisher.
Source/WebKit/chromium:
It was suggested in a previous code review
(https://bugs.webkit.org/show_bug.cgi?id=77083#c5)
that this function should be called assign().
* public/WebSpeechInputResult.h:
(WebSpeechInputResult):
(WebKit::WebSpeechInputResult::set):
* src/WebSpeechInputResult.cpp:
(WebKit::WebSpeechInputResult::assign):
Tools:
* DumpRenderTree/chromium/MockWebSpeechInputController.cpp:
(MockWebSpeechInputController::addMockRecognitionResult):
(MockWebSpeechInputController::speechTaskFired):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 1 Feb 2012 18:04:57 +0000 (18:04 +0000)]
[GTK] WebKit1 API documentation is not generated when building with gtk-2.0
https://bugs.webkit.org/show_bug.cgi?id=77542
Reviewed by Martin Robinson.
* gtk/generate-gtkdoc: Check first whether there's
webkitgtk-3.0.pc and if it doesn't exist use webkitgtk-1.0.pc
instead.
(get_webkit2_options): Return just the options since the
pkg_config_path doesn't depend on options
(get_webkit1_options): Ditto.
(generate_doc): Helper function to create a generator and generate
documentation for the given pkg-config file with the given options.
* gtk/gtkdoc.py:
(GTKDoc.__init__): Don't use ** for args parameter, since it's
used as a dict and never expanded.
(PkgConfigGTKDoc.__init__): Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 1 Feb 2012 18:01:35 +0000 (18:01 +0000)]
[GTK] API documentation is not installed even when building with --enable-gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=77094
Reviewed by Martin Robinson.
* GNUmakefile.am: Add install-data-local and uninstall-local rules
to install/uninstall WebKit1 and WebKit2 API documentation.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario@webkit.org [Wed, 1 Feb 2012 17:58:57 +0000 (17:58 +0000)]
[GTK] editing/inserting/4960120-2.html flaky crash
https://bugs.webkit.org/show_bug.cgi?id=76815
Reviewed by Martin Robinson.
Source/WebCore:
Check if the node for the first parent object not ignoring
accessibility is null before using it. This might happen with
certain kind of accessibility objects, such as the root one (the
scroller containing the webArea object as its only child).
* accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
(objectFocusedAndCaretOffsetUnignored): Add missing null check.
LayoutTests:
* platform/gtk/test_expectations.txt: Unskipping tests that
shouldn't be crashing from now on.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Wed, 1 Feb 2012 17:41:27 +0000 (17:41 +0000)]
Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
https://bugs.webkit.org/show_bug.cgi?id=77545
Reviewed by Andreas Kling.
This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.
On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
(it loses the vptr) in total.
This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
much longer.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::merge):
* css/CSSMutableStyleDeclaration.h:
Remove protected section. No subclasses remain.
Rename setPropertyInternal() to setProperty(). All public methods here are internal.
(CSSMutableStyleDeclaration):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseMappedAttributeValue):
* dom/Attribute.cpp:
(WebCore::Attribute::clone):
* dom/Attribute.h:
(Attribute):
(WebCore::Attribute::decl):
(WebCore::Attribute::mappedAttributeDeclaration):
(WebCore::Attribute::setMappedAttributeDeclaration):
(WebCore::Attribute::Attribute):
* dom/CSSMappedAttributeDeclaration.cpp:
(WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
(WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
(WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
* dom/CSSMappedAttributeDeclaration.h:
(CSSMappedAttributeDeclaration):
(WebCore::CSSMappedAttributeDeclaration::declaration):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
Make CSSMutableStyleDeclaration a member instead of the base class.
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::removeCSSProperty):
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
(WebCore::StyledElement::addCSSLength):
(WebCore::StyledElement::addCSSColor):
(WebCore::StyledElement::createMappedDecl):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 17:38:58 +0000 (17:38 +0000)]
[Qt] Set all PlatformTouchPoint values possible from a QTouch event.
https://bugs.webkit.org/show_bug.cgi?id=77442
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-02-01
Reviewed by Kenneth Rohde Christiansen.
* platform/qt/PlatformTouchPointQt.cpp:
(WebCore::PlatformTouchPoint::PlatformTouchPoint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 17:22:02 +0000 (17:22 +0000)]
Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=77471
Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-01
Reviewed by Yury Semikhatsky.
Code is moved physically to other file -- generator is changed accrodingly.
* inspector/CodeGeneratorInspector.py:
(String):
(provides):
(typename):
(Array):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106469
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Wed, 1 Feb 2012 17:03:16 +0000 (17:03 +0000)]
Web Inspector: debugger reports wrong sources when paused in inline script on page reload
https://bugs.webkit.org/show_bug.cgi?id=77548
Source/WebCore:
V8 returns treats each script source as ending with \n, now we take
this into account when reporting script line count to the inspector
front-end.
Reviewed by Vsevolod Vlasov.
Test: inspector/debugger/pause-in-inline-script.html
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
* bindings/v8/DebuggerScript.js:
LayoutTests:
Reviewed by Vsevolod Vlasov.
* inspector/debugger/debugger-scripts-expected.txt:
* inspector/debugger/pause-in-inline-script-expected.txt: Added.
* inspector/debugger/pause-in-inline-script.html: Added.
* platform/chromium/inspector/debugger/debugger-scripts-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 16:50:33 +0000 (16:50 +0000)]
[GTK] unittests/testloading crashes
https://bugs.webkit.org/show_bug.cgi?id=77544
Patch by Philippe Normand <pnormand@igalia.com> on 2012-02-01
Reviewed by Xan Lopez.
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidFailLoading): Bail out
early from dispatchDidFailLoading if the error is the result of an
interrupted load.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106467
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 1 Feb 2012 14:54:32 +0000 (14:54 +0000)]
Unreviewed, rolling out r106460.
http://trac.webkit.org/changeset/106460
https://bugs.webkit.org/show_bug.cgi?id=77552
It break unit tests if WEBKIT_TESTFONTS isn't defined.
(Requested by Ossy on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
* Scripts/webkitpy/layout_tests/port/qt.py:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 13:50:25 +0000 (13:50 +0000)]
Content element should be able to be dynamically added/removed/replaced in a shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=76611
Patch by Shinya Kawanaka <shinyak@google.com> on 2012-02-01
Reviewed by Hajime Morita
Source/WebCore:
When a content element is added/removed/replaced in a shadow tree, we have to recreate
the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
when content element is removed. (When added, it is recalculated.)
This patch enables us to recalcurate the shadow tree when content element is removed.
Test: fast/dom/shadow/content-element-move.html
* dom/Element.cpp:
(WebCore::Element::attach):
If a shadow root exists, attaches shadow tree before attaching child elements.
* dom/ShadowRoot.cpp:
Added a flag to recalculate shadow tree.
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::recalcShadowTreeStyle):
Recalculates light children and shadow tree.
(WebCore::ShadowRoot::setNeedsReattachHostChildrenAndShadow):
(WebCore::ShadowRoot::reattachHostChildrenAndShadow):
Detaches shadow tree and host light children, and attaches them again.
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::clearNeedsReattachHostChildrenAndShadow):
(WebCore::ShadowRoot::needsReattachHostChildrenAndShadow):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::attach):
Does not need to detach included elements, because they are not attached in ContainerNode anymore.
(WebCore::HTMLContentElement::detach):
When a content element detached, reattaches a shadow tree.
LayoutTests:
Test cases for appending/removing/replacing content element in a shadow tree.
* fast/dom/shadow/content-element-move-expected.txt: Added.
* fast/dom/shadow/content-element-move.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
peter@chromium.org [Wed, 1 Feb 2012 13:31:11 +0000 (13:31 +0000)]
getIntersectionList causes transforms to be recalculated in SVG
https://bugs.webkit.org/show_bug.cgi?id=77179
Reviewed by Nikolas Zimmermann.
Introduce a local variable to store the element's local-to-parent
transformation matrix in, removing the need for the const_cast and
stopping us from modifying any matrices elsewhere.
Source/WebCore:
Test: svg/custom/intersection-list-transforms.svg
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::getElementCTM):
LayoutTests:
* svg/custom/intersection-list-transforms-expected.png: Added.
* svg/custom/intersection-list-transforms-expected.txt: Added.
* svg/custom/intersection-list-transforms.svg: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106464
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Wed, 1 Feb 2012 12:02:47 +0000 (12:02 +0000)]
Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
https://bugs.webkit.org/show_bug.cgi?id=77439
Reviewed by Pavel Feldman.
Source/WebCore:
Tests: http/tests/inspector/indexeddb/database-names.html
http/tests/inspector/indexeddb/database-structure.html
* inspector/front-end/IndexedDBModel.js:
(WebInspector.IndexedDBModel.prototype.refreshDatabase):
LayoutTests:
* http/tests/inspector/indexeddb/database-names-expected.txt: Added.
* http/tests/inspector/indexeddb/database-names.html: Added.
* http/tests/inspector/indexeddb/database-structure-expected.txt: Added.
* http/tests/inspector/indexeddb/database-structure.html: Added.
* http/tests/inspector/indexeddb/indexeddb-test.js: Added.
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Wed, 1 Feb 2012 11:37:01 +0000 (11:37 +0000)]
Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
https://bugs.webkit.org/show_bug.cgi?id=77441
Reviewed by Pavel Feldman.
* inspector/front-end/ScriptsNavigator.js:
(WebInspector.ScriptsNavigator.prototype._reset):
* inspector/front-end/utilities.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 10:55:27 +0000 (10:55 +0000)]
[Qt] Automatic clean build feature always do clean build with --no-webkit2
https://bugs.webkit.org/show_bug.cgi?id=74519
Patch by Nándor Huszka <huszka.nandor@stud.u-szeged.hu> on 2012-02-01
Reviewed by Tor Arne Vestbø.
Set the PLUGIN_ARCHITECTURE_UNSUPPORTED define always.
* qmake/mkspecs/features/features.prf:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106461
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 10:37:14 +0000 (10:37 +0000)]
[Qt][WK2] run-webkit-tests --qt crashes if WEBKIT_TESTFONTS is not set
https://bugs.webkit.org/show_bug.cgi?id=77466
Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-02-01
Reviewed by Kenneth Rohde Christiansen.
Replicate the behavior of old-run-webkit-tests and check if WEBKIT_TESTFONTS
is set or if we should raise an error.
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort.setup_environ_for_server):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
shawnsingh@chromium.org [Wed, 1 Feb 2012 10:31:15 +0000 (10:31 +0000)]
Fix the semantics of passing contentsVisible flag to GraphicsLayers
https://bugs.webkit.org/show_bug.cgi?id=76975
Reviewed by Simon Fraser.
Source/WebCore:
This patch is covered by existing tests, in particular
compositing/visibility/layer-visible-content.html; its
expectations are rebaselined.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
LayoutTests:
* compositing/visibility/layer-visible-content-expected.txt: rebaselined expected result
* compositing/visibility/layer-visible-content.html: fixed height so that result is platform-independent
* platform/chromium/test_expectations.txt: removed fail expectation, it should pass now.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 1 Feb 2012 10:25:36 +0000 (10:25 +0000)]
Unreviewed, GTK rebaseline after r106445
* platform/gtk/security/block-test-expected.txt:
* platform/gtk/security/block-test-no-port-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 1 Feb 2012 10:20:12 +0000 (10:20 +0000)]
[WK2] Unreviewed gardening after r106426.
Skip new failing tests because of missing layoutTestController.dumpResourceResponseMIMETypes().
https://bugs.webkit.org/show_bug.cgi?id=42543
* platform/qt-wk2/Skipped: Remove a test also skipped in wk2/Skipped.
* platform/wk2/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 1 Feb 2012 10:08:19 +0000 (10:08 +0000)]
Unreviewed, another GTK build fix after r106446.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
Restore webKitWebSrcGetProtocols as it was before r106446.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Wed, 1 Feb 2012 10:05:25 +0000 (10:05 +0000)]
[Chromium] Unreviewed test expectaion change.
plugins/createScriptableObject-before-start.html is flaky on LINUX.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 1 Feb 2012 10:00:36 +0000 (10:00 +0000)]
Implement Error.stack
https://bugs.webkit.org/show_bug.cgi?id=66994
Unreviewed, rolling out r106407.
Source/JavaScriptCore:
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* interpreter/AbstractPC.cpp:
(JSC::AbstractPC::AbstractPC):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::throwException):
* interpreter/Interpreter.h:
(JSC):
(Interpreter):
* jsc.cpp:
(GlobalObject::finishCreation):
* parser/Parser.h:
(JSC::::parse):
* runtime/CommonIdentifiers.h:
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/Error.h:
(JSC):
LayoutTests:
* fast/js/exception-properties-expected.txt:
* fast/js/script-tests/exception-properties.js:
* fast/js/script-tests/stack-trace.js: Removed.
* fast/js/stack-trace-expected.txt: Removed.
* fast/js/stack-trace.html: Removed.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Wed, 1 Feb 2012 09:54:17 +0000 (09:54 +0000)]
[Chromium] Unreviewed test expectaion change.
media/controls-drag-timebar.html passes or times out on WIN and LINUX.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 1 Feb 2012 09:50:35 +0000 (09:50 +0000)]
Unreviewed, GTK build fix after r106446.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 1 Feb 2012 09:49:34 +0000 (09:49 +0000)]
Unreviewed, rolling out r106432.
http://trac.webkit.org/changeset/106432
https://bugs.webkit.org/show_bug.cgi?id=77529
it breaks tests (Requested by shinyak on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01
Source/WebCore:
* dom/Element.cpp:
(WebCore::Element::attach):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::recalcShadowTreeStyle):
* dom/ShadowRoot.h:
(ShadowRoot):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::attach):
(WebCore::HTMLContentElement::detach):
LayoutTests:
* fast/dom/shadow/content-element-move-expected.txt: Removed.
* fast/dom/shadow/content-element-move.html: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 09:47:41 +0000 (09:47 +0000)]
Fix after r106386. The empty anchor element was generating an erroneous whitespace.
* Bindings/event-target-wrapper.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hayato@chromium.org [Wed, 1 Feb 2012 09:44:03 +0000 (09:44 +0000)]
Remove unnecessary [OldStyleObjC] from ShadowRoot.idl.
https://bugs.webkit.org/show_bug.cgi?id=77516
Reviewed by Kentaro Hara.
No new tests. No change in behavior.
* dom/ShadowRoot.idl:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 09:39:13 +0000 (09:39 +0000)]
Another fix after r106379.
* Parser/html5-full-render.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Wed, 1 Feb 2012 09:38:24 +0000 (09:38 +0000)]
[Chromium] Unreviewed test expectaion change.
svg/text/text-align-04-b.svg is flaky on WIN and LINUX.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 1 Feb 2012 09:36:47 +0000 (09:36 +0000)]
[GStreamer] 0.11 webkitwebsrc
https://bugs.webkit.org/show_bug.cgi?id=77086
Port the webkitwebsrc element to GStreamer 0.11 APIs.
Reviewed by Gustavo Noronha Silva.
No new tests, existing http media layout tests should cover this.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_class_init):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 1 Feb 2012 09:29:03 +0000 (09:29 +0000)]
Source/WebKit/gtk: Patch by Philippe Normand <pnormand@igalia.com> and Sergio Villar Senin <svillar@igalia.com> on 2012-02-01
Reviewed by Martin Robinson.
[GTK] Improve FrameLoader signals. Resource loading
https://bugs.webkit.org/show_bug.cgi?id=49543
New signals:
WebKitWebFrame::resource-request-starting
WebKitWebFrame::resource-response-received
WebKitWebFrame::resource-load-finished
WebKitWebFrame::resource-content-length-received
WebKitWebFrame::resource-load-failed
WebKitWebResource::response-received
WebKitWebResource::load-failed
WebKitWebResource::load-finished
WebKitWebResource::content-length-received
WebKitWebView::resource-response-received
WebKitWebView::resource-load-finished
WebKitWebView::resource-content-length-received
WebKitWebView::resource-load-failed
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchWillSendRequest):
(WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::FrameLoaderClient::dispatchDidFinishLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoading):
* webkit/webkitwebframe.cpp:
(webkit_web_frame_class_init):
* webkit/webkitwebresource.cpp:
(webkit_web_resource_class_init):
* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):
* webkitmarshal.list:
Tools: Patch by Philippe Normand <pnormand@igalia.com> and Sergio Villar Senin <svillar@igalia.com> on 2012-02-01
Reviewed by Martin Robinson.
[GTK] Improve FrameLoader signals. Resource loading
https://bugs.webkit.org/show_bug.cgi?id=49543
Support for the new loader signals in DRT.
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(urlPath):
(willSendRequestCallback):
(urlSuitableForTestResult):
(descriptionSuitableForTestResult):
(didReceiveResponse):
(didFinishLoading):
(didFailLoadingWithError):
(createWebView):
LayoutTests: Reviewed by Martin Robinson.
[GTK] Improve FrameLoader signals. Resource loading
https://bugs.webkit.org/show_bug.cgi?id=49543
Unskip tests now passing.
* platform/gtk/Skipped:
* platform/gtk/fast/loader/file-protocol-fragment-expected.txt: Added.
* platform/gtk/http/tests/misc/willCacheResponse-delegate-callback-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kkristof@inf.u-szeged.hu [Wed, 1 Feb 2012 09:22:23 +0000 (09:22 +0000)]
[Qt] Unreviewed gardening after r106373.
* fast/forms/implicit-submission-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/qt/http/tests/security/cross-frame-access-put-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Wed, 1 Feb 2012 09:19:01 +0000 (09:19 +0000)]
[Chromium] Unreviewed test expectation change.
https://bugs.webkit.org/show_bug.cgi?id=77521
fast/repaint/search-field-cancel.html is failing on LINUX.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 09:15:18 +0000 (09:15 +0000)]
run-perf-tests should restart DRT for each test
https://bugs.webkit.org/show_bug.cgi?id=77506
Reviewed by Adam Barth.
Always restart DRT when running performance tests in order to minimize the dependency between tests.
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver.stop):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_passing_test):
(test_run_silent_test):
(test_run_failed_test):
(test_run_tonguey_test):
(test_run_timeout_test):
(test_run_crash_test):
(test_run_test_set_kills_drt_per_run):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.__init__):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.stop):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Wed, 1 Feb 2012 09:13:17 +0000 (09:13 +0000)]
[Chromium] Unreviewed test expectation change.
fast/repaint/textarea-set-disabled.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=77521
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yuzo@google.com [Wed, 1 Feb 2012 09:06:28 +0000 (09:06 +0000)]
[Chromium] Unreviewed test expectation change.
Layout Test fast/forms/textfield-overflow.html is failing on WIN and LINUX.
* platform/chromium/test_expectations.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tkent@chromium.org [Wed, 1 Feb 2012 09:01:30 +0000 (09:01 +0000)]
[Chromium] Disable WebFrameTest.FindInPage
https://bugs.webkit.org/show_bug.cgi?id=77186
Disable it because PlatformContextSkiaTest.trackOpaqueOvalTest has
been failing since FindInPage test was committed.
* tests/WebFrameTest.cpp:
(WebKit::TEST_F):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hans@chromium.org [Wed, 1 Feb 2012 08:52:10 +0000 (08:52 +0000)]
Speech Input: Report speech element rect relative to window rather than frame
https://bugs.webkit.org/show_bug.cgi?id=76443
Reviewed by Darin Fisher.
Source/WebCore:
When requesting speech input, report the speech element rect relative
to the window rather than the frame. The embedder will typically use
this position to show a bubble indicating that speech recognition is
in progress.
Test: fast/speech/bubble-position.html
* html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::startSpeechInput):
Tools:
Update LayoutTestController to allow for retrieving the speech
element's position used in a request.
In Chromium this is handled by the MockWebSpeechInputController;
adding stubs for the other implementations.
* DumpRenderTree/LayoutTestController.cpp:
(setMockSpeechInputDumpRectCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::setMockSpeechInputDumpRect):
* DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/chromium/MockWebSpeechInputController.cpp:
(MockWebSpeechInputController::setDumpRect):
(MockWebSpeechInputController::clearResults):
(MockWebSpeechInputController::startRecognition):
(MockWebSpeechInputController::MockWebSpeechInputController):
(makeRectResult):
(MockWebSpeechInputController::speechTaskFired):
* DumpRenderTree/chromium/MockWebSpeechInputController.h:
(MockWebSpeechInputController):
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::setMockSpeechInputDumpRect):
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::setMockSpeechInputDumpRect):
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::setMockSpeechInputDumpRect):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::setMockSpeechInputDumpRect):
* DumpRenderTree/qt/LayoutTestControllerQt.h:
(LayoutTestController):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::setMockSpeechInputDumpRect):
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
(LayoutTestController::setMockSpeechInputDumpRect):
LayoutTests:
Add layout test to check that the element position used when
requesting speech input is relative to the window, not the frame.
* fast/speech/bubble-position-expected.txt: Added.
* fast/speech/bubble-position.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Wed, 1 Feb 2012 08:09:00 +0000 (08:09 +0000)]
Unreviewed, GTK rebaseline after r106373 and r106361.
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/gtk/http/tests/security/cross-frame-access-put-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 1 Feb 2012 07:47:08 +0000 (07:47 +0000)]
webkit-perf.appspot.com should accept test results without medians
https://bugs.webkit.org/show_bug.cgi?id=77513
Reviewed by Hajime Morita.
Don't store 0s when values are not in JSON.
* Websites/webkit-perf.appspot.com/report_handler.py:
(ReportHandler.post._float_or_none):
(ReportHandler.post):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc