- 28 Mar, 2013 32 commits
-
-
zandobersek@gmail.com authored
[GTK] Build GTK-specific, non-layer-violating source code into WebCore-independent libPlatformGtk.la https://bugs.webkit.org/show_bug.cgi?id=112546 Reviewed by Martin Robinson. .: * GNUmakefile.am: Define the new platform_webcore_cppflags. Source/Platform: * GNUmakefile.am: Only specify the very minimal set of inclusion directories, containing the Source/WebCore/platform directory and its subdirectories. This will allow only for the WebCore-independent GTK-specific sources to be built into libPlatformGtk.la. Also include the GTK, libsecret and libsoup dependencies' cflags amongst the libPlatformGtk's CPPFLAGS. * GNUmakefile.list.am: Removed. The build targets are now listed (and will be listed until the migration) in the GNUmakefile.list.am under Source/WebCore, following the common sense of specifying the build target in the GNUmakefile.list.am placed in the same framework directory in which the source file is located. Source/WebCore: No new tests - no new functionality. * GNUmakefile.am: Passing the DATA_DIR value through the cppflags is not required anymore as the affected source is now built into libPlatformGtk.la. * GNUmakefile.list.am: Build the GTK-specific source files that are already independent of WebCore into the libPlatformGtk.la by assigning the build targets listing to the platformgtk_sources variable. * platform/gtk/GtkVersioning.c: Renamed from Source/Platform/gtk/GtkVersioning.c. * platform/gtk/GtkVersioning.h: Renamed from Source/Platform/gtk/GtkVersioning.h. Source/WebKit/gtk: * GNUmakefile.am: The GtkVersioning.c file has moved back under Source/WebCore/platform. Source/WebKit2: * GNUmakefile.am: Reference the platform_webcore_cppflags and GTK, libsecret and libsoup dependencies' cflags amongst the libPlatformGtk2's CPPFLAGS. * Scripts/generate-forwarding-headers.pl: Remove the Platform framework from the list of the frameworks to be searched for forwarding headers, it's at the moment not necessary to be included. * Shared/gtk/ArgumentCodersGtk.cpp: Adjust the forwarding header for GtkVersioning.h that's been moved back under the WebCore framework. * Shared/gtk/WebEventFactory.cpp: Ditto. * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Ditto. Tools: * GNUmakefile.am: Reference the platformgtk_cppflags amongst the libWebCoreInternals' CPPFLAGS. GtkVersioning.c file has moved back to Source/WebCore/platform. Fix an indentation issue as well. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
falken@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113273 Reviewed by Kent Tamura. Element::disabled is about form controls and Element::isEnabledFormControl is redundant with it, so replace them with a single function Element::isDisabledFormControl. Source/WebCore: No new tests, there should be no behavior change. * accessibility/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute): * accessibility/AccessibilityListBoxOption.cpp: (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute): * accessibility/AccessibilityMenuList.cpp: (WebCore::AccessibilityMenuList::canSetFocusAttribute): * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isEnabled): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::isEnabled): (WebCore::AccessibilityNodeObject::actionElement): (WebCore::AccessibilityNodeObject::canSetFocusAttribute): * css/SelectorChecker.cpp: (WebCore::SelectorChecker::checkOne): * css/StyleResolver.cpp: (WebCore::StyleResolver::canShareStyleWithControl): * dom/Element.cpp: (WebCore::Element::isDisabledFormControl): * dom/Element.h: (Element): (WebCore::isDisabledFormControl): Add helper function for convenience. (WebCore): * dom/EventDispatcher.cpp: (WebCore::EventDispatcher::dispatchSimulatedClick): * dom/GestureEvent.cpp: (WebCore::GestureEventDispatchMediator::dispatchEvent): * dom/MouseEvent.cpp: (WebCore::MouseEventDispatchMediator::dispatchEvent): * dom/Node.cpp: (WebCore::Node::handleLocalEvents): (WebCore::Node::willRespondToMouseMoveEvents): (WebCore::Node::willRespondToMouseClickEvents): (WebCore::Node::willRespondToTouchEvents): * html/BaseMultipleFieldsDateAndTimeInputType.cpp: (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled): * html/DOMFormData.cpp: (WebCore::DOMFormData::DOMFormData): * html/FileInputType.cpp: (WebCore::FileInputType::handleDOMActivateEvent): (WebCore::FileInputType::disabledAttributeChanged): * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::defaultEventHandler): (WebCore::HTMLButtonElement::willRespondToMouseClickEvents): (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): * html/HTMLCollection.cpp: (WebCore::isMatchingElement): * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::updateAncestorDisabledState): (WebCore::HTMLFormControlElement::isDisabledFormControl): (WebCore::HTMLFormControlElement::supportsFocus): * html/HTMLFormControlElement.h: (HTMLFormControlElement): (WebCore::HTMLFormControlElement::isDisabledOrReadOnly): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::isSuccessfulSubmitButton): (WebCore::HTMLInputElement::willRespondToMouseClickEvents): * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::isDisabledFormControl): * html/HTMLOptGroupElement.h: (HTMLOptGroupElement): * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::isDisabledFormControl): * html/HTMLOptionElement.h: (HTMLOptionElement): * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::nextValidIndex): (WebCore::HTMLSelectElement::updateListBoxSelection): (WebCore::HTMLSelectElement::recalcListItems): (WebCore::HTMLSelectElement::appendFormData): (WebCore::HTMLSelectElement::updateSelectedState): (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): (WebCore::HTMLSelectElement::defaultEventHandler): (WebCore::HTMLSelectElement::optionAtIndex): * html/ImageInputType.cpp: (WebCore::ImageInputType::handleDOMActivateEvent): * html/ResetInputType.cpp: (WebCore::ResetInputType::handleDOMActivateEvent): * html/SubmitInputType.cpp: (WebCore::SubmitInputType::handleDOMActivateEvent): * html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::isDisabledFormControl): (WebCore::SliderThumbElement::defaultEventHandler): (WebCore::SliderThumbElement::willRespondToMouseMoveEvents): (WebCore::SliderThumbElement::willRespondToMouseClickEvents): * html/shadow/SliderThumbElement.h: (SliderThumbElement): * html/shadow/SpinButtonElement.h: * html/shadow/TextFieldDecorationElement.cpp: (WebCore::TextFieldDecorationElement::updateImage): * loader/FormSubmission.cpp: (WebCore::FormSubmission::create): * page/DragController.cpp: (WebCore::DragController::tryDocumentDrag): (WebCore::DragController::concludeEditDrag): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::addFocusRingRects): (WebCore::RenderListBox::paintItemForeground): * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemIsEnabled): * rendering/RenderTextControl.cpp: (WebCore::updateUserModifyProperty): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isEnabled): * rendering/RenderThemeMac.mm: (WebCore::getMediaUIPartStateFlags): * rendering/RenderThemeMacShared.mm: (WebCore::RenderThemeMacShared::adjustMenuListStyle): (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton): * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::adjustMenuListStyle): Source/WebKit/blackberry: * WebCoreSupport/CredentialTransformData.cpp: (WebCore::CredentialTransformData::findPasswordFormFields): * WebKitSupport/DOMSupport.cpp: (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement): * WebKitSupport/InputHandler.cpp: (BlackBerry::WebKit::InputHandler::openSelectPopup): Source/WebKit/chromium: * src/WebFormControlElement.cpp: (WebKit::WebFormControlElement::isEnabled): * src/WebOptionElement.cpp: (WebKit::WebOptionElement::isEnabled): * src/WebPasswordFormUtils.cpp: (WebKit::findPasswordFormFields): * src/WebSearchableFormData.cpp: (HTMLNames::findSuitableSearchInputElement): (HTMLNames::buildSearchString): Source/WebKit/win: * DOMHTMLClasses.cpp: (DOMHTMLInputElement::disabled): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/5321972beidson@apple.com authored
<rdar://problem/12022862> and https://bugs.webkit.org/show_bug.cgi?id=113516 Reviewed by Sam Weinig. No new tests (No point in testing the removal of bizarre behavior). * platform/network/mac/WebCoreURLResponse.mm: (WebCore::adjustMIMETypeIfNecessary): This workaround isn't needed on Lion+ git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113456 Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-28 Reviewed by Kentaro Hara. Source/WebCore: Use enum CanvasWindingRule type instead of DOMString for winding arguments when needed. Changed methods are: fill, stroke and isPointInPath. Test: fast/canvas/winding-enumeration.html * html/canvas/CanvasRenderingContext2D.idl: LayoutTests: When calling methods accepting a CanvasWindingRule with an invalid string, check that a TypeError is thrown. * fast/canvas/winding-enumeration-expected.txt: Added. * fast/canvas/winding-enumeration.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113448 Patch by Scott Graham <scottmg@chromium.org> on 2013-03-28 Reviewed by Tony Chang. Moves the preprocessor invocations when parsing IDL files to a pre-pass to avoid reinvocations when IDLs are referenced from others. This reduces the number of invocations of the preprocessor from 20071 to 633, which reduces the runtime from 12m30 to 1m (on a Windows box). No new tests, this is a build time improvement, and shouldn't have any visible effect. * WebCore.gyp/WebCore.gyp: * bindings/scripts/CodeGenerator.pm: (ParseInterface): * bindings/scripts/IDLParser.pm: (Parse): * bindings/scripts/generate-bindings.pl: * bindings/scripts/generate-preprocessed-idls.pl: Added. * bindings/scripts/preprocessor.pm: (applyPreprocessor): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
alokp@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113419 Reviewed by Simon Fraser. Source/WebCore: Do not consider control elements as opaque. They are typically theme painted, and we cannot assume opaqueness on the behalf of theme. It can be improved by asking the theme if it paints opaque. Test: compositing/contents-opaque/control-layer.html * rendering/RenderBox.cpp: (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect): LayoutTests: * compositing/contents-opaque/control-layer-expected.txt: Added. * compositing/contents-opaque/control-layer.html: Added. * platform/chromium/compositing/contents-opaque/control-layer-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=110470 Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-03-28 Reviewed by Gustavo Noronha Silva. The reason of this issue is that clutter_actor_remove_child leads to stopping animations of child actor. ClutterActor's animation could be defined only when it has a parent actor. So we should avoid the case calling the api as much as we can. At least we don't need to reset a actor's parent at all if the current parent is same with new one. If we can't avoid invoking clutter_actor_remove_child for an animating actor, we may apply a more complicated way to keep the animation. But I haven't faced such a case yet. Covered by existing animation tests. * platform/graphics/clutter/GraphicsLayerActor.cpp: (graphicsLayerActorSetSublayers): * platform/graphics/clutter/GraphicsLayerClutter.cpp: (WebCore::GraphicsLayerClutter::recursiveCommitChanges): (WebCore::GraphicsLayerClutter::updateSublayerList): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
wangxianzhu@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=110430 Reviewed by Simon Fraser. Source/WebCore: Test: compositing/repaint/scroll-fixed-layer-no-content.html Test: compositing/repaint/scroll-fixed-layer-out-of-view.html * page/FrameView.cpp: (WebCore::FrameView::scrollContentsFastPath): Check for no-content and out-of-view flag set by RLC. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Moved the check for no-content above out-of-view because it's faster. LayoutTests: * compositing/repaint/scroll-fixed-layer-no-content.html: Added. * compositing/repaint/scroll-fixed-layer-no-content-expected.txt: Added. * compositing/repaint/scroll-fixed-layer-out-of-view.html: Added. * compositing/repaint/scroll-fixed-layer-out-of-view-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
apavlov@chromium.org authored
* inspector/front-end/ElementsTreeOutline.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
apavlov@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113306 Reviewed by Vsevolod Vlasov. Source/WebCore: Use CodeMirror as the raw HTML editor for the "Edit as HTML" menu item (and all multiline editors for WebInspector.startEditing()). Drive-by fix for handling the editing when the editor has been invoked on the closing tag. * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.commit): (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML): * inspector/front-end/UIUtils.js: (WebInspector.EditingConfig.prototype.setMultiline): (WebInspector.startEditing): (WebInspector.CodeMirrorCSSLoadView): A bogus view to load-unload CodeMirror-related CSS on demand. * inspector/front-end/elementsPanel.css: (#elements-content .CodeMirror): (#elements-content .CodeMirror pre): (#elements-content .CodeMirror-lines): * inspector/front-end/elementsPanel.css: CodeMirror styles for the "Edit as HTML" editor. * inspector/front-end/externs.js: Declare CodeMirror type with some members, as it is third-party code. * inspector/front-end/inspector.html: Fix script order (UIUtils.js requires View.js). LayoutTests: * inspector/elements/edit-dom-actions.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
morrita@google.com authored
https://bugs.webkit.org/show_bug.cgi?id=111693 Reviewed by Dimitri Glazkov. Source/WebCore: Some existing code assumes that the element extends HTMLElements. This change allow it to extend from Element. Note that the namespace URI of a custom element is determined by given element prototype: An element will have XHTML namespace if its prototype chain includes HTMLElements, SVGElement leads SVG namespace and null otherwise, respectively. Test: fast/dom/custom/document-register-namespace.html * bindings/v8/CustomElementHelpers.cpp: (WebCore::hasValidPrototypeChainFor): Factored out from isValidPrototypeParameter() (WebCore::CustomElementHelpers::isValidPrototypeParameter): Extend to support non HTMLElement prototype (WebCore::CustomElementHelpers::findLocalName): Support non-HTML element names. * bindings/v8/CustomElementHelpers.h: (CustomElementHelpers): * dom/CustomElementConstructor.cpp: (WebCore::CustomElementConstructor::createElementInternal): * dom/CustomElementRegistry.cpp: (WebCore::CustomElementRegistry::registerElement): No longer hard-codes namespace and picks one based on the prototype value. * dom/CustomElementRegistry.h: (CustomElementRegistry): LayoutTests: * fast/dom/custom/document-register-namespace-expected.txt: Added. * fast/dom/custom/document-register-namespace.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hmuller@adobe.com authored
https://bugs.webkit.org/show_bug.cgi?id=112592 Reviewed by Dirk Schulze. Source/WebCore: First pass at computing the padded or inset boundary of a polygon. This version does not handle self-intersecting polygons, or values of shape-padding large enough to change the shape of the original polygon. The implementation computes an offset edge for each polgon edge, where the offset edge is parallel to the original edge and separated by shape-padding. The padded polygon's vertices are the intersections of each pair of adjacent offset edges. When adjacent offset edges do not intersect, because they share a reflex vertex in the original polygon, an approximation to a circular arc connects the offset edges. Tests: fast/exclusions/shape-inside/shape-inside-polygon-padding-001.html fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html fast/exclusions/shape-inside/shape-inside-polygon-padding-003.html * rendering/ExclusionPolygon.cpp: (WebCore::isReflexVertex): Just moved this function earlier in the file. (WebCore::inwardEdgeNormal): Unit vector that's perpindicular to the edge and that points inwards. (WebCore::outwardEdgeNormal): Unit vector that's perpindicular to the edge and that points outwards. (WebCore::appendArc): Append a linear approximation to a circular arc to a vector of vertices. (WebCore::computeShapePaddingBounds): Return a polygon whose edges are all inset by shape-padding from m_polygon. (WebCore::computeShapeMarginBounds): Just a stub, see bug 112917. (WebCore::ExclusionPolygon::shapePaddingBounds): Lazily use computeShapePaddingBounds() to initialize m_paddingBounds. (WebCore::ExclusionPolygon::shapeMarginBounds): Lazily use computeShapeMarginBounds() to initialize m_marginBounds. (WebCore::ExclusionPolygon::getIncludedIntervals): Now based on the value of shapePaddingBounds(). (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Now based on the value of shapePaddingBounds(). * rendering/ExclusionPolygon.h: (WebCore::ExclusionPolygon::ExclusionPolygon): LayoutTests: Verify that the CSS shape-padding property works correctly for some simple polygonal shapes: a rectangle, a rectangle rotated 45 degress, and rectangular shape with a single reflex vertex. * fast/exclusions/shape-inside/shape-inside-polygon-padding-001-expected.html: Added. * fast/exclusions/shape-inside/shape-inside-polygon-padding-001.html: Added. * fast/exclusions/shape-inside/shape-inside-polygon-padding-002-expected.html: Added. * fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html: Added. * fast/exclusions/shape-inside/shape-inside-polygon-padding-003-expected.html: Added. * fast/exclusions/shape-inside/shape-inside-polygon-padding-003.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113423 Internal Bug: PR 293648 Informally Reviewed by Jeff Rogers Patch by Chris Hutten-Czapski <chutten@blackberry.com> on 2013-03-28 Reviewed by Rob Buis. Support image orientation in our image draw calls, and advertise the capability to the calling code. This allows us to respect EXIF orientation data. * platform/graphics/BitmapImage.h: * platform/graphics/blackberry/ImageBlackBerry.cpp: (WebCore::BitmapImage::draw): (WebCore): * rendering/RenderObject.cpp: (WebCore::RenderObject::shouldRespectImageOrientation): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
caseq@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113503 Reviewed by Yury Semikhatsky. Refactoring, covered by existing tests. - rename HeapGraph to TimelineMemoryOverview; - rename TimelineCategoryStrips to TimelineEventOvrview. * inspector/front-end/TimelineOverviewPane.js: (WebInspector.TimelineOverviewPane): (WebInspector.TimelineOverviewPane.prototype.setMode): (WebInspector.TimelineOverviewPane.prototype._setFrameMode): (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): (WebInspector.TimelineOverviewPane.prototype._update): (WebInspector.TimelineOverviewPane.prototype.setMinimumRecordDuration): (WebInspector.TimelineMemoryOverview): (WebInspector.TimelineEventOverview): (WebInspector.TimelineEventOverview.prototype._renderBar): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113411 Patch by Eli Fidler <efidler@blackberry.com> on 2013-03-28 Reviewed by Rob Buis. * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp: (WebCore::FontPlatformData::applyState): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
vsevik@chromium.org authored
Web Inspector: Make JavaScriptSourceFrame work correctly with breakpoints when uiSourceCode does not have a scriptFile. https://bugs.webkit.org/show_bug.cgi?id=113500 Reviewed by Pavel Feldman. JavaScriptSourceFrame now listens for uiSourceCode working copy related events and supports muting breakpoints without script file. * inspector/front-end/JavaScriptSourceFrame.js: (WebInspector.JavaScriptSourceFrame): (WebInspector.JavaScriptSourceFrame.prototype._workingCopyChanged): (WebInspector.JavaScriptSourceFrame.prototype._workingCopyCommitted): (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile): (WebInspector.JavaScriptSourceFrame.prototype.dispose): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
caseq@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=112689 Reviewed by Pavel Feldman. This just extracts the existing logic of toggling node search from inspector.js into a class of its own, InspectElementModeController. Drive-by: add CtrlOrMeta+Shift+C to help screen. * English.lproj/localizedStrings.js: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.vcxproj/WebCore.vcxproj: * WebCore.vcxproj/WebCore.vcxproj.filters: * inspector/compile-front-end.py: * inspector/front-end/InspectElementModeController.js: Added. (WebInspector.InspectElementModeController): (WebInspector.InspectElementModeController.createShortcut): (WebInspector.InspectElementModeController.prototype.enabled): (WebInspector.InspectElementModeController.prototype.disable): (WebInspector.InspectElementModeController.prototype.toggleSearch.callback): (WebInspector.InspectElementModeController.prototype.toggleSearch): (WebInspector.InspectElementModeController.prototype.handleShortcut): * inspector/front-end/InspectorFrontendAPI.js: (InspectorFrontendAPI.enterInspectElementMode): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector._createGlobalStatusBarItems): (WebInspector._registerShortcuts): (WebInspector.documentKeyDown): (WebInspector._updateFocusedNode): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
eustas@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113375 Reviewed by Pavel Feldman. Serialized "previouslyViewedFiles" may make local storage overflow. Two fixed applied: - limit number of history log items - limit length of URIs that get serialized; this would affect only data-url URIs. * inspector/front-end/TabbedEditorContainer.js: (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject): Added length check. (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject): Added output array length limit. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113497 Patch by Alexei Filippov <alph@chromium.org> on 2013-03-28 Reviewed by Pavel Feldman. * inspector/front-end/HeapSnapshotGridNodes.js: (WebInspector.HeapSnapshotGridNode.prototype._createValueCell): * inspector/front-end/heapProfiler.css: (.heap-snapshot-view .data-grid div.heap-snapshot-multiple-values): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
vsevik@chromium.org authored
Web Inspector: ResourceScriptFile should check if resource content really matches VM script when determining hasDiverged state. https://bugs.webkit.org/show_bug.cgi?id=113488 Reviewed by Pavel Feldman. Source/WebCore: Enabled support for checking that file content matches VM script in ResourceScriptFile (For script resources only). This check is never done before content is loaded in corresponding editor to avoid regressing performance. File - script content matching is done bearing in mind sourceURLs. Live edit keeps sourceURL in script content now even if it is not present in file's content. * inspector/front-end/JavaScriptSourceFrame.js: (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile): (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded): * inspector/front-end/LiveEditSupport.js: (WebInspector.LiveEditScriptFile.prototype.checkMapping): * inspector/front-end/ResourceScriptMapping.js: (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts): (WebInspector.ScriptFile.prototype.checkMapping): (WebInspector.ResourceScriptFile): (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted): (WebInspector.ResourceScriptFile.prototype._isDiverged): (WebInspector.ResourceScriptFile.prototype._sourceMatchesScriptSource): (WebInspector.ResourceScriptFile.prototype._sourceEndsWithSourceURL): (WebInspector.ResourceScriptFile.prototype.checkMapping.callback): (WebInspector.ResourceScriptFile.prototype.checkMapping): * inspector/front-end/ScriptSnippetModel.js: (WebInspector.SnippetScriptFile.prototype.checkMapping): LayoutTests: * http/tests/inspector/debugger-test.js: * inspector/debugger/file-system-project-mapping-expected.txt: * inspector/debugger/file-system-project-mapping.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
vsevik@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113489 Reviewed by Pavel Feldman. ResourceScriptFile._hasDiverged is the one flag that shows whether we have diverged from VM. It's values is based both on dirty flag on uiSourceCode and information about live edit failures stored in _lastLiveEditFailed field. Removed willMerge/Diverge events from ScriptFile. JavaScriptSourceFrame now uses isMergingToVM/DivergingFromVM methods on ScriptFile. to determine whether breakpointAdded/Removed events should be ignored. Introduced muted state on JavaScriptSourceFrame to determine whether it should ignore user attempts to set/remove breakpoints. * inspector/front-end/JavaScriptSourceFrame.js: (WebInspector.JavaScriptSourceFrame): (WebInspector.JavaScriptSourceFrame.prototype._didMergeToVM): (WebInspector.JavaScriptSourceFrame.prototype._didDivergeFromVM): (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing): (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing): (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration): (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration): (WebInspector.JavaScriptSourceFrame.prototype._shouldIgnoreExternalBreakpointEvents): (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded): (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved): (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile): (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded): * inspector/front-end/LiveEditSupport.js: (WebInspector.LiveEditScriptFile.prototype.isMergingToVM): * inspector/front-end/ResourceScriptMapping.js: (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): (WebInspector.ScriptFile.prototype.isMergingToVM): (WebInspector.ResourceScriptFile): (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted): (WebInspector.ResourceScriptFile.prototype._isDiverged): (WebInspector.ResourceScriptFile.prototype._workingCopyChanged): (WebInspector.ResourceScriptFile.prototype._update): (WebInspector.ResourceScriptFile.prototype._divergeFromVM): (WebInspector.ResourceScriptFile.prototype._mergeToVM): (WebInspector.ResourceScriptFile.prototype.hasDivergedFromVM): (WebInspector.ResourceScriptFile.prototype.isMergingToVM): * inspector/front-end/ScriptSnippetModel.js: (WebInspector.SnippetScriptFile.prototype.isMergingToVM): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
caseq@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113196 Reviewed by Pavel Feldman. Source/WebCore: - keep event divider records in TimelinePresentationModel, not in TimelinePanel; - process event divider records on every level, not just on top. * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._updateEventDividers): (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.checkVisible): (WebInspector.TimelinePanel.prototype._resetPanel): * inspector/front-end/TimelinePresentationModel.js: (WebInspector.TimelinePresentationModel.prototype.reset): (WebInspector.TimelinePresentationModel.prototype._innerAddRecord): (WebInspector.TimelinePresentationModel.prototype.eventDividerRecords): LayoutTests: - use TimelinePresentationModel to fetch list of event divider records; * http/tests/inspector/timeline-test.js: (initialize_Timeline.InspectorTest.printTimestampRecords): * inspector/timeline/timeline-load-event-expected.txt: * inspector/timeline/timeline-load-event.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
vsevik@chromium.org authored
* inspector/front-end/CookiesTable.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113346 Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-28 Reviewed by Pavel Feldman. Source/WebCore: No new tests: no change in behaviour. - Append spans instead of text nodes to lineRows. - Set positioning of all spans inside of webkit-line-content as relative - Set z-index property so that overlay highlight is above line background but under text. * inspector/front-end/DefaultTextEditor.js: (WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor): (WebInspector.TextEditorMainPanel.prototype._measureSpans): (WebInspector.TextEditorMainPanel.prototype._renderRanges): (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore): * inspector/front-end/textEditor.css: (.webkit-line-content > .text-editor-overlay-highlight): (.webkit-line-content > *): LayoutTests: Updated test expectations to correspond to new DefaultTextEditor's DOM layout. * inspector/editor/text-editor-brace-highlighter-expected.txt: * inspector/editor/text-editor-highlight-api-expected.txt: * inspector/editor/text-editor-highlight-token-expected.txt: * inspector/editor/text-editor-long-line-expected.txt: * inspector/editor/text-editor-remove-chunks-from-dom-expected.txt: * inspector/editor/text-editor-show-whitespace-expected.txt: * inspector/editor/text-editor-type-over-decoration-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
apavlov@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113491 Reviewed by Pavel Feldman. Source/WebCore: Update the CSSProperty name and value upon pasting properties into the Styles pane. Drive-by: start editing the next/new property name after pasting. Test: inspector/styles/paste-property.html * inspector/front-end/StylesSidebarPane.js: (.selectElement): (.moveDirection.alreadyNew): LayoutTests: * inspector/styles/paste-property-expected.txt: Added. * inspector/styles/paste-property.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=112596 Patch by Alexei Filippov <alph@chromium.org> on 2013-03-28 Reviewed by Yury Semikhatsky. Source/WebCore: When retainers view gets opened automatically expand retaining path for objects having just a single retainer. Test: inspector/profiler/heap-snapshot-summary-retainers.html * inspector/front-end/HeapSnapshotDataGrids.js: (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.populateComplete): (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.setDataSource): * inspector/front-end/HeapSnapshotGridNodes.js: (WebInspector.HeapSnapshotGridNode.prototype.childrenRetrieved): (WebInspector.HeapSnapshotGridNode.prototype._populateChildren): LayoutTests: When retainers view gets opened automatically expand retaining path for objects having just a single retainer. - Added a test for the new behavior. - Replaced hardcoded "populate complete" string with the event object. * inspector/profiler/heap-snapshot-summary-retainers-expected.txt: * inspector/profiler/heap-snapshot-summary-retainers.html: * inspector/profiler/heap-snapshot-test.js: (initialize_HeapSnapshotTest.): (initialize_HeapSnapshotTest): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113409 Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-03-28 Reviewed by Alexander Pavlov. When the sidebar is too narrow and the property text wraps around it breaks the indentation. This was introduced in r143207 which spuriously modified DOM elements order. * inspector/front-end/StylesSidebarPane.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147088 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=111894 Patch by Arpita Bahuguna <a.bah@samsung.com> on 2013-03-28 Reviewed by Ryosuke Niwa. Source/WebCore: There is a crash when trying to click/select an anonymous renderer. This is a regression due to r143313 which tries to add border/padding to the computed caret rect in RenderBox::localCaretRect(). The patch calls on the node() method for the corresponding renderer. For an anonymous renderer though, node() returns null. Since no check had been added for this, a crash occurs when caret rect for an anonymous renderer is being computed. Test: editing/selection/click-on-anonymous-content-crash.html * rendering/RenderBox.cpp: (WebCore::RenderBox::localCaretRect): Added a check for validating the return from the node() call. LayoutTests: * editing/selection/click-on-anonymous-content-crash-expected.txt: Added. * editing/selection/click-on-anonymous-content-crash.html: Added. Added a testcase for verifying that no crash occurs when trying to select/click an anonymous renderer, in this case the list marker's renderer. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mkwst@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113387 Reviewed by Nate Chapin. Source/WebCore: If a server sends multiple 'X-Frame-Options' headers, we end up with a value like 'SAMEORIGIN, SAMEORIGIN'. Currently, we're treating that as invalid, and ignoring the header. It would be safer to follow Gecko's lead[1] by: - Folding duplicated entries into their common value (that is: 'sameorigin, sameorigin' -> 'sameorigin'). - Failing closed in the case of conflicts (that is: 'sameorigin, allowall' -> 'deny'). [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=761655 Tests: http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict.html http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow.html http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html * loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions): Call out to parseXFrameOptionsHeader to get the header's disposition and deal with each case in a switch statement for clarity. Add a new console warning for the conflict case described above. * platform/network/HTTPParsers.cpp: (WebCore::parseXFrameOptionsHeader): * platform/network/HTTPParsers.h: Move X-Frame-Options parsing out into HTTPParsers, as it's getting more and more complicated. To do this, the patch defines a new enum to pass around the header's disposition. LayoutTests: * http/tests/security/XFrameOptions/resources/x-frame-options-multiple-headers-conflict.cgi: Added. * http/tests/security/XFrameOptions/resources/x-frame-options-multiple-headers-sameorigin.cgi: Added. * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict-expected.txt: Added. * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict.html: Added. * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow-expected.txt: Added. * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow.html: Added. * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt: Added. * http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow-expected.txt: Added. * platform/chromium/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147086 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mihnea@adobe.com authored
https://bugs.webkit.org/show_bug.cgi?id=113154 Reviewed by David Hyatt. After https://bugs.webkit.org/show_bug.cgi?id=98752, the list of invalid regions is kept separately than the list of valid regions. A valid region has always a valid flow thread attached. We can use isValid() throughout the RenderRegion code instead of testing for both isValid() and m_flowThread. No new tests since there is no change is functionality, just code refactoring. * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread): Added a new function to keep the code used in addRegionToThread and checkInvalidRegions. (WebCore::RenderNamedFlowThread::addRegionToThread): (WebCore::RenderNamedFlowThread::checkInvalidRegions): * rendering/RenderNamedFlowThread.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::overflowRectForFlowThreadPortion): (WebCore::RenderRegion::isFirstRegion): (WebCore::RenderRegion::isLastRegion): (WebCore::RenderRegion::paintObject): (WebCore::RenderRegion::nodeAtPoint): (WebCore::RenderRegion::incrementAutoLogicalHeightCount): (WebCore::RenderRegion::decrementAutoLogicalHeightCount): (WebCore::RenderRegion::layoutBlock): (WebCore::RenderRegion::repaintFlowThreadContentRectangle): (WebCore::RenderRegion::attachRegion): (WebCore::RenderRegion::renderBoxRegionInfo): (WebCore::RenderRegion::setRenderBoxRegionInfo): (WebCore::RenderRegion::logicalTopOfFlowThreadContentRect): (WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect): (WebCore::RenderRegion::computePreferredLogicalWidths): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
loislo@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113371 Reviewed by Pavel Feldman. The root of problem is the 300ms delay in scheduleRefresh method. It was introduced for the case when we add a huge number of records per second. The scheduleRefresh was written such a way that refresh happened immediately only for the scrolling operations. Actually we would like to see fast refresh every time when it is forced by an user action. In this patch additional flag newRecordWasAdded was added to the _invalidateAndScheduleRefresh. I made it mandatory because the function is also used as a callback for an event and it is easy to make a mistake and interpret the event as the flag. * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked): (WebInspector.TimelinePanel.prototype._durationFilterChanged): (WebInspector.TimelinePanel.prototype._repopulateRecords): (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded): (WebInspector.TimelinePanel.prototype._onRecordsCleared): (WebInspector.TimelinePanel.prototype._invalidateAndScheduleRefresh): (WebInspector.TimelinePanel.prototype._scheduleRefresh): (WebInspector.TimelinePanel.prototype._revealRecord): (WebInspector.TimelinePanel.prototype._refreshRecords): (WebInspector.TimelinePanel.prototype.performFilter): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
keishi@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113477 Reviewed by Kent Tamura. Source/WebCore: Dragging to the edge of a slider should always snap to the min/max. Test: fast/forms/range/range-slow-drag-to-edge.html * html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::setPositionFromPoint): LayoutTests: * fast/forms/range/range-slow-drag-to-edge-expected.txt: Added. * fast/forms/range/range-slow-drag-to-edge.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 27 Mar, 2013 8 commits
-
-
simon.fraser@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=113459 Reviewed by Tim Horton. Some platforms need to update TiledBacking visible rects from outside of WebKit, for example if they use delegated scrolling. They want to avoid forcing layout to be up-to-date when doing this. Currently, updating the visibleRect happens when the GraphicsLayerCA layer are being flushed, but that makes some assumptions about layout being up-to-date. To fix this, add a light-weight pass over the layer tree that uses TransformState to compute the visibleRect for each layer, and only if the visibleRect would cause a change in the tiles in a TiledBacking trigger a layer flush. * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::recomputeVisibleRects): * platform/graphics/TiledBacking.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::recursiveComputeVisibleRect): (WebCore::GraphicsLayerCA::recomputeVisibleRects): (WebCore::GraphicsLayerCA::computeVisibleRect): * platform/graphics/ca/GraphicsLayerCA.h: * platform/graphics/ca/mac/TileController.h: * platform/graphics/ca/mac/TileController.mm: (WebCore::TileController::tilesWouldChangeForVisibleRect): (WebCore::TileController::computeTileCoverageRect): (WebCore::TileController::revalidateTiles): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
pdr@google.com authored
https://bugs.webkit.org/show_bug.cgi?id=113473 Reviewed by Ryosuke Niwa. Rename ScriptElement::toScriptElement to ScriptElement::toScriptElementIfPossible to differentiate this function from other to*Element functions, and to better describe the function's behavior. Other to*Element functions do not return null if the cast fails, whereas toScriptElementIfPossible does. No new tests as this is just a refactoring. * dom/ScriptElement.cpp: (WebCore::toScriptElementIfPossible): * dom/ScriptElement.h: (WebCore): * dom/ScriptRunner.cpp: (WebCore::ScriptRunner::timerFired): This is the only unchecked return value but there isn't a security issue here. * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::collectOptionInnerText): * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::attachLater): (WebCore::HTMLConstructionSite::insertForeignElement): * html/parser/HTMLScriptRunner.cpp: (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): (WebCore::HTMLScriptRunner::requestPendingScript): (WebCore::HTMLScriptRunner::runScript): * xml/parser/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): * xml/parser/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs): (WebCore::XMLDocumentParser::endElementNs): * xml/parser/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement): (WebCore::XMLDocumentParser::parseEndElement): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rniwa@webkit.org authored
toElement() asserts. What we want here is isElementNode(). * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::attachLater): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
noel.gordon@gmail.com authored
https://bugs.webkit.org/show_bug.cgi?id=113184 Reviewed by Eric Seidel. Source/WebCore: Requires libwebp version 0.3.0 (decoder ABI version 0x201). For images with an ICC color profile chunk, poll the incremental decoder for the current decoded height with the WebPIDecGetRGB() API and color correct any newly decoded rows in-situ in the frame buffer. Note: the ICC chunk appears before the encoded image frame in the webp encoding (RIFF container) format. When the incremental decoder outputs decoded pixels, enough encoded data has arrived to read the entire ICC color profile data chunk. Tests: fast/images/webp-color-profile-lossless.html fast/images/webp-color-profile-lossy-alpha.html fast/images/webp-color-profile-lossy.html * platform/image-decoders/webp/WEBPImageDecoder.cpp: (WebCore::WEBPImageDecoder::WEBPImageDecoder): (WebCore::WEBPImageDecoder::~WEBPImageDecoder): Call clear(). (WebCore): (WebCore::WEBPImageDecoder::clear): Added. Helper to clean up the webp decoder and color transform members. (WebCore::WEBPImageDecoder::createColorTransform): Create m_transform using the supplied profile memory data. Note that the |deviceProfile| is not owned, but the |inputProfile| temporary is so release it here with qcms_release_profile(). (WebCore::WEBPImageDecoder::readColorProfile): Called once only when the decoder begins to output decoded rows of an image containing an ICC chunk, to read the ICC color profile data from the encoded data stream, verify it, and use it to create m_transform. (WebCore::WEBPImageDecoder::applyColorProfile): Since there is no row callback in libwebp, poll for the decoded height of the image so far. If new rows are decoded, color correct the pixels of those new rows and re-write them back into the frame buffer using buffer.setRGBA() to 1) alpha pre-multiply the pixels if needed, and 2) shuffle the pixel bytes into the platform's RGBA pixel endian-ness. (WebCore::WEBPImageDecoder::decode): If the container format indicates the image has an ICC color profile, decode the image to RGBA format for subsequent input to the QCMS color correction library in applyColorProfile(). * platform/image-decoders/webp/WEBPImageDecoder.h: (WEBPImageDecoder): (WebCore::WEBPImageDecoder::colorTransform): m_transform getter. LayoutTests: * fast/images/resources/webp-color-profile-lossless.webp: Added. * fast/images/resources/webp-color-profile-lossy-alpha.webp: Added. * fast/images/resources/webp-color-profile-lossy.webp: Added. * fast/images/webp-color-profile-lossless-expected.txt: Added. * fast/images/webp-color-profile-lossless.html: Added. * fast/images/webp-color-profile-lossy-alpha-expected.txt: Added. * fast/images/webp-color-profile-lossy-alpha.html: Added. * fast/images/webp-color-profile-lossy-expected.txt: Added. * fast/images/webp-color-profile-lossy.html: Added. * platform/chromium-mac/fast/images/webp-color-profile-lossless-expected.png: Added. * platform/chromium-mac/fast/images/webp-color-profile-lossy-alpha-expected.png: Added. * platform/chromium-mac/fast/images/webp-color-profile-lossy-expected.png: Added. * platform/chromium-win/fast/images/webp-color-profile-lossless-expected.png: Added. * platform/chromium-win/fast/images/webp-color-profile-lossy-alpha-expected.png: Added. * platform/chromium-win/fast/images/webp-color-profile-lossy-expected.png: Added. * platform/efl/TestExpectations: * platform/gtk/TestExpectations: * platform/mac/TestExpectations: * platform/qt/TestExpectations: * platform/win/TestExpectations: * platform/wincairo/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=111012 Patch by Jun Jiang <jun.a.jiang@intel.com> on 2013-03-27 Reviewed by Kenneth Russell. Move the validation checks to the entry level of tex{Sub}Image2D, return early for invalid parameters and avoid duplicated checks. Moreover, turn all the validation checks at the bottom level - tex{Sub}Image2DBase into assertions. Already covered by current tests. * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::copyTexSubImage2D): (WebCore::WebGLRenderingContext::texImage2DBase): (WebCore::WebGLRenderingContext::texImage2DImpl): (WebCore::WebGLRenderingContext::validateTexFunc): A helper function for tex{Sub}Image2D to check input parameters. (WebCore::WebGLRenderingContext::texImage2D): (WebCore::WebGLRenderingContext::texSubImage2DBase): (WebCore::WebGLRenderingContext::texSubImage2DImpl): (WebCore::WebGLRenderingContext::texSubImage2D): (WebCore::WebGLRenderingContext::validateHTMLImageElement): (WebCore::WebGLRenderingContext::validateHTMLCanvasElement): (WebCore::WebGLRenderingContext::validateHTMLVideoElement): * html/canvas/WebGLRenderingContext.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113457 Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-27 Reviewed by Kentaro Hara. Remove unused variable parentsOnly. No new tests: no change in behaviour. * bindings/scripts/CodeGenerator.pm: (ForAllParents): (AddMethodsConstantsAndAttributesFromParentInterfaces): (ParseInterface): (InheritsInterface): (InheritsExtendedAttribute): * bindings/scripts/CodeGeneratorV8.pm: (BaseInterfaceName): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
bdakin@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=113352 -and corresponding- <rdar://problem/13383835> Reviewed by Simon Fraser. Source/WebCore: This API will require RenderLayerCompositor to keep layers for the header and footer when the exist. It also requires the scrolling machinery to know that the size of the scrollable area will differ from the contentsSize when there is a header or footer. setWantsLayerForHeader() and setWantsLayerForFooter() return GraphicsLayers to WK2. setHeaderHeight() and setFooterHeight() set the header and footer heights respectively. * WebCore.exp.in: * page/FrameView.h: (FrameView): * page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::setWantsLayerForHeader): (WebCore::FrameView::setWantsLayerForFooter): (WebCore::FrameView::setHeaderHeight): (WebCore::FrameView::setFooterHeight): Should use totalContentsSize() instead of contentsSize(). (WebCore::FrameView::windowClipRect): (WebCore::FrameView::isScrollable): * page/SpatialNavigation.cpp: (WebCore::canScrollInDirection): This should also use totalContentsSize() instead of contentsSize(), and while we're at it, re-name the variable and function names in the scrolling tree code from contentsSize to totalContentsSize. * page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setTotalContentsSize): (WebCore::ScrollingStateScrollingNode::dumpProperties): * page/scrolling/ScrollingStateScrollingNode.h: (WebCore::ScrollingStateScrollingNode::totalContentsSize): (ScrollingStateScrollingNode): * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren): * page/scrolling/ScrollingTreeScrollingNode.h: (WebCore::ScrollingTreeScrollingNode::totalContentsSize): (ScrollingTreeScrollingNode): * page/scrolling/mac/ScrollingCoordinatorMac.h: (ScrollParameters): * page/scrolling/mac/ScrollingCoordinatorMac.mm: (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode): * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren): (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition): Use totalContentsSize() instead of contentsSize(). * platform/ScrollView.cpp: (WebCore::ScrollView::maximumScrollPosition): (WebCore::ScrollView::setScrollOffset): (WebCore::ScrollView::overhangAmount): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::calculateOverhangAreasForPainting): scrollOffset() represents the offset within the totalContentsSize, but that is not what we need here. So subtract out the headerHeight() for the appropriate value. (WebCore::ScrollView::windowToContents): (WebCore::ScrollView::contentsToWindow): Use totalContentsSize() instead of contentsSize(). * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::maximumScrollPosition): (WebCore): (WebCore::ScrollableArea::totalContentsSize): * platform/ScrollableArea.h: (WebCore::ScrollableArea::headerHeight): (WebCore::ScrollableArea::footerHeight): (ScrollableArea): * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary): (WebCore::ScrollAnimatorMac::pinnedInDirection): * platform/mac/ThemeMac.mm: (WebCore::ThemeMac::ensuredView): The rootContentLayer needs to be offset by the headerHeight(). * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateRootLayerPosition): New member variables m_layerForHeader and m_layerForFooter. This code properly creates and manages them. (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea): (WebCore::RenderLayerCompositor::updateLayerForHeader): (WebCore): (WebCore::RenderLayerCompositor::updateLayerForFooter): (WebCore::RenderLayerCompositor::computeFixedViewportConstraints): (WebCore::RenderLayerCompositor::reportMemoryUsage): * rendering/RenderLayerCompositor.h: (RenderLayerCompositor): Test infrastructure. * testing/Internals.cpp: (WebCore::Internals::resetToConsistentState): (WebCore::Internals::setHeaderHeight): (WebCore): (WebCore::Internals::setFooterHeight): * testing/Internals.h: * testing/Internals.idl: Source/WebKit2: New API allows setting and getting layers for a header and footer. * WebKit2.xcodeproj/project.pbxproj: * WebProcess/InjectedBundle/API/c/mac: Added. * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Added. * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Added. (WKBundlePageGetHeaderLayer): (WKBundlePageSetHeaderLayer): (WKBundlePageGetFooterLayer): (WKBundlePageSetFooterLayer): * WebProcess/WebPage/WebPage.h: (WebPage): * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::setTopOverhangImage): (WebKit::WebPage::setBottomOverhangImage): (WebKit): (WebKit::WebPage::getHeaderLayer): (WebKit::WebPage::setHeaderLayerWithHeight): (WebKit::WebPage::getFooterLayer): (WebKit::WebPage::setFooterLayerWithHeight): LayoutTests: * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing-expected.txt: Added. * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing-with-page-scale-expected.txt: Added. * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing-with-page-scale.html: Added. * platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=113219 Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-03-27 Reviewed by Kentaro Hara. Source/WebCore: When converting JSValue to native value in attribute setter, store the native value in a temporary variable. After this variable assignment, always check if an exception has been raised. Update binding tests. Test: fast/dom/exception-in-binding.html * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): (GetNativeType): (JSValueToNative): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalNode): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjEnumAttr): (WebCore::setJSTestObjShortAttr): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::setJSTestObjLongAttr): (WebCore::setJSTestObjLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjStringAttr): (WebCore::setJSTestObjTestObjAttr): (WebCore::setJSTestObjXMLObjAttr): (WebCore::setJSTestObjCreate): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::setJSTestObjAttrWithGetterException): (WebCore::setJSTestObjAttrWithSetterException): (WebCore::setJSTestObjStringAttrWithGetterException): (WebCore::setJSTestObjStringAttrWithSetterException): (WebCore::setJSTestObjWithScriptStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptStateAttributeRaises): (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises): (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises): (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute): (WebCore::setJSTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr3): (WebCore::setJSTestObjAnyAttribute): (WebCore::setJSTestObjMutablePoint): (WebCore::setJSTestObjImmutablePoint): (WebCore::setJSTestObjStrawberry): (WebCore::setJSTestObjStrictFloat): (WebCore::setJSTestObjId): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableStringValue): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsImmutableSerializedScriptValue): (WebCore::setJSTestTypedefsAttrWithGetterException): (WebCore::setJSTestTypedefsAttrWithSetterException): (WebCore::setJSTestTypedefsStringAttrWithGetterException): (WebCore::setJSTestTypedefsStringAttrWithSetterException): LayoutTests: * fast/dom/exception-in-binding-expected.txt: Added. * fast/dom/exception-in-binding.html: Added. * platform/chromium/TestExpectations: new test fails for now git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-