1 2009-07-15 Dan Bernstein <mitz@apple.com>
3 Reviewed by Dave Hyatt.
5 text-shadow is not drawn for text with transparent colour
6 https://bugs.webkit.org/show_bug.cgi?id=21374
8 Test: fast/text/shadow-translucent-fill.html
10 * rendering/InlineTextBox.cpp:
11 (WebCore::paintTextWithShadows): If the text fill color is not opaque,
12 paint all shadows separately from the text, by casting them from
13 clipped-out opaque text.
15 2009-07-15 Adam Treat <adam.treat@torchmobile.com>
19 * html/HTMLAreaElement.cpp:
21 2009-07-15 Jeremy Orlow <jorlow@chromium.org>
23 Reviewed by Darin Fisher.
25 Cleanup DOM Storage dependencies.
26 https://bugs.webkit.org/show_bug.cgi?id=27180
28 DOM Storage had several unnecessary (and probably unintended)
29 dependencies. This patch replaces many includes of header files with
30 forward declaration of classes, making some destructors explicit, and
31 taking some factories out of the header files.
33 This will allow things like StorageAreaSync to take a StorageAreaImpl*
34 (as it should) rather than a StorageArea* which previously weren't
35 possible because the dependencies were such a tangled mess.
37 * storage/LocalStorageTask.cpp:
38 (WebCore::LocalStorageTask::~LocalStorageTask):
39 * storage/LocalStorageTask.h:
40 * storage/Storage.cpp:
41 (WebCore::Storage::~Storage):
43 * storage/StorageArea.cpp:
44 * storage/StorageArea.h:
45 * storage/StorageAreaImpl.cpp:
46 * storage/StorageAreaImpl.h:
47 * storage/StorageAreaSync.cpp:
48 (WebCore::StorageAreaSync::~StorageAreaSync):
49 * storage/StorageAreaSync.h:
50 * storage/StorageEvent.cpp:
51 (WebCore::StorageEvent::create):
52 (WebCore::StorageEvent::StorageEvent):
53 * storage/StorageEvent.h:
54 * storage/StorageNamespace.h:
55 * storage/StorageNamespaceImpl.cpp:
56 * storage/StorageNamespaceImpl.h:
57 * storage/StorageSyncManager.cpp:
58 (WebCore::StorageSyncManager::~StorageSyncManager):
59 * storage/StorageSyncManager.h:
61 2009-07-15 Chris Marrin <cmarrin@apple.com>
63 Reviewed by Simon Fraser.
65 Incorrect animation when trying to duplicate effect of transform-origin
66 https://bugs.webkit.org/show_bug.cgi?id=27310
68 The bug is that matrix animation is being used when animating
69 a list of transform functions that match in the from and to states.
70 This sometimes works. But because of the way CA does matrix animation
71 function lists like the one shown in the testcase animate incorrectly.
73 This fixes the bug by always doing component animation
74 as long as the function lists match. This allows CA
75 to animate the components and then recompose the result
76 into the correct matrix.
78 Test: animations/transform-origin-vs-functions.html
80 * platform/graphics/mac/GraphicsLayerCA.mm:
81 (WebCore::GraphicsLayerCA::animateTransform):
83 2009-07-15 Albert J. Wong <ajwong@chromium.org>
85 Reviewed by David Levin.
87 Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
89 Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
91 https://bugs.webkit.org/show_bug.cgi?id=27274
93 Changes the build file for chromium. Test built the chromium tree
98 2009-07-15 Mark Rowe <mrowe@apple.com>
100 I like it when the code compiles.
104 2009-07-15 Darin Adler <darin@apple.com>
106 Reviewed by Sam Weinig.
108 Renamed parseURL to deprecatedParseURL.
110 * bindings/js/JSAttrCustom.cpp:
111 (WebCore::JSAttr::setValue): Renamed.
112 * bindings/js/JSElementCustom.cpp:
113 (WebCore::allowSettingSrcToJavascriptURL): Renamed.
114 * bindings/js/JSHTMLFrameElementCustom.cpp:
115 (WebCore::allowSettingJavascriptURL): Renamed.
116 * bindings/js/JSHTMLIFrameElementCustom.cpp:
117 (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
118 * bindings/objc/DOM.mm:
119 (-[DOMElement _getURLAttribute:]): Renamed.
120 * bindings/objc/DOMHTML.mm:
121 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
122 * bindings/v8/custom/V8CustomBinding.cpp:
123 (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
125 (WebCore::deprecatedParseURL): Renamed.
126 * css/CSSHelper.h: Renamed and updated comment.
127 * html/HTMLAnchorElement.cpp:
128 (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
129 (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
130 * html/HTMLBaseElement.cpp:
131 (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
132 * html/HTMLBodyElement.cpp:
133 (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
134 * html/HTMLEmbedElement.cpp:
135 (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
136 * html/HTMLFormElement.cpp:
137 (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
138 * html/HTMLFrameElementBase.cpp:
139 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
140 * html/HTMLImageElement.cpp:
141 (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
142 * html/HTMLImageLoader.cpp:
143 (WebCore::HTMLImageLoader::sourceURI): Renamed.
144 * html/HTMLLinkElement.cpp:
145 (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
146 * html/HTMLObjectElement.cpp:
147 (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
148 * html/HTMLTableElement.cpp:
149 (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
150 * html/HTMLTablePartElement.cpp:
151 (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
152 * html/HTMLTokenizer.cpp:
153 (WebCore::HTMLTokenizer::parseTag): Renamed.
154 * html/PreloadScanner.cpp:
155 (WebCore::PreloadScanner::processAttribute): Renamed.
156 (WebCore::PreloadScanner::emitCSSRule): Renamed.
157 * platform/chromium/ClipboardChromium.cpp:
158 (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
159 * platform/chromium/PasteboardChromium.cpp:
160 (WebCore::Pasteboard::writeImage): Renamed.
161 * platform/qt/ClipboardQt.cpp:
162 (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
163 * platform/win/ClipboardWin.cpp:
164 (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
165 * rendering/HitTestResult.cpp:
166 (WebCore::HitTestResult::absoluteImageURL): Renamed.
167 (WebCore::HitTestResult::absoluteMediaURL): Renamed.
168 (WebCore::HitTestResult::absoluteLinkURL): Renamed.
169 * svg/SVGAElement.cpp:
170 (WebCore::SVGAElement::defaultEventHandler): Renamed.
171 * svg/SVGImageLoader.cpp:
172 (WebCore::SVGImageLoader::sourceURI): Renamed.
173 * wml/WMLAElement.cpp:
174 (WebCore::WMLAElement::defaultEventHandler): Renamed.
175 * wml/WMLImageLoader.cpp:
176 (WebCore::WMLImageLoader::sourceURI): Renamed.
178 2009-07-15 Darin Adler <darin@apple.com>
180 Reviewed by Dan Bernstein.
182 CSSHelper.h's parseURL is a function that no one should ever call
183 Part 1: Eliminate callers in the CSS parser.
184 https://bugs.webkit.org/show_bug.cgi?id=26599
186 Test: fast/css/uri-token-parsing.html
188 * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
189 function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
192 (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
193 CSSParser::text already takes care of parsing the URI token syntax, and the
194 parseURL function does no good.
195 (WebCore::CSSParser::parseContent): Ditto.
196 (WebCore::CSSParser::parseFillImage): Ditto.
197 (WebCore::CSSParser::parseFontFaceSrc): Ditto.
198 (WebCore::CSSParser::parseBorderImage): Ditto.
199 (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
201 (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
202 are both trimmed before removing the quote marks. Changed to use the
203 isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
205 * css/CSSParser.h: Removed stray "public:" in this header.
207 * platform/text/StringImpl.cpp:
208 (WebCore::StringImpl::substring): Optimized the case where the substring covers
209 the entire string, so we just share the StringImpl instead of making a new one.
210 This case came up in earlier versions of the CSS parser changes above.
211 (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
212 not call substring any more. Before, this was relying on the substring function
213 always making a copy of any non-empty substring.
215 2009-07-15 Darin Adler <darin@apple.com>
217 Reviewed by John Sullivan.
219 After double-clicking a word, using Shift-arrow to select behaves unpredictably
220 https://bugs.webkit.org/show_bug.cgi?id=27177
221 rdar://problem/7034324
223 Test: editing/selection/extend-selection-after-double-click.html
225 The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
226 being cleared in many cases where it should have been.
228 * editing/SelectionController.cpp:
229 (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
230 to false. This catches all sorts of cases that don't flow through the modify function.
231 Before, the flag would reflect the last call to the modify function, which was not
232 necessarily the last selection change.
233 (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
234 Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere.
235 (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
236 setSelection when setting up a trial selection controller, since setSelection now
237 clears that flag. Also changed both trial selection controller cases to set the flag,
238 although it's not strictly necessary in both cases. Added code to set
239 m_lastChangeWasHorizontalExtension when extending the selection, which used to be
240 handled in willBeModified. Now we need to do it after the selection change.
242 2009-07-15 Jeremy Orlow <jorlow@chromium.org>
244 Reviewed by Dimitri Glazkov.
246 Need to update DOM Storage files in GYPI file.
247 https://bugs.webkit.org/show_bug.cgi?id=27317
249 Need to update DOM Storage files in the GYPI file. They're pretty out
250 of date and we're on the path towards enabling them for everyone!
254 2009-07-15 Kwang Yul Seo <skyul@company100.net>
256 Reviewed by Eric Seidel.
258 https://bugs.webkit.org/show_bug.cgi?id=26794
259 Make Yacc-generated parsers to use fastMalloc/fastFree.
261 Define YYMALLOC and YYFREE to fastMalloc and fastFree
265 * xml/XPathGrammar.y:
267 2009-07-15 David Hyatt <hyatt@apple.com>
269 Reviewed by Adam Roben.
271 https://bugs.webkit.org/show_bug.cgi?id=27193
272 Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in
273 is effectively broken as a result.
275 No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
277 * rendering/RenderBlock.cpp:
278 (WebCore::RenderBlock::handleRunInChild):
280 2009-07-15 Yuzo Fujishima <yuzo@google.com>
282 Reviewed by Darin Adler.
284 Test: fast/js/instanceof-operator.html
286 Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest
287 https://bugs.webkit.org/show_bug.cgi?id=25205
289 In addition to for XMLHttpRequest, this also fixes for:
299 * bindings/js/JSAudioConstructor.cpp:
300 (WebCore::JSAudioConstructor::JSAudioConstructor):
301 * bindings/js/JSAudioConstructor.h:
302 * bindings/js/JSDOMBinding.h:
303 (WebCore::DOMConstructorObject::createStructure):
304 (WebCore::DOMConstructorObject::DOMConstructorObject):
305 * bindings/js/JSImageConstructor.cpp:
306 (WebCore::JSImageConstructor::JSImageConstructor):
307 * bindings/js/JSImageConstructor.h:
308 * bindings/js/JSMessageChannelConstructor.cpp:
309 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
310 * bindings/js/JSMessageChannelConstructor.h:
311 * bindings/js/JSOptionConstructor.cpp:
312 (WebCore::JSOptionConstructor::JSOptionConstructor):
313 * bindings/js/JSOptionConstructor.h:
314 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
315 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
316 * bindings/js/JSWebKitCSSMatrixConstructor.h:
317 * bindings/js/JSWebKitPointConstructor.cpp:
318 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
319 * bindings/js/JSWebKitPointConstructor.h:
320 * bindings/js/JSWorkerConstructor.cpp:
321 (WebCore::JSWorkerConstructor::JSWorkerConstructor):
322 * bindings/js/JSWorkerConstructor.h:
323 * bindings/js/JSXMLHttpRequestConstructor.cpp:
324 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
325 * bindings/js/JSXMLHttpRequestConstructor.h:
326 * bindings/js/JSXSLTProcessorConstructor.cpp:
327 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
328 * bindings/js/JSXSLTProcessorConstructor.h:
330 2009-07-15 Kai Br�ning <kai@granus.net>
332 Reviewed by Dave Hyatt.
334 CSS21 attribute selectors not dynamic for xml.
335 https://bugs.webkit.org/show_bug.cgi?id=25072
337 Moved the relevant test in StyledElement::attributeChanged()
338 to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
339 so it can be called from both StyledElement::attributeChanged()
340 and Element::attributeChanged().
341 Refactored Element::attributeChanged() into
342 Element::updateAfterAttributeChanged() and
343 Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
344 separately from StyledElement::attributeChanged().
346 Test: fast/css/attribute-selector-dynamic.xml
349 (WebCore::Element::attributeChanged):
350 (WebCore::Element::updateAfterAttributeChanged):
351 (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
353 * dom/StyledElement.cpp:
354 (WebCore::StyledElement::attributeChanged):
356 2009-07-15 Alpha Lam <hclam@chromium.org>
358 Reviewed by David Levin.
360 [V8] Layout test failures for drawImage in Canvas
361 https://bugs.webkit.org/show_bug.cgi?id=27311
363 Fixing several canvas layout tests failures due to a
364 missing return statement in CanvasRenderingContext2DDrawImage() which
365 was accidentally removed in r45929.
367 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
369 2009-07-15 Robert Hogan <robert@roberthogan.net>
371 Reviewed by Eric Seidel.
373 https://bugs.webkit.org/show_bug.cgi?id=26969
375 If the httpMethod() of the request passed to SubresourceLoader::create is not
376 supported by the client we must expect to call didFail() while m_loader is still null.
378 * loader/DocumentThreadableLoader.cpp:
379 (DocumentThreadableLoader::didFail):Changed.
381 2009-07-15 Mark Rowe <mrowe@apple.com>
386 * css/MediaQueryEvaluator.cpp:
387 * rendering/SVGRenderTreeAsText.cpp:
388 * rendering/style/SVGRenderStyle.cpp:
389 * svg/graphics/SVGPaintServer.cpp:
391 2009-07-07 Alpha Lam <hclam@chromium.org>
393 Reviewed by Dimitri Glazkov.
395 [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
396 https://bugs.webkit.org/show_bug.cgi?id=27170
398 Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
399 as a parameter of drawImage() for HTMLCanvasElement.
401 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
403 2009-07-15 Adam Barth <abarth@webkit.org>
405 Reviewed by Dimitri Glazkov.
407 [V8] Fix isolated world constructors
408 https://bugs.webkit.org/show_bug.cgi?id=27287
410 Don't enter V8Proxy::m_context before creating DOM constructors.
411 Instead, use getWrapperContext to get the right context.
413 After this patch, all my tests pass. I'll enable the feature
414 downstream and land the tests.
416 * bindings/scripts/CodeGeneratorV8.pm:
417 * bindings/v8/V8DOMWrapper.cpp:
418 (WebCore::V8DOMWrapper::getConstructor):
419 (WebCore::V8DOMWrapper::lookupDOMWrapper):
420 * bindings/v8/V8DOMWrapper.h:
421 * bindings/v8/V8IsolatedWorld.cpp:
422 (WebCore::V8IsolatedWorld::evaluate):
423 * bindings/v8/V8Proxy.cpp:
424 (WebCore::V8Proxy::createWrapperFromCache):
425 (WebCore::V8Proxy::isContextInitialized):
426 (WebCore::V8Proxy::disposeContextHandles):
427 (WebCore::V8Proxy::installDOMWindow):
428 (WebCore::V8Proxy::initContextIfNeeded):
429 (WebCore::V8Proxy::getHiddenObjectPrototype):
430 (WebCore::V8Proxy::installHiddenObjectPrototype):
431 * bindings/v8/V8Proxy.h:
433 2009-07-15 Antonio Gomes <antonio.gomes@openbossa.org>
435 Reviewed by Darin Adler.
437 useless null-check statement in visible_units.cpp@logicalStartOfLine
438 https://bugs.webkit.org/show_bug.cgi?id=27154
442 * editing/visible_units.cpp:
443 (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
445 2009-07-15 Brady Eidson <beidson@apple.com>
447 Reviewed by Dan Bernstein.
449 https://bugs.webkit.org/show_bug.cgi?id=27304
450 WebKit should provide usage and eligibility information about the page cache.
454 * history/CachedFrame.cpp:
455 (WebCore::CachedFrame::childFrameCount):
456 * history/CachedFrame.h:
458 * history/PageCache.cpp:
459 (WebCore::PageCache::frameCount):
460 (WebCore::PageCache::autoreleasedPageCount):
461 * history/PageCache.h:
462 (WebCore::PageCache::pageCount):
464 2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
466 Reviewed by David Levin.
468 Chromium's canvas forgets its context after fillText again
469 https://bugs.webkit.org/show_bug.cgi?id=27293
471 No new tests because the test for this was already added in
472 https://bugs.webkit.org/show_bug.cgi?id=26436
474 * platform/graphics/chromium/TransparencyWin.cpp:
475 (WebCore::TransparencyWin::compositeTextComposite):
477 2009-07-14 David Hyatt <hyatt@apple.com>
479 Reviewed by Simon Fraser.
481 https://bugs.webkit.org/show_bug.cgi?id=27283
483 Implement the new 'rem' unit from CSS3.
485 Added some rem-* tests in fast/css.
489 (WebCore::CSSParser::validUnit):
490 (WebCore::unitFromString):
491 (WebCore::CSSParser::parseValue):
492 (WebCore::CSSParser::lex):
493 * css/CSSParserValues.cpp:
494 (WebCore::CSSParserValue::createCSSValue):
495 * css/CSSPrimitiveValue.cpp:
496 (WebCore::CSSPrimitiveValue::computeLengthInt):
497 (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
498 (WebCore::CSSPrimitiveValue::computeLengthShort):
499 (WebCore::CSSPrimitiveValue::computeLengthFloat):
500 (WebCore::CSSPrimitiveValue::computeLengthDouble):
501 (WebCore::CSSPrimitiveValue::cssText):
502 (WebCore::CSSPrimitiveValue::parserValue):
503 * css/CSSPrimitiveValue.h:
504 (WebCore::CSSPrimitiveValue::):
505 (WebCore::CSSPrimitiveValue::isUnitTypeLength):
506 * css/CSSStyleSelector.cpp:
507 (WebCore::CSSStyleSelector::initForStyleResolve):
508 (WebCore::convertToLength):
509 (WebCore::CSSStyleSelector::applyProperty):
510 (WebCore::CSSStyleSelector::mapFillSize):
511 (WebCore::CSSStyleSelector::mapFillXPosition):
512 (WebCore::CSSStyleSelector::mapFillYPosition):
513 (WebCore::CSSStyleSelector::createTransformOperations):
514 * css/CSSStyleSelector.h:
515 * css/MediaQueryEvaluator.cpp:
516 (WebCore::device_heightMediaFeatureEval):
517 (WebCore::device_widthMediaFeatureEval):
518 (WebCore::heightMediaFeatureEval):
519 (WebCore::widthMediaFeatureEval):
520 * css/WebKitCSSMatrix.cpp:
521 (WebCore::WebKitCSSMatrix::setMatrixValue):
522 * css/tokenizer.flex:
524 (WebCore::Document::Document):
526 (WebCore::Document::usesRemUnits):
527 (WebCore::Document::setUsesRemUnits):
529 (WebCore::Element::recalcStyle):
530 * rendering/SVGRenderTreeAsText.cpp:
531 (WebCore::writeStyle):
532 * rendering/style/SVGRenderStyle.cpp:
533 (WebCore::SVGRenderStyle::cssPrimitiveToLength):
534 * svg/graphics/SVGPaintServer.cpp:
535 (WebCore::applyStrokeStyleToContext):
536 (WebCore::dashArrayFromRenderingStyle):
537 * svg/graphics/SVGPaintServer.h:
539 2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
541 Unreviewed, build fix.
543 Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
545 * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
547 2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
549 Reviewed by Darin Fisher.
551 [V8] Update bindings for ValiditeState patch.
552 https://bugs.webkit.org/show_bug.cgi?id=19562
554 * bindings/v8/DOMObjectsInclude.h:
555 * bindings/v8/DerivedSourcesAllInOne.cpp:
556 * bindings/v8/V8Index.cpp:
557 * bindings/v8/V8Index.h:
559 2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
561 Reviewed by Simon Hausmann.
563 [Qt] Cleanup - Remove obsolete code from the make system
564 https://bugs.webkit.org/show_bug.cgi?id=27299
568 2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
570 Reviewed by Ariya Hidayat.
572 Fix the build without media elements.
574 * rendering/HitTestResult.cpp:
575 (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
576 markers around the body of the method.
578 2009-07-14 Pavel Feldman <pfeldman@chromium.org>
580 Reviewed by Timothy Hatcher.
582 WebInspector: Move storeLastActivePanel out of the
583 ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
584 Add default panel for the first opening of the
587 https://bugs.webkit.org/show_bug.cgi?id=27263
589 * inspector/InspectorController.cpp:
590 (InspectorController::setWindowVisible):
591 * inspector/InspectorController.idl:
593 2009-07-14 Darin Adler <darin@apple.com>
595 Try to fix Windows build.
597 * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
599 2009-07-14 Pierre d'Herbemont <pdherbemont@apple.com>
601 Reviewed by Oliver Hunt.
603 HTMLMediaElement::supportsFullscreen() should return false
604 https://bugs.webkit.org/show_bug.cgi?id=27284
606 (Reverting a part of 45875)
608 HTMLVideoElement::supportsFullscreen() will properly do the
609 job, and check if the backend supports fullscreen.
611 HTMLVideoElement is the only subclass to support fullscreen
612 (conditionnaly). HTMLAudioElement fullscreen is not supported
613 and is a different kind of fullscreen, if it comes to be wanted.
615 No test can be done currently given that none of the media
616 backends support fullscreen.
618 * html/HTMLMediaElement.cpp:
619 * html/HTMLMediaElement.h:
620 (WebCore::HTMLMediaElement::supportsFullscreen):
622 2009-07-14 Darin Adler <darin@apple.com>
624 Reviewed by Dimitri Glazkov.
626 Next step in making DOM attribute getter/setters consistently use AtomicString
627 https://bugs.webkit.org/show_bug.cgi?id=25425
629 This covers eight DOM classes, and for each one of the classes:
631 - Changes the IDL to use the Reflect syntax for all simple cases.
632 - Removes unused functions in the classes, mainly newly unused ones that were
633 used for reflection before.
634 - Removes unneeded explicitly defined destructors.
635 - Explicitly declares destructors as virtual.
636 - Removes unneeded includes.
637 - Makes members protected or private rather than public where possible.
638 - Renames "doc" to "document".
639 - Tweaks formatting to match our latest style in a few places.
640 - Improves some FIXME comments.
642 Over time we'll want to do this for all HTML DOM classes.
644 * html/HTMLAnchorElement.cpp:
645 (WebCore::HTMLAnchorElement::HTMLAnchorElement):
646 * html/HTMLAnchorElement.h:
647 (WebCore::HTMLAnchorElement::endTagRequirement):
648 (WebCore::HTMLAnchorElement::tagPriority):
649 * html/HTMLAnchorElement.idl:
650 * html/HTMLAppletElement.cpp:
651 * html/HTMLAppletElement.h:
652 * html/HTMLAppletElement.idl:
653 * html/HTMLAreaElement.cpp:
654 (WebCore::HTMLAreaElement::parseMappedAttribute):
655 * html/HTMLAreaElement.h:
656 (WebCore::HTMLAreaElement::endTagRequirement):
657 (WebCore::HTMLAreaElement::tagPriority):
658 * html/HTMLAreaElement.idl:
659 * html/HTMLBRElement.cpp:
660 (WebCore::HTMLBRElement::parseMappedAttribute):
661 * html/HTMLBRElement.h:
662 * html/HTMLBRElement.idl:
663 * html/HTMLBaseElement.cpp:
664 (WebCore::HTMLBaseElement::HTMLBaseElement):
665 (WebCore::HTMLBaseElement::removedFromDocument):
666 (WebCore::HTMLBaseElement::process):
667 * html/HTMLBaseElement.h:
668 * html/HTMLBaseElement.idl:
669 * html/HTMLBaseFontElement.cpp:
670 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
671 * html/HTMLBaseFontElement.h:
672 (WebCore::HTMLBaseFontElement::endTagRequirement):
673 (WebCore::HTMLBaseFontElement::tagPriority):
674 * html/HTMLBaseFontElement.idl:
675 * html/HTMLBlockquoteElement.cpp:
676 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
677 * html/HTMLBlockquoteElement.h:
678 (WebCore::HTMLBlockquoteElement::tagPriority):
679 * html/HTMLBlockquoteElement.idl:
680 * html/HTMLBodyElement.cpp:
681 (WebCore::HTMLBodyElement::HTMLBodyElement):
682 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
683 * html/HTMLBodyElement.h:
684 (WebCore::HTMLBodyElement::endTagRequirement):
685 (WebCore::HTMLBodyElement::tagPriority):
686 * html/HTMLBodyElement.idl:
687 Made changes as described above.
689 * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
691 2009-07-14 Steve Falkenburg <sfalken@apple.com>
693 Reorganize JavaScriptCore headers into:
694 API: include/JavaScriptCore/
695 Private: include/private/JavaScriptCore/
697 Reviewed by Darin Adler.
699 * WebCore.vcproj/QTMovieWin.vcproj:
700 * WebCore.vcproj/WebCoreCommon.vsprops:
701 * WebCore.vcproj/build-generated-files.sh:
703 2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
705 Reviewed by Darin Adler.
707 Change all Noncopyable inheriting visibility to public.
708 https://bugs.webkit.org/show_bug.cgi?id=27225
710 Change all Noncopyable inheriting visibility to public because
711 it is needed to the custom allocation framework (bug #20422).
713 * bindings/js/GCController.h:
714 * bindings/js/WorkerScriptController.h:
715 * bindings/v8/V8DOMMap.cpp:
719 * css/CSSSelectorList.h:
720 * css/CSSStyleSelector.h:
722 * dom/MessagePortChannel.h:
723 * dom/XMLTokenizerLibxml2.cpp:
724 * dom/XMLTokenizerScope.h:
725 * editing/ReplaceSelectionCommand.cpp:
726 * editing/SelectionController.h:
727 * editing/TextIterator.cpp:
728 * history/PageCache.h:
729 * html/CanvasRenderingContext2D.h:
731 * html/HTMLParserQuirks.h:
732 * html/PreloadScanner.h:
734 * loader/CrossOriginPreflightResultCache.h:
735 * loader/FrameLoader.h:
736 * loader/ProgressTracker.h:
737 * loader/ThreadableLoader.h:
738 * loader/appcache/ApplicationCacheGroup.h:
739 * loader/archive/ArchiveResourceCollection.h:
740 * loader/icon/IconDatabase.h:
741 * loader/icon/IconLoader.h:
742 * loader/icon/PageURLRecord.h:
744 * page/ContextMenuController.h:
745 * page/EventHandler.h:
749 * page/PageGroupLoadDeferrer.h:
750 * page/mac/EventHandlerMac.mm:
751 * platform/AutodrainedPool.h:
752 * platform/ContextMenu.h:
753 * platform/EventLoop.h:
754 * platform/HostWindow.h:
755 * platform/Pasteboard.h:
756 * platform/PurgeableBuffer.h:
757 * platform/RunLoopTimer.h:
758 * platform/ThreadGlobalData.h:
759 * platform/ThreadTimers.h:
761 * platform/TreeShared.h:
762 * platform/graphics/FontData.h:
763 * platform/graphics/GlyphWidthMap.h:
764 * platform/graphics/GraphicsContext.h:
765 * platform/graphics/ImageBuffer.h:
766 * platform/graphics/ImageSource.h:
767 * platform/graphics/MediaPlayer.h:
768 * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
769 * platform/graphics/skia/PlatformContextSkia.h:
770 * platform/graphics/win/QTMovieWin.cpp:
771 * platform/mac/LocalCurrentGraphicsContext.h:
772 * platform/network/FormDataBuilder.h:
773 * platform/network/ResourceHandleInternal.h:
774 * platform/network/soup/ResourceHandleSoup.cpp:
775 * platform/text/StringBuffer.h:
776 * platform/text/TextCodec.h:
777 * platform/win/WindowMessageBroadcaster.h:
778 * rendering/CounterNode.h:
779 * rendering/LayoutState.h:
780 * rendering/RenderFrameSet.h:
781 * rendering/RenderView.h:
782 * rendering/TransformState.h:
783 * svg/SVGAnimatedProperty.h:
784 * svg/SynchronizableTypeWrapper.h:
785 * workers/WorkerMessagingProxy.h:
786 * workers/WorkerRunLoop.cpp:
787 * xml/XPathExpressionNode.h:
789 * xml/XPathPredicate.h:
792 2009-07-14 Darin Fisher <darin@chromium.org>
794 Reviewed by Darin Adler.
796 Fails to save document state when navigating away from a page with a
798 https://bugs.webkit.org/show_bug.cgi?id=27281
800 Test: fast/history/saves-state-after-fragment-nav.html
802 * history/HistoryItem.cpp:
803 (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
806 2009-07-14 Joseph Pecoraro <joepeck02@gmail.com>
808 Reviewed by Sam Weinig.
810 Inspector: Remove Unintended Global Variables
811 https://bugs.webkit.org/show_bug.cgi?id=27203
813 * inspector/front-end/Console.js:
814 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
815 * inspector/front-end/DatabasesPanel.js:
816 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
817 * inspector/front-end/ObjectPropertiesSection.js:
818 (WebInspector.ObjectPropertyTreeElement.prototype.update):
819 * inspector/front-end/inspector.js:
820 (WebInspector.animateStyle):
822 2009-07-14 Michelangelo De Simone <micdesim@gmail.com>
824 Reviewed by Adele Peterson.
826 https://bugs.webkit.org/show_bug.cgi?id=19562
827 Added build stuff and stub for the ValidityState class, part of HTML5
829 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
831 Test: fast/forms/ValidityState-001.html
833 * DerivedSources.cpp: Inclusion of ValidityState files
834 * DerivedSources.make: ditto
835 * GNUmakefile.am: ditto
836 * WebCore.gypi: ditto
838 * WebCore.vcproj/WebCore.vcproj: ditto
839 * WebCore.xcodeproj/project.pbxproj: ditto
840 * WebCoreSources.bkl: ditto
841 * html/HTMLButtonElement.idl: validity attribute
842 * html/HTMLFieldSetElement.idl: ditto
843 * html/HTMLFormControlElement.cpp:
844 (WebCore::HTMLFormControlElement::validity): ValidityState getter
845 * html/HTMLFormControlElement.h: ditto
846 * html/HTMLInputElement.idl: validity attribute
847 * html/HTMLSelectElement.idl: ditto
848 * html/HTMLTextAreaElement.idl: ditto
849 * html/ValidityState.cpp: Added.
850 (WebCore::ValidityState::ValidityState):
851 (WebCore::ValidityState::valid): validation flag
852 * html/ValidityState.h: Added.
853 (WebCore::ValidityState::create): validation flag
854 (WebCore::ValidityState::control): ditto
855 (WebCore::ValidityState::valueMissing): ditto
856 (WebCore::ValidityState::typeMismatch): ditto
857 (WebCore::ValidityState::patternMismatch): ditto
858 (WebCore::ValidityState::tooLong): ditto
859 (WebCore::ValidityState::rangeUnderflow): ditto
860 (WebCore::ValidityState::rangeOverflow): ditto
861 (WebCore::ValidityState::stepMismatch): ditto
862 (WebCore::ValidityState::customError): ditto
863 * html/ValidityState.idl: Added.
865 2009-07-14 Ryosuke Niwa <rniwa@google.com>
867 Reviewed by Eric Seidel.
869 Outdenting a line inside a blockquote tag does nothing
870 https://bugs.webkit.org/show_bug.cgi?id=25316
872 The bug was caused by the code checking whether the blockquote is created by WebKit or not.
873 We simply remove this code to be consistent with Firefox and Internet Explorer.
874 Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
875 the placeholder before the enclosingNode because there could be contents before the current paragraph.
876 Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
877 It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
879 Test: editing/execCommand/outdent-regular-blockquote.html
881 * editing/IndentOutdentCommand.cpp:
882 (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
883 (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
885 2009-07-14 Adam Barth <abarth@webkit.org>
887 Reviewed by Dimitri Glazkov.
889 [V8] Fix isolated world wrappers for Node prototypes
890 https://bugs.webkit.org/show_bug.cgi?id=27277
892 This change does two things:
894 1) We bypass the wrapper cache in the isolated world. This is because
895 the wrapper template cache has prototypes that lead to the main
896 world. We can add a template cache for the isolated world if
897 performance warrants.
899 2) We introduce a smarter way to grab the wrapper context for a frame
900 that is aware that proxy <-> context do not stand in one-to-one
901 correspondence. This generalizes our solution for the node wrapper
904 The net result is that Node wrappers get the right prototypes. As
905 before, tests to follow.
907 * bindings/v8/V8DOMWrapper.cpp:
908 (WebCore::V8DOMWrapper::setHiddenWindowReference):
909 (WebCore::V8DOMWrapper::instantiateV8Object):
910 (WebCore::V8DOMWrapper::convertNodeToV8Object):
911 (WebCore::V8DOMWrapper::convertWindowToV8Object):
912 (WebCore::V8DOMWrapper::getWrapperContext):
913 * bindings/v8/V8DOMWrapper.h:
915 2009-07-14 Adam Barth <abarth@webkit.org>
917 Reviewed by Dimitri Glazkov.
919 [V8] Fix isolated world wrappers for Nodes
920 https://bugs.webkit.org/show_bug.cgi?id=27271
922 Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
923 caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
925 I have tests, but I can't land them until I get this feature under
928 * bindings/v8/V8DOMWrapper.cpp:
929 (WebCore::V8DOMWrapper::convertNodeToV8Object):
930 * bindings/v8/V8Proxy.h:
931 (WebCore::V8Proxy::V8Proxy):
933 2009-07-14 Adam Barth <abarth@webkit.org>
935 Reviewed by Dimitri Glazkov.
937 [V8] Fix isolated world crash on getting window.location
938 https://bugs.webkit.org/show_bug.cgi?id=27268
940 I have a test for this locally, but it requires a compile-time hack to
941 run. Once I get the feature's stability under control, we can turn the
942 feature on and add the tests.
944 * bindings/v8/V8DOMWrapper.cpp:
945 (WebCore::V8DOMWrapper::setHiddenWindowReference):
946 * bindings/v8/V8IsolatedWorld.h:
947 (WebCore::V8IsolatedWorld::context):
949 2009-07-14 Brent Fulgham <bfulgham@webkit.org>
951 Correct failing tests after r45875. The original patch did not
952 test the m_player member for null, causing crashes. This will
953 happen fairly frequently in real use. Was this original patch
955 https://bugs.webkit.org/show_bug.cgi?id=27246
957 Test via existing media tests.
959 * html/HTMLMediaElement.cpp:
960 (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
961 (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
963 2009-07-14 Avi Drissman <avi@chromium.org>
965 Reviewed by Darin Fisher.
967 Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
968 The Windows clipboard format is explicitly documented as being UTF-8,
969 and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
970 indicated, Windows-1252 is assumed, which is wrong.
972 Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
976 * platform/chromium/ClipboardChromium.cpp:
977 (WebCore::ClipboardChromium::writeRange):
978 * platform/chromium/PasteboardChromium.cpp:
979 (WebCore::Pasteboard::writeSelection):
981 2009-07-14 Albert J. Wong <ajwong@chromium.org>
983 Reviewed by Dimitri Glazkov.
985 Upstream V8NPObject.h and V8NPObject.cpp.
986 https://bugs.webkit.org/show_bug.cgi?id=27103
988 This just upstreams the files from the chromium code base. Only
989 minor changes to formatting and similar were done, so no testing
990 is required because nothing really changed. Code verified to compile.
992 * bindings/v8/ScriptController.cpp:
993 (WebCore::ScriptController::bindToWindowObject):
994 (WebCore::ScriptController::createScriptInstanceForWidget):
995 * bindings/v8/V8NPObject.cpp: Added.
996 (npObjectInvokeImpl):
997 (npObjectMethodHandler):
998 (npObjectInvokeDefaultHandler):
999 (weakTemplateCallback):
1000 (npObjectGetProperty):
1001 (npObjectNamedPropertyGetter):
1002 (npObjectIndexedPropertyGetter):
1003 (npObjectGetNamedProperty):
1004 (npObjectGetIndexedProperty):
1005 (npObjectSetProperty):
1006 (npObjectNamedPropertySetter):
1007 (npObjectIndexedPropertySetter):
1008 (npObjectSetNamedProperty):
1009 (npObjectSetIndexedProperty):
1010 (weakNPObjectCallback):
1011 (createV8ObjectForNPObject):
1012 (forgetV8ObjectForNPObject):
1013 * bindings/v8/V8NPObject.h: Added.
1014 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1015 (WebCore::NAMED_PROPERTY_GETTER):
1016 (WebCore::NAMED_PROPERTY_SETTER):
1017 (WebCore::CALLBACK_FUNC_DECL):
1018 (WebCore::INDEXED_PROPERTY_GETTER):
1019 (WebCore::INDEXED_PROPERTY_SETTER):
1022 2009-07-14 Albert J. Wong <ajwong@chromium.org>
1024 Reviewed by Darin Adler.
1026 Add HTMLMediaElement::supportSave() and a
1027 HitTestResult::absoluteMediaURL() functions
1028 https://bugs.webkit.org/show_bug.cgi?id=27246
1030 Added an implementation of supportsSave() into HTMLMediaElement
1031 that delegates to MediaPlayerPrivateImpl so that the media engine
1032 is able to signal whether or not a media source supports saving.
1034 Also added a function to HitTestResult that allows for retrieval
1035 of the currentSrc associated with the "hit" media element.
1037 These functions are just pipeing with no visible UI change so there
1038 are no related layout test changes.
1040 * html/HTMLMediaElement.cpp:
1041 (WebCore::HTMLMediaElement::supportsFullscreen):
1042 (WebCore::HTMLMediaElement::supportsSave):
1043 * html/HTMLMediaElement.h:
1044 * platform/graphics/MediaPlayer.cpp:
1045 (WebCore::MediaPlayer::supportsSave):
1046 * platform/graphics/MediaPlayer.h:
1047 * platform/graphics/MediaPlayerPrivate.h:
1048 (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
1049 (WebCore::MediaPlayerPrivateInterface::supportsSave):
1050 * rendering/HitTestResult.cpp:
1051 (WebCore::HitTestResult::altDisplayString):
1052 (WebCore::HitTestResult::absoluteMediaURL):
1053 * rendering/HitTestResult.h:
1055 2009-07-14 Dimitri Glazkov <dglazkov@chromium.org>
1057 Reviewed by Adam Barth.
1059 [V8] Implement Reflect and ReflectURL attribute support.
1060 https://bugs.webkit.org/show_bug.cgi?id=27273
1062 * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
1064 2009-07-14 Dmitry Titov <dimich@chromium.org>
1066 Reviewed by Darin Adler.
1068 https://bugs.webkit.org/show_bug.cgi?id=27266
1069 Add hasCurrentPoint() to WebCore::Path.
1070 This fixes Skia-based Chromium regression caused by the fix for
1071 https://bugs.webkit.org/show_bug.cgi?id=27187.
1072 For Skia, the new method always returns 'true', pending actual implementation.
1073 This means Chromium still will differ from Gecko behavior, but at least its Canvas
1074 will not be completely broken.
1076 Existing Canvas Layout Tests should pass in Chromium after this change.
1078 * html/CanvasRenderingContext2D.cpp:
1079 (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
1080 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
1081 (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
1083 * platform/graphics/Path.h:
1084 * platform/graphics/cairo/PathCairo.cpp:
1085 (WebCore::Path::hasCurrentPoint):
1086 * platform/graphics/cg/PathCG.cpp:
1087 (WebCore::Path::isEmpty):
1088 (WebCore::Path::hasCurrentPoint):
1089 * platform/graphics/qt/PathQt.cpp:
1090 (WebCore::Path::hasCurrentPoint):
1091 * platform/graphics/skia/PathSkia.cpp:
1092 (WebCore::Path::hasCurrentPoint):
1093 * platform/graphics/wx/PathWx.cpp:
1094 (WebCore::Path::hasCurrentPoint):
1095 All these files add a Path::hasCurrentPoint() for various platforms.
1097 2009-07-14 Nate Chapin <japhet@chromium.org>
1099 Reviewed by Sam Weinig.
1101 Upstream RGBColor from src.chromium.org.
1103 https://bugs.webkit.org/show_bug.cgi?id=27133
1105 * WebCore.gypi: Add RGBColor
1106 * css/RGBColor.cpp: Added.
1107 (WebCore::RGBColor::create):
1108 (WebCore::RGBColor::red):
1109 (WebCore::RGBColor::green):
1110 (WebCore::RGBColor::blue):
1111 * css/RGBColor.h: Added.
1112 (WebCore::RGBColor::RGBColor):
1114 2009-07-10 Matt Perry <mpcomplete@chromium.org>
1116 Reviewed by Darin Fisher.
1118 [V8] Rename the didCreate/DestroyScriptContext calls to make it
1119 clear that that those refer to the frame's contxt. Add another
1120 similar call for when creating contexts via evaluateInNewContext.
1121 https://bugs.webkit.org/show_bug.cgi?id=27104
1123 * bindings/v8/V8Proxy.cpp:
1124 (WebCore::V8Proxy::evaluateInNewContext):
1125 (WebCore::V8Proxy::disposeContextHandles):
1126 (WebCore::V8Proxy::initContextIfNeeded):
1127 * loader/EmptyClients.h:
1128 (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
1129 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
1130 (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
1131 * loader/FrameLoaderClient.h:
1133 2009-07-14 Brent Fulgham <bfulgham@webkit.org>
1135 Revert http://trac.webkit.org/changeset/45864 after
1136 breaking of Windows build.
1138 * storage/LocalStorageTask.cpp:
1139 * storage/LocalStorageTask.h:
1140 * storage/Storage.cpp:
1141 * storage/Storage.h:
1142 * storage/StorageArea.cpp:
1143 * storage/StorageArea.h:
1144 * storage/StorageAreaImpl.cpp:
1145 * storage/StorageAreaImpl.h:
1146 * storage/StorageAreaSync.cpp:
1147 * storage/StorageAreaSync.h:
1148 * storage/StorageEvent.cpp:
1149 * storage/StorageEvent.h:
1150 (WebCore::StorageEvent::create):
1151 (WebCore::StorageEvent::StorageEvent):
1152 * storage/StorageNamespace.h:
1153 * storage/StorageNamespaceImpl.cpp:
1154 * storage/StorageNamespaceImpl.h:
1155 * storage/StorageSyncManager.cpp:
1156 * storage/StorageSyncManager.h:
1158 2009-07-11 Jeremy Orlow <jorlow@chromium.org>
1160 Reviewed by Darin Adler.
1162 Cleanup DOM Storage dependencies.
1163 https://bugs.webkit.org/show_bug.cgi?id=27180
1165 DOM Storage had several unnecessary (and probably unintended)
1166 dependencies. This patch replaces many includes of header files with
1167 forward declaration of classes, making some destructors explicit, and
1168 taking some factories out of the header files.
1170 This will allow things like StorageAreaSync to take a StorageAreaImpl*
1171 (as it should) rather than a StorageArea* which previously weren't
1172 possible because the dependencies were such a tangled mess.
1174 * storage/LocalStorageTask.cpp:
1175 (WebCore::LocalStorageTask::~LocalStorageTask):
1176 * storage/LocalStorageTask.h:
1177 * storage/Storage.cpp:
1178 (WebCore::Storage::~Storage):
1179 * storage/Storage.h:
1180 * storage/StorageArea.cpp:
1181 * storage/StorageArea.h:
1182 * storage/StorageAreaImpl.cpp:
1183 * storage/StorageAreaImpl.h:
1184 * storage/StorageAreaSync.cpp:
1185 (WebCore::StorageAreaSync::~StorageAreaSync):
1186 * storage/StorageAreaSync.h:
1187 * storage/StorageEvent.cpp:
1188 (WebCore::StorageEvent::create):
1189 (WebCore::StorageEvent::StorageEvent):
1190 * storage/StorageEvent.h:
1191 * storage/StorageNamespace.h:
1192 * storage/StorageNamespaceImpl.cpp:
1193 * storage/StorageNamespaceImpl.h:
1194 * storage/StorageSyncManager.cpp:
1195 (WebCore::StorageSyncManager::~StorageSyncManager):
1196 * storage/StorageSyncManager.h:
1199 2009-07-14 Adam Treat <adam.treat@torchmobile.com>
1201 Reviewed by David Hyatt.
1203 https://bugs.webkit.org/show_bug.cgi?id=26983
1205 Check to make sure the view is attached to a frame() in the visibleContentsResized()
1206 method as it can be triggered before the view is attached by Frame::createView(...)
1207 setting various values such as setScrollBarModes(...) for example. An ASSERT is
1208 triggered when a view is layout before being attached to a frame().
1210 * page/FrameView.cpp:
1211 (WebCore::FrameView::visibleContentsResized):
1214 2009-07-14 Pavel Feldman <pfeldman@chromium.org>
1216 Reviewed by Timothy Hatcher.
1218 WebInspector: show last opened panel when invoking inspector.
1220 https://bugs.webkit.org/show_bug.cgi?id=27263
1222 * inspector/InspectorController.cpp:
1223 (WebCore::InspectorController::InspectorController):
1224 (WebCore::InspectorController::setWindowVisible):
1225 (WebCore::InspectorController::storeLastActivePanel):
1226 (WebCore::InspectorController::specialPanelForJSName):
1227 * inspector/InspectorController.h:
1228 (WebCore::InspectorController::Setting::Setting):
1229 * inspector/InspectorController.idl:
1230 * inspector/front-end/inspector.js:
1231 (WebInspector.set currentPanel):
1232 (WebInspector.loaded):
1234 2009-07-14 Anton Muhin <antonm@chromium.org>
1236 Reviewed by Dimitri Glazkov.
1238 Speed up access to NodeList length.
1239 https://bugs.webkit.org/show_bug.cgi?id=27264
1241 That's a minimal alternation of the code.
1243 * bindings/v8/custom/V8NodeListCustom.cpp:
1244 (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
1245 v8::Integer::New instead of v8::Number::New.
1247 2009-07-14 Anton Muhin <antonm@chromium.org>
1249 Reviewed by Dimitri Glazkov.
1251 Do not do unnecessary conversions from v8::Handle<v8::Value> to
1252 v8::Handle<v8::Object> and accompanying changes.
1253 https://bugs.webkit.org/show_bug.cgi?id=26953
1257 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
1258 but are not free (they check for emptiness of handle);
1259 2) inline conversion from wrapper to node;
1260 3) simplify case to an ASSERT.
1262 This is just a refactoring, so no new tests are needed.
1264 * bindings/scripts/CodeGeneratorV8.pm:
1265 * bindings/v8/V8Proxy.cpp:
1266 (WebCore::V8Proxy::evaluateInNewContext):
1267 (WebCore::V8Proxy::convertToSVGPODTypeImpl):
1268 * bindings/v8/V8Proxy.h:
1269 (WebCore::V8Proxy::convertDOMWrapperToNative):
1270 (WebCore::V8Proxy::convertToNativeObject):
1271 (WebCore::V8Proxy::convertToNativeEvent):
1272 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1273 (WebCore::toCanvasStyle):
1274 (WebCore::CALLBACK_FUNC_DECL):
1275 * bindings/v8/custom/V8CustomBinding.cpp:
1276 (WebCore::V8Custom::GetTargetFrame):
1277 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1278 (WebCore::CALLBACK_FUNC_DECL):
1279 (WebCore::V8Custom::ClearTimeoutImpl):
1280 (WebCore::NAMED_ACCESS_CHECK):
1281 (WebCore::INDEXED_ACCESS_CHECK):
1282 * bindings/v8/custom/V8DocumentCustom.cpp:
1283 (WebCore::CALLBACK_FUNC_DECL):
1284 * bindings/v8/custom/V8LocationCustom.cpp:
1285 (WebCore::CALLBACK_FUNC_DECL):
1287 2009-07-14 Darin Adler <darin@apple.com>
1289 Reviewed by Dan Bernstein.
1291 Straight quotes should match fancy quotes in in-page search
1292 https://bugs.webkit.org/show_bug.cgi?id=27217
1294 Tests: fast/text/find-quotes.html
1296 * editing/TextIterator.cpp:
1297 (WebCore::foldQuoteMark): Added.
1298 (WebCore::foldQuoteMarks): Added.
1299 (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
1300 (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
1301 added to the search buffer.
1303 * platform/text/CharacterNames.h: Added more quotation mark character names.
1304 Sorted character names with the sort tool.
1306 2009-07-13 Pavel Feldman <pfeldman@chromium.org>
1308 Reviewed by Timothy Hatcher.
1310 WebInspector: handle debugger shortcuts while on source frame or on
1311 script file selector.
1313 https://bugs.webkit.org/show_bug.cgi?id=27224
1315 * inspector/front-end/ScriptsPanel.js:
1316 (WebInspector.ScriptsPanel):
1317 * inspector/front-end/SourceFrame.js:
1318 (WebInspector.SourceFrame.prototype._loaded):
1320 2009-07-13 Sam Weinig <sam@webkit.org>
1322 Reviewed by Darin Adler.
1324 Use standard HashCountedSet instead of a hand rolled one
1327 * html/HTMLDocument.cpp:
1328 (WebCore::addItemToMap):
1329 (WebCore::removeItemFromMap):
1330 * html/HTMLDocument.h:
1332 2009-07-13 Erik Arvidsson <arv@chromium.org>
1334 Reviewed by Darin Adler and Maciej Stachowiak.
1336 Implement HTML5 draggable
1337 https://bugs.webkit.org/show_bug.cgi?id=26262
1339 This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
1340 to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
1342 Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
1344 Test: fast/html/draggable.html
1347 * html/HTMLAnchorElement.cpp:
1348 (WebCore::HTMLAnchorElement::draggable):
1349 * html/HTMLAnchorElement.h:
1350 * html/HTMLAttributeNames.in:
1351 * html/HTMLElement.cpp:
1352 (WebCore::HTMLElement::draggable):
1353 (WebCore::HTMLElement::setDraggable):
1354 * html/HTMLElement.h:
1355 * html/HTMLElement.idl:
1356 * html/HTMLImageElement.cpp:
1357 (WebCore::HTMLImageElement::draggable):
1358 * html/HTMLImageElement.h:
1360 2009-07-13 Simon Fraser <simon.fraser@apple.com>
1362 Reviewed by Dan Bernstein.
1364 Image rendered as layer contents looks different from image rendered via CG.
1365 <rdar://problem/7048830>
1367 Fix a visible color profile difference between between images rendered via Core Graphics
1368 and those rendered via a compositing layer, by assigning the GenericRGB profile to
1369 untagged images (which come through as having the DeviceRGB profile) when they are set
1372 Test: compositing/color-matching/image-color-matching.html
1374 * platform/graphics/mac/GraphicsLayerCA.mm:
1375 (WebCore::GraphicsLayerCA::setContentsToImage):
1377 2009-07-13 Darin Adler <darin@apple.com>
1379 Reviewed by Oliver Hunt.
1381 https://bugs.webkit.org/show_bug.cgi?id=27220
1382 Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
1384 * editing/TextIterator.cpp:
1385 (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
1386 in the assertion. Affects only the assertion.
1388 2009-07-13 Alexey Proskuryakov <ap@webkit.org>
1390 Reviewed by Darin Adler.
1392 https://bugs.webkit.org/show_bug.cgi?id=26925
1393 <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
1395 Test: http/tests/appcache/main-resource-hash.html
1397 * loader/appcache/ApplicationCache.cpp:
1398 (WebCore::ApplicationCache::resourceForURL):
1399 (WebCore::ApplicationCache::resourceForRequest):
1400 * loader/appcache/ApplicationCacheGroup.cpp:
1401 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
1402 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
1403 (WebCore::ApplicationCacheGroup::selectCache):
1404 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
1405 (WebCore::ApplicationCacheGroup::didReceiveResponse):
1406 (WebCore::ApplicationCacheGroup::didFail):
1407 (WebCore::ApplicationCacheGroup::addEntry):
1408 Remove URL fragment at appcache code borders.
1410 * loader/appcache/ApplicationCacheResource.h:
1411 (WebCore::ApplicationCacheResource::create):
1412 * loader/appcache/ApplicationCacheStorage.cpp:
1413 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
1414 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1415 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
1416 Assert that there is no URL fragment in URL at key points in appcache code.
1418 2009-07-13 Darin Adler <darin@apple.com>
1420 Reviewed by Dan Bernstein.
1422 https://bugs.webkit.org/show_bug.cgi?id=27166
1423 rdar://problem/7015857
1424 Find for strings composed entirely of spaces doesn't work
1426 Test: fast/text/find-spaces.html
1428 * editing/TextIterator.cpp:
1429 (WebCore::findPlainText): Removed unneeded special case.
1430 The empty string case already works correctly.
1432 2009-07-13 Anders Carlsson <andersca@apple.com>
1434 Reviewed by Kevin Decker.
1436 Remove NPPVpluginPrivateModeBool, it was removed from the spec.
1440 2009-07-13 Feng Qian <feng@chromium.org>
1442 Reviewed by Dimitri Glazkov.
1444 Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
1446 Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.
1448 * bindings/v8/V8DOMMap.h:
1449 (WebCore::WeakReferenceMap::WeakReferenceMap):
1450 (WebCore::WeakReferenceMap::~WeakReferenceMap):
1452 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1454 Reviewed by Darin Fisher.
1456 Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
1458 * WebCore.gypi: Removed bidi.cpp and bidi.h
1460 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1462 Reviewed by Darin Fisher.
1464 Update WebCore.gyp in preparation to hooking it up.
1466 * WebCore.gypi: Added files that were mid-stream while switching over.
1468 2009-07-13 Dmitry Titov <dimich@chromium.org>
1470 Not reviewed, another small fix for Chromium build.
1472 * bindings/v8/ScriptController.cpp:
1473 (WebCore::ScriptController::evaluate):
1475 2009-07-13 Dmitry Titov <dimich@chromium.org>
1477 Not reviewed, fix Chromium build bustage.
1479 * bindings/v8/ScriptController.cpp:
1480 (WebCore::ScriptController::evaluate):
1481 * bindings/v8/V8Proxy.cpp:
1482 (WebCore::JavaScriptConsoleMessage::addToPage):
1483 * bindings/v8/WorkerContextExecutionProxy.cpp:
1484 (WebCore::handleConsoleMessage):
1486 2009-07-13 Sam Weinig <sam@webkit.org>
1488 Reviewed by Darin Adler.
1490 Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
1491 <rdar://problem/7054356>
1493 Add null page check in HTMLDocument::hasFocus.
1495 Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
1497 * html/HTMLDocument.cpp:
1498 (WebCore::HTMLDocument::hasFocus): Add page null check.
1499 (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
1501 2009-07-13 Dan Bernstein <mitz@apple.com>
1503 Reviewed by Darin Adler.
1505 Disable continuous spell checking in the inspector
1506 https://bugs.webkit.org/show_bug.cgi?id=27131
1508 * inspector/front-end/inspector.html: Added spellcheck="false" to the
1509 main-panels and console-prompt containers.
1511 2009-07-13 Adam Langley <agl@google.com>
1513 Reviewed by Eric Seidel.
1515 Chromium Linux: fix assertion when rendering google.com.kh
1517 https://bugs.webkit.org/show_bug.cgi?id=26924
1519 Some shapers (i.e. Khmer) will produce cluster logs which report that
1520 /no/ code points contributed to certain glyphs. Because of this, we
1521 take any code point which contributed to the glyph in question, or any
1522 subsequent glyph. If we run off the end, then we take the last code
1525 Added LayoutTests/fast/text/international/khmar-selection.html
1527 * platform/graphics/chromium/FontLinux.cpp:
1528 (WebCore::Font::offsetForPositionForComplexText):
1530 2009-07-13 Dan Bernstein <mitz@apple.com>
1532 Reviewed by Darin Adler.
1534 spellcheck="false" is ignored
1535 <rdar://problem/7054177>
1537 * editing/Editor.cpp:
1538 (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
1539 spellcheck attribute from here...
1540 (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
1541 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
1542 if spell chcking is disabled by the spellcheck attribute.
1545 2009-07-13 Brent Fulgham <bfulgham@webkit.org>
1547 Reviewed by Adam Roben.
1549 Add new configuration flag for redistributable Windows build.
1550 https://bugs.webkit.org/show_bug.cgi=27087
1552 * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
1553 Debug_Cairo and Release_Cairo builds.
1554 * config.h: Check for presence of WIN_CAIRO and select appropriate
1555 configuration. Defaults to standard Apple build.
1557 2009-07-13 Peter Kasting <pkasting@google.com>
1559 https://bugs.webkit.org/show_bug.cgi?id=19562
1560 Back out previous patch for this bug (too many problems).
1562 * DerivedSources.cpp:
1563 * DerivedSources.make:
1567 * WebCore.vcproj/WebCore.vcproj:
1568 * WebCore.xcodeproj/project.pbxproj:
1569 * WebCoreSources.bkl:
1570 * html/HTMLButtonElement.idl:
1571 * html/HTMLFieldSetElement.idl:
1572 * html/HTMLFormControlElement.cpp:
1573 * html/HTMLFormControlElement.h:
1574 (WebCore::HTMLFormControlElement::form):
1575 * html/HTMLInputElement.idl:
1576 * html/HTMLSelectElement.idl:
1577 * html/HTMLTextAreaElement.idl:
1578 * html/ValidityState.cpp: Removed.
1579 * html/ValidityState.h: Removed.
1580 * html/ValidityState.idl: Removed.
1582 2009-07-13 Nate Chapin <japhet@chromium.org>
1584 Reviewed by Dimitri Glazkov.
1586 Add HTMLAllCollection to WebCore.gypi.
1588 https://bugs.webkit.org/show_bug.cgi?id=27223
1590 * WebCore.gypi: Add HTMLAllCollection.
1592 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1594 Reviewed by Darin Fisher.
1596 [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
1597 https://bugs.webkit.org/show_bug.cgi?id=27218
1599 Test: fast/css/matrix-as-function-crash.html
1601 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1602 (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
1604 2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1606 Unreviewed make dist build fix.
1610 2009-07-13 Cédric Luthi <cedric.luthi@gmail.com>
1612 Reviewed by Tor Arne Vestbø.
1614 Fix NPWindow clip rect in PluginViewMac
1616 The rect should be in window-coordinates. This bug can be observed
1617 with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
1619 * plugins/mac/PluginViewMac.cpp:
1621 2009-07-13 Simon Hausmann <hausmann@webkit.org>
1623 Reviewed by Ariya Hidayat.
1625 Fix Qt implementation of WebCore::directoryName to return the absolute
1626 directory name instead of the base file name.
1628 * platform/qt/FileSystemQt.cpp:
1629 (WebCore::directoryName):
1631 2009-07-13 Simon Hausmann <hausmann@webkit.org>
1633 Reviewed by Ariya Hidayat.
1635 Fix WebCore::Path::isEmpty() for the Qt port to return true
1636 if there is no element in the path.
1638 QPainterPath::isEmpty() returns also true if there is one single
1639 MoveTo element inside, which makes sense but doesn't patch Webcore's
1640 is-empty definition.
1642 * platform/graphics/qt/PathQt.cpp:
1643 (WebCore::Path::isEmpty): Use elementCount() == 0.
1645 2009-07-13 Albert J. Wong <ajwong@chromium.org>
1647 Reviewed by Dimitri Glazkov.
1649 Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
1650 https://bugs.webkit.org/show_bug.cgi?id=27127
1652 There were a number of bugs introduced during the last upstreaming
1653 effort that broke around 30 layout tests. This fixes those bugs.
1654 It also has compile fixes to match the recent cutting apart of
1657 * bindings/v8/NPV8Object.cpp:
1659 (npCreateV8ScriptObject):
1661 (NPN_InvokeDefault):
1662 (NPN_EvaluateHelper):
1666 2009-07-13 Mads Ager <ager@chromium.org>
1668 Reviewed by Adam Barth.
1670 Fix memory leak in the V8 binding layer.
1671 https://bugs.webkit.org/show_bug.cgi?id=27163
1673 Reinitializing the context is not necessary when clearing the proxy for navigation
1674 and it will lead us to hold on to an empty context for each frame.
1676 Test for empty context instead of empty global object handle when
1677 updating the document for a context.
1679 * bindings/v8/V8Proxy.cpp:
1680 (WebCore::V8Proxy::clearForNavigation):
1681 (WebCore::V8Proxy::updateDocument):
1683 2009-07-13 John Gregg <johnnyg@google.com>
1685 Reviewed by David Levin.
1687 Correct the logic to determine if a V8 callback returns a value.
1688 https://bugs.webkit.org/show_bug.cgi?id=27155
1690 * bindings/v8/custom/V8CustomVoidCallback.cpp:
1691 (WebCore::invokeCallback):
1692 - Don't crash if result.IsEmpty().
1694 2009-07-13 Drew Wilson <atwilson@google.com>
1696 Reviewed by David Levin.
1698 Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
1699 https://bugs.webkit.org/show_bug.cgi?id=26932
1701 Initial IDL definition and bindings for SharedWorkers.
1703 * Configurations/FeatureDefines.xcconfig:
1704 Added new files for SharedWorker support.
1705 * DerivedSources.make:
1706 Added new files for SharedWorker support.
1708 Added new files for SharedWorker support.
1710 Added new files for SharedWorker support.
1712 Added new files for SharedWorker support.
1713 * WebCore.xcodeproj/project.pbxproj:
1714 Added new files for SharedWorker support.
1715 * bindings/js/JSAbstractWorkerCustom.cpp: Added.
1716 (WebCore::JSAbstractWorker::mark):
1717 Custom mark handler that marks the event listeners.
1718 (WebCore::JSAbstractWorker::addEventListener):
1719 (WebCore::JSAbstractWorker::removeEventListener):
1720 (WebCore::JSAbstractWorker::toJS):
1721 Custom toJS handler which differentiates between various subclasses.
1722 * bindings/js/JSDOMWindowCustom.cpp:
1723 (WebCore::JSDOMWindow::sharedWorker):
1724 SharedWorker constructor (only enabled when SHARED_WORKERS is
1726 * bindings/js/JSEventTarget.cpp:
1728 (WebCore::toEventTarget):
1729 Added support for converting to/from SharedWorkers.
1730 * bindings/js/JSSharedWorkerConstructor.cpp: Added.
1731 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
1732 (WebCore::constructSharedWorker):
1733 (WebCore::JSSharedWorkerConstructor::getConstructData):
1734 * bindings/js/JSSharedWorkerConstructor.h: Added.
1735 (WebCore::JSSharedWorkerConstructor::classInfo):
1736 * bindings/js/JSSharedWorkerCustom.cpp: Added.
1737 (WebCore::JSSharedWorker::mark):
1738 Custom mark function that marks the internal MessagePort.
1739 * bindings/v8/DOMObjectsInclude.h:
1740 Updated to include new header files.
1741 * bindings/v8/V8Index.cpp:
1742 * bindings/v8/V8Index.h:
1743 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
1744 (WebCore::getEventListener):
1745 (WebCore::ACCESSOR_GETTER):
1746 (WebCore::ACCESSOR_SETTER):
1747 (WebCore::CALLBACK_FUNC_DECL):
1748 V8 handlers for add/removeEventListener().
1749 * bindings/v8/custom/V8CustomBinding.h:
1750 * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
1751 (WebCore::CALLBACK_FUNC_DECL):
1752 Custom constructor for SharedWorker.
1753 * dom/EventTarget.cpp:
1754 (WebCore::EventTarget::toSharedWorker):
1755 * dom/EventTarget.h:
1756 * page/DOMWindow.idl:
1757 * workers/AbstractWorker.cpp: Added.
1758 (WebCore::AbstractWorker::AbstractWorker):
1759 Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
1760 This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
1761 (WebCore::AbstractWorker::~AbstractWorker):
1762 (WebCore::AbstractWorker::addEventListener):
1763 (WebCore::AbstractWorker::removeEventListener):
1764 (WebCore::AbstractWorker::dispatchEvent):
1765 (WebCore::AbstractWorker::dispatchLoadErrorEvent):
1766 (WebCore::AbstractWorker::dispatchScriptErrorEvent):
1767 * workers/AbstractWorker.h: Added.
1768 Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
1769 (WebCore::AbstractWorker::scriptExecutionContext):
1770 (WebCore::AbstractWorker::setOnerror):
1771 (WebCore::AbstractWorker::onerror):
1772 (WebCore::AbstractWorker::eventListeners):
1773 (WebCore::AbstractWorker::refEventTarget):
1774 (WebCore::AbstractWorker::derefEventTarget):
1775 * workers/AbstractWorker.idl: Added.
1776 * workers/SharedWorker.cpp: Added.
1777 (WebCore::SharedWorker::SharedWorker):
1778 (WebCore::SharedWorker::~SharedWorker):
1779 * workers/SharedWorker.h: Added.
1780 (WebCore::SharedWorker::create):
1781 (WebCore::SharedWorker::port):
1782 (WebCore::SharedWorker::toSharedWorker):
1783 * workers/SharedWorker.idl: Added.
1785 2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1787 Reviewed by Simon Hausmann.
1789 [Qt] Cleanup - Remove prf install target
1790 https://bugs.webkit.org/show_bug.cgi?id=27191
1792 qtwebkit.prf has been removed; this cleans up the related
1793 install target as well.
1795 * WebCore.pro: Remove prf install target
1797 2009-07-12 Adam Barth <abarth@webkit.org>
1799 Reviewed by Oliver Hunt.
1801 Facebook Chat is broken due to XSS auditor
1802 https://bugs.webkit.org/show_bug.cgi?id=27179
1804 Instead of just using the script's URL as to detect an XSS attack, we
1805 now use a bit of context before the URL. In particular, we use the
1806 bytes from the beginning of the attribute name to the end of the
1807 attribute value. In virtually all injection attacks, the attacker
1808 would need to supply the attribute name as well as the attribute value.
1809 However, in the Facebook false positive, the attribute name is not
1812 Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
1813 http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
1814 http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
1816 * html/HTMLTokenizer.cpp:
1817 (WebCore::HTMLTokenizer::parseTag):
1818 * html/HTMLTokenizer.h:
1819 * page/XSSAuditor.cpp:
1820 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1821 * page/XSSAuditor.h:
1823 2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
1825 Reviewed by Timothy Hatcher.
1827 Refactor ConsoleMessage to add MessageType attribute.
1828 https://bugs.webkit.org/show_bug.cgi?id=20625
1830 * bindings/js/JSCustomXPathNSResolver.cpp:
1831 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1832 * bindings/js/JSDOMWindowBase.cpp:
1833 (WebCore::JSDOMWindowBase::printErrorMessage):
1835 (WebCore::Document::reportException):
1836 (WebCore::Document::addMessage):
1838 * dom/ScriptExecutionContext.h:
1839 * html/HTMLParser.cpp:
1840 (WebCore::HTMLParser::reportErrorToConsole):
1841 * inspector/ConsoleMessage.cpp:
1842 (WebCore::ConsoleMessage::ConsoleMessage):
1843 (WebCore::ConsoleMessage::addToConsole):
1844 (WebCore::ConsoleMessage::isEqual):
1845 * inspector/ConsoleMessage.h:
1846 * inspector/InspectorController.cpp:
1847 (WebCore::InspectorController::addMessageToConsole):
1848 (WebCore::InspectorController::startGroup):
1849 (WebCore::InspectorController::endGroup):
1850 (WebCore::InspectorController::addProfileFinishedMessageToConsole):
1851 (WebCore::InspectorController::addStartProfilingMessageToConsole):
1852 (WebCore::InspectorController::count):
1853 * inspector/InspectorController.h:
1854 * inspector/front-end/Console.js:
1855 (WebInspector.Console.prototype.addMessage):
1856 (WebInspector.ConsoleMessage): Added type property.
1857 (WebInspector.ConsoleMessage.prototype.toMessageElement):
1858 (WebInspector.ConsoleMessage.prototype.toString):
1859 (WebInspector.ConsoleMessage.prototype.isEqual):
1860 (WebInspector.ConsoleCommandResult):
1861 (WebInspector.ConsoleGroup.prototype.addMessage):
1862 (WebInspector.ConsoleGroup.prototype._titleClicked):
1863 * inspector/front-end/Resource.js:
1864 (WebInspector.Resource.prototype._addTip):
1865 (WebInspector.Resource.prototype._checkWarning):
1866 * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
1867 * inspector/front-end/inspector.js:
1868 (WebInspector.addMessageToConsole):
1869 * loader/DocLoader.cpp:
1870 (WebCore::DocLoader::printAccessDeniedMessage):
1871 * loader/EmptyClients.h:
1872 (WebCore::EmptyChromeClient::addMessageToConsole):
1873 * loader/FrameLoader.cpp:
1874 (WebCore::FrameLoader::reportLocalLoadFailed):
1875 (WebCore::FrameLoader::shouldAllowNavigation):
1876 * page/ChromeClient.h:
1878 (WebCore::printMessageSourceAndLevelPrefix):
1879 (WebCore::Console::addMessage):
1880 (WebCore::Console::error):
1881 (WebCore::Console::log):
1882 (WebCore::Console::dir):
1883 (WebCore::Console::trace):
1884 (WebCore::Console::assertCondition):
1885 (WebCore::Console::timeEnd):
1886 (WebCore::Console::warn):
1887 * page/Console.h: Added MessageType enum.
1889 * page/DOMWindow.cpp:
1890 (WebCore::DOMWindow::postMessageTimerFired):
1891 * page/XSSAuditor.cpp:
1892 (WebCore::XSSAuditor::canEvaluate):
1893 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1894 (WebCore::XSSAuditor::canLoadObject):
1895 * svg/SVGDocumentExtensions.cpp:
1896 (WebCore::SVGDocumentExtensions::reportWarning):
1897 (WebCore::SVGDocumentExtensions::reportError):
1898 * wml/WMLErrorHandling.cpp:
1899 (WebCore::reportWMLError):
1900 * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
1901 (WebCore::GenericWorkerTask8::create):
1902 (WebCore::GenericWorkerTask8::GenericWorkerTask8):
1903 (WebCore::GenericWorkerTask8::performTask):
1904 (WebCore::createCallbackTask):
1905 * workers/WorkerContext.cpp:
1906 (WebCore::WorkerContext::addMessage):
1907 (WebCore::WorkerContext::importScripts):
1908 * workers/WorkerContext.h:
1909 * workers/WorkerMessagingProxy.cpp:
1910 (WebCore::postConsoleMessageTask):
1911 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1912 * workers/WorkerMessagingProxy.h:
1913 * workers/WorkerObjectProxy.h:
1914 * xml/XMLHttpRequest.cpp:
1915 (WebCore::reportUnsafeUsage):
1916 (WebCore::XMLHttpRequest::didFinishLoading):
1917 * xml/XSLTProcessor.cpp:
1918 (WebCore::XSLTProcessor::parseErrorFunc):
1920 2009-07-12 Nate Chapin <japhet@chromium.org>
1922 Reviewed by Dimitri Glazkov.
1924 Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
1926 https://bugs.webkit.org/show_bug.cgi?id=27132
1928 * bindings/scripts/CodeGeneratorV8.pm:
1929 * bindings/v8/DOMObjectsInclude.h:
1930 * bindings/v8/DerivedSourcesAllInOne.cpp:
1931 * bindings/v8/V8DOMWrapper.cpp:
1932 (WebCore::V8DOMWrapper::getTemplate):
1933 (WebCore::V8DOMWrapper::instantiateV8Object):
1934 * bindings/v8/V8Index.cpp:
1935 * bindings/v8/V8Index.h:
1936 * dom/HTMLAllCollection.idl: Added.
1938 2009-07-12 Joseph Pecoraro <joepeck02@gmail.com>
1940 Reviewed by Maciej Stachowiak.
1942 Inspector: Duplicate Computation in Autocompletion
1943 https://bugs.webkit.org/show_bug.cgi?id=26778
1945 * inspector/front-end/TextPrompt.js:
1946 (WebInspector.TextPrompt.prototype._completionsReady):
1948 2009-07-12 Dan Bernstein <mitz@apple.com>
1950 Reviewed by Maciej Stachowiak.
1952 https://bugs.webkit.org/show_bug.cgi?id=27196
1953 Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
1955 * GNUmakefile.am: Updated.
1956 * WebCore.gypi: Updated.
1957 * WebCore.pro: Updated.
1958 * WebCore.vcproj/WebCore.vcproj: Updated.
1959 * WebCore.xcodeproj/project.pbxproj: Updated.
1960 * WebCoreSources.bkl: Updated.
1961 * rendering/RenderBlock.h: Removed unnecessary forward declaration and
1963 * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
1964 Removed unnecessary #include statements.
1965 (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
1966 (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
1967 * rendering/bidi.cpp: Removed.
1968 * rendering/bidi.h: Removed.
1970 2009-07-12 Dan Bernstein <mitz@apple.com>
1974 * platform/graphics/cg/PDFDocumentImage.cpp:
1975 (WebCore::PDFDocumentImage::dataChanged):
1977 2009-07-12 Dan Bernstein <mitz@apple.com>
1979 Reviewed by Sam Weinig.
1983 * platform/graphics/BitmapImage.cpp:
1984 (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
1985 instead of the m_data member.
1986 (WebCore::BitmapImage::dataChanged): Ditto.
1987 * platform/graphics/Image.h: Re-ordered #includes and class
1988 declarations. Removed the drawPatternCallback() declaration. Made member
1990 * platform/graphics/cg/ImageCG.cpp:
1991 (WebCore::drawPatternCallback): Changed this from a member function to a
1993 * platform/graphics/cg/PDFDocumentImage.cpp:
1994 (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
1995 instead of the m_data member.
1996 * svg/graphics/SVGImage.cpp:
1997 (WebCore::SVGImage::dataChanged): Ditto.
1999 2009-07-12 Daniel Bates <dbates@intudata.com>
2001 Reviewed by Darin Adler.
2003 https://bugs.webkit.org/show_bug.cgi?id=27189
2005 Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused
2006 XSSAuditor to incorrectly block HTML Base elements whose base path coincided
2007 with the URL of the page.
2009 Test: http/tests/security/xssAuditor/base-href-safe3.html
2011 * page/XSSAuditor.cpp:
2012 (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call
2013 XSSAuditor::findInRequest() if the host in the page URL disagrees with the host
2014 in the base element URL.
2016 2009-07-12 Darin Adler <darin@apple.com>
2018 Reviewed by Dan Bernstein.
2020 Text searching with ICU should take the user's default locale into account
2021 https://bugs.webkit.org/show_bug.cgi?id=27184
2022 rdar://problem/6812121
2024 No simple way to test this since it's dependent on user locale.
2025 After this, the user's default locale is used only on Mac.
2027 * editing/TextIterator.cpp:
2028 (WebCore::createSearcher): Pass result of the currentSearchLocaleID
2029 function as the locale.
2031 * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
2032 currentSearchLocaleID function.
2034 * platform/text/android/TextBreakIteratorInternalICU.cpp:
2035 (WebCore::currentSearchLocaleID): Added. Returns the empty string.
2036 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
2037 (WebCore::currentSearchLocaleID): Ditto.
2038 * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
2039 (WebCore::currentSearchLocaleID): Ditto.
2041 * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2042 (WebCore::textBreakLocalePreference): Added. Returns the value of
2043 the AppleTextBreakLocale preference.
2044 (WebCore::topLanguagePreference): Added. Returns the value of the
2045 first item in the AppleLanguages preference.
2046 (WebCore::canonicalLanguageIdentifier): Added. Cover for the
2047 CFLocaleCreateCanonicalLanguageIdentifierFromString function.
2048 (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
2050 (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
2051 canonicalLanguageIdentifier, and getLocale.
2052 (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
2053 (WebCore::getTextBreakLocale): Changed to call
2054 textBreakLocalePreference, topLanguagePreference,
2055 canonicalLanguageIdentifier, and getLocale.
2057 * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
2058 (WebCore::currentSearchLocaleID): Added. Returns the empty string.
2059 * platform/wx/TemporaryLinkStubs.cpp:
2060 (WebCore::currentSearchLocaleID): Ditto.
2062 2009-07-12 Xan Lopez <xlopez@igalia.com>
2064 Reviewed by Gustavo Noronha.
2066 https://bugs.webkit.org/show_bug.cgi?id=25415
2067 [GTK][ATK] Please implement support for get_text_at_offset
2069 Create a PangoLayout that properly represents the visual
2070 appearance of the text in the web page so that the line boundary
2071 modes of getText{At,Before,After}Offset work correctly.
2073 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2076 (convertUniCharToUTF8):
2077 (getPangoLayoutForAtk):
2079 2009-07-11 Oliver Hunt <oliver@apple.com>
2081 Reviewed by Simon Fraser.
2083 Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
2084 <https://bugs.webkit.org/show_bug.cgi?id=27187>
2086 Simple API change, check for the empty path and add appropriate point if necessary.
2088 Test: fast/canvas/canvas-modify-emptyPath.html
2091 * WebCore.xcodeproj/project.pbxproj:
2092 * html/CanvasRenderingContext2D.cpp:
2093 (WebCore::CanvasRenderingContext2D::lineTo):
2094 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
2095 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
2097 2009-07-11 Eric Carlson <eric.carlson@apple.com>
2099 Reviewed by Antti Koivisto.
2101 HTMLMediaElement.canPlayType "maybe" and "probably" reversed
2102 https://bugs.webkit.org/show_bug.cgi?id=27186
2104 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2105 (WebCore::MediaPlayerPrivate::supportsType):
2106 Return "probably" if type has codecs parameter.
2108 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2109 (WebCore::MediaPlayerPrivate::supportsType):
2112 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2113 (WebCore::MediaPlayerPrivate::supportsType):
2116 2009-07-11 Brady Eidson <beidson@apple.com>
2118 Reviewed by Mark Rowe.
2120 A worker-thread inspired follow-up for:
2121 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2122 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2124 * xml/XMLHttpRequest.cpp:
2125 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
2126 is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
2127 not currently supported.
2129 2009-07-11 Simon Fraser <simon.fraser@apple.com>
2131 Enable support for accelerated compositing and 3d transforms on Leopard.
2132 <https://bugs.webkit.org/show_bug.cgi?id=20166>
2133 <rdar://problem/6120614>
2135 Reviewed by Oliver Hunt.
2137 * Configurations/FeatureDefines.xcconfig:
2139 2009-07-11 Simon Hausmann <hausmann@webkit.org>
2141 Fix the Qt build after r45724.
2143 * bridge/qt/qt_instance.cpp:
2144 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
2145 * bridge/qt/qt_runtime.cpp:
2146 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2148 2009-07-10 Daniel Bates <dbates@intudata.com>
2150 Reviewed by Adam Barth.
2152 https://bugs.webkit.org/show_bug.cgi?id=26921
2154 Implements support for HTML entities, so XSSAuditor can protect against attacks
2155 encoded with HTML entities.
2157 Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
2158 http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
2159 http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
2160 http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
2161 http/tests/security/xssAuditor/javascript-link-HTML-entities.html
2162 http/tests/security/xssAuditor/link-onclick-entities.html
2163 http/tests/security/xssAuditor/script-tag-entities.html
2164 http/tests/security/xssAuditor/script-tag-with-source-entities.html
2166 * page/XSSAuditor.cpp:
2167 (WebCore::XSSAuditor::canEvaluate):
2168 (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2169 (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
2170 to decode HTML entities.
2171 (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
2172 (WebCore::XSSAuditor::findInRequest):
2173 * page/XSSAuditor.h:
2175 2009-07-10 David Kilzer <ddkilzer@apple.com>
2177 Bug 27007: Build fixes when ICONDATABASE is disabled
2179 <https://bugs.webkit.org/show_bug.cgi?id=27007>
2181 Reviewed by Sam Weinig.
2183 * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
2185 * loader/icon/IconDatabase.cpp: Added
2186 #if ENABLE(ICONDATABASE)/#endif macro guard.
2187 * loader/icon/IconDatabase.h: Removed three public methods from
2188 #if ENABLE(ICONDATABASE)/#endif macro so that they may be
2189 stubbed out in IconDatabaseNone.cpp.
2190 * loader/icon/IconDatabaseNone.cpp: Added
2191 #if !ENABLE(ICONDATABASE)/#endif macro guard.
2192 (WebCore::IconDatabase::importIconURLForPageURL): Added.
2193 (WebCore::IconDatabase::importIconDataForIconURL): Added.
2194 (WebCore::IconDatabase::shouldStopThreadActivity): Added.
2196 2009-07-10 Daniel Bates <dbates@intudata.com>
2198 Reviewed by Adam Barth.
2200 https://bugs.webkit.org/show_bug.cgi?id=27151
2202 Fixes issue where JavaScript URLs that contain null- and non-null control characters can
2205 Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
2206 http/tests/security/xssAuditor/javascript-link-null-char.html
2207 http/tests/security/xssAuditor/javascript-link.html
2209 * bindings/js/ScriptController.cpp:
2210 (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from
2211 inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
2212 * bindings/v8/ScriptController.cpp:
2213 (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
2214 bindings/js/ScriptController.cpp.
2215 * page/XSSAuditor.cpp:
2216 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
2217 into its own method.
2218 * page/XSSAuditor.h:
2220 2009-07-10 Shinichiro Hamaji <hamaji@chromium.org>
2222 Reviewed by David Kilzer.
2224 WebKit needs a style linting tool
2225 https://bugs.webkit.org/show_bug.cgi?id=25884
2227 Fix bunch of style issues by autofix of cpplint.
2228 This patch is created to demonstrate the autofix of cpplint.py.
2230 No new testcases because it's a style fix
2232 * css/CSSParser.cpp:
2233 (WebCore::CSSParser::parseMediaQuery):
2234 (WebCore::CSSParser::validUnit):
2235 (WebCore::CSSParser::parseValue):
2236 (WebCore::skipCommaInDashboardRegion):
2237 (WebCore::CSSParser::parseDashboardRegions):
2238 (WebCore::ShadowParseContext::commitValue):
2239 (WebCore::ShadowParseContext::commitLength):
2240 (WebCore::ShadowParseContext::commitColor):
2241 (WebCore::BorderImageParseContext::commitNumber):
2242 (WebCore::BorderImageParseContext::commitWidth):
2243 (WebCore::BorderImageParseContext::commitRule):
2244 (WebCore::BorderImageParseContext::commitBorderImage):
2245 (WebCore::CSSParser::lex):
2246 (WebCore::CSSParser::text):
2247 * css/CSSStyleSelector.cpp:
2248 (WebCore::CSSStyleSelector::applyProperty):
2249 * css/MediaList.cpp:
2250 (WebCore::MediaList::deleteMedium):
2252 * css/MediaQueryEvaluator.cpp:
2253 (WebCore::parseAspectRatio):
2254 * css/MediaQueryEvaluator.h:
2255 * css/MediaQueryExp.h:
2256 (WebCore::MediaQueryExp::operator==):
2257 * css/WebKitCSSMatrix.h:
2260 (WebCore::Document::setFocusedNode):
2262 (WebCore::Document::setHasDashboardRegions):
2263 * dom/DocumentFragment.cpp:
2264 (WebCore::DocumentFragment::nodeName):
2265 * dom/DocumentFragment.h:
2266 * dom/DynamicNodeList.h:
2267 * dom/EditingText.h:
2269 (WebCore::Element::dispatchAttrAdditionEvent):
2270 * dom/NamedAttrMap.cpp:
2271 (WebCore::NamedNodeMap::item):
2273 (WebCore::Node::nodeValue):
2274 (WebCore::Node::nodeIndex):
2275 * dom/NodeRareData.h:
2276 (WebCore::NodeListsNodeData::create):
2278 * dom/ProcessingInstruction.h:
2280 (WebCore::Range::processContents):
2281 * dom/StyledElement.cpp:
2283 * dom/XMLTokenizerLibxml2.cpp:
2284 (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
2285 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
2286 (WebCore::PendingCallbacks::):
2287 (WebCore::OffsetBuffer::readOutBytes):
2288 (WebCore::handleElementNamespaces):
2289 (WebCore::handleElementAttributes):
2290 (WebCore::attributesStartElementNsHandler):
2291 * dom/XMLTokenizerQt.cpp:
2292 (WebCore::attributesStartElementNsHandler):
2293 (WebCore::XMLTokenizer::parseStartElement):
2294 * editing/ApplyStyleCommand.cpp:
2295 (WebCore::ApplyStyleCommand::applyInlineStyle):
2296 * editing/DeleteSelectionCommand.cpp:
2297 (WebCore::DeleteSelectionCommand::removeNode):
2298 * editing/Editor.cpp:
2299 (WebCore::Editor::pasteAsPlainText):
2300 * editing/SelectionController.cpp:
2301 (WebCore::SelectionController::directionOfEnclosingBlock):
2302 * editing/SmartReplaceICU.cpp:
2303 (WebCore::addAllCodePoints):
2304 * history/HistoryItem.cpp:
2305 (WebCore::HistoryItem::icon):
2306 (WebCore::HistoryItem::adoptVisitCounts):
2307 * html/CanvasStyle.cpp:
2308 (WebCore::CanvasStyle::applyFillColor):
2309 * html/HTMLAnchorElement.cpp:
2310 (WebCore::HTMLAnchorElement::setActive):
2311 (WebCore::HTMLAnchorElement::isLiveLink):
2312 * html/HTMLAppletElement.h:
2313 * html/HTMLAudioElement.h:
2314 * html/HTMLBRElement.h:
2315 * html/HTMLBaseElement.h:
2316 * html/HTMLBaseFontElement.h:
2317 * html/HTMLDListElement.h:
2318 * html/HTMLDirectoryElement.h:
2319 * html/HTMLFieldSetElement.cpp:
2320 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
2321 * html/HTMLFormElement.cpp:
2322 (WebCore::HTMLFormElement::reset):
2323 * html/HTMLHRElement.cpp:
2324 (WebCore::HTMLHRElement::parseMappedAttribute):
2325 * html/HTMLHeadElement.h:
2326 * html/HTMLHtmlElement.h:
2327 * html/HTMLImageElement.h:
2328 (WebCore::HTMLImageElement::setLoadManually):
2329 * html/HTMLInputElement.cpp:
2330 (WebCore::HTMLInputElement::selection):
2331 * html/HTMLIsIndexElement.h:
2332 * html/HTMLMarqueeElement.cpp:
2333 * html/HTMLMediaElement.h:
2334 (WebCore::HTMLMediaElement::):
2335 * html/HTMLMenuElement.h:
2336 * html/HTMLMetaElement.h:
2337 * html/HTMLModElement.h:
2338 * html/HTMLOListElement.h:
2339 * html/HTMLOptionElement.cpp:
2340 (WebCore::HTMLOptionElement::childrenChanged):
2341 * html/HTMLParamElement.h:
2342 * html/HTMLQuoteElement.h:
2343 * html/HTMLStyleElement.h:
2344 * html/HTMLTableCaptionElement.h:
2345 * html/HTMLTableCellElement.h:
2346 * html/HTMLTableColElement.h:
2347 * html/HTMLTableSectionElement.cpp:
2348 (WebCore::HTMLTableSectionElement::deleteRow):
2349 * html/HTMLTitleElement.h:
2350 * html/HTMLTokenizer.cpp:
2351 (WebCore::HTMLTokenizer::parseNonHTMLText):
2352 (WebCore::HTMLTokenizer::parseEntity):
2353 (WebCore::HTMLTokenizer::parseTag):
2354 (WebCore::HTMLTokenizer::write):
2355 * html/HTMLUListElement.h:
2356 * html/HTMLVideoElement.h:
2357 * html/TimeRanges.h:
2358 (WebCore::TimeRanges::Range::Range):
2359 * inspector/InspectorController.cpp:
2360 (WebCore::InspectorController::enableResourceTracking):
2361 (WebCore::InspectorController::disableResourceTracking):
2362 * inspector/InspectorFrontend.cpp:
2363 (WebCore::InspectorFrontend::newInspectorJSONObject):
2365 (WebCore::Console::addMessage):
2366 * page/EventHandler.cpp:
2367 (WebCore::EventHandler::handleMousePressEvent):
2368 (WebCore::EventHandler::selectCursor):
2369 (WebCore::EventHandler::defaultKeyboardEventHandler):
2371 (WebCore::Frame::jsDefaultStatusBarText):
2372 * page/android/DragControllerAndroid.cpp:
2373 (WebCore::DragController::dragOperation):
2374 * page/android/EventHandlerAndroid.cpp:
2375 (WebCore::EventHandler::tabsToAllControls):
2376 (WebCore::EventHandler::eventActivatedView):
2377 * page/animation/AnimationController.cpp:
2378 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2379 * page/gtk/DragControllerGtk.cpp:
2380 (WebCore::DragController::dragOperation):
2381 * page/qt/DragControllerQt.cpp:
2382 * page/win/DragControllerWin.cpp:
2383 (WebCore::DragController::isCopyKeyDown):
2384 * page/win/FrameWin.h:
2385 * rendering/RenderSlider.cpp:
2386 (WebCore::RenderSlider::mouseEventOffsetToThumb):
2387 * rendering/style/RenderStyle.h:
2388 (WebCore::InheritedFlags::setVerticalAlignLength):
2389 (WebCore::InheritedFlags::setUnicodeBidi):
2390 (WebCore::InheritedFlags::setCursor):
2391 * rendering/style/RenderStyleConstants.h:
2393 * rendering/style/SVGRenderStyleDefs.h:
2394 * rendering/style/StyleInheritedData.h:
2395 (WebCore::StyleInheritedData::operator!=):
2396 * storage/DatabaseTask.h:
2397 * svg/GradientAttributes.h:
2398 * svg/LinearGradientAttributes.h:
2399 * svg/PatternAttributes.h:
2400 * svg/RadialGradientAttributes.h:
2401 * svg/SVGAnimatedPathData.h:
2402 * svg/SVGAnimatedPoints.h:
2403 * svg/SVGAnimationElement.h:
2404 * svg/SVGClipPathElement.h:
2405 * svg/SVGElementInstance.h:
2406 * svg/SVGFEBlendElement.cpp:
2407 (WebCore::SVGFEBlendElement::build):
2408 * svg/SVGFEBlendElement.h:
2409 * svg/SVGFEColorMatrixElement.cpp:
2410 (WebCore::SVGFEColorMatrixElement::build):
2411 * svg/SVGFEComponentTransferElement.cpp:
2412 (WebCore::SVGFEComponentTransferElement::build):
2413 * svg/SVGFECompositeElement.cpp:
2414 (WebCore::SVGFECompositeElement::build):
2415 * svg/SVGFEDiffuseLightingElement.cpp:
2416 (WebCore::SVGFEDiffuseLightingElement::build):
2417 * svg/SVGFEDisplacementMapElement.cpp:
2418 (WebCore::SVGFEDisplacementMapElement::build):
2419 * svg/SVGFEDistantLightElement.h:
2420 * svg/SVGFEFloodElement.cpp:
2421 (WebCore::SVGFEFloodElement::build):
2422 * svg/SVGFEFloodElement.h:
2423 * svg/SVGFEFuncAElement.h:
2424 * svg/SVGFEFuncBElement.h:
2425 * svg/SVGFEFuncGElement.h:
2426 * svg/SVGFEFuncRElement.h:
2427 * svg/SVGFEGaussianBlurElement.cpp:
2428 (WebCore::SVGFEGaussianBlurElement::build):
2429 * svg/SVGFEImageElement.cpp:
2430 (WebCore::SVGFEImageElement::build):
2431 * svg/SVGFEMergeElement.cpp:
2432 (WebCore::SVGFEMergeElement::build):
2433 * svg/SVGFEOffsetElement.cpp:
2434 (WebCore::SVGFEOffsetElement::build):
2435 * svg/SVGFEPointLightElement.h:
2436 * svg/SVGFESpecularLightingElement.cpp:
2437 (WebCore::SVGFESpecularLightingElement::build):
2438 * svg/SVGFESpotLightElement.h:
2439 * svg/SVGFETileElement.cpp:
2440 (WebCore::SVGFETileElement::build):
2441 * svg/SVGLineElement.cpp:
2442 (WebCore::SVGLineElement::parseMappedAttribute):
2444 * svg/SVGListTraits.h:
2446 * svg/SVGMPathElement.h:
2447 * svg/SVGMetadataElement.h:
2448 * svg/SVGParserUtilities.cpp:
2449 (WebCore::SVGPathParser::parseSVG):
2450 (WebCore::SVGPathParser::calculateArc):
2451 * svg/SVGPathElement.h:
2452 * svg/SVGPathSegClosePath.h:
2453 * svg/SVGSVGElement.h:
2454 * svg/SVGSetElement.h:
2455 * svg/SVGSwitchElement.h:
2456 * svg/SVGTextPathElement.cpp:
2457 (WebCore::SVGTextPathElement::parseMappedAttribute):
2458 * svg/SVGTextPathElement.h:
2459 * svg/SVGTitleElement.h:
2460 * svg/SVGTransformable.cpp:
2462 * svg/SVGViewSpec.cpp:
2464 * svg/animation/SMILTime.cpp:
2465 (WebCore::operator+):
2466 (WebCore::operator-):
2467 (WebCore::operator*):
2468 * svg/animation/SVGSMILElement.h:
2469 * svg/graphics/SVGResource.cpp:
2470 (WebCore::clientMap):
2471 * wml/WMLPostfieldElement.cpp:
2472 (WebCore::WMLPostfieldElement::value):
2473 * wml/WMLSetvarElement.cpp:
2474 (WebCore::WMLSetvarElement::value):
2475 * workers/WorkerRunLoop.cpp:
2476 * xml/XMLHttpRequest.cpp:
2477 (WebCore::XMLHttpRequest::dropProtection):
2480 2009-07-10 Eric Carlson <eric.carlson@apple.com>
2482 Reviewed by Simon Fraser.
2484 <rdar://problem/7049066>.
2485 Update SnowLeopard media controller layout.
2487 * css/mediaControlsQT.css:
2488 Update for new layout.
2489 * html/HTMLMediaElement.cpp:
2490 (WebCore::HTMLMediaElement::movieLoadType):
2491 Added to replace isStreaming.
2492 * html/HTMLMediaElement.h:
2493 Declare movieLoadType, remove isStreaming.
2495 * rendering/MediaControlElements.cpp:
2496 (WebCore::MediaControlStatusDisplayElement::update):
2497 Use movieLoadType instead of isStreaming.
2498 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
2499 MediaControlElement is the base class, not HTMLInputElement.
2500 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
2502 (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
2503 Don't display rewind button for live streams.
2504 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
2505 MediaControlInputElement is the base class, not HTMLInputElement.
2506 * rendering/MediaControlElements.h:
2508 * rendering/RenderThemeMac.h:
2509 * rendering/RenderThemeMac.mm:
2510 (WebCore::getMediaUIPartStateFlags):
2511 New, return wkDrawMediaUIPart flags.
2512 (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2513 (WebCore::RenderThemeMac::paintMediaMuteButton):
2514 (WebCore::RenderThemeMac::paintMediaPlayButton):
2515 (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2516 (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2517 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2518 (WebCore::RenderThemeMac::paintMediaSliderThumb):
2519 (WebCore::RenderThemeMac::paintMediaRewindButton):
2520 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2521 (WebCore::RenderThemeMac::paintMediaControlsBackground):
2522 (WebCore::RenderThemeMac::paintMediaCurrentTime):
2523 (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2524 Use getMediaUIPartStateFlags.
2526 2009-07-10 Michelangelo De Simone <micdesim@gmail.com>
2528 Reviewed by Adele Peterson.
2530 https://bugs.webkit.org/show_bug.cgi?id=19562
2531 Added build stuff and stub for the ValidityState class, part of HTML5
2533 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
2535 Test: fast/forms/ValidityState-001.html
2537 * DerivedSources.cpp: Fix aimed to include ValidityState files
2538 * DerivedSources.make: ditto
2539 * GNUmakefile.am: ditto
2540 * WebCore.gypi: ditto
2541 * WebCore.pro: ditto
2542 * WebCore.vcproj/WebCore.vcproj: ditto
2543 * WebCore.xcodeproj/project.pbxproj: ditto
2544 * WebCoreSources.bkl: ditto
2545 * html/HTMLButtonElement.idl: "validity" attribute
2546 * html/HTMLFieldSetElement.idl: ditto
2547 * html/HTMLFormControlElement.cpp: object getter
2548 (WebCore::HTMLFormControlElement::validity):
2549 * html/HTMLFormControlElement.h: ditto
2550 * html/HTMLInputElement.idl: "validity" attribute
2551 * html/HTMLSelectElement.idl: ditto
2552 * html/HTMLTextAreaElement.idl: ditto
2553 * html/ValidityState.cpp: Added.
2554 (WebCore::ValidityState::ValidityState):
2555 (WebCore::ValidityState::valid): validation flag
2556 * html/ValidityState.h: Added.
2557 (WebCore::ValidityState::create): creation routine
2558 (WebCore::ValidityState::control): ValidityState's parent getter
2559 (WebCore::ValidityState::valueMissing): validation flag
2560 (WebCore::ValidityState::typeMismatch): ditto
2561 (WebCore::ValidityState::patternMismatch): ditto
2562 (WebCore::ValidityState::tooLong): ditto
2563 (WebCore::ValidityState::rangeUnderflow): ditto
2564 (WebCore::ValidityState::rangeOverflow): ditto
2565 (WebCore::ValidityState::stepMismatch): ditto
2566 (WebCore::ValidityState::customError): ditto
2567 * html/ValidityState.idl: Added.
2569 2009-07-10 Brady Eidson <beidson@apple.com>
2571 Style cleanup over my last patch.
2573 * xml/XMLHttpRequest.cpp:
2574 (WebCore::XMLHttpRequest::~XMLHttpRequest):
2576 2009-07-10 Kevin McCullough <kmccullough@apple.com>
2578 Reviewed by Geoffrey Garen.
2580 * inspector/JavaScriptCallFrame.cpp:
2581 (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2582 * inspector/JavaScriptCallFrame.h: New helper method, used below.
2584 * inspector/JavaScriptDebugServer.cpp:
2585 (WebCore::JavaScriptDebugServer::detach): In the special case
2586 where we detach from a window currently executing JavaScript,
2587 manually tear down our representation of the JavaScript
2588 call stack, since we won't get any more callbacks from JavaScriptCore
2589 to automatically tear it down. It's too bad that WebCore is
2590 responsible for this kind of tracking -- in the future, it would
2591 be nice if more of the breakpoint handling was inside of JavaScriptCore.
2593 2009-07-10 Brady Eidson <beidson@apple.com>
2595 Reviewed by Antti Koivisto.
2597 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2598 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2600 With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
2601 When that happened, the first request that was over the limit ended up in a bizarre state where it
2602 wasn't fully serviced until after the long running XHR was complete.
2604 Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
2605 resources - such as XHR - could still end up causing this limit to be exceeded.
2607 This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
2608 handle this at the resource handle level.
2610 * loader/loader.cpp:
2611 (WebCore::Loader::nonCacheRequestInFlight):
2612 (WebCore::Loader::nonCacheRequestComplete):
2613 (WebCore::Loader::Host::Host):
2614 (WebCore::Loader::Host::nonCacheRequestInFlight):
2615 (WebCore::Loader::Host::nonCacheRequestComplete):
2616 (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
2618 (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
2620 * xml/XMLHttpRequest.cpp:
2621 (WebCore::XMLHttpRequest::XMLHttpRequest):
2622 (WebCore::XMLHttpRequest::~XMLHttpRequest):
2623 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
2624 (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
2625 (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
2627 2009-07-10 Antti Koivisto <antti@apple.com>
2629 Try to unbreak non-Mac build.
2631 * page/ChromeClient.h:
2632 (WebCore::ChromeClient::formDidFocus):
2633 (WebCore::ChromeClient::formDidBlur):
2635 2009-07-10 Beth Dakin <bdakin@apple.com>
2637 Reviewed by Anders Carlsson.
2639 The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT):
2640 In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after
2641 clicking To Do's close box
2643 Make the Widget* in passMouseDownEventToWidget() a RefPtr.
2645 * page/mac/EventHandlerMac.mm:
2646 (WebCore::EventHandler::passMouseDownEventToWidget):
2648 2009-07-10 Eric Seidel <eric@webkit.org>
2650 Reviewed by Adam Barth.
2652 rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
2653 https://bugs.webkit.org/show_bug.cgi?id=27157
2655 This is the first step to fixing
2656 https://bugs.webkit.org/show_bug.cgi?id=27088
2658 * WebCore.xcodeproj/project.pbxproj:
2659 * bindings/js/JSDOMBinding.h:
2660 (WebCore::deprecatedGetDOMStructure):
2661 (WebCore::createDOMObjectWrapper):
2662 (WebCore::createDOMNodeWrapper):
2663 * bindings/js/JSNamedNodesCollection.cpp:
2664 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
2665 * bindings/js/JSRGBColor.cpp:
2666 (WebCore::JSRGBColor::JSRGBColor):
2667 * bridge/objc/objc_runtime.mm:
2668 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2669 * bridge/runtime_array.cpp:
2670 (JSC::RuntimeArray::RuntimeArray):
2671 * bridge/runtime_method.cpp:
2672 (JSC::RuntimeMethod::RuntimeMethod):
2673 * bridge/runtime_object.cpp:
2674 (JSC::RuntimeObjectImp::RuntimeObjectImp):
2676 2009-07-10 Greg Bolsinga <bolsinga@apple.com>
2678 Reviewed by Antti Koivisto.
2680 Add delegate methods about focus and blur and state change
2681 https://bugs.webkit.org/show_bug.cgi?id=27153
2683 Call the appropriate new ChromeClient methods for focus and blur.
2685 * html/HTMLFormControlElement.cpp:
2686 (WebCore::HTMLFormControlElement::dispatchFocusEvent):
2687 (WebCore::HTMLFormControlElement::dispatchBlurEvent):
2688 * html/HTMLFormControlElement.h:
2689 * loader/EmptyClients.h:
2690 (WebCore::EmptyChromeClient::formDidFocus):
2691 (WebCore::EmptyChromeClient::formDidBlur):
2692 * page/ChromeClient.h:
2694 2009-07-10 Steve Falkenburg <sfalken@apple.com>
2696 <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
2698 Use altered search path while loading plug-ins. This modifies the DLL search order
2699 to look in the directory containing the plug-in even if a call to SetDllDirectory
2700 was previously made. Use of SetDllDirectory removes the current directory from the search path,
2701 breaking the previous strategy for locating any dependent DLLs of the plug-in.
2703 Reviewed by Jon Honeycutt.
2705 * plugins/win/PluginPackageWin.cpp:
2706 (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
2708 2009-07-10 Adam Roben <aroben@apple.com>
2710 Sort all our Xcode projects
2712 Accomplished using sort-Xcode-project-file.
2714 Requested by Dave Kilzer.
2716 * WebCore.xcodeproj/project.pbxproj:
2718 2009-07-10 Adam Langley <agl@google.com>
2720 Reviewed by Darin Fisher.
2722 Chromium Linux: use disabled images for disabled widgets.
2724 https://bugs.webkit.org/show_bug.cgi?id=27106
2726 Previously, checkboxes and radio controls rendered the same even if disabled.
2727 The Chromium side of this change is r20224.
2729 * rendering/RenderThemeChromiumSkia.cpp:
2730 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2731 (WebCore::RenderThemeChromiumSkia::paintRadio):
2733 2009-07-10 Simon Fraser <simon.fraser@apple.com>
2735 Reviewed by John Sullivan.
2737 Fix crash when changing the zoom level in http://iphone.akamai.com/
2738 <rdar://problem/7029077>
2740 RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
2741 which could potentially destroy that compositing layer, causing a crash.
2742 Prevent this from happening by not doing a compositing update from paintIntoLayer().
2744 The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
2745 and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
2746 compositing layers, and is still called from paintIntoLayer().
2748 * rendering/RenderLayer.cpp:
2749 (WebCore::RenderLayer::paintLayer):
2750 (WebCore::RenderLayer::hitTestLayer):
2751 (WebCore::RenderLayer::updateLayerListsIfNeeded):
2752 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
2753 * rendering/RenderLayer.h:
2755 2009-07-10 Drew Wilson <atwilson@google.com>
2757 Reviewed by Darin Adler.
2759 Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
2760 https://bugs.webkit.org/show_bug.cgi?id=27010
2762 Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
2764 This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
2766 * bindings/scripts/CodeGeneratorJS.pm:
2767 Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
2770 * css/StyleSheet.idl:
2774 * html/ImageData.idl:
2775 * svg/SVGElementInstance.idl:
2776 * svg/SVGPathSeg.idl:
2777 Added CustomToJS attribute to all the above IDL files.
2779 2009-07-10 Dan Bernstein <mitz@apple.com>
2781 - fix the build by reverting the ill-advised r45711
2783 * page/FrameView.cpp:
2784 (WebCore::FrameView::scrollToAnchor):
2786 2009-07-09 Brian Weinstein <bweinstein@apple.com>
2788 Reviewed by Tim Hatcher.
2790 Updated WebCore.base.exp to add some needed functions.
2794 2009-07-10 Dan Bernstein <mitz@apple.com>
2796 - address a review comment from Simon Fraser which I forgot to include
2797 in the last check-in
2799 * page/FrameView.cpp:
2800 (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
2801 maximum transform friendliness!
2803 2009-07-10 Dan Bernstein <mitz@apple.com>
2805 Reviewed by Simon Fraser.
2807 - fix https://bugs.webkit.org/show_bug.cgi?id=27137
2808 <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
2809 to infinite recursion into FrameLoader::gotoAnchor() ->
2812 Test: fast/loader/goto-anchor-infinite-layout.html
2814 * loader/FrameLoader.cpp:
2815 (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
2816 find the renderer to scroll to, and scroll from here to methods on
2817 FrameView, and replaced it with a call to
2818 FrameView::maintainScrollPositionAtAnchor().
2819 (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
2820 instead of setLockedToAnchor().
2822 * page/FrameView.cpp:
2823 (WebCore::FrameView::FrameView): Removed initialization of
2825 (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
2826 of m_lockedToAnchor.
2827 (WebCore::FrameView::layout): Removed the code related to scrolling to
2828 the anchor from here, because scrolling can trigger events which
2829 invalidate the layout, and as such, belongs with the post-layout tasks.
2830 (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
2831 with a node scrolls the view to the top of that node and maintains it
2832 scrolled to the top of the node during subsequent layouts, until
2833 this function is called with 0 or other things trigger scrolling.
2834 (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
2835 m_maintainScrollPositionAnchor.
2836 (WebCore::FrameView::setScrollPosition): Ditto.
2837 (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
2838 m_maintainScrollPositionAnchor, if it is set.
2839 (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
2840 (WebCore::FrameView::setWasScrolledByUser): Reset
2841 m_maintainScrollPositionAnchor.
2843 * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
2844 and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
2845 m_maintainScrollPositionAnchor.
2847 2009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com>
2849 Reviewed by Simon Hausmann.
2851 https://bugs.webkit.org/show_bug.cgi?id=26439
2853 QtWebKit fails in loading www.nytimes.com in Windows/Linux
2855 QNetworkReplyHandler is ignoring content associated with 401 error.
2856 This causes the XHR response handling to fail.
2858 Simon: Added also ProxyAuthenticationRequiredError, to handle the same
2859 case when going through proxies, as suggested by Prasanth.
2861 * platform/network/qt/QNetworkReplyHandler.cpp:
2862 (WebCore::QNetworkReplyHandler::finish):
2864 2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
2866 Reviewed by Holger Freyther.
2868 Enable HTML 5 Messaging to fix message channel Qt DRT failures in
2873 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2875 Reviewed by Maciej Stachowiak.
2877 added InlineBox::isLeaf()
2878 firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
2879 firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
2880 Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
2881 Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
2883 Currently, these methods are called on RootInlineBox objects only, so above changes should not have
2884 any observable effect (only the removal of the square performance behavior could apply,
2885 but the conditions for that are probably of a rather theoretical nature).
2887 * rendering/InlineBox.cpp:
2888 (WebCore::InlineBox::nextLeafChild):
2889 (WebCore::InlineBox::prevLeafChild):
2890 * rendering/InlineBox.h:
2891 (WebCore::InlineBox::isLeaf):
2892 * rendering/InlineFlowBox.cpp:
2893 (WebCore::InlineFlowBox::firstLeafChild):
2894 (WebCore::InlineFlowBox::lastLeafChild):
2895 * rendering/InlineFlowBox.h:
2896 (WebCore::InlineFlowBox::firstChild):
2897 (WebCore::InlineFlowBox::lastChild):
2898 (WebCore::InlineFlowBox::isLeaf):
2899 * rendering/RootInlineBox.cpp:
2900 (WebCore::RootInlineBox::closestLeafChildForXPos):
2902 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2904 Reviewed by Maciej Stachowiak.
2906 Added InlineBox::baselinePosition() and lineHeight() methods
2907 (adapted remaining code accordingly to use those methods)
2909 No change in functionality.
2911 * rendering/InlineBox.h:
2912 (WebCore::InlineBox::baselinePosition):
2913 (WebCore::InlineBox::lineHeight):
2914 * rendering/InlineFlowBox.cpp:
2915 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2916 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2917 (WebCore::InlineFlowBox::placeBoxesVertically):
2919 2009-07-09 Oliver Hunt <oliver@apple.com>
2921 Reviewed by Maciej Stachowiak.
2923 Bug 27142 - canPlayType() should return empty string for unsupported content
2924 <https://bugs.webkit.org/show_bug.cgi?id=27142>
2926 Return "" instead of "no" for unsupport media types.
2928 * html/HTMLMediaElement.cpp:
2929 (WebCore::HTMLMediaElement::canPlayType):
2931 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2933 Reviewed by Maciej Stachowiak.
2935 Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
2936 in that their end tags are optional if followed by <rp>/<rt>.
2938 Also specify a new accessibility role "annotation" for <rp> and <rt>.
2940 Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
2941 is not affected by whether ruby is rendered properly or not (in fact, it may
2942 be more profound without ruby layouting, since the contents of <rp> are not hidden).
2944 Test: fast/ruby/parse-rp.html
2946 * accessibility/AccessibilityObject.h:
2948 * accessibility/AccessibilityRenderObject.cpp:
2949 (WebCore::AccessibilityRenderObject::roleValue):
2950 * html/HTMLElement.cpp:
2951 (WebCore::HTMLElement::endTagRequirement):
2952 (WebCore::HTMLElement::tagPriority):
2953 (WebCore::inlineTagList):
2954 * html/HTMLParser.cpp:
2955 (WebCore::HTMLParser::rpCreateErrorCheck):
2956 (WebCore::HTMLParser::rtCreateErrorCheck):
2957 (WebCore::HTMLParser::getNode):
2958 * html/HTMLParser.h:
2959 * html/HTMLTagNames.in:
2961 2009-07-09 Dmitry Titov <dimich@chromium.org>
2963 Not reviewed, fix for previous commit.
2965 The change http://trac.webkit.org/changeset/45695 did not correctly
2966 enabled GTL and QT build flags. This caused layout tests failure.
2967 This is speculative fix for those failures.
2969 * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
2970 * WebCore.pro: ditto.
2971 * page/DOMWindow.idl: touched to cause recompile.
2972 * workers/WorkerContext.idl: ditto.
2974 2009-07-09 Drew Wilson <atwilson@google.com>
2976 Reviewed by Alexey Proskuryakov.
2978 https://bugs.webkit.org/show_bug.cgi?id=26903
2980 Turned on CHANNEL_MESSAGING by default because the MessageChannel API
2981 is now implemented for Web Workers and is reasonably stable.
2983 Tests: fast/events/message-channel-gc-2.html
2984 fast/events/message-channel-gc-3.html
2985 fast/events/message-channel-gc-4.html
2986 fast/events/message-channel-gc.html
2987 fast/events/message-channel-listener-circular-ownership.html
2988 fast/events/message-port-clone.html
2989 fast/events/message-port-constructor-for-deleted-document.html
2990 fast/events/message-port-deleted-document.html
2991 fast/events/message-port-deleted-frame.html
2992 fast/events/message-port-inactive-document.html
2993 fast/events/message-port-no-wrapper.html
2994 fast/events/message-port.html
2995 fast/workers/worker-cloneport.html
2996 fast/workers/worker-messageport-gc.html
2997 fast/workers/worker-messageport.html
2999 * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
3000 * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
3001 * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
3002 * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
3003 * WebCore/workers/WorkerContext.idl: ditto.
3006 2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com>
3008 Reviewed by Simon Fraser.
3010 Full page zoom breaks remaining and elapsed time display in the <video> controller.
3011 https://bugs.webkit.org/show_bug.cgi?id=27123
3013 We are changing the size of the time remaining and time elapsed field, to
3014 automatically hide them, when the controller is too short.
3016 Because we toggle the size between 0 and the previous value of the
3017 controller, we miss any width change that may occur during full page zoom,
3018 and we fail to restore a correct width.
3020 This change fixes that problem by using a cloned style on which we
3021 set the width to 0, and restoring the previous style when going back to
3024 We take care about properly using the cloned style or the pseudo style,
3025 by overriding styleForElement().
3027 * rendering/MediaControlElements.cpp:
3028 (WebCore::MediaControlElement::styleForElement):
3029 (WebCore::MediaControlElement::attach):
3030 (WebCore::MediaControlElement::updateStyle):
3031 (WebCore::MediaControlInputElement::styleForElement):
3032 (WebCore::MediaControlInputElement::attach):
3033 (WebCore::MediaControlInputElement::updateStyle):
3034 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
3035 (WebCore::MediaControlTimeDisplayElement::styleForElement):
3036 (WebCore::MediaControlTimeDisplayElement::setVisible):
3037 * rendering/MediaControlElements.h:
3038 * rendering/RenderMedia.cpp:
3039 (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
3040 we take in account the zoom level when deciding if we should hide the
3041 ellapsed and remaining time.
3043 2009-07-09 Michael Nordman <michaeln@google.com>
3045 Reviewed by Darin Adler.
3047 Fix chromium build bustage due to Widget being a RefCounted class.
3048 https://bugs.webkit.org/show_bug.cgi?id=27139
3050 * platform/chromium/PopupMenuChromium.cpp:
3051 * platform/chromium/PopupMenuChromium.h:
3053 2009-07-09 Chris Fleizach <cfleizach@apple.com>
3055 Reviewed by Darin Adler.
3057 Bug 27130 - Need to implement ARIA role="toolbar"
3058 https://bugs.webkit.org/show_bug.cgi?id=27130
3060 Test: platform/mac/accessibility/aria-toolbar.html
3062 * accessibility/AccessibilityRenderObject.cpp:
3063 (WebCore::RoleEntry::):
3064 * accessibility/mac/AccessibilityObjectWrapper.mm:
3065 (-[AccessibilityObjectWrapper roleDescription]):
3067 2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
3069 Reviewed by Darin Fisher.
3071 [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
3072 https://bugs.webkit.org/show_bug.cgi?id=27135
3074 * WebCore.gypi: Added.
3076 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3078 A more robust fix for <rdar://problem/6930280> Reproducible crash at
3079 USA Today photo gallery
3081 Reviewed by Steve Falkenburg.
3083 * plugins/win/PluginMessageThrottlerWin.cpp:
3084 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
3085 Protect the PluginView from destruction before calling its window proc.
3087 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3089 <rdar://problem/6978804> WER #16: Repro Access Violation in
3090 WebCore::PluginView::bindingInstance (1310178023)
3092 Reviewed by Darin Adler.
3094 * plugins/PluginView.cpp:
3095 (WebCore::PluginView::bindingInstance):
3096 Protect the PluginView from destruction before calling NPN_GetValue. If
3097 the renderer for the PluginView was destroyed during the call, and the
3098 PluginView's ref count is now 1, return null.
3100 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3102 Speculative fix for <rdar://problem/6991251> WER #13: Crash in
3103 WebKit!WebCore::PluginView::performRequest+203 (1311461169)
3105 Reviewed by Darin Adler.
3107 * plugins/PluginView.cpp:
3108 (WebCore::PluginView::performRequest):
3109 Protect the PluginView from destruction before performing a load.
3110 Removed some trailing whitespace.
3112 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3116 * inspector/JavaScriptDebugServer.cpp:
3117 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
3119 2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
3121 Reviewed by Dave Hyatt.
3123 Make Widget RefCounted to fix or make fixable:
3125 <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
3126 at WebCore::Widget::afterMouseDown() after clicking To Do's close
3128 <rdar://problem/6978804> WER #16: Repro Access Violation in
3129 WebCore::PluginView::bindingInstance (1310178023)
3131 <rdar://problem/6991251> WER #13: Crash in WebKit!
3132 WebCore::PluginView::performRequest+203 (1311461169)
3134 * loader/EmptyClients.h:
3135 (WebCore::EmptyFrameLoaderClient::createPlugin):
3136 Changed to return PassRefPtr
3137 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3140 * loader/FrameLoader.cpp:
3141 (WebCore::FrameLoader::loadSubframe):
3142 (WebCore::FrameLoader::loadPlugin):
3143 Make the widget variable a RefPtr. Use .get() when passing it to
3144 RenderPart::setWidget().
3145 (WebCore::FrameLoader::createJavaAppletWidget):
3146 Make the widget variable a RefPtr.
3148 * loader/FrameLoader.h:
3149 Changed the return type of createJavaAppletWidget().
3151 * loader/FrameLoaderClient.h:
3152 Change the return types of createPlugin() and
3153 createJavaAppletWidget().
3156 (WebCore::Frame::createView):
3157 No need to call .get() since setWidget() takes a RefPtr.
3159 * page/FrameView.cpp:
3160 (WebCore::FrameView::layoutIfNeededRecursive):
3161 children() now returns a HashSet of RefPtrs.
3164 Remove inheritance from RefCounted; we pick this up from ScrollView
3167 * platform/ScrollView.cpp:
3168 (WebCore::ScrollView::addChild):
3169 addChild() now takes a PassRefPtr and m_children now keeps a
3172 * platform/ScrollView.h:
3173 ScrollView constructor is now protected.
3174 (WebCore::ScrollView::children):
3175 m_children is now a HashSet of RefPtrs.
3177 * platform/Scrollbar.h:
3178 Remove inheritance from RefCounted; we pick this up from ScrollView
3181 * platform/Widget.h:
3182 Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
3185 * plugins/PluginView.cpp:
3186 (WebCore::PluginView::create):
3187 Adopt the PluginView when returning it.
3189 * plugins/PluginView.h:
3190 Changed create() to return a PassRefPtr.
3192 * rendering/RenderApplet.cpp:
3193 Receive result in a RefPtr when calling createJavaAppletWidget().
3195 * rendering/RenderPart.cpp:
3196 (WebCore::RenderPart::setWidget):
3197 setWidget() now takes a PassRefPtr. Also removed the manual ref of
3198 FrameViews. This is handled by having m_widget be a RefPtr. Removed
3201 * rendering/RenderPart.h:
3202 Removed override of deleteWidget().
3204 * rendering/RenderWidget.cpp:
3205 (WebCore::RenderWidget::destroy):
3206 (WebCore::RenderWidget::setWidget):
3207 (WebCore::RenderWidget::paint):
3208 (WebCore::RenderWidget::setOverlapTestResult):
3209 (WebCore::RenderWidget::updateWidgetPosition):
3211 (WebCore::RenderWidget::clearWidget):
3212 Don't call deleteWidget(). It was removed.
3214 * rendering/RenderWidget.h:
3215 Removed deleteWidget(). Made m_widget a RefPtr.
3216 (WebCore::RenderWidget::widget):
3219 2009-07-09 Chris Fleizach <cfleizach@apple.com>
3221 Reviewed by Darin Adler.
3223 Bug 27129 - AX: possible assertion for a non-native image in accessibility
3224 https://bugs.webkit.org/show_bug.cgi?id=27129
3226 It's possible for an image that is not really an image to assert, because its renderer
3227 is turned into a RenderImage.
3229 Test: accessibility/non-native-image-crash.html
3231 * accessibility/AccessibilityRenderObject.cpp:
3232 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3233 (WebCore::RoleEntry::):
3234 * accessibility/mac/AccessibilityObjectWrapper.mm:
3235 (-[AccessibilityObjectWrapper roleDescription]):
3237 2009-07-09 Simon Fraser <simon.fraser@apple.com>
3239 Build fix for SnowLeopard.
3241 Avoid using the contentsTransform methods if not on Leopard, because
3242 we don't need to call them.
3244 * platform/graphics/mac/GraphicsLayerCA.mm:
3245 (WebCore::GraphicsLayerCA::updateContentsTransform):
3246 * platform/graphics/mac/WebLayer.mm:
3247 (-[WebLayer setNeedsDisplayInRect:]):
3248 * platform/graphics/mac/WebTiledLayer.mm:
3249 (-[WebTiledLayer setNeedsDisplayInRect:]):
3251 2009-07-09 Simon Fraser <simon.fraser@apple.com>
3253 Reviewed by Dave Hyatt
3255 Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
3257 <rdar://problem/6120614>
3259 * platform/graphics/GraphicsLayer.h:
3260 (WebCore::GraphicsLayer::setContentsOrientation):
3261 (WebCore::GraphicsLayer::contentsOrientation):
3262 * platform/graphics/GraphicsLayer.cpp:
3263 (WebCore::GraphicsLayer::GraphicsLayer):
3264 Add a m_contentsOrientation member and getter/setter to control whether
3265 the contents of this layer have a transform applied to them before display.
3267 * platform/graphics/mac/GraphicsLayerCA.h:
3268 New method to return the default contents orientation.
3270 * platform/graphics/mac/GraphicsLayerCA.mm:
3271 (WebCore::flipTransform):
3272 Convenience method to return a transform with a Y flip.
3274 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3275 (WebCore::GraphicsLayerCA::setSize):
3276 After the size changes we have to update the contentsTransform.
3278 (WebCore::GraphicsLayerCA::setGeometryOrientation):
3279 (WebCore::GraphicsLayerCA::geometryOrientation):
3280 If -setGeometryFlipped: is not available, use a children transform.
3282 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3283 Tiled layers have issues with flipped contentsTransform, so just use
3284 top-down drawing for them. Call updateContentsTransform() to set the
3285 new contents transform after swapping layers.
3287 (WebCore::GraphicsLayerCA::defaultContentsOrientation):
3288 Use bottom-up when -geometryFlipped is not available, otherwise top-down.
3290 (WebCore::GraphicsLayerCA::updateContentsTransform):
3291 Set the layer contents transform based on contentsOrientation().
3293 (WebCore::GraphicsLayerCA::setContentsLayer):
3294 We have to manually flip contents layers if we're not using -geometryFlipped.
3296 * platform/graphics/mac/WebLayer.h:
3297 * platform/graphics/mac/WebLayer.mm:
3298 Do early return if layerContents is nil. Flip the CTM if the layer has
3299 bottom-up coordinates, so that CG sees a CTM with no flip.
3300 Do the CGContextRestoreGState() after drawing the debug indicator.
3302 (-[WebLayer setNeedsDisplayInRect:]):
3303 * platform/graphics/mac/WebTiledLayer.mm:
3304 (-[WebTiledLayer setNeedsDisplayInRect:]):
3305 Need to map the dirty rect through the contentsTransform.
3307 2009-07-09 Alexey Proskuryakov <ap@webkit.org>
3309 Reviewed by Geoff Garen.
3311 <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
3313 Can't test this functionality with layout tests.
3316 * history/HistoryItem.cpp:
3317 (WebCore::HistoryItem::recordVisitAtTime):
3318 (WebCore::HistoryItem::visited):
3319 * history/HistoryItem.h:
3320 Only increase visit count if explicitly told to. Now, some visits change last access time,
3321 but do not increase visit count.
3323 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3325 Reviewed by Simon Fraser.
3327 <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
3329 Require QuickTime 7.6.3 or higher to enable the new media controller UI.
3331 * rendering/RenderThemeMac.mm:
3332 (WebCore::mediaControllerTheme):
3334 2009-07-09 Sam Weinig <sam@webkit.org>
3336 Reviewed by Beth Dakin.
3338 Remove incorrect comment.
3340 * page/MouseEventWithHitTestResults.h:
3342 2009-07-09 Mads Ager <ager@chromium.org>
3344 Reviewed by Dimitri Glazkov.
3346 Update the V8 bindings codegenerator to use the RGBColor::create
3347 method to handle refcounts for RGBColor objects correctly.
3349 * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
3351 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3353 Reviewed by Adele Peterson.
3355 Crash in RenderMedia::styleDidChange.
3356 <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
3357 media element (RenderMedia::styleDidChange + 115)
3359 Speculative fix for crash in styleDidChange. Null check controller elements before tell
3360 them to update style.
3362 * rendering/RenderMedia.cpp:
3363 (WebCore::RenderMedia::styleDidChange):
3365 2009-07-09 Adam Barth <abarth@webkit.org>
3367 Reviewed by Dimitri Glazkov.
3369 [V8] Move V8DOMWrapper to its own file
3370 https://bugs.webkit.org/show_bug.cgi?id=27121
3372 * bindings/v8/V8DOMWrapper.cpp: Added.
3373 (WebCore::GetToStringName):
3374 (WebCore::ConstructorToString):
3375 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3376 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3377 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3378 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3379 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3380 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3381 (WebCore::V8DOMWrapper::getTemplate):
3382 (WebCore::V8DOMWrapper::convertToV8Object):
3383 (WebCore::V8DOMWrapper::setHiddenWindowReference):
3384 (WebCore::V8DOMWrapper::domWrapperType):
3385 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3386 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3387 (WebCore::V8DOMWrapper::lookupDOMWrapper):
3388 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3389 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3390 (WebCore::V8DOMWrapper::instantiateV8Object):
3391 (WebCore::V8DOMWrapper::setDOMWrapper):
3392 (WebCore::V8DOMWrapper::maybeDOMWrapper):
3393 (WebCore::V8DOMWrapper::isDOMEventWrapper):
3394 (WebCore::V8DOMWrapper::isWrapperOfType):
3395 (WebCore::V8DOMWrapper::htmlElementType):
3396 (WebCore::V8DOMWrapper::svgElementType):
3397 (WebCore::V8DOMWrapper::convertEventToV8Object):
3399 (WebCore::V8DOMWrapper::convertNodeToV8Object):
3400 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3401 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3402 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3403 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3404 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3405 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
3406 (WebCore::V8DOMWrapper::convertWindowToV8Object):
3407 * bindings/v8/V8DOMWrapper.h: Added.
3408 (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3409 (WebCore::V8DOMWrapper::wrapCPointer):
3410 (WebCore::V8DOMWrapper::extractCPointer):
3411 (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3412 (WebCore::V8DOMWrapper::convertToV8Object):
3413 (WebCore::V8DOMWrapper::convertToNativeObject):
3414 (WebCore::V8DOMWrapper::convertToNativeEvent):
3415 (WebCore::V8DOMWrapper::extractCPointerImpl):
3416 (WebCore::V8DOMWrapper::instantiateV8Object):
3417 * bindings/v8/V8Proxy.cpp:
3418 * bindings/v8/V8Proxy.h:
3420 2009-07-09 David Hyatt <hyatt@apple.com>
3422 Reviewed by Adele Peterson.
3424 Crash in setFocusedFrame.
3425 <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
3427 Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire
3428 the events only after the local member has been updated.
3430 * page/FocusController.cpp:
3431 (WebCore::FocusController::setFocusedFrame):
3433 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3435 Reviewed by Adele Peterson.
3437 Possible crashes when mouse clicks not dispatched because range input destroyed while
3438 thumb is being dragged (e.g. scrub to end of movie)
3439 <rdar://problem/7037494>
3440 https://bugs.webkit.org/show_bug.cgi?id=27101
3442 Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
3443 get mouse events even when the mouse is moved outside of the node. This is done by putting
3444 EventHandler into a mode where it sends all mouse events to the node regardless of the
3445 actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
3446 node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
3447 to try to send events to the deleted node. This sometimes results in a crash, and sometimes
3448 in a page that doesn't respond to click events.
3450 Tests: fast/forms/search-delete-while-cancel-button-clicked.html
3451 fast/forms/slider-delete-while-dragging-thumb.html
3452 media/audio-delete-while-slider-thumb-clicked.html
3453 media/audio-delete-while-step-button-clicked.html
3455 * rendering/MediaControlElements.cpp:
3456 (WebCore::MediaControlSeekButtonElement::detach):
3457 New, call setCapturingMouseEventsNode if capturing mouse events.
3458 * rendering/MediaControlElements.h:
3461 * rendering/RenderSlider.cpp:
3462 (WebCore::SliderThumbElement::detach):
3463 New, call setCapturingMouseEventsNode if capturing mouse events.
3465 * rendering/TextControlInnerElements.cpp:
3466 (WebCore::SearchFieldCancelButtonElement::detach):
3467 New, call setCapturingMouseEventsNode if capturing mouse events.
3468 * rendering/TextControlInnerElements.h:
3471 2009-07-09 Yury Semikhatsky <yurys@chromium.org>
3473 Reviewed by Dimitri Glazkov.
3475 Enter the Frame's context before creating new objects in setContextDebugId.
3477 https://bugs.webkit.org/show_bug.cgi?id=27112
3479 * bindings/v8/V8Proxy.cpp:
3480 (WebCore::V8Proxy::setContextDebugId):
3482 2009-07-09 Simon Hausmann <hausmann@webkit.org>
3486 * WebCore.pro: Add new storage impl files to the build.
3488 2009-07-08 Adam Barth <abarth@webkit.org>
3490 Rubber stamped by Eric Seidel.
3492 [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
3493 https://bugs.webkit.org/show_bug.cgi?id=27107
3495 This patch is just renaming. Code motion will occur next.
3497 * bindings/scripts/CodeGeneratorV8.pm:
3498 * bindings/v8/ScriptController.cpp:
3499 (WebCore::ScriptController::processingUserGesture):
3500 (WebCore::createScriptObject):
3501 (WebCore::ScriptController::createScriptObjectForPluginElement):
3502 * bindings/v8/ScriptObject.cpp:
3503 (WebCore::ScriptGlobalObject::set):
3504 * bindings/v8/ScriptObjectQuarantine.cpp:
3505 (WebCore::getQuarantinedScriptObject):
3506 * bindings/v8/V8AbstractEventListener.cpp:
3507 (WebCore::V8AbstractEventListener::handleEvent):
3508 (WebCore::V8AbstractEventListener::getReceiverObject):
3509 * bindings/v8/V8Collection.cpp:
3510 (WebCore::toOptionsCollectionSetter):
3511 * bindings/v8/V8Collection.h:
3512 (WebCore::getV8Object):
3513 (WebCore::getNamedPropertyOfCollection):
3514 (WebCore::nodeCollectionNamedPropertyGetter):
3515 (WebCore::getIndexedPropertyOfCollection):
3516 (WebCore::nodeCollectionIndexedPropertyGetter):
3517 (WebCore::nodeCollectionIndexedPropertyEnumerator):
3518 (WebCore::collectionIndexedPropertyEnumerator):
3519 (WebCore::collectionStringOrNullIndexedPropertyGetter):
3520 * bindings/v8/V8DOMMap.cpp:
3521 (WebCore::DOMData::handleWeakObject):
3522 (WebCore::DOMData::removeObjectsFromWrapperMap):
3523 * bindings/v8/V8GCController.cpp:
3524 (WebCore::enumerateDOMObjectMap):
3525 (WebCore::DOMObjectVisitor::visitDOMWrapper):
3526 (WebCore::GCPrologueVisitor::visitDOMWrapper):
3527 (WebCore::GCEpilogueVisitor::visitDOMWrapper):
3528 * bindings/v8/V8Helpers.cpp:
3529 (WebCore::wrapNPObject):
3530 * bindings/v8/V8NodeFilterCondition.cpp:
3531 (WebCore::V8NodeFilterCondition::acceptNode):
3532 * bindings/v8/V8Proxy.cpp:
3533 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3534 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3535 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3536 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3537 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3538 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3539 (WebCore::V8Proxy::evaluateInNewContext):
3540 (WebCore::V8Proxy::getConstructor):
3541 (WebCore::V8DOMWrapper::getTemplate):
3542 (WebCore::V8Proxy::retrieveWindow):
3543 (WebCore::V8Proxy::updateDocumentWrapperCache):
3544 (WebCore::V8Proxy::clearForNavigation):
3545 (WebCore::V8Proxy::installDOMWindow):
3546 (WebCore::setDOMExceptionHelper):
3547 (WebCore::V8DOMWrapper::convertToV8Object):
3548 (WebCore::V8DOMWrapper::setHiddenWindowReference):
3549 (WebCore::V8DOMWrapper::domWrapperType):
3550 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3551 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3552 (WebCore::V8DOMWrapper::lookupDOMWrapper):
3553 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3554 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3555 (WebCore::V8DOMWrapper::instantiateV8Object):
3556 (WebCore::V8DOMWrapper::setDOMWrapper):
3557 (WebCore::V8DOMWrapper::maybeDOMWrapper):
3558 (WebCore::V8DOMWrapper::isDOMEventWrapper):
3559 (WebCore::V8DOMWrapper::isWrapperOfType):
3560 (WebCore::V8DOMWrapper::htmlElementType):
3561 (WebCore::V8DOMWrapper::svgElementType):
3562 (WebCore::V8DOMWrapper::convertEventToV8Object):
3563 (WebCore::V8DOMWrapper::convertNodeToV8Object):
3564 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3565 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3566 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3567 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3568 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3569 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
3570 (WebCore::V8DOMWrapper::convertWindowToV8Object):
3571 (WebCore::V8Proxy::bindJsObjectToWindow):
3572 * bindings/v8/V8Proxy.h:
3573 (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3574 (WebCore::V8DOMWrapper::wrapCPointer):
3575 (WebCore::V8DOMWrapper::extractCPointer):
3576 (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3577 (WebCore::V8DOMWrapper::convertToV8Object):
3578 (WebCore::V8DOMWrapper::convertToNativeObject):
3579 (WebCore::V8DOMWrapper::convertToNativeEvent):
3580 (WebCore::V8DOMWrapper::extractCPointerImpl):
3581 (WebCore::V8DOMWrapper::instantiateV8Object):
3582 (WebCore::V8Proxy::constructDOMObject):
3584 * bindings/v8/V8SVGPODTypeWrapper.h:
3585 (WebCore::V8SVGPODTypeUtil::toSVGPODType):
3586 * bindings/v8/WorkerContextExecutionProxy.cpp:
3587 (WebCore::WorkerContextExecutionProxy::retrieve):
3588 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3589 (WebCore::WorkerContextExecutionProxy::GetConstructor):
3590 (WebCore::WorkerContextExecutionProxy::ToV8Object):
3591 (WebCore::WorkerContextExecutionProxy::EventToV8Object):
3592 (WebCore::WorkerContextExecutionProxy::toV8):
3593 * bindings/v8/custom/V8AttrCustom.cpp:
3594 (WebCore::ACCESSOR_SETTER):
3595 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3596 (WebCore::NAMED_PROPERTY_GETTER):
3597 (WebCore::NAMED_PROPERTY_SETTER):
3598 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
3599 (WebCore::INDEXED_PROPERTY_GETTER):
3600 (WebCore::INDEXED_PROPERTY_SETTER):
3601 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3603 (WebCore::toCanvasStyle):
3604 (WebCore::ACCESSOR_GETTER):
3605 (WebCore::ACCESSOR_SETTER):
3606 (WebCore::CALLBACK_FUNC_DECL):
3607 * bindings/v8/custom/V8ClientRectListCustom.cpp:
3608 (WebCore::INDEXED_PROPERTY_GETTER):
3609 * bindings/v8/custom/V8ClipboardCustom.cpp:
3610 (WebCore::ACCESSOR_GETTER):
3611 (WebCore::CALLBACK_FUNC_DECL):
3612 * bindings/v8/custom/V8CustomBinding.cpp:
3613 (WebCore::ACCESSOR_GETTER):
3614 (WebCore::INDEXED_ACCESS_CHECK):
3615 (WebCore::NAMED_ACCESS_CHECK):
3616 (WebCore::V8Custom::GetTargetFrame):
3617 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
3618 (WebCore::V8CustomSQLStatementCallback::handleEvent):
3619 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3620 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
3621 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
3622 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
3623 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
3624 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
3625 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3626 (WebCore::V8Custom::WindowSetTimeoutImpl):
3627 (WebCore::ACCESSOR_SETTER):
3628 (WebCore::CALLBACK_FUNC_DECL):
3629 (WebCore::ACCESSOR_GETTER):
3630 (WebCore::INDEXED_PROPERTY_GETTER):
3631 (WebCore::NAMED_PROPERTY_GETTER):
3632 (WebCore::V8Custom::ClearTimeoutImpl):
3633 (WebCore::NAMED_ACCESS_CHECK):
3634 (WebCore::INDEXED_ACCESS_CHECK):
3635 * bindings/v8/custom/V8DatabaseCustom.cpp:
3636 (WebCore::CALLBACK_FUNC_DECL):
3637 * bindings/v8/custom/V8DocumentCustom.cpp:
3638 (WebCore::CALLBACK_FUNC_DECL):
3639 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3640 (WebCore::ACCESSOR_GETTER):
3641 (WebCore::ACCESSOR_SETTER):
3642 * bindings/v8/custom/V8ElementCustom.cpp:
3643 (WebCore::CALLBACK_FUNC_DECL):
3644 (WebCore::ACCESSOR_SETTER):
3645 (WebCore::ACCESSOR_GETTER):
3646 * bindings/v8/custom/V8EventCustom.cpp:
3647 (WebCore::ACCESSOR_SETTER):
3648 (WebCore::ACCESSOR_GETTER):
3649 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3650 (WebCore::CALLBACK_FUNC_DECL):
3651 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3652 (WebCore::CALLBACK_FUNC_DECL):
3653 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3654 (WebCore::getNamedItems):
3656 (WebCore::NAMED_PROPERTY_GETTER):
3657 (WebCore::CALLBACK_FUNC_DECL):
3658 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3659 (WebCore::NAMED_PROPERTY_GETTER):
3660 (WebCore::CALLBACK_FUNC_DECL):
3661 (WebCore::ACCESSOR_GETTER):
3662 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3663 (WebCore::INDEXED_PROPERTY_GETTER):
3664 (WebCore::NAMED_PROPERTY_GETTER):
3665 (WebCore::CALLBACK_FUNC_DECL):
3666 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3667 (WebCore::ACCESSOR_SETTER):
3668 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3669 (WebCore::NAMED_PROPERTY_GETTER):
3670 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3671 (WebCore::ACCESSOR_SETTER):
3672 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3673 (WebCore::CALLBACK_FUNC_DECL):
3674 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3675 (WebCore::ACCESSOR_GETTER):
3676 (WebCore::ACCESSOR_SETTER):
3677 (WebCore::CALLBACK_FUNC_DECL):
3678 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
3679 (WebCore::CALLBACK_FUNC_DECL):
3680 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3681 (WebCore::CALLBACK_FUNC_DECL):
3682 (WebCore::ACCESSOR_GETTER):
3683 (WebCore::ACCESSOR_SETTER):
3684 (WebCore::INDEXED_PROPERTY_GETTER):
3685 (WebCore::INDEXED_PROPERTY_SETTER):
3686 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3687 (WebCore::NAMED_PROPERTY_GETTER):
3688 (WebCore::NAMED_PROPERTY_SETTER):
3689 (WebCore::INDEXED_PROPERTY_GETTER):
3690 (WebCore::INDEXED_PROPERTY_SETTER):
3691 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
3692 (WebCore::NAMED_PROPERTY_GETTER):
3693 (WebCore::INDEXED_PROPERTY_SETTER):
3694 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3695 (WebCore::CALLBACK_FUNC_DECL):
3696 (WebCore::removeElement):
3697 * bindings/v8/custom/V8InspectorControllerCustom.cpp:
3698 (WebCore::CALLBACK_FUNC_DECL):
3699 * bindings/v8/custom/V8LocationCustom.cpp:
3700 (WebCore::ACCESSOR_SETTER):
3701 (WebCore::ACCESSOR_GETTER):
3702 (WebCore::CALLBACK_FUNC_DECL):
3703 (WebCore::INDEXED_ACCESS_CHECK):
3704 (WebCore::NAMED_ACCESS_CHECK):
3705 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3706 (WebCore::CALLBACK_FUNC_DECL):
3707 * bindings/v8/custom/V8MessagePortCustom.cpp:
3708 (WebCore::ACCESSOR_GETTER):
3709 (WebCore::ACCESSOR_SETTER):
3710 (WebCore::CALLBACK_FUNC_DECL):
3711 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3712 (WebCore::INDEXED_PROPERTY_GETTER):
3713 (WebCore::NAMED_PROPERTY_GETTER):
3714 * bindings/v8/custom/V8NavigatorCustom.cpp:
3715 (WebCore::ACCESSOR_GETTER):
3716 * bindings/v8/custom/V8NodeCustom.cpp:
3717 (WebCore::CALLBACK_FUNC_DECL):
3718 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
3720 (WebCore::CALLBACK_FUNC_DECL):
3721 * bindings/v8/custom/V8NodeListCustom.cpp:
3722 (WebCore::NAMED_PROPERTY_GETTER):
3723 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3724 (WebCore::CALLBACK_FUNC_DECL):
3725 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3726 (WebCore::CALLBACK_FUNC_DECL):
3727 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
3728 (WebCore::CALLBACK_FUNC_DECL):
3729 * bindings/v8/custom/V8SVGLengthCustom.cpp:
3730 (WebCore::ACCESSOR_GETTER):
3731 (WebCore::CALLBACK_FUNC_DECL):
3732 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
3733 (WebCore::CALLBACK_FUNC_DECL):
3734 * bindings/v8/custom/V8StorageCustom.cpp:
3735 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
3736 (WebCore::storageGetter):
3737 (WebCore::storageSetter):
3738 (WebCore::storageDeleter):
3739 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
3740 (WebCore::NAMED_PROPERTY_GETTER):
3741 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3743 (WebCore::CALLBACK_FUNC_DECL):
3744 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
3745 (WebCore::CALLBACK_FUNC_DECL):
3746 * bindings/v8/custom/V8WorkerContextCustom.cpp:
3747 (WebCore::ACCESSOR_GETTER):
3748 (WebCore::ACCESSOR_SETTER):
3749 (WebCore::SetTimeoutOrInterval):
3750 (WebCore::CALLBACK_FUNC_DECL):
3751 * bindings/v8/custom/V8WorkerCustom.cpp:
3752 (WebCore::CALLBACK_FUNC_DECL):
3753 (WebCore::ACCESSOR_GETTER):
3754 (WebCore::ACCESSOR_SETTER):
3755 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3756 (WebCore::CALLBACK_FUNC_DECL):
3757 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3758 (WebCore::ACCESSOR_GETTER):
3759 (WebCore::ACCESSOR_SETTER):
3760 (WebCore::CALLBACK_FUNC_DECL):
3761 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3762 (WebCore::ACCESSOR_GETTER):
3763 (WebCore::ACCESSOR_SETTER):
3764 (WebCore::CALLBACK_FUNC_DECL):
3765 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3766 (WebCore::CALLBACK_FUNC_DECL):
3768 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
3770 Reviewed by Simon Fraser.
3772 Make sure we can click outside the slider thumb and start dragging.
3773 https://bugs.webkit.org/show_bug.cgi?id=26229
3775 Previously we were assuming that if the thumb hasn't been clicked, we
3776 wouldn't issue any value change upon dragging.
3778 We need to handle the two different cases:
3779 - Clicked in the thumb, we need to make sure the cursor is always pointing
3780 the same slider thumb point.
3781 - Clicked outside, the cursor should always be pointing to the center of
3784 For simplicity, we don't remember the original point of the mouse down,
3785 but a vector between that point and the thumb.
3787 * rendering/RenderSlider.cpp:
3788 (WebCore::SliderThumbElement::SliderThumbElement):
3789 (WebCore::SliderThumbElement::defaultEventHandler):
3790 (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
3791 * rendering/RenderSlider.h:
3793 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
3795 Reviewed by Simon Fraser.
3797 https://bugs.webkit.org/show_bug.cgi?id=27100
3798 <rdar://problem/7042621>
3800 Don't display "loading" in the <video> controller when
3801 there is no src specified.
3803 * rendering/MediaControlElements.cpp:
3804 (WebCore::MediaControlStatusDisplayElement::update): The only
3805 way to find out if we have an element is currentSrc(). networkState()
3806 will always report LOADING according to the spec.
3808 2009-07-08 Adam Barth <abarth@webkit.org>
3810 Reviewed by Eric Seidel.
3812 [V8] Move V8GCController functions to their own file
3813 https://bugs.webkit.org/show_bug.cgi?id=27102
3815 * bindings/v8/V8GCController.cpp: Added.
3816 * bindings/v8/V8GCController.h: Added.
3817 * bindings/v8/V8Proxy.cpp:
3818 * bindings/v8/V8Proxy.h:
3820 2009-07-08 Jeremy Orlow <jorlow@chromium.org>
3822 Reviewed by Darin Fisher.
3824 Split StorageArea and StorageNamespace into an interface and implementation.
3825 https://bugs.webkit.org/show_bug.cgi?id=27072
3827 I need to split StorageNamespace and StorageArea into an interface and
3828 implementation. In a later patch, I'll implement a proxy interface
3829 that'll run inside the Chromium renderer process.
3831 Additionally, fix the alphabetical ordering of files I recently added
3832 in the project files.
3834 This is a continuation of other refactoring work:
3835 https://bugs.webkit.org/show_bug.cgi?id=25376
3838 * WebCore.vcproj/WebCore.vcproj:
3839 * WebCore.xcodeproj/project.pbxproj:
3840 * WebCoreSources.bkl:
3841 * storage/StorageArea.cpp:
3842 (WebCore::StorageArea::create):
3843 * storage/StorageArea.h:
3844 (WebCore::StorageArea::~StorageArea):
3845 * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
3846 (WebCore::StorageAreaImpl::create):
3847 (WebCore::StorageAreaImpl::~StorageAreaImpl):
3848 (WebCore::StorageAreaImpl::StorageAreaImpl):
3849 (WebCore::StorageAreaImpl::copy):
3850 (WebCore::StorageAreaImpl::length):
3851 (WebCore::StorageAreaImpl::key):
3852 (WebCore::StorageAreaImpl::getItem):
3853 (WebCore::StorageAreaImpl::setItem):
3854 (WebCore::StorageAreaImpl::removeItem):
3855 (WebCore::StorageAreaImpl::clear):
3856 (WebCore::StorageAreaImpl::contains):
3857 (WebCore::StorageAreaImpl::importItem):
3858 (WebCore::StorageAreaImpl::securityOrigin):
3859 (WebCore::StorageAreaImpl::close):
3860 (WebCore::StorageAreaImpl::blockUntilImportComplete):
3861 (WebCore::StorageAreaImpl::dispatchStorageEvent):
3862 * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
3863 * storage/StorageAreaSync.h:
3864 * storage/StorageNamespace.cpp:
3865 (WebCore::StorageNamespace::localStorageNamespace):
3866 (WebCore::StorageNamespace::sessionStorageNamespace):
3867 * storage/StorageNamespace.h:
3868 (WebCore::StorageNamespace::~StorageNamespace):
3869 * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
3870 (WebCore::StorageNamespaceImpl::localStorageNamespace):
3871 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
3872 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
3873 (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
3874 (WebCore::StorageNamespaceImpl::copy):
3875 (WebCore::StorageNamespaceImpl::storageArea):
3876 (WebCore::StorageNamespaceImpl::close):
3877 * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
3879 2009-07-08 Adam Barth <abarth@webkit.org>
3881 Reviewed by Eric Seidel.
3883 [V8] Move garbage collector related functions from V8Proxy to V8GCController
3884 https://bugs.webkit.org/show_bug.cgi?id=26967
3886 This patch just moves the functions around in V8Proxy. We'll actually
3887 move them to a separate file in another patch.
3889 * bindings/v8/NPV8Object.cpp:
3891 * bindings/v8/ScheduledAction.cpp:
3892 (WebCore::ScheduledAction::ScheduledAction):
3893 (WebCore::ScheduledAction::~ScheduledAction):
3894 * bindings/v8/ScriptController.cpp:
3895 (WebCore::ScriptController::gcProtectJSWrapper):
3896 (WebCore::ScriptController::gcUnprotectJSWrapper):
3897 * bindings/v8/ScriptInstance.cpp:
3898 (WebCore::V8ScriptInstance::clear):
3899 (WebCore::V8ScriptInstance::set):
3900 * bindings/v8/ScriptValue.h:
3901 (WebCore::ScriptValue::ScriptValue):
3902 (WebCore::ScriptValue::operator=):
3903 (WebCore::ScriptValue::clear):
3904 * bindings/v8/V8AbstractEventListener.cpp:
3905 (WebCore::V8AbstractEventListener::disposeListenerObject):
3906 * bindings/v8/V8LazyEventListener.cpp:
3907 (WebCore::V8LazyEventListener::~V8LazyEventListener):
3908 (WebCore::V8LazyEventListener::getListenerFunction):
3909 (WebCore::V8LazyEventListener::getWrappedListenerFunction):
3910 * bindings/v8/V8NodeFilterCondition.cpp:
3911 (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
3912 (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
3913 * bindings/v8/V8Proxy.cpp:
3914 (WebCore::V8GCController::registerGlobalHandle):
3915 (WebCore::V8GCController::unregisterGlobalHandle):
3916 (WebCore::V8GCController::gcProtect):
3917 (WebCore::V8GCController::gcUnprotect):
3918 (WebCore::V8Proxy::destroyGlobal):
3919 (WebCore::V8Proxy::updateDocumentWrapper):
3920 (WebCore::V8Proxy::clearDocumentWrapper):
3921 (WebCore::V8Proxy::disposeContextHandles):
3922 (WebCore::V8Proxy::initContextIfNeeded):
3923 * bindings/v8/V8Proxy.h:
3925 (WebCore::GlobalHandleInfo::GlobalHandleInfo):
3926 * bindings/v8/custom/V8CustomEventListener.cpp:
3927 (WebCore::V8EventListener::V8EventListener):
3929 2009-07-08 Daniel Bates <dbates@intudata.com>
3931 Reviewed by Adam Barth.
3933 https://bugs.webkit.org/show_bug.cgi?id=26918
3935 Prevents injection of HTML Base tag.
3937 Tests: http/tests/security/xssAuditor/base-href-control-char.html
3938 http/tests/security/xssAuditor/base-href-null-char.html
3939 http/tests/security/xssAuditor/base-href-safe.html
3940 http/tests/security/xssAuditor/base-href-safe2.html
3941 http/tests/security/xssAuditor/base-href-scheme-relative.html
3942 http/tests/security/xssAuditor/base-href.html
3944 * html/HTMLBaseElement.cpp:
3945 (WebCore::HTMLBaseElement::parseMappedAttribute):
3946 (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
3947 to determine if it is safe to use base element URL.
3948 * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
3949 * page/XSSAuditor.cpp:
3950 (WebCore::XSSAuditor::canSetBaseElementURL):
3951 * page/XSSAuditor.h:
3953 2009-07-08 Nate Chapin <japhet@chromium.org>
3955 Reviewed by Dimitri Glazkov.
3957 Upstream V8 npruntime bindings.
3959 https://bugs.webkit.org/show_bug.cgi?id=27094
3961 * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
3962 (StringKey::operator==):
3963 (StringKey::StringKeyHash::hash):
3964 (StringKey::StringKeyHash::equal):
3965 (StringKeyHashTraits::constructDeletedValue):
3966 (StringKeyHashTraits::isDeletedValue):
3967 (getStringIdentifierMap):
3968 (getIntIdentifierMap):
3969 * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
3970 * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
3971 * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
3973 2009-07-08 Dumitru Daniliuc <dumi@chromium.org>
3975 Reviewed by Darin Fisher.
3977 Extending the PlatformFileHandle definition from PLATFORM(WIN) to
3980 https://bugs.webkit.org/show_bug.cgi?id=27013
3982 * platform/FileSystem.h:
3984 2009-07-08 Daniel Bates <dbates@intudata.com>
3986 Reviewed by Adam Barth.
3988 https://bugs.webkit.org/show_bug.cgi?id=27071
3990 Resolves issue when HTTP parameters contain null- and non-null-control- characters.
3992 Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
3993 http/tests/security/xssAuditor/embed-tag-control-char.html
3994 http/tests/security/xssAuditor/embed-tag-null-char.html
3995 http/tests/security/xssAuditor/embed-tag.html
3996 http/tests/security/xssAuditor/link-onclick-control-char.html
3997 http/tests/security/xssAuditor/link-onclick-null-char.html
3998 http/tests/security/xssAuditor/object-embed-tag-control-char.html
3999 http/tests/security/xssAuditor/object-embed-tag-null-char.html
4000 http/tests/security/xssAuditor/object-embed-tag.html
4001 http/tests/security/xssAuditor/object-tag.html
4002 http/tests/security/xssAuditor/script-tag-post-control-char.html
4003 http/tests/security/xssAuditor/script-tag-post-null-char.html
4004 http/tests/security/xssAuditor/script-tag-with-source-control-char.html
4005 http/tests/security/xssAuditor/script-tag-with-source-null-char.html
4007 * page/XSSAuditor.cpp:
4008 (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
4009 (WebCore::XSSAuditor::canEvaluate):
4010 (WebCore::XSSAuditor::canCreateInlineEventListener):
4011 (WebCore::XSSAuditor::canLoadObject):
4012 (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
4013 and matchNonNullControlCharacters.
4014 (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
4015 and matchNonNullControlCharacters.
4016 * page/XSSAuditor.h:
4018 2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
4020 Reviewed by Dimitri Glazkov.
4022 Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
4023 https://bugs.webkit.org/show_bug.cgi?id=27093
4025 This is specific for v8, no change in behavior.
4027 * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
4029 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
4031 Reviewed by Simon Fraser.
4033 https://bugs.webkit.org/show_bug.cgi?id=27086
4035 Make sure the Media controller doesn't fade in for no reason.
4036 This is happening because a update() call to the controller
4037 panel may reset the opacity to 1.0, given that it reloads the
4040 We also add a different fade in and fade out time to soften
4041 the fade out effect.
4043 No test case because this depends on how the movie is loaded.
4045 * rendering/RenderMedia.cpp:
4046 (WebCore::RenderMedia::RenderMedia):
4047 (WebCore::RenderMedia::updateControls):
4048 (WebCore::RenderMedia::updateControlVisibility): Simplify
4049 , and make sure we stop the timer if there is no animation
4051 (WebCore::RenderMedia::opacityAnimationTimerFired):
4052 * rendering/RenderMedia.h:
4054 2009-07-08 David Kilzer <ddkilzer@apple.com>
4056 Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
4058 <https://bugs.webkit.org/show_bug.cgi?id=27081>
4060 Reviewed by Timothy Hatcher.
4062 * platform/cf/RunLoopTimerCF.cpp: This code is only used on
4063 Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
4064 in that macro as well.
4066 2009-07-08 Greg Bolsinga <bolsinga@apple.com>
4068 Reviewed by Darin Adler.
4070 Add -[WebView _isProcessingUserGesture]
4071 https://bugs.webkit.org/show_bug.cgi?id=27084
4073 Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
4076 * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
4077 * html/HTMLMediaElement.cpp:
4078 (WebCore::HTMLMediaElement::processingUserGesture):
4079 * loader/FrameLoader.cpp:
4080 (WebCore::FrameLoader::requestFrame):
4081 (WebCore::FrameLoader::isProcessingUserGesture):
4082 * loader/FrameLoader.h:
4084 2009-07-08 Alexey Proskuryakov <ap@webkit.org>
4086 Reviewed (an earlier version) by Geoff Garen.
4088 https://bugs.webkit.org/show_bug.cgi?id=27090
4089 Remove lockBackForwardList argument from HTMLFormElement::submit()
4091 No change in behavior, so no tests.
4093 * bindings/js/JSHTMLFormElementCustom.cpp:
4094 (WebCore::JSHTMLFormElement::submit):
4095 * html/HTMLFormElement.cpp:
4096 (WebCore::HTMLFormElement::submit):
4097 * html/HTMLFormElement.h:
4098 * loader/FrameLoader.cpp:
4099 (WebCore::FrameLoader::submitForm):
4100 (WebCore::FrameLoader::scheduleFormSubmission):
4101 * loader/FrameLoader.h:
4102 Don't pass lockBackForwardList around when it's known to be false.
4104 2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
4106 Reviewed by Adam Barth.
4108 Fix V8 idl codegen to use unique constant names
4109 <https://bugs.webkit.org/show_bug.cgi?id=27089>
4111 Embed the interface name in the global constant names so coagulating all
4112 the .cc files into one compile unit works with V8 bindings.
4114 Nothing added; Still compiles and pass tests.
4116 * bindings/scripts/CodeGeneratorV8.pm:
4118 2009-07-08 Brent Fulgham <bfulgham@webkit.org>
4120 Build fix: Add missing #includes for Windows (cURL) build.
4121 The <winsock2.h> and <windows.h> headers were not being
4122 included in Windows cURL builds.
4124 * platform/network/ResourceHandleInternal.h:
4125 * platform/network/curl/ResourceHandleManager.h:
4127 2009-07-08 Shinichiro Hamaji <hamaji@chromium.org>
4129 Reviewed by David Kilzer.
4131 WebKit needs a style linting tool
4132 https://bugs.webkit.org/show_bug.cgi?id=25884
4134 Fix bunch of style issues in WebCore/rendering.
4135 This patch is created to demonstrate cpplint.py.
4137 No testcase because it's just a style fixes.
4139 * rendering/AutoTableLayout.cpp:
4140 (WebCore::AutoTableLayout::recalcColumn):
4141 (WebCore::AutoTableLayout::layout):
4142 * rendering/InlineFlowBox.cpp:
4143 (WebCore::InlineFlowBox::placeEllipsisBox):
4144 * rendering/InlineTextBox.cpp:
4145 (WebCore::InlineTextBox::paintTextMatchMarker):
4146 * rendering/MediaControlElements.cpp:
4147 (WebCore::MediaControlTimelineElement::defaultEventHandler):
4148 * rendering/MediaControlElements.h:
4149 * rendering/RenderArena.cpp:
4150 * rendering/RenderBlock.cpp:
4151 (WebCore::RenderBlock::startDelayUpdateScrollInfo):
4152 (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
4153 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
4154 (WebCore::RenderBlock::positionNewFloats):
4155 (WebCore::RenderBlock::newLine):
4156 (WebCore::RenderBlock::floatBottom):
4157 (WebCore::RenderBlock::leftBottom):
4158 (WebCore::RenderBlock::rightBottom):
4159 * rendering/RenderBox.cpp:
4160 (WebCore::RenderBox::calcReplacedWidthUsing):
4161 * rendering/RenderFieldset.cpp:
4162 (WebCore::RenderFieldset::layoutLegend):
4163 * rendering/RenderFlexibleBox.cpp:
4164 (WebCore::FlexBoxIterator::FlexBoxIterator):
4165 (WebCore::FlexBoxIterator::reset):
4166 (WebCore::FlexBoxIterator::first):
4167 (WebCore::FlexBoxIterator::next):
4168 (WebCore::RenderFlexibleBox::layoutVerticalBox):
4169 * rendering/RenderFrameSet.cpp:
4170 (WebCore::borderStartEdgeColor):
4171 * rendering/RenderFrameSet.h:
4172 * rendering/RenderImage.cpp:
4173 * rendering/RenderLayer.cpp:
4174 (WebCore::RenderLayer::updateVisibilityStatus):
4175 (WebCore::RenderLayer::calculateClipRects):
4176 (WebCore::RenderLayer::calculateRects):
4177 * rendering/RenderListBox.cpp:
4178 (WebCore::RenderListBox::panScroll):
4179 * rendering/RenderMarquee.cpp:
4180 (WebCore::RenderMarquee::updateMarqueeStyle):
4181 * rendering/RenderMedia.cpp:
4182 (WebCore::RenderMedia::updateControls):
4183 * rendering/RenderObject.cpp:
4184 (WebCore::RenderObject::drawLineForBoxSide):
4185 (WebCore::RenderObject::localCaretRect):
4186 * rendering/RenderSVGImage.cpp:
4187 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
4188 * rendering/RenderSlider.h:
4189 * rendering/RenderTable.cpp:
4190 (WebCore::RenderTable::outerBorderBottom):
4191 * rendering/RenderTableCol.h:
4192 * rendering/RenderTextControlSingleLine.cpp:
4193 (WebCore::RenderTextControlSingleLine::itemIsSeparator):
4194 * rendering/RenderThemeChromiumSkia.cpp:
4195 (WebCore::RenderThemeChromiumSkia::supportsHover):
4196 * rendering/RenderThemeChromiumWin.cpp:
4197 (WebCore::RenderThemeChromiumWin::supportsFocusRing):
4198 * rendering/SVGCharacterLayoutInfo.cpp:
4199 (WebCore::SVGCharacterLayoutInfo::addStackContent):
4200 * rendering/SVGCharacterLayoutInfo.h:
4201 * rendering/TextControlInnerElements.h:
4202 * rendering/bidi.cpp:
4203 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
4205 2009-07-07 Oliver Hunt <oliver@apple.com>
4207 Reviewed by Maciej Stachowiak.
4209 Reduce complexity of lifetime management in DynamicNodeList caches
4210 <https://bugs.webkit.org/show_bug.cgi?id=27068>
4212 Switch the Cache object used by DynamicNodeList into a normal
4213 refcounted object rather than having a weird flag controlled
4214 refcounting system, where positive refcount did not automatically
4215 imply the cache object would actually still be live.
4217 * dom/DynamicNodeList.cpp:
4218 (WebCore::DynamicNodeList::DynamicNodeList):
4219 (WebCore::DynamicNodeList::~DynamicNodeList):
4220 (WebCore::DynamicNodeList::Caches::Caches):
4221 (WebCore::DynamicNodeList::Caches::create):
4222 * dom/DynamicNodeList.h:
4224 (WebCore::Node::childNodes):
4225 (WebCore::Node::getElementsByTagNameNS):
4226 (WebCore::Node::getElementsByName):
4227 (WebCore::Node::getElementsByClassName):
4228 (WebCore::NodeListsNodeData::invalidateCaches):
4229 (WebCore::NodeListsNodeData::isEmpty):
4230 * dom/NodeRareData.h:
4231 (WebCore::NodeListsNodeData::NodeListsNodeData):
4233 2009-07-07 Simon Fraser <simon.fraser@apple.com>
4235 Reviewed by Dan Bernstein.
4237 -webkit-perspective should be a Length
4238 https://bugs.webkit.org/show_bug.cgi?id=27066
4240 -webkit-perspective should not take a magic valueless number, but should
4241 be a normal Length value which responds to zooming. Treat valueless numbers
4242 as pixels for backward compatibility.
4244 Test: transforms/3d/general/perspective-units.html
4246 * css/CSSParser.cpp:
4247 (WebCore::CSSParser::parseValue):
4248 * css/CSSStyleSelector.cpp:
4249 (WebCore::CSSStyleSelector::applyProperty):
4251 2009-07-07 Pierre d'Herbemont <pdherbemont@apple.com>
4253 Reviewed by Simon Fraser.
4255 https://bugs.webkit.org/show_bug.cgi?id=27047
4257 We need to make sure that when we reattach, we also reattach
4258 the children in every MediaControl