2012-05-18 Dan Bernstein No focus ring around popup buttons Reviewed by Anders Carlsson. The exact same issue was fixed for buttons drawn in ThemeMac.mm in . This change extends the fix to also cover buttons drawn in RenderThemeMac.mm. * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSCellExtras.{h.m}. * platform/mac/ThemeMac.mm: Removed the definitions of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING and -[NSCell _web_drawFocusRingWithFrame:inView:] from here. They are now in WebCoreNSCellExtras. * platform/mac/WebCoreNSCellExtras.h: Added. * platform/mac/WebCoreNSCellExtras.m: Added. (-[NSCell _web_drawFocusRingWithFrame:inView:]): Moved from ThemeMac.mm here. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintMenuList): Changed to use -_web_drawFocusRingWithFrame:inView:. (WebCore::RenderThemeMac::setPopupButtonCellState): Removed call to updateFocusedState() when the focus ring is drawn separately. 2012-05-18 Philippe Normand [GStreamer] Fix early return of the mimeTypeCache function after r117207. Rubber-stamped by Martin Robinson. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Set typeListInitialized to true after the cache has been filled so that next call to the function goes through the early return path. 2012-05-18 Martin Robinson Get IndexedDB closer to building for GTK+. Reviewed by Philippe Normand. No new tests. This is only a build fix. * GNUmakefile.am: Add the appropriate option to enable LevelDB support. * GNUmakefile.list.am: Add missing indexed database files to the source list. 2012-05-18 Dan Bernstein Removed stale references in the Xcode project after r117369. * WebCore.xcodeproj/project.pbxproj: Removed references to CSSStyleDeclaration.cpp. 2012-05-18 Vsevolod Vlasov Web Inspector: Add resource to UISourceCode constructor. https://bugs.webkit.org/show_bug.cgi?id=86853 Reviewed by Pavel Feldman. This is a first step of merging resource revision support into UISourceCode. * inspector/front-end/CompilerScriptMapping.js: * inspector/front-end/DebuggerResourceBinding.js: (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource): (WebInspector.DebuggerResourceBinding.setScriptSource): * inspector/front-end/DebuggerScriptMapping.js: (WebInspector.DebuggerScriptMapping.prototype._debuggerReset): * inspector/front-end/JavaScriptSource.js: * inspector/front-end/RawSourceCode.js: (WebInspector.RawSourceCode.prototype._createUISourceCode): * inspector/front-end/ResourceScriptMapping.js: (WebInspector.ResourceScriptMapping.prototype.addScript): * inspector/front-end/Script.js: (WebInspector.Script.prototype.isAnonymousScript): * inspector/front-end/ScriptSnippetModel.js: (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): (WebInspector.SnippetJavaScriptSource): * inspector/front-end/StylesPanel.js: (WebInspector.StyleSource): (WebInspector.StyleSourceFrame): (WebInspector.StyleSourceFrame.prototype.commitEditing): (WebInspector.StyleSourceFrame.prototype.afterTextChanged): (WebInspector.StyleSourceFrame.prototype._contentChanged): * inspector/front-end/UISourceCode.js: (WebInspector.UISourceCode): (WebInspector.UISourceCode.prototype.resource): 2012-05-18 Yury Semikhatsky Web Inspector: error when expanding an HTMLAllCollection object in the console https://bugs.webkit.org/show_bug.cgi?id=86741 Reviewed by Pavel Feldman. RuntimeAgent.callFunctionOn should work correcly with arguments of type HTMLAllCollection. * inspector/InjectedScriptSource.js: 2012-05-18 Pavel Feldman Web Inspector: resource revision content is not rendered properly. Resource content is shown instead. https://bugs.webkit.org/show_bug.cgi?id=86856 Reviewed by Vsevolod Vlasov. * inspector/front-end/ResourceView.js: (WebInspector.ResourceRevisionSourceFrame): (WebInspector.ResourceRevisionSourceFrame.prototype.get resource): 2012-05-18 Yi Shen REGRESSION (r102553): Smart links do not work https://bugs.webkit.org/show_bug.cgi?id=85463 Reviewed by NOBODY Ryosuke Niwa. To fix the regression of smart links, we need to check TextCheckingTypeLink option in Editor::markAndReplaceFor(). Test: editing/inserting/typing-space-to-trigger-smart-link.html * editing/Editor.cpp: (WebCore::Editor::markAndReplaceFor): 2012-05-18 Alexander Pavlov Web Inspector: empty CSS Declaration is generated by clicking the left space of 'user agent stylesheet' on Styles sidebar of Elements panel https://bugs.webkit.org/show_bug.cgi?id=86850 Reviewed by Yury Semikhatsky. * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick): 2012-05-18 Yury Semikhatsky Unreviewed. Remove console.error() call committed by mistake. * inspector/front-end/View.js: (WebInspector.View._assert): 2012-05-18 Pavel Feldman Web Inspector: live edit resets cursor to 0,0 https://bugs.webkit.org/show_bug.cgi?id=86851 Reviewed by Vsevolod Vlasov. * inspector/front-end/DebuggerResourceBinding.js: (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource): (WebInspector.DebuggerResourceBinding.setScriptSource): 2012-05-18 Yury Semikhatsky Web Inspector: exception in console when pressing % button in CPU profile view https://bugs.webkit.org/show_bug.cgi?id=86849 Reviewed by Pavel Feldman. Use root node to get children, not DataGrid object. * inspector/front-end/CPUProfileView.js: (WebInspector.CPUProfileView.prototype.refreshVisibleData): 2012-05-18 Yury Semikhatsky Web Inspector: remove unnecessary indirection from profile types https://bugs.webkit.org/show_bug.cgi?id=86845 Reviewed by Pavel Feldman. Introduced CSSProfileHeader and CPUProfileHeader, moved view creation from the type to corresponding profile headers. Removed some inderection and private fields assigned in random places. Added type annotations. * inspector/front-end/CPUProfileView.js: (WebInspector.CPUProfileType.prototype.createTemporaryProfile): (WebInspector.CPUProfileType.prototype.createProfile): (WebInspector.CPUProfileHeader): (WebInspector.CPUProfileHeader.prototype.createSidebarTreeElement): (WebInspector.CPUProfileHeader.prototype.createView): * inspector/front-end/CSSSelectorProfileView.js: (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile): (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile): (WebInspector.CSSSelectorProfileType.prototype.createProfile): (WebInspector.CSSProfileHeader): (WebInspector.CSSProfileHeader.prototype.createSidebarTreeElement): (WebInspector.CSSProfileHeader.prototype.createView): * inspector/front-end/HeapSnapshotView.js: (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile): (WebInspector.HeapSnapshotProfileType.prototype.createProfile): (WebInspector.HeapProfileHeader): (WebInspector.HeapProfileHeader.prototype.createSidebarTreeElement): (WebInspector.HeapProfileHeader.prototype.createView): (WebInspector.HeapProfileHeader.prototype.load): (WebInspector.HeapProfileHeader.prototype.saveToFile): * inspector/front-end/ProfileLauncherView.js: (WebInspector.ProfileLauncherView): (WebInspector.ProfileLauncherView.prototype.addProfileType): (WebInspector.ProfileLauncherView.prototype._profileTypeChanged): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfileType): (WebInspector.ProfileHeader): (WebInspector.ProfileHeader.prototype.profileType): (WebInspector.ProfileHeader.prototype.createSidebarTreeElement): (WebInspector.ProfileHeader.prototype.existingView): (WebInspector.ProfileHeader.prototype.view): (WebInspector.ProfileHeader.prototype.createView): (WebInspector.ProfilesPanel.prototype._reset): (WebInspector.ProfilesPanel.prototype.addProfileHeader): (WebInspector.ProfilesPanel.prototype._removeProfileHeader): (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.getProfiles): (WebInspector.ProfilesPanel.prototype.findTemporaryProfile): (WebInspector.ProfilesPanel.prototype._searchableViews): * inspector/front-end/View.js: (WebInspector.View._assert): 2012-05-18 Kentaro Hara [V8][Refactoring] Remove V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0) https://bugs.webkit.org/show_bug.cgi?id=86802 Reviewed by Adam Barth. As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5), I am refactoring a series of confusing throwError()s. This would be the final patch for the refactoring. This patch removes V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0). Also this patch refactors up a couple of throwError()s that I've forgot to refactor in the previous patches. No tests. No change in behavior. * bindings/v8/V8NodeFilterCondition.cpp: (WebCore::V8NodeFilterCondition::acceptNode): * bindings/v8/V8Proxy.h: * bindings/v8/custom/V8ArrayBufferCustom.cpp: (WebCore::V8ArrayBuffer::constructorCallback): * bindings/v8/custom/V8ArrayBufferViewCustom.h: (WebCore::constructWebGLArray): * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: (WebCore::V8SQLResultSetRowList::itemCallback): 2012-05-18 MORITA Hajime Unreviewed attempt to fix build breakage on r117572 * editing/Editor.cpp: (WebCore::Editor::willDetachPage): 2012-05-18 MORITA Hajime https://bugs.webkit.org/show_bug.cgi?id=85515 Stale frame in WebCore::SpellChecker::didCheckSucceeded Reviewed by Ryosuke Niwa. Added EditorClient::frameWillDetachPage() notification to give a change to invalidate pending spellcheck requests on the client. Test: editing/spelling/spellcheck-async-remove-frame.html * editing/Editor.cpp: (WebCore::Editor::Editor): * editing/Editor.h: (Editor): * loader/EmptyClients.h: (WebCore::EmptyEditorClient::frameWillDetachPage): * page/EditorClient.h: (EditorClient): 2012-05-18 Pavel Feldman Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree. https://bugs.webkit.org/show_bug.cgi?id=86833 Reviewed by Vsevolod Vlasov. Added ContentProvider::contentType, regactored NavigatorView to use the icon defined by the content type. * inspector/front-end/CompilerScriptMapping.js: * inspector/front-end/ContentProvider.js: (WebInspector.ContentProvider.prototype.contentType): * inspector/front-end/ContentProviders.js: (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentType): (WebInspector.CompilerSourceMappingContentProvider): (WebInspector.CompilerSourceMappingContentProvider.prototype.contentType): (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent): (WebInspector.StaticContentProvider): (WebInspector.StaticContentProvider.prototype.contentType): (WebInspector.StaticContentProvider.prototype.requestContent): * inspector/front-end/NavigatorView.js: (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements): (WebInspector.NavigatorSourceTreeElement): * inspector/front-end/NetworkRequest.js: (WebInspector.NetworkRequest.prototype.contentType): * inspector/front-end/Resource.js: (WebInspector.Resource.prototype.contentType): (WebInspector.Resource.prototype.canonicalMimeType): (WebInspector.ResourceRevision.prototype.contentType): * inspector/front-end/ResourceType.js: (WebInspector.ResourceType.prototype.toString): (WebInspector.ResourceType.prototype.canonicalMimeType): * inspector/front-end/Script.js: (WebInspector.Script.prototype.contentType): * inspector/front-end/ScriptSnippetModel.js: (WebInspector.SnippetContentProvider): * inspector/front-end/StylesPanel.js: * inspector/front-end/UISourceCode.js: (WebInspector.UISourceCode.prototype.contentType): * inspector/front-end/navigatorView.css: (.navigator-stylesheet-tree-item .icon): (.navigator-document-tree-item .icon): 2012-05-18 Sheriff Bot Unreviewed, rolling out r117556. http://trac.webkit.org/changeset/117556 https://bugs.webkit.org/show_bug.cgi?id=86825 Wrong fix. IE still adds 1px padding. We're missing that in textarea (Requested by rniwa on #webkit). * css/html.css: (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 2012-05-17 Pavel Feldman Web Inspector: remove File abstraction from the AdvancedSearchController, migrate it to UISourceCode. https://bugs.webkit.org/show_bug.cgi?id=86809 Reviewed by Yury Semikhatsky. This change migrates AdvancedSearchController from "Object" to "UISourceCode". I don't see why we need this abstraction and as a side effect, it makes search across scripts work for styles. * English.lproj/localizedStrings.js: * inspector/front-end/AdvancedSearchController.js: (WebInspector.SearchResult): (WebInspector.FileBasedSearchResultsPane.prototype._createAnchor): (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult): (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches): (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges): (WebInspector.FileBasedSearchResultsPane.SearchResult): * inspector/front-end/ScriptsSearchScope.js: (WebInspector.ScriptsSearchScope.prototype.createSearchResultsPane): * inspector/front-end/inspector.js: (WebInspector._registerShortcuts): 2012-05-17 Yury Semikhatsky Web Inspector: add an option to show last N hidden children of node in heap profiler https://bugs.webkit.org/show_bug.cgi?id=86757 Reviewed by Pavel Feldman. Renamed "Show next N" to "Show N before" and added "Show N after" button. Also when all 3 buttons would have equal effect there is now only "Show all N" button. * English.lproj/localizedStrings.js: * inspector/front-end/ShowMoreDataGridNode.js: (WebInspector.ShowMoreDataGridNode): (WebInspector.ShowMoreDataGridNode.prototype._showLastChunk): (WebInspector.ShowMoreDataGridNode.prototype._updateLabels): (WebInspector.ShowMoreDataGridNode.prototype.createCells): 2012-05-17 Ryosuke Niwa WebKit erroneously add 1px padding in input elements https://bugs.webkit.org/show_bug.cgi?id=86784 Reviewed by Kent Tamura. Fixed the bug by removing the code that added left and right paddings in input elements. The code was added in r13567 to match a very old version of Internet Explorer but this quirk does not seem to exists in IE9 (both in quirks and standard modes). A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px differences for the width of input elements. (In some extreme cases, line breaking changed due to the width change). Test: fast/forms/input-textarea-padding-match.html * css/html.css: (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 2012-05-18 Zalan Bujtas [Qt] Gesture tap highlighter needs to take overflow clip into account. https://bugs.webkit.org/show_bug.cgi?id=84989 Reviewed by Kenneth Rohde Christiansen. Apply overflow clip on the focus ring if needed. Follow up patches are needed to address the following cases. [Qt] Gesture tap highlighter should take parent iframe's transform into account. https://bugs.webkit.org/show_bug.cgi?id=86645 [Qt] Gesture tap highlighter needs to take frame clipping into account. https://bugs.webkit.org/show_bug.cgi?id=86646 [Qt] Gesture tap highlighter's overflow clip is not always correct when nested enclosing containers have transforms. https://bugs.webkit.org/show_bug.cgi?id=86641 Manual test: ManualTests/qt/tap-highlighting-overflow-hidden.html * page/GestureTapHighlighter.cpp: (WebCore::GestureTapHighlighter::pathForNodeHighlight): 2012-05-17 Carlos Garcia Campos [GTK] KURL::fileSystemPath() should strip the query of the uri https://bugs.webkit.org/show_bug.cgi?id=86721 Reviewed by Martin Robinson. * platform/gtk/KURLGtk.cpp: (WebCore::KURL::fileSystemPath): Use the already parsed path to create the GFile instead of the whole URL string. The parsed path doesn't include neither the fragment (#) nor the query (?) parts. 2012-05-17 Kentaro Hara [V8][Refactoring] Remove V8Proxy::deletionNotHandledByInterceptor() https://bugs.webkit.org/show_bug.cgi?id=86803 Reviewed by Dimitri Glazkov. V8Proxy::deletionNotHandledByInterceptor() is used by V8StorageCustom.cpp only, just in order to return v8::Handle(). In such cases, other custom bindings are hard-coding 'return v8::Handle()'. Thus we can hard-code 'return v8::Handle()' in V8StorageCustom.cpp too, and remove V8Proxy::deletionNotHandledByInterceptor(). No tests. No change in behavior. * bindings/v8/V8Proxy.h: * bindings/v8/custom/V8StorageCustom.cpp: (WebCore::storageDeleter): 2012-05-17 Ilya Tikhonovsky Web Inspector: speed-up markQueriableHeapObjects function. https://bugs.webkit.org/show_bug.cgi?id=86732 Reviewed by Yury Semikhatsky. * inspector/front-end/HeapSnapshot.js: (WebInspector.HeapSnapshot.prototype._flagsOfNode): (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes): (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): (WebInspector.HeapSnapshot.prototype._calculateFlags): 2012-05-15 Kinuko Yasuda Some Spelling Mistakes Result in Compile Errors with ENABLE(FILE_SYSTEM) in LocalFileSystem.cpp https://bugs.webkit.org/show_bug.cgi?id=86103 Reviewed by Rob Buis. Added build fixes and some (limited) common implementation for non-chromium ports. No new tests as this should have no functionality changes. * Modules/filesystem/DOMFileSystemBase.cpp: (WebCore::DOMFileSystemBase::isValidType): Added common implementation for non-chromium ports. (WebCore::DOMFileSystemBase::crackFileSystemURL): Ditto. (WebCore::DOMFileSystemBase::supportsToURL): Ditto. (WebCore::DOMFileSystemBase::createFileSystemURL): Ditto. * Modules/filesystem/LocalFileSystem.cpp: (WebCore::LocalFileSystem::readFileSystem): Fixed. (WebCore::LocalFileSystem::requestFileSystem): Fixed. * platform/blackberry/AsyncFileSystemBlackBerry.cpp: (WebCore::AsyncFileSystem::openFileSystem): Fixed. * platform/gtk/AsyncFileSystemGtk.cpp: (WebCore::AsyncFileSystem::openFileSystem): Fixed. 2012-05-17 Wei James AudioBufferSourceNode and MediaElementAudioSourceNode should support multi-channel > stereo https://bugs.webkit.org/show_bug.cgi?id=75119 Reviewed by Chris Rogers. As multiple channel support in AudioBus and other places is already implemented, the check can be removed here. * Modules/webaudio/MediaElementAudioSourceNode.cpp: (WebCore::MediaElementAudioSourceNode::setFormat): 2012-05-17 Dan Bernstein Problems with flipped writing modes and compositing https://bugs.webkit.org/show_bug.cgi?id=86032 Reviewed by Anders Carlsson. Test: compositing/bounds-in-flipped-writing-mode.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateLayerBounds): Apply a writing-mode flip to the bounding box if needed. 2012-05-17 Kentaro Hara [V8][Refactoring] Remove V8Proxy::throwError(const char*, v8::Isolate* = 0) https://bugs.webkit.org/show_bug.cgi?id=86794 Reviewed by Adam Barth. As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5), I am refactoring a series of confusing throwError()s. This patch removes V8Proxy::throwError(const char*, v8::Isolate* = 0). No tests. No change in behavior. * bindings/v8/V8Utilities.cpp: (WebCore::extractTransferables): (WebCore::getMessagePortArray): * bindings/v8/custom/V8ArrayBufferViewCustom.h: (WebCore::constructWebGLArrayWithArrayBufferArgument): (WebCore::constructWebGLArray): * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter): * bindings/v8/custom/V8ClipboardCustom.cpp: (WebCore::V8Clipboard::setDragImageCallback): * bindings/v8/custom/V8HTMLDocumentCustom.cpp: (WebCore::V8HTMLDocument::openCallback): * bindings/v8/custom/V8HTMLInputElementCustom.cpp: (WebCore::V8HTMLInputElement::selectionStartAccessorGetter): (WebCore::V8HTMLInputElement::selectionStartAccessorSetter): (WebCore::V8HTMLInputElement::selectionEndAccessorGetter): (WebCore::V8HTMLInputElement::selectionEndAccessorSetter): (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter): (WebCore::V8HTMLInputElement::setSelectionRangeCallback): * bindings/v8/custom/V8HTMLMediaElementCustom.cpp: (WebCore::V8HTMLMediaElement::controllerAccessorSetter): * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::V8InjectedScriptHost::inspectedObjectCallback): 2012-05-17 Dana Jansens [chromium] Scale all compositor output by the defaultDeviceScaleFactor https://bugs.webkit.org/show_bug.cgi?id=86051 Reviewed by James Robinson. On initialization, give the defaultDeviceScaleFactor to the compositor to have it scale all output from WebCore's layout size to physical pixels. This allows us to scale up to high-dpi devices without using fixed-layout, so we can leave the WebCore frame size in layout pixels, while drawing the frame into a larger physical pixel size. CCLayerTreeHost becomes aware of the deviceScaleFactor and scales all output by this factor by scaling the viewport and all drawing transforms. Anything that works in physical pixels (content space), uses the deviceViewportSize() in place of the viewportSize(), since when deviceScaleFactor != 1 in CCLayerTreeHost, the WebCore viewport is no longer physical pixels. Scroll positions are in layout pixels, and must be scaled to/from content space within the compositor. Unit tests: CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers * platform/graphics/chromium/LayerRendererChromium.h: (LayerRendererChromiumClient): (WebCore::LayerRendererChromium::viewportSize): (WebCore::LayerRendererChromium::viewportWidth): (WebCore::LayerRendererChromium::viewportHeight): (LayerRendererChromium): * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::initializeLayerRenderer): (WebCore::CCLayerTreeHost::setViewportSize): (WebCore::CCLayerTreeHost::updateLayers): (WebCore::CCLayerTreeHost::paintLayerContents): * platform/graphics/chromium/cc/CCLayerTreeHost.h: (WebCore::CCSettings::CCSettings): (CCSettings): (CCLayerTreeHost): (WebCore::CCLayerTreeHost::deviceViewportSize): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList): (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): (WebCore::CCLayerTreeHostImpl::setViewportSize): (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition): (WebCore::CCLayerTreeHostImpl::scrollBegin): (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas): * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: (WebCore::CCLayerTreeHostImpl::viewportSize): (CCLayerTreeHostImpl): 2012-05-17 Hayato Ito [Shadow DOM] Add an assertion to make sure a visited node is not an active insertion point. https://bugs.webkit.org/show_bug.cgi?id=86708 Reviewed by Eric Seidel. Since InsertionPoint now has isActive() member function, we can add an assertion to ComposedShadowTreeWalker::assertPrecondition() using that function. No new tests, no change in behavior. * dom/ComposedShadowTreeWalker.h: (WebCore::ComposedShadowTreeWalker::assertPrecondition): 2012-05-17 Ami Fischman [Chromium] Store HTTP version in WebURLResponse https://bugs.webkit.org/show_bug.cgi?id=86522 Reviewed by Adam Barth. No new tests; this isn't exposed to the web platform. * platform/chromium/support/WebURLResponse.cpp: (WebKit::WebURLResponse::httpVersion): (WebKit): (WebKit::WebURLResponse::setHTTPVersion): * platform/network/chromium/ResourceResponse.h: (ResourceResponse): (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::httpVersion): (WebCore::ResourceResponse::setHTTPVersion): 2012-05-17 Levi Weintraub Floor y coordinate in Chromium's GraphicsContext::drawLineForText to avoid anti-aliasing https://bugs.webkit.org/show_bug.cgi?id=86775 Reviewed by Eric Seidel. Despite operating in floats, we always want to draw lines for text aligned to pixel boundaries. There are similar functions to do this in other platforms, but to get proper results, we only need to floor the y value, as we always draw these lines horizontally. No tests. No change in behavior prior to sub-pixel change. * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::drawLineForText): 2012-05-17 Michael Moss Linux amd64 platform reported as i686 https://bugs.webkit.org/show_bug.cgi?id=86778 http://code.google.com/p/chromium/issues/detail?id=128167 Remove the old hard-coded gyp define and allow the more recent (but still quite old) code in Source/WebCore/page/NavigatorBase.cpp to take precedence and detect this at runtime. Reviewed by Tony Chang. No new tests because it's hardware dependent. * WebCore.gyp/WebCore.gyp: 2012-05-17 Vangelis Kokkevis [chromium] Expose layer tiling size options to WebSettings. https://bugs.webkit.org/show_bug.cgi?id=86425 Removing hardcoded tile size and max untiled layer size from TiledLayerChromium and instead have the values passed in via the LTH CCSettings. This will allow different compositor instances to adjust tiling parameters as needed and makes it possible to set the values via command line arguments. Reviewed by Adrienne Walker. * platform/graphics/chromium/TiledLayerChromium.cpp: (WebCore::TiledLayerChromium::TiledLayerChromium): (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption): Made some additional adjustments to the single-tile heuristic to make it work better with arbitrary sizes while still avoiding to create unreasonably large layers. * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::initializeLayerRenderer): * platform/graphics/chromium/cc/CCLayerTreeHost.h: (WebCore::CCSettings::CCSettings): (CCSettings): 2012-05-17 Sudarsana Nagineni Memory leak in NetworkInfoClient https://bugs.webkit.org/show_bug.cgi?id=86603 Reviewed by Adam Barth. Fix a memory leak in NetworkInfoClient by using OwnPtr and change the class not to inherite from RefCounted. * Modules/networkinfo/NetworkInfoClient.h: 2012-05-17 Joshua Bell IndexedDB: Remove IDBIndex.storeName https://bugs.webkit.org/show_bug.cgi?id=86676 Reviewed by Tony Chang. Older versions of the IDB spec exposed IDBIndex.storeName. While it's been removed from the IDL, the additional storage/plumbing are unnecessary clutter. Nuke it! No new tests - no functional changes. * Modules/indexeddb/IDBIndexBackendImpl.cpp: (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): Remove storeName parameter, and const declaration on object store param. The former was used to get a non-const pointer via indirection in openCursorInternal. (WebCore::IDBIndexBackendImpl::openCursorInternal): Use store pointer directly, don't look it up by name in the transaction. * Modules/indexeddb/IDBIndexBackendImpl.h: (WebCore::IDBIndexBackendImpl::create): Remove storeName parameters. (IDBIndexBackendImpl): Remove storeName() method. * Modules/indexeddb/IDBIndexBackendInterface.h: (IDBIndexBackendInterface): Remove storeName parameter. * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: (WebCore::IDBObjectStoreBackendImpl::createIndex): Remove storeName parameter. (WebCore::IDBObjectStoreBackendImpl::loadIndexes): Remove storeName parameter. 2012-05-17 Joshua Bell IndexedDB: Implement IDBObjectStore.autoIncrement https://bugs.webkit.org/show_bug.cgi?id=86662 Reviewed by Dimitri Glazkov. Simple boolean accessor defined in the IDB spec, which reflects the object store's internal autoIncrement flag. Test: storage/indexeddb/objectstore-basics.html * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::autoIncrement): Forward call to back end. (WebCore): * Modules/indexeddb/IDBObjectStore.h: Expose attribute as method. (IDBObjectStore): * Modules/indexeddb/IDBObjectStore.idl: Define the attribute. * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Expose in interface. (IDBObjectStoreBackendInterface): 2012-05-17 Kentaro Hara [V8][Refactoring] Remove throwError("message", XXXError) from CodeGeneratorV8.pm https://bugs.webkit.org/show_bug.cgi?id=86744 Reviewed by Adam Barth. As commented in https://bugs.webkit.org/show_bug.cgi?id=84074#c5, I am refactoring a series of confusing throwError()s. This patch removes throwError("message", XXXError) in CodeGeneratorV8.pm and replaces it with throwTypeError("message") or throwError(XXXError, "message"). No tests. No change in behavior. * bindings/scripts/CodeGeneratorV8.pm: (GenerateParametersCheck): (GenerateConstructorCallback): (GenerateEventConstructorCallback): (GenerateNamedConstructorCallback): * bindings/scripts/test/V8/V8TestEventConstructor.cpp: (WebCore::V8TestEventConstructor::constructorCallback): * bindings/scripts/test/V8/V8TestInterface.cpp: (WebCore::V8TestInterface::constructorCallback): * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: (WebCore::V8TestNamedConstructorConstructorCallback): * bindings/scripts/test/V8/V8TestNode.cpp: (WebCore::V8TestNode::constructorCallback): * bindings/scripts/test/V8/V8TestObj.cpp: (WebCore::TestObjV8Internal::optionsObjectCallback): (WebCore::V8TestObj::constructorCallback): * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback): (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback): (WebCore::V8TestSerializedScriptValueInterface::constructorCallback): 2012-05-17 Gregg Tavares Add more descriptive warnings for framebuffer incomplete conditions https://bugs.webkit.org/show_bug.cgi?id=86774 Reviewed by Kenneth Russell. No new tests as there is no new functionality * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::checkStatus): (WebCore::WebGLFramebuffer::onAccess): (WebCore::WebGLFramebuffer::initializeRenderbuffers): * html/canvas/WebGLFramebuffer.h: (WebGLFramebuffer): * html/canvas/WebGLRenderingContext.cpp: (WebCore): (WebCore::WebGLRenderingContext::checkFramebufferStatus): (WebCore::WebGLRenderingContext::clear): (WebCore::WebGLRenderingContext::copyTexImage2D): (WebCore::WebGLRenderingContext::copyTexSubImage2D): (WebCore::WebGLRenderingContext::drawArrays): (WebCore::WebGLRenderingContext::drawElements): (WebCore::WebGLRenderingContext::readPixels): (WebCore::WebGLRenderingContext::printGLWarningToConsole): * html/canvas/WebGLRenderingContext.h: 2012-05-17 Oliver Hunt Endeavour to make the windows test bot actually able to run tests. https://bugs.webkit.org/show_bug.cgi?id=86772 Reviewed by Sam Weinig. Use WEBKIT_EXPORT to get correct export behaviour on windows, rather than relying on the .def files. * bindings/js/JSDOMGlobalObject.h: (JSDOMGlobalObject): * bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): 2012-05-17 Beth Dakin https://bugs.webkit.org/show_bug.cgi?id=86266 r112643/r116697 break Webview form input fields -and corresponding- Reviewed by Dan Bernstein. There is a recent history of changes in this are that seem worth documenting. First was the change to switch to using NSTextFieldCell to draw text fields: http://trac.webkit.org/changeset/104240 That led to problems because of the clear background that I thought at the time were specific to MountainLion. To fix that, I made this change: http://trac.webkit.org/changeset/110480 But that change resulted in styled text fields getting an un-themed border, which led to this change on the branch: http://trac.webkit.org/changeset/112643 and a change on TOT that was identical for Lion and SnowLeopard but introduced new behavior for MountainLion: http://trac.webkit.org/changeset/116697 And that brings us to this bug, where it turns out the clear background is a problem on Lion and SnowLeopard too. This patch fixes the bug by using the original WebCoreSystemInterface function to paint all text fields on Lion and SnowLeopard that are styled. This is what we used to paint all text fields before r104240, which is the first change listed above. Un-styled text fields will still use NSTextFieldCell on these platforms, but with a hardcoded white background. * rendering/RenderThemeMac.h: (RenderThemeMac): * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextField): (WebCore::RenderThemeMac::textField): 2012-05-15 Andreas Kling IconDatabase: Move icon retain/release off of the main thread. Reviewed by Brady Eidson. Batch up the retain/release operations and execute them as part of the sync thread loop. The batch execution is guarded by a new mutex (m_urlsToRetainOrReleaseLock.) This avoids blocking the main thread on m_urlAndIconLock for basic retain/release. There is one exception; if there are pending retain/release operations in synchronousIconForPageURL, it will acquire the lock and flush the operations. There should be no behavior change, this is only meant to reduce lock contention. * loader/icon/PageURLRecord.h: (WebCore::PageURLRecord::retain): (WebCore::PageURLRecord::release): Added a 'count' argument to these so we can batch up the operations in IconDatabase. * loader/icon/IconDatabase.h: * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::performScheduleOrDeferSyncTimer): (WebCore::IconDatabase::performScheduleOrDeferSyncTimerOnMainThread): (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Perform the the timer scheduling on the main thread as it can be done on a different thread by way of retainIconForPageURL or releaseIconForPageURL. (WebCore::IconDatabase::synchronousIconForPageURL): (WebCore::IconDatabase::retainIconForPageURL): (WebCore::IconDatabase::performRetainIconForPageURL): (WebCore::IconDatabase::releaseIconForPageURL): (WebCore::IconDatabase::performReleaseIconForPageURL): (WebCore::IconDatabase::retainedPageURLCount): (WebCore::IconDatabase::IconDatabase): (WebCore::IconDatabase::performURLImport): (WebCore::IconDatabase::syncThreadMainLoop): (WebCore::IconDatabase::performPendingRetainAndReleaseOperations): 2012-05-17 Julien Chaffraix Kill RenderLayer::relativePositionOffset(LayoutUnit& relX, LayoutUnit& relY) and cleanup RenderInline::clippedOverflowRectForRepaint https://bugs.webkit.org/show_bug.cgi?id=86551 Reviewed by Abhishek Arya. No test since there is no expected change in behavior. * rendering/RenderInline.cpp: (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed the function to use LayoutRect arithmetics instead of calculating top / left manually. While at it, improved the naming, removed some local variables and removed an unneeded style() NULL-check. * rendering/RenderLayer.h: Removed the function. 2012-05-17 Rob Buis [BlackBerry] Fix linking errors https://bugs.webkit.org/show_bug.cgi?id=86768 Reviewed by Antonio Gomes. Add some missing stubs so we can link again. * platform/blackberry/ContextMenuBlackBerry.cpp: (WebCore::ContextMenu::itemCount): (WebCore): * platform/blackberry/PlatformScreenBlackBerry.cpp: (WebCore::screenHorizontalDPI): (WebCore): (WebCore::screenVerticalDPI): 2012-05-17 Emil A Eklund Fix rounding in paintSelection https://bugs.webkit.org/show_bug.cgi?id=86693 Reviewed by Eric Seidel. Break out rounding logic from InlineTextBox::paintSelection into separate function and use it for all the EllipsisBox paintSelection implementation and selection gap calculation. This ensures that selections are painted without gaps and overlaps once we turn on subpixel layout. No new tests, covered by existing tests in editing/selection and editing/style. * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paintSelection): * rendering/InlineTextBox.cpp: (WebCore::alignSelectionRectToDevicePixels): (WebCore): (WebCore::InlineTextBox::paintSelection): * rendering/InlineTextBox.h: (WebCore): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::logicalLeftSelectionGap): (WebCore::RenderBlock::logicalRightSelectionGap): 2012-05-17 Michal Mocny [chromium] Limiting render surface texture manager memory to 0 when contentsMemoryUseBytes is large. https://bugs.webkit.org/show_bug.cgi?id=86764 Reviewed by Adrienne Walker. * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::beginDrawingFrame): 2012-05-17 Dan Bernstein In vertical writing modes, pagination may split a line after a block shifts https://bugs.webkit.org/show_bug.cgi?id=86763 Reviewed by Sam Weinig. Test: fast/multicol/pageLogicalOffset-vertical.html LayoutState::pageLogicalOffset() was returning bogus results in vertical writing modes, because it was always using physical heights. Changed it to take a RenderBox and use its writing mode to choose between heights and widths. * rendering/LayoutState.cpp: (WebCore::LayoutState::pageLogicalOffset): (WebCore::LayoutState::addForcedColumnBreak): * rendering/LayoutState.h: (LayoutState): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): (WebCore::RenderBlock::layoutColumns): (WebCore::RenderBlock::applyBeforeBreak): (WebCore::RenderBlock::applyAfterBreak): * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): 2012-05-17 Abhishek Arya Move run-in handling to addChild, instead of in layout. https://bugs.webkit.org/show_bug.cgi?id=86387 Reviewed by Julien Chaffraix. Tests: fast/runin/insert-before-run-in.html fast/runin/run-in-after-run-in.html fast/runin/run-in-parent-add-child.html fast/runin/run-in-parent-block-child-add-and-intrude.html fast/runin/run-in-parent-block-child-add.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle run-ins here instead of layout. We do run-in handling when we see a new child with run-in display or add a new block whose previous sibling is run-in. (WebCore::RenderBlock::makeChildrenNonInline): if we will have block children, need to move run-in back to its original position. (WebCore::RenderBlock::handleSpecialChild): no longer need to handle run-ins during layout. (WebCore::destroyRunIn): helper to destroy a block or inline run-in. (WebCore): (WebCore::RenderBlock::createReplacementRunIn): helper to create the new replacement run-in. For moveRunInUnderSiblingBlockIfNeeded, it will be used to create a new inline run-in that goes into the next sibling block. For moveRunInToOriginalPosition, it creates a new block run-in that goes back to where it came from. (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): almost same as previous handleRunInChild function, but with the return type removed. Also, we don't allow a run-in to intrude into a block that already has a run-in. (WebCore::RenderBlock::moveRunInToOriginalPosition): moves run-in back to where it came from. * rendering/RenderBlock.h: (RenderBlock): * rendering/RenderBox.cpp: * rendering/RenderBox.h: (RenderBox): * rendering/RenderBoxModelObject.cpp: move all moveChild* functions from RenderBox, since they can now be used to move children of inlines. (WebCore::RenderBoxModelObject::moveChildTo): same. (WebCore): (WebCore::RenderBoxModelObject::moveChildrenTo): same. * rendering/RenderBoxModelObject.h: (RenderBoxModelObject): (WebCore::RenderBoxModelObject::moveChildTo): same. (WebCore::RenderBoxModelObject::moveAllChildrenTo): same. (WebCore::RenderBoxModelObject::moveChildrenTo): same. 2012-05-17 Mikhail Naganov Support Copy ... actions for the Web Inspector remote debugging mode. https://bugs.webkit.org/show_bug.cgi?id=86621 Reviewed by Pavel Feldman. * English.lproj/localizedStrings.js: * inspector/front-end/InspectorFrontendHostStub.js: (.WebInspector.InspectorFrontendHostStub): (.WebInspector.InspectorFrontendHostStub.prototype.documentCopy): (.WebInspector.InspectorFrontendHostStub.prototype.copyText): (.WebInspector.clipboardAccessDeniedMessage): (.WebInspector.ClipboardAccessDeniedScreen): * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector.documentCopy): (WebInspector.documentCopyEventFired): 2012-05-02 Robert Hogan CSS 2.1 failure: table-height-algorithm-023 and -024 fail https://bugs.webkit.org/show_bug.cgi?id=85405 Reviewed by Eric Seidel. Treat vertical-align: [length] the same as vertical-align: baseline. Tests: css2.1/20110323/table-height-algorithm-023.htm css2.1/20110323/table-height-algorithm-024.htm fast/table/mozilla-bug10296-vertical-align-1.html fast/table/mozilla-bug10296-vertical-align-2.html * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowLogicalHeight): (WebCore::RenderTableSection::layoutRows): 2012-05-17 Emil A Eklund Fix rounding in RenderFlowThread::paintIntoRegion https://bugs.webkit.org/show_bug.cgi?id=86695 Reviewed by Eric Seidel. Fix rounding of offset in paintIntoRegion to ensure that we paint on device pixel boundaries. Covered by existing tests in fast/regions. * platform/graphics/FractionalLayoutPoint.h: (WebCore::roundedIntPoint): Add roundedIntPoint(FractionalLayoutSize) function. (WebCore): * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::paintIntoRegion): 2012-05-17 Andreas Kling Parser: Avoid unnecessary ref count churn in token constructors. Reviewed by Antti Koivisto. Pass AtomicString by const reference to avoid useless ref count churn in AtomicHTMLToken() and AtomicXMLToken(). * html/parser/HTMLToken.h: (WebCore::AtomicHTMLToken::AtomicHTMLToken): * xml/parser/MarkupTokenBase.h: (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase): * xml/parser/XMLToken.h: (WebCore::AtomicXMLToken::AtomicXMLToken): 2012-05-16 Andreas Kling Make PluginInfoStore properly thread-safe. Reviewed by Darin Adler. * plugins/PluginData.h: (WebCore::MimeClassInfo::isolatedCopy): (WebCore::PluginInfo::isolatedCopy): 2012-05-17 Hironori Bono [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer https://bugs.webkit.org/show_bug.cgi?id=86591 Reviewed by Ryosuke Niwa. This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection function to remove platform-specific code from Editor::respondToChangedSelection function. No new tests, no change in behavior. * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): * loader/EmptyClients.h: (WebCore::EmptyTextCheckerClient::shouldEraseMarkersAfterChangeSelection): * platform/text/TextCheckerClient.h: (TextCheckerClient): 2012-05-11 James Robinson [chromium] Convert GraphicsLayerChromium to use WebLayer types https://bugs.webkit.org/show_bug.cgi?id=86269 Reviewed by Adrienne Walker. This converts GraphicsLayerChromium over to use WebLayer and WebContentLayer. The conversion is not completely as the Web*Layer APIs are not yet quite complete enough to use everywhere, and the PlatformLayer typedef is not changed in this patch. The places where we have to punch out through API layer are marked by unwrap<*LayerChromium>() calls and FIXME's in the Web*Layer.h files. There aren't many. Refactor only, existing tests apply. * platform/chromium/support/WebTransformationMatrix.cpp: (WebKit): (WebKit::WebTransformationMatrix::reset): (WebKit::WebTransformationMatrix::projectPoint): * platform/graphics/chromium/GraphicsLayerChromium.cpp: (WebCore::GraphicsLayerChromium::GraphicsLayerChromium): (WebCore::GraphicsLayerChromium::willBeDestroyed): (WebCore::GraphicsLayerChromium::setName): (WebCore::GraphicsLayerChromium::updateNames): (WebCore::GraphicsLayerChromium::removeFromParent): (WebCore::GraphicsLayerChromium::setSize): (WebCore::GraphicsLayerChromium::setTransform): (WebCore::GraphicsLayerChromium::setBackgroundColor): (WebCore::GraphicsLayerChromium::clearBackgroundColor): (WebCore::GraphicsLayerChromium::setContentsOpaque): (WebCore::GraphicsLayerChromium::setFilters): (WebCore::GraphicsLayerChromium::setMaskLayer): (WebCore::GraphicsLayerChromium::setBackfaceVisibility): (WebCore::GraphicsLayerChromium::setOpacity): (WebCore::GraphicsLayerChromium::setReplicatedByLayer): (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay): (WebCore::GraphicsLayerChromium::setNeedsDisplay): (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): (WebCore::GraphicsLayerChromium::setContentsToImage): (WebCore::GraphicsLayerChromium::setContentsToCanvas): (WebCore::GraphicsLayerChromium::addAnimation): (WebCore::GraphicsLayerChromium::pauseAnimation): (WebCore::GraphicsLayerChromium::removeAnimation): (WebCore::GraphicsLayerChromium::suspendAnimations): (WebCore::GraphicsLayerChromium::resumeAnimations): (WebCore::GraphicsLayerChromium::setContentsToMedia): (WebCore::GraphicsLayerChromium::hostLayerForChildren): (WebCore::GraphicsLayerChromium::layerForParent): (WebCore::GraphicsLayerChromium::platformLayer): (WebCore::GraphicsLayerChromium::setDebugBackgroundColor): (WebCore::GraphicsLayerChromium::setDebugBorder): (WebCore::GraphicsLayerChromium::updateChildList): (WebCore::GraphicsLayerChromium::updateLayerPosition): (WebCore::GraphicsLayerChromium::updateLayerSize): (WebCore::GraphicsLayerChromium::updateAnchorPoint): (WebCore::GraphicsLayerChromium::updateTransform): (WebCore::GraphicsLayerChromium::updateChildrenTransform): (WebCore::GraphicsLayerChromium::updateMasksToBounds): (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor): (WebCore::GraphicsLayerChromium::updateContentsRect): (WebCore::GraphicsLayerChromium::updateContentsScale): (WebCore::GraphicsLayerChromium::setupContentsLayer): * platform/graphics/chromium/GraphicsLayerChromium.h: (WebCore::GraphicsLayerChromium::hasContentsLayer): (WebCore::GraphicsLayerChromium::contentsLayer): (WebCore::GraphicsLayerChromium::primaryLayer): (GraphicsLayerChromium): * platform/graphics/chromium/LayerChromium.h: (LayerChromium): 2012-05-17 Tony Chang remove bit rotted comment about css properties https://bugs.webkit.org/show_bug.cgi?id=86750 Reviewed by Alexis Menard. It's not clear to me what the first block was even referring to. Aural doesn't seem to exist anymore. It might be worth keeping, "All the CSS properties are not supported by the renderer at the moment.", but it seems obvious to me. No new tests, just removing a comment. * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): 2012-05-17 Adrienne Walker Insert source file and line number for v8 function calls into tracing https://bugs.webkit.org/show_bug.cgi?id=84613 Reviewed by Kentaro Hara. The trace for v8 function calls doesn't include any information about what function is being called. Pass this information along so it can be less opaque. * bindings/v8/V8Proxy.cpp: (WebCore::resourceInfo): (WebCore): (WebCore::resourceString): (WebCore::V8Proxy::instrumentedCallFunction): * platform/chromium/TraceEvent.h: (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy): 2012-05-17 Caio Marcelo de Oliveira Filho [Qt] REGRESSION(101967): It made editing/style/iframe-onload-crash-mac.html timeout https://bugs.webkit.org/show_bug.cgi?id=73802 Reviewed by Ryosuke Niwa. Timeout was caused by an infinite in the outer loop of pushDownInlineStyleAroundNode(). The outer loop variable 'current' should point at the node containing 'targetNode'. The inner loop traverse the children of 'current' and discover the children that contains 'targetNode'. However, before the inner loop, we call removeInlineStyleFromElement() that can potentially remove the 'current' node from the tree, moving its children to 'current' former parent. For that reason 'child' and 'lastChild' are collected before this call. The tricky part is that changing the 'current' children parent, we might trigger further side-effects, that can remove either 'child' or 'lastChild' from the tree too. The infinite loop was due to 'child' being off the document, so it's nextSibling() is 0, and we go another run of outer loop without changing 'current' because the 'targetNode' wasn't in the first child that inner loop couldn't reach. When testing Qt on Mac, there was also a crash in RenderTextControl when the font family was empty, this patch fixes it as well. * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Use NodeVector instead of relying on first/last child being valid after removeInlineStyleFromElement() is called. Skip the child if it has no parent, this is an indication that it was removed from the tree. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::hasValidAvgCharWidth): Empty AtomicStrings aren't supported by HashSet, so we have to early return in this case. 2012-05-17 Pavel Feldman Web Inspector: implement Go To selector for stylesheet files. https://bugs.webkit.org/show_bug.cgi?id=86751 Reviewed by Yury Semikhatsky. StyleSheetOutlineDialog is introduced. * English.lproj/localizedStrings.js: * inspector/front-end/FilteredItemSelectionDialog.js: * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._createDebugToolbar): (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts): (WebInspector.ScriptsPanel.prototype._showOutlineDialog): * inspector/front-end/StylesPanel.js: (WebInspector.StyleSheetOutlineDialog): (WebInspector.StyleSheetOutlineDialog.show): (WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt): (WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt): (WebInspector.StyleSheetOutlineDialog.prototype.itemsCount): (WebInspector.StyleSheetOutlineDialog.prototype.requestItems): (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet): (WebInspector.StyleSheetOutlineDialog.prototype.selectItem): * inspector/front-end/TabbedEditorContainer.js: (WebInspector.TabbedEditorContainer.prototype._generateTabId): (WebInspector.TabbedEditorContainer.prototype.currentFile): 2012-05-17 Dan Bernstein REGRESSION (r117428): WebKit API/SPI was removed https://bugs.webkit.org/show_bug.cgi?id=86748 Reverted r117428. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture): * testing/InternalSettings.h: (InternalSettings): * testing/InternalSettings.idl: 2012-05-17 Pavel Feldman Web Inspector: create SourceFrames with content providers. https://bugs.webkit.org/show_bug.cgi?id=86742 Reviewed by Vsevolod Vlasov. Simple refactoring. * inspector/front-end/JavaScriptSourceFrame.js: (WebInspector.JavaScriptSourceFrame): (WebInspector.JavaScriptSourceFrame.prototype.commitEditing): (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged): (WebInspector.JavaScriptSourceFrame.prototype._didEditContent): * inspector/front-end/ResourceView.js: (WebInspector.ResourceSourceFrame): (WebInspector.ResourceSourceFrame.prototype.get resource): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._createSourceFrame): * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame): (WebInspector.SourceFrame.prototype._ensureContentLoaded): * inspector/front-end/StylesPanel.js: (WebInspector.StyleSourceFrame): * inspector/front-end/UISourceCode.js: (WebInspector.UISourceCode.prototype.contentURL): 2012-05-17 Yury Semikhatsky Web Inspector: error when expanding an HTMLAllCollection object in the console https://bugs.webkit.org/show_bug.cgi?id=86741 Reviewed by Pavel Feldman. Test: inspector/console/inspect-html-all-collection.html * inspector/InjectedScriptSource.js: take into account that typeof HTMLAllCollection is "undefined" when checking if object resolved by id is valid. 2012-05-17 Kinuko Yasuda Unreviewed build fix attempt. Changing class to struct in forward declaration. * fileapi/File.h: (WebCore): 2012-05-17 Pavel Feldman Web Inspector: convert styles panel into UISourceCodeProvider in the scripts panel. https://bugs.webkit.org/show_bug.cgi?id=86734 Reviewed by Vsevolod Vlasov. This change also makes Scripts render ans Source Code under that experiment. * English.lproj/localizedStrings.js: * inspector/front-end/ScriptsNavigator.js: (WebInspector.ScriptsNavigator): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel): (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation): (WebInspector.ScriptsPanel.prototype._createSourceFrame): * inspector/front-end/Settings.js: (WebInspector.ExperimentsSettings): * inspector/front-end/StylesPanel.js: (WebInspector.StylesUISourceCodeProvider): (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes): (WebInspector.StylesUISourceCodeProvider.prototype._initialize): (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded): (WebInspector.StylesUISourceCodeProvider.prototype._reset): (WebInspector.StyleSource): (WebInspector.StyleSourceFrame): (WebInspector.StyleSourceFrame.prototype.canEditSource): (WebInspector.StyleSourceFrame.prototype.requestContent): (WebInspector.StyleSourceFrame.prototype.commitEditing): (WebInspector.StyleSourceFrame.prototype.afterTextChanged): (WebInspector.StyleSourceFrame.prototype._clearIncrementalUpdateTimer): (WebInspector.StyleSourceFrame.prototype._contentChanged): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection): (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode): * inspector/front-end/UISourceCode.js: * inspector/front-end/inspector.js: (WebInspector._createPanels): 2012-05-17 Antti Koivisto Frame flattening should not expand tiny frames https://bugs.webkit.org/show_bug.cgi?id=86736 Reviewed by Kenneth Rohde Christiansen. If a frame has so small fixed size that it is not usefully scrollable on desktop it is probably not meant to be scrolled. Displaying any otherwise invisible content by expanding the frame may end up looking like a rendering error. The patch prevents expansion of frames that have fixed width or height less than 8px. Test: fast/frames/flattening/iframe-tiny.html * rendering/RenderFrameBase.cpp: (WebCore::shouldExpandFrame): (WebCore): (WebCore::RenderFrameBase::layoutWithFlattening): 2012-05-17 Yury Semikhatsky [Chromium] Web Inspector: assertion failure when inspecting a shared worker in debug mode https://bugs.webkit.org/show_bug.cgi?id=86726 Reviewed by Pavel Feldman. No need to keep RefPtr to WorkerThread in a task that will be executed on that thread, raw pointer can be used instead. * inspector/WorkerDebuggerAgent.cpp: 2012-05-17 Kentaro Hara [V8][Refactoring] Support an optional 'message' argument for throwTypeError() https://bugs.webkit.org/show_bug.cgi?id=86576 Reviewed by Adam Barth. As commented in https://bugs.webkit.org/show_bug.cgi?id=84074#c5, I am planning to refactor a series of confusing throwError()s into throwError() and throwTypeError(). This patch supports an optional 'message' argument for V8Proxy::throwTypeError(). Also this patch replaces throwError("message", V8Proxy::TypeError) in custom bindings with V8Proxy::throwTypeError("message"). No tests. No change in behavior. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::throwTypeError): * bindings/v8/V8Proxy.h: (V8Proxy): * bindings/v8/custom/V8ArrayBufferViewCustom.h: (WebCore::constructWebGLArray): * bindings/v8/custom/V8AudioContextCustom.cpp: (WebCore::V8AudioContext::constructorCallback): * bindings/v8/custom/V8BlobCustom.cpp: (WebCore::V8Blob::constructorCallback): * bindings/v8/custom/V8DOMFormDataCustom.cpp: (WebCore::V8DOMFormData::constructorCallback): * bindings/v8/custom/V8DataViewCustom.cpp: (WebCore::V8DataView::constructorCallback): * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: (WebCore::v8HTMLImageElementConstructorCallback): * bindings/v8/custom/V8IntentConstructor.cpp: (WebCore::V8Intent::constructorCallback): * bindings/v8/custom/V8MessageChannelConstructor.cpp: (WebCore::V8MessageChannel::constructorCallback): * bindings/v8/custom/V8NotificationCenterCustom.cpp: (WebCore::V8NotificationCenter::requestPermissionCallback): * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: (WebCore::V8WebKitMutationObserver::constructorCallback): * bindings/v8/custom/V8WebKitPointConstructor.cpp: (WebCore::V8WebKitPoint::constructorCallback): * bindings/v8/custom/V8WebSocketCustom.cpp: (WebCore::V8WebSocket::constructorCallback): * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: (WebCore::V8XMLHttpRequest::constructorCallback): 2012-05-16 Andrey Kosyakov Web Inspector: [Extensions API] pages shown in sidebar are limited in height to 150px https://bugs.webkit.org/show_bug.cgi?id=86659 Reviewed by Vsevolod Vlasov. * inspector/front-end/ExtensionPanel.js: (WebInspector.ExtensionView): (WebInspector.ExtensionSidebarPane.prototype.setPage): set default iframe height to 150px, unless already set by user. * inspector/front-end/inspector.css: set extension view and iframe elements to "fill", iframe to 100% height. (iframe.extension): 2012-05-17 Sam D Web Inspector: Hover on a breakpoint in breakpoint-pane does not get differentiated. https://bugs.webkit.org/show_bug.cgi?id=86711 Changed color values with background on hover over breakpoints. Reviewed by Yury Semikhatsky. UI change, No new tests. * inspector/front-end/inspector.css: (.breakpoint-list li:hover): 2012-05-17 Vivek Galatage Web Inspector: DOM Breakpoints Pane should allow to Remove All the breakpoints https://bugs.webkit.org/show_bug.cgi?id=86716 Reviewed by Yury Semikhatsky. Added a new context menu to provide Remove All DOM breakpoint option. UI Feature. Tests not required. * English.lproj/localizedStrings.js: * inspector/front-end/DOMBreakpointsSidebarPane.js: (WebInspector.DOMBreakpointsSidebarPane.prototype._removeAllBreakpoints): (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu): 2012-05-17 Ilya Tikhonovsky Web Inspector: HeapSnapshot: speed-up calculateObjectToWindowDistance https://bugs.webkit.org/show_bug.cgi?id=86718 The idea is to switch from nodeIndex2distance array to nodeOrdinal2distance external array. Due to nature of nodeIndex values the original array was sparsed. Reviewed by Yury Semikhatsky. * inspector/front-end/HeapSnapshot.js: (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow): (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance): (WebInspector.HeapSnapshot.prototype._bfs): (WebInspector.HeapSnapshot.prototype._buildAggregates): 2012-05-11 Kinuko Yasuda Allow FileSystem API implementation to pass snapshot metadata at File creation time https://bugs.webkit.org/show_bug.cgi?id=78879 Reviewed by Jian Li. We query File metadata (e.g. size and modifiedTime) when File.size, lastModifiedTime or webkitSlice() is accessed / called, but in some platform-specific filesystems it may not be feasible since synchronous metadata query could take very long time. This patch adds new File constructor which takes metadata argument to allow each FileSystem API implementation to pass snapshot metadata so that File object could cache the given metadata not to make synchronous query. We only call this constructor if the filesystem type is neither Temporary nor Persistent, therefore this patch should not affect existing code behavior. Test: fast/filesystem/file-read-after-write.html * Modules/filesystem/DOMFileSystem.cpp: (WebCore::DOMFileSystem::createFile): * Modules/filesystem/DOMFileSystemSync.cpp: * fileapi/Blob.cpp: (WebCore::Blob::webkitSlice): Updated implementation. * fileapi/Blob.h: * fileapi/File.cpp: (WebCore::File::File): Added new constructor. (WebCore::File::lastModifiedDate): Updated implementation. (WebCore::File::size): Updated implementation. (WebCore::File::captureSnapshot): Updated implementation. * fileapi/File.h: (WebCore::File::createForFileSystemFile): Added. * platform/AsyncFileSystem.h: (AsyncFileSystem): Updated comment. 2012-05-17 Gyuyoung Kim Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface https://bugs.webkit.org/show_bug.cgi?id=86704 Reviewed by Eric Seidel. Add setDomainRelaxationForbiddenForURLScheme functions, because it is able to work in the cross-port way by means of the InternalSettings interface. No new tests, since we are improving here the infra-structure for testing a specific method. * testing/InternalSettings.cpp: (WebCore): (WebCore::InternalSettings::setDomainRelaxationForbiddenForURLScheme): * testing/InternalSettings.h: (InternalSettings): * testing/InternalSettings.idl: 2012-05-17 Shinya Kawanaka ShadowRoot.selection should be ShadowRoot.getSelection() https://bugs.webkit.org/show_bug.cgi?id=86598 Reviewed by Hajime Morita. In the latest spec, ShadowRoot.selection is changed to ShadowRoot.getSelection(). So update the implementation. * dom/ShadowRoot.cpp: * dom/ShadowRoot.h: (ShadowRoot): * dom/ShadowRoot.idl: 2012-05-17 Shinya Kawanaka [Refactoring] Remove TreeScopeAdjuster https://bugs.webkit.org/show_bug.cgi?id=86599 Reviewed by Hajime Morita. It seems the right place of the method of TreeScopeAdjuster are in VisibleSelection and TreeScope. So we can remove TreeScopeAdjuster. No new tests, no change in behavior. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * dom/DOMAllInOne.cpp: * dom/TreeScope.cpp: (WebCore::TreeScope::ancestorInThisScope): (WebCore): * dom/TreeScope.h: (TreeScope): * dom/TreeScopeAdjuster.cpp: Removed. * dom/TreeScopeAdjuster.h: Removed. * editing/VisibleSelection.cpp: (WebCore::VisibleSelection::adjustPositionBefore): (WebCore): (WebCore::VisibleSelection::adjustPositionAfter): (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): * editing/VisibleSelection.h: (VisibleSelection): * page/DOMSelection.cpp: (WebCore::DOMSelection::shadowAdjustedNode): (WebCore::DOMSelection::shadowAdjustedOffset): 2012-05-17 Zoltan Herczeg NEON intrinsic should be used with arithmetic mode of composite filter https://bugs.webkit.org/show_bug.cgi?id=86622 Reviewed by Nikolas Zimmermann. Rewrite hand written assembly code to increase portability and readibility of the code. Remove the unnecessary FECompositeArithmeticNEON.cpp from the project Existing tests cover this issue. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/filters/FEComposite.cpp: (WebCore): (WebCore::computeArithmeticPixels): (WebCore::arithmeticSoftware): (WebCore::FEComposite::platformArithmeticSoftware): * platform/graphics/filters/FEComposite.h: * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Removed. * platform/graphics/filters/arm/FECompositeArithmeticNEON.h: (WebCore): (WebCore::FEComposite::computeArithmeticPixelsNeon): (WebCore::FEComposite::platformArithmeticNeon): 2012-05-17 Takashi Sakamoto showNodePath will be useful for debugging purpose. https://bugs.webkit.org/show_bug.cgi?id=86450 This patch implements showNodePath, which outputs node information in a xpath-like format, e.g. /HTML/BODY/DIV[@id="test" and position()=0]/P[0] Reviewed by Hajime Morita. No new tests, just adding debugging interface. * dom/Node.cpp: (WebCore::Node::showNodePathForThis): (WebCore): (showNodePath): * dom/Node.h: (Node): 2012-05-17 Pravin D REGRESSION (r116331): RSS Headlines/links are missing (-webkit-box-flex broken?) https://bugs.webkit.org/show_bug.cgi?id=85991 Fix for regression failures on deprecated flex box test cases. Reviewed by Eric Seidel. Test: fast/css/deprecated-flex-box-zero-width-intrinsic-max-width.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::computePreferredLogicalWidths): Fix to use intrinsic width when the fixed width:0 , for deprecated flex boxes. 2012-05-17 Uday Kiran CSS3 Multicolumn: Content in normal flow extending into column gaps should be clipped at middle of column-gap https://bugs.webkit.org/show_bug.cgi?id=86441 Reviewed by Eric Seidel. Content in the normal flow that extends into column gaps (e.g., long words or images) is clipped in the middle of the column gap. http://www.w3.org/TR/css3-multicol/#overflow-inside-multicol-elements Test: fast/multicol/overflow-into-columngap.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintColumnContents): 2012-05-16 Sheriff Bot Unreviewed, rolling out r117372. http://trac.webkit.org/changeset/117372 https://bugs.webkit.org/show_bug.cgi?id=86710 "triggerring crashes" (Requested by morrita on #webkit). * Modules/webaudio/AudioParam.cpp: (WebCore::AudioParam::calculateSampleAccurateValues): (WebCore::AudioParam::calculateAudioRateSignalValues): (WebCore::AudioParam::connect): (WebCore::AudioParam::disconnect): * Modules/webaudio/AudioParam.h: (WebCore::AudioParam::context): (WebCore::AudioParam::hasSampleAccurateValues): (WebCore::AudioParam::AudioParam): (AudioParam): 2012-05-16 Hayato Ito Implement a Shadow DOM spec's section 6 'Events'. https://bugs.webkit.org/show_bug.cgi?id=78586 Reviewed by Dimitri Glazkov. This implements a Shadow DOM spec's section 6 'Events', introducing a new algorithm so that event dispatching use a composed shadow DOM tree, instead of normal DOM tree, in dispatching events to each node. The spec is here: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#events Summary of changes: - Attaching shadow DOM does not affect an event dispatching behavior of enclosing DOM tree. This applies even if some nodes are distributed to insertion points. We keep a compatibility of existing event dispatching mechanism so that we won't break Web. - Event ancestors, which are used in dispatching events in capture (or bubble) phase, are now the result of traversing ancestors in composed shadow DOM tree order, instead of normal DOM tree order. - Event's target and related-target are correctly adjusted so that we don't leak any node which is inaccessible from the event's current-target node. We enforce both upper and lower boundary encapsulation of Shadow DOM in event dispatching Here is an example of event dispatching. Suppose we have the following DOM tree, which includes some nested shadow hosts and insertion points A `--B-----[SR-B] |-C `--G--------------[SR-G] | `-D |- |--J---------------[SR-J] `-E `- | `- `- `-F | `--L---------------[SR-L] `- `- Notation: [SR-X]: Shadow Root : Insertion Point, called X, which selects Y. If a mouse moves from node '#F' to node '#D', the following 'mouseover' events are dispatched in each ancestor node: [currentTarget] [target] [related-target] #D #D #F #C #D #F #H #H #I #K #K #M #N #N #M #SR-J #N #M #J #K #M #SR-G #K #M #G #H #I #SR-B #H #I #B #D #F #A #D #F Details are: - Insertion points, such as or , are resolved correctly in calculating event ancestors. That means if a node is distributed to an insertion point, the insertion point is now an ancestor of the node in bubbling (or capturing) events. - Both insertion points and shadow roots now can receive events. We can add event listeners to insertion points and shadow roots. - Dispatched event's target is now adjusted correctly using the re-targeting algorithm. The algorithm is now fully aware of insertion points. - Dispatched event's related-target can now differ in each tree scope of event ancestors. We choose the most appropriate related-target using the related target resolution algorithm for each node. Performance consideration: This patch can achieve the competitive performance. The results of ./Tools/Scripts/run-perf-tests PerformanceTests/DOM/Events.html for before/after this patch are: Before applying this patch: Running DOM/Events.html (1 of 1) RESULT DOM: Events= 270.310714286 ms median= 269.75 ms, stdev= 2.0042397663 ms, min= 267.357142857 ms, max= 276.5 ms After applying this patch: Running DOM/Events.html (1 of 1) RESULT DOM: Events= 268.108333333 ms median= 267.5 ms, stdev= 2.41883157195 ms, min= 263.625 ms, max= 273.142857143 ms I've also conducted a micro benchmark using both Shadow-Free-DOM-Tree and DOM-Tree-With-Shadow-Host. See https://bugs.webkit.org/show_bug.cgi?id=78586#c40 for the results. It seems that the new implementation has more capabilities, but doesn't sacrifice a performance of event dispatching in either cases. Test: fast/dom/shadow/shadow-dom-event-dispatching.html * dom/ComposedShadowTreeWalker.cpp: (WebCore::ComposedShadowTreeWalker::parentIncludingInsertionPointAndShadowRoot): (WebCore): (WebCore::ComposedShadowTreeWalker::traverseParentIncludingInsertionPointAndShadowRoot): * dom/ComposedShadowTreeWalker.h: (ComposedShadowTreeWalker): * dom/EventContext.cpp: (WebCore::EventContext::EventContext): (WebCore::EventContext::handleLocalEvents): * dom/EventContext.h: (EventContext): (WebCore::EventContext::relatedTarget): (WebCore): (WebCore::EventContext::setRelatedTarget): * dom/EventDispatcher.cpp: (WebCore::EventRelatedTargetAdjuster::EventRelatedTargetAdjuster): (WebCore): (WebCore::EventRelatedTargetAdjuster::adjust): (WebCore::EventRelatedTargetAdjuster::findRelatedTarget): (WebCore::EventDispatcher::adjustRelatedTarget): (WebCore::EventDispatcher::ensureEventAncestors): (WebCore::EventDispatcher::dispatchEvent): (WebCore::EventDispatcher::determineDispatchBehavior): * dom/EventDispatcher.h: (WebCore): (EventRelatedTargetAdjuster): (EventDispatcher): * dom/MouseEvent.cpp: (WebCore::MouseEventDispatchMediator::dispatchEvent): * dom/MouseEvent.h: (WebCore::toMouseEvent): (WebCore): 2012-05-16 Ryosuke Niwa Moving caret up or down skips lines when there's a non-editable line https://bugs.webkit.org/show_bug.cgi?id=81490 Reviewed by Eric Seidel. The bug was caused by previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition skipping leaf nodes that constitute a new line and belong to the same editable region because block elements that separate lines are not editable so it looked as if all editable lines belong to a single line as far as those two functions are concerned. Fixed the bug by using the first leaf node that belongs to the same editable region but does not belong in the same as the start node. This patch is based on a patch authored by Yi Shen (Nokia). Test: editing/selection/move-between-lines-of-different-editabilities.html * editing/visible_units.cpp: (WebCore::previousRootInlineBoxCandidatePosition): (WebCore::nextRootInlineBoxCandidatePosition): 2012-05-16 MORITA Hajime Unreviewed attempt to fix Mac SL build. * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: 2012-05-16 Levi Weintraub Use pixelSnappedLogicalHeight for TableSection layout https://bugs.webkit.org/show_bug.cgi?id=86665 Reviewed by Eric Seidel. We do table layout using integers to ensure we follow the spec (see https://trac.webkit.org/wiki/LayoutUnit for details), but were previously flooring the logical height used in layoutRows. This caused us to mis- calculate the intrinsic padding and grow cells beyond their proper height. No new tests. Fully covered by existing tests with sub-pixel enabled. * rendering/RenderBox.h: (WebCore::RenderBox::pixelSnappedLogicalHeight): Added these convenience methods. (WebCore::RenderBox::pixelSnappedLogicalWidth): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): 2012-05-16 Tony Chang rename display:-webkit-flexbox to display:-webkit-flex https://bugs.webkit.org/show_bug.cgi?id=86529 Reviewed by Eric Seidel. Also renames -webkit-inline-flexbox to -webkit-inline-flex. No new tests. Covered by existing tests. * css/CSSParser.cpp: (WebCore::isValidKeywordPropertyAndValue): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): * css/CSSValueKeywords.in: Update keyword values. * css/StyleResolver.cpp: (WebCore::StyleResolver::collectMatchingRulesForList): * rendering/RenderObject.cpp: (WebCore::RenderObject::createObject): * rendering/RenderObject.h: (RenderObject): * rendering/style/RenderStyleConstants.h: Rename const values. 2012-05-16 Greg Billock IDL and implementation for Web Intents delivery https://bugs.webkit.org/show_bug.cgi?id=83634 Reviewed by Adam Barth. The delivered intent has some extra fields and methods (extras, postResult, postFailure) from the invocation intent. It is implemented as a subclass. Responses from the service JS are passed to an embedder client object provided when the intent is delivered. See http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html Test: webintents/web-intents-delivery.html * Modules/intents/DOMWindowIntents.cpp: Copied from Source/WebCore/Modules/intents/DOMWindowIntents.idl. (WebCore): (WebCore::DOMWindowIntents::DOMWindowIntents): (WebCore::DOMWindowIntents::~DOMWindowIntents): (WebCore::DOMWindowIntents::from): (WebCore::DOMWindowIntents::webkitIntent): (WebCore::DOMWindowIntents::deliver): * Modules/intents/DOMWindowIntents.h: Copied from Source/WebCore/Modules/intents/DOMWindowIntents.idl. (WebCore): (DOMWindowIntents): * Modules/intents/DOMWindowIntents.idl: * Modules/intents/DeliveredIntent.cpp: Copied from Source/WebCore/Modules/intents/Intent.h. (WebCore): (WebCore::DeliveredIntent::create): (WebCore::DeliveredIntent::DeliveredIntent): (WebCore::DeliveredIntent::ports): (WebCore::DeliveredIntent::getExtra): (WebCore::DeliveredIntent::postResult): (WebCore::DeliveredIntent::postFailure): * Modules/intents/DeliveredIntent.h: Copied from Source/WebCore/Modules/intents/Intent.h. (WebCore): (DeliveredIntent): (WebCore::DeliveredIntent::~DeliveredIntent): * Modules/intents/DeliveredIntent.idl: Copied from Source/WebCore/Modules/intents/Intent.h. * Modules/intents/Intent.h: (WebCore::Intent::~Intent): (Intent): * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * bindings/v8/custom/V8DeliveredIntentCustom.cpp: Copied from Source/WebCore/Modules/intents/Intent.h. (WebCore): (WebCore::V8DeliveredIntent::portsAccessorGetter): 2012-05-16 Kentaro Hara [V8][Refactoring] Replace throwError("message", XXXError) with throwError(XXXError, "message") https://bugs.webkit.org/show_bug.cgi?id=86579 Reviewed by Adam Barth. This is one of a series of refactoring commented in https://bugs.webkit.org/show_bug.cgi?id=84074#c5 Currently there are two equivalent throwError()s; i.e. throwError("message", XXXError) and throwError(XXXError, "message"). In this bug we replace throwError("message", XXXError) with throwError(XXXError, "message") (except for the case where XXXError == TypeError. This is because throwError("message", TypeError) will be replaced with throwTypeError("message") in a follow-up patch). No tests. No change in behavior. * bindings/v8/V8NPObject.cpp: (WebCore::npObjectInvokeImpl): (WebCore::npObjectGetProperty): (WebCore::npObjectSetProperty): (WebCore::npObjectPropertyEnumerator): * bindings/v8/V8Proxy.cpp: (WebCore::handleMaxRecursionDepthExceeded): * bindings/v8/custom/V8ArrayBufferCustom.cpp: (WebCore::V8ArrayBuffer::constructorCallback): * bindings/v8/custom/V8ArrayBufferViewCustom.h: (WebCore::constructWebGLArrayWithArrayBufferArgument): (WebCore::constructWebGLArray): * bindings/v8/custom/V8AudioContextCustom.cpp: (WebCore::V8AudioContext::constructorCallback): * bindings/v8/custom/V8BlobCustom.cpp: (WebCore::V8Blob::constructorCallback): * bindings/v8/custom/V8ClipboardCustom.cpp: (WebCore::V8Clipboard::clearDataCallback): (WebCore::V8Clipboard::setDragImageCallback): * bindings/v8/custom/V8DOMFormDataCustom.cpp: (WebCore::V8DOMFormData::appendCallback): * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: (WebCore::v8HTMLImageElementConstructorCallback): * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: (WebCore::V8WebKitMutationObserver::constructorCallback): * bindings/v8/custom/V8WebSocketCustom.cpp: (WebCore::V8WebSocket::constructorCallback): * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: (WebCore::V8XMLHttpRequest::constructorCallback): 2012-05-16 Kentaro Hara [V8] Pass Isolate to remaining toV8() https://bugs.webkit.org/show_bug.cgi?id=86570 Reviewed by Nate Chapin. The objective is to pass Isolate around in V8 bindings. This patch passes Isolate to toV8(). I've landed a bunch of patches to pass Isolate to toV8(), and this would be the last patch for passing Isolate to toV8(). No tests. No change in behavior. * bindings/v8/custom/V8HTMLCollectionCustom.cpp: (WebCore::getNamedItems): * bindings/v8/custom/V8IDBAnyCustom.cpp: (WebCore::toV8): 2012-05-16 James Robinson GraphicsContext3D interface should not be aware of CanvasRenderingContext https://bugs.webkit.org/show_bug.cgi?id=86550 Reviewed by Darin Adler. GraphicsContext3D is a WebCore/platform API construct. CanvasRenderingContext is a WebCore/html concept. Thus, the former shouldn't depend on the latter. In turns out that all everyone ever wants from a CanvasRenderingContext in GraphicsContext3D is its underlying ImageBuffer, which is a WebCore/platform concept, so this just updates the APIs and implementations to use that instead. Refactor only, no new tests. * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): * platform/graphics/GraphicsContext3D.h: * platform/graphics/cairo/DrawingBufferCairo.cpp: (WebCore::DrawingBuffer::paintCompositedResultsToCanvas): * platform/graphics/chromium/DrawingBufferChromium.cpp: (WebCore::DrawingBuffer::paintCompositedResultsToCanvas): * platform/graphics/clutter/DrawingBufferClutter.cpp: (WebCore::DrawingBuffer::paintCompositedResultsToCanvas): * platform/graphics/efl/GraphicsContext3DEfl.cpp: (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas): * platform/graphics/gpu/DrawingBuffer.h: * platform/graphics/gpu/qt/DrawingBufferQt.cpp: (WebCore::DrawingBuffer::paintCompositedResultsToCanvas): * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas): 2012-05-16 Joshua Bell SerializedScriptValue: lazy initialization of static nullValue not threadsafe https://bugs.webkit.org/show_bug.cgi?id=70833 Reviewed by Kentaro Hara. Remove unsafe lazy initialization of static |null| SSV. None of the callers appeared to be in performance-critical areas - most were preparing an event to be dispatched to script - so no per-call-site caching was added. No new tests - no functional changes. * bindings/js/SerializedScriptValue.cpp: Mint a new one each time. (WebCore::SerializedScriptValue::nullValue): * bindings/js/SerializedScriptValue.h: Return via PassRefPtr. * bindings/v8/SerializedScriptValue.cpp: Mint a new one each time. (WebCore::SerializedScriptValue::nullValue): * bindings/v8/SerializedScriptValue.h: Return via PassRefPtr. (SerializedScriptValue): * dom/Document.cpp: (WebCore::Document::statePopped): Change to PassRefPtr to maintain refcount. * dom/Document.h: (Document): 2012-05-16 James Robinson CachedImage does not clear the ImageObserver pointer when dropping its Image ref https://bugs.webkit.org/show_bug.cgi?id=86689 Reviewed by Eric Seidel. Image instances keep a weak pointer to their ImageObserver, which may be null. CachedImage is an ImageObserver and holds a RefPtr m_image. When CachedImage initializes its m_image to either an SVGImage or BitmapImage, it sets itself as that Image's ImageObserver. However, CachedImage never clears the ImageObserver pointer, even when dropping its reference to the Image. This means if other code holds a RefPtr there is no promise that calls on that Image will be valid. This patch clears the CachedImage::m_image's ImageObserver pointer whenever the CachedImage drops its reference. Image already has null checks for its m_imageObserver so this is always a safe operation. * loader/cache/CachedImage.cpp: (WebCore::CachedImage::~CachedImage): (WebCore::CachedImage::clear): 2012-05-16 Kentaro Hara [V8] Fix a broken copyright of V8SVGElementCustom.cpp https://bugs.webkit.org/show_bug.cgi?id=86569 Reviewed by Nate Chapin. This patch just fixes a broken copyright of V8SVGElementCustom.cpp. Blame changeset: r54153 No tests. No change in behavior. * bindings/v8/custom/V8SVGElementCustom.cpp: 2012-05-16 Kentaro Hara [V8] Pass Isolate to convertEventTargetToV8Object() https://bugs.webkit.org/show_bug.cgi?id=86566 Reviewed by Nate Chapin. The objective is to pass Isolate around in V8 bindings. This patch passes Isolate to convertEventTargetToV8Object(). I made the 'isolate' argument optional, since convertEventTargetToV8Object() can be called from the WebCore context. No tests. No change in behavior. * bindings/scripts/CodeGeneratorV8.pm: (NativeToJSValue): * bindings/v8/V8DOMWrapper.cpp: (WebCore): (WebCore::V8DOMWrapper::convertEventTargetToV8Object): * bindings/v8/V8DOMWrapper.h: (WebCore::V8DOMWrapper::convertEventTargetToV8Object): (V8DOMWrapper): 2012-05-16 Peter Kasting Correctly display malformed GIFs which specify bogus extension block sizes. https://bugs.webkit.org/show_bug.cgi?id=86531 Reviewed by James Robinson. This was broken by r117333, which was an attempt to avoid memory errors on GIFs that were malformed in a similar way. It turns out some GIFs in the wild (i.e. "our LayoutTests directory") relied on some of the effects of the old code. This refixes in a way that doesn't break these. No new tests, covered by existing tests. * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read): 2012-05-16 Chris Rogers AudioParam must support fan-in (multiple audio connections) https://bugs.webkit.org/show_bug.cgi?id=83610 Reviewed by Kenneth Russell. Test: webaudio/audioparam-summingjunction.html * Modules/webaudio/AudioParam.cpp: * Modules/webaudio/AudioParam.h: (WebCore::AudioParam::calculateSampleAccurateValues): (WebCore::AudioParam::calculateAudioRateSignalValues): Sums intrinsic parameter value with all audio-rate connections. (WebCore::AudioParam::connect): (WebCore::AudioParam::disconnect): Support multiple connections. (WebCore::AudioParam::hasSampleAccurateValues): If we have one or more audio-rate connections. (WebCore::AudioParam::AudioParam): AudioParam now sub-classes AudioSummingJunction. 2012-05-16 Kentaro Hara [V8] Pass Isolate to createV8HTMLWrapper() and createV8SVGWrapper() https://bugs.webkit.org/show_bug.cgi?id=86558 Reviewed by Nate Chapin. The objective is to pass Isolate around in V8 bindings. This patch passes Isolate to createV8HTMLWrapper() and createV8SVGWrapper(). Basically 'isolate' has been implemented as the last argument but before 'forceNewObject' argument, because 'forceNewObject' is an optional argument and omitted in most cases. Due to the convention, this patch puts 'isolate' before 'forceNewObject'. No tests. No change in behavior. * bindings/v8/custom/V8HTMLElementCustom.cpp: (WebCore::toV8): * bindings/v8/custom/V8SVGElementCustom.cpp: (WebCore::toV8): * dom/make_names.pl: (printWrapperFunctions): (printWrapperFactoryCppFile): (printWrapperFactoryHeaderFile): 2012-05-16 Ryosuke Niwa Move showStyle from CSSStyleDeclaration to StylePropertySet https://bugs.webkit.org/show_bug.cgi?id=86675 Reviewed by Andreas Kling. Moved the function. Also deleted CSSStyleDeclaration.cpp since it's no longer needed. * CMakeLists.txt: * GNUmakefile.list.am: * Target.pri: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * css/CSSAllInOne.cpp: * css/CSSStyleDeclaration.cpp: (WebCore): * css/CSSStyleDeclaration.h: (CSSStyleDeclaration): * css/StylePropertySet.cpp: (WebCore): (WebCore::StylePropertySet::showStyle): * css/StylePropertySet.h: (StylePropertySet): 2012-05-16 Martin Robinson Fix the indexed database build for GTK+. * GNUmakefile.list.am: Add missing files to the build. * bindings/gobject/GNUmakefile.am: Be smarter about filtering out deactivating indexed database. * bindings/scripts/CodeGeneratorGObject.pm: (SkipAttribute): Always skip attributes that return indexed database types. 2012-05-16 Jon Lee Animated GIFs in page cache get updated https://bugs.webkit.org/show_bug.cgi?id=86668 Reviewed by Brady Eidson. Test: fast/loader/image-in-page-cache.html * rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged): When we are notified by the CachedImage that the image has changed, we check to see if the document is in the page cache. If so, we should not be updating, so we bail out early. 2012-05-16 Tim Horton Crash if SVG gradient stop has display: none set https://bugs.webkit.org/show_bug.cgi?id=86686 Reviewed by Dean Jackson. Create a renderer for SVGStopElement regardless of the "display" property. This matches the behavior of Opera and the SVG specification. Test: svg/custom/gradient-stop-display-none-crash.svg * svg/SVGStopElement.cpp: (WebCore::SVGStopElement::rendererIsNeeded): (WebCore): * svg/SVGStopElement.h: (SVGStopElement): 2012-05-16 Dana Jansens [chromium] Clear the m_private pointer when destroying WebFilterOperations to avoid assert in WebPrivateOwnPtr https://bugs.webkit.org/show_bug.cgi?id=86654 Reviewed by James Robinson. * platform/chromium/support/WebFilterOperations.cpp: (WebKit::WebFilterOperations::reset): (WebKit::WebFilterOperations::destroy): (WebKit): 2012-05-16 Ryosuke Niwa REGRESSION(r92823): WebKit strips font-weight: normal from b element when copying https://bugs.webkit.org/show_bug.cgi?id=86663 Reviewed by Tony Chang. The bug was caused by removeStyleFromRulesAndContext incorrectly stripping font-weight property even when the context had no font-weight property because of a property name mismatch in getPropertiesNotIn. Fixed the mismatch. Test: editing/pasteboard/paste-text-with-style-5.html * editing/EditingStyle.cpp: (WebCore::getPropertiesNotIn): 2012-05-16 Ryosuke Niwa Merge nextRootInlineBox with nextLinePosition https://bugs.webkit.org/show_bug.cgi?id=81593 Reviewed by Enrica Casucci. Call previousRootInlineBox and nextRootInlineBox in previousLinePosition and nextLinePosition respectively to share the code. Moved out the nullity check of startBox and extracted the renderer's node from the former two, and added editableType to their argument lists to match the interface in both use cases. Also moved out the code to extract root inline box using RenderedPosition from those two functions and expanded in call sites since previousLinePosition and nextLinePosition need to return the candidate position even when the root inline box doesn't exist. To this end, renamed previousRootInlineBox and nextRootInlineBox to previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition respectively. In addition, got rid of one version of nextLeafWithSameEditability that adjusted node with respect to offset This variant did: Node* child = node->childNode(offset); node = child ? child->nextLeafNode() : node->lastDescendant()->nextLeafNode(); instead of: node = node->nextLeafNode(); at the beginning of the function. Observe that the former code is logically equivalent to: Node* child = node->childNode(offset); node = child ? child : node->lastDescendant(); node = node->nextLeafNode(); Thus, the first two lines of this logically equivalent code is added in nextLinePosition wherein we used to call the removed variant. This refactoring with no behavioral change would help us resolving the bug 81490. * editing/visible_units.cpp: (WebCore::previousRootInlineBoxCandidatePosition): Renamed from previousRootInlineBox. (WebCore::nextRootInlineBoxCandidatePosition): Renamed from nextRootInlineBox. (WebCore::logicallyPreviousBox): Checks the nullity of startBox's renderer and node. Also extracts the root inline box out of the position per the interface change. (WebCore::logicallyNextBox): Ditto. (WebCore::previousLinePosition): Calls previousRootInlineBoxCandidatePosition. (WebCore::nextLinePosition): Calls nextRootInlineBoxCandidatePosition. 2012-05-16 Noel Gordon [chromium] Remove ImageDecoderCG.cpp from platform/image-decoders https://bugs.webkit.org/show_bug.cgi?id=86346 Reviewed by Adam Barth. ImageDecoderCG.cpp was added for use in the Chromium port in r70846. Remove the implementation now that Chromium uses Skia on Mac OSX by default. No new tests. No change in behavior. * WebCore.gypi: Remove ImageDecoderCG.cpp from the gyp project. * platform/graphics/ImageSource.h: Revert the r70846 changes. * platform/image-decoders/ImageDecoder.cpp: Remove copyReferenceToBitmapData(). (WebCore::ImageFrame::operator=): Return to using copyBitmapData() (as it was) given the removal of copyReferenceToBitmapData() above. * platform/image-decoders/ImageDecoder.h: (ImageFrame): Remove copyReferenceToBitmapData() declaration. * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed, and it was the only decoder with a port-specific implementation of copyReferenceToBitmapData(). 2012-05-16 Raymond Toy Simplify AudioNode ref-counting by removing RefTypeDisabled https://bugs.webkit.org/show_bug.cgi?id=85681 Reviewed by Chris Rogers. Existing tests should cover these changes. * Modules/webaudio/AudioNode.cpp: Remove RefTypeDiabled and m_disabledRefCount. (WebCore::AudioNode::AudioNode): (WebCore::AudioNode::~AudioNode): (WebCore::AudioNode::enableOutputsIfNecessary): New (WebCore::AudioNode::ref): (WebCore::AudioNode::disableOutputsIfNecessary): New (WebCore::AudioNode::finishDeref): * Modules/webaudio/AudioNode.h: Remove RefTypeDisabled and m_disabledRefCount. * Modules/webaudio/AudioNodeInput.cpp: Removed uses of RefTypeDisbled. (WebCore::AudioNodeInput::disconnect): (WebCore::AudioNodeInput::disable): (WebCore::AudioNodeInput::enable): 2012-05-16 Ojan Vafai Fix perf regression from r116487 https://bugs.webkit.org/show_bug.cgi?id=86680 Reviewed by Ryosuke Niwa. http://trac.webkit.org/changeset/116487 caused a 6% regression on Dromaeo's dom-attr test. The issue is that we invalidated NodeList caches whenever an id/checked/type attribute changed. First, we don't need to invalidate on checked/type since that only affects the values return by NodeList items, not the list of items. Second, we only need to invalidate NodeList caches when an id attribute changes on a FormControlElement. Incidentally, we also don't need to invalidate caches for changes to attributes that don't have an ownerElement. No new tests. This is strictly a performance improvement. * dom/Attr.cpp: (WebCore::Attr::setValue): (WebCore::Attr::childrenChanged): * dom/Element.cpp: (WebCore::Element::attributeChanged): * dom/Node.cpp: (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): * dom/Node.h: (Node): 2012-04-22 Robert Hogan CSS 2.1 failure: inline-table-001 fails https://bugs.webkit.org/show_bug.cgi?id=84167 Reviewed by Julien Chaffraix. Override lastLineBoxBaseline() in RenderTable so that it picks up the baseline of the text in the first row of the table. This allows inline tables to find the correct baseline to align to. Tests: css2.1/20110323/inline-table-001.htm css2.1/20110323/inline-table-002a.htm css2.1/20110323/inline-table-003.htm fast/css/empty-cell-baseline.html * rendering/RenderTable.cpp: (WebCore::getLineBoxBaseline): (WebCore): (WebCore::RenderTable::lastLineBoxBaseline): (WebCore::RenderTable::firstLineBoxBaseline): * rendering/RenderTable.h: (RenderTable): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::firstLineBoxBaseline): if a cell is empty it cannot provide a baseline. Tested by fast/css/empty-cell-baseline.html 2012-05-16 Joshua Bell IndexedDB: Rename valid/finished methods to isValid/isFinished to match coding standard https://bugs.webkit.org/show_bug.cgi?id=86655 Reviewed by Tony Chang. No new tests - no functional changes. * Modules/indexeddb/IDBKey.h: (WebCore::IDBKey::isValid): valid() => isValid() * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::index): (WebCore::IDBObjectStore::transactionFinished): * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: (WebCore::IDBObjectStoreBackendImpl::put): (WebCore::IDBObjectStoreBackendImpl::putInternal): (WebCore::IDBObjectStoreBackendImpl::deleteFunction): * Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::onSuccess): * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::isFinished): finished() => isFinished() * Modules/indexeddb/IDBTransaction.h: * inspector/InspectorIndexedDBAgent.cpp: (WebCore): 2012-05-16 Jeffrey Pfau ImageLoader can still dispatch beforeload events for ImageDocuments https://bugs.webkit.org/show_bug.cgi?id=86658 Reviewed by Brady Eidson. Prevent flags regarding sending beforeload events from being set on ImageDocuments. No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript. * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): 2012-05-16 Julien Chaffraix layerX/layerY warning should be removed https://bugs.webkit.org/show_bug.cgi?id=86264 Reviewed by James Robinson. Covered by: fast/dom/Window/window-xy-properties.html fast/events/init-events.html fast/events/mouse-relative-position.html fast/events/mouseclick-target-and-positioning.html fast/events/simulated-click-coords.html jquery/event.html This change just removes the warning pending proper investigation. Longer explanation: The layerX/layerY warning was added prematurely as we didn't assess the web-compatibility potential breakage vs the maintenance cost. There is also not readily available replacement. * dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::layerX): (WebCore::MouseRelatedEvent::layerY): * dom/UIEvent.cpp: (WebCore::UIEvent::layerX): (WebCore::UIEvent::layerY): * dom/UIEvent.h: Removed warnDeprecatedLayerXYUsage and all the associated calls. 2012-05-16 Joshua Bell IndexedDB: Use accessors for backing store / database id in store/index backends https://bugs.webkit.org/show_bug.cgi?id=86652 Reviewed by Tony Chang. Hide the private members m_backingStore and m_databaseId of IDBObjectStoreBackendImpl and IDBIndexBackendImpl behind accessors. This is preparation for removing these members and only holding references to the IDBDatabaseBackendImpl: webkit.org/b/83074 No new tests - no functional changes. * Modules/indexeddb/IDBIndexBackendImpl.cpp: (WebCore::IDBIndexBackendImpl::openCursorInternal): (WebCore::IDBIndexBackendImpl::countInternal): (WebCore::IDBIndexBackendImpl::getInternal): (WebCore::IDBIndexBackendImpl::getByRangeInternal): (WebCore::IDBIndexBackendImpl::getKeyInternal): (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal): (WebCore::IDBIndexBackendImpl::addingKeyAllowed): * Modules/indexeddb/IDBIndexBackendImpl.h: (WebCore::IDBIndexBackendImpl::backingStore): Added. (WebCore::IDBIndexBackendImpl::databaseId): Added. (IDBIndexBackendImpl): * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal): (WebCore::IDBObjectStoreBackendImpl::getInternal): (WebCore::IDBObjectStoreBackendImpl::putInternal): (WebCore::IDBObjectStoreBackendImpl::deleteInternal): (WebCore::IDBObjectStoreBackendImpl::clearInternal): (WebCore): (WebCore::IDBObjectStoreBackendImpl::createIndex): (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): (WebCore::IDBObjectStoreBackendImpl::countInternal): (WebCore::IDBObjectStoreBackendImpl::loadIndexes): (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey): * Modules/indexeddb/IDBObjectStoreBackendImpl.h: (WebCore::IDBObjectStoreBackendImpl::backingStore): Added. (WebCore::IDBObjectStoreBackendImpl::databaseId): Added. (IDBObjectStoreBackendImpl): 2012-05-15 Peter Kasting Malformed GIF can cause decoder to read off end of heap buffer https://bugs.webkit.org/show_bug.cgi?id=86531 Reviewed by Adam Barth. Test: fast/images/read-past-end-of-buffer.html This test is only expected to catch problems if run under Address Sanitizer or a similar memory-checking utility. * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read): 2012-05-16 Varun Jain [chromium] No modifier flags (shift/ctrl/alt) in drag&drop events on chromium linux https://bugs.webkit.org/show_bug.cgi?id=86236 Reviewed by Tony Chang. ManualTests: ManualTests/chromium/modifiers-during-drag-and-drop.html * page/DragController.cpp: (WebCore::createMouseEvent): * platform/DragData.cpp: (WebCore): (WebCore::DragData::modifierKeyState): * platform/DragData.h: (DragData): * platform/chromium/ChromiumDataObject.cpp: (WebCore::ChromiumDataObject::ChromiumDataObject): * platform/chromium/ChromiumDataObject.h: (WebCore::ChromiumDataObject::modifierKeyState): (WebCore::ChromiumDataObject::setModifierKeyState): (ChromiumDataObject): * platform/chromium/DragDataChromium.cpp: (WebCore::DragData::modifierKeyState): (WebCore): 2012-05-16 Jer Noble