2009-12-03 Dimitri Glazkov Reviewed by Adam Barth. [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected. https://bugs.webkit.org/show_bug.cgi?id=32094 Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html * bindings/v8/DOMObjectsInclude.h: * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): (WebCore::V8DOMWrapper::convertToV8Object): (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object): * bindings/v8/V8DOMWrapper.h: * bindings/v8/V8GCController.cpp: (WebCore::ObjectGrouperVisitor::visitDOMWrapper): * bindings/v8/custom/V8CustomBinding.h: 2009-12-03 Pavel Feldman Reviewed by Timothy Hatcher. Chromium: Add support for settings containing ":" https://bugs.webkit.org/show_bug.cgi?id=32118 * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection): 2009-12-03 Rafael Antognolli , Kenneth Christiansen Reviewed by Simon Fraser. repaint events from outside the viewport aren't received https://bugs.webkit.org/show_bug.cgi?id=32081 When using a tiled backing store for painting, you need to receive event from outside the viewport. Setting the viewport to the size of the contents is not an option if you want to make use of WebCore's infrastructure for drawing scrollbars etc. A new property, paintsEntireContents, has been introduced for the above use-case. It is settable, as tiling will be optional for Qt, and for the not yet upstreamed EFL port, there will be two different views, where only one of them are tiled. No change in behavior, so no new tests added. * page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): * platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::setPaintsEntireContents): (WebCore::ScrollView::wheelEvent): * platform/ScrollView.h: (WebCore::ScrollView::paintsEntireContents): 2009-11-23 Jeremy Moskovich Reviewed by Eric Seidel. Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs. https://bugs.webkit.org/show_bug.cgi?id=31802 No test since this is already covered by existing pixel tests. * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac . * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations of Core Text functions that are public on 10.6 but SPI on 10.5. 2009-12-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Simplify the settings support in inspector controller. https://bugs.webkit.org/show_bug.cgi?id=32076 Test: inspector/settings-set-get.html * WebCore.Inspector.exp: * bindings/js/JSInspectorFrontendHostCustom.cpp: * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: * inspector/InspectorClient.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::setting): (WebCore::InspectorController::setSetting): (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::attachWindow): (WebCore::InspectorController::setAttachedWindowHeight): (WebCore::InspectorController::storeLastActivePanel): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::showWindow): (WebCore::InspectorController::enableResourceTracking): (WebCore::InspectorController::disableResourceTracking): (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded): (WebCore::InspectorController::enableProfiler): (WebCore::InspectorController::disableProfiler): (WebCore::InspectorController::enableDebuggerFromFrontend): (WebCore::InspectorController::disableDebugger): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::setting): (WebCore::InspectorFrontendHost::setSetting): * inspector/InspectorFrontendHost.h: * inspector/InspectorFrontendHost.idl: * loader/EmptyClients.h: (WebCore::EmptyInspectorClient::populateSetting): (WebCore::EmptyInspectorClient::storeSetting): 2009-12-03 Ben Murdoch Reviewed by Brady Eidson. [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed. https://bugs.webkit.org/show_bug.cgi?id=31915 No change in functionality so no new tests required. * history/HistoryItem.cpp: (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed. (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter. (WebCore::HistoryItem::setURLString): ditto. (WebCore::HistoryItem::setOriginalURLString): ditto. (WebCore::HistoryItem::setReferrer): ditto. (WebCore::HistoryItem::setTitle): ditto. (WebCore::HistoryItem::setTarget): ditto. (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed. (WebCore::HistoryItem::clearDocumentState): ditto. (WebCore::HistoryItem::setIsTargetItem): ditto. (WebCore::HistoryItem::addChildItem): ditto. (WebCore::HistoryItem::setFormInfoFromRequest): ditto. * history/HistoryItem.h: Update signature of notifyHistoryItemChanged. 2009-12-03 Ben Murdoch Reviewed by Brady Eidson. [Android] The FrameLoaderClient is unaware of BackForwardList changes. https://bugs.webkit.org/show_bug.cgi?id=31914 This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes. No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks. * history/BackForwardList.cpp: (WebCore::BackForwardList::addItem): Execute the callback. (WebCore::BackForwardList::goBack): ditto. (WebCore::BackForwardList::goForward): ditto. (WebCore::BackForwardList::goToItem): ditto. (WebCore::BackForwardList::setCapacity): dito. * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing. (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto. (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto. * loader/FrameLoaderClient.h: 2009-12-03 Ben Murdoch Reviewed by Brady Eidson. [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem. https://bugs.webkit.org/show_bug.cgi?id=31913 Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem. No new tests required as this is Android specific code. * history/HistoryItem.h: Add Android specific member data to HistoryItem. * history/android: Added. * history/android/AndroidWebHistoryBridge.h: Added. * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem. (WebCore::HistoryItem::bridge): Added. (WebCore::HistoryItem::setBridge): Added. 2009-12-03 Oliver Hunt Reviewed by Maciej Stachowiak. NULL ptr in SVGPathSegList::getPathSegAtLength() https://bugs.webkit.org/show_bug.cgi?id=30313 Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions. Add null checks to SVGList's content manipulation functions to prevent null values from entering the list in the first place. Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html * svg/SVGList.h: (WebCore::SVGList::initialize): (WebCore::SVGList::insertItemBefore): (WebCore::SVGList::replaceItem): (WebCore::SVGList::appendItem): * svg/SVGPathElement.cpp: (WebCore::SVGPathElement::getPathSegAtLength): * svg/SVGPathElement.h: * svg/SVGPathElement.idl: * svg/SVGPathSegList.cpp: (WebCore::SVGPathSegList::getPathSegAtLength): (WebCore::SVGPathSegList::toPathData): (WebCore::SVGPathSegList::createAnimated): * svg/SVGPathSegList.h: 2009-12-02 Yusuke Sato Reviewed by Eric Seidel. Sanitize web fonts using the OTS library https://bugs.webkit.org/show_bug.cgi?id=31106 Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face) and attempts to validate and sanitize them. We hope this reduces the attack surface of the system font libraries. * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library. * WebCore.gypi: Added new files below. * WebCore.xcodeproj/project.pbxproj: Ditto. * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font. (WebCore::createFontCustomPlatformData): * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto. (WebCore::createFontCustomPlatformData): * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added. (WebCore::OpenTypeSanitizer::sanitize): * platform/graphics/opentype/OpenTypeSanitizer.h: Added. (WebCore::OpenTypeSanitizer::OpenTypeSanitizer): 2009-12-02 Oliver Hunt Reviewed by Sam Weinig. Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe https://bugs.webkit.org/show_bug.cgi?id=32098 Fix is simply to make the ScriptFunctionCall stack allocated as nature intended. Doing this required adding an appendArgument(char*) to ScriptFunctionCall so that an explicit String cast would not be necessary. To prevent something like this happening again in future i've added private operator new implementations to ScriptFunctionCall making this type of mistake produce errors when compiling. Test case: Inspector tests now pass with GC on every alloc enabled. * bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): * bindings/js/ScriptFunctionCall.h: (WebCore::ScriptFunctionCall::operator new): (WebCore::ScriptFunctionCall::operator new[]): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): (WebCore::InspectorFrontend::addResource): (WebCore::InspectorFrontend::updateResource): (WebCore::InspectorFrontend::removeResource): (WebCore::InspectorFrontend::updateFocusedNode): (WebCore::InspectorFrontend::setAttachedWindow): (WebCore::InspectorFrontend::addRecordToTimeline): (WebCore::InspectorFrontend::parsedScriptSource): (WebCore::InspectorFrontend::failedToParseScriptSource): (WebCore::InspectorFrontend::addProfileHeader): (WebCore::InspectorFrontend::setRecordingProfile): (WebCore::InspectorFrontend::didGetProfileHeaders): (WebCore::InspectorFrontend::didGetProfile): (WebCore::InspectorFrontend::pausedScript): (WebCore::InspectorFrontend::setDocument): (WebCore::InspectorFrontend::setDetachedRoot): (WebCore::InspectorFrontend::setChildNodes): (WebCore::InspectorFrontend::childNodeCountUpdated): (WebCore::InspectorFrontend::childNodeInserted): (WebCore::InspectorFrontend::childNodeRemoved): (WebCore::InspectorFrontend::attributesUpdated): (WebCore::InspectorFrontend::didRemoveNode): (WebCore::InspectorFrontend::didGetChildNodes): (WebCore::InspectorFrontend::didApplyDomChange): (WebCore::InspectorFrontend::didGetEventListenersForNode): (WebCore::InspectorFrontend::didGetCookies): (WebCore::InspectorFrontend::didDispatchOnInjectedScript): (WebCore::InspectorFrontend::addDatabase): (WebCore::InspectorFrontend::selectDatabase): (WebCore::InspectorFrontend::didGetDatabaseTableNames): (WebCore::InspectorFrontend::addDOMStorage): (WebCore::InspectorFrontend::selectDOMStorage): (WebCore::InspectorFrontend::didGetDOMStorageEntries): (WebCore::InspectorFrontend::didSetDOMStorageItem): (WebCore::InspectorFrontend::didRemoveDOMStorageItem): (WebCore::InspectorFrontend::updateDOMStorage): (WebCore::InspectorFrontend::addNodesToSearchResult): (WebCore::InspectorFrontend::evaluateForTestInFrontend): * inspector/InspectorFrontend.h: 2009-12-02 Dave Hyatt Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we pass more CSS test suite stuff. Make the grammar stop enforcing the ordering of @namespace vs. @variables vs. @import. Just let the parser handle that instead. This simplifies the grammar and makes error handling deal with more cases correctly. Added fast/css/namespaces/namespaces-invalid-at-rules.xml * css/CSSGrammar.y: * css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseRule): (WebCore::CSSParser::createCharsetRule): (WebCore::CSSParser::createImportRule): (WebCore::CSSParser::createMediaRule): (WebCore::CSSParser::createKeyframesRule): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule): (WebCore::CSSParser::addNamespace): (WebCore::CSSParser::createVariablesRule): * css/CSSParser.h: 2009-12-02 Yusuke Sato Reviewed by Dan Bernstein. Safari/Chromium for Windows fails to load CJK WebFonts https://bugs.webkit.org/show_bug.cgi?id=31804 * platform/graphics/opentype/OpenTypeUtilities.cpp: (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces. 2009-12-02 Avi Drissman Reviewed by Darin Fisher. Chromium: Need tickmarks in scrollbar https://bugs.webkit.org/show_bug.cgi?id=32069 * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/chromium/ScrollbarThemeChromiumMac.h: Added. * platform/chromium/ScrollbarThemeChromiumMac.mm: Added. 2009-11-13 Timothy Hatcher Expose a function to set the value of an input element on behalf of the user. This function will dispatch the change event so the page is notified when autofill happens. Also dispatch a change event when a select element is changed by autofill. Would like a way to detect a login form AutoFill from JavaScript Reviewed by Darin Adler. * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header. * bindings/objc/DOMHTML.mm: (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so a change event is fired. This method is called by Safari autofill. * dom/Document.cpp: (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead of dispatching the change event directly to be consistent. * html/HTMLFormControlElement.cpp: (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked. * html/HTMLInputElement.h: * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages. * html/InputElement.h: Added setValueForUser. 2009-12-02 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: DOM tree selection disappears upon page refresh. https://bugs.webkit.org/show_bug.cgi?id=31142 Test: inspector/elements-panel-selection-on-refresh.html * inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::pushNodeByPathToFrontend): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptHost.idl: * inspector/InspectorBackend.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::close): (WebCore::InspectorController::releaseDOMAgent): (WebCore::InspectorController::resetScriptObjects): * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::~InspectorDOMAgent): (WebCore::InspectorDOMAgent::reset): (WebCore::InspectorDOMAgent::setDocument): (WebCore::InspectorDOMAgent::pushDocumentToFrontend): (WebCore::InspectorDOMAgent::nodeForPath): (WebCore::InspectorDOMAgent::pushNodePathToFrontend): * inspector/InspectorDOMAgent.h: * inspector/front-end/DOMAgent.js: (WebInspector.DOMNode.prototype._renumber): (WebInspector.DOMAgent.prototype._setDocument): * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode): (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode): (WebInspector.ElementsPanel.prototype.setDocument): * inspector/front-end/InjectedScript.js: (InjectedScript.pushNodeByPathToFrontend): * inspector/front-end/InjectedScriptAccess.js: 2009-12-01 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with all the @-rules we support. When escape sequences are present, the lexical scanner just returns a generic token name: ATKEYWORD. We have to process the escape sequences and then recheck against the rules we support with the final processed name. If we find a match, we mutate the token value to the appropriate rule name token, e.g., NAMESPACE_SYM. Added fast/css/namespaces/namespaces-escapes.xml * css/CSSParser.cpp: (WebCore::CSSParser::lex): (WebCore::CSSParser::recheckAtKeyword): (WebCore::CSSParser::text): * css/CSSParser.h: 2009-12-02 Anton Muhin Reviewed by Adam Barth.:w Allow to skip thread checks when accessing DOMDataStore for processes which run V8 in single thread mode. https://bugs.webkit.org/show_bug.cgi?id=31877 Should be covered by buildbots. * bindings/v8/V8DOMMap.cpp: (WebCore::getDOMDataStore): (WebCore::enableFasterDOMStoreAccess): (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): (WebCore::getDOMSVGElementInstanceMap): (WebCore::getDOMSVGObjectWithContextMap): * bindings/v8/V8DOMMap.h: 2009-12-02 Yury Semikhatsky Reviewed by Pavel Feldman. Code clean up: remove ScriptObjectQuarantine.* as a whole. https://bugs.webkit.org/show_bug.cgi?id=32060 * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/ScriptObjectQuarantine.cpp: Removed. * bindings/js/ScriptObjectQuarantine.h: Removed. * bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::quarantineValue): * bindings/js/ScriptValue.h: * bindings/v8/ScriptObjectQuarantine.cpp: Removed. * bindings/v8/ScriptObjectQuarantine.h: Removed. * bindings/v8/ScriptValue.h: (WebCore::ScriptValue::quarantineValue): * inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): * inspector/InspectorController.cpp: * inspector/InspectorDatabaseResource.cpp: (WebCore::InspectorDatabaseResource::bind): * inspector/InspectorFrontend.cpp: 2009-12-02 Fumitoshi Ukai Reviewed by Alexey Proskuryakov. WebSocket handshake check query component of URL https://bugs.webkit.org/show_bug.cgi?id=31617 Tests: websocket/tests/url-with-credential.html websocket/tests/url-with-empty-query.html websocket/tests/url-with-fragment.html websocket/tests/url-with-query-for-no-query.html websocket/tests/url-with-query.html * platform/KURLGoogle.cpp: (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty. * websockets/WebSocketHandshake.cpp: (WebCore::resourceName): added. add query component to path if specified. (WebCore::WebSocketHandshake::clientLocation): (WebCore::WebSocketHandshake::clientHandshakeMessage): 2009-12-01 David Levin Reviewed by Eric Seidel. Incorrect code in WebGLRenderingContext.cpp https://bugs.webkit.org/show_bug.cgi?id=32046 Fix incorrect code that happened to work. != has higher precendence than &. The simplest fix is to remove the "!= 0" which violates WebKit style guidelines anyway. Also added periods to few comments in the same function. * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::validateIndexArray): 2009-12-01 Kent Tamura Reviewed by Darin Adler. Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max, pattern and step attributes of HTMLInputElement. https://bugs.webkit.org/show_bug.cgi?id=31708 * html/HTMLInputElement.idl: 2009-12-01 Chris Fleizach Reviewed by Darin Adler. WAI-ARIA: implement support for ARIA drag and drop https://bugs.webkit.org/show_bug.cgi?id=32007 Test: platform/mac/accessibility/aria-drag-drop.html * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::supportsARIADropping): (WebCore::AccessibilityObject::supportsARIADragging): (WebCore::AccessibilityObject::isARIAGrabbed): (WebCore::AccessibilityObject::setARIAGrabbed): (WebCore::AccessibilityObject::determineARIADropEffects): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::supportsARIADropping): (WebCore::AccessibilityRenderObject::supportsARIADragging): (WebCore::AccessibilityRenderObject::isARIAGrabbed): (WebCore::AccessibilityRenderObject::setARIAGrabbed): (WebCore::AccessibilityRenderObject::determineARIADropEffects): * accessibility/AccessibilityRenderObject.h: * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): * html/HTMLAttributeNames.in: 2009-12-01 Adam Barth https://bugs.webkit.org/show_bug.cgi?id=21288 Unreviewed port of @sandbox to V8. * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::isEnabled): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::createWindow): 2009-12-01 Patrik Persson Reviewed by Darin Adler. Implement HTML5 sandbox attribute for iframes. http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox https://bugs.webkit.org/show_bug.cgi?id=21288 Tests: fast/frames/sandboxed-iframe-attribute-parsing.html fast/frames/sandboxed-iframe-forms.html fast/frames/sandboxed-iframe-navigation-allowed.html fast/frames/sandboxed-iframe-navigation-parent.html fast/frames/sandboxed-iframe-navigation-targetlink.html fast/frames/sandboxed-iframe-navigation-windowopen.html fast/frames/sandboxed-iframe-plugins.html fast/frames/sandboxed-iframe-scripting.html fast/frames/sandboxed-iframe-storage.html http/tests/security/sandboxed-iframe-document-cookie.html http/tests/security/sandboxed-iframe-modify-self.html http/tests/security/xss-DENIED-sandboxed-iframe.html http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation (WebCore::createWindow): * bindings/js/ScriptController.cpp: sandboxing scripts (WebCore::ScriptController::isEnabled): * dom/Document.cpp: (WebCore::Document::processHttpEquiv): (WebCore::Document::cookie): raise exception when accessed from sandbox (WebCore::Document::setCookie): raise exception when accessed from sandbox (WebCore::Document::initSecurityContext): updae sandbox status (WebCore::Document::updateSandboxFlags): * dom/Document.h: * dom/Document.idl: * html/HTMLAppletElement.cpp: sandboxing applets (WebCore::HTMLAppletElement::createRenderer): (WebCore::HTMLAppletElement::renderWidgetForJSBindings): (WebCore::HTMLAppletElement::canEmbedJava): * html/HTMLAppletElement.h: * html/HTMLAttributeNames.in: * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): (WebCore::HTMLFrameOwnerElement::setSandboxFlags): * html/HTMLFrameOwnerElement.h: (WebCore::HTMLFrameOwnerElement::sandboxFlags): * html/HTMLIFrameElement.cpp: sandbox attribute parsing (WebCore::parseSandboxAttribute): (WebCore::HTMLIFrameElement::parseMappedAttribute): * html/HTMLIFrameElement.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::getCookies): * loader/CrossOriginAccessControl.cpp: (WebCore::passesAccessControlCheck): * loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::init): (WebCore::FrameLoader::submitForm): sandboxing forms (WebCore::FrameLoader::requestObject): sandboxing plugins (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags * loader/FrameLoader.h: (WebCore::FrameLoader::ownerElementSandboxFlagsChanged): (WebCore::FrameLoader::isSandboxed): (WebCore::FrameLoader::sandboxFlags): * loader/FrameLoaderTypes.h: (WebCore::): * page/DOMWindow.cpp: disable storage and databases in sandboxed frames (WebCore::DOMWindow::sessionStorage): (WebCore::DOMWindow::localStorage): (WebCore::DOMWindow::openDatabase): * page/SecurityOrigin.cpp: added sandboxing status (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::canAccess): (WebCore::SecurityOrigin::canRequest): (WebCore::SecurityOrigin::toString): * page/SecurityOrigin.h: (WebCore::SecurityOrigin::setSandboxFlags): (WebCore::SecurityOrigin::isSandboxed): (WebCore::SecurityOrigin::canAccessDatabase): (WebCore::SecurityOrigin::canAccessStorage): * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::didReceiveData): 2009-12-01 Chris Fleizach Reviewed by David Kilzer. ARIA: support a way to create a static text object https://bugs.webkit.org/show_bug.cgi?id=32030 Test: accessibility/aria-text-role.html * accessibility/AccessibilityObject.cpp: (WebCore::createARIARoleMap): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::stringValue): (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): (WebCore::AccessibilityRenderObject::text): * accessibility/AccessibilityRenderObject.h: 2009-12-01 Oliver Hunt Reviewed by Maciej Stachowiak. Inspector crashes when collecting on every allocation https://bugs.webkit.org/show_bug.cgi?id=32044 The crash is caused by the prototype wrapper object getting collected when allocating the object that is going to use it as a prototype. Because the only reference to the prototype wrapper is through the new object's Structure it does not get marked automatically. * bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): * bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): 2009-12-01 Nikolas Zimmermann Reviewed by Simon Fraser. Add SVG animation test framework with 'snapshot' functionality https://bugs.webkit.org/show_bug.cgi?id=31897 Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController, for the use within the new SVG animation test framework (LayoutTests/svg/animations/) layoutTestController.sampleAnimationAtTime(, , ); to sample a svg animateMotion/animateColor/animate/set element at certain times. After the desired SVG animation starts and calling the method above, it's immediately forwarded to the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method a callback is fired used to sample the animation value at the target time. It's modelled similar to the CSS animation/transition testing framework, inspired by LayoutTests/animations/animation-test-helpers.js. Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only. Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal interaction, while animating. Test: svg/animations/animVal-basics.html * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: * svg/SVGDocumentExtensions.cpp: (WebCore::SVGDocumentExtensions::sampleAnimationAtTime): * svg/SVGDocumentExtensions.h: * svg/animation/SMILTimeContainer.cpp: (WebCore::SMILTimeContainer::SMILTimeContainer): (WebCore::SMILTimeContainer::sampleAnimationAtTime): (WebCore::SMILTimeContainer::updateAnimations): * svg/animation/SMILTimeContainer.h: 2009-12-01 Jens Alfke Reviewed by Darin Adler. Add convenience methods to Element and QualifiedName that take char* instead of AtomicString, in preparation for removing the implicit conversion between the two types (30187). https://bugs.webkit.org/show_bug.cgi?id=31749 * dom/Element.cpp: (WebCore::Element::setCStringAttribute): Equivalent to setAttribute. * dom/Element.h: * dom/QualifiedName.cpp: (WebCore::QualifiedName::init): Shared impl of both constructors (WebCore::QualifiedName::QualifiedName): New c'tor taking char*. * dom/QualifiedName.h: * platform/network/HTTPHeaderMap.cpp: (WebCore::CaseFoldingCStringTranslator): Enables lookup by C string (WebCore::HTTPHeaderMap::get): New variant that takes C string (WebCore::HTTPHeaderMap::contains): New variant that takes C string (WebCore::HTTPHeaderMap::add): New variant that takes C string * platform/network/HTTPHeaderMap.h: (WebCore::HTTPHeaderMap::get): (WebCore::HTTPHeaderMap::add): * platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::httpHeaderField): New variant that takes C string * platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::setHTTPHeaderField): Use symbolic names for headers * platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::httpHeaderField): New variant that takes C string * platform/network/ResourceResponseBase.h: 2009-12-01 Alexey Proskuryakov More Windows build fix. * platform/network/cf/CredentialStorageCFNet.cpp: (WebCore::CredentialStorage::getFromPersistentStorage): 2009-12-01 Alexey Proskuryakov Windows build fix. * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h. 2009-12-01 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=32036 Implement CredentialStorage::getFromPersistentStorage for CFNetwork * platform/network/cf/CredentialStorageCFNet.cpp: (WebCore::CredentialStorage::getFromPersistentStorage): 2009-12-01 Daniel Bates Reviewed by Pavel Feldman. https://bugs.webkit.org/show_bug.cgi?id=32001 Added missing localized strings (that I left out of the patch for bug #21554): %d × %d pixels %d × %d pixels (Natural: %d × %d pixels) Also, changed formatting of these stings to conform with existing ones (added a space on both sides of the multiply sign). * English.lproj/localizedStrings.js: Added stings. * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): 2009-12-01 Dave Hyatt Reviewed by Simon Fraser. Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS. Added fast/css/namespaces/namespaces-empty.xml * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addNamespace): (WebCore::CSSStyleSheet::determineNamespace): 2009-12-01 Joseph Pecoraro Reviewed by Timothy Hatcher. Web Inspector: Escape key in the Search Field should be more User Friendly https://bugs.webkit.org/show_bug.cgi?id=32005 * inspector/front-end/inspector.js: (WebInspector.loaded): add mousedown listener on the search field (WebInspector.searchFieldManualFocus): user clicked to focus on the search field (WebInspector.searchKeyDown): handle escape 2009-12-01 Dave Hyatt Reviewed by David Kilzer. @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match the spec. Not doing so prevent comments from being used immmediately after the namespace prefix. Added fast/css/namespaces-comments.xml * css/CSSGrammar.y: 2009-12-01 Yael Aharon Reviewed by Timothy Hatcher. Reloading WebInspector from context menu is closing it instead of reloading. https://bugs.webkit.org/show_bug.cgi?id=32004 When reloading WebInspector, don't delete its m_page. * inspector/InspectorController.cpp: (WebCore::InspectorController::close): 2009-12-01 Steve Block Reviewed by Dimitri Glazkov. Adds V8 bindings for Geolocation. https://bugs.webkit.org/show_bug.cgi?id=30206 Also adds Geolocation files to Chrome build files. * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files. * WebCore.gypi: Modified. Adds Geolocation files. * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes. * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files. * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers. * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES. * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties. * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters. * bindings/v8/custom/V8CustomPositionCallback.cpp: Added. (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor. (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor. (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback. * bindings/v8/custom/V8CustomPositionCallback.h: Added. (WebCore::V8CustomPositionCallback::create): Added. Factory method. * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added. (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor. (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor. (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback. * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added. (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method. * bindings/v8/custom/V8GeolocationCustom.cpp: Added. (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error. (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument. (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument. (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument. 2009-12-01 Yury Semikhatsky Reviewed by Adam Barth. Provide a way to get ScriptState for the inspected page. https://bugs.webkit.org/show_bug.cgi?id=32020 * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState): * bindings/v8/ScriptController.h: * bindings/v8/ScriptState.cpp: (WebCore::scriptStateFromPage): 2009-12-01 Chris Marrin Reviewed by Adam Roben. Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns https://bugs.webkit.org/show_bug.cgi?id=30778 * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::getProgramInfoLog): (WebCore::GraphicsContext3D::getShaderInfoLog): (WebCore::GraphicsContext3D::getShaderSource): (WebCore::imageToTexture): 2009-12-01 Mads Ager Reviewed by Eric Seidel. [V8] Don't crash in DOMWindow event getter in OOM situations https://bugs.webkit.org/show_bug.cgi?id=32017 Add missing null handle checks in DOMWindow event property accessors. V8Proxy::context(frame) can return a null handle in OOM situations either if failing to initialize a context or if an OOM is handled gracefully and javascript is disabled. No new tests because we don't have a good way to test out-of-memory bugs. * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER): 2009-12-01 Chris Marrin Reviewed by Oliver Hunt. Updated HTMLCanvasElement to accept "experimental-webgl" as the context name. https://bugs.webkit.org/show_bug.cgi?id=31672 * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): 2009-12-01 Pavel Feldman Not reviewed: chromium build fix, added missing import. * inspector/InspectorFrontendHost.cpp: 2009-12-01 Pavel Feldman Not reviewed: fix windows build via unexcluding generated files from project. * WebCore.vcproj/WebCore.vcproj: 2009-12-01 Mark Rowe Stop copying IDL files in to the WebCore framework wrapper. * WebCore.xcodeproj/project.pbxproj: 2009-12-01 Mark Rowe Fix the Tiger build by making the Xcode project compatible with Xcode 2.4. This was probably broken by hand-editing the project file as Xcode itself knows how to keep project files to a backwards-compatible subset of its format. * WebCore.xcodeproj/project.pbxproj: 2009-12-01 Pavel Feldman Not reviewed: windows build fix (bad vcproj in r51528). * WebCore.vcproj/WebCore.vcproj: 2009-11-27 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Split InspectorBackend into three parts: backend, injected script host and frontend host. https://bugs.webkit.org/show_bug.cgi?id=31888 * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * bindings/js/JSBindingsAllInOne.cpp: * bindings/js/JSInspectorBackendCustom.cpp: Removed. * bindings/js/JSInspectorFrontendHostCustom.cpp: Added. (WebCore::JSInspectorFrontendHost::search): (WebCore::JSInspectorFrontendHost::setting): (WebCore::JSInspectorFrontendHost::setSetting): * bindings/js/ScriptObject.cpp: (WebCore::ScriptGlobalObject::set): * bindings/js/ScriptObject.h: * bindings/v8/DOMObjectsInclude.h: * bindings/v8/DerivedSourcesAllInOne.cpp: * bindings/v8/ScriptObject.cpp: (WebCore::ScriptGlobalObject::set): * bindings/v8/ScriptObject.h: * bindings/v8/V8Index.cpp: * bindings/v8/V8Index.h: * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed. * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): * inspector/InjectedScriptHost.cpp: Added. (WebCore::InjectedScriptHost::InjectedScriptHost): (WebCore::InjectedScriptHost::~InjectedScriptHost): (WebCore::InjectedScriptHost::copyText): (WebCore::InjectedScriptHost::nodeForId): (WebCore::InjectedScriptHost::wrapObject): (WebCore::InjectedScriptHost::unwrapObject): (WebCore::InjectedScriptHost::pushNodePathToFrontend): (WebCore::InjectedScriptHost::addNodesToSearchResult): (WebCore::InjectedScriptHost::currentCallFrame): (WebCore::InjectedScriptHost::databaseForId): (WebCore::InjectedScriptHost::selectDatabase): (WebCore::InjectedScriptHost::selectDOMStorage): (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript): (WebCore::InjectedScriptHost::inspectorDOMAgent): (WebCore::InjectedScriptHost::inspectorFrontend): * inspector/InjectedScriptHost.h: Added. (WebCore::InjectedScriptHost::create): (WebCore::InjectedScriptHost::inspectorController): (WebCore::InjectedScriptHost::disconnectController): * inspector/InjectedScriptHost.idl: Added. * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::InspectorBackend): (WebCore::InspectorBackend::storeLastActivePanel): (WebCore::InspectorBackend::toggleNodeSearch): (WebCore::InspectorBackend::resourceTrackingEnabled): (WebCore::InspectorBackend::debuggerEnabled): (WebCore::InspectorBackend::enableDebugger): (WebCore::InspectorBackend::disableDebugger): (WebCore::InspectorBackend::addBreakpoint): (WebCore::InspectorBackend::updateBreakpoint): (WebCore::InspectorBackend::removeBreakpoint): (WebCore::InspectorBackend::pauseInDebugger): (WebCore::InspectorBackend::resumeDebugger): (WebCore::InspectorBackend::stepOverStatementInDebugger): (WebCore::InspectorBackend::stepIntoStatementInDebugger): (WebCore::InspectorBackend::stepOutOfFunctionInDebugger): (WebCore::InspectorBackend::pauseOnExceptions): (WebCore::InspectorBackend::setPauseOnExceptions): (WebCore::InspectorBackend::profilerEnabled): (WebCore::InspectorBackend::enableProfiler): (WebCore::InspectorBackend::disableProfiler): (WebCore::InspectorBackend::startProfiling): (WebCore::InspectorBackend::stopProfiling): (WebCore::InspectorBackend::getProfileHeaders): (WebCore::InspectorBackend::getProfile): (WebCore::InspectorBackend::currentCallFrame): (WebCore::InspectorBackend::highlightDOMNode): (WebCore::InspectorBackend::hideDOMNodeHighlight): (WebCore::InspectorBackend::getCookies): (WebCore::InspectorBackend::deleteCookie): (WebCore::InspectorBackend::didEvaluateForTestInFrontend): (WebCore::InspectorBackend::nodeForId): * inspector/InspectorBackend.h: (WebCore::InspectorBackend::create): * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::~InspectorController): (WebCore::InspectorController::inspectedPageDestroyed): (WebCore::InspectorController::windowScriptObjectAvailable): * inspector/InspectorController.h: (WebCore::InspectorController::inspectorFrontendHost): (WebCore::InspectorController::injectedScriptHost): * inspector/InspectorFrontendHost.cpp: Added. (WebCore::InspectorFrontendHost::InspectorFrontendHost): (WebCore::InspectorFrontendHost::~InspectorFrontendHost): (WebCore::InspectorFrontendHost::loaded): (WebCore::InspectorFrontendHost::attach): (WebCore::InspectorFrontendHost::detach): (WebCore::InspectorFrontendHost::closeWindow): (WebCore::InspectorFrontendHost::windowUnloading): (WebCore::InspectorFrontendHost::setAttachedWindowHeight): (WebCore::InspectorFrontendHost::moveWindowBy): (WebCore::InspectorFrontendHost::localizedStringsURL): (WebCore::InspectorFrontendHost::hiddenPanels): (WebCore::InspectorFrontendHost::platform): (WebCore::InspectorFrontendHost::port): (WebCore::InspectorFrontendHost::addResourceSourceToFrame): (WebCore::InspectorFrontendHost::addSourceToFrame): * inspector/InspectorFrontendHost.h: Added. (WebCore::InspectorFrontendHost::create): (WebCore::InspectorFrontendHost::inspectorController): (WebCore::InspectorFrontendHost::disconnectController): * inspector/InspectorFrontendHost.idl: Added. * inspector/front-end/Breakpoint.js: (WebInspector.Breakpoint.prototype.set condition): * inspector/front-end/BreakpointsSidebarPane.js: (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.clearMessages): * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype._deleteCookieCallback): * inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent.prototype.getChildNodesAsync): (WebInspector.DOMAgent.prototype.setAttributeAsync): (WebInspector.DOMAgent.prototype.removeAttributeAsync): (WebInspector.DOMAgent.prototype.setTextNodeValueAsync): (WebInspector.Cookies.getCookiesAsync): (WebInspector.EventListeners.getEventListenersForNodeAsync): * inspector/front-end/DOMStorage.js: (WebInspector.DOMStorage.prototype.getEntries): (WebInspector.DOMStorage.prototype.setItem): (WebInspector.DOMStorage.prototype.removeItem): * inspector/front-end/Database.js: (WebInspector.Database.prototype.getTableNames): * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.hide): (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype.handleCopyEvent): (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked): * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode): (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): (): * inspector/front-end/EventListenersSidebarPane.js: (WebInspector.EventListenersSidebarPane.prototype): * inspector/front-end/InjectedScript.js: (InjectedScript._evaluateAndWrap): (InjectedScript.performSearch.addNodesToResults): (InjectedScript.getCallFrames): (InjectedScript._callFrameForId): (InjectedScript._clearConsoleMessages): (InjectedScript._inspectObject): (InjectedScript._copy): (InjectedScript._ensureCommandLineAPIInstalled): (InjectedScript._window): (InjectedScript._nodeForId): (InjectedScript._objectForId): (InjectedScript.pushNodeToFrontend): (InjectedScript.executeSql): (InjectedScript.executeSql.errorCallback): (InjectedScript.executeSql.queryTransaction): * inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): (InjectedScriptAccess._installHandler): * inspector/front-end/InspectorBackendStub.js: Added. (.WebInspector.InspectorBackendStub): (.WebInspector.InspectorBackendStub.prototype.wrapCallback): (.WebInspector.InspectorBackendStub.prototype.platform): (.WebInspector.InspectorBackendStub.prototype.port): (.WebInspector.InspectorBackendStub.prototype.closeWindow): (.WebInspector.InspectorBackendStub.prototype.attach): (.WebInspector.InspectorBackendStub.prototype.detach): (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel): (.WebInspector.InspectorBackendStub.prototype.clearMessages): (.WebInspector.InspectorBackendStub.prototype.searchingForNode): (.WebInspector.InspectorBackendStub.prototype.search): (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch): (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight): (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted): (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame): (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame): (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode): (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode): (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight): (.WebInspector.InspectorBackendStub.prototype.inspectedWindow): (.WebInspector.InspectorBackendStub.prototype.loaded): (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL): (.WebInspector.InspectorBackendStub.prototype.windowUnloading): (.WebInspector.InspectorBackendStub.prototype.hiddenPanels): (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled): (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking): (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking): (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled): (.WebInspector.InspectorBackendStub.prototype.enableDebugger): (.WebInspector.InspectorBackendStub.prototype.disableDebugger): (.WebInspector.InspectorBackendStub.prototype.addBreakpoint): (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint): (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint): (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger): (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions): (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions): (.WebInspector.InspectorBackendStub.prototype.resumeDebugger): (.WebInspector.InspectorBackendStub.prototype.profilerEnabled): (.WebInspector.InspectorBackendStub.prototype.enableProfiler): (.WebInspector.InspectorBackendStub.prototype.disableProfiler): (.WebInspector.InspectorBackendStub.prototype.startProfiling): (.WebInspector.InspectorBackendStub.prototype.stopProfiling): (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders): (.WebInspector.InspectorBackendStub.prototype.getProfile): (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot): (.WebInspector.InspectorBackendStub.prototype.databaseTableNames): (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger): (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger): (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger): (.WebInspector.InspectorBackendStub.prototype.setSetting): (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript): (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup): (.WebInspector.InspectorBackendStub.prototype.setting): * inspector/front-end/InspectorControllerStub.js: * inspector/front-end/InspectorFrontendHostStub.js: Added. (.WebInspector.InspectorFrontendHostStub): (.WebInspector.InspectorFrontendHostStub.prototype.platform): (.WebInspector.InspectorFrontendHostStub.prototype.port): (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow): (.WebInspector.InspectorFrontendHostStub.prototype.attach): (.WebInspector.InspectorFrontendHostStub.prototype.detach): (.WebInspector.InspectorFrontendHostStub.prototype.search): (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight): (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy): (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame): (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame): (.WebInspector.InspectorFrontendHostStub.prototype.loaded): (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL): (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels): (.WebInspector.InspectorFrontendHostStub.prototype.setSetting): (.WebInspector.InspectorFrontendHostStub.prototype.setting): * inspector/front-end/ProfileView.js: (WebInspector.CPUProfileView): (WebInspector.CPUProfileType.prototype.buttonClicked): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype._updateInterface): (WebInspector.ProfilesPanel.prototype._enableProfiling): (WebInspector.ProfilesPanel.prototype._toggleProfiling): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.reset): (WebInspector.ResourcesPanel.prototype._toggleLargerResources): (WebInspector.ResourcesPanel.prototype._enableResourceTracking): (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): * inspector/front-end/ScriptView.js: (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.show): (WebInspector.ScriptsPanel.prototype.addScript): (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown): (WebInspector.ScriptsPanel.prototype.reset): (WebInspector.ScriptsPanel.prototype.canShowResource): (WebInspector.ScriptsPanel.prototype._showScriptOrResource): (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): (WebInspector.ScriptsPanel.prototype._enableDebugging): (WebInspector.ScriptsPanel.prototype._toggleDebugging): (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): (WebInspector.ScriptsPanel.prototype._togglePause): (WebInspector.ScriptsPanel.prototype._stepOverClicked): (WebInspector.ScriptsPanel.prototype._stepIntoClicked): (WebInspector.ScriptsPanel.prototype._stepOutClicked): * inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): (WebInspector.SourceView.prototype.performSearch.findSearchMatches): (WebInspector.SourceView.prototype.performSearch): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype._changeColorFormat): * inspector/front-end/TestController.js: (WebInspector.TestController.prototype.notifyDone): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update): (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions): (WebInspector.WatchExpressionsSection.prototype.saveExpressions): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector.pendingDispatches.0.get platform): (WebInspector.get port): (WebInspector.set currentPanel): (WebInspector._createPanels): (WebInspector._loadPreferences): (WebInspector.set attached): (WebInspector._updateHoverHighlight): (WebInspector.loaded): (windowLoaded): (WebInspector.windowUnload): (WebInspector.close): (WebInspector.toolbarDrag): (WebInspector.UIString): 2009-11-30 Shinichiro Hamaji Reviewed by Dan Bernstein. css2.1/t1205-c566-list-stl-00-e-ag.html is failing https://bugs.webkit.org/show_bug.cgi?id=23264 css2.1/t1205-c565-list-pos-00-b.html is failing https://bugs.webkit.org/show_bug.cgi?id=23263 Ignore whitespaces after list markers. Rendering of this was already done for the case where inside=false. This fixes the rendering of inside=true case and calcInlinePrefWidths. Test: fast/lists/calc-width-with-space.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::findNextLineBreak): 2009-11-30 Fumitoshi Ukai Unreviewed Chromium build fix introduced by r51212 Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld as the first argument. Move mainThreadNormalWorld() to ScriptState.{h,cpp}. Add debuggerWorld() and pluginWorld() in ScriptState.h. * bindings/v8/ScriptController.cpp: * bindings/v8/ScriptController.h: * bindings/v8/ScriptState.cpp: (WebCore::scriptStateFromNode): (WebCore::scriptStateFromPage): (WebCore::mainThreadNormalWorld): * bindings/v8/ScriptState.h: (WebCore::debuggerWorld): (WebCore::pluginWorld): 2009-11-30 Enrica Casucci Reviewed by Darin Adler. Can focus but not type into content editable block that contains only non-editable content. https://bugs.webkit.org/show_bug.cgi?id=31750 The goal is to change the way we choose a visible position after hit detection, by preferring a visually equivalent editable position if available. By doing this, it is possible to add content to an editable block that initially contains only non editable elements. Test: editing/selection/mixed-editability-10.html * WebCore.base.exp: Changed to match the new signature of downstream and upstream in the Position class. * dom/Position.cpp: (WebCore::Position::atEditingBoundary): Added. (WebCore::Position::upstream): Modified to allow to cross the boundary between editable and non editable content if required. (WebCore::Position::downstream): Modified to allow to cross the boundary between editable and non editable content if required. (WebCore::Position::isCandidate): Modified to qualify as candidates positions that are at the editability boundary. (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box to be used in calculating the caret rectangle. * dom/Position.h: (WebCore::Position::): * dom/PositionIterator.cpp: (WebCore::PositionIterator::atEditingBoundary): Added. (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions that are at the editability boundary. * dom/PositionIterator.h: * editing/htmlediting.cpp: (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only descendants of the editable container, but the container itself. (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only descendants of the editable container, but the container itself. * rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position, if available. * rendering/RenderText.cpp: (WebCore::RenderText::isAllCollapsibleWhitespace): Added. * rendering/RenderText.h: 2009-11-30 Kevin Ollivier wx build fix, add header needed for wx build. * css/CSSFontFaceSrcValue.cpp: 2009-11-30 Mark Rowe Reviewed by David Kilzer. WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine. If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined. We work around this by forcing the check to be performed against the x86_64 architecture. * DerivedSources.make: 2009-11-30 Beth Dakin Reviewed by Oliver Hunt. Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in Safari caused by extreme column-gap and column-width values -and corresponding- Prevent desiredColumnCount from being less than 1 since it is used as a divisor. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcColumnWidth): 2009-11-30 Alexey Proskuryakov Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=31659 Connection must be closed in case of Web Socket handshake error The network connection was closed, but the close event wasn't dispatched. Tested by websocket/tests/handshake-error.html, which is un-skipped now. * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose): Call client didHandle() method. This looks strange in CFNetwork implementation, because it's the client that asked to close the stream, so it shouldn't need the callback. It makes more sense in cross-process implementation, because closing is async there. 2009-11-30 Gavin Barraclough Reviewed by Geoff Garen. Bug 31859 - Make world selection for JSC IsolatedWorlds automagical. WebCore presently has to explicitly specify the world before entering into JSC, which is a little fragile (particularly since property access via a getter/setter might invoke execution). Instead derive the current world from the lexical global object. Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via currentWorld(). Switch this to obtain the world from the ExecsState's lexical global object instead. Remove the call/construct/evaluate 'InWorld' methods, since these are no longer necessary. * WebCore.base.exp: * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCallbackData.h: (WebCore::JSCallbackData::JSCallbackData): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSDOMBinding.cpp: (WebCore::currentWorld): (WebCore::mainThreadNormalWorld): * bindings/js/JSDOMBinding.h: (WebCore::WebCoreJSClientData::WebCoreJSClientData): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): * bindings/js/JSDOMWindowBase.h: * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::JSEventListener::reportError): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): * bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::acceptNode): * bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::call): * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::initScript): (WebCore::ScriptController::updateDocument): * bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::call): (WebCore::ScriptFunctionCall::construct): * bindings/js/ScriptObjectQuarantine.cpp: (WebCore::getQuarantinedScriptObject): * bindings/js/ScriptState.cpp: (WebCore::scriptStateFromNode): (WebCore::scriptStateFromPage): * bindings/js/ScriptState.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): * bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): * bridge/NP_jsobject.cpp: (_NPN_InvokeDefault): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_Construct): * bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::eval): * dom/NodeFilter.h: (WebCore::NodeFilter::acceptNode): * dom/NodeIterator.h: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode): * dom/TreeWalker.h: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode): * inspector/InspectorController.cpp: (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::didEvaluateForTestInFrontend): * inspector/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::evaluate): 2009-11-30 Eric Carlson Reviewed by Simon Fraser. All HTML5 media element events should be regular events https://bugs.webkit.org/show_bug.cgi?id=30513 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectMediaResource): (WebCore::HTMLMediaElement::noneSupported): (WebCore::HTMLMediaElement::mediaEngineError): (WebCore::HTMLMediaElement::setNetworkState): (WebCore::HTMLMediaElement::userCancelledLoad): Call scheduleEvent instead of scheduleProgressEvent. (WebCore::HTMLMediaElement::progressEventTimerFired): Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement after scheduling a 'progress' event so the controller will update download progress indicator. * html/HTMLMediaElement.h: Remove scheduleProgressEvent prototype. 2009-11-30 Joseph Pecoraro Reviewed by Pavel Feldman. Web Inspector: Wrong console output for Regexp escape sequence https://bugs.webkit.org/show_bug.cgi?id=31538 Updated inspector/console-format.html * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.createDividerElement): style issues. (WebInspector.ConsoleView.createFilterElement): style issues. (WebInspector.ConsoleView): added _customFormatters table. (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses. (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues. (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic. (WebInspector.ConsoleView.prototype._formatobject): (WebInspector.ConsoleView.prototype._formatnode): (WebInspector.ConsoleView.prototype._printArray): (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts. (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting. (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting. (WebInspector.ConsoleCommandResult): * inspector/front-end/InjectedScript.js: simplified regex formatting. * inspector/front-end/inspector.js: (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits. * inspector/front-end/utilities.js: (Element.prototype.hasStyleClass): update inaccurate comment. (String.prototype.trimURL): converted new RegExp to literal for performance benefits. 2009-11-30 Erik Arvidsson Reviewed by Adam Barth. Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration https://bugs.webkit.org/show_bug.cgi?id=31895 No new tests. This is already covered by: fast/dom/CSSStyleDeclaration/css-computed-style-item.html fast/dom/CSSStyleDeclaration/css-style-item.html * bindings/v8/V8Collection.h: (WebCore::collectionStringIndexedPropertyGetter): (WebCore::setCollectionStringIndexedGetter): * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController. https://bugs.webkit.org/show_bug.cgi?id=31932 Build fix only, no new tests. * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h. 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds PassOwnPtr include to ScriptExecutionContext.h. https://bugs.webkit.org/show_bug.cgi?id=31929 Build fix only, no new tests. * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include. 2009-11-30 Dirk Schulze Reviewed by Nikolas Zimmermann. REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly [https://bugs.webkit.org/show_bug.cgi?id=31980] It turns out, that we did not handle maskUnits="userSpaceOnUse" correctly. We just need to move the context of the maskImage if maskContentUnits="objectBoundingBox". The context gets scaled on this unit combination, so we have to substract the position of the targetRect. On userSpaceOnUse the position just depends on the position of the mask element. I added a test with some senseless and reasonable values for size and postion of the mask and it's contents. I also used every combination of maskUnits and maskContentUnits to be sure, that it is fixed this time. Test: svg/custom/mask-with-all-units.svg * svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent): 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent. https://bugs.webkit.org/show_bug.cgi?id=31928 Build fix only, no new tests. * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent. 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy. https://bugs.webkit.org/show_bug.cgi?id=31926 Build fix only, no new tests. * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): (WebCore::WorkerContextExecutionProxy::convertToV8Object): (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): 2009-11-30 Benjamin Poulain Reviewed by Kenneth Rohde Christiansen. Chrome::contentsSizeChanged() is called when the content size has not changed https://bugs.webkit.org/show_bug.cgi?id=31978 Do not trigger contentsSizeChaned() is the new size is the same as the old one. * page/FrameView.cpp: (WebCore::FrameView::setContentsSize): 2009-11-30 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Qt] Fix some compiler warnings seen on QtWebKit/Mac https://bugs.webkit.org/show_bug.cgi?id=31962 No new tests as there is no functional change. * platform/network/ResourceHandle.h: Make destructor virtual as after r50772 ResourceHandle has virtual functions. * plugins/mac/PluginPackageMac.cpp: (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace not a label * plugins/mac/PluginViewMac.cpp: (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format specifier 2009-11-30 Xan Lopez Reviewed by Gustavo Noronha. Add new headers to sources list. * GNUmakefile.am: 2009-11-30 Girish Ramakrishnan Reviewed by Holger Freyther. [Qt] Mac Plugins : Get context menu to work in QGraphicsView Flash expects the value in record.where to be the global position for displaying the context menu. https://bugs.webkit.org/show_bug.cgi?id=31979 * plugins/mac/PluginViewMac.cpp: (WebCore::PluginView::handleMouseEvent): 2009-11-30 Steve Block Reviewed by Eric Seidel. Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController. https://bugs.webkit.org/show_bug.cgi?id=31925 This code uses ChromiumBridge and Chromium-specific constant values not appropriate for other platforms such as Android. Build fix only, no new tests. * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code. 2009-11-29 Brent Fulgham Build fix. Correct draw signature used in ImageCairoWin.cpp. * platform/graphics/win/ImageCairoWin.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): (WebCore::BitmapImage::drawFrameMatchingSourceSize): 2009-11-28 Oliver Hunt Reviewed by Sam Weinig. postMessage should serialize File objects https://bugs.webkit.org/show_bug.cgi?id=31955 Update SerializedScriptValue to include support for File objects in the serialized object graph. * bindings/js/SerializedScriptValue.cpp: (WebCore::SerializedScriptValueData::SerializedScriptValueData): (WebCore::SerializingTreeWalker::convertIfTerminal): (WebCore::DeserializingTreeWalker::convertIfTerminal): * bindings/js/SerializedScriptValue.h: (WebCore::SerializedScriptValueData::): (WebCore::SerializedScriptValueData::asString): 2009-11-29 Simon Fraser Reviewed by Dan Bernstein. Optimize the hierarchy rebuilding of compositing layers https://bugs.webkit.org/show_bug.cgi?id=31879 When updating the compositing layer hierarchy, instead of removing all child layers and then re-adding them one by one, build a vector of child layers, and set them in one go. * platform/graphics/GraphicsLayer.h: * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child GraphicsLayers. * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren(). * platform/graphics/win/GraphicsLayerCACF.h: Ditto. * platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to set the bit that notes that sublayers changed. * platform/graphics/win/GraphicsLayerCACF.cpp: (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to udpate sublayers, with a note that this is not efficient. * rendering/RenderLayerCompositor.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): When updating compositing layers, use the faster updateLayerTreeGeometry() if we know that no layer hierarchy changes are needed, and, at the root, use the vector returned from rebuildCompositingLayerTree() to attach the root layer. (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to collect child layers into Vectors of GraphicsLayers, which can be set as layer children in one go. (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from rebuildCompositingLayerTree() for simplicity, and called when we just need to update layer geometry, without doing any reparenting. 2009-11-29 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=31971 Updated comment to reflect latest XSSAuditor bindings. No functionality was changed. So, no new tests. * page/XSSAuditor.h: 2009-11-29 Daniel Bates Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=31969 Removes unnecessary #include files. No functionality was changed. So, no new tests. * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and Pair.h * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h * css/CSSFontFaceSrcValue.cpp: Removed include Node.h * css/CSSFontSelector.cpp: Removed include NodeList.h * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h * css/CSSImageValue.cpp: Removed include RenderStyle.h * css/CSSImportRule.cpp: Removed include MediaList.h * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h * css/CSSRule.cpp: Removed include CSSStyleSheet.h * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h, CSSFontFaceSource.h, and CSSProperty.h * page/EventSource.h: Removed include EventListener.h 2009-11-29 Daniel Bates Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=31965 Removed #include KeyframeList.h from CSSStyleSelector.h. Instead, forward declared it. As a side effect, we need to #include KeyframeList.h in RenderLayerBacking.cpp. No functionality was changed. So, no new tests. * css/CSSStyleSelector.cpp: * css/CSSStyleSelector.h: Removed #include KeyframeList.h * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h 2009-11-29 Shu Chang Reviewed by Eric Seidel. Continue to search for matching node in the case where multiple nodes have the same id. https://bugs.webkit.org/show_bug.cgi?id=31428 Test: fast/dom/Element/id-in-node-list-index01.html * dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::itemWithName): 2009-11-29 Daniel Bates Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=31966 Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead, forward declared it. No functionality was changed. So, no new tests. * page/animation/KeyframeAnimation.cpp: * page/animation/KeyframeAnimation.h: 2009-11-29 Daniel Bates Unreviewed, fix change log entry date. For some reason, bugzilla-tool did not update the date in the change log entry for my last commit (r51468). So, this commit fixes the date of that entry. 2009-11-29 Daniel Bates Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=31964 Removed #include StringImpl, StyleImage. Instead, forward declared them. Also, we can substitute #include for #include PlatformString.h, since it seems we only really used it to include PassRefPtr.h. No functionality was changed. So, no new tests. * rendering/style/ContentData.h: 2009-11-29 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for classes of the rendering and storage directory in WebCore https://bugs.webkit.org/show_bug.cgi?id=31906 Inherits the following classes from Noncopyable because these are instantiated by 'new' and no need to be copyable: class/struct name - instantiated at: WebCore/'location' class SQLTransactionClient - storage/DatabaseThread.cpp:45 class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46 class OriginUsageRecord - storage/OriginQuotaManager.cpp:66 class DatabaseTracker - storage/DatabaseTracker.cpp:62 class ScrollbarTheme - (its child class) rendering/RenderScrollbarTheme.cpp:35 class RenderSelectionInfoBase - (its child class) rendering/RenderView.cpp:310 class RenderOverflow - rendering/RenderBox.cpp:2846 Inherits the following classes from FastAllocBase because these are instantiated by 'new': struct FillLayer - css/CSSStyleSelector.cpp:197 struct ShadowData - rendering/style/ShadowData.cpp:35 class CounterContent - css/CSSStyleSelector.cpp:4111 * platform/ScrollbarTheme.h: * rendering/RenderOverflow.h: * rendering/RenderSelectionInfo.h: * rendering/style/CounterContent.h: * rendering/style/FillLayer.h: * rendering/style/ShadowData.h: * storage/DatabaseTracker.h: * storage/OriginUsageRecord.h: * storage/SQLTransactionClient.h: * storage/SQLTransactionCoordinator.h: 2009-11-28 Adam Barth Reviewed by Dimitri Glazkov. [Chromium] Sify compose button alerts error https://bugs.webkit.org/show_bug.cgi?id=31394 Test: http/tests/security/calling-versus-current.html We're supposed to use the calling context for security checks. In JSC land, this is the lexicalGlobalObject. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::canAccessPrivate): 2009-11-27 Shinichiro Hamaji Unreviewed Chromium build fix introduced by r51428. [Chromium] Ignore line-height CSS property for PushButton https://bugs.webkit.org/show_bug.cgi?id=31712 * rendering/RenderThemeChromiumSkia.cpp: (WebCore::RenderThemeChromiumSkia::adjustButtonStyle): 2009-11-27 Shinichiro Hamaji Unreviewed Chromium test fix by reverting r51413. [v8] Do not check the thread when accessing DOMDataStore https://bugs.webkit.org/show_bug.cgi?id=31877 * bindings/v8/V8DOMMap.cpp: (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): (WebCore::getDOMSVGElementInstanceMap): (WebCore::getDOMSVGObjectWithContextMap): 2009-11-27 Daniel Bates Unreviewed, comment fix. Corrected misspelling of the word "implemented". * inspector/front-end/InjectedScriptAccess.js: 2009-11-27 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=31940 Makes the error messages more descriptive when we refuse to load an object/embed or refuse to load from the document base URL. * page/XSSAuditor.cpp: (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive. (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 2009-11-27 Yury Semikhatsky Reviewed by Pavel Feldman. This is a WebCore part of the fix that allows to view plugin resources loaded by plugins. https://bugs.webkit.org/show_bug.cgi?id=31832 * inspector/InspectorController.cpp: (WebCore::InspectorController::willSendRequest): (WebCore::InspectorController::didReceiveResponse): (WebCore::InspectorController::didReceiveContentLength): (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading): * inspector/InspectorController.h: * inspector/InspectorResource.cpp: (WebCore::InspectorResource::addLength): * loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::didFailToLoad): (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): 2009-11-27 Yury Semikhatsky Reviewed by Pavel Feldman. Instead of generating negative identifiers for cached resources in InspectorController and extending identifier type from 'unsigned long' to 'long long' reuse progress tracker from the inspected page to generate those identifiers. It guarantees that InspectorResources have unique ids since all of them are generated by that progress tracker. Added a couple new overloaded methods to Script* objects that accept long and unsigned long arguments. These types of argumens have already been passed as long long. https://bugs.webkit.org/show_bug.cgi?id=31921 * bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): * bindings/js/ScriptFunctionCall.h: * bindings/js/ScriptObject.cpp: (WebCore::ScriptObject::set): * bindings/js/ScriptObject.h: * bindings/v8/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): * bindings/v8/ScriptFunctionCall.h: * bindings/v8/ScriptObject.cpp: (WebCore::ScriptObject::set): * bindings/v8/ScriptObject.h: * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::dispatchOnInjectedScript): * inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::getTrackedResource): (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController. * inspector/InspectorController.h: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addResource): (WebCore::InspectorFrontend::updateResource): (WebCore::InspectorFrontend::removeResource): (WebCore::InspectorFrontend::updateFocusedNode): * inspector/InspectorFrontend.h: * inspector/InspectorResource.cpp: (WebCore::InspectorResource::InspectorResource): (WebCore::InspectorResource::createCached): * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'. (WebCore::InspectorResource::create): (WebCore::InspectorResource::identifier): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createResourceSendRequestRecord): (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord): (WebCore::TimelineRecordFactory::createResourceFinishRecord): 2009-11-26 Shinichiro Hamaji Reviewed by Dan Bernstein. Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html https://bugs.webkit.org/show_bug.cgi?id=29966 When an empty inline element is clicked, the root inline box has no leaf children. Use the renderer of a normal child instead. This change resolves Windows port's assertion failure in a layout test. Also, this fixes the behavior when a user drags the mouse from an empty inline element to above texts. Test: editing/selection/last-empty-inline.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForPointWithInlineChildren): 2009-11-26 Kent Tamura Reviewed by Eric Seidel. [Chromium] Ignore line-height CSS property specified to push buttons on Windows and Linux. https://bugs.webkit.org/show_bug.cgi?id=31712 LayoutTests/fast/forms/control-restrict-line-height.html checks that the following controls should ignore line-height CSS property. - src to display the height and width of that image in a tooltip. Displays both the displayable and natural dimensions of the image. Test: inspector/elements-img-tooltip.html * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added. (WebInspector.ElementsTreeElement.prototype._updateTitle.callback): (WebInspector.ElementsTreeElement.prototype._updateTitle): (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): * inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy.getPropertiesAsync): Added. * inspector/front-end/inspector.js: (WebInspector.linkifyURLAsNode): Added tooltipText argument. (WebInspector.linkifyURL): Ditto. 2009-11-26 Kevin Ollivier wx build fix after drawPattern API change. * platform/graphics/wx/ImageWx.cpp: (WebCore::Image::drawPattern): 2009-11-26 Anton Muhin Reviewed by Adam Barth. Use an internal field instead of hidden property to speedup lookup of entered isolated world. Plus some inlinings. https://bugs.webkit.org/show_bug.cgi?id=31884 Covered by layout tests + manual running of some benchmarks as content scripts. * bindings/v8/V8DOMWrapper.cpp: * bindings/v8/V8DOMWrapper.h: (WebCore::V8DOMWrapper::setDOMWrapper): * bindings/v8/V8HiddenPropertyName.h: * bindings/v8/V8IsolatedWorld.cpp: (WebCore::V8IsolatedWorld::V8IsolatedWorld): * bindings/v8/V8IsolatedWorld.h: (WebCore::V8IsolatedWorld::getEntered): (WebCore::V8IsolatedWorld::getGlobalObject): * bindings/v8/custom/V8CustomBinding.h: 2009-11-26 Jocelyn Turcotte Reviewed by Kenneth Rohde Christiansen. [Qt] Corrects build break on Windows. Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake. * WebCore.pro: * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp. (WebCore::findNextWordFromIndex): (WebCore::findWordBoundary): 2009-11-26 Anton Muhin Reviewed by Adam Barth. Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only. https://bugs.webkit.org/show_bug.cgi?id=31877 Covered by layout tests and buildbots. * bindings/v8/V8DOMMap.cpp: (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): (WebCore::getDOMSVGElementInstanceMap): (WebCore::getDOMSVGObjectWithContextMap): 2009-11-26 Girish Ramakrishnan Reviewed by Holger Freyther. [Qt] Mac Plugins : Pass mouse position relative to the fake window When using off-screen rendering, we need to pass mouse events relative to the fake window instead of the global position. https://bugs.webkit.org/show_bug.cgi?id=31794 * plugins/mac/PluginViewMac.cpp: (WebCore::PluginView::platformStart): (WebCore::PluginView::handleMouseEvent): 2009-11-24 Holger Hans Peter Freyther Reviewed by Eric Seidel. [Qt] Use QNetworkReply::rawHeaderPairs https://bugs.webkit.org/show_bug.cgi?id=31826 The QNetworkReply is internally storing the HTTP headers as a list of pairs. Currently we have to ask the QNetworkReply to put all header names into a QStringList. Afterwards we will iterate over this QStringList and ask the QNetworkReply to give us the value for this header name. The current Qt implementation is doing a linear to find the header value. Use a new API to directly access the list of pairs and push this into WebCore. This avoids doing some allocations and doing linear searches from within a loop. * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 2009-11-21 Holger Hans Peter Freyther Reviewed by Kenneth Rohde Christiansen. [Qt] Add Qt specific information of RenderPart https://bugs.webkit.org/show_bug.cgi?id=31203 The WebCore::Widget of the RenderPart (RenderWidget) might be backed with a platform widget. Print both the WebCore::Widget and platform widget state. In the above bug we had a problem that the WebCore::Widget was invisible but the QWidget was visible. * rendering/RenderTreeAsText.cpp: (WebCore::operator<<): Add special case for RenderPart 2009-11-17 Holger Hans Peter Freyther Reviewed by Kenneth Rohde Christiansen. [Qt] Call Widget::setSelfVisible from hide/show https://bugs.webkit.org/show_bug.cgi?id=31203 Call Widget::setSelfVisible from Widget::show and Widget::hide and use isParentVisible to decide if the widget should be shown. This way client code can rely on isVisible. Change PluginViewQt::show, PluginViewQt::hide to call the base class as it is doing the right thing now. Add an assert verify that platfomWidget and platformPluginWidget are the same. * manual-tests/qt/qtplugin.html: Modify manual test * platform/qt/WidgetQt.cpp: (WebCore::Widget::show): (WebCore::Widget::hide): * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): 2009-11-24 Holger Hans Peter Freyther Reviewed by Alexey Proskuryakov. Fix compilation of REQUEST_DEBUG debug code https://bugs.webkit.org/show_bug.cgi?id=31850 In r47907 the single parameter KURL constructor to parse from a WebCore::String was replaced with a two parameter constructor. I think in this debug case parsing the urls again is no problem and I have changed the code to use the two parameter version. * loader/loader.cpp: (WebCore::Loader::Host::didFinishLoading): 2009-11-26 Søren Gjesse Reviewed by Pavel Feldman. [V8] Avoid using JavaScript objects as context data https://bugs.webkit.org/show_bug.cgi?id=31873 Change the context "data" from a JavaScript object holding the two properties type and value to a string holding type and value separated by a comma. * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::setInjectedScriptContextDebugId): (WebCore::V8Proxy::setContextDebugId): (WebCore::V8Proxy::contextDebugId): 2009-11-25 Dimitri Glazkov Reviewed by David Levin. [Chromium] Implement canSetValueAttribute in the API, the clean-up part. https://bugs.webkit.org/show_bug.cgi?id=31894 * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl. (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness. 2009-11-25 Kenneth Russell Reviewed by Oliver Hunt. Off-by-one error in index validation for drawElements and drawArrays https://bugs.webkit.org/show_bug.cgi?id=31891 Fixed computation of number of elements for bound array objects. Test: fast/canvas/webgl/index-validation.html * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::vertexAttribPointer): 2009-11-25 Dmitry Titov Reviewed by David Levin. Update SharedScript to use eventNames() instead of EventNames() https://bugs.webkit.org/show_bug.cgi?id=31890 * SharedScript/WebKitSharedScript.cpp: (WebCore::LoadEventTask::performTask): 2009-11-25 Eric Carlson Reviewed by Simon Fraser. Windows: Support closed caption in