1 2009-07-15 Mark Rowe <mrowe@apple.com>
3 I like it when the code compiles.
7 2009-07-15 Darin Adler <darin@apple.com>
9 Reviewed by Sam Weinig.
11 Renamed parseURL to deprecatedParseURL.
13 * bindings/js/JSAttrCustom.cpp:
14 (WebCore::JSAttr::setValue): Renamed.
15 * bindings/js/JSElementCustom.cpp:
16 (WebCore::allowSettingSrcToJavascriptURL): Renamed.
17 * bindings/js/JSHTMLFrameElementCustom.cpp:
18 (WebCore::allowSettingJavascriptURL): Renamed.
19 * bindings/js/JSHTMLIFrameElementCustom.cpp:
20 (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
21 * bindings/objc/DOM.mm:
22 (-[DOMElement _getURLAttribute:]): Renamed.
23 * bindings/objc/DOMHTML.mm:
24 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
25 * bindings/v8/custom/V8CustomBinding.cpp:
26 (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
28 (WebCore::deprecatedParseURL): Renamed.
29 * css/CSSHelper.h: Renamed and updated comment.
30 * html/HTMLAnchorElement.cpp:
31 (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
32 (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
33 * html/HTMLBaseElement.cpp:
34 (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
35 * html/HTMLBodyElement.cpp:
36 (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
37 * html/HTMLEmbedElement.cpp:
38 (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
39 * html/HTMLFormElement.cpp:
40 (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
41 * html/HTMLFrameElementBase.cpp:
42 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
43 * html/HTMLImageElement.cpp:
44 (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
45 * html/HTMLImageLoader.cpp:
46 (WebCore::HTMLImageLoader::sourceURI): Renamed.
47 * html/HTMLLinkElement.cpp:
48 (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
49 * html/HTMLObjectElement.cpp:
50 (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
51 * html/HTMLTableElement.cpp:
52 (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
53 * html/HTMLTablePartElement.cpp:
54 (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
55 * html/HTMLTokenizer.cpp:
56 (WebCore::HTMLTokenizer::parseTag): Renamed.
57 * html/PreloadScanner.cpp:
58 (WebCore::PreloadScanner::processAttribute): Renamed.
59 (WebCore::PreloadScanner::emitCSSRule): Renamed.
60 * platform/chromium/ClipboardChromium.cpp:
61 (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
62 * platform/chromium/PasteboardChromium.cpp:
63 (WebCore::Pasteboard::writeImage): Renamed.
64 * platform/qt/ClipboardQt.cpp:
65 (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
66 * platform/win/ClipboardWin.cpp:
67 (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
68 * rendering/HitTestResult.cpp:
69 (WebCore::HitTestResult::absoluteImageURL): Renamed.
70 (WebCore::HitTestResult::absoluteMediaURL): Renamed.
71 (WebCore::HitTestResult::absoluteLinkURL): Renamed.
72 * svg/SVGAElement.cpp:
73 (WebCore::SVGAElement::defaultEventHandler): Renamed.
74 * svg/SVGImageLoader.cpp:
75 (WebCore::SVGImageLoader::sourceURI): Renamed.
76 * wml/WMLAElement.cpp:
77 (WebCore::WMLAElement::defaultEventHandler): Renamed.
78 * wml/WMLImageLoader.cpp:
79 (WebCore::WMLImageLoader::sourceURI): Renamed.
81 2009-07-15 Darin Adler <darin@apple.com>
83 Reviewed by Dan Bernstein.
85 CSSHelper.h's parseURL is a function that no one should ever call
86 Part 1: Eliminate callers in the CSS parser.
87 https://bugs.webkit.org/show_bug.cgi?id=26599
89 Test: fast/css/uri-token-parsing.html
91 * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
92 function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
95 (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
96 CSSParser::text already takes care of parsing the URI token syntax, and the
97 parseURL function does no good.
98 (WebCore::CSSParser::parseContent): Ditto.
99 (WebCore::CSSParser::parseFillImage): Ditto.
100 (WebCore::CSSParser::parseFontFaceSrc): Ditto.
101 (WebCore::CSSParser::parseBorderImage): Ditto.
102 (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
104 (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
105 are both trimmed before removing the quote marks. Changed to use the
106 isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
108 * css/CSSParser.h: Removed stray "public:" in this header.
110 * platform/text/StringImpl.cpp:
111 (WebCore::StringImpl::substring): Optimized the case where the substring covers
112 the entire string, so we just share the StringImpl instead of making a new one.
113 This case came up in earlier versions of the CSS parser changes above.
114 (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
115 not call substring any more. Before, this was relying on the substring function
116 always making a copy of any non-empty substring.
118 2009-07-15 Darin Adler <darin@apple.com>
120 Reviewed by John Sullivan.
122 After double-clicking a word, using Shift-arrow to select behaves unpredictably
123 https://bugs.webkit.org/show_bug.cgi?id=27177
124 rdar://problem/7034324
126 Test: editing/selection/extend-selection-after-double-click.html
128 The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
129 being cleared in many cases where it should have been.
131 * editing/SelectionController.cpp:
132 (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
133 to false. This catches all sorts of cases that don't flow through the modify function.
134 Before, the flag would reflect the last call to the modify function, which was not
135 necessarily the last selection change.
136 (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
137 Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere.
138 (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
139 setSelection when setting up a trial selection controller, since setSelection now
140 clears that flag. Also changed both trial selection controller cases to set the flag,
141 although it's not strictly necessary in both cases. Added code to set
142 m_lastChangeWasHorizontalExtension when extending the selection, which used to be
143 handled in willBeModified. Now we need to do it after the selection change.
145 2009-07-15 Jeremy Orlow <jorlow@chromium.org>
147 Reviewed by Dimitri Glazkov.
149 Need to update DOM Storage files in GYPI file.
150 https://bugs.webkit.org/show_bug.cgi?id=27317
152 Need to update DOM Storage files in the GYPI file. They're pretty out
153 of date and we're on the path towards enabling them for everyone!
157 2009-07-15 Kwang Yul Seo <skyul@company100.net>
159 Reviewed by Eric Seidel.
161 https://bugs.webkit.org/show_bug.cgi?id=26794
162 Make Yacc-generated parsers to use fastMalloc/fastFree.
164 Define YYMALLOC and YYFREE to fastMalloc and fastFree
168 * xml/XPathGrammar.y:
170 2009-07-15 David Hyatt <hyatt@apple.com>
172 Reviewed by Adam Roben.
174 https://bugs.webkit.org/show_bug.cgi?id=27193
175 Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in
176 is effectively broken as a result.
178 No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
180 * rendering/RenderBlock.cpp:
181 (WebCore::RenderBlock::handleRunInChild):
183 2009-07-15 Yuzo Fujishima <yuzo@google.com>
185 Reviewed by Darin Adler.
187 Test: fast/js/instanceof-operator.html
189 Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest
190 https://bugs.webkit.org/show_bug.cgi?id=25205
192 In addition to for XMLHttpRequest, this also fixes for:
202 * bindings/js/JSAudioConstructor.cpp:
203 (WebCore::JSAudioConstructor::JSAudioConstructor):
204 * bindings/js/JSAudioConstructor.h:
205 * bindings/js/JSDOMBinding.h:
206 (WebCore::DOMConstructorObject::createStructure):
207 (WebCore::DOMConstructorObject::DOMConstructorObject):
208 * bindings/js/JSImageConstructor.cpp:
209 (WebCore::JSImageConstructor::JSImageConstructor):
210 * bindings/js/JSImageConstructor.h:
211 * bindings/js/JSMessageChannelConstructor.cpp:
212 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
213 * bindings/js/JSMessageChannelConstructor.h:
214 * bindings/js/JSOptionConstructor.cpp:
215 (WebCore::JSOptionConstructor::JSOptionConstructor):
216 * bindings/js/JSOptionConstructor.h:
217 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
218 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
219 * bindings/js/JSWebKitCSSMatrixConstructor.h:
220 * bindings/js/JSWebKitPointConstructor.cpp:
221 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
222 * bindings/js/JSWebKitPointConstructor.h:
223 * bindings/js/JSWorkerConstructor.cpp:
224 (WebCore::JSWorkerConstructor::JSWorkerConstructor):
225 * bindings/js/JSWorkerConstructor.h:
226 * bindings/js/JSXMLHttpRequestConstructor.cpp:
227 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
228 * bindings/js/JSXMLHttpRequestConstructor.h:
229 * bindings/js/JSXSLTProcessorConstructor.cpp:
230 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
231 * bindings/js/JSXSLTProcessorConstructor.h:
233 2009-07-15 Kai Br
\9fning <kai@granus.net>
235 Reviewed by Dave Hyatt.
237 CSS21 attribute selectors not dynamic for xml.
238 https://bugs.webkit.org/show_bug.cgi?id=25072
240 Moved the relevant test in StyledElement::attributeChanged()
241 to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
242 so it can be called from both StyledElement::attributeChanged()
243 and Element::attributeChanged().
244 Refactored Element::attributeChanged() into
245 Element::updateAfterAttributeChanged() and
246 Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
247 separately from StyledElement::attributeChanged().
249 Test: fast/css/attribute-selector-dynamic.xml
252 (WebCore::Element::attributeChanged):
253 (WebCore::Element::updateAfterAttributeChanged):
254 (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
256 * dom/StyledElement.cpp:
257 (WebCore::StyledElement::attributeChanged):
259 2009-07-15 Alpha Lam <hclam@chromium.org>
261 Reviewed by David Levin.
263 [V8] Layout test failures for drawImage in Canvas
264 https://bugs.webkit.org/show_bug.cgi?id=27311
266 Fixing several canvas layout tests failures due to a
267 missing return statement in CanvasRenderingContext2DDrawImage() which
268 was accidentally removed in r45929.
270 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
272 2009-07-15 Robert Hogan <robert@roberthogan.net>
274 Reviewed by Eric Seidel.
276 https://bugs.webkit.org/show_bug.cgi?id=26969
278 If the httpMethod() of the request passed to SubresourceLoader::create is not
279 supported by the client we must expect to call didFail() while m_loader is still null.
281 * loader/DocumentThreadableLoader.cpp:
282 (DocumentThreadableLoader::didFail):Changed.
284 2009-07-15 Mark Rowe <mrowe@apple.com>
289 * css/MediaQueryEvaluator.cpp:
290 * rendering/SVGRenderTreeAsText.cpp:
291 * rendering/style/SVGRenderStyle.cpp:
292 * svg/graphics/SVGPaintServer.cpp:
294 2009-07-07 Alpha Lam <hclam@chromium.org>
296 Reviewed by Dimitri Glazkov.
298 [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
299 https://bugs.webkit.org/show_bug.cgi?id=27170
301 Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
302 as a parameter of drawImage() for HTMLCanvasElement.
304 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
306 2009-07-15 Adam Barth <abarth@webkit.org>
308 Reviewed by Dimitri Glazkov.
310 [V8] Fix isolated world constructors
311 https://bugs.webkit.org/show_bug.cgi?id=27287
313 Don't enter V8Proxy::m_context before creating DOM constructors.
314 Instead, use getWrapperContext to get the right context.
316 After this patch, all my tests pass. I'll enable the feature
317 downstream and land the tests.
319 * bindings/scripts/CodeGeneratorV8.pm:
320 * bindings/v8/V8DOMWrapper.cpp:
321 (WebCore::V8DOMWrapper::getConstructor):
322 (WebCore::V8DOMWrapper::lookupDOMWrapper):
323 * bindings/v8/V8DOMWrapper.h:
324 * bindings/v8/V8IsolatedWorld.cpp:
325 (WebCore::V8IsolatedWorld::evaluate):
326 * bindings/v8/V8Proxy.cpp:
327 (WebCore::V8Proxy::createWrapperFromCache):
328 (WebCore::V8Proxy::isContextInitialized):
329 (WebCore::V8Proxy::disposeContextHandles):
330 (WebCore::V8Proxy::installDOMWindow):
331 (WebCore::V8Proxy::initContextIfNeeded):
332 (WebCore::V8Proxy::getHiddenObjectPrototype):
333 (WebCore::V8Proxy::installHiddenObjectPrototype):
334 * bindings/v8/V8Proxy.h:
336 2009-07-15 Antonio Gomes <antonio.gomes@openbossa.org>
338 Reviewed by Darin Adler.
340 useless null-check statement in visible_units.cpp@logicalStartOfLine
341 https://bugs.webkit.org/show_bug.cgi?id=27154
345 * editing/visible_units.cpp:
346 (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
348 2009-07-15 Brady Eidson <beidson@apple.com>
350 Reviewed by Dan Bernstein.
352 https://bugs.webkit.org/show_bug.cgi?id=27304
353 WebKit should provide usage and eligibility information about the page cache.
357 * history/CachedFrame.cpp:
358 (WebCore::CachedFrame::childFrameCount):
359 * history/CachedFrame.h:
361 * history/PageCache.cpp:
362 (WebCore::PageCache::frameCount):
363 (WebCore::PageCache::autoreleasedPageCount):
364 * history/PageCache.h:
365 (WebCore::PageCache::pageCount):
367 2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
369 Reviewed by David Levin.
371 Chromium's canvas forgets its context after fillText again
372 https://bugs.webkit.org/show_bug.cgi?id=27293
374 No new tests because the test for this was already added in
375 https://bugs.webkit.org/show_bug.cgi?id=26436
377 * platform/graphics/chromium/TransparencyWin.cpp:
378 (WebCore::TransparencyWin::compositeTextComposite):
380 2009-07-14 David Hyatt <hyatt@apple.com>
382 Reviewed by Simon Fraser.
384 https://bugs.webkit.org/show_bug.cgi?id=27283
386 Implement the new 'rem' unit from CSS3.
388 Added some rem-* tests in fast/css.
392 (WebCore::CSSParser::validUnit):
393 (WebCore::unitFromString):
394 (WebCore::CSSParser::parseValue):
395 (WebCore::CSSParser::lex):
396 * css/CSSParserValues.cpp:
397 (WebCore::CSSParserValue::createCSSValue):
398 * css/CSSPrimitiveValue.cpp:
399 (WebCore::CSSPrimitiveValue::computeLengthInt):
400 (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
401 (WebCore::CSSPrimitiveValue::computeLengthShort):
402 (WebCore::CSSPrimitiveValue::computeLengthFloat):
403 (WebCore::CSSPrimitiveValue::computeLengthDouble):
404 (WebCore::CSSPrimitiveValue::cssText):
405 (WebCore::CSSPrimitiveValue::parserValue):
406 * css/CSSPrimitiveValue.h:
407 (WebCore::CSSPrimitiveValue::):
408 (WebCore::CSSPrimitiveValue::isUnitTypeLength):
409 * css/CSSStyleSelector.cpp:
410 (WebCore::CSSStyleSelector::initForStyleResolve):
411 (WebCore::convertToLength):
412 (WebCore::CSSStyleSelector::applyProperty):
413 (WebCore::CSSStyleSelector::mapFillSize):
414 (WebCore::CSSStyleSelector::mapFillXPosition):
415 (WebCore::CSSStyleSelector::mapFillYPosition):
416 (WebCore::CSSStyleSelector::createTransformOperations):
417 * css/CSSStyleSelector.h:
418 * css/MediaQueryEvaluator.cpp:
419 (WebCore::device_heightMediaFeatureEval):
420 (WebCore::device_widthMediaFeatureEval):
421 (WebCore::heightMediaFeatureEval):
422 (WebCore::widthMediaFeatureEval):
423 * css/WebKitCSSMatrix.cpp:
424 (WebCore::WebKitCSSMatrix::setMatrixValue):
425 * css/tokenizer.flex:
427 (WebCore::Document::Document):
429 (WebCore::Document::usesRemUnits):
430 (WebCore::Document::setUsesRemUnits):
432 (WebCore::Element::recalcStyle):
433 * rendering/SVGRenderTreeAsText.cpp:
434 (WebCore::writeStyle):
435 * rendering/style/SVGRenderStyle.cpp:
436 (WebCore::SVGRenderStyle::cssPrimitiveToLength):
437 * svg/graphics/SVGPaintServer.cpp:
438 (WebCore::applyStrokeStyleToContext):
439 (WebCore::dashArrayFromRenderingStyle):
440 * svg/graphics/SVGPaintServer.h:
442 2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
444 Unreviewed, build fix.
446 Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
448 * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
450 2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
452 Reviewed by Darin Fisher.
454 [V8] Update bindings for ValiditeState patch.
455 https://bugs.webkit.org/show_bug.cgi?id=19562
457 * bindings/v8/DOMObjectsInclude.h:
458 * bindings/v8/DerivedSourcesAllInOne.cpp:
459 * bindings/v8/V8Index.cpp:
460 * bindings/v8/V8Index.h:
462 2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
464 Reviewed by Simon Hausmann.
466 [Qt] Cleanup - Remove obsolete code from the make system
467 https://bugs.webkit.org/show_bug.cgi?id=27299
471 2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
473 Reviewed by Ariya Hidayat.
475 Fix the build without media elements.
477 * rendering/HitTestResult.cpp:
478 (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
479 markers around the body of the method.
481 2009-07-14 Pavel Feldman <pfeldman@chromium.org>
483 Reviewed by Timothy Hatcher.
485 WebInspector: Move storeLastActivePanel out of the
486 ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
487 Add default panel for the first opening of the
490 https://bugs.webkit.org/show_bug.cgi?id=27263
492 * inspector/InspectorController.cpp:
493 (InspectorController::setWindowVisible):
494 * inspector/InspectorController.idl:
496 2009-07-14 Darin Adler <darin@apple.com>
498 Try to fix Windows build.
500 * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
502 2009-07-14 Pierre d'Herbemont <pdherbemont@apple.com>
504 Reviewed by Oliver Hunt.
506 HTMLMediaElement::supportsFullscreen() should return false
507 https://bugs.webkit.org/show_bug.cgi?id=27284
509 (Reverting a part of 45875)
511 HTMLVideoElement::supportsFullscreen() will properly do the
512 job, and check if the backend supports fullscreen.
514 HTMLVideoElement is the only subclass to support fullscreen
515 (conditionnaly). HTMLAudioElement fullscreen is not supported
516 and is a different kind of fullscreen, if it comes to be wanted.
518 No test can be done currently given that none of the media
519 backends support fullscreen.
521 * html/HTMLMediaElement.cpp:
522 * html/HTMLMediaElement.h:
523 (WebCore::HTMLMediaElement::supportsFullscreen):
525 2009-07-14 Darin Adler <darin@apple.com>
527 Reviewed by Dimitri Glazkov.
529 Next step in making DOM attribute getter/setters consistently use AtomicString
530 https://bugs.webkit.org/show_bug.cgi?id=25425
532 This covers eight DOM classes, and for each one of the classes:
534 - Changes the IDL to use the Reflect syntax for all simple cases.
535 - Removes unused functions in the classes, mainly newly unused ones that were
536 used for reflection before.
537 - Removes unneeded explicitly defined destructors.
538 - Explicitly declares destructors as virtual.
539 - Removes unneeded includes.
540 - Makes members protected or private rather than public where possible.
541 - Renames "doc" to "document".
542 - Tweaks formatting to match our latest style in a few places.
543 - Improves some FIXME comments.
545 Over time we'll want to do this for all HTML DOM classes.
547 * html/HTMLAnchorElement.cpp:
548 (WebCore::HTMLAnchorElement::HTMLAnchorElement):
549 * html/HTMLAnchorElement.h:
550 (WebCore::HTMLAnchorElement::endTagRequirement):
551 (WebCore::HTMLAnchorElement::tagPriority):
552 * html/HTMLAnchorElement.idl:
553 * html/HTMLAppletElement.cpp:
554 * html/HTMLAppletElement.h:
555 * html/HTMLAppletElement.idl:
556 * html/HTMLAreaElement.cpp:
557 (WebCore::HTMLAreaElement::parseMappedAttribute):
558 * html/HTMLAreaElement.h:
559 (WebCore::HTMLAreaElement::endTagRequirement):
560 (WebCore::HTMLAreaElement::tagPriority):
561 * html/HTMLAreaElement.idl:
562 * html/HTMLBRElement.cpp:
563 (WebCore::HTMLBRElement::parseMappedAttribute):
564 * html/HTMLBRElement.h:
565 * html/HTMLBRElement.idl:
566 * html/HTMLBaseElement.cpp:
567 (WebCore::HTMLBaseElement::HTMLBaseElement):
568 (WebCore::HTMLBaseElement::removedFromDocument):
569 (WebCore::HTMLBaseElement::process):
570 * html/HTMLBaseElement.h:
571 * html/HTMLBaseElement.idl:
572 * html/HTMLBaseFontElement.cpp:
573 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
574 * html/HTMLBaseFontElement.h:
575 (WebCore::HTMLBaseFontElement::endTagRequirement):
576 (WebCore::HTMLBaseFontElement::tagPriority):
577 * html/HTMLBaseFontElement.idl:
578 * html/HTMLBlockquoteElement.cpp:
579 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
580 * html/HTMLBlockquoteElement.h:
581 (WebCore::HTMLBlockquoteElement::tagPriority):
582 * html/HTMLBlockquoteElement.idl:
583 * html/HTMLBodyElement.cpp:
584 (WebCore::HTMLBodyElement::HTMLBodyElement):
585 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
586 * html/HTMLBodyElement.h:
587 (WebCore::HTMLBodyElement::endTagRequirement):
588 (WebCore::HTMLBodyElement::tagPriority):
589 * html/HTMLBodyElement.idl:
590 Made changes as described above.
592 * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
594 2009-07-14 Steve Falkenburg <sfalken@apple.com>
596 Reorganize JavaScriptCore headers into:
597 API: include/JavaScriptCore/
598 Private: include/private/JavaScriptCore/
600 Reviewed by Darin Adler.
602 * WebCore.vcproj/QTMovieWin.vcproj:
603 * WebCore.vcproj/WebCoreCommon.vsprops:
604 * WebCore.vcproj/build-generated-files.sh:
606 2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
608 Reviewed by Darin Adler.
610 Change all Noncopyable inheriting visibility to public.
611 https://bugs.webkit.org/show_bug.cgi?id=27225
613 Change all Noncopyable inheriting visibility to public because
614 it is needed to the custom allocation framework (bug #20422).
616 * bindings/js/GCController.h:
617 * bindings/js/WorkerScriptController.h:
618 * bindings/v8/V8DOMMap.cpp:
622 * css/CSSSelectorList.h:
623 * css/CSSStyleSelector.h:
625 * dom/MessagePortChannel.h:
626 * dom/XMLTokenizerLibxml2.cpp:
627 * dom/XMLTokenizerScope.h:
628 * editing/ReplaceSelectionCommand.cpp:
629 * editing/SelectionController.h:
630 * editing/TextIterator.cpp:
631 * history/PageCache.h:
632 * html/CanvasRenderingContext2D.h:
634 * html/HTMLParserQuirks.h:
635 * html/PreloadScanner.h:
637 * loader/CrossOriginPreflightResultCache.h:
638 * loader/FrameLoader.h:
639 * loader/ProgressTracker.h:
640 * loader/ThreadableLoader.h:
641 * loader/appcache/ApplicationCacheGroup.h:
642 * loader/archive/ArchiveResourceCollection.h:
643 * loader/icon/IconDatabase.h:
644 * loader/icon/IconLoader.h:
645 * loader/icon/PageURLRecord.h:
647 * page/ContextMenuController.h:
648 * page/EventHandler.h:
652 * page/PageGroupLoadDeferrer.h:
653 * page/mac/EventHandlerMac.mm:
654 * platform/AutodrainedPool.h:
655 * platform/ContextMenu.h:
656 * platform/EventLoop.h:
657 * platform/HostWindow.h:
658 * platform/Pasteboard.h:
659 * platform/PurgeableBuffer.h:
660 * platform/RunLoopTimer.h:
661 * platform/ThreadGlobalData.h:
662 * platform/ThreadTimers.h:
664 * platform/TreeShared.h:
665 * platform/graphics/FontData.h:
666 * platform/graphics/GlyphWidthMap.h:
667 * platform/graphics/GraphicsContext.h:
668 * platform/graphics/ImageBuffer.h:
669 * platform/graphics/ImageSource.h:
670 * platform/graphics/MediaPlayer.h:
671 * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
672 * platform/graphics/skia/PlatformContextSkia.h:
673 * platform/graphics/win/QTMovieWin.cpp:
674 * platform/mac/LocalCurrentGraphicsContext.h:
675 * platform/network/FormDataBuilder.h:
676 * platform/network/ResourceHandleInternal.h:
677 * platform/network/soup/ResourceHandleSoup.cpp:
678 * platform/text/StringBuffer.h:
679 * platform/text/TextCodec.h:
680 * platform/win/WindowMessageBroadcaster.h:
681 * rendering/CounterNode.h:
682 * rendering/LayoutState.h:
683 * rendering/RenderFrameSet.h:
684 * rendering/RenderView.h:
685 * rendering/TransformState.h:
686 * svg/SVGAnimatedProperty.h:
687 * svg/SynchronizableTypeWrapper.h:
688 * workers/WorkerMessagingProxy.h:
689 * workers/WorkerRunLoop.cpp:
690 * xml/XPathExpressionNode.h:
692 * xml/XPathPredicate.h:
695 2009-07-14 Darin Fisher <darin@chromium.org>
697 Reviewed by Darin Adler.
699 Fails to save document state when navigating away from a page with a
701 https://bugs.webkit.org/show_bug.cgi?id=27281
703 Test: fast/history/saves-state-after-fragment-nav.html
705 * history/HistoryItem.cpp:
706 (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
709 2009-07-14 Joseph Pecoraro <joepeck02@gmail.com>
711 Reviewed by Sam Weinig.
713 Inspector: Remove Unintended Global Variables
714 https://bugs.webkit.org/show_bug.cgi?id=27203
716 * inspector/front-end/Console.js:
717 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
718 * inspector/front-end/DatabasesPanel.js:
719 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
720 * inspector/front-end/ObjectPropertiesSection.js:
721 (WebInspector.ObjectPropertyTreeElement.prototype.update):
722 * inspector/front-end/inspector.js:
723 (WebInspector.animateStyle):
725 2009-07-14 Michelangelo De Simone <micdesim@gmail.com>
727 Reviewed by Adele Peterson.
729 https://bugs.webkit.org/show_bug.cgi?id=19562
730 Added build stuff and stub for the ValidityState class, part of HTML5
732 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
734 Test: fast/forms/ValidityState-001.html
736 * DerivedSources.cpp: Inclusion of ValidityState files
737 * DerivedSources.make: ditto
738 * GNUmakefile.am: ditto
739 * WebCore.gypi: ditto
741 * WebCore.vcproj/WebCore.vcproj: ditto
742 * WebCore.xcodeproj/project.pbxproj: ditto
743 * WebCoreSources.bkl: ditto
744 * html/HTMLButtonElement.idl: validity attribute
745 * html/HTMLFieldSetElement.idl: ditto
746 * html/HTMLFormControlElement.cpp:
747 (WebCore::HTMLFormControlElement::validity): ValidityState getter
748 * html/HTMLFormControlElement.h: ditto
749 * html/HTMLInputElement.idl: validity attribute
750 * html/HTMLSelectElement.idl: ditto
751 * html/HTMLTextAreaElement.idl: ditto
752 * html/ValidityState.cpp: Added.
753 (WebCore::ValidityState::ValidityState):
754 (WebCore::ValidityState::valid): validation flag
755 * html/ValidityState.h: Added.
756 (WebCore::ValidityState::create): validation flag
757 (WebCore::ValidityState::control): ditto
758 (WebCore::ValidityState::valueMissing): ditto
759 (WebCore::ValidityState::typeMismatch): ditto
760 (WebCore::ValidityState::patternMismatch): ditto
761 (WebCore::ValidityState::tooLong): ditto
762 (WebCore::ValidityState::rangeUnderflow): ditto
763 (WebCore::ValidityState::rangeOverflow): ditto
764 (WebCore::ValidityState::stepMismatch): ditto
765 (WebCore::ValidityState::customError): ditto
766 * html/ValidityState.idl: Added.
768 2009-07-14 Ryosuke Niwa <rniwa@google.com>
770 Reviewed by Eric Seidel.
772 Outdenting a line inside a blockquote tag does nothing
773 https://bugs.webkit.org/show_bug.cgi?id=25316
775 The bug was caused by the code checking whether the blockquote is created by WebKit or not.
776 We simply remove this code to be consistent with Firefox and Internet Explorer.
777 Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
778 the placeholder before the enclosingNode because there could be contents before the current paragraph.
779 Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
780 It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
782 Test: editing/execCommand/outdent-regular-blockquote.html
784 * editing/IndentOutdentCommand.cpp:
785 (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
786 (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
788 2009-07-14 Adam Barth <abarth@webkit.org>
790 Reviewed by Dimitri Glazkov.
792 [V8] Fix isolated world wrappers for Node prototypes
793 https://bugs.webkit.org/show_bug.cgi?id=27277
795 This change does two things:
797 1) We bypass the wrapper cache in the isolated world. This is because
798 the wrapper template cache has prototypes that lead to the main
799 world. We can add a template cache for the isolated world if
800 performance warrants.
802 2) We introduce a smarter way to grab the wrapper context for a frame
803 that is aware that proxy <-> context do not stand in one-to-one
804 correspondence. This generalizes our solution for the node wrapper
807 The net result is that Node wrappers get the right prototypes. As
808 before, tests to follow.
810 * bindings/v8/V8DOMWrapper.cpp:
811 (WebCore::V8DOMWrapper::setHiddenWindowReference):
812 (WebCore::V8DOMWrapper::instantiateV8Object):
813 (WebCore::V8DOMWrapper::convertNodeToV8Object):
814 (WebCore::V8DOMWrapper::convertWindowToV8Object):
815 (WebCore::V8DOMWrapper::getWrapperContext):
816 * bindings/v8/V8DOMWrapper.h:
818 2009-07-14 Adam Barth <abarth@webkit.org>
820 Reviewed by Dimitri Glazkov.
822 [V8] Fix isolated world wrappers for Nodes
823 https://bugs.webkit.org/show_bug.cgi?id=27271
825 Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
826 caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
828 I have tests, but I can't land them until I get this feature under
831 * bindings/v8/V8DOMWrapper.cpp:
832 (WebCore::V8DOMWrapper::convertNodeToV8Object):
833 * bindings/v8/V8Proxy.h:
834 (WebCore::V8Proxy::V8Proxy):
836 2009-07-14 Adam Barth <abarth@webkit.org>
838 Reviewed by Dimitri Glazkov.
840 [V8] Fix isolated world crash on getting window.location
841 https://bugs.webkit.org/show_bug.cgi?id=27268
843 I have a test for this locally, but it requires a compile-time hack to
844 run. Once I get the feature's stability under control, we can turn the
845 feature on and add the tests.
847 * bindings/v8/V8DOMWrapper.cpp:
848 (WebCore::V8DOMWrapper::setHiddenWindowReference):
849 * bindings/v8/V8IsolatedWorld.h:
850 (WebCore::V8IsolatedWorld::context):
852 2009-07-14 Brent Fulgham <bfulgham@webkit.org>
854 Correct failing tests after r45875. The original patch did not
855 test the m_player member for null, causing crashes. This will
856 happen fairly frequently in real use. Was this original patch
858 https://bugs.webkit.org/show_bug.cgi?id=27246
860 Test via existing media tests.
862 * html/HTMLMediaElement.cpp:
863 (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
864 (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
866 2009-07-14 Avi Drissman <avi@chromium.org>
868 Reviewed by Darin Fisher.
870 Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
871 The Windows clipboard format is explicitly documented as being UTF-8,
872 and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
873 indicated, Windows-1252 is assumed, which is wrong.
875 Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
879 * platform/chromium/ClipboardChromium.cpp:
880 (WebCore::ClipboardChromium::writeRange):
881 * platform/chromium/PasteboardChromium.cpp:
882 (WebCore::Pasteboard::writeSelection):
884 2009-07-14 Albert J. Wong <ajwong@chromium.org>
886 Reviewed by Dimitri Glazkov.
888 Upstream V8NPObject.h and V8NPObject.cpp.
889 https://bugs.webkit.org/show_bug.cgi?id=27103
891 This just upstreams the files from the chromium code base. Only
892 minor changes to formatting and similar were done, so no testing
893 is required because nothing really changed. Code verified to compile.
895 * bindings/v8/ScriptController.cpp:
896 (WebCore::ScriptController::bindToWindowObject):
897 (WebCore::ScriptController::createScriptInstanceForWidget):
898 * bindings/v8/V8NPObject.cpp: Added.
899 (npObjectInvokeImpl):
900 (npObjectMethodHandler):
901 (npObjectInvokeDefaultHandler):
902 (weakTemplateCallback):
903 (npObjectGetProperty):
904 (npObjectNamedPropertyGetter):
905 (npObjectIndexedPropertyGetter):
906 (npObjectGetNamedProperty):
907 (npObjectGetIndexedProperty):
908 (npObjectSetProperty):
909 (npObjectNamedPropertySetter):
910 (npObjectIndexedPropertySetter):
911 (npObjectSetNamedProperty):
912 (npObjectSetIndexedProperty):
913 (weakNPObjectCallback):
914 (createV8ObjectForNPObject):
915 (forgetV8ObjectForNPObject):
916 * bindings/v8/V8NPObject.h: Added.
917 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
918 (WebCore::NAMED_PROPERTY_GETTER):
919 (WebCore::NAMED_PROPERTY_SETTER):
920 (WebCore::CALLBACK_FUNC_DECL):
921 (WebCore::INDEXED_PROPERTY_GETTER):
922 (WebCore::INDEXED_PROPERTY_SETTER):
925 2009-07-14 Albert J. Wong <ajwong@chromium.org>
927 Reviewed by Darin Adler.
929 Add HTMLMediaElement::supportSave() and a
930 HitTestResult::absoluteMediaURL() functions
931 https://bugs.webkit.org/show_bug.cgi?id=27246
933 Added an implementation of supportsSave() into HTMLMediaElement
934 that delegates to MediaPlayerPrivateImpl so that the media engine
935 is able to signal whether or not a media source supports saving.
937 Also added a function to HitTestResult that allows for retrieval
938 of the currentSrc associated with the "hit" media element.
940 These functions are just pipeing with no visible UI change so there
941 are no related layout test changes.
943 * html/HTMLMediaElement.cpp:
944 (WebCore::HTMLMediaElement::supportsFullscreen):
945 (WebCore::HTMLMediaElement::supportsSave):
946 * html/HTMLMediaElement.h:
947 * platform/graphics/MediaPlayer.cpp:
948 (WebCore::MediaPlayer::supportsSave):
949 * platform/graphics/MediaPlayer.h:
950 * platform/graphics/MediaPlayerPrivate.h:
951 (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
952 (WebCore::MediaPlayerPrivateInterface::supportsSave):
953 * rendering/HitTestResult.cpp:
954 (WebCore::HitTestResult::altDisplayString):
955 (WebCore::HitTestResult::absoluteMediaURL):
956 * rendering/HitTestResult.h:
958 2009-07-14 Dimitri Glazkov <dglazkov@chromium.org>
960 Reviewed by Adam Barth.
962 [V8] Implement Reflect and ReflectURL attribute support.
963 https://bugs.webkit.org/show_bug.cgi?id=27273
965 * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
967 2009-07-14 Dmitry Titov <dimich@chromium.org>
969 Reviewed by Darin Adler.
971 https://bugs.webkit.org/show_bug.cgi?id=27266
972 Add hasCurrentPoint() to WebCore::Path.
973 This fixes Skia-based Chromium regression caused by the fix for
974 https://bugs.webkit.org/show_bug.cgi?id=27187.
975 For Skia, the new method always returns 'true', pending actual implementation.
976 This means Chromium still will differ from Gecko behavior, but at least its Canvas
977 will not be completely broken.
979 Existing Canvas Layout Tests should pass in Chromium after this change.
981 * html/CanvasRenderingContext2D.cpp:
982 (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
983 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
984 (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
986 * platform/graphics/Path.h:
987 * platform/graphics/cairo/PathCairo.cpp:
988 (WebCore::Path::hasCurrentPoint):
989 * platform/graphics/cg/PathCG.cpp:
990 (WebCore::Path::isEmpty):
991 (WebCore::Path::hasCurrentPoint):
992 * platform/graphics/qt/PathQt.cpp:
993 (WebCore::Path::hasCurrentPoint):
994 * platform/graphics/skia/PathSkia.cpp:
995 (WebCore::Path::hasCurrentPoint):
996 * platform/graphics/wx/PathWx.cpp:
997 (WebCore::Path::hasCurrentPoint):
998 All these files add a Path::hasCurrentPoint() for various platforms.
1000 2009-07-14 Nate Chapin <japhet@chromium.org>
1002 Reviewed by Sam Weinig.
1004 Upstream RGBColor from src.chromium.org.
1006 https://bugs.webkit.org/show_bug.cgi?id=27133
1008 * WebCore.gypi: Add RGBColor
1009 * css/RGBColor.cpp: Added.
1010 (WebCore::RGBColor::create):
1011 (WebCore::RGBColor::red):
1012 (WebCore::RGBColor::green):
1013 (WebCore::RGBColor::blue):
1014 * css/RGBColor.h: Added.
1015 (WebCore::RGBColor::RGBColor):
1017 2009-07-10 Matt Perry <mpcomplete@chromium.org>
1019 Reviewed by Darin Fisher.
1021 [V8] Rename the didCreate/DestroyScriptContext calls to make it
1022 clear that that those refer to the frame's contxt. Add another
1023 similar call for when creating contexts via evaluateInNewContext.
1024 https://bugs.webkit.org/show_bug.cgi?id=27104
1026 * bindings/v8/V8Proxy.cpp:
1027 (WebCore::V8Proxy::evaluateInNewContext):
1028 (WebCore::V8Proxy::disposeContextHandles):
1029 (WebCore::V8Proxy::initContextIfNeeded):
1030 * loader/EmptyClients.h:
1031 (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
1032 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
1033 (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
1034 * loader/FrameLoaderClient.h:
1036 2009-07-14 Brent Fulgham <bfulgham@webkit.org>
1038 Revert http://trac.webkit.org/changeset/45864 after
1039 breaking of Windows build.
1041 * storage/LocalStorageTask.cpp:
1042 * storage/LocalStorageTask.h:
1043 * storage/Storage.cpp:
1044 * storage/Storage.h:
1045 * storage/StorageArea.cpp:
1046 * storage/StorageArea.h:
1047 * storage/StorageAreaImpl.cpp:
1048 * storage/StorageAreaImpl.h:
1049 * storage/StorageAreaSync.cpp:
1050 * storage/StorageAreaSync.h:
1051 * storage/StorageEvent.cpp:
1052 * storage/StorageEvent.h:
1053 (WebCore::StorageEvent::create):
1054 (WebCore::StorageEvent::StorageEvent):
1055 * storage/StorageNamespace.h:
1056 * storage/StorageNamespaceImpl.cpp:
1057 * storage/StorageNamespaceImpl.h:
1058 * storage/StorageSyncManager.cpp:
1059 * storage/StorageSyncManager.h:
1061 2009-07-11 Jeremy Orlow <jorlow@chromium.org>
1063 Reviewed by Darin Adler.
1065 Cleanup DOM Storage dependencies.
1066 https://bugs.webkit.org/show_bug.cgi?id=27180
1068 DOM Storage had several unnecessary (and probably unintended)
1069 dependencies. This patch replaces many includes of header files with
1070 forward declaration of classes, making some destructors explicit, and
1071 taking some factories out of the header files.
1073 This will allow things like StorageAreaSync to take a StorageAreaImpl*
1074 (as it should) rather than a StorageArea* which previously weren't
1075 possible because the dependencies were such a tangled mess.
1077 * storage/LocalStorageTask.cpp:
1078 (WebCore::LocalStorageTask::~LocalStorageTask):
1079 * storage/LocalStorageTask.h:
1080 * storage/Storage.cpp:
1081 (WebCore::Storage::~Storage):
1082 * storage/Storage.h:
1083 * storage/StorageArea.cpp:
1084 * storage/StorageArea.h:
1085 * storage/StorageAreaImpl.cpp:
1086 * storage/StorageAreaImpl.h:
1087 * storage/StorageAreaSync.cpp:
1088 (WebCore::StorageAreaSync::~StorageAreaSync):
1089 * storage/StorageAreaSync.h:
1090 * storage/StorageEvent.cpp:
1091 (WebCore::StorageEvent::create):
1092 (WebCore::StorageEvent::StorageEvent):
1093 * storage/StorageEvent.h:
1094 * storage/StorageNamespace.h:
1095 * storage/StorageNamespaceImpl.cpp:
1096 * storage/StorageNamespaceImpl.h:
1097 * storage/StorageSyncManager.cpp:
1098 (WebCore::StorageSyncManager::~StorageSyncManager):
1099 * storage/StorageSyncManager.h:
1102 2009-07-14 Adam Treat <adam.treat@torchmobile.com>
1104 Reviewed by David Hyatt.
1106 https://bugs.webkit.org/show_bug.cgi?id=26983
1108 Check to make sure the view is attached to a frame() in the visibleContentsResized()
1109 method as it can be triggered before the view is attached by Frame::createView(...)
1110 setting various values such as setScrollBarModes(...) for example. An ASSERT is
1111 triggered when a view is layout before being attached to a frame().
1113 * page/FrameView.cpp:
1114 (WebCore::FrameView::visibleContentsResized):
1117 2009-07-14 Pavel Feldman <pfeldman@chromium.org>
1119 Reviewed by Timothy Hatcher.
1121 WebInspector: show last opened panel when invoking inspector.
1123 https://bugs.webkit.org/show_bug.cgi?id=27263
1125 * inspector/InspectorController.cpp:
1126 (WebCore::InspectorController::InspectorController):
1127 (WebCore::InspectorController::setWindowVisible):
1128 (WebCore::InspectorController::storeLastActivePanel):
1129 (WebCore::InspectorController::specialPanelForJSName):
1130 * inspector/InspectorController.h:
1131 (WebCore::InspectorController::Setting::Setting):
1132 * inspector/InspectorController.idl:
1133 * inspector/front-end/inspector.js:
1134 (WebInspector.set currentPanel):
1135 (WebInspector.loaded):
1137 2009-07-14 Anton Muhin <antonm@chromium.org>
1139 Reviewed by Dimitri Glazkov.
1141 Speed up access to NodeList length.
1142 https://bugs.webkit.org/show_bug.cgi?id=27264
1144 That's a minimal alternation of the code.
1146 * bindings/v8/custom/V8NodeListCustom.cpp:
1147 (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
1148 v8::Integer::New instead of v8::Number::New.
1150 2009-07-14 Anton Muhin <antonm@chromium.org>
1152 Reviewed by Dimitri Glazkov.
1154 Do not do unnecessary conversions from v8::Handle<v8::Value> to
1155 v8::Handle<v8::Object> and accompanying changes.
1156 https://bugs.webkit.org/show_bug.cgi?id=26953
1160 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
1161 but are not free (they check for emptiness of handle);
1162 2) inline conversion from wrapper to node;
1163 3) simplify case to an ASSERT.
1165 This is just a refactoring, so no new tests are needed.
1167 * bindings/scripts/CodeGeneratorV8.pm:
1168 * bindings/v8/V8Proxy.cpp:
1169 (WebCore::V8Proxy::evaluateInNewContext):
1170 (WebCore::V8Proxy::convertToSVGPODTypeImpl):
1171 * bindings/v8/V8Proxy.h:
1172 (WebCore::V8Proxy::convertDOMWrapperToNative):
1173 (WebCore::V8Proxy::convertToNativeObject):
1174 (WebCore::V8Proxy::convertToNativeEvent):
1175 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1176 (WebCore::toCanvasStyle):
1177 (WebCore::CALLBACK_FUNC_DECL):
1178 * bindings/v8/custom/V8CustomBinding.cpp:
1179 (WebCore::V8Custom::GetTargetFrame):
1180 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1181 (WebCore::CALLBACK_FUNC_DECL):
1182 (WebCore::V8Custom::ClearTimeoutImpl):
1183 (WebCore::NAMED_ACCESS_CHECK):
1184 (WebCore::INDEXED_ACCESS_CHECK):
1185 * bindings/v8/custom/V8DocumentCustom.cpp:
1186 (WebCore::CALLBACK_FUNC_DECL):
1187 * bindings/v8/custom/V8LocationCustom.cpp:
1188 (WebCore::CALLBACK_FUNC_DECL):
1190 2009-07-14 Darin Adler <darin@apple.com>
1192 Reviewed by Dan Bernstein.
1194 Straight quotes should match fancy quotes in in-page search
1195 https://bugs.webkit.org/show_bug.cgi?id=27217
1197 Tests: fast/text/find-quotes.html
1199 * editing/TextIterator.cpp:
1200 (WebCore::foldQuoteMark): Added.
1201 (WebCore::foldQuoteMarks): Added.
1202 (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
1203 (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
1204 added to the search buffer.
1206 * platform/text/CharacterNames.h: Added more quotation mark character names.
1207 Sorted character names with the sort tool.
1209 2009-07-13 Pavel Feldman <pfeldman@chromium.org>
1211 Reviewed by Timothy Hatcher.
1213 WebInspector: handle debugger shortcuts while on source frame or on
1214 script file selector.
1216 https://bugs.webkit.org/show_bug.cgi?id=27224
1218 * inspector/front-end/ScriptsPanel.js:
1219 (WebInspector.ScriptsPanel):
1220 * inspector/front-end/SourceFrame.js:
1221 (WebInspector.SourceFrame.prototype._loaded):
1223 2009-07-13 Sam Weinig <sam@webkit.org>
1225 Reviewed by Darin Adler.
1227 Use standard HashCountedSet instead of a hand rolled one
1230 * html/HTMLDocument.cpp:
1231 (WebCore::addItemToMap):
1232 (WebCore::removeItemFromMap):
1233 * html/HTMLDocument.h:
1235 2009-07-13 Erik Arvidsson <arv@chromium.org>
1237 Reviewed by Darin Adler and Maciej Stachowiak.
1239 Implement HTML5 draggable
1240 https://bugs.webkit.org/show_bug.cgi?id=26262
1242 This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
1243 to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
1245 Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
1247 Test: fast/html/draggable.html
1250 * html/HTMLAnchorElement.cpp:
1251 (WebCore::HTMLAnchorElement::draggable):
1252 * html/HTMLAnchorElement.h:
1253 * html/HTMLAttributeNames.in:
1254 * html/HTMLElement.cpp:
1255 (WebCore::HTMLElement::draggable):
1256 (WebCore::HTMLElement::setDraggable):
1257 * html/HTMLElement.h:
1258 * html/HTMLElement.idl:
1259 * html/HTMLImageElement.cpp:
1260 (WebCore::HTMLImageElement::draggable):
1261 * html/HTMLImageElement.h:
1263 2009-07-13 Simon Fraser <simon.fraser@apple.com>
1265 Reviewed by Dan Bernstein.
1267 Image rendered as layer contents looks different from image rendered via CG.
1268 <rdar://problem/7048830>
1270 Fix a visible color profile difference between between images rendered via Core Graphics
1271 and those rendered via a compositing layer, by assigning the GenericRGB profile to
1272 untagged images (which come through as having the DeviceRGB profile) when they are set
1275 Test: compositing/color-matching/image-color-matching.html
1277 * platform/graphics/mac/GraphicsLayerCA.mm:
1278 (WebCore::GraphicsLayerCA::setContentsToImage):
1280 2009-07-13 Darin Adler <darin@apple.com>
1282 Reviewed by Oliver Hunt.
1284 https://bugs.webkit.org/show_bug.cgi?id=27220
1285 Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
1287 * editing/TextIterator.cpp:
1288 (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
1289 in the assertion. Affects only the assertion.
1291 2009-07-13 Alexey Proskuryakov <ap@webkit.org>
1293 Reviewed by Darin Adler.
1295 https://bugs.webkit.org/show_bug.cgi?id=26925
1296 <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
1298 Test: http/tests/appcache/main-resource-hash.html
1300 * loader/appcache/ApplicationCache.cpp:
1301 (WebCore::ApplicationCache::resourceForURL):
1302 (WebCore::ApplicationCache::resourceForRequest):
1303 * loader/appcache/ApplicationCacheGroup.cpp:
1304 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
1305 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
1306 (WebCore::ApplicationCacheGroup::selectCache):
1307 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
1308 (WebCore::ApplicationCacheGroup::didReceiveResponse):
1309 (WebCore::ApplicationCacheGroup::didFail):
1310 (WebCore::ApplicationCacheGroup::addEntry):
1311 Remove URL fragment at appcache code borders.
1313 * loader/appcache/ApplicationCacheResource.h:
1314 (WebCore::ApplicationCacheResource::create):
1315 * loader/appcache/ApplicationCacheStorage.cpp:
1316 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
1317 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1318 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
1319 Assert that there is no URL fragment in URL at key points in appcache code.
1321 2009-07-13 Darin Adler <darin@apple.com>
1323 Reviewed by Dan Bernstein.
1325 https://bugs.webkit.org/show_bug.cgi?id=27166
1326 rdar://problem/7015857
1327 Find for strings composed entirely of spaces doesn't work
1329 Test: fast/text/find-spaces.html
1331 * editing/TextIterator.cpp:
1332 (WebCore::findPlainText): Removed unneeded special case.
1333 The empty string case already works correctly.
1335 2009-07-13 Anders Carlsson <andersca@apple.com>
1337 Reviewed by Kevin Decker.
1339 Remove NPPVpluginPrivateModeBool, it was removed from the spec.
1343 2009-07-13 Feng Qian <feng@chromium.org>
1345 Reviewed by Dimitri Glazkov.
1347 Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
1349 Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.
1351 * bindings/v8/V8DOMMap.h:
1352 (WebCore::WeakReferenceMap::WeakReferenceMap):
1353 (WebCore::WeakReferenceMap::~WeakReferenceMap):
1355 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1357 Reviewed by Darin Fisher.
1359 Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
1361 * WebCore.gypi: Removed bidi.cpp and bidi.h
1363 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1365 Reviewed by Darin Fisher.
1367 Update WebCore.gyp in preparation to hooking it up.
1369 * WebCore.gypi: Added files that were mid-stream while switching over.
1371 2009-07-13 Dmitry Titov <dimich@chromium.org>
1373 Not reviewed, another small fix for Chromium build.
1375 * bindings/v8/ScriptController.cpp:
1376 (WebCore::ScriptController::evaluate):
1378 2009-07-13 Dmitry Titov <dimich@chromium.org>
1380 Not reviewed, fix Chromium build bustage.
1382 * bindings/v8/ScriptController.cpp:
1383 (WebCore::ScriptController::evaluate):
1384 * bindings/v8/V8Proxy.cpp:
1385 (WebCore::JavaScriptConsoleMessage::addToPage):
1386 * bindings/v8/WorkerContextExecutionProxy.cpp:
1387 (WebCore::handleConsoleMessage):
1389 2009-07-13 Sam Weinig <sam@webkit.org>
1391 Reviewed by Darin Adler.
1393 Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
1394 <rdar://problem/7054356>
1396 Add null page check in HTMLDocument::hasFocus.
1398 Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
1400 * html/HTMLDocument.cpp:
1401 (WebCore::HTMLDocument::hasFocus): Add page null check.
1402 (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
1404 2009-07-13 Dan Bernstein <mitz@apple.com>
1406 Reviewed by Darin Adler.
1408 Disable continuous spell checking in the inspector
1409 https://bugs.webkit.org/show_bug.cgi?id=27131
1411 * inspector/front-end/inspector.html: Added spellcheck="false" to the
1412 main-panels and console-prompt containers.
1414 2009-07-13 Adam Langley <agl@google.com>
1416 Reviewed by Eric Seidel.
1418 Chromium Linux: fix assertion when rendering google.com.kh
1420 https://bugs.webkit.org/show_bug.cgi?id=26924
1422 Some shapers (i.e. Khmer) will produce cluster logs which report that
1423 /no/ code points contributed to certain glyphs. Because of this, we
1424 take any code point which contributed to the glyph in question, or any
1425 subsequent glyph. If we run off the end, then we take the last code
1428 Added LayoutTests/fast/text/international/khmar-selection.html
1430 * platform/graphics/chromium/FontLinux.cpp:
1431 (WebCore::Font::offsetForPositionForComplexText):
1433 2009-07-13 Dan Bernstein <mitz@apple.com>
1435 Reviewed by Darin Adler.
1437 spellcheck="false" is ignored
1438 <rdar://problem/7054177>
1440 * editing/Editor.cpp:
1441 (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
1442 spellcheck attribute from here...
1443 (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
1444 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
1445 if spell chcking is disabled by the spellcheck attribute.
1448 2009-07-13 Brent Fulgham <bfulgham@webkit.org>
1450 Reviewed by Adam Roben.
1452 Add new configuration flag for redistributable Windows build.
1453 https://bugs.webkit.org/show_bug.cgi=27087
1455 * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
1456 Debug_Cairo and Release_Cairo builds.
1457 * config.h: Check for presence of WIN_CAIRO and select appropriate
1458 configuration. Defaults to standard Apple build.
1460 2009-07-13 Peter Kasting <pkasting@google.com>
1462 https://bugs.webkit.org/show_bug.cgi?id=19562
1463 Back out previous patch for this bug (too many problems).
1465 * DerivedSources.cpp:
1466 * DerivedSources.make:
1470 * WebCore.vcproj/WebCore.vcproj:
1471 * WebCore.xcodeproj/project.pbxproj:
1472 * WebCoreSources.bkl:
1473 * html/HTMLButtonElement.idl:
1474 * html/HTMLFieldSetElement.idl:
1475 * html/HTMLFormControlElement.cpp:
1476 * html/HTMLFormControlElement.h:
1477 (WebCore::HTMLFormControlElement::form):
1478 * html/HTMLInputElement.idl:
1479 * html/HTMLSelectElement.idl:
1480 * html/HTMLTextAreaElement.idl:
1481 * html/ValidityState.cpp: Removed.
1482 * html/ValidityState.h: Removed.
1483 * html/ValidityState.idl: Removed.
1485 2009-07-13 Nate Chapin <japhet@chromium.org>
1487 Reviewed by Dimitri Glazkov.
1489 Add HTMLAllCollection to WebCore.gypi.
1491 https://bugs.webkit.org/show_bug.cgi?id=27223
1493 * WebCore.gypi: Add HTMLAllCollection.
1495 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1497 Reviewed by Darin Fisher.
1499 [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
1500 https://bugs.webkit.org/show_bug.cgi?id=27218
1502 Test: fast/css/matrix-as-function-crash.html
1504 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1505 (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
1507 2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1509 Unreviewed make dist build fix.
1513 2009-07-13 Cédric Luthi <cedric.luthi@gmail.com>
1515 Reviewed by Tor Arne Vestbø.
1517 Fix NPWindow clip rect in PluginViewMac
1519 The rect should be in window-coordinates. This bug can be observed
1520 with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
1522 * plugins/mac/PluginViewMac.cpp:
1524 2009-07-13 Simon Hausmann <hausmann@webkit.org>
1526 Reviewed by Ariya Hidayat.
1528 Fix Qt implementation of WebCore::directoryName to return the absolute
1529 directory name instead of the base file name.
1531 * platform/qt/FileSystemQt.cpp:
1532 (WebCore::directoryName):
1534 2009-07-13 Simon Hausmann <hausmann@webkit.org>
1536 Reviewed by Ariya Hidayat.
1538 Fix WebCore::Path::isEmpty() for the Qt port to return true
1539 if there is no element in the path.
1541 QPainterPath::isEmpty() returns also true if there is one single
1542 MoveTo element inside, which makes sense but doesn't patch Webcore's
1543 is-empty definition.
1545 * platform/graphics/qt/PathQt.cpp:
1546 (WebCore::Path::isEmpty): Use elementCount() == 0.
1548 2009-07-13 Albert J. Wong <ajwong@chromium.org>
1550 Reviewed by Dimitri Glazkov.
1552 Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
1553 https://bugs.webkit.org/show_bug.cgi?id=27127
1555 There were a number of bugs introduced during the last upstreaming
1556 effort that broke around 30 layout tests. This fixes those bugs.
1557 It also has compile fixes to match the recent cutting apart of
1560 * bindings/v8/NPV8Object.cpp:
1562 (npCreateV8ScriptObject):
1564 (NPN_InvokeDefault):
1565 (NPN_EvaluateHelper):
1569 2009-07-13 Mads Ager <ager@chromium.org>
1571 Reviewed by Adam Barth.
1573 Fix memory leak in the V8 binding layer.
1574 https://bugs.webkit.org/show_bug.cgi?id=27163
1576 Reinitializing the context is not necessary when clearing the proxy for navigation
1577 and it will lead us to hold on to an empty context for each frame.
1579 Test for empty context instead of empty global object handle when
1580 updating the document for a context.
1582 * bindings/v8/V8Proxy.cpp:
1583 (WebCore::V8Proxy::clearForNavigation):
1584 (WebCore::V8Proxy::updateDocument):
1586 2009-07-13 John Gregg <johnnyg@google.com>
1588 Reviewed by David Levin.
1590 Correct the logic to determine if a V8 callback returns a value.
1591 https://bugs.webkit.org/show_bug.cgi?id=27155
1593 * bindings/v8/custom/V8CustomVoidCallback.cpp:
1594 (WebCore::invokeCallback):
1595 - Don't crash if result.IsEmpty().
1597 2009-07-13 Drew Wilson <atwilson@google.com>
1599 Reviewed by David Levin.
1601 Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
1602 https://bugs.webkit.org/show_bug.cgi?id=26932
1604 Initial IDL definition and bindings for SharedWorkers.
1606 * Configurations/FeatureDefines.xcconfig:
1607 Added new files for SharedWorker support.
1608 * DerivedSources.make:
1609 Added new files for SharedWorker support.
1611 Added new files for SharedWorker support.
1613 Added new files for SharedWorker support.
1615 Added new files for SharedWorker support.
1616 * WebCore.xcodeproj/project.pbxproj:
1617 Added new files for SharedWorker support.
1618 * bindings/js/JSAbstractWorkerCustom.cpp: Added.
1619 (WebCore::JSAbstractWorker::mark):
1620 Custom mark handler that marks the event listeners.
1621 (WebCore::JSAbstractWorker::addEventListener):
1622 (WebCore::JSAbstractWorker::removeEventListener):
1623 (WebCore::JSAbstractWorker::toJS):
1624 Custom toJS handler which differentiates between various subclasses.
1625 * bindings/js/JSDOMWindowCustom.cpp:
1626 (WebCore::JSDOMWindow::sharedWorker):
1627 SharedWorker constructor (only enabled when SHARED_WORKERS is
1629 * bindings/js/JSEventTarget.cpp:
1631 (WebCore::toEventTarget):
1632 Added support for converting to/from SharedWorkers.
1633 * bindings/js/JSSharedWorkerConstructor.cpp: Added.
1634 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
1635 (WebCore::constructSharedWorker):
1636 (WebCore::JSSharedWorkerConstructor::getConstructData):
1637 * bindings/js/JSSharedWorkerConstructor.h: Added.
1638 (WebCore::JSSharedWorkerConstructor::classInfo):
1639 * bindings/js/JSSharedWorkerCustom.cpp: Added.
1640 (WebCore::JSSharedWorker::mark):
1641 Custom mark function that marks the internal MessagePort.
1642 * bindings/v8/DOMObjectsInclude.h:
1643 Updated to include new header files.
1644 * bindings/v8/V8Index.cpp:
1645 * bindings/v8/V8Index.h:
1646 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
1647 (WebCore::getEventListener):
1648 (WebCore::ACCESSOR_GETTER):
1649 (WebCore::ACCESSOR_SETTER):
1650 (WebCore::CALLBACK_FUNC_DECL):
1651 V8 handlers for add/removeEventListener().
1652 * bindings/v8/custom/V8CustomBinding.h:
1653 * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
1654 (WebCore::CALLBACK_FUNC_DECL):
1655 Custom constructor for SharedWorker.
1656 * dom/EventTarget.cpp:
1657 (WebCore::EventTarget::toSharedWorker):
1658 * dom/EventTarget.h:
1659 * page/DOMWindow.idl:
1660 * workers/AbstractWorker.cpp: Added.
1661 (WebCore::AbstractWorker::AbstractWorker):
1662 Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
1663 This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
1664 (WebCore::AbstractWorker::~AbstractWorker):
1665 (WebCore::AbstractWorker::addEventListener):
1666 (WebCore::AbstractWorker::removeEventListener):
1667 (WebCore::AbstractWorker::dispatchEvent):
1668 (WebCore::AbstractWorker::dispatchLoadErrorEvent):
1669 (WebCore::AbstractWorker::dispatchScriptErrorEvent):
1670 * workers/AbstractWorker.h: Added.
1671 Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
1672 (WebCore::AbstractWorker::scriptExecutionContext):
1673 (WebCore::AbstractWorker::setOnerror):
1674 (WebCore::AbstractWorker::onerror):
1675 (WebCore::AbstractWorker::eventListeners):
1676 (WebCore::AbstractWorker::refEventTarget):
1677 (WebCore::AbstractWorker::derefEventTarget):
1678 * workers/AbstractWorker.idl: Added.
1679 * workers/SharedWorker.cpp: Added.
1680 (WebCore::SharedWorker::SharedWorker):
1681 (WebCore::SharedWorker::~SharedWorker):
1682 * workers/SharedWorker.h: Added.
1683 (WebCore::SharedWorker::create):
1684 (WebCore::SharedWorker::port):
1685 (WebCore::SharedWorker::toSharedWorker):
1686 * workers/SharedWorker.idl: Added.
1688 2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1690 Reviewed by Simon Hausmann.
1692 [Qt] Cleanup - Remove prf install target
1693 https://bugs.webkit.org/show_bug.cgi?id=27191
1695 qtwebkit.prf has been removed; this cleans up the related
1696 install target as well.
1698 * WebCore.pro: Remove prf install target
1700 2009-07-12 Adam Barth <abarth@webkit.org>
1702 Reviewed by Oliver Hunt.
1704 Facebook Chat is broken due to XSS auditor
1705 https://bugs.webkit.org/show_bug.cgi?id=27179
1707 Instead of just using the script's URL as to detect an XSS attack, we
1708 now use a bit of context before the URL. In particular, we use the
1709 bytes from the beginning of the attribute name to the end of the
1710 attribute value. In virtually all injection attacks, the attacker
1711 would need to supply the attribute name as well as the attribute value.
1712 However, in the Facebook false positive, the attribute name is not
1715 Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
1716 http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
1717 http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
1719 * html/HTMLTokenizer.cpp:
1720 (WebCore::HTMLTokenizer::parseTag):
1721 * html/HTMLTokenizer.h:
1722 * page/XSSAuditor.cpp:
1723 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1724 * page/XSSAuditor.h:
1726 2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
1728 Reviewed by Timothy Hatcher.
1730 Refactor ConsoleMessage to add MessageType attribute.
1731 https://bugs.webkit.org/show_bug.cgi?id=20625
1733 * bindings/js/JSCustomXPathNSResolver.cpp:
1734 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1735 * bindings/js/JSDOMWindowBase.cpp:
1736 (WebCore::JSDOMWindowBase::printErrorMessage):
1738 (WebCore::Document::reportException):
1739 (WebCore::Document::addMessage):
1741 * dom/ScriptExecutionContext.h:
1742 * html/HTMLParser.cpp:
1743 (WebCore::HTMLParser::reportErrorToConsole):
1744 * inspector/ConsoleMessage.cpp:
1745 (WebCore::ConsoleMessage::ConsoleMessage):
1746 (WebCore::ConsoleMessage::addToConsole):
1747 (WebCore::ConsoleMessage::isEqual):
1748 * inspector/ConsoleMessage.h:
1749 * inspector/InspectorController.cpp:
1750 (WebCore::InspectorController::addMessageToConsole):
1751 (WebCore::InspectorController::startGroup):
1752 (WebCore::InspectorController::endGroup):
1753 (WebCore::InspectorController::addProfileFinishedMessageToConsole):
1754 (WebCore::InspectorController::addStartProfilingMessageToConsole):
1755 (WebCore::InspectorController::count):
1756 * inspector/InspectorController.h:
1757 * inspector/front-end/Console.js:
1758 (WebInspector.Console.prototype.addMessage):
1759 (WebInspector.ConsoleMessage): Added type property.
1760 (WebInspector.ConsoleMessage.prototype.toMessageElement):
1761 (WebInspector.ConsoleMessage.prototype.toString):
1762 (WebInspector.ConsoleMessage.prototype.isEqual):
1763 (WebInspector.ConsoleCommandResult):
1764 (WebInspector.ConsoleGroup.prototype.addMessage):
1765 (WebInspector.ConsoleGroup.prototype._titleClicked):
1766 * inspector/front-end/Resource.js:
1767 (WebInspector.Resource.prototype._addTip):
1768 (WebInspector.Resource.prototype._checkWarning):
1769 * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
1770 * inspector/front-end/inspector.js:
1771 (WebInspector.addMessageToConsole):
1772 * loader/DocLoader.cpp:
1773 (WebCore::DocLoader::printAccessDeniedMessage):
1774 * loader/EmptyClients.h:
1775 (WebCore::EmptyChromeClient::addMessageToConsole):
1776 * loader/FrameLoader.cpp:
1777 (WebCore::FrameLoader::reportLocalLoadFailed):
1778 (WebCore::FrameLoader::shouldAllowNavigation):
1779 * page/ChromeClient.h:
1781 (WebCore::printMessageSourceAndLevelPrefix):
1782 (WebCore::Console::addMessage):
1783 (WebCore::Console::error):
1784 (WebCore::Console::log):
1785 (WebCore::Console::dir):
1786 (WebCore::Console::trace):
1787 (WebCore::Console::assertCondition):
1788 (WebCore::Console::timeEnd):
1789 (WebCore::Console::warn):
1790 * page/Console.h: Added MessageType enum.
1792 * page/DOMWindow.cpp:
1793 (WebCore::DOMWindow::postMessageTimerFired):
1794 * page/XSSAuditor.cpp:
1795 (WebCore::XSSAuditor::canEvaluate):
1796 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1797 (WebCore::XSSAuditor::canLoadObject):
1798 * svg/SVGDocumentExtensions.cpp:
1799 (WebCore::SVGDocumentExtensions::reportWarning):
1800 (WebCore::SVGDocumentExtensions::reportError):
1801 * wml/WMLErrorHandling.cpp:
1802 (WebCore::reportWMLError):
1803 * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
1804 (WebCore::GenericWorkerTask8::create):
1805 (WebCore::GenericWorkerTask8::GenericWorkerTask8):
1806 (WebCore::GenericWorkerTask8::performTask):
1807 (WebCore::createCallbackTask):
1808 * workers/WorkerContext.cpp:
1809 (WebCore::WorkerContext::addMessage):
1810 (WebCore::WorkerContext::importScripts):
1811 * workers/WorkerContext.h:
1812 * workers/WorkerMessagingProxy.cpp:
1813 (WebCore::postConsoleMessageTask):
1814 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1815 * workers/WorkerMessagingProxy.h:
1816 * workers/WorkerObjectProxy.h:
1817 * xml/XMLHttpRequest.cpp:
1818 (WebCore::reportUnsafeUsage):
1819 (WebCore::XMLHttpRequest::didFinishLoading):
1820 * xml/XSLTProcessor.cpp:
1821 (WebCore::XSLTProcessor::parseErrorFunc):
1823 2009-07-12 Nate Chapin <japhet@chromium.org>
1825 Reviewed by Dimitri Glazkov.
1827 Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
1829 https://bugs.webkit.org/show_bug.cgi?id=27132
1831 * bindings/scripts/CodeGeneratorV8.pm:
1832 * bindings/v8/DOMObjectsInclude.h:
1833 * bindings/v8/DerivedSourcesAllInOne.cpp:
1834 * bindings/v8/V8DOMWrapper.cpp:
1835 (WebCore::V8DOMWrapper::getTemplate):
1836 (WebCore::V8DOMWrapper::instantiateV8Object):
1837 * bindings/v8/V8Index.cpp:
1838 * bindings/v8/V8Index.h:
1839 * dom/HTMLAllCollection.idl: Added.
1841 2009-07-12 Joseph Pecoraro <joepeck02@gmail.com>
1843 Reviewed by Maciej Stachowiak.
1845 Inspector: Duplicate Computation in Autocompletion
1846 https://bugs.webkit.org/show_bug.cgi?id=26778
1848 * inspector/front-end/TextPrompt.js:
1849 (WebInspector.TextPrompt.prototype._completionsReady):
1851 2009-07-12 Dan Bernstein <mitz@apple.com>
1853 Reviewed by Maciej Stachowiak.
1855 https://bugs.webkit.org/show_bug.cgi?id=27196
1856 Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
1858 * GNUmakefile.am: Updated.
1859 * WebCore.gypi: Updated.
1860 * WebCore.pro: Updated.
1861 * WebCore.vcproj/WebCore.vcproj: Updated.
1862 * WebCore.xcodeproj/project.pbxproj: Updated.
1863 * WebCoreSources.bkl: Updated.
1864 * rendering/RenderBlock.h: Removed unnecessary forward declaration and
1866 * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
1867 Removed unnecessary #include statements.
1868 (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
1869 (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
1870 * rendering/bidi.cpp: Removed.
1871 * rendering/bidi.h: Removed.
1873 2009-07-12 Dan Bernstein <mitz@apple.com>
1877 * platform/graphics/cg/PDFDocumentImage.cpp:
1878 (WebCore::PDFDocumentImage::dataChanged):
1880 2009-07-12 Dan Bernstein <mitz@apple.com>
1882 Reviewed by Sam Weinig.
1886 * platform/graphics/BitmapImage.cpp:
1887 (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
1888 instead of the m_data member.
1889 (WebCore::BitmapImage::dataChanged): Ditto.
1890 * platform/graphics/Image.h: Re-ordered #includes and class
1891 declarations. Removed the drawPatternCallback() declaration. Made member
1893 * platform/graphics/cg/ImageCG.cpp:
1894 (WebCore::drawPatternCallback): Changed this from a member function to a
1896 * platform/graphics/cg/PDFDocumentImage.cpp:
1897 (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
1898 instead of the m_data member.
1899 * svg/graphics/SVGImage.cpp:
1900 (WebCore::SVGImage::dataChanged): Ditto.
1902 2009-07-12 Daniel Bates <dbates@intudata.com>
1904 Reviewed by Darin Adler.
1906 https://bugs.webkit.org/show_bug.cgi?id=27189
1908 Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused
1909 XSSAuditor to incorrectly block HTML Base elements whose base path coincided
1910 with the URL of the page.
1912 Test: http/tests/security/xssAuditor/base-href-safe3.html
1914 * page/XSSAuditor.cpp:
1915 (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call
1916 XSSAuditor::findInRequest() if the host in the page URL disagrees with the host
1917 in the base element URL.
1919 2009-07-12 Darin Adler <darin@apple.com>
1921 Reviewed by Dan Bernstein.
1923 Text searching with ICU should take the user's default locale into account
1924 https://bugs.webkit.org/show_bug.cgi?id=27184
1925 rdar://problem/6812121
1927 No simple way to test this since it's dependent on user locale.
1928 After this, the user's default locale is used only on Mac.
1930 * editing/TextIterator.cpp:
1931 (WebCore::createSearcher): Pass result of the currentSearchLocaleID
1932 function as the locale.
1934 * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
1935 currentSearchLocaleID function.
1937 * platform/text/android/TextBreakIteratorInternalICU.cpp:
1938 (WebCore::currentSearchLocaleID): Added. Returns the empty string.
1939 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
1940 (WebCore::currentSearchLocaleID): Ditto.
1941 * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
1942 (WebCore::currentSearchLocaleID): Ditto.
1944 * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
1945 (WebCore::textBreakLocalePreference): Added. Returns the value of
1946 the AppleTextBreakLocale preference.
1947 (WebCore::topLanguagePreference): Added. Returns the value of the
1948 first item in the AppleLanguages preference.
1949 (WebCore::canonicalLanguageIdentifier): Added. Cover for the
1950 CFLocaleCreateCanonicalLanguageIdentifierFromString function.
1951 (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
1953 (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
1954 canonicalLanguageIdentifier, and getLocale.
1955 (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
1956 (WebCore::getTextBreakLocale): Changed to call
1957 textBreakLocalePreference, topLanguagePreference,
1958 canonicalLanguageIdentifier, and getLocale.
1960 * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
1961 (WebCore::currentSearchLocaleID): Added. Returns the empty string.
1962 * platform/wx/TemporaryLinkStubs.cpp:
1963 (WebCore::currentSearchLocaleID): Ditto.
1965 2009-07-12 Xan Lopez <xlopez@igalia.com>
1967 Reviewed by Gustavo Noronha.
1969 https://bugs.webkit.org/show_bug.cgi?id=25415
1970 [GTK][ATK] Please implement support for get_text_at_offset
1972 Create a PangoLayout that properly represents the visual
1973 appearance of the text in the web page so that the line boundary
1974 modes of getText{At,Before,After}Offset work correctly.
1976 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1979 (convertUniCharToUTF8):
1980 (getPangoLayoutForAtk):
1982 2009-07-11 Oliver Hunt <oliver@apple.com>
1984 Reviewed by Simon Fraser.
1986 Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
1987 <https://bugs.webkit.org/show_bug.cgi?id=27187>
1989 Simple API change, check for the empty path and add appropriate point if necessary.
1991 Test: fast/canvas/canvas-modify-emptyPath.html
1994 * WebCore.xcodeproj/project.pbxproj:
1995 * html/CanvasRenderingContext2D.cpp:
1996 (WebCore::CanvasRenderingContext2D::lineTo):
1997 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1998 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
2000 2009-07-11 Eric Carlson <eric.carlson@apple.com>
2002 Reviewed by Antti Koivisto.
2004 HTMLMediaElement.canPlayType "maybe" and "probably" reversed
2005 https://bugs.webkit.org/show_bug.cgi?id=27186
2007 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2008 (WebCore::MediaPlayerPrivate::supportsType):
2009 Return "probably" if type has codecs parameter.
2011 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2012 (WebCore::MediaPlayerPrivate::supportsType):
2015 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2016 (WebCore::MediaPlayerPrivate::supportsType):
2019 2009-07-11 Brady Eidson <beidson@apple.com>
2021 Reviewed by Mark Rowe.
2023 A worker-thread inspired follow-up for:
2024 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2025 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2027 * xml/XMLHttpRequest.cpp:
2028 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
2029 is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
2030 not currently supported.
2032 2009-07-11 Simon Fraser <simon.fraser@apple.com>
2034 Enable support for accelerated compositing and 3d transforms on Leopard.
2035 <https://bugs.webkit.org/show_bug.cgi?id=20166>
2036 <rdar://problem/6120614>
2038 Reviewed by Oliver Hunt.
2040 * Configurations/FeatureDefines.xcconfig:
2042 2009-07-11 Simon Hausmann <hausmann@webkit.org>
2044 Fix the Qt build after r45724.
2046 * bridge/qt/qt_instance.cpp:
2047 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
2048 * bridge/qt/qt_runtime.cpp:
2049 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2051 2009-07-10 Daniel Bates <dbates@intudata.com>
2053 Reviewed by Adam Barth.
2055 https://bugs.webkit.org/show_bug.cgi?id=26921
2057 Implements support for HTML entities, so XSSAuditor can protect against attacks
2058 encoded with HTML entities.
2060 Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
2061 http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
2062 http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
2063 http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
2064 http/tests/security/xssAuditor/javascript-link-HTML-entities.html
2065 http/tests/security/xssAuditor/link-onclick-entities.html
2066 http/tests/security/xssAuditor/script-tag-entities.html
2067 http/tests/security/xssAuditor/script-tag-with-source-entities.html
2069 * page/XSSAuditor.cpp:
2070 (WebCore::XSSAuditor::canEvaluate):
2071 (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2072 (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
2073 to decode HTML entities.
2074 (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
2075 (WebCore::XSSAuditor::findInRequest):
2076 * page/XSSAuditor.h:
2078 2009-07-10 David Kilzer <ddkilzer@apple.com>
2080 Bug 27007: Build fixes when ICONDATABASE is disabled
2082 <https://bugs.webkit.org/show_bug.cgi?id=27007>
2084 Reviewed by Sam Weinig.
2086 * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
2088 * loader/icon/IconDatabase.cpp: Added
2089 #if ENABLE(ICONDATABASE)/#endif macro guard.
2090 * loader/icon/IconDatabase.h: Removed three public methods from
2091 #if ENABLE(ICONDATABASE)/#endif macro so that they may be
2092 stubbed out in IconDatabaseNone.cpp.
2093 * loader/icon/IconDatabaseNone.cpp: Added
2094 #if !ENABLE(ICONDATABASE)/#endif macro guard.
2095 (WebCore::IconDatabase::importIconURLForPageURL): Added.
2096 (WebCore::IconDatabase::importIconDataForIconURL): Added.
2097 (WebCore::IconDatabase::shouldStopThreadActivity): Added.
2099 2009-07-10 Daniel Bates <dbates@intudata.com>
2101 Reviewed by Adam Barth.
2103 https://bugs.webkit.org/show_bug.cgi?id=27151
2105 Fixes issue where JavaScript URLs that contain null- and non-null control characters can
2108 Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
2109 http/tests/security/xssAuditor/javascript-link-null-char.html
2110 http/tests/security/xssAuditor/javascript-link.html
2112 * bindings/js/ScriptController.cpp:
2113 (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from
2114 inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
2115 * bindings/v8/ScriptController.cpp:
2116 (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
2117 bindings/js/ScriptController.cpp.
2118 * page/XSSAuditor.cpp:
2119 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
2120 into its own method.
2121 * page/XSSAuditor.h:
2123 2009-07-10 Shinichiro Hamaji <hamaji@chromium.org>
2125 Reviewed by David Kilzer.
2127 WebKit needs a style linting tool
2128 https://bugs.webkit.org/show_bug.cgi?id=25884
2130 Fix bunch of style issues by autofix of cpplint.
2131 This patch is created to demonstrate the autofix of cpplint.py.
2133 No new testcases because it's a style fix
2135 * css/CSSParser.cpp:
2136 (WebCore::CSSParser::parseMediaQuery):
2137 (WebCore::CSSParser::validUnit):
2138 (WebCore::CSSParser::parseValue):
2139 (WebCore::skipCommaInDashboardRegion):
2140 (WebCore::CSSParser::parseDashboardRegions):
2141 (WebCore::ShadowParseContext::commitValue):
2142 (WebCore::ShadowParseContext::commitLength):
2143 (WebCore::ShadowParseContext::commitColor):
2144 (WebCore::BorderImageParseContext::commitNumber):
2145 (WebCore::BorderImageParseContext::commitWidth):
2146 (WebCore::BorderImageParseContext::commitRule):
2147 (WebCore::BorderImageParseContext::commitBorderImage):
2148 (WebCore::CSSParser::lex):
2149 (WebCore::CSSParser::text):
2150 * css/CSSStyleSelector.cpp:
2151 (WebCore::CSSStyleSelector::applyProperty):
2152 * css/MediaList.cpp:
2153 (WebCore::MediaList::deleteMedium):
2155 * css/MediaQueryEvaluator.cpp:
2156 (WebCore::parseAspectRatio):
2157 * css/MediaQueryEvaluator.h:
2158 * css/MediaQueryExp.h:
2159 (WebCore::MediaQueryExp::operator==):
2160 * css/WebKitCSSMatrix.h:
2163 (WebCore::Document::setFocusedNode):
2165 (WebCore::Document::setHasDashboardRegions):
2166 * dom/DocumentFragment.cpp:
2167 (WebCore::DocumentFragment::nodeName):
2168 * dom/DocumentFragment.h:
2169 * dom/DynamicNodeList.h:
2170 * dom/EditingText.h:
2172 (WebCore::Element::dispatchAttrAdditionEvent):
2173 * dom/NamedAttrMap.cpp:
2174 (WebCore::NamedNodeMap::item):
2176 (WebCore::Node::nodeValue):
2177 (WebCore::Node::nodeIndex):
2178 * dom/NodeRareData.h:
2179 (WebCore::NodeListsNodeData::create):
2181 * dom/ProcessingInstruction.h:
2183 (WebCore::Range::processContents):
2184 * dom/StyledElement.cpp:
2186 * dom/XMLTokenizerLibxml2.cpp:
2187 (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
2188 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
2189 (WebCore::PendingCallbacks::):
2190 (WebCore::OffsetBuffer::readOutBytes):
2191 (WebCore::handleElementNamespaces):
2192 (WebCore::handleElementAttributes):
2193 (WebCore::attributesStartElementNsHandler):
2194 * dom/XMLTokenizerQt.cpp:
2195 (WebCore::attributesStartElementNsHandler):
2196 (WebCore::XMLTokenizer::parseStartElement):
2197 * editing/ApplyStyleCommand.cpp:
2198 (WebCore::ApplyStyleCommand::applyInlineStyle):
2199 * editing/DeleteSelectionCommand.cpp:
2200 (WebCore::DeleteSelectionCommand::removeNode):
2201 * editing/Editor.cpp:
2202 (WebCore::Editor::pasteAsPlainText):
2203 * editing/SelectionController.cpp:
2204 (WebCore::SelectionController::directionOfEnclosingBlock):
2205 * editing/SmartReplaceICU.cpp:
2206 (WebCore::addAllCodePoints):
2207 * history/HistoryItem.cpp:
2208 (WebCore::HistoryItem::icon):
2209 (WebCore::HistoryItem::adoptVisitCounts):
2210 * html/CanvasStyle.cpp:
2211 (WebCore::CanvasStyle::applyFillColor):
2212 * html/HTMLAnchorElement.cpp:
2213 (WebCore::HTMLAnchorElement::setActive):
2214 (WebCore::HTMLAnchorElement::isLiveLink):
2215 * html/HTMLAppletElement.h:
2216 * html/HTMLAudioElement.h:
2217 * html/HTMLBRElement.h:
2218 * html/HTMLBaseElement.h:
2219 * html/HTMLBaseFontElement.h:
2220 * html/HTMLDListElement.h:
2221 * html/HTMLDirectoryElement.h:
2222 * html/HTMLFieldSetElement.cpp:
2223 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
2224 * html/HTMLFormElement.cpp:
2225 (WebCore::HTMLFormElement::reset):
2226 * html/HTMLHRElement.cpp:
2227 (WebCore::HTMLHRElement::parseMappedAttribute):
2228 * html/HTMLHeadElement.h:
2229 * html/HTMLHtmlElement.h:
2230 * html/HTMLImageElement.h:
2231 (WebCore::HTMLImageElement::setLoadManually):
2232 * html/HTMLInputElement.cpp:
2233 (WebCore::HTMLInputElement::selection):
2234 * html/HTMLIsIndexElement.h:
2235 * html/HTMLMarqueeElement.cpp:
2236 * html/HTMLMediaElement.h:
2237 (WebCore::HTMLMediaElement::):
2238 * html/HTMLMenuElement.h:
2239 * html/HTMLMetaElement.h:
2240 * html/HTMLModElement.h:
2241 * html/HTMLOListElement.h:
2242 * html/HTMLOptionElement.cpp:
2243 (WebCore::HTMLOptionElement::childrenChanged):
2244 * html/HTMLParamElement.h:
2245 * html/HTMLQuoteElement.h:
2246 * html/HTMLStyleElement.h:
2247 * html/HTMLTableCaptionElement.h:
2248 * html/HTMLTableCellElement.h:
2249 * html/HTMLTableColElement.h:
2250 * html/HTMLTableSectionElement.cpp:
2251 (WebCore::HTMLTableSectionElement::deleteRow):
2252 * html/HTMLTitleElement.h:
2253 * html/HTMLTokenizer.cpp:
2254 (WebCore::HTMLTokenizer::parseNonHTMLText):
2255 (WebCore::HTMLTokenizer::parseEntity):
2256 (WebCore::HTMLTokenizer::parseTag):
2257 (WebCore::HTMLTokenizer::write):
2258 * html/HTMLUListElement.h:
2259 * html/HTMLVideoElement.h:
2260 * html/TimeRanges.h:
2261 (WebCore::TimeRanges::Range::Range):
2262 * inspector/InspectorController.cpp:
2263 (WebCore::InspectorController::enableResourceTracking):
2264 (WebCore::InspectorController::disableResourceTracking):
2265 * inspector/InspectorFrontend.cpp:
2266 (WebCore::InspectorFrontend::newInspectorJSONObject):
2268 (WebCore::Console::addMessage):
2269 * page/EventHandler.cpp:
2270 (WebCore::EventHandler::handleMousePressEvent):
2271 (WebCore::EventHandler::selectCursor):
2272 (WebCore::EventHandler::defaultKeyboardEventHandler):
2274 (WebCore::Frame::jsDefaultStatusBarText):
2275 * page/android/DragControllerAndroid.cpp:
2276 (WebCore::DragController::dragOperation):
2277 * page/android/EventHandlerAndroid.cpp:
2278 (WebCore::EventHandler::tabsToAllControls):
2279 (WebCore::EventHandler::eventActivatedView):
2280 * page/animation/AnimationController.cpp:
2281 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2282 * page/gtk/DragControllerGtk.cpp:
2283 (WebCore::DragController::dragOperation):
2284 * page/qt/DragControllerQt.cpp:
2285 * page/win/DragControllerWin.cpp:
2286 (WebCore::DragController::isCopyKeyDown):
2287 * page/win/FrameWin.h:
2288 * rendering/RenderSlider.cpp:
2289 (WebCore::RenderSlider::mouseEventOffsetToThumb):
2290 * rendering/style/RenderStyle.h:
2291 (WebCore::InheritedFlags::setVerticalAlignLength):
2292 (WebCore::InheritedFlags::setUnicodeBidi):
2293 (WebCore::InheritedFlags::setCursor):
2294 * rendering/style/RenderStyleConstants.h:
2296 * rendering/style/SVGRenderStyleDefs.h:
2297 * rendering/style/StyleInheritedData.h:
2298 (WebCore::StyleInheritedData::operator!=):
2299 * storage/DatabaseTask.h:
2300 * svg/GradientAttributes.h:
2301 * svg/LinearGradientAttributes.h:
2302 * svg/PatternAttributes.h:
2303 * svg/RadialGradientAttributes.h:
2304 * svg/SVGAnimatedPathData.h:
2305 * svg/SVGAnimatedPoints.h:
2306 * svg/SVGAnimationElement.h:
2307 * svg/SVGClipPathElement.h:
2308 * svg/SVGElementInstance.h:
2309 * svg/SVGFEBlendElement.cpp:
2310 (WebCore::SVGFEBlendElement::build):
2311 * svg/SVGFEBlendElement.h:
2312 * svg/SVGFEColorMatrixElement.cpp:
2313 (WebCore::SVGFEColorMatrixElement::build):
2314 * svg/SVGFEComponentTransferElement.cpp:
2315 (WebCore::SVGFEComponentTransferElement::build):
2316 * svg/SVGFECompositeElement.cpp:
2317 (WebCore::SVGFECompositeElement::build):
2318 * svg/SVGFEDiffuseLightingElement.cpp:
2319 (WebCore::SVGFEDiffuseLightingElement::build):
2320 * svg/SVGFEDisplacementMapElement.cpp:
2321 (WebCore::SVGFEDisplacementMapElement::build):
2322 * svg/SVGFEDistantLightElement.h:
2323 * svg/SVGFEFloodElement.cpp:
2324 (WebCore::SVGFEFloodElement::build):
2325 * svg/SVGFEFloodElement.h:
2326 * svg/SVGFEFuncAElement.h:
2327 * svg/SVGFEFuncBElement.h:
2328 * svg/SVGFEFuncGElement.h:
2329 * svg/SVGFEFuncRElement.h:
2330 * svg/SVGFEGaussianBlurElement.cpp:
2331 (WebCore::SVGFEGaussianBlurElement::build):
2332 * svg/SVGFEImageElement.cpp:
2333 (WebCore::SVGFEImageElement::build):
2334 * svg/SVGFEMergeElement.cpp:
2335 (WebCore::SVGFEMergeElement::build):
2336 * svg/SVGFEOffsetElement.cpp:
2337 (WebCore::SVGFEOffsetElement::build):
2338 * svg/SVGFEPointLightElement.h:
2339 * svg/SVGFESpecularLightingElement.cpp:
2340 (WebCore::SVGFESpecularLightingElement::build):
2341 * svg/SVGFESpotLightElement.h:
2342 * svg/SVGFETileElement.cpp:
2343 (WebCore::SVGFETileElement::build):
2344 * svg/SVGLineElement.cpp:
2345 (WebCore::SVGLineElement::parseMappedAttribute):
2347 * svg/SVGListTraits.h:
2349 * svg/SVGMPathElement.h:
2350 * svg/SVGMetadataElement.h:
2351 * svg/SVGParserUtilities.cpp:
2352 (WebCore::SVGPathParser::parseSVG):
2353 (WebCore::SVGPathParser::calculateArc):
2354 * svg/SVGPathElement.h:
2355 * svg/SVGPathSegClosePath.h:
2356 * svg/SVGSVGElement.h:
2357 * svg/SVGSetElement.h:
2358 * svg/SVGSwitchElement.h:
2359 * svg/SVGTextPathElement.cpp:
2360 (WebCore::SVGTextPathElement::parseMappedAttribute):
2361 * svg/SVGTextPathElement.h:
2362 * svg/SVGTitleElement.h:
2363 * svg/SVGTransformable.cpp:
2365 * svg/SVGViewSpec.cpp:
2367 * svg/animation/SMILTime.cpp:
2368 (WebCore::operator+):
2369 (WebCore::operator-):
2370 (WebCore::operator*):
2371 * svg/animation/SVGSMILElement.h:
2372 * svg/graphics/SVGResource.cpp:
2373 (WebCore::clientMap):
2374 * wml/WMLPostfieldElement.cpp:
2375 (WebCore::WMLPostfieldElement::value):
2376 * wml/WMLSetvarElement.cpp:
2377 (WebCore::WMLSetvarElement::value):
2378 * workers/WorkerRunLoop.cpp:
2379 * xml/XMLHttpRequest.cpp:
2380 (WebCore::XMLHttpRequest::dropProtection):
2383 2009-07-10 Eric Carlson <eric.carlson@apple.com>
2385 Reviewed by Simon Fraser.
2387 <rdar://problem/7049066>.
2388 Update SnowLeopard media controller layout.
2390 * css/mediaControlsQT.css:
2391 Update for new layout.
2392 * html/HTMLMediaElement.cpp:
2393 (WebCore::HTMLMediaElement::movieLoadType):
2394 Added to replace isStreaming.
2395 * html/HTMLMediaElement.h:
2396 Declare movieLoadType, remove isStreaming.
2398 * rendering/MediaControlElements.cpp:
2399 (WebCore::MediaControlStatusDisplayElement::update):
2400 Use movieLoadType instead of isStreaming.
2401 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
2402 MediaControlElement is the base class, not HTMLInputElement.
2403 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
2405 (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
2406 Don't display rewind button for live streams.
2407 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
2408 MediaControlInputElement is the base class, not HTMLInputElement.
2409 * rendering/MediaControlElements.h:
2411 * rendering/RenderThemeMac.h:
2412 * rendering/RenderThemeMac.mm:
2413 (WebCore::getMediaUIPartStateFlags):
2414 New, return wkDrawMediaUIPart flags.
2415 (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2416 (WebCore::RenderThemeMac::paintMediaMuteButton):
2417 (WebCore::RenderThemeMac::paintMediaPlayButton):
2418 (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2419 (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2420 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2421 (WebCore::RenderThemeMac::paintMediaSliderThumb):
2422 (WebCore::RenderThemeMac::paintMediaRewindButton):
2423 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2424 (WebCore::RenderThemeMac::paintMediaControlsBackground):
2425 (WebCore::RenderThemeMac::paintMediaCurrentTime):
2426 (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2427 Use getMediaUIPartStateFlags.
2429 2009-07-10 Michelangelo De Simone <micdesim@gmail.com>
2431 Reviewed by Adele Peterson.
2433 https://bugs.webkit.org/show_bug.cgi?id=19562
2434 Added build stuff and stub for the ValidityState class, part of HTML5
2436 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
2438 Test: fast/forms/ValidityState-001.html
2440 * DerivedSources.cpp: Fix aimed to include ValidityState files
2441 * DerivedSources.make: ditto
2442 * GNUmakefile.am: ditto
2443 * WebCore.gypi: ditto
2444 * WebCore.pro: ditto
2445 * WebCore.vcproj/WebCore.vcproj: ditto
2446 * WebCore.xcodeproj/project.pbxproj: ditto
2447 * WebCoreSources.bkl: ditto
2448 * html/HTMLButtonElement.idl: "validity" attribute
2449 * html/HTMLFieldSetElement.idl: ditto
2450 * html/HTMLFormControlElement.cpp: object getter
2451 (WebCore::HTMLFormControlElement::validity):
2452 * html/HTMLFormControlElement.h: ditto
2453 * html/HTMLInputElement.idl: "validity" attribute
2454 * html/HTMLSelectElement.idl: ditto
2455 * html/HTMLTextAreaElement.idl: ditto
2456 * html/ValidityState.cpp: Added.
2457 (WebCore::ValidityState::ValidityState):
2458 (WebCore::ValidityState::valid): validation flag
2459 * html/ValidityState.h: Added.
2460 (WebCore::ValidityState::create): creation routine
2461 (WebCore::ValidityState::control): ValidityState's parent getter
2462 (WebCore::ValidityState::valueMissing): validation flag
2463 (WebCore::ValidityState::typeMismatch): ditto
2464 (WebCore::ValidityState::patternMismatch): ditto
2465 (WebCore::ValidityState::tooLong): ditto
2466 (WebCore::ValidityState::rangeUnderflow): ditto
2467 (WebCore::ValidityState::rangeOverflow): ditto
2468 (WebCore::ValidityState::stepMismatch): ditto
2469 (WebCore::ValidityState::customError): ditto
2470 * html/ValidityState.idl: Added.
2472 2009-07-10 Brady Eidson <beidson@apple.com>
2474 Style cleanup over my last patch.
2476 * xml/XMLHttpRequest.cpp:
2477 (WebCore::XMLHttpRequest::~XMLHttpRequest):
2479 2009-07-10 Kevin McCullough <kmccullough@apple.com>
2481 Reviewed by Geoffrey Garen.
2483 * inspector/JavaScriptCallFrame.cpp:
2484 (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2485 * inspector/JavaScriptCallFrame.h: New helper method, used below.
2487 * inspector/JavaScriptDebugServer.cpp:
2488 (WebCore::JavaScriptDebugServer::detach): In the special case
2489 where we detach from a window currently executing JavaScript,
2490 manually tear down our representation of the JavaScript
2491 call stack, since we won't get any more callbacks from JavaScriptCore
2492 to automatically tear it down. It's too bad that WebCore is
2493 responsible for this kind of tracking -- in the future, it would
2494 be nice if more of the breakpoint handling was inside of JavaScriptCore.
2496 2009-07-10 Brady Eidson <beidson@apple.com>
2498 Reviewed by Antti Koivisto.
2500 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2501 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2503 With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
2504 When that happened, the first request that was over the limit ended up in a bizarre state where it
2505 wasn't fully serviced until after the long running XHR was complete.
2507 Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
2508 resources - such as XHR - could still end up causing this limit to be exceeded.
2510 This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
2511 handle this at the resource handle level.
2513 * loader/loader.cpp:
2514 (WebCore::Loader::nonCacheRequestInFlight):
2515 (WebCore::Loader::nonCacheRequestComplete):
2516 (WebCore::Loader::Host::Host):
2517 (WebCore::Loader::Host::nonCacheRequestInFlight):
2518 (WebCore::Loader::Host::nonCacheRequestComplete):
2519 (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
2521 (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
2523 * xml/XMLHttpRequest.cpp:
2524 (WebCore::XMLHttpRequest::XMLHttpRequest):
2525 (WebCore::XMLHttpRequest::~XMLHttpRequest):
2526 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
2527 (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
2528 (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
2530 2009-07-10 Antti Koivisto <antti@apple.com>
2532 Try to unbreak non-Mac build.
2534 * page/ChromeClient.h:
2535 (WebCore::ChromeClient::formDidFocus):
2536 (WebCore::ChromeClient::formDidBlur):
2538 2009-07-10 Beth Dakin <bdakin@apple.com>
2540 Reviewed by Anders Carlsson.
2542 The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT):
2543 In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after
2544 clicking To Do's close box
2546 Make the Widget* in passMouseDownEventToWidget() a RefPtr.
2548 * page/mac/EventHandlerMac.mm:
2549 (WebCore::EventHandler::passMouseDownEventToWidget):
2551 2009-07-10 Eric Seidel <eric@webkit.org>
2553 Reviewed by Adam Barth.
2555 rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
2556 https://bugs.webkit.org/show_bug.cgi?id=27157
2558 This is the first step to fixing
2559 https://bugs.webkit.org/show_bug.cgi?id=27088
2561 * WebCore.xcodeproj/project.pbxproj:
2562 * bindings/js/JSDOMBinding.h:
2563 (WebCore::deprecatedGetDOMStructure):
2564 (WebCore::createDOMObjectWrapper):
2565 (WebCore::createDOMNodeWrapper):
2566 * bindings/js/JSNamedNodesCollection.cpp:
2567 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
2568 * bindings/js/JSRGBColor.cpp:
2569 (WebCore::JSRGBColor::JSRGBColor):
2570 * bridge/objc/objc_runtime.mm:
2571 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2572 * bridge/runtime_array.cpp:
2573 (JSC::RuntimeArray::RuntimeArray):
2574 * bridge/runtime_method.cpp:
2575 (JSC::RuntimeMethod::RuntimeMethod):
2576 * bridge/runtime_object.cpp:
2577 (JSC::RuntimeObjectImp::RuntimeObjectImp):
2579 2009-07-10 Greg Bolsinga <bolsinga@apple.com>
2581 Reviewed by Antti Koivisto.
2583 Add delegate methods about focus and blur and state change
2584 https://bugs.webkit.org/show_bug.cgi?id=27153
2586 Call the appropriate new ChromeClient methods for focus and blur.
2588 * html/HTMLFormControlElement.cpp:
2589 (WebCore::HTMLFormControlElement::dispatchFocusEvent):
2590 (WebCore::HTMLFormControlElement::dispatchBlurEvent):
2591 * html/HTMLFormControlElement.h:
2592 * loader/EmptyClients.h:
2593 (WebCore::EmptyChromeClient::formDidFocus):
2594 (WebCore::EmptyChromeClient::formDidBlur):
2595 * page/ChromeClient.h:
2597 2009-07-10 Steve Falkenburg <sfalken@apple.com>
2599 <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
2601 Use altered search path while loading plug-ins. This modifies the DLL search order
2602 to look in the directory containing the plug-in even if a call to SetDllDirectory
2603 was previously made. Use of SetDllDirectory removes the current directory from the search path,
2604 breaking the previous strategy for locating any dependent DLLs of the plug-in.
2606 Reviewed by Jon Honeycutt.
2608 * plugins/win/PluginPackageWin.cpp:
2609 (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
2611 2009-07-10 Adam Roben <aroben@apple.com>
2613 Sort all our Xcode projects
2615 Accomplished using sort-Xcode-project-file.
2617 Requested by Dave Kilzer.
2619 * WebCore.xcodeproj/project.pbxproj:
2621 2009-07-10 Adam Langley <agl@google.com>
2623 Reviewed by Darin Fisher.
2625 Chromium Linux: use disabled images for disabled widgets.
2627 https://bugs.webkit.org/show_bug.cgi?id=27106
2629 Previously, checkboxes and radio controls rendered the same even if disabled.
2630 The Chromium side of this change is r20224.
2632 * rendering/RenderThemeChromiumSkia.cpp:
2633 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2634 (WebCore::RenderThemeChromiumSkia::paintRadio):
2636 2009-07-10 Simon Fraser <simon.fraser@apple.com>
2638 Reviewed by John Sullivan.
2640 Fix crash when changing the zoom level in http://iphone.akamai.com/
2641 <rdar://problem/7029077>
2643 RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
2644 which could potentially destroy that compositing layer, causing a crash.
2645 Prevent this from happening by not doing a compositing update from paintIntoLayer().
2647 The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
2648 and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
2649 compositing layers, and is still called from paintIntoLayer().
2651 * rendering/RenderLayer.cpp:
2652 (WebCore::RenderLayer::paintLayer):
2653 (WebCore::RenderLayer::hitTestLayer):
2654 (WebCore::RenderLayer::updateLayerListsIfNeeded):
2655 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
2656 * rendering/RenderLayer.h:
2658 2009-07-10 Drew Wilson <atwilson@google.com>
2660 Reviewed by Darin Adler.
2662 Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
2663 https://bugs.webkit.org/show_bug.cgi?id=27010
2665 Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
2667 This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
2669 * bindings/scripts/CodeGeneratorJS.pm:
2670 Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
2673 * css/StyleSheet.idl:
2677 * html/ImageData.idl:
2678 * svg/SVGElementInstance.idl:
2679 * svg/SVGPathSeg.idl:
2680 Added CustomToJS attribute to all the above IDL files.
2682 2009-07-10 Dan Bernstein <mitz@apple.com>
2684 - fix the build by reverting the ill-advised r45711
2686 * page/FrameView.cpp:
2687 (WebCore::FrameView::scrollToAnchor):
2689 2009-07-09 Brian Weinstein <bweinstein@apple.com>
2691 Reviewed by Tim Hatcher.
2693 Updated WebCore.base.exp to add some needed functions.
2697 2009-07-10 Dan Bernstein <mitz@apple.com>
2699 - address a review comment from Simon Fraser which I forgot to include
2700 in the last check-in
2702 * page/FrameView.cpp:
2703 (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
2704 maximum transform friendliness!
2706 2009-07-10 Dan Bernstein <mitz@apple.com>
2708 Reviewed by Simon Fraser.
2710 - fix https://bugs.webkit.org/show_bug.cgi?id=27137
2711 <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
2712 to infinite recursion into FrameLoader::gotoAnchor() ->
2715 Test: fast/loader/goto-anchor-infinite-layout.html
2717 * loader/FrameLoader.cpp:
2718 (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
2719 find the renderer to scroll to, and scroll from here to methods on
2720 FrameView, and replaced it with a call to
2721 FrameView::maintainScrollPositionAtAnchor().
2722 (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
2723 instead of setLockedToAnchor().
2725 * page/FrameView.cpp:
2726 (WebCore::FrameView::FrameView): Removed initialization of
2728 (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
2729 of m_lockedToAnchor.
2730 (WebCore::FrameView::layout): Removed the code related to scrolling to
2731 the anchor from here, because scrolling can trigger events which
2732 invalidate the layout, and as such, belongs with the post-layout tasks.
2733 (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
2734 with a node scrolls the view to the top of that node and maintains it
2735 scrolled to the top of the node during subsequent layouts, until
2736 this function is called with 0 or other things trigger scrolling.
2737 (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
2738 m_maintainScrollPositionAnchor.
2739 (WebCore::FrameView::setScrollPosition): Ditto.
2740 (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
2741 m_maintainScrollPositionAnchor, if it is set.
2742 (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
2743 (WebCore::FrameView::setWasScrolledByUser): Reset
2744 m_maintainScrollPositionAnchor.
2746 * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
2747 and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
2748 m_maintainScrollPositionAnchor.
2750 2009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com>
2752 Reviewed by Simon Hausmann.
2754 https://bugs.webkit.org/show_bug.cgi?id=26439
2756 QtWebKit fails in loading www.nytimes.com in Windows/Linux
2758 QNetworkReplyHandler is ignoring content associated with 401 error.
2759 This causes the XHR response handling to fail.
2761 Simon: Added also ProxyAuthenticationRequiredError, to handle the same
2762 case when going through proxies, as suggested by Prasanth.
2764 * platform/network/qt/QNetworkReplyHandler.cpp:
2765 (WebCore::QNetworkReplyHandler::finish):
2767 2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
2769 Reviewed by Holger Freyther.
2771 Enable HTML 5 Messaging to fix message channel Qt DRT failures in
2776 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2778 Reviewed by Maciej Stachowiak.
2780 added InlineBox::isLeaf()
2781 firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
2782 firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
2783 Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
2784 Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
2786 Currently, these methods are called on RootInlineBox objects only, so above changes should not have
2787 any observable effect (only the removal of the square performance behavior could apply,
2788 but the conditions for that are probably of a rather theoretical nature).
2790 * rendering/InlineBox.cpp:
2791 (WebCore::InlineBox::nextLeafChild):
2792 (WebCore::InlineBox::prevLeafChild):
2793 * rendering/InlineBox.h:
2794 (WebCore::InlineBox::isLeaf):
2795 * rendering/InlineFlowBox.cpp:
2796 (WebCore::InlineFlowBox::firstLeafChild):
2797 (WebCore::InlineFlowBox::lastLeafChild):
2798 * rendering/InlineFlowBox.h:
2799 (WebCore::InlineFlowBox::firstChild):
2800 (WebCore::InlineFlowBox::lastChild):
2801 (WebCore::InlineFlowBox::isLeaf):
2802 * rendering/RootInlineBox.cpp:
2803 (WebCore::RootInlineBox::closestLeafChildForXPos):
2805 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2807 Reviewed by Maciej Stachowiak.
2809 Added InlineBox::baselinePosition() and lineHeight() methods
2810 (adapted remaining code accordingly to use those methods)
2812 No change in functionality.
2814 * rendering/InlineBox.h:
2815 (WebCore::InlineBox::baselinePosition):
2816 (WebCore::InlineBox::lineHeight):
2817 * rendering/InlineFlowBox.cpp:
2818 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2819 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2820 (WebCore::InlineFlowBox::placeBoxesVertically):
2822 2009-07-09 Oliver Hunt <oliver@apple.com>
2824 Reviewed by Maciej Stachowiak.
2826 Bug 27142 - canPlayType() should return empty string for unsupported content
2827 <https://bugs.webkit.org/show_bug.cgi?id=27142>
2829 Return "" instead of "no" for unsupport media types.
2831 * html/HTMLMediaElement.cpp:
2832 (WebCore::HTMLMediaElement::canPlayType):
2834 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2836 Reviewed by Maciej Stachowiak.
2838 Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
2839 in that their end tags are optional if followed by <rp>/<rt>.
2841 Also specify a new accessibility role "annotation" for <rp> and <rt>.
2843 Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
2844 is not affected by whether ruby is rendered properly or not (in fact, it may
2845 be more profound without ruby layouting, since the contents of <rp> are not hidden).
2847 Test: fast/ruby/parse-rp.html
2849 * accessibility/AccessibilityObject.h:
2851 * accessibility/AccessibilityRenderObject.cpp:
2852 (WebCore::AccessibilityRenderObject::roleValue):
2853 * html/HTMLElement.cpp:
2854 (WebCore::HTMLElement::endTagRequirement):
2855 (WebCore::HTMLElement::tagPriority):
2856 (WebCore::inlineTagList):
2857 * html/HTMLParser.cpp:
2858 (WebCore::HTMLParser::rpCreateErrorCheck):
2859 (WebCore::HTMLParser::rtCreateErrorCheck):
2860 (WebCore::HTMLParser::getNode):
2861 * html/HTMLParser.h:
2862 * html/HTMLTagNames.in:
2864 2009-07-09 Dmitry Titov <dimich@chromium.org>
2866 Not reviewed, fix for previous commit.
2868 The change http://trac.webkit.org/changeset/45695 did not correctly
2869 enabled GTL and QT build flags. This caused layout tests failure.
2870 This is speculative fix for those failures.
2872 * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
2873 * WebCore.pro: ditto.
2874 * page/DOMWindow.idl: touched to cause recompile.
2875 * workers/WorkerContext.idl: ditto.
2877 2009-07-09 Drew Wilson <atwilson@google.com>
2879 Reviewed by Alexey Proskuryakov.
2881 https://bugs.webkit.org/show_bug.cgi?id=26903
2883 Turned on CHANNEL_MESSAGING by default because the MessageChannel API
2884 is now implemented for Web Workers and is reasonably stable.
2886 Tests: fast/events/message-channel-gc-2.html
2887 fast/events/message-channel-gc-3.html
2888 fast/events/message-channel-gc-4.html
2889 fast/events/message-channel-gc.html
2890 fast/events/message-channel-listener-circular-ownership.html
2891 fast/events/message-port-clone.html
2892 fast/events/message-port-constructor-for-deleted-document.html
2893 fast/events/message-port-deleted-document.html
2894 fast/events/message-port-deleted-frame.html
2895 fast/events/message-port-inactive-document.html
2896 fast/events/message-port-no-wrapper.html
2897 fast/events/message-port.html
2898 fast/workers/worker-cloneport.html
2899 fast/workers/worker-messageport-gc.html
2900 fast/workers/worker-messageport.html
2902 * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
2903 * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
2904 * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
2905 * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
2906 * WebCore/workers/WorkerContext.idl: ditto.
2909 2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com>
2911 Reviewed by Simon Fraser.
2913 Full page zoom breaks remaining and elapsed time display in the <video> controller.
2914 https://bugs.webkit.org/show_bug.cgi?id=27123
2916 We are changing the size of the time remaining and time elapsed field, to
2917 automatically hide them, when the controller is too short.
2919 Because we toggle the size between 0 and the previous value of the
2920 controller, we miss any width change that may occur during full page zoom,
2921 and we fail to restore a correct width.
2923 This change fixes that problem by using a cloned style on which we
2924 set the width to 0, and restoring the previous style when going back to
2927 We take care about properly using the cloned style or the pseudo style,
2928 by overriding styleForElement().
2930 * rendering/MediaControlElements.cpp:
2931 (WebCore::MediaControlElement::styleForElement):
2932 (WebCore::MediaControlElement::attach):
2933 (WebCore::MediaControlElement::updateStyle):
2934 (WebCore::MediaControlInputElement::styleForElement):
2935 (WebCore::MediaControlInputElement::attach):
2936 (WebCore::MediaControlInputElement::updateStyle):
2937 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
2938 (WebCore::MediaControlTimeDisplayElement::styleForElement):
2939 (WebCore::MediaControlTimeDisplayElement::setVisible):
2940 * rendering/MediaControlElements.h:
2941 * rendering/RenderMedia.cpp:
2942 (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
2943 we take in account the zoom level when deciding if we should hide the
2944 ellapsed and remaining time.
2946 2009-07-09 Michael Nordman <michaeln@google.com>
2948 Reviewed by Darin Adler.
2950 Fix chromium build bustage due to Widget being a RefCounted class.
2951 https://bugs.webkit.org/show_bug.cgi?id=27139
2953 * platform/chromium/PopupMenuChromium.cpp:
2954 * platform/chromium/PopupMenuChromium.h:
2956 2009-07-09 Chris Fleizach <cfleizach@apple.com>
2958 Reviewed by Darin Adler.
2960 Bug 27130 - Need to implement ARIA role="toolbar"
2961 https://bugs.webkit.org/show_bug.cgi?id=27130
2963 Test: platform/mac/accessibility/aria-toolbar.html
2965 * accessibility/AccessibilityRenderObject.cpp:
2966 (WebCore::RoleEntry::):
2967 * accessibility/mac/AccessibilityObjectWrapper.mm:
2968 (-[AccessibilityObjectWrapper roleDescription]):
2970 2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
2972 Reviewed by Darin Fisher.
2974 [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
2975 https://bugs.webkit.org/show_bug.cgi?id=27135
2977 * WebCore.gypi: Added.
2979 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
2981 A more robust fix for <rdar://problem/6930280> Reproducible crash at
2982 USA Today photo gallery
2984 Reviewed by Steve Falkenburg.
2986 * plugins/win/PluginMessageThrottlerWin.cpp:
2987 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
2988 Protect the PluginView from destruction before calling its window proc.
2990 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
2992 <rdar://problem/6978804> WER #16: Repro Access Violation in
2993 WebCore::PluginView::bindingInstance (1310178023)
2995 Reviewed by Darin Adler.
2997 * plugins/PluginView.cpp:
2998 (WebCore::PluginView::bindingInstance):
2999 Protect the PluginView from destruction before calling NPN_GetValue. If
3000 the renderer for the PluginView was destroyed during the call, and the
3001 PluginView's ref count is now 1, return null.
3003 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3005 Speculative fix for <rdar://problem/6991251> WER #13: Crash in
3006 WebKit!WebCore::PluginView::performRequest+203 (1311461169)
3008 Reviewed by Darin Adler.
3010 * plugins/PluginView.cpp:
3011 (WebCore::PluginView::performRequest):
3012 Protect the PluginView from destruction before performing a load.
3013 Removed some trailing whitespace.
3015 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3019 * inspector/JavaScriptDebugServer.cpp:
3020 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
3022 2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
3024 Reviewed by Dave Hyatt.
3026 Make Widget RefCounted to fix or make fixable:
3028 <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
3029 at WebCore::Widget::afterMouseDown() after clicking To Do's close
3031 <rdar://problem/6978804> WER #16: Repro Access Violation in
3032 WebCore::PluginView::bindingInstance (1310178023)
3034 <rdar://problem/6991251> WER #13: Crash in WebKit!
3035 WebCore::PluginView::performRequest+203 (1311461169)
3037 * loader/EmptyClients.h:
3038 (WebCore::EmptyFrameLoaderClient::createPlugin):
3039 Changed to return PassRefPtr
3040 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3043 * loader/FrameLoader.cpp:
3044 (WebCore::FrameLoader::loadSubframe):
3045 (WebCore::FrameLoader::loadPlugin):
3046 Make the widget variable a RefPtr. Use .get() when passing it to
3047 RenderPart::setWidget().
3048 (WebCore::FrameLoader::createJavaAppletWidget):
3049 Make the widget variable a RefPtr.
3051 * loader/FrameLoader.h:
3052 Changed the return type of createJavaAppletWidget().
3054 * loader/FrameLoaderClient.h:
3055 Change the return types of createPlugin() and
3056 createJavaAppletWidget().
3059 (WebCore::Frame::createView):
3060 No need to call .get() since setWidget() takes a RefPtr.
3062 * page/FrameView.cpp:
3063 (WebCore::FrameView::layoutIfNeededRecursive):
3064 children() now returns a HashSet of RefPtrs.
3067 Remove inheritance from RefCounted; we pick this up from ScrollView
3070 * platform/ScrollView.cpp:
3071 (WebCore::ScrollView::addChild):
3072 addChild() now takes a PassRefPtr and m_children now keeps a
3075 * platform/ScrollView.h:
3076 ScrollView constructor is now protected.
3077 (WebCore::ScrollView::children):
3078 m_children is now a HashSet of RefPtrs.
3080 * platform/Scrollbar.h:
3081 Remove inheritance from RefCounted; we pick this up from ScrollView
3084 * platform/Widget.h:
3085 Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
3088 * plugins/PluginView.cpp:
3089 (WebCore::PluginView::create):
3090 Adopt the PluginView when returning it.
3092 * plugins/PluginView.h:
3093 Changed create() to return a PassRefPtr.
3095 * rendering/RenderApplet.cpp:
3096 Receive result in a RefPtr when calling createJavaAppletWidget().
3098 * rendering/RenderPart.cpp:
3099 (WebCore::RenderPart::setWidget):
3100 setWidget() now takes a PassRefPtr. Also removed the manual ref of
3101 FrameViews. This is handled by having m_widget be a RefPtr. Removed
3104 * rendering/RenderPart.h:
3105 Removed override of deleteWidget().
3107 * rendering/RenderWidget.cpp:
3108 (WebCore::RenderWidget::destroy):
3109 (WebCore::RenderWidget::setWidget):
3110 (WebCore::RenderWidget::paint):
3111 (WebCore::RenderWidget::setOverlapTestResult):
3112 (WebCore::RenderWidget::updateWidgetPosition):
3114 (WebCore::RenderWidget::clearWidget):
3115 Don't call deleteWidget(). It was removed.
3117 * rendering/RenderWidget.h:
3118 Removed deleteWidget(). Made m_widget a RefPtr.
3119 (WebCore::RenderWidget::widget):
3122 2009-07-09 Chris Fleizach <cfleizach@apple.com>
3124 Reviewed by Darin Adler.
3126 Bug 27129 - AX: possible assertion for a non-native image in accessibility
3127 https://bugs.webkit.org/show_bug.cgi?id=27129
3129 It's possible for an image that is not really an image to assert, because its renderer
3130 is turned into a RenderImage.
3132 Test: accessibility/non-native-image-crash.html
3134 * accessibility/AccessibilityRenderObject.cpp:
3135 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3136 (WebCore::RoleEntry::):
3137 * accessibility/mac/AccessibilityObjectWrapper.mm:
3138 (-[AccessibilityObjectWrapper roleDescription]):
3140 2009-07-09 Simon Fraser <simon.fraser@apple.com>
3142 Build fix for SnowLeopard.
3144 Avoid using the contentsTransform methods if not on Leopard, because
3145 we don't need to call them.
3147 * platform/graphics/mac/GraphicsLayerCA.mm:
3148 (WebCore::GraphicsLayerCA::updateContentsTransform):
3149 * platform/graphics/mac/WebLayer.mm:
3150 (-[WebLayer setNeedsDisplayInRect:]):
3151 * platform/graphics/mac/WebTiledLayer.mm:
3152 (-[WebTiledLayer setNeedsDisplayInRect:]):
3154 2009-07-09 Simon Fraser <simon.fraser@apple.com>
3156 Reviewed by Dave Hyatt
3158 Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
3160 <rdar://problem/6120614>
3162 * platform/graphics/GraphicsLayer.h:
3163 (WebCore::GraphicsLayer::setContentsOrientation):
3164 (WebCore::GraphicsLayer::contentsOrientation):
3165 * platform/graphics/GraphicsLayer.cpp:
3166 (WebCore::GraphicsLayer::GraphicsLayer):
3167 Add a m_contentsOrientation member and getter/setter to control whether
3168 the contents of this layer have a transform applied to them before display.
3170 * platform/graphics/mac/GraphicsLayerCA.h:
3171 New method to return the default contents orientation.
3173 * platform/graphics/mac/GraphicsLayerCA.mm:
3174 (WebCore::flipTransform):
3175 Convenience method to return a transform with a Y flip.
3177 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3178 (WebCore::GraphicsLayerCA::setSize):
3179 After the size changes we have to update the contentsTransform.
3181 (WebCore::GraphicsLayerCA::setGeometryOrientation):
3182 (WebCore::GraphicsLayerCA::geometryOrientation):
3183 If -setGeometryFlipped: is not available, use a children transform.
3185 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3186 Tiled layers have issues with flipped contentsTransform, so just use
3187 top-down drawing for them. Call updateContentsTransform() to set the
3188 new contents transform after swapping layers.
3190 (WebCore::GraphicsLayerCA::defaultContentsOrientation):
3191 Use bottom-up when -geometryFlipped is not available, otherwise top-down.
3193 (WebCore::GraphicsLayerCA::updateContentsTransform):
3194 Set the layer contents transform based on contentsOrientation().
3196 (WebCore::GraphicsLayerCA::setContentsLayer):
3197 We have to manually flip contents layers if we're not using -geometryFlipped.
3199 * platform/graphics/mac/WebLayer.h:
3200 * platform/graphics/mac/WebLayer.mm:
3201 Do early return if layerContents is nil. Flip the CTM if the layer has
3202 bottom-up coordinates, so that CG sees a CTM with no flip.
3203 Do the CGContextRestoreGState() after drawing the debug indicator.
3205 (-[WebLayer setNeedsDisplayInRect:]):
3206 * platform/graphics/mac/WebTiledLayer.mm:
3207 (-[WebTiledLayer setNeedsDisplayInRect:]):
3208 Need to map the dirty rect through the contentsTransform.
3210 2009-07-09 Alexey Proskuryakov <ap@webkit.org>
3212 Reviewed by Geoff Garen.
3214 <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
3216 Can't test this functionality with layout tests.
3219 * history/HistoryItem.cpp:
3220 (WebCore::HistoryItem::recordVisitAtTime):
3221 (WebCore::HistoryItem::visited):
3222 * history/HistoryItem.h:
3223 Only increase visit count if explicitly told to. Now, some visits change last access time,
3224 but do not increase visit count.
3226 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3228 Reviewed by Simon Fraser.
3230 <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
3232 Require QuickTime 7.6.3 or higher to enable the new media controller UI.
3234 * rendering/RenderThemeMac.mm:
3235 (WebCore::mediaControllerTheme):
3237 2009-07-09 Sam Weinig <sam@webkit.org>
3239 Reviewed by Beth Dakin.
3241 Remove incorrect comment.
3243 * page/MouseEventWithHitTestResults.h:
3245 2009-07-09 Mads Ager <ager@chromium.org>
3247 Reviewed by Dimitri Glazkov.
3249 Update the V8 bindings codegenerator to use the RGBColor::create
3250 method to handle refcounts for RGBColor objects correctly.
3252 * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
3254 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3256 Reviewed by Adele Peterson.
3258 Crash in RenderMedia::styleDidChange.
3259 <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
3260 media element (RenderMedia::styleDidChange + 115)
3262 Speculative fix for crash in styleDidChange. Null check controller elements before tell
3263 them to update style.
3265 * rendering/RenderMedia.cpp:
3266 (WebCore::RenderMedia::styleDidChange):
3268 2009-07-09 Adam Barth <abarth@webkit.org>
3270 Reviewed by Dimitri Glazkov.
3272 [V8] Move V8DOMWrapper to its own file
3273 https://bugs.webkit.org/show_bug.cgi?id=27121
3275 * bindings/v8/V8DOMWrapper.cpp: Added.
3276 (WebCore::GetToStringName):
3277 (WebCore::ConstructorToString):
3278 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3279 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3280 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3281 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3282 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3283 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3284 (WebCore::V8DOMWrapper::getTemplate):
3285 (WebCore::V8DOMWrapper::convertToV8Object):
3286 (WebCore::V8DOMWrapper::setHiddenWindowReference):
3287 (WebCore::V8DOMWrapper::domWrapperType):
3288 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3289 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3290 (WebCore::V8DOMWrapper::lookupDOMWrapper):
3291 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3292 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3293 (WebCore::V8DOMWrapper::instantiateV8Object):
3294 (WebCore::V8DOMWrapper::setDOMWrapper):
3295 (WebCore::V8DOMWrapper::maybeDOMWrapper):
3296 (WebCore::V8DOMWrapper::isDOMEventWrapper):
3297 (WebCore::V8DOMWrapper::isWrapperOfType):
3298 (WebCore::V8DOMWrapper::htmlElementType):
3299 (WebCore::V8DOMWrapper::svgElementType):
3300 (WebCore::V8DOMWrapper::convertEventToV8Object):
3302 (WebCore::V8DOMWrapper::convertNodeToV8Object):
3303 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3304 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3305 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3306 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3307 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3308 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
3309 (WebCore::V8DOMWrapper::convertWindowToV8Object):
3310 * bindings/v8/V8DOMWrapper.h: Added.
3311 (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3312 (WebCore::V8DOMWrapper::wrapCPointer):
3313 (WebCore::V8DOMWrapper::extractCPointer):
3314 (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3315 (WebCore::V8DOMWrapper::convertToV8Object):
3316 (WebCore::V8DOMWrapper::convertToNativeObject):
3317 (WebCore::V8DOMWrapper::convertToNativeEvent):
3318 (WebCore::V8DOMWrapper::extractCPointerImpl):
3319 (WebCore::V8DOMWrapper::instantiateV8Object):
3320 * bindings/v8/V8Proxy.cpp:
3321 * bindings/v8/V8Proxy.h:
3323 2009-07-09 David Hyatt <hyatt@apple.com>
3325 Reviewed by Adele Peterson.
3327 Crash in setFocusedFrame.
3328 <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
3330 Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire
3331 the events only after the local member has been updated.
3333 * page/FocusController.cpp:
3334 (WebCore::FocusController::setFocusedFrame):
3336 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3338 Reviewed by Adele Peterson.
3340 Possible crashes when mouse clicks not dispatched because range input destroyed while
3341 thumb is being dragged (e.g. scrub to end of movie)
3342 <rdar://problem/7037494>
3343 https://bugs.webkit.org/show_bug.cgi?id=27101
3345 Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
3346 get mouse events even when the mouse is moved outside of the node. This is done by putting
3347 EventHandler into a mode where it sends all mouse events to the node regardless of the
3348 actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
3349 node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
3350 to try to send events to the deleted node. This sometimes results in a crash, and sometimes
3351 in a page that doesn't respond to click events.
3353 Tests: fast/forms/search-delete-while-cancel-button-clicked.html
3354 fast/forms/slider-delete-while-dragging-thumb.html
3355 media/audio-delete-while-slider-thumb-clicked.html
3356 media/audio-delete-while-step-button-clicked.html
3358 * rendering/MediaControlElements.cpp:
3359 (WebCore::MediaControlSeekButtonElement::detach):
3360 New, call setCapturingMouseEventsNode if capturing mouse events.
3361 * rendering/MediaControlElements.h:
3364 * rendering/RenderSlider.cpp:
3365 (WebCore::SliderThumbElement::detach):
3366 New, call setCapturingMouseEventsNode if capturing mouse events.
3368 * rendering/TextControlInnerElements.cpp:
3369 (WebCore::SearchFieldCancelButtonElement::detach):
3370 New, call setCapturingMouseEventsNode if capturing mouse events.
3371 * rendering/TextControlInnerElements.h:
3374 2009-07-09 Yury Semikhatsky <yurys@chromium.org>
3376 Reviewed by Dimitri Glazkov.
3378 Enter the Frame's context before creating new objects in setContextDebugId.
3380 https://bugs.webkit.org/show_bug.cgi?id=27112
3382 * bindings/v8/V8Proxy.cpp:
3383 (WebCore::V8Proxy::setContextDebugId):
3385 2009-07-09 Simon Hausmann <hausmann@webkit.org>
3389 * WebCore.pro: Add new storage impl files to the build.
3391 2009-07-08 Adam Barth <abarth@webkit.org>
3393 Rubber stamped by Eric Seidel.
3395 [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
3396 https://bugs.webkit.org/show_bug.cgi?id=27107
3398 This patch is just renaming. Code motion will occur next.
3400 * bindings/scripts/CodeGeneratorV8.pm:
3401 * bindings/v8/ScriptController.cpp:
3402 (WebCore::ScriptController::processingUserGesture):
3403 (WebCore::createScriptObject):
3404 (WebCore::ScriptController::createScriptObjectForPluginElement):
3405 * bindings/v8/ScriptObject.cpp:
3406 (WebCore::ScriptGlobalObject::set):
3407 * bindings/v8/ScriptObjectQuarantine.cpp:
3408 (WebCore::getQuarantinedScriptObject):
3409 * bindings/v8/V8AbstractEventListener.cpp:
3410 (WebCore::V8AbstractEventListener::handleEvent):
3411 (WebCore::V8AbstractEventListener::getReceiverObject):
3412 * bindings/v8/V8Collection.cpp:
3413 (WebCore::toOptionsCollectionSetter):
3414 * bindings/v8/V8Collection.h:
3415 (WebCore::getV8Object):
3416 (WebCore::getNamedPropertyOfCollection):
3417 (WebCore::nodeCollectionNamedPropertyGetter):
3418 (WebCore::getIndexedPropertyOfCollection):
3419 (WebCore::nodeCollectionIndexedPropertyGetter):
3420 (WebCore::nodeCollectionIndexedPropertyEnumerator):
3421 (WebCore::collectionIndexedPropertyEnumerator):
3422 (WebCore::collectionStringOrNullIndexedPropertyGetter):
3423 * bindings/v8/V8DOMMap.cpp:
3424 (WebCore::DOMData::handleWeakObject):
3425 (WebCore::DOMData::removeObjectsFromWrapperMap):
3426 * bindings/v8/V8GCController.cpp:
3427 (WebCore::enumerateDOMObjectMap):
3428 (WebCore::DOMObjectVisitor::visitDOMWrapper):
3429 (WebCore::GCPrologueVisitor::visitDOMWrapper):
3430 (WebCore::GCEpilogueVisitor::visitDOMWrapper):
3431 * bindings/v8/V8Helpers.cpp:
3432 (WebCore::wrapNPObject):
3433 * bindings/v8/V8NodeFilterCondition.cpp:
3434 (WebCore::V8NodeFilterCondition::acceptNode):
3435 * bindings/v8/V8Proxy.cpp:
3436 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3437 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3438 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3439 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3440 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3441 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3442 (WebCore::V8Proxy::evaluateInNewContext):
3443 (WebCore::V8Proxy::getConstructor):
3444 (WebCore::V8DOMWrapper::getTemplate):
3445 (WebCore::V8Proxy::retrieveWindow):
3446 (WebCore::V8Proxy::updateDocumentWrapperCache):
3447 (WebCore::V8Proxy::clearForNavigation):
3448 (WebCore::V8Proxy::installDOMWindow):
3449 (WebCore::setDOMExceptionHelper):
3450 (WebCore::V8DOMWrapper::convertToV8Object):
3451 (WebCore::V8DOMWrapper::setHiddenWindowReference):
3452 (WebCore::V8DOMWrapper::domWrapperType):
3453 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3454 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3455 (WebCore::V8DOMWrapper::lookupDOMWrapper):
3456 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3457 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3458 (WebCore::V8DOMWrapper::instantiateV8Object):
3459 (WebCore::V8DOMWrapper::setDOMWrapper):
3460 (WebCore::V8DOMWrapper::maybeDOMWrapper):
3461 (WebCore::V8DOMWrapper::isDOMEventWrapper):
3462 (WebCore::V8DOMWrapper::isWrapperOfType):
3463 (WebCore::V8DOMWrapper::htmlElementType):
3464 (WebCore::V8DOMWrapper::svgElementType):
3465 (WebCore::V8DOMWrapper::convertEventToV8Object):
3466 (WebCore::V8DOMWrapper::convertNodeToV8Object):
3467 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3468 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3469 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3470 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3471 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3472 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
3473 (WebCore::V8DOMWrapper::convertWindowToV8Object):
3474 (WebCore::V8Proxy::bindJsObjectToWindow):
3475 * bindings/v8/V8Proxy.h:
3476 (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3477 (WebCore::V8DOMWrapper::wrapCPointer):
3478 (WebCore::V8DOMWrapper::extractCPointer):
3479 (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3480 (WebCore::V8DOMWrapper::convertToV8Object):
3481 (WebCore::V8DOMWrapper::convertToNativeObject):
3482 (WebCore::V8DOMWrapper::convertToNativeEvent):
3483 (WebCore::V8DOMWrapper::extractCPointerImpl):
3484 (WebCore::V8DOMWrapper::instantiateV8Object):
3485 (WebCore::V8Proxy::constructDOMObject):
3487 * bindings/v8/V8SVGPODTypeWrapper.h:
3488 (WebCore::V8SVGPODTypeUtil::toSVGPODType):
3489 * bindings/v8/WorkerContextExecutionProxy.cpp:
3490 (WebCore::WorkerContextExecutionProxy::retrieve):
3491 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3492 (WebCore::WorkerContextExecutionProxy::GetConstructor):
3493 (WebCore::WorkerContextExecutionProxy::ToV8Object):
3494 (WebCore::WorkerContextExecutionProxy::EventToV8Object):
3495 (WebCore::WorkerContextExecutionProxy::toV8):
3496 * bindings/v8/custom/V8AttrCustom.cpp:
3497 (WebCore::ACCESSOR_SETTER):
3498 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3499 (WebCore::NAMED_PROPERTY_GETTER):
3500 (WebCore::NAMED_PROPERTY_SETTER):
3501 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
3502 (WebCore::INDEXED_PROPERTY_GETTER):
3503 (WebCore::INDEXED_PROPERTY_SETTER):
3504 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3506 (WebCore::toCanvasStyle):
3507 (WebCore::ACCESSOR_GETTER):
3508 (WebCore::ACCESSOR_SETTER):
3509 (WebCore::CALLBACK_FUNC_DECL):
3510 * bindings/v8/custom/V8ClientRectListCustom.cpp:
3511 (WebCore::INDEXED_PROPERTY_GETTER):
3512 * bindings/v8/custom/V8ClipboardCustom.cpp:
3513 (WebCore::ACCESSOR_GETTER):
3514 (WebCore::CALLBACK_FUNC_DECL):
3515 * bindings/v8/custom/V8CustomBinding.cpp:
3516 (WebCore::ACCESSOR_GETTER):
3517 (WebCore::INDEXED_ACCESS_CHECK):
3518 (WebCore::NAMED_ACCESS_CHECK):
3519 (WebCore::V8Custom::GetTargetFrame):
3520 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
3521 (WebCore::V8CustomSQLStatementCallback::handleEvent):
3522 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3523 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
3524 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
3525 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
3526 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
3527 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
3528 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3529 (WebCore::V8Custom::WindowSetTimeoutImpl):
3530 (WebCore::ACCESSOR_SETTER):
3531 (WebCore::CALLBACK_FUNC_DECL):
3532 (WebCore::ACCESSOR_GETTER):
3533 (WebCore::INDEXED_PROPERTY_GETTER):
3534 (WebCore::NAMED_PROPERTY_GETTER):
3535 (WebCore::V8Custom::ClearTimeoutImpl):
3536 (WebCore::NAMED_ACCESS_CHECK):
3537 (WebCore::INDEXED_ACCESS_CHECK):
3538 * bindings/v8/custom/V8DatabaseCustom.cpp:
3539 (WebCore::CALLBACK_FUNC_DECL):
3540 * bindings/v8/custom/V8DocumentCustom.cpp:
3541 (WebCore::CALLBACK_FUNC_DECL):
3542 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3543 (WebCore::ACCESSOR_GETTER):
3544 (WebCore::ACCESSOR_SETTER):
3545 * bindings/v8/custom/V8ElementCustom.cpp:
3546 (WebCore::CALLBACK_FUNC_DECL):
3547 (WebCore::ACCESSOR_SETTER):
3548 (WebCore::ACCESSOR_GETTER):
3549 * bindings/v8/custom/V8EventCustom.cpp:
3550 (WebCore::ACCESSOR_SETTER):
3551 (WebCore::ACCESSOR_GETTER):
3552 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3553 (WebCore::CALLBACK_FUNC_DECL):
3554 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3555 (WebCore::CALLBACK_FUNC_DECL):
3556 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3557 (WebCore::getNamedItems):
3559 (WebCore::NAMED_PROPERTY_GETTER):
3560 (WebCore::CALLBACK_FUNC_DECL):
3561 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3562 (WebCore::NAMED_PROPERTY_GETTER):
3563 (WebCore::CALLBACK_FUNC_DECL):
3564 (WebCore::ACCESSOR_GETTER):
3565 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3566 (WebCore::INDEXED_PROPERTY_GETTER):
3567 (WebCore::NAMED_PROPERTY_GETTER):
3568 (WebCore::CALLBACK_FUNC_DECL):
3569 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3570 (WebCore::ACCESSOR_SETTER):
3571 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3572 (WebCore::NAMED_PROPERTY_GETTER):
3573 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3574 (WebCore::ACCESSOR_SETTER):
3575 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3576 (WebCore::CALLBACK_FUNC_DECL):
3577 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3578 (WebCore::ACCESSOR_GETTER):
3579 (WebCore::ACCESSOR_SETTER):
3580 (WebCore::CALLBACK_FUNC_DECL):
3581 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
3582 (WebCore::CALLBACK_FUNC_DECL):
3583 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3584 (WebCore::CALLBACK_FUNC_DECL):
3585 (WebCore::ACCESSOR_GETTER):
3586 (WebCore::ACCESSOR_SETTER):
3587 (WebCore::INDEXED_PROPERTY_GETTER):
3588 (WebCore::INDEXED_PROPERTY_SETTER):
3589 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3590 (WebCore::NAMED_PROPERTY_GETTER):
3591 (WebCore::NAMED_PROPERTY_SETTER):
3592 (WebCore::INDEXED_PROPERTY_GETTER):
3593 (WebCore::INDEXED_PROPERTY_SETTER):
3594 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
3595 (WebCore::NAMED_PROPERTY_GETTER):
3596 (WebCore::INDEXED_PROPERTY_SETTER):
3597 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3598 (WebCore::CALLBACK_FUNC_DECL):
3599 (WebCore::removeElement):
3600 * bindings/v8/custom/V8InspectorControllerCustom.cpp:
3601 (WebCore::CALLBACK_FUNC_DECL):
3602 * bindings/v8/custom/V8LocationCustom.cpp:
3603 (WebCore::ACCESSOR_SETTER):
3604 (WebCore::ACCESSOR_GETTER):
3605 (WebCore::CALLBACK_FUNC_DECL):
3606 (WebCore::INDEXED_ACCESS_CHECK):
3607 (WebCore::NAMED_ACCESS_CHECK):
3608 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3609 (WebCore::CALLBACK_FUNC_DECL):
3610 * bindings/v8/custom/V8MessagePortCustom.cpp:
3611 (WebCore::ACCESSOR_GETTER):
3612 (WebCore::ACCESSOR_SETTER):
3613 (WebCore::CALLBACK_FUNC_DECL):
3614 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3615 (WebCore::INDEXED_PROPERTY_GETTER):
3616 (WebCore::NAMED_PROPERTY_GETTER):
3617 * bindings/v8/custom/V8NavigatorCustom.cpp:
3618 (WebCore::ACCESSOR_GETTER):
3619 * bindings/v8/custom/V8NodeCustom.cpp:
3620 (WebCore::CALLBACK_FUNC_DECL):
3621 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
3623 (WebCore::CALLBACK_FUNC_DECL):
3624 * bindings/v8/custom/V8NodeListCustom.cpp:
3625 (WebCore::NAMED_PROPERTY_GETTER):
3626 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3627 (WebCore::CALLBACK_FUNC_DECL):
3628 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3629 (WebCore::CALLBACK_FUNC_DECL):
3630 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
3631 (WebCore::CALLBACK_FUNC_DECL):
3632 * bindings/v8/custom/V8SVGLengthCustom.cpp:
3633 (WebCore::ACCESSOR_GETTER):
3634 (WebCore::CALLBACK_FUNC_DECL):
3635 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
3636 (WebCore::CALLBACK_FUNC_DECL):
3637 * bindings/v8/custom/V8StorageCustom.cpp:
3638 (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
3639 (WebCore::storageGetter):
3640 (WebCore::storageSetter):
3641 (WebCore::storageDeleter):
3642 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
3643 (WebCore::NAMED_PROPERTY_GETTER):
3644 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3646 (WebCore::CALLBACK_FUNC_DECL):
3647 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
3648 (WebCore::CALLBACK_FUNC_DECL):
3649 * bindings/v8/custom/V8WorkerContextCustom.cpp:
3650 (WebCore::ACCESSOR_GETTER):
3651 (WebCore::ACCESSOR_SETTER):
3652 (WebCore::SetTimeoutOrInterval):
3653 (WebCore::CALLBACK_FUNC_DECL):
3654 * bindings/v8/custom/V8WorkerCustom.cpp:
3655 (WebCore::CALLBACK_FUNC_DECL):
3656 (WebCore::ACCESSOR_GETTER):
3657 (WebCore::ACCESSOR_SETTER):
3658 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3659 (WebCore::CALLBACK_FUNC_DECL):
3660 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3661 (WebCore::ACCESSOR_GETTER):
3662 (WebCore::ACCESSOR_SETTER):
3663 (WebCore::CALLBACK_FUNC_DECL):
3664 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3665 (WebCore::ACCESSOR_GETTER):
3666 (WebCore::ACCESSOR_SETTER):
3667 (WebCore::CALLBACK_FUNC_DECL):
3668 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3669 (WebCore::CALLBACK_FUNC_DECL):
3671 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
3673 Reviewed by Simon Fraser.
3675 Make sure we can click outside the slider thumb and start dragging.
3676 https://bugs.webkit.org/show_bug.cgi?id=26229
3678 Previously we were assuming that if the thumb hasn't been clicked, we
3679 wouldn't issue any value change upon dragging.
3681 We need to handle the two different cases:
3682 - Clicked in the thumb, we need to make sure the cursor is always pointing
3683 the same slider thumb point.
3684 - Clicked outside, the cursor should always be pointing to the center of
3687 For simplicity, we don't remember the original point of the mouse down,
3688 but a vector between that point and the thumb.
3690 * rendering/RenderSlider.cpp:
3691 (WebCore::SliderThumbElement::SliderThumbElement):
3692 (WebCore::SliderThumbElement::defaultEventHandler):
3693 (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
3694 * rendering/RenderSlider.h:
3696 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
3698 Reviewed by Simon Fraser.
3700 https://bugs.webkit.org/show_bug.cgi?id=27100
3701 <rdar://problem/7042621>
3703 Don't display "loading" in the <video> controller when
3704 there is no src specified.
3706 * rendering/MediaControlElements.cpp:
3707 (WebCore::MediaControlStatusDisplayElement::update): The only
3708 way to find out if we have an element is currentSrc(). networkState()
3709 will always report LOADING according to the spec.
3711 2009-07-08 Adam Barth <abarth@webkit.org>
3713 Reviewed by Eric Seidel.
3715 [V8] Move V8GCController functions to their own file
3716 https://bugs.webkit.org/show_bug.cgi?id=27102
3718 * bindings/v8/V8GCController.cpp: Added.
3719 * bindings/v8/V8GCController.h: Added.
3720 * bindings/v8/V8Proxy.cpp:
3721 * bindings/v8/V8Proxy.h:
3723 2009-07-08 Jeremy Orlow <jorlow@chromium.org>
3725 Reviewed by Darin Fisher.
3727 Split StorageArea and StorageNamespace into an interface and implementation.
3728 https://bugs.webkit.org/show_bug.cgi?id=27072
3730 I need to split StorageNamespace and StorageArea into an interface and
3731 implementation. In a later patch, I'll implement a proxy interface
3732 that'll run inside the Chromium renderer process.
3734 Additionally, fix the alphabetical ordering of files I recently added
3735 in the project files.
3737 This is a continuation of other refactoring work:
3738 https://bugs.webkit.org/show_bug.cgi?id=25376
3741 * WebCore.vcproj/WebCore.vcproj:
3742 * WebCore.xcodeproj/project.pbxproj:
3743 * WebCoreSources.bkl:
3744 * storage/StorageArea.cpp:
3745 (WebCore::StorageArea::create):
3746 * storage/StorageArea.h:
3747 (WebCore::StorageArea::~StorageArea):
3748 * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
3749 (WebCore::StorageAreaImpl::create):
3750 (WebCore::StorageAreaImpl::~StorageAreaImpl):
3751 (WebCore::StorageAreaImpl::StorageAreaImpl):
3752 (WebCore::StorageAreaImpl::copy):
3753 (WebCore::StorageAreaImpl::length):
3754 (WebCore::StorageAreaImpl::key):
3755 (WebCore::StorageAreaImpl::getItem):
3756 (WebCore::StorageAreaImpl::setItem):
3757 (WebCore::StorageAreaImpl::removeItem):
3758 (WebCore::StorageAreaImpl::clear):
3759 (WebCore::StorageAreaImpl::contains):
3760 (WebCore::StorageAreaImpl::importItem):
3761 (WebCore::StorageAreaImpl::securityOrigin):
3762 (WebCore::StorageAreaImpl::close):
3763 (WebCore::StorageAreaImpl::blockUntilImportComplete):
3764 (WebCore::StorageAreaImpl::dispatchStorageEvent):
3765 * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
3766 * storage/StorageAreaSync.h:
3767 * storage/StorageNamespace.cpp:
3768 (WebCore::StorageNamespace::localStorageNamespace):
3769 (WebCore::StorageNamespace::sessionStorageNamespace):
3770 * storage/StorageNamespace.h:
3771 (WebCore::StorageNamespace::~StorageNamespace):
3772 * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
3773 (WebCore::StorageNamespaceImpl::localStorageNamespace):
3774 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
3775 (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
3776 (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
3777 (WebCore::StorageNamespaceImpl::copy):
3778 (WebCore::StorageNamespaceImpl::storageArea):
3779 (WebCore::StorageNamespaceImpl::close):
3780 * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
3782 2009-07-08 Adam Barth <abarth@webkit.org>
3784 Reviewed by Eric Seidel.
3786 [V8] Move garbage collector related functions from V8Proxy to V8GCController
3787 https://bugs.webkit.org/show_bug.cgi?id=26967
3789 This patch just moves the functions around in V8Proxy. We'll actually
3790 move them to a separate file in another patch.
3792 * bindings/v8/NPV8Object.cpp:
3794 * bindings/v8/ScheduledAction.cpp:
3795 (WebCore::ScheduledAction::ScheduledAction):
3796 (WebCore::ScheduledAction::~ScheduledAction):
3797 * bindings/v8/ScriptController.cpp:
3798 (WebCore::ScriptController::gcProtectJSWrapper):
3799 (WebCore::ScriptController::gcUnprotectJSWrapper):
3800 * bindings/v8/ScriptInstance.cpp:
3801 (WebCore::V8ScriptInstance::clear):
3802 (WebCore::V8ScriptInstance::set):
3803 * bindings/v8/ScriptValue.h:
3804 (WebCore::ScriptValue::ScriptValue):
3805 (WebCore::ScriptValue::operator=):
3806 (WebCore::ScriptValue::clear):
3807 * bindings/v8/V8AbstractEventListener.cpp:
3808 (WebCore::V8AbstractEventListener::disposeListenerObject):
3809 * bindings/v8/V8LazyEventListener.cpp:
3810 (WebCore::V8LazyEventListener::~V8LazyEventListener):
3811 (WebCore::V8LazyEventListener::getListenerFunction):
3812 (WebCore::V8LazyEventListener::getWrappedListenerFunction):
3813 * bindings/v8/V8NodeFilterCondition.cpp:
3814 (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
3815 (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
3816 * bindings/v8/V8Proxy.cpp:
3817 (WebCore::V8GCController::registerGlobalHandle):
3818 (WebCore::V8GCController::unregisterGlobalHandle):
3819 (WebCore::V8GCController::gcProtect):
3820 (WebCore::V8GCController::gcUnprotect):
3821 (WebCore::V8Proxy::destroyGlobal):
3822 (WebCore::V8Proxy::updateDocumentWrapper):
3823 (WebCore::V8Proxy::clearDocumentWrapper):
3824 (WebCore::V8Proxy::disposeContextHandles):
3825 (WebCore::V8Proxy::initContextIfNeeded):
3826 * bindings/v8/V8Proxy.h:
3828 (WebCore::GlobalHandleInfo::GlobalHandleInfo):
3829 * bindings/v8/custom/V8CustomEventListener.cpp:
3830 (WebCore::V8EventListener::V8EventListener):
3832 2009-07-08 Daniel Bates <dbates@intudata.com>
3834 Reviewed by Adam Barth.
3836 https://bugs.webkit.org/show_bug.cgi?id=26918
3838 Prevents injection of HTML Base tag.
3840 Tests: http/tests/security/xssAuditor/base-href-control-char.html
3841 http/tests/security/xssAuditor/base-href-null-char.html
3842 http/tests/security/xssAuditor/base-href-safe.html
3843 http/tests/security/xssAuditor/base-href-safe2.html
3844 http/tests/security/xssAuditor/base-href-scheme-relative.html
3845 http/tests/security/xssAuditor/base-href.html
3847 * html/HTMLBaseElement.cpp:
3848 (WebCore::HTMLBaseElement::parseMappedAttribute):
3849 (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
3850 to determine if it is safe to use base element URL.
3851 * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
3852 * page/XSSAuditor.cpp:
3853 (WebCore::XSSAuditor::canSetBaseElementURL):
3854 * page/XSSAuditor.h:
3856 2009-07-08 Nate Chapin <japhet@chromium.org>
3858 Reviewed by Dimitri Glazkov.
3860 Upstream V8 npruntime bindings.
3862 https://bugs.webkit.org/show_bug.cgi?id=27094
3864 * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
3865 (StringKey::operator==):
3866 (StringKey::StringKeyHash::hash):
3867 (StringKey::StringKeyHash::equal):
3868 (StringKeyHashTraits::constructDeletedValue):
3869 (StringKeyHashTraits::isDeletedValue):
3870 (getStringIdentifierMap):
3871 (getIntIdentifierMap):
3872 * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
3873 * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
3874 * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
3876 2009-07-08 Dumitru Daniliuc <dumi@chromium.org>
3878 Reviewed by Darin Fisher.
3880 Extending the PlatformFileHandle definition from PLATFORM(WIN) to
3883 https://bugs.webkit.org/show_bug.cgi?id=27013
3885 * platform/FileSystem.h:
3887 2009-07-08 Daniel Bates <dbates@intudata.com>
3889 Reviewed by Adam Barth.
3891 https://bugs.webkit.org/show_bug.cgi?id=27071
3893 Resolves issue when HTTP parameters contain null- and non-null-control- characters.
3895 Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
3896 http/tests/security/xssAuditor/embed-tag-control-char.html
3897 http/tests/security/xssAuditor/embed-tag-null-char.html
3898 http/tests/security/xssAuditor/embed-tag.html
3899 http/tests/security/xssAuditor/link-onclick-control-char.html
3900 http/tests/security/xssAuditor/link-onclick-null-char.html
3901 http/tests/security/xssAuditor/object-embed-tag-control-char.html
3902 http/tests/security/xssAuditor/object-embed-tag-null-char.html
3903 http/tests/security/xssAuditor/object-embed-tag.html
3904 http/tests/security/xssAuditor/object-tag.html
3905 http/tests/security/xssAuditor/script-tag-post-control-char.html
3906 http/tests/security/xssAuditor/script-tag-post-null-char.html
3907 http/tests/security/xssAuditor/script-tag-with-source-control-char.html
3908 http/tests/security/xssAuditor/script-tag-with-source-null-char.html
3910 * page/XSSAuditor.cpp:
3911 (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
3912 (WebCore::XSSAuditor::canEvaluate):
3913 (WebCore::XSSAuditor::canCreateInlineEventListener):
3914 (WebCore::XSSAuditor::canLoadObject):
3915 (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
3916 and matchNonNullControlCharacters.
3917 (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
3918 and matchNonNullControlCharacters.
3919 * page/XSSAuditor.h:
3921 2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
3923 Reviewed by Dimitri Glazkov.
3925 Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
3926 https://bugs.webkit.org/show_bug.cgi?id=27093
3928 This is specific for v8, no change in behavior.
3930 * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
3932 2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
3934 Reviewed by Simon Fraser.
3936 https://bugs.webkit.org/show_bug.cgi?id=27086
3938 Make sure the Media controller doesn't fade in for no reason.
3939 This is happening because a update() call to the controller
3940 panel may reset the opacity to 1.0, given that it reloads the
3943 We also add a different fade in and fade out time to soften
3944 the fade out effect.
3946 No test case because this depends on how the movie is loaded.
3948 * rendering/RenderMedia.cpp:
3949 (WebCore::RenderMedia::RenderMedia):
3950 (WebCore::RenderMedia::updateControls):
3951 (WebCore::RenderMedia::updateControlVisibility): Simplify
3952 , and make sure we stop the timer if there is no animation
3954 (WebCore::RenderMedia::opacityAnimationTimerFired):
3955 * rendering/RenderMedia.h:
3957 2009-07-08 David Kilzer <ddkilzer@apple.com>
3959 Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
3961 <https://bugs.webkit.org/show_bug.cgi?id=27081>
3963 Reviewed by Timothy Hatcher.
3965 * platform/cf/RunLoopTimerCF.cpp: This code is only used on
3966 Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
3967 in that macro as well.
3969 2009-07-08 Greg Bolsinga <bolsinga@apple.com>
3971 Reviewed by Darin Adler.
3973 Add -[WebView _isProcessingUserGesture]
3974 https://bugs.webkit.org/show_bug.cgi?id=27084
3976 Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
3979 * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
3980 * html/HTMLMediaElement.cpp:
3981 (WebCore::HTMLMediaElement::processingUserGesture):
3982 * loader/FrameLoader.cpp:
3983 (WebCore::FrameLoader::requestFrame):
3984 (WebCore::FrameLoader::isProcessingUserGesture):
3985 * loader/FrameLoader.h:
3987 2009-07-08 Alexey Proskuryakov <ap@webkit.org>
3989 Reviewed (an earlier version) by Geoff Garen.
3991 https://bugs.webkit.org/show_bug.cgi?id=27090
3992 Remove lockBackForwardList argument from HTMLFormElement::submit()
3994 No change in behavior, so no tests.
3996 * bindings/js/JSHTMLFormElementCustom.cpp:
3997 (WebCore::JSHTMLFormElement::submit):
3998 * html/HTMLFormElement.cpp:
3999 (WebCore::HTMLFormElement::submit):
4000 * html/HTMLFormElement.h:
4001 * loader/FrameLoader.cpp:
4002 (WebCore::FrameLoader::submitForm):
4003 (WebCore::FrameLoader::scheduleFormSubmission):
4004 * loader/FrameLoader.h:
4005 Don't pass lockBackForwardList around when it's known to be false.
4007 2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
4009 Reviewed by Adam Barth.
4011 Fix V8 idl codegen to use unique constant names
4012 <https://bugs.webkit.org/show_bug.cgi?id=27089>
4014 Embed the interface name in the global constant names so coagulating all
4015 the .cc files into one compile unit works with V8 bindings.
4017 Nothing added; Still compiles and pass tests.
4019 * bindings/scripts/CodeGeneratorV8.pm:
4021 2009-07-08 Brent Fulgham <bfulgham@webkit.org>
4023 Build fix: Add missing #includes for Windows (cURL) build.
4024 The <winsock2.h> and <windows.h> headers were not being
4025 included in Windows cURL builds.
4027 * platform/network/ResourceHandleInternal.h:
4028 * platform/network/curl/ResourceHandleManager.h:
4030 2009-07-08 Shinichiro Hamaji <hamaji@chromium.org>
4032 Reviewed by David Kilzer.
4034 WebKit needs a style linting tool
4035 https://bugs.webkit.org/show_bug.cgi?id=25884
4037 Fix bunch of style issues in WebCore/rendering.
4038 This patch is created to demonstrate cpplint.py.
4040 No testcase because it's just a style fixes.
4042 * rendering/AutoTableLayout.cpp:
4043 (WebCore::AutoTableLayout::recalcColumn):
4044 (WebCore::AutoTableLayout::layout):
4045 * rendering/InlineFlowBox.cpp:
4046 (WebCore::InlineFlowBox::placeEllipsisBox):
4047 * rendering/InlineTextBox.cpp:
4048 (WebCore::InlineTextBox::paintTextMatchMarker):
4049 * rendering/MediaControlElements.cpp:
4050 (WebCore::MediaControlTimelineElement::defaultEventHandler):
4051 * rendering/MediaControlElements.h:
4052 * rendering/RenderArena.cpp:
4053 * rendering/RenderBlock.cpp:
4054 (WebCore::RenderBlock::startDelayUpdateScrollInfo):
4055 (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
4056 (WebCore::RenderBlock::updateScrollInfoAfterLayout):
4057 (WebCore::RenderBlock::positionNewFloats):
4058 (WebCore::RenderBlock::newLine):
4059 (WebCore::RenderBlock::floatBottom):
4060 (WebCore::RenderBlock::leftBottom):
4061 (WebCore::RenderBlock::rightBottom):
4062 * rendering/RenderBox.cpp:
4063 (WebCore::RenderBox::calcReplacedWidthUsing):
4064 * rendering/RenderFieldset.cpp:
4065 (WebCore::RenderFieldset::layoutLegend):
4066 * rendering/RenderFlexibleBox.cpp:
4067 (WebCore::FlexBoxIterator::FlexBoxIterator):
4068 (WebCore::FlexBoxIterator::reset):
4069 (WebCore::FlexBoxIterator::first):
4070 (WebCore::FlexBoxIterator::next):
4071 (WebCore::RenderFlexibleBox::layoutVerticalBox):
4072 * rendering/RenderFrameSet.cpp:
4073 (WebCore::borderStartEdgeColor):
4074 * rendering/RenderFrameSet.h:
4075 * rendering/RenderImage.cpp:
4076 * rendering/RenderLayer.cpp:
4077 (WebCore::RenderLayer::updateVisibilityStatus):
4078 (WebCore::RenderLayer::calculateClipRects):
4079 (WebCore::RenderLayer::calculateRects):
4080 * rendering/RenderListBox.cpp:
4081 (WebCore::RenderListBox::panScroll):
4082 * rendering/RenderMarquee.cpp:
4083 (WebCore::RenderMarquee::updateMarqueeStyle):
4084 * rendering/RenderMedia.cpp:
4085 (WebCore::RenderMedia::updateControls):
4086 * rendering/RenderObject.cpp:
4087 (WebCore::RenderObject::drawLineForBoxSide):
4088 (WebCore::RenderObject::localCaretRect):
4089 * rendering/RenderSVGImage.cpp:
4090 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
4091 * rendering/RenderSlider.h:
4092 * rendering/RenderTable.cpp:
4093 (WebCore::RenderTable::outerBorderBottom):
4094 * rendering/RenderTableCol.h:
4095 * rendering/RenderTextControlSingleLine.cpp:
4096 (WebCore::RenderTextControlSingleLine::itemIsSeparator):
4097 * rendering/RenderThemeChromiumSkia.cpp:
4098 (WebCore::RenderThemeChromiumSkia::supportsHover):
4099 * rendering/RenderThemeChromiumWin.cpp:
4100 (WebCore::RenderThemeChromiumWin::supportsFocusRing):
4101 * rendering/SVGCharacterLayoutInfo.cpp:
4102 (WebCore::SVGCharacterLayoutInfo::addStackContent):
4103 * rendering/SVGCharacterLayoutInfo.h:
4104 * rendering/TextControlInnerElements.h:
4105 * rendering/bidi.cpp:
4106 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
4108 2009-07-07 Oliver Hunt <oliver@apple.com>
4110 Reviewed by Maciej Stachowiak.
4112 Reduce complexity of lifetime management in DynamicNodeList caches
4113 <https://bugs.webkit.org/show_bug.cgi?id=27068>
4115 Switch the Cache object used by DynamicNodeList into a normal
4116 refcounted object rather than having a weird flag controlled
4117 refcounting system, where positive refcount did not automatically
4118 imply the cache object would actually still be live.
4120 * dom/DynamicNodeList.cpp:
4121 (WebCore::DynamicNodeList::DynamicNodeList):
4122 (WebCore::DynamicNodeList::~DynamicNodeList):
4123 (WebCore::DynamicNodeList::Caches::Caches):
4124 (WebCore::DynamicNodeList::Caches::create):
4125 * dom/DynamicNodeList.h:
4127 (WebCore::Node::childNodes):
4128 (WebCore::Node::getElementsByTagNameNS):
4129 (WebCore::Node::getElementsByName):
4130 (WebCore::Node::getElementsByClassName):
4131 (WebCore::NodeListsNodeData::invalidateCaches):
4132 (WebCore::NodeListsNodeData::isEmpty):
4133 * dom/NodeRareData.h:
4134 (WebCore::NodeListsNodeData::NodeListsNodeData):
4136 2009-07-07 Simon Fraser <simon.fraser@apple.com>
4138 Reviewed by Dan Bernstein.
4140 -webkit-perspective should be a Length
4141 https://bugs.webkit.org/show_bug.cgi?id=27066
4143 -webkit-perspective should not take a magic valueless number, but should
4144 be a normal Length value which responds to zooming. Treat valueless numbers
4145 as pixels for backward compatibility.
4147 Test: transforms/3d/general/perspective-units.html
4149 * css/CSSParser.cpp:
4150 (WebCore::CSSParser::parseValue):
4151 * css/CSSStyleSelector.cpp:
4152 (WebCore::CSSStyleSelector::applyProperty):
4154 2009-07-07 Pierre d'Herbemont <pdherbemont@apple.com>
4156 Reviewed by Simon Fraser.
4158 https://bugs.webkit.org/show_bug.cgi?id=27047
4160 We need to make sure that when we reattach, we also reattach
4161 the children in every MediaControlElement. Else we may end up
4162 having no remaining or elapsed time.
4164 We have to handle that, because we are using a special shadow
4165 tree in the DOM, and that we are ourselves handling
4166 attaching/detaching the renderer.
4168 The strategy here is to try to implement ::attach(), and try
4169 to reuse as much code as we can from the super class, including
4170 children attachement.
4172 Test: media/controls-after-reload.html
4174 * rendering/MediaControlElements.cpp:
4175 (WebCore::MediaControlElement::styleForElement): Code factoring.
4176 (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
4177 (WebCore::MediaControlElement::attach): Implement attach
4178 and call super class so that children are also attached.
4179 (WebCore::MediaControlElement::updateStyle): Use attach()
4180 (WebCore::MediaControlInputElement::styleForElement): Code factoring.
4181 (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
4182 (WebCore::MediaControlInputElement::attach): See above.
4183 (WebCore::MediaControlInputElement::updateStyle): Use attach()
4184 * rendering/MediaControlElements.h:
4185 * rendering/RenderMedia.cpp:
4186 (WebCore::RenderMedia::updateControls): Directly run attach() on
4187 the m_panel, which is a root node for our shadow tree.
4189 2009-07-07 Simon Fraser <simon.fraser@apple.com>
4191 Reviewed by Dan Bernstein.
4193 Repaint issue after layer drops out of composited mode.
4194 <https://bugs.webkit.org/show_bug.cgi?id=27022>
4196 RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
4197 and expect these to stay valid from one style change to the next. These rects
4198 are relative to the repaint container, so if a layer stops being composited,
4199 we need to recompute them.
4201 Test: compositing/repaint/layer-repaint-rects.html
4203 * rendering/RenderLayer.cpp:
4204 (WebCore::RenderLayer::computeRepaintRects):
4205 * rendering/RenderLayer.h:
4206 * rendering/RenderLayerCompositor.cpp:
4207 (WebCore::RenderLayerCompositor::updateBacking):
4209 2009-07-07 Dan Bernstein <mitz@apple.com>
4211 Reviewed by Dave Hyatt and Darin Adler.
4213 - fix https://bugs.webkit.org/show_bug.cgi?id=26963
4214 <rdar://problem/7030998> Reproducible crash at
4215 FontCache::getFontData() when a custom font is used in a pseudo-style
4217 Test: fast/css/pseudo-cache-stale.html
4220 (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
4221 style and the new style, goes over cached pseudo-styles in the old
4222 style and re-resolves the same style types off the new style. If any of
4223 the new pseudo-styles is different from the currently cached
4224 corresponding style, returns true. Otherwise, returns false.
4225 (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
4226 deciding to keep the existing style.
4228 * rendering/RenderObject.cpp:
4229 (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
4230 returns an uncached first-line style based off the given style.
4231 (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
4233 * rendering/RenderObject.h:
4234 * rendering/style/RenderStyle.cpp:
4235 (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
4236 pseudo-styles in the passed-in vector.
4237 * rendering/style/RenderStyle.h:
4239 2009-07-07 Dan Bernstein <mitz@apple.com>
4241 Reviewed by Simon Fraser.
4243 - fix https://bugs.webkit.org/show_bug.cgi?id=27042
4244 <rdar://problem/7010981> Incomplete painting of newly created floats
4246 Tests: fast/repaint/float-in-new-block-with-layout-delta.html
4247 fast/repaint/float-new-in-block.html
4249 * rendering/RenderBlock.cpp:
4250 (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
4251 laid out before, paint its overhanging floats in addition to itself.