1 2009-07-15 Jian Li <jianli@chromium.org>
3 Reviewed by David Levin.
5 Bug 25151 - workers that fail to load scripts not firing error event.
6 https://bugs.webkit.org/show_bug.cgi?id=25151
8 This fixes the problem that an error event is not fired when the worker
9 script fails to load. Some reasons this may occur are an invalid URL for
10 the worker script or a cross-origin redirect.
12 We also moves the code to complete the URL and check its origin from
13 Worker constructor to WorkerScriptLoader loading functions in order to
14 move the exception throwing logic out of the scope of Worker constructor.
15 Due to this change, we also remove the output ExceptionCode parameter
16 in the worker constructor. Corresponding JS/V8 binding codes have been
17 updated to reflect this change.
19 * bindings/js/JSWorkerConstructor.cpp:
20 (WebCore::constructWorker):
21 * bindings/v8/custom/V8WorkerCustom.cpp:
22 (WebCore::CALLBACK_FUNC_DECL):
24 (WebCore::Worker::Worker):
25 (WebCore::Worker::notifyFinished):
27 (WebCore::Worker::create):
28 * workers/WorkerContext.cpp:
29 (WebCore::WorkerContext::importScripts):
30 * workers/WorkerScriptLoader.cpp:
31 (WebCore::toCrossOriginRedirectPolicy):
32 (WebCore::WorkerScriptLoader::loadSynchronously):
33 (WebCore::WorkerScriptLoader::loadAsynchronously):
34 (WebCore::notifyLoadErrorTask):
35 (WebCore::WorkerScriptLoader::createResourceRequest):
36 (WebCore::WorkerScriptLoader::didFail):
37 (WebCore::WorkerScriptLoader::didFailRedirectCheck):
38 (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
39 (WebCore::WorkerScriptLoader::notifyError):
40 * workers/WorkerScriptLoader.h:
42 (WebCore::WorkerScriptLoader::url):
44 2009-07-15 Dan Bernstein <mitz@apple.com>
46 Reviewed by Dave Hyatt.
48 text-shadow is not drawn for text with transparent colour
49 https://bugs.webkit.org/show_bug.cgi?id=21374
51 Test: fast/text/shadow-translucent-fill.html
53 * rendering/InlineTextBox.cpp:
54 (WebCore::paintTextWithShadows): If the text fill color is not opaque,
55 paint all shadows separately from the text, by casting them from
56 clipped-out opaque text.
58 2009-07-15 Adam Treat <adam.treat@torchmobile.com>
62 * html/HTMLAreaElement.cpp:
64 2009-07-15 Jeremy Orlow <jorlow@chromium.org>
66 Reviewed by Darin Fisher.
68 Cleanup DOM Storage dependencies.
69 https://bugs.webkit.org/show_bug.cgi?id=27180
71 DOM Storage had several unnecessary (and probably unintended)
72 dependencies. This patch replaces many includes of header files with
73 forward declaration of classes, making some destructors explicit, and
74 taking some factories out of the header files.
76 This will allow things like StorageAreaSync to take a StorageAreaImpl*
77 (as it should) rather than a StorageArea* which previously weren't
78 possible because the dependencies were such a tangled mess.
80 * storage/LocalStorageTask.cpp:
81 (WebCore::LocalStorageTask::~LocalStorageTask):
82 * storage/LocalStorageTask.h:
83 * storage/Storage.cpp:
84 (WebCore::Storage::~Storage):
86 * storage/StorageArea.cpp:
87 * storage/StorageArea.h:
88 * storage/StorageAreaImpl.cpp:
89 * storage/StorageAreaImpl.h:
90 * storage/StorageAreaSync.cpp:
91 (WebCore::StorageAreaSync::~StorageAreaSync):
92 * storage/StorageAreaSync.h:
93 * storage/StorageEvent.cpp:
94 (WebCore::StorageEvent::create):
95 (WebCore::StorageEvent::StorageEvent):
96 * storage/StorageEvent.h:
97 * storage/StorageNamespace.h:
98 * storage/StorageNamespaceImpl.cpp:
99 * storage/StorageNamespaceImpl.h:
100 * storage/StorageSyncManager.cpp:
101 (WebCore::StorageSyncManager::~StorageSyncManager):
102 * storage/StorageSyncManager.h:
104 2009-07-15 Chris Marrin <cmarrin@apple.com>
106 Reviewed by Simon Fraser.
108 Incorrect animation when trying to duplicate effect of transform-origin
109 https://bugs.webkit.org/show_bug.cgi?id=27310
111 The bug is that matrix animation is being used when animating
112 a list of transform functions that match in the from and to states.
113 This sometimes works. But because of the way CA does matrix animation
114 function lists like the one shown in the testcase animate incorrectly.
116 This fixes the bug by always doing component animation
117 as long as the function lists match. This allows CA
118 to animate the components and then recompose the result
119 into the correct matrix.
121 Test: animations/transform-origin-vs-functions.html
123 * platform/graphics/mac/GraphicsLayerCA.mm:
124 (WebCore::GraphicsLayerCA::animateTransform):
126 2009-07-15 Albert J. Wong <ajwong@chromium.org>
128 Reviewed by David Levin.
130 Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
132 Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
134 https://bugs.webkit.org/show_bug.cgi?id=27274
136 Changes the build file for chromium. Test built the chromium tree
141 2009-07-15 Mark Rowe <mrowe@apple.com>
143 I like it when the code compiles.
147 2009-07-15 Darin Adler <darin@apple.com>
149 Reviewed by Sam Weinig.
151 Renamed parseURL to deprecatedParseURL.
153 * bindings/js/JSAttrCustom.cpp:
154 (WebCore::JSAttr::setValue): Renamed.
155 * bindings/js/JSElementCustom.cpp:
156 (WebCore::allowSettingSrcToJavascriptURL): Renamed.
157 * bindings/js/JSHTMLFrameElementCustom.cpp:
158 (WebCore::allowSettingJavascriptURL): Renamed.
159 * bindings/js/JSHTMLIFrameElementCustom.cpp:
160 (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
161 * bindings/objc/DOM.mm:
162 (-[DOMElement _getURLAttribute:]): Renamed.
163 * bindings/objc/DOMHTML.mm:
164 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
165 * bindings/v8/custom/V8CustomBinding.cpp:
166 (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
168 (WebCore::deprecatedParseURL): Renamed.
169 * css/CSSHelper.h: Renamed and updated comment.
170 * html/HTMLAnchorElement.cpp:
171 (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
172 (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
173 * html/HTMLBaseElement.cpp:
174 (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
175 * html/HTMLBodyElement.cpp:
176 (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
177 * html/HTMLEmbedElement.cpp:
178 (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
179 * html/HTMLFormElement.cpp:
180 (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
181 * html/HTMLFrameElementBase.cpp:
182 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
183 * html/HTMLImageElement.cpp:
184 (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
185 * html/HTMLImageLoader.cpp:
186 (WebCore::HTMLImageLoader::sourceURI): Renamed.
187 * html/HTMLLinkElement.cpp:
188 (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
189 * html/HTMLObjectElement.cpp:
190 (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
191 * html/HTMLTableElement.cpp:
192 (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
193 * html/HTMLTablePartElement.cpp:
194 (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
195 * html/HTMLTokenizer.cpp:
196 (WebCore::HTMLTokenizer::parseTag): Renamed.
197 * html/PreloadScanner.cpp:
198 (WebCore::PreloadScanner::processAttribute): Renamed.
199 (WebCore::PreloadScanner::emitCSSRule): Renamed.
200 * platform/chromium/ClipboardChromium.cpp:
201 (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
202 * platform/chromium/PasteboardChromium.cpp:
203 (WebCore::Pasteboard::writeImage): Renamed.
204 * platform/qt/ClipboardQt.cpp:
205 (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
206 * platform/win/ClipboardWin.cpp:
207 (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
208 * rendering/HitTestResult.cpp:
209 (WebCore::HitTestResult::absoluteImageURL): Renamed.
210 (WebCore::HitTestResult::absoluteMediaURL): Renamed.
211 (WebCore::HitTestResult::absoluteLinkURL): Renamed.
212 * svg/SVGAElement.cpp:
213 (WebCore::SVGAElement::defaultEventHandler): Renamed.
214 * svg/SVGImageLoader.cpp:
215 (WebCore::SVGImageLoader::sourceURI): Renamed.
216 * wml/WMLAElement.cpp:
217 (WebCore::WMLAElement::defaultEventHandler): Renamed.
218 * wml/WMLImageLoader.cpp:
219 (WebCore::WMLImageLoader::sourceURI): Renamed.
221 2009-07-15 Darin Adler <darin@apple.com>
223 Reviewed by Dan Bernstein.
225 CSSHelper.h's parseURL is a function that no one should ever call
226 Part 1: Eliminate callers in the CSS parser.
227 https://bugs.webkit.org/show_bug.cgi?id=26599
229 Test: fast/css/uri-token-parsing.html
231 * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
232 function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
235 (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
236 CSSParser::text already takes care of parsing the URI token syntax, and the
237 parseURL function does no good.
238 (WebCore::CSSParser::parseContent): Ditto.
239 (WebCore::CSSParser::parseFillImage): Ditto.
240 (WebCore::CSSParser::parseFontFaceSrc): Ditto.
241 (WebCore::CSSParser::parseBorderImage): Ditto.
242 (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
244 (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
245 are both trimmed before removing the quote marks. Changed to use the
246 isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
248 * css/CSSParser.h: Removed stray "public:" in this header.
250 * platform/text/StringImpl.cpp:
251 (WebCore::StringImpl::substring): Optimized the case where the substring covers
252 the entire string, so we just share the StringImpl instead of making a new one.
253 This case came up in earlier versions of the CSS parser changes above.
254 (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
255 not call substring any more. Before, this was relying on the substring function
256 always making a copy of any non-empty substring.
258 2009-07-15 Darin Adler <darin@apple.com>
260 Reviewed by John Sullivan.
262 After double-clicking a word, using Shift-arrow to select behaves unpredictably
263 https://bugs.webkit.org/show_bug.cgi?id=27177
264 rdar://problem/7034324
266 Test: editing/selection/extend-selection-after-double-click.html
268 The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
269 being cleared in many cases where it should have been.
271 * editing/SelectionController.cpp:
272 (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
273 to false. This catches all sorts of cases that don't flow through the modify function.
274 Before, the flag would reflect the last call to the modify function, which was not
275 necessarily the last selection change.
276 (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
277 Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere.
278 (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
279 setSelection when setting up a trial selection controller, since setSelection now
280 clears that flag. Also changed both trial selection controller cases to set the flag,
281 although it's not strictly necessary in both cases. Added code to set
282 m_lastChangeWasHorizontalExtension when extending the selection, which used to be
283 handled in willBeModified. Now we need to do it after the selection change.
285 2009-07-15 Jeremy Orlow <jorlow@chromium.org>
287 Reviewed by Dimitri Glazkov.
289 Need to update DOM Storage files in GYPI file.
290 https://bugs.webkit.org/show_bug.cgi?id=27317
292 Need to update DOM Storage files in the GYPI file. They're pretty out
293 of date and we're on the path towards enabling them for everyone!
297 2009-07-15 Kwang Yul Seo <skyul@company100.net>
299 Reviewed by Eric Seidel.
301 https://bugs.webkit.org/show_bug.cgi?id=26794
302 Make Yacc-generated parsers to use fastMalloc/fastFree.
304 Define YYMALLOC and YYFREE to fastMalloc and fastFree
308 * xml/XPathGrammar.y:
310 2009-07-15 David Hyatt <hyatt@apple.com>
312 Reviewed by Adam Roben.
314 https://bugs.webkit.org/show_bug.cgi?id=27193
315 Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in
316 is effectively broken as a result.
318 No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
320 * rendering/RenderBlock.cpp:
321 (WebCore::RenderBlock::handleRunInChild):
323 2009-07-15 Yuzo Fujishima <yuzo@google.com>
325 Reviewed by Darin Adler.
327 Test: fast/js/instanceof-operator.html
329 Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest
330 https://bugs.webkit.org/show_bug.cgi?id=25205
332 In addition to for XMLHttpRequest, this also fixes for:
342 * bindings/js/JSAudioConstructor.cpp:
343 (WebCore::JSAudioConstructor::JSAudioConstructor):
344 * bindings/js/JSAudioConstructor.h:
345 * bindings/js/JSDOMBinding.h:
346 (WebCore::DOMConstructorObject::createStructure):
347 (WebCore::DOMConstructorObject::DOMConstructorObject):
348 * bindings/js/JSImageConstructor.cpp:
349 (WebCore::JSImageConstructor::JSImageConstructor):
350 * bindings/js/JSImageConstructor.h:
351 * bindings/js/JSMessageChannelConstructor.cpp:
352 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
353 * bindings/js/JSMessageChannelConstructor.h:
354 * bindings/js/JSOptionConstructor.cpp:
355 (WebCore::JSOptionConstructor::JSOptionConstructor):
356 * bindings/js/JSOptionConstructor.h:
357 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
358 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
359 * bindings/js/JSWebKitCSSMatrixConstructor.h:
360 * bindings/js/JSWebKitPointConstructor.cpp:
361 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
362 * bindings/js/JSWebKitPointConstructor.h:
363 * bindings/js/JSWorkerConstructor.cpp:
364 (WebCore::JSWorkerConstructor::JSWorkerConstructor):
365 * bindings/js/JSWorkerConstructor.h:
366 * bindings/js/JSXMLHttpRequestConstructor.cpp:
367 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
368 * bindings/js/JSXMLHttpRequestConstructor.h:
369 * bindings/js/JSXSLTProcessorConstructor.cpp:
370 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
371 * bindings/js/JSXSLTProcessorConstructor.h:
373 2009-07-15 Kai Br�ning <kai@granus.net>
375 Reviewed by Dave Hyatt.
377 CSS21 attribute selectors not dynamic for xml.
378 https://bugs.webkit.org/show_bug.cgi?id=25072
380 Moved the relevant test in StyledElement::attributeChanged()
381 to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
382 so it can be called from both StyledElement::attributeChanged()
383 and Element::attributeChanged().
384 Refactored Element::attributeChanged() into
385 Element::updateAfterAttributeChanged() and
386 Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
387 separately from StyledElement::attributeChanged().
389 Test: fast/css/attribute-selector-dynamic.xml
392 (WebCore::Element::attributeChanged):
393 (WebCore::Element::updateAfterAttributeChanged):
394 (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
396 * dom/StyledElement.cpp:
397 (WebCore::StyledElement::attributeChanged):
399 2009-07-15 Alpha Lam <hclam@chromium.org>
401 Reviewed by David Levin.
403 [V8] Layout test failures for drawImage in Canvas
404 https://bugs.webkit.org/show_bug.cgi?id=27311
406 Fixing several canvas layout tests failures due to a
407 missing return statement in CanvasRenderingContext2DDrawImage() which
408 was accidentally removed in r45929.
410 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
412 2009-07-15 Robert Hogan <robert@roberthogan.net>
414 Reviewed by Eric Seidel.
416 https://bugs.webkit.org/show_bug.cgi?id=26969
418 If the httpMethod() of the request passed to SubresourceLoader::create is not
419 supported by the client we must expect to call didFail() while m_loader is still null.
421 * loader/DocumentThreadableLoader.cpp:
422 (DocumentThreadableLoader::didFail):Changed.
424 2009-07-15 Mark Rowe <mrowe@apple.com>
429 * css/MediaQueryEvaluator.cpp:
430 * rendering/SVGRenderTreeAsText.cpp:
431 * rendering/style/SVGRenderStyle.cpp:
432 * svg/graphics/SVGPaintServer.cpp:
434 2009-07-07 Alpha Lam <hclam@chromium.org>
436 Reviewed by Dimitri Glazkov.
438 [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
439 https://bugs.webkit.org/show_bug.cgi?id=27170
441 Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
442 as a parameter of drawImage() for HTMLCanvasElement.
444 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
446 2009-07-15 Adam Barth <abarth@webkit.org>
448 Reviewed by Dimitri Glazkov.
450 [V8] Fix isolated world constructors
451 https://bugs.webkit.org/show_bug.cgi?id=27287
453 Don't enter V8Proxy::m_context before creating DOM constructors.
454 Instead, use getWrapperContext to get the right context.
456 After this patch, all my tests pass. I'll enable the feature
457 downstream and land the tests.
459 * bindings/scripts/CodeGeneratorV8.pm:
460 * bindings/v8/V8DOMWrapper.cpp:
461 (WebCore::V8DOMWrapper::getConstructor):
462 (WebCore::V8DOMWrapper::lookupDOMWrapper):
463 * bindings/v8/V8DOMWrapper.h:
464 * bindings/v8/V8IsolatedWorld.cpp:
465 (WebCore::V8IsolatedWorld::evaluate):
466 * bindings/v8/V8Proxy.cpp:
467 (WebCore::V8Proxy::createWrapperFromCache):
468 (WebCore::V8Proxy::isContextInitialized):
469 (WebCore::V8Proxy::disposeContextHandles):
470 (WebCore::V8Proxy::installDOMWindow):
471 (WebCore::V8Proxy::initContextIfNeeded):
472 (WebCore::V8Proxy::getHiddenObjectPrototype):
473 (WebCore::V8Proxy::installHiddenObjectPrototype):
474 * bindings/v8/V8Proxy.h:
476 2009-07-15 Antonio Gomes <antonio.gomes@openbossa.org>
478 Reviewed by Darin Adler.
480 useless null-check statement in visible_units.cpp@logicalStartOfLine
481 https://bugs.webkit.org/show_bug.cgi?id=27154
485 * editing/visible_units.cpp:
486 (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
488 2009-07-15 Brady Eidson <beidson@apple.com>
490 Reviewed by Dan Bernstein.
492 https://bugs.webkit.org/show_bug.cgi?id=27304
493 WebKit should provide usage and eligibility information about the page cache.
497 * history/CachedFrame.cpp:
498 (WebCore::CachedFrame::childFrameCount):
499 * history/CachedFrame.h:
501 * history/PageCache.cpp:
502 (WebCore::PageCache::frameCount):
503 (WebCore::PageCache::autoreleasedPageCount):
504 * history/PageCache.h:
505 (WebCore::PageCache::pageCount):
507 2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
509 Reviewed by David Levin.
511 Chromium's canvas forgets its context after fillText again
512 https://bugs.webkit.org/show_bug.cgi?id=27293
514 No new tests because the test for this was already added in
515 https://bugs.webkit.org/show_bug.cgi?id=26436
517 * platform/graphics/chromium/TransparencyWin.cpp:
518 (WebCore::TransparencyWin::compositeTextComposite):
520 2009-07-14 David Hyatt <hyatt@apple.com>
522 Reviewed by Simon Fraser.
524 https://bugs.webkit.org/show_bug.cgi?id=27283
526 Implement the new 'rem' unit from CSS3.
528 Added some rem-* tests in fast/css.
532 (WebCore::CSSParser::validUnit):
533 (WebCore::unitFromString):
534 (WebCore::CSSParser::parseValue):
535 (WebCore::CSSParser::lex):
536 * css/CSSParserValues.cpp:
537 (WebCore::CSSParserValue::createCSSValue):
538 * css/CSSPrimitiveValue.cpp:
539 (WebCore::CSSPrimitiveValue::computeLengthInt):
540 (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
541 (WebCore::CSSPrimitiveValue::computeLengthShort):
542 (WebCore::CSSPrimitiveValue::computeLengthFloat):
543 (WebCore::CSSPrimitiveValue::computeLengthDouble):
544 (WebCore::CSSPrimitiveValue::cssText):
545 (WebCore::CSSPrimitiveValue::parserValue):
546 * css/CSSPrimitiveValue.h:
547 (WebCore::CSSPrimitiveValue::):
548 (WebCore::CSSPrimitiveValue::isUnitTypeLength):
549 * css/CSSStyleSelector.cpp:
550 (WebCore::CSSStyleSelector::initForStyleResolve):
551 (WebCore::convertToLength):
552 (WebCore::CSSStyleSelector::applyProperty):
553 (WebCore::CSSStyleSelector::mapFillSize):
554 (WebCore::CSSStyleSelector::mapFillXPosition):
555 (WebCore::CSSStyleSelector::mapFillYPosition):
556 (WebCore::CSSStyleSelector::createTransformOperations):
557 * css/CSSStyleSelector.h:
558 * css/MediaQueryEvaluator.cpp:
559 (WebCore::device_heightMediaFeatureEval):
560 (WebCore::device_widthMediaFeatureEval):
561 (WebCore::heightMediaFeatureEval):
562 (WebCore::widthMediaFeatureEval):
563 * css/WebKitCSSMatrix.cpp:
564 (WebCore::WebKitCSSMatrix::setMatrixValue):
565 * css/tokenizer.flex:
567 (WebCore::Document::Document):
569 (WebCore::Document::usesRemUnits):
570 (WebCore::Document::setUsesRemUnits):
572 (WebCore::Element::recalcStyle):
573 * rendering/SVGRenderTreeAsText.cpp:
574 (WebCore::writeStyle):
575 * rendering/style/SVGRenderStyle.cpp:
576 (WebCore::SVGRenderStyle::cssPrimitiveToLength):
577 * svg/graphics/SVGPaintServer.cpp:
578 (WebCore::applyStrokeStyleToContext):
579 (WebCore::dashArrayFromRenderingStyle):
580 * svg/graphics/SVGPaintServer.h:
582 2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
584 Unreviewed, build fix.
586 Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
588 * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
590 2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
592 Reviewed by Darin Fisher.
594 [V8] Update bindings for ValiditeState patch.
595 https://bugs.webkit.org/show_bug.cgi?id=19562
597 * bindings/v8/DOMObjectsInclude.h:
598 * bindings/v8/DerivedSourcesAllInOne.cpp:
599 * bindings/v8/V8Index.cpp:
600 * bindings/v8/V8Index.h:
602 2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
604 Reviewed by Simon Hausmann.
606 [Qt] Cleanup - Remove obsolete code from the make system
607 https://bugs.webkit.org/show_bug.cgi?id=27299
611 2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
613 Reviewed by Ariya Hidayat.
615 Fix the build without media elements.
617 * rendering/HitTestResult.cpp:
618 (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
619 markers around the body of the method.
621 2009-07-14 Pavel Feldman <pfeldman@chromium.org>
623 Reviewed by Timothy Hatcher.
625 WebInspector: Move storeLastActivePanel out of the
626 ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
627 Add default panel for the first opening of the
630 https://bugs.webkit.org/show_bug.cgi?id=27263
632 * inspector/InspectorController.cpp:
633 (InspectorController::setWindowVisible):
634 * inspector/InspectorController.idl:
636 2009-07-14 Darin Adler <darin@apple.com>
638 Try to fix Windows build.
640 * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
642 2009-07-14 Pierre d'Herbemont <pdherbemont@apple.com>
644 Reviewed by Oliver Hunt.
646 HTMLMediaElement::supportsFullscreen() should return false
647 https://bugs.webkit.org/show_bug.cgi?id=27284
649 (Reverting a part of 45875)
651 HTMLVideoElement::supportsFullscreen() will properly do the
652 job, and check if the backend supports fullscreen.
654 HTMLVideoElement is the only subclass to support fullscreen
655 (conditionnaly). HTMLAudioElement fullscreen is not supported
656 and is a different kind of fullscreen, if it comes to be wanted.
658 No test can be done currently given that none of the media
659 backends support fullscreen.
661 * html/HTMLMediaElement.cpp:
662 * html/HTMLMediaElement.h:
663 (WebCore::HTMLMediaElement::supportsFullscreen):
665 2009-07-14 Darin Adler <darin@apple.com>
667 Reviewed by Dimitri Glazkov.
669 Next step in making DOM attribute getter/setters consistently use AtomicString
670 https://bugs.webkit.org/show_bug.cgi?id=25425
672 This covers eight DOM classes, and for each one of the classes:
674 - Changes the IDL to use the Reflect syntax for all simple cases.
675 - Removes unused functions in the classes, mainly newly unused ones that were
676 used for reflection before.
677 - Removes unneeded explicitly defined destructors.
678 - Explicitly declares destructors as virtual.
679 - Removes unneeded includes.
680 - Makes members protected or private rather than public where possible.
681 - Renames "doc" to "document".
682 - Tweaks formatting to match our latest style in a few places.
683 - Improves some FIXME comments.
685 Over time we'll want to do this for all HTML DOM classes.
687 * html/HTMLAnchorElement.cpp:
688 (WebCore::HTMLAnchorElement::HTMLAnchorElement):
689 * html/HTMLAnchorElement.h:
690 (WebCore::HTMLAnchorElement::endTagRequirement):
691 (WebCore::HTMLAnchorElement::tagPriority):
692 * html/HTMLAnchorElement.idl:
693 * html/HTMLAppletElement.cpp:
694 * html/HTMLAppletElement.h:
695 * html/HTMLAppletElement.idl:
696 * html/HTMLAreaElement.cpp:
697 (WebCore::HTMLAreaElement::parseMappedAttribute):
698 * html/HTMLAreaElement.h:
699 (WebCore::HTMLAreaElement::endTagRequirement):
700 (WebCore::HTMLAreaElement::tagPriority):
701 * html/HTMLAreaElement.idl:
702 * html/HTMLBRElement.cpp:
703 (WebCore::HTMLBRElement::parseMappedAttribute):
704 * html/HTMLBRElement.h:
705 * html/HTMLBRElement.idl:
706 * html/HTMLBaseElement.cpp:
707 (WebCore::HTMLBaseElement::HTMLBaseElement):
708 (WebCore::HTMLBaseElement::removedFromDocument):
709 (WebCore::HTMLBaseElement::process):
710 * html/HTMLBaseElement.h:
711 * html/HTMLBaseElement.idl:
712 * html/HTMLBaseFontElement.cpp:
713 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
714 * html/HTMLBaseFontElement.h:
715 (WebCore::HTMLBaseFontElement::endTagRequirement):
716 (WebCore::HTMLBaseFontElement::tagPriority):
717 * html/HTMLBaseFontElement.idl:
718 * html/HTMLBlockquoteElement.cpp:
719 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
720 * html/HTMLBlockquoteElement.h:
721 (WebCore::HTMLBlockquoteElement::tagPriority):
722 * html/HTMLBlockquoteElement.idl:
723 * html/HTMLBodyElement.cpp:
724 (WebCore::HTMLBodyElement::HTMLBodyElement):
725 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
726 * html/HTMLBodyElement.h:
727 (WebCore::HTMLBodyElement::endTagRequirement):
728 (WebCore::HTMLBodyElement::tagPriority):
729 * html/HTMLBodyElement.idl:
730 Made changes as described above.
732 * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
734 2009-07-14 Steve Falkenburg <sfalken@apple.com>
736 Reorganize JavaScriptCore headers into:
737 API: include/JavaScriptCore/
738 Private: include/private/JavaScriptCore/
740 Reviewed by Darin Adler.
742 * WebCore.vcproj/QTMovieWin.vcproj:
743 * WebCore.vcproj/WebCoreCommon.vsprops:
744 * WebCore.vcproj/build-generated-files.sh:
746 2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
748 Reviewed by Darin Adler.
750 Change all Noncopyable inheriting visibility to public.
751 https://bugs.webkit.org/show_bug.cgi?id=27225
753 Change all Noncopyable inheriting visibility to public because
754 it is needed to the custom allocation framework (bug #20422).
756 * bindings/js/GCController.h:
757 * bindings/js/WorkerScriptController.h:
758 * bindings/v8/V8DOMMap.cpp:
762 * css/CSSSelectorList.h:
763 * css/CSSStyleSelector.h:
765 * dom/MessagePortChannel.h:
766 * dom/XMLTokenizerLibxml2.cpp:
767 * dom/XMLTokenizerScope.h:
768 * editing/ReplaceSelectionCommand.cpp:
769 * editing/SelectionController.h:
770 * editing/TextIterator.cpp:
771 * history/PageCache.h:
772 * html/CanvasRenderingContext2D.h:
774 * html/HTMLParserQuirks.h:
775 * html/PreloadScanner.h:
777 * loader/CrossOriginPreflightResultCache.h:
778 * loader/FrameLoader.h:
779 * loader/ProgressTracker.h:
780 * loader/ThreadableLoader.h:
781 * loader/appcache/ApplicationCacheGroup.h:
782 * loader/archive/ArchiveResourceCollection.h:
783 * loader/icon/IconDatabase.h:
784 * loader/icon/IconLoader.h:
785 * loader/icon/PageURLRecord.h:
787 * page/ContextMenuController.h:
788 * page/EventHandler.h:
792 * page/PageGroupLoadDeferrer.h:
793 * page/mac/EventHandlerMac.mm:
794 * platform/AutodrainedPool.h:
795 * platform/ContextMenu.h:
796 * platform/EventLoop.h:
797 * platform/HostWindow.h:
798 * platform/Pasteboard.h:
799 * platform/PurgeableBuffer.h:
800 * platform/RunLoopTimer.h:
801 * platform/ThreadGlobalData.h:
802 * platform/ThreadTimers.h:
804 * platform/TreeShared.h:
805 * platform/graphics/FontData.h:
806 * platform/graphics/GlyphWidthMap.h:
807 * platform/graphics/GraphicsContext.h:
808 * platform/graphics/ImageBuffer.h:
809 * platform/graphics/ImageSource.h:
810 * platform/graphics/MediaPlayer.h:
811 * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
812 * platform/graphics/skia/PlatformContextSkia.h:
813 * platform/graphics/win/QTMovieWin.cpp:
814 * platform/mac/LocalCurrentGraphicsContext.h:
815 * platform/network/FormDataBuilder.h:
816 * platform/network/ResourceHandleInternal.h:
817 * platform/network/soup/ResourceHandleSoup.cpp:
818 * platform/text/StringBuffer.h:
819 * platform/text/TextCodec.h:
820 * platform/win/WindowMessageBroadcaster.h:
821 * rendering/CounterNode.h:
822 * rendering/LayoutState.h:
823 * rendering/RenderFrameSet.h:
824 * rendering/RenderView.h:
825 * rendering/TransformState.h:
826 * svg/SVGAnimatedProperty.h:
827 * svg/SynchronizableTypeWrapper.h:
828 * workers/WorkerMessagingProxy.h:
829 * workers/WorkerRunLoop.cpp:
830 * xml/XPathExpressionNode.h:
832 * xml/XPathPredicate.h:
835 2009-07-14 Darin Fisher <darin@chromium.org>
837 Reviewed by Darin Adler.
839 Fails to save document state when navigating away from a page with a
841 https://bugs.webkit.org/show_bug.cgi?id=27281
843 Test: fast/history/saves-state-after-fragment-nav.html
845 * history/HistoryItem.cpp:
846 (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
849 2009-07-14 Joseph Pecoraro <joepeck02@gmail.com>
851 Reviewed by Sam Weinig.
853 Inspector: Remove Unintended Global Variables
854 https://bugs.webkit.org/show_bug.cgi?id=27203
856 * inspector/front-end/Console.js:
857 (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
858 * inspector/front-end/DatabasesPanel.js:
859 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
860 * inspector/front-end/ObjectPropertiesSection.js:
861 (WebInspector.ObjectPropertyTreeElement.prototype.update):
862 * inspector/front-end/inspector.js:
863 (WebInspector.animateStyle):
865 2009-07-14 Michelangelo De Simone <micdesim@gmail.com>
867 Reviewed by Adele Peterson.
869 https://bugs.webkit.org/show_bug.cgi?id=19562
870 Added build stuff and stub for the ValidityState class, part of HTML5
872 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
874 Test: fast/forms/ValidityState-001.html
876 * DerivedSources.cpp: Inclusion of ValidityState files
877 * DerivedSources.make: ditto
878 * GNUmakefile.am: ditto
879 * WebCore.gypi: ditto
881 * WebCore.vcproj/WebCore.vcproj: ditto
882 * WebCore.xcodeproj/project.pbxproj: ditto
883 * WebCoreSources.bkl: ditto
884 * html/HTMLButtonElement.idl: validity attribute
885 * html/HTMLFieldSetElement.idl: ditto
886 * html/HTMLFormControlElement.cpp:
887 (WebCore::HTMLFormControlElement::validity): ValidityState getter
888 * html/HTMLFormControlElement.h: ditto
889 * html/HTMLInputElement.idl: validity attribute
890 * html/HTMLSelectElement.idl: ditto
891 * html/HTMLTextAreaElement.idl: ditto
892 * html/ValidityState.cpp: Added.
893 (WebCore::ValidityState::ValidityState):
894 (WebCore::ValidityState::valid): validation flag
895 * html/ValidityState.h: Added.
896 (WebCore::ValidityState::create): validation flag
897 (WebCore::ValidityState::control): ditto
898 (WebCore::ValidityState::valueMissing): ditto
899 (WebCore::ValidityState::typeMismatch): ditto
900 (WebCore::ValidityState::patternMismatch): ditto
901 (WebCore::ValidityState::tooLong): ditto
902 (WebCore::ValidityState::rangeUnderflow): ditto
903 (WebCore::ValidityState::rangeOverflow): ditto
904 (WebCore::ValidityState::stepMismatch): ditto
905 (WebCore::ValidityState::customError): ditto
906 * html/ValidityState.idl: Added.
908 2009-07-14 Ryosuke Niwa <rniwa@google.com>
910 Reviewed by Eric Seidel.
912 Outdenting a line inside a blockquote tag does nothing
913 https://bugs.webkit.org/show_bug.cgi?id=25316
915 The bug was caused by the code checking whether the blockquote is created by WebKit or not.
916 We simply remove this code to be consistent with Firefox and Internet Explorer.
917 Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
918 the placeholder before the enclosingNode because there could be contents before the current paragraph.
919 Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
920 It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
922 Test: editing/execCommand/outdent-regular-blockquote.html
924 * editing/IndentOutdentCommand.cpp:
925 (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
926 (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
928 2009-07-14 Adam Barth <abarth@webkit.org>
930 Reviewed by Dimitri Glazkov.
932 [V8] Fix isolated world wrappers for Node prototypes
933 https://bugs.webkit.org/show_bug.cgi?id=27277
935 This change does two things:
937 1) We bypass the wrapper cache in the isolated world. This is because
938 the wrapper template cache has prototypes that lead to the main
939 world. We can add a template cache for the isolated world if
940 performance warrants.
942 2) We introduce a smarter way to grab the wrapper context for a frame
943 that is aware that proxy <-> context do not stand in one-to-one
944 correspondence. This generalizes our solution for the node wrapper
947 The net result is that Node wrappers get the right prototypes. As
948 before, tests to follow.
950 * bindings/v8/V8DOMWrapper.cpp:
951 (WebCore::V8DOMWrapper::setHiddenWindowReference):
952 (WebCore::V8DOMWrapper::instantiateV8Object):
953 (WebCore::V8DOMWrapper::convertNodeToV8Object):
954 (WebCore::V8DOMWrapper::convertWindowToV8Object):
955 (WebCore::V8DOMWrapper::getWrapperContext):
956 * bindings/v8/V8DOMWrapper.h:
958 2009-07-14 Adam Barth <abarth@webkit.org>
960 Reviewed by Dimitri Glazkov.
962 [V8] Fix isolated world wrappers for Nodes
963 https://bugs.webkit.org/show_bug.cgi?id=27271
965 Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
966 caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
968 I have tests, but I can't land them until I get this feature under
971 * bindings/v8/V8DOMWrapper.cpp:
972 (WebCore::V8DOMWrapper::convertNodeToV8Object):
973 * bindings/v8/V8Proxy.h:
974 (WebCore::V8Proxy::V8Proxy):
976 2009-07-14 Adam Barth <abarth@webkit.org>
978 Reviewed by Dimitri Glazkov.
980 [V8] Fix isolated world crash on getting window.location
981 https://bugs.webkit.org/show_bug.cgi?id=27268
983 I have a test for this locally, but it requires a compile-time hack to
984 run. Once I get the feature's stability under control, we can turn the
985 feature on and add the tests.
987 * bindings/v8/V8DOMWrapper.cpp:
988 (WebCore::V8DOMWrapper::setHiddenWindowReference):
989 * bindings/v8/V8IsolatedWorld.h:
990 (WebCore::V8IsolatedWorld::context):
992 2009-07-14 Brent Fulgham <bfulgham@webkit.org>
994 Correct failing tests after r45875. The original patch did not
995 test the m_player member for null, causing crashes. This will
996 happen fairly frequently in real use. Was this original patch
998 https://bugs.webkit.org/show_bug.cgi?id=27246
1000 Test via existing media tests.
1002 * html/HTMLMediaElement.cpp:
1003 (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
1004 (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
1006 2009-07-14 Avi Drissman <avi@chromium.org>
1008 Reviewed by Darin Fisher.
1010 Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
1011 The Windows clipboard format is explicitly documented as being UTF-8,
1012 and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
1013 indicated, Windows-1252 is assumed, which is wrong.
1015 Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
1019 * platform/chromium/ClipboardChromium.cpp:
1020 (WebCore::ClipboardChromium::writeRange):
1021 * platform/chromium/PasteboardChromium.cpp:
1022 (WebCore::Pasteboard::writeSelection):
1024 2009-07-14 Albert J. Wong <ajwong@chromium.org>
1026 Reviewed by Dimitri Glazkov.
1028 Upstream V8NPObject.h and V8NPObject.cpp.
1029 https://bugs.webkit.org/show_bug.cgi?id=27103
1031 This just upstreams the files from the chromium code base. Only
1032 minor changes to formatting and similar were done, so no testing
1033 is required because nothing really changed. Code verified to compile.
1035 * bindings/v8/ScriptController.cpp:
1036 (WebCore::ScriptController::bindToWindowObject):
1037 (WebCore::ScriptController::createScriptInstanceForWidget):
1038 * bindings/v8/V8NPObject.cpp: Added.
1039 (npObjectInvokeImpl):
1040 (npObjectMethodHandler):
1041 (npObjectInvokeDefaultHandler):
1042 (weakTemplateCallback):
1043 (npObjectGetProperty):
1044 (npObjectNamedPropertyGetter):
1045 (npObjectIndexedPropertyGetter):
1046 (npObjectGetNamedProperty):
1047 (npObjectGetIndexedProperty):
1048 (npObjectSetProperty):
1049 (npObjectNamedPropertySetter):
1050 (npObjectIndexedPropertySetter):
1051 (npObjectSetNamedProperty):
1052 (npObjectSetIndexedProperty):
1053 (weakNPObjectCallback):
1054 (createV8ObjectForNPObject):
1055 (forgetV8ObjectForNPObject):
1056 * bindings/v8/V8NPObject.h: Added.
1057 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1058 (WebCore::NAMED_PROPERTY_GETTER):
1059 (WebCore::NAMED_PROPERTY_SETTER):
1060 (WebCore::CALLBACK_FUNC_DECL):
1061 (WebCore::INDEXED_PROPERTY_GETTER):
1062 (WebCore::INDEXED_PROPERTY_SETTER):
1065 2009-07-14 Albert J. Wong <ajwong@chromium.org>
1067 Reviewed by Darin Adler.
1069 Add HTMLMediaElement::supportSave() and a
1070 HitTestResult::absoluteMediaURL() functions
1071 https://bugs.webkit.org/show_bug.cgi?id=27246
1073 Added an implementation of supportsSave() into HTMLMediaElement
1074 that delegates to MediaPlayerPrivateImpl so that the media engine
1075 is able to signal whether or not a media source supports saving.
1077 Also added a function to HitTestResult that allows for retrieval
1078 of the currentSrc associated with the "hit" media element.
1080 These functions are just pipeing with no visible UI change so there
1081 are no related layout test changes.
1083 * html/HTMLMediaElement.cpp:
1084 (WebCore::HTMLMediaElement::supportsFullscreen):
1085 (WebCore::HTMLMediaElement::supportsSave):
1086 * html/HTMLMediaElement.h:
1087 * platform/graphics/MediaPlayer.cpp:
1088 (WebCore::MediaPlayer::supportsSave):
1089 * platform/graphics/MediaPlayer.h:
1090 * platform/graphics/MediaPlayerPrivate.h:
1091 (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
1092 (WebCore::MediaPlayerPrivateInterface::supportsSave):
1093 * rendering/HitTestResult.cpp:
1094 (WebCore::HitTestResult::altDisplayString):
1095 (WebCore::HitTestResult::absoluteMediaURL):
1096 * rendering/HitTestResult.h:
1098 2009-07-14 Dimitri Glazkov <dglazkov@chromium.org>
1100 Reviewed by Adam Barth.
1102 [V8] Implement Reflect and ReflectURL attribute support.
1103 https://bugs.webkit.org/show_bug.cgi?id=27273
1105 * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
1107 2009-07-14 Dmitry Titov <dimich@chromium.org>
1109 Reviewed by Darin Adler.
1111 https://bugs.webkit.org/show_bug.cgi?id=27266
1112 Add hasCurrentPoint() to WebCore::Path.
1113 This fixes Skia-based Chromium regression caused by the fix for
1114 https://bugs.webkit.org/show_bug.cgi?id=27187.
1115 For Skia, the new method always returns 'true', pending actual implementation.
1116 This means Chromium still will differ from Gecko behavior, but at least its Canvas
1117 will not be completely broken.
1119 Existing Canvas Layout Tests should pass in Chromium after this change.
1121 * html/CanvasRenderingContext2D.cpp:
1122 (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
1123 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
1124 (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
1126 * platform/graphics/Path.h:
1127 * platform/graphics/cairo/PathCairo.cpp:
1128 (WebCore::Path::hasCurrentPoint):
1129 * platform/graphics/cg/PathCG.cpp:
1130 (WebCore::Path::isEmpty):
1131 (WebCore::Path::hasCurrentPoint):
1132 * platform/graphics/qt/PathQt.cpp:
1133 (WebCore::Path::hasCurrentPoint):
1134 * platform/graphics/skia/PathSkia.cpp:
1135 (WebCore::Path::hasCurrentPoint):
1136 * platform/graphics/wx/PathWx.cpp:
1137 (WebCore::Path::hasCurrentPoint):
1138 All these files add a Path::hasCurrentPoint() for various platforms.
1140 2009-07-14 Nate Chapin <japhet@chromium.org>
1142 Reviewed by Sam Weinig.
1144 Upstream RGBColor from src.chromium.org.
1146 https://bugs.webkit.org/show_bug.cgi?id=27133
1148 * WebCore.gypi: Add RGBColor
1149 * css/RGBColor.cpp: Added.
1150 (WebCore::RGBColor::create):
1151 (WebCore::RGBColor::red):
1152 (WebCore::RGBColor::green):
1153 (WebCore::RGBColor::blue):
1154 * css/RGBColor.h: Added.
1155 (WebCore::RGBColor::RGBColor):
1157 2009-07-10 Matt Perry <mpcomplete@chromium.org>
1159 Reviewed by Darin Fisher.
1161 [V8] Rename the didCreate/DestroyScriptContext calls to make it
1162 clear that that those refer to the frame's contxt. Add another
1163 similar call for when creating contexts via evaluateInNewContext.
1164 https://bugs.webkit.org/show_bug.cgi?id=27104
1166 * bindings/v8/V8Proxy.cpp:
1167 (WebCore::V8Proxy::evaluateInNewContext):
1168 (WebCore::V8Proxy::disposeContextHandles):
1169 (WebCore::V8Proxy::initContextIfNeeded):
1170 * loader/EmptyClients.h:
1171 (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
1172 (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
1173 (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
1174 * loader/FrameLoaderClient.h:
1176 2009-07-14 Brent Fulgham <bfulgham@webkit.org>
1178 Revert http://trac.webkit.org/changeset/45864 after
1179 breaking of Windows build.
1181 * storage/LocalStorageTask.cpp:
1182 * storage/LocalStorageTask.h:
1183 * storage/Storage.cpp:
1184 * storage/Storage.h:
1185 * storage/StorageArea.cpp:
1186 * storage/StorageArea.h:
1187 * storage/StorageAreaImpl.cpp:
1188 * storage/StorageAreaImpl.h:
1189 * storage/StorageAreaSync.cpp:
1190 * storage/StorageAreaSync.h:
1191 * storage/StorageEvent.cpp:
1192 * storage/StorageEvent.h:
1193 (WebCore::StorageEvent::create):
1194 (WebCore::StorageEvent::StorageEvent):
1195 * storage/StorageNamespace.h:
1196 * storage/StorageNamespaceImpl.cpp:
1197 * storage/StorageNamespaceImpl.h:
1198 * storage/StorageSyncManager.cpp:
1199 * storage/StorageSyncManager.h:
1201 2009-07-11 Jeremy Orlow <jorlow@chromium.org>
1203 Reviewed by Darin Adler.
1205 Cleanup DOM Storage dependencies.
1206 https://bugs.webkit.org/show_bug.cgi?id=27180
1208 DOM Storage had several unnecessary (and probably unintended)
1209 dependencies. This patch replaces many includes of header files with
1210 forward declaration of classes, making some destructors explicit, and
1211 taking some factories out of the header files.
1213 This will allow things like StorageAreaSync to take a StorageAreaImpl*
1214 (as it should) rather than a StorageArea* which previously weren't
1215 possible because the dependencies were such a tangled mess.
1217 * storage/LocalStorageTask.cpp:
1218 (WebCore::LocalStorageTask::~LocalStorageTask):
1219 * storage/LocalStorageTask.h:
1220 * storage/Storage.cpp:
1221 (WebCore::Storage::~Storage):
1222 * storage/Storage.h:
1223 * storage/StorageArea.cpp:
1224 * storage/StorageArea.h:
1225 * storage/StorageAreaImpl.cpp:
1226 * storage/StorageAreaImpl.h:
1227 * storage/StorageAreaSync.cpp:
1228 (WebCore::StorageAreaSync::~StorageAreaSync):
1229 * storage/StorageAreaSync.h:
1230 * storage/StorageEvent.cpp:
1231 (WebCore::StorageEvent::create):
1232 (WebCore::StorageEvent::StorageEvent):
1233 * storage/StorageEvent.h:
1234 * storage/StorageNamespace.h:
1235 * storage/StorageNamespaceImpl.cpp:
1236 * storage/StorageNamespaceImpl.h:
1237 * storage/StorageSyncManager.cpp:
1238 (WebCore::StorageSyncManager::~StorageSyncManager):
1239 * storage/StorageSyncManager.h:
1242 2009-07-14 Adam Treat <adam.treat@torchmobile.com>
1244 Reviewed by David Hyatt.
1246 https://bugs.webkit.org/show_bug.cgi?id=26983
1248 Check to make sure the view is attached to a frame() in the visibleContentsResized()
1249 method as it can be triggered before the view is attached by Frame::createView(...)
1250 setting various values such as setScrollBarModes(...) for example. An ASSERT is
1251 triggered when a view is layout before being attached to a frame().
1253 * page/FrameView.cpp:
1254 (WebCore::FrameView::visibleContentsResized):
1257 2009-07-14 Pavel Feldman <pfeldman@chromium.org>
1259 Reviewed by Timothy Hatcher.
1261 WebInspector: show last opened panel when invoking inspector.
1263 https://bugs.webkit.org/show_bug.cgi?id=27263
1265 * inspector/InspectorController.cpp:
1266 (WebCore::InspectorController::InspectorController):
1267 (WebCore::InspectorController::setWindowVisible):
1268 (WebCore::InspectorController::storeLastActivePanel):
1269 (WebCore::InspectorController::specialPanelForJSName):
1270 * inspector/InspectorController.h:
1271 (WebCore::InspectorController::Setting::Setting):
1272 * inspector/InspectorController.idl:
1273 * inspector/front-end/inspector.js:
1274 (WebInspector.set currentPanel):
1275 (WebInspector.loaded):
1277 2009-07-14 Anton Muhin <antonm@chromium.org>
1279 Reviewed by Dimitri Glazkov.
1281 Speed up access to NodeList length.
1282 https://bugs.webkit.org/show_bug.cgi?id=27264
1284 That's a minimal alternation of the code.
1286 * bindings/v8/custom/V8NodeListCustom.cpp:
1287 (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
1288 v8::Integer::New instead of v8::Number::New.
1290 2009-07-14 Anton Muhin <antonm@chromium.org>
1292 Reviewed by Dimitri Glazkov.
1294 Do not do unnecessary conversions from v8::Handle<v8::Value> to
1295 v8::Handle<v8::Object> and accompanying changes.
1296 https://bugs.webkit.org/show_bug.cgi?id=26953
1300 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
1301 but are not free (they check for emptiness of handle);
1302 2) inline conversion from wrapper to node;
1303 3) simplify case to an ASSERT.
1305 This is just a refactoring, so no new tests are needed.
1307 * bindings/scripts/CodeGeneratorV8.pm:
1308 * bindings/v8/V8Proxy.cpp:
1309 (WebCore::V8Proxy::evaluateInNewContext):
1310 (WebCore::V8Proxy::convertToSVGPODTypeImpl):
1311 * bindings/v8/V8Proxy.h:
1312 (WebCore::V8Proxy::convertDOMWrapperToNative):
1313 (WebCore::V8Proxy::convertToNativeObject):
1314 (WebCore::V8Proxy::convertToNativeEvent):
1315 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1316 (WebCore::toCanvasStyle):
1317 (WebCore::CALLBACK_FUNC_DECL):
1318 * bindings/v8/custom/V8CustomBinding.cpp:
1319 (WebCore::V8Custom::GetTargetFrame):
1320 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1321 (WebCore::CALLBACK_FUNC_DECL):
1322 (WebCore::V8Custom::ClearTimeoutImpl):
1323 (WebCore::NAMED_ACCESS_CHECK):
1324 (WebCore::INDEXED_ACCESS_CHECK):
1325 * bindings/v8/custom/V8DocumentCustom.cpp:
1326 (WebCore::CALLBACK_FUNC_DECL):
1327 * bindings/v8/custom/V8LocationCustom.cpp:
1328 (WebCore::CALLBACK_FUNC_DECL):
1330 2009-07-14 Darin Adler <darin@apple.com>
1332 Reviewed by Dan Bernstein.
1334 Straight quotes should match fancy quotes in in-page search
1335 https://bugs.webkit.org/show_bug.cgi?id=27217
1337 Tests: fast/text/find-quotes.html
1339 * editing/TextIterator.cpp:
1340 (WebCore::foldQuoteMark): Added.
1341 (WebCore::foldQuoteMarks): Added.
1342 (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
1343 (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
1344 added to the search buffer.
1346 * platform/text/CharacterNames.h: Added more quotation mark character names.
1347 Sorted character names with the sort tool.
1349 2009-07-13 Pavel Feldman <pfeldman@chromium.org>
1351 Reviewed by Timothy Hatcher.
1353 WebInspector: handle debugger shortcuts while on source frame or on
1354 script file selector.
1356 https://bugs.webkit.org/show_bug.cgi?id=27224
1358 * inspector/front-end/ScriptsPanel.js:
1359 (WebInspector.ScriptsPanel):
1360 * inspector/front-end/SourceFrame.js:
1361 (WebInspector.SourceFrame.prototype._loaded):
1363 2009-07-13 Sam Weinig <sam@webkit.org>
1365 Reviewed by Darin Adler.
1367 Use standard HashCountedSet instead of a hand rolled one
1370 * html/HTMLDocument.cpp:
1371 (WebCore::addItemToMap):
1372 (WebCore::removeItemFromMap):
1373 * html/HTMLDocument.h:
1375 2009-07-13 Erik Arvidsson <arv@chromium.org>
1377 Reviewed by Darin Adler and Maciej Stachowiak.
1379 Implement HTML5 draggable
1380 https://bugs.webkit.org/show_bug.cgi?id=26262
1382 This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
1383 to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
1385 Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
1387 Test: fast/html/draggable.html
1390 * html/HTMLAnchorElement.cpp:
1391 (WebCore::HTMLAnchorElement::draggable):
1392 * html/HTMLAnchorElement.h:
1393 * html/HTMLAttributeNames.in:
1394 * html/HTMLElement.cpp:
1395 (WebCore::HTMLElement::draggable):
1396 (WebCore::HTMLElement::setDraggable):
1397 * html/HTMLElement.h:
1398 * html/HTMLElement.idl:
1399 * html/HTMLImageElement.cpp:
1400 (WebCore::HTMLImageElement::draggable):
1401 * html/HTMLImageElement.h:
1403 2009-07-13 Simon Fraser <simon.fraser@apple.com>
1405 Reviewed by Dan Bernstein.
1407 Image rendered as layer contents looks different from image rendered via CG.
1408 <rdar://problem/7048830>
1410 Fix a visible color profile difference between between images rendered via Core Graphics
1411 and those rendered via a compositing layer, by assigning the GenericRGB profile to
1412 untagged images (which come through as having the DeviceRGB profile) when they are set
1415 Test: compositing/color-matching/image-color-matching.html
1417 * platform/graphics/mac/GraphicsLayerCA.mm:
1418 (WebCore::GraphicsLayerCA::setContentsToImage):
1420 2009-07-13 Darin Adler <darin@apple.com>
1422 Reviewed by Oliver Hunt.
1424 https://bugs.webkit.org/show_bug.cgi?id=27220
1425 Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
1427 * editing/TextIterator.cpp:
1428 (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
1429 in the assertion. Affects only the assertion.
1431 2009-07-13 Alexey Proskuryakov <ap@webkit.org>
1433 Reviewed by Darin Adler.
1435 https://bugs.webkit.org/show_bug.cgi?id=26925
1436 <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
1438 Test: http/tests/appcache/main-resource-hash.html
1440 * loader/appcache/ApplicationCache.cpp:
1441 (WebCore::ApplicationCache::resourceForURL):
1442 (WebCore::ApplicationCache::resourceForRequest):
1443 * loader/appcache/ApplicationCacheGroup.cpp:
1444 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
1445 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
1446 (WebCore::ApplicationCacheGroup::selectCache):
1447 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
1448 (WebCore::ApplicationCacheGroup::didReceiveResponse):
1449 (WebCore::ApplicationCacheGroup::didFail):
1450 (WebCore::ApplicationCacheGroup::addEntry):
1451 Remove URL fragment at appcache code borders.
1453 * loader/appcache/ApplicationCacheResource.h:
1454 (WebCore::ApplicationCacheResource::create):
1455 * loader/appcache/ApplicationCacheStorage.cpp:
1456 (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
1457 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
1458 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
1459 Assert that there is no URL fragment in URL at key points in appcache code.
1461 2009-07-13 Darin Adler <darin@apple.com>
1463 Reviewed by Dan Bernstein.
1465 https://bugs.webkit.org/show_bug.cgi?id=27166
1466 rdar://problem/7015857
1467 Find for strings composed entirely of spaces doesn't work
1469 Test: fast/text/find-spaces.html
1471 * editing/TextIterator.cpp:
1472 (WebCore::findPlainText): Removed unneeded special case.
1473 The empty string case already works correctly.
1475 2009-07-13 Anders Carlsson <andersca@apple.com>
1477 Reviewed by Kevin Decker.
1479 Remove NPPVpluginPrivateModeBool, it was removed from the spec.
1483 2009-07-13 Feng Qian <feng@chromium.org>
1485 Reviewed by Dimitri Glazkov.
1487 Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
1489 Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.
1491 * bindings/v8/V8DOMMap.h:
1492 (WebCore::WeakReferenceMap::WeakReferenceMap):
1493 (WebCore::WeakReferenceMap::~WeakReferenceMap):
1495 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1497 Reviewed by Darin Fisher.
1499 Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
1501 * WebCore.gypi: Removed bidi.cpp and bidi.h
1503 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1505 Reviewed by Darin Fisher.
1507 Update WebCore.gyp in preparation to hooking it up.
1509 * WebCore.gypi: Added files that were mid-stream while switching over.
1511 2009-07-13 Dmitry Titov <dimich@chromium.org>
1513 Not reviewed, another small fix for Chromium build.
1515 * bindings/v8/ScriptController.cpp:
1516 (WebCore::ScriptController::evaluate):
1518 2009-07-13 Dmitry Titov <dimich@chromium.org>
1520 Not reviewed, fix Chromium build bustage.
1522 * bindings/v8/ScriptController.cpp:
1523 (WebCore::ScriptController::evaluate):
1524 * bindings/v8/V8Proxy.cpp:
1525 (WebCore::JavaScriptConsoleMessage::addToPage):
1526 * bindings/v8/WorkerContextExecutionProxy.cpp:
1527 (WebCore::handleConsoleMessage):
1529 2009-07-13 Sam Weinig <sam@webkit.org>
1531 Reviewed by Darin Adler.
1533 Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
1534 <rdar://problem/7054356>
1536 Add null page check in HTMLDocument::hasFocus.
1538 Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
1540 * html/HTMLDocument.cpp:
1541 (WebCore::HTMLDocument::hasFocus): Add page null check.
1542 (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
1544 2009-07-13 Dan Bernstein <mitz@apple.com>
1546 Reviewed by Darin Adler.
1548 Disable continuous spell checking in the inspector
1549 https://bugs.webkit.org/show_bug.cgi?id=27131
1551 * inspector/front-end/inspector.html: Added spellcheck="false" to the
1552 main-panels and console-prompt containers.
1554 2009-07-13 Adam Langley <agl@google.com>
1556 Reviewed by Eric Seidel.
1558 Chromium Linux: fix assertion when rendering google.com.kh
1560 https://bugs.webkit.org/show_bug.cgi?id=26924
1562 Some shapers (i.e. Khmer) will produce cluster logs which report that
1563 /no/ code points contributed to certain glyphs. Because of this, we
1564 take any code point which contributed to the glyph in question, or any
1565 subsequent glyph. If we run off the end, then we take the last code
1568 Added LayoutTests/fast/text/international/khmar-selection.html
1570 * platform/graphics/chromium/FontLinux.cpp:
1571 (WebCore::Font::offsetForPositionForComplexText):
1573 2009-07-13 Dan Bernstein <mitz@apple.com>
1575 Reviewed by Darin Adler.
1577 spellcheck="false" is ignored
1578 <rdar://problem/7054177>
1580 * editing/Editor.cpp:
1581 (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
1582 spellcheck attribute from here...
1583 (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
1584 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
1585 if spell chcking is disabled by the spellcheck attribute.
1588 2009-07-13 Brent Fulgham <bfulgham@webkit.org>
1590 Reviewed by Adam Roben.
1592 Add new configuration flag for redistributable Windows build.
1593 https://bugs.webkit.org/show_bug.cgi=27087
1595 * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
1596 Debug_Cairo and Release_Cairo builds.
1597 * config.h: Check for presence of WIN_CAIRO and select appropriate
1598 configuration. Defaults to standard Apple build.
1600 2009-07-13 Peter Kasting <pkasting@google.com>
1602 https://bugs.webkit.org/show_bug.cgi?id=19562
1603 Back out previous patch for this bug (too many problems).
1605 * DerivedSources.cpp:
1606 * DerivedSources.make:
1610 * WebCore.vcproj/WebCore.vcproj:
1611 * WebCore.xcodeproj/project.pbxproj:
1612 * WebCoreSources.bkl:
1613 * html/HTMLButtonElement.idl:
1614 * html/HTMLFieldSetElement.idl:
1615 * html/HTMLFormControlElement.cpp:
1616 * html/HTMLFormControlElement.h:
1617 (WebCore::HTMLFormControlElement::form):
1618 * html/HTMLInputElement.idl:
1619 * html/HTMLSelectElement.idl:
1620 * html/HTMLTextAreaElement.idl:
1621 * html/ValidityState.cpp: Removed.
1622 * html/ValidityState.h: Removed.
1623 * html/ValidityState.idl: Removed.
1625 2009-07-13 Nate Chapin <japhet@chromium.org>
1627 Reviewed by Dimitri Glazkov.
1629 Add HTMLAllCollection to WebCore.gypi.
1631 https://bugs.webkit.org/show_bug.cgi?id=27223
1633 * WebCore.gypi: Add HTMLAllCollection.
1635 2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
1637 Reviewed by Darin Fisher.
1639 [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
1640 https://bugs.webkit.org/show_bug.cgi?id=27218
1642 Test: fast/css/matrix-as-function-crash.html
1644 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1645 (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
1647 2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1649 Unreviewed make dist build fix.
1653 2009-07-13 Cédric Luthi <cedric.luthi@gmail.com>
1655 Reviewed by Tor Arne Vestbø.
1657 Fix NPWindow clip rect in PluginViewMac
1659 The rect should be in window-coordinates. This bug can be observed
1660 with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
1662 * plugins/mac/PluginViewMac.cpp:
1664 2009-07-13 Simon Hausmann <hausmann@webkit.org>
1666 Reviewed by Ariya Hidayat.
1668 Fix Qt implementation of WebCore::directoryName to return the absolute
1669 directory name instead of the base file name.
1671 * platform/qt/FileSystemQt.cpp:
1672 (WebCore::directoryName):
1674 2009-07-13 Simon Hausmann <hausmann@webkit.org>
1676 Reviewed by Ariya Hidayat.
1678 Fix WebCore::Path::isEmpty() for the Qt port to return true
1679 if there is no element in the path.
1681 QPainterPath::isEmpty() returns also true if there is one single
1682 MoveTo element inside, which makes sense but doesn't patch Webcore's
1683 is-empty definition.
1685 * platform/graphics/qt/PathQt.cpp:
1686 (WebCore::Path::isEmpty): Use elementCount() == 0.
1688 2009-07-13 Albert J. Wong <ajwong@chromium.org>
1690 Reviewed by Dimitri Glazkov.
1692 Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
1693 https://bugs.webkit.org/show_bug.cgi?id=27127
1695 There were a number of bugs introduced during the last upstreaming
1696 effort that broke around 30 layout tests. This fixes those bugs.
1697 It also has compile fixes to match the recent cutting apart of
1700 * bindings/v8/NPV8Object.cpp:
1702 (npCreateV8ScriptObject):
1704 (NPN_InvokeDefault):
1705 (NPN_EvaluateHelper):
1709 2009-07-13 Mads Ager <ager@chromium.org>
1711 Reviewed by Adam Barth.
1713 Fix memory leak in the V8 binding layer.
1714 https://bugs.webkit.org/show_bug.cgi?id=27163
1716 Reinitializing the context is not necessary when clearing the proxy for navigation
1717 and it will lead us to hold on to an empty context for each frame.
1719 Test for empty context instead of empty global object handle when
1720 updating the document for a context.
1722 * bindings/v8/V8Proxy.cpp:
1723 (WebCore::V8Proxy::clearForNavigation):
1724 (WebCore::V8Proxy::updateDocument):
1726 2009-07-13 John Gregg <johnnyg@google.com>
1728 Reviewed by David Levin.
1730 Correct the logic to determine if a V8 callback returns a value.
1731 https://bugs.webkit.org/show_bug.cgi?id=27155
1733 * bindings/v8/custom/V8CustomVoidCallback.cpp:
1734 (WebCore::invokeCallback):
1735 - Don't crash if result.IsEmpty().
1737 2009-07-13 Drew Wilson <atwilson@google.com>
1739 Reviewed by David Levin.
1741 Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
1742 https://bugs.webkit.org/show_bug.cgi?id=26932
1744 Initial IDL definition and bindings for SharedWorkers.
1746 * Configurations/FeatureDefines.xcconfig:
1747 Added new files for SharedWorker support.
1748 * DerivedSources.make:
1749 Added new files for SharedWorker support.
1751 Added new files for SharedWorker support.
1753 Added new files for SharedWorker support.
1755 Added new files for SharedWorker support.
1756 * WebCore.xcodeproj/project.pbxproj:
1757 Added new files for SharedWorker support.
1758 * bindings/js/JSAbstractWorkerCustom.cpp: Added.
1759 (WebCore::JSAbstractWorker::mark):
1760 Custom mark handler that marks the event listeners.
1761 (WebCore::JSAbstractWorker::addEventListener):
1762 (WebCore::JSAbstractWorker::removeEventListener):
1763 (WebCore::JSAbstractWorker::toJS):
1764 Custom toJS handler which differentiates between various subclasses.
1765 * bindings/js/JSDOMWindowCustom.cpp:
1766 (WebCore::JSDOMWindow::sharedWorker):
1767 SharedWorker constructor (only enabled when SHARED_WORKERS is
1769 * bindings/js/JSEventTarget.cpp:
1771 (WebCore::toEventTarget):
1772 Added support for converting to/from SharedWorkers.
1773 * bindings/js/JSSharedWorkerConstructor.cpp: Added.
1774 (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
1775 (WebCore::constructSharedWorker):
1776 (WebCore::JSSharedWorkerConstructor::getConstructData):
1777 * bindings/js/JSSharedWorkerConstructor.h: Added.
1778 (WebCore::JSSharedWorkerConstructor::classInfo):
1779 * bindings/js/JSSharedWorkerCustom.cpp: Added.
1780 (WebCore::JSSharedWorker::mark):
1781 Custom mark function that marks the internal MessagePort.
1782 * bindings/v8/DOMObjectsInclude.h:
1783 Updated to include new header files.
1784 * bindings/v8/V8Index.cpp:
1785 * bindings/v8/V8Index.h:
1786 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
1787 (WebCore::getEventListener):
1788 (WebCore::ACCESSOR_GETTER):
1789 (WebCore::ACCESSOR_SETTER):
1790 (WebCore::CALLBACK_FUNC_DECL):
1791 V8 handlers for add/removeEventListener().
1792 * bindings/v8/custom/V8CustomBinding.h:
1793 * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
1794 (WebCore::CALLBACK_FUNC_DECL):
1795 Custom constructor for SharedWorker.
1796 * dom/EventTarget.cpp:
1797 (WebCore::EventTarget::toSharedWorker):
1798 * dom/EventTarget.h:
1799 * page/DOMWindow.idl:
1800 * workers/AbstractWorker.cpp: Added.
1801 (WebCore::AbstractWorker::AbstractWorker):
1802 Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
1803 This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
1804 (WebCore::AbstractWorker::~AbstractWorker):
1805 (WebCore::AbstractWorker::addEventListener):
1806 (WebCore::AbstractWorker::removeEventListener):
1807 (WebCore::AbstractWorker::dispatchEvent):
1808 (WebCore::AbstractWorker::dispatchLoadErrorEvent):
1809 (WebCore::AbstractWorker::dispatchScriptErrorEvent):
1810 * workers/AbstractWorker.h: Added.
1811 Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
1812 (WebCore::AbstractWorker::scriptExecutionContext):
1813 (WebCore::AbstractWorker::setOnerror):
1814 (WebCore::AbstractWorker::onerror):
1815 (WebCore::AbstractWorker::eventListeners):
1816 (WebCore::AbstractWorker::refEventTarget):
1817 (WebCore::AbstractWorker::derefEventTarget):
1818 * workers/AbstractWorker.idl: Added.
1819 * workers/SharedWorker.cpp: Added.
1820 (WebCore::SharedWorker::SharedWorker):
1821 (WebCore::SharedWorker::~SharedWorker):
1822 * workers/SharedWorker.h: Added.
1823 (WebCore::SharedWorker::create):
1824 (WebCore::SharedWorker::port):
1825 (WebCore::SharedWorker::toSharedWorker):
1826 * workers/SharedWorker.idl: Added.
1828 2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1830 Reviewed by Simon Hausmann.
1832 [Qt] Cleanup - Remove prf install target
1833 https://bugs.webkit.org/show_bug.cgi?id=27191
1835 qtwebkit.prf has been removed; this cleans up the related
1836 install target as well.
1838 * WebCore.pro: Remove prf install target
1840 2009-07-12 Adam Barth <abarth@webkit.org>
1842 Reviewed by Oliver Hunt.
1844 Facebook Chat is broken due to XSS auditor
1845 https://bugs.webkit.org/show_bug.cgi?id=27179
1847 Instead of just using the script's URL as to detect an XSS attack, we
1848 now use a bit of context before the URL. In particular, we use the
1849 bytes from the beginning of the attribute name to the end of the
1850 attribute value. In virtually all injection attacks, the attacker
1851 would need to supply the attribute name as well as the attribute value.
1852 However, in the Facebook false positive, the attribute name is not
1855 Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
1856 http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
1857 http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
1859 * html/HTMLTokenizer.cpp:
1860 (WebCore::HTMLTokenizer::parseTag):
1861 * html/HTMLTokenizer.h:
1862 * page/XSSAuditor.cpp:
1863 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1864 * page/XSSAuditor.h:
1866 2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
1868 Reviewed by Timothy Hatcher.
1870 Refactor ConsoleMessage to add MessageType attribute.
1871 https://bugs.webkit.org/show_bug.cgi?id=20625
1873 * bindings/js/JSCustomXPathNSResolver.cpp:
1874 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1875 * bindings/js/JSDOMWindowBase.cpp:
1876 (WebCore::JSDOMWindowBase::printErrorMessage):
1878 (WebCore::Document::reportException):
1879 (WebCore::Document::addMessage):
1881 * dom/ScriptExecutionContext.h:
1882 * html/HTMLParser.cpp:
1883 (WebCore::HTMLParser::reportErrorToConsole):
1884 * inspector/ConsoleMessage.cpp:
1885 (WebCore::ConsoleMessage::ConsoleMessage):
1886 (WebCore::ConsoleMessage::addToConsole):
1887 (WebCore::ConsoleMessage::isEqual):
1888 * inspector/ConsoleMessage.h:
1889 * inspector/InspectorController.cpp:
1890 (WebCore::InspectorController::addMessageToConsole):
1891 (WebCore::InspectorController::startGroup):
1892 (WebCore::InspectorController::endGroup):
1893 (WebCore::InspectorController::addProfileFinishedMessageToConsole):
1894 (WebCore::InspectorController::addStartProfilingMessageToConsole):
1895 (WebCore::InspectorController::count):
1896 * inspector/InspectorController.h:
1897 * inspector/front-end/Console.js:
1898 (WebInspector.Console.prototype.addMessage):
1899 (WebInspector.ConsoleMessage): Added type property.
1900 (WebInspector.ConsoleMessage.prototype.toMessageElement):
1901 (WebInspector.ConsoleMessage.prototype.toString):
1902 (WebInspector.ConsoleMessage.prototype.isEqual):
1903 (WebInspector.ConsoleCommandResult):
1904 (WebInspector.ConsoleGroup.prototype.addMessage):
1905 (WebInspector.ConsoleGroup.prototype._titleClicked):
1906 * inspector/front-end/Resource.js:
1907 (WebInspector.Resource.prototype._addTip):
1908 (WebInspector.Resource.prototype._checkWarning):
1909 * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
1910 * inspector/front-end/inspector.js:
1911 (WebInspector.addMessageToConsole):
1912 * loader/DocLoader.cpp:
1913 (WebCore::DocLoader::printAccessDeniedMessage):
1914 * loader/EmptyClients.h:
1915 (WebCore::EmptyChromeClient::addMessageToConsole):
1916 * loader/FrameLoader.cpp:
1917 (WebCore::FrameLoader::reportLocalLoadFailed):
1918 (WebCore::FrameLoader::shouldAllowNavigation):
1919 * page/ChromeClient.h:
1921 (WebCore::printMessageSourceAndLevelPrefix):
1922 (WebCore::Console::addMessage):
1923 (WebCore::Console::error):
1924 (WebCore::Console::log):
1925 (WebCore::Console::dir):
1926 (WebCore::Console::trace):
1927 (WebCore::Console::assertCondition):
1928 (WebCore::Console::timeEnd):
1929 (WebCore::Console::warn):
1930 * page/Console.h: Added MessageType enum.
1932 * page/DOMWindow.cpp:
1933 (WebCore::DOMWindow::postMessageTimerFired):
1934 * page/XSSAuditor.cpp:
1935 (WebCore::XSSAuditor::canEvaluate):
1936 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1937 (WebCore::XSSAuditor::canLoadObject):
1938 * svg/SVGDocumentExtensions.cpp:
1939 (WebCore::SVGDocumentExtensions::reportWarning):
1940 (WebCore::SVGDocumentExtensions::reportError):
1941 * wml/WMLErrorHandling.cpp:
1942 (WebCore::reportWMLError):
1943 * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
1944 (WebCore::GenericWorkerTask8::create):
1945 (WebCore::GenericWorkerTask8::GenericWorkerTask8):
1946 (WebCore::GenericWorkerTask8::performTask):
1947 (WebCore::createCallbackTask):
1948 * workers/WorkerContext.cpp:
1949 (WebCore::WorkerContext::addMessage):
1950 (WebCore::WorkerContext::importScripts):
1951 * workers/WorkerContext.h:
1952 * workers/WorkerMessagingProxy.cpp:
1953 (WebCore::postConsoleMessageTask):
1954 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1955 * workers/WorkerMessagingProxy.h:
1956 * workers/WorkerObjectProxy.h:
1957 * xml/XMLHttpRequest.cpp:
1958 (WebCore::reportUnsafeUsage):
1959 (WebCore::XMLHttpRequest::didFinishLoading):
1960 * xml/XSLTProcessor.cpp:
1961 (WebCore::XSLTProcessor::parseErrorFunc):
1963 2009-07-12 Nate Chapin <japhet@chromium.org>
1965 Reviewed by Dimitri Glazkov.
1967 Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
1969 https://bugs.webkit.org/show_bug.cgi?id=27132
1971 * bindings/scripts/CodeGeneratorV8.pm:
1972 * bindings/v8/DOMObjectsInclude.h:
1973 * bindings/v8/DerivedSourcesAllInOne.cpp:
1974 * bindings/v8/V8DOMWrapper.cpp:
1975 (WebCore::V8DOMWrapper::getTemplate):
1976 (WebCore::V8DOMWrapper::instantiateV8Object):
1977 * bindings/v8/V8Index.cpp:
1978 * bindings/v8/V8Index.h:
1979 * dom/HTMLAllCollection.idl: Added.
1981 2009-07-12 Joseph Pecoraro <joepeck02@gmail.com>
1983 Reviewed by Maciej Stachowiak.
1985 Inspector: Duplicate Computation in Autocompletion
1986 https://bugs.webkit.org/show_bug.cgi?id=26778
1988 * inspector/front-end/TextPrompt.js:
1989 (WebInspector.TextPrompt.prototype._completionsReady):
1991 2009-07-12 Dan Bernstein <mitz@apple.com>
1993 Reviewed by Maciej Stachowiak.
1995 https://bugs.webkit.org/show_bug.cgi?id=27196
1996 Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
1998 * GNUmakefile.am: Updated.
1999 * WebCore.gypi: Updated.
2000 * WebCore.pro: Updated.
2001 * WebCore.vcproj/WebCore.vcproj: Updated.
2002 * WebCore.xcodeproj/project.pbxproj: Updated.
2003 * WebCoreSources.bkl: Updated.
2004 * rendering/RenderBlock.h: Removed unnecessary forward declaration and
2006 * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
2007 Removed unnecessary #include statements.
2008 (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
2009 (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
2010 * rendering/bidi.cpp: Removed.
2011 * rendering/bidi.h: Removed.
2013 2009-07-12 Dan Bernstein <mitz@apple.com>
2017 * platform/graphics/cg/PDFDocumentImage.cpp:
2018 (WebCore::PDFDocumentImage::dataChanged):
2020 2009-07-12 Dan Bernstein <mitz@apple.com>
2022 Reviewed by Sam Weinig.
2026 * platform/graphics/BitmapImage.cpp:
2027 (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
2028 instead of the m_data member.
2029 (WebCore::BitmapImage::dataChanged): Ditto.
2030 * platform/graphics/Image.h: Re-ordered #includes and class
2031 declarations. Removed the drawPatternCallback() declaration. Made member
2033 * platform/graphics/cg/ImageCG.cpp:
2034 (WebCore::drawPatternCallback): Changed this from a member function to a
2036 * platform/graphics/cg/PDFDocumentImage.cpp:
2037 (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
2038 instead of the m_data member.
2039 * svg/graphics/SVGImage.cpp:
2040 (WebCore::SVGImage::dataChanged): Ditto.
2042 2009-07-12 Daniel Bates <dbates@intudata.com>
2044 Reviewed by Darin Adler.
2046 https://bugs.webkit.org/show_bug.cgi?id=27189
2048 Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused
2049 XSSAuditor to incorrectly block HTML Base elements whose base path coincided
2050 with the URL of the page.
2052 Test: http/tests/security/xssAuditor/base-href-safe3.html
2054 * page/XSSAuditor.cpp:
2055 (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call
2056 XSSAuditor::findInRequest() if the host in the page URL disagrees with the host
2057 in the base element URL.
2059 2009-07-12 Darin Adler <darin@apple.com>
2061 Reviewed by Dan Bernstein.
2063 Text searching with ICU should take the user's default locale into account
2064 https://bugs.webkit.org/show_bug.cgi?id=27184
2065 rdar://problem/6812121
2067 No simple way to test this since it's dependent on user locale.
2068 After this, the user's default locale is used only on Mac.
2070 * editing/TextIterator.cpp:
2071 (WebCore::createSearcher): Pass result of the currentSearchLocaleID
2072 function as the locale.
2074 * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
2075 currentSearchLocaleID function.
2077 * platform/text/android/TextBreakIteratorInternalICU.cpp:
2078 (WebCore::currentSearchLocaleID): Added. Returns the empty string.
2079 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
2080 (WebCore::currentSearchLocaleID): Ditto.
2081 * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
2082 (WebCore::currentSearchLocaleID): Ditto.
2084 * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2085 (WebCore::textBreakLocalePreference): Added. Returns the value of
2086 the AppleTextBreakLocale preference.
2087 (WebCore::topLanguagePreference): Added. Returns the value of the
2088 first item in the AppleLanguages preference.
2089 (WebCore::canonicalLanguageIdentifier): Added. Cover for the
2090 CFLocaleCreateCanonicalLanguageIdentifierFromString function.
2091 (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
2093 (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
2094 canonicalLanguageIdentifier, and getLocale.
2095 (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
2096 (WebCore::getTextBreakLocale): Changed to call
2097 textBreakLocalePreference, topLanguagePreference,
2098 canonicalLanguageIdentifier, and getLocale.
2100 * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
2101 (WebCore::currentSearchLocaleID): Added. Returns the empty string.
2102 * platform/wx/TemporaryLinkStubs.cpp:
2103 (WebCore::currentSearchLocaleID): Ditto.
2105 2009-07-12 Xan Lopez <xlopez@igalia.com>
2107 Reviewed by Gustavo Noronha.
2109 https://bugs.webkit.org/show_bug.cgi?id=25415
2110 [GTK][ATK] Please implement support for get_text_at_offset
2112 Create a PangoLayout that properly represents the visual
2113 appearance of the text in the web page so that the line boundary
2114 modes of getText{At,Before,After}Offset work correctly.
2116 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2119 (convertUniCharToUTF8):
2120 (getPangoLayoutForAtk):
2122 2009-07-11 Oliver Hunt <oliver@apple.com>
2124 Reviewed by Simon Fraser.
2126 Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
2127 <https://bugs.webkit.org/show_bug.cgi?id=27187>
2129 Simple API change, check for the empty path and add appropriate point if necessary.
2131 Test: fast/canvas/canvas-modify-emptyPath.html
2134 * WebCore.xcodeproj/project.pbxproj:
2135 * html/CanvasRenderingContext2D.cpp:
2136 (WebCore::CanvasRenderingContext2D::lineTo):
2137 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
2138 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
2140 2009-07-11 Eric Carlson <eric.carlson@apple.com>
2142 Reviewed by Antti Koivisto.
2144 HTMLMediaElement.canPlayType "maybe" and "probably" reversed
2145 https://bugs.webkit.org/show_bug.cgi?id=27186
2147 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2148 (WebCore::MediaPlayerPrivate::supportsType):
2149 Return "probably" if type has codecs parameter.
2151 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2152 (WebCore::MediaPlayerPrivate::supportsType):
2155 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2156 (WebCore::MediaPlayerPrivate::supportsType):
2159 2009-07-11 Brady Eidson <beidson@apple.com>
2161 Reviewed by Mark Rowe.
2163 A worker-thread inspired follow-up for:
2164 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2165 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2167 * xml/XMLHttpRequest.cpp:
2168 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
2169 is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
2170 not currently supported.
2172 2009-07-11 Simon Fraser <simon.fraser@apple.com>
2174 Enable support for accelerated compositing and 3d transforms on Leopard.
2175 <https://bugs.webkit.org/show_bug.cgi?id=20166>
2176 <rdar://problem/6120614>
2178 Reviewed by Oliver Hunt.
2180 * Configurations/FeatureDefines.xcconfig:
2182 2009-07-11 Simon Hausmann <hausmann@webkit.org>
2184 Fix the Qt build after r45724.
2186 * bridge/qt/qt_instance.cpp:
2187 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
2188 * bridge/qt/qt_runtime.cpp:
2189 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2191 2009-07-10 Daniel Bates <dbates@intudata.com>
2193 Reviewed by Adam Barth.
2195 https://bugs.webkit.org/show_bug.cgi?id=26921
2197 Implements support for HTML entities, so XSSAuditor can protect against attacks
2198 encoded with HTML entities.
2200 Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
2201 http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
2202 http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
2203 http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
2204 http/tests/security/xssAuditor/javascript-link-HTML-entities.html
2205 http/tests/security/xssAuditor/link-onclick-entities.html
2206 http/tests/security/xssAuditor/script-tag-entities.html
2207 http/tests/security/xssAuditor/script-tag-with-source-entities.html
2209 * page/XSSAuditor.cpp:
2210 (WebCore::XSSAuditor::canEvaluate):
2211 (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2212 (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
2213 to decode HTML entities.
2214 (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
2215 (WebCore::XSSAuditor::findInRequest):
2216 * page/XSSAuditor.h:
2218 2009-07-10 David Kilzer <ddkilzer@apple.com>
2220 Bug 27007: Build fixes when ICONDATABASE is disabled
2222 <https://bugs.webkit.org/show_bug.cgi?id=27007>
2224 Reviewed by Sam Weinig.
2226 * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
2228 * loader/icon/IconDatabase.cpp: Added
2229 #if ENABLE(ICONDATABASE)/#endif macro guard.
2230 * loader/icon/IconDatabase.h: Removed three public methods from
2231 #if ENABLE(ICONDATABASE)/#endif macro so that they may be
2232 stubbed out in IconDatabaseNone.cpp.
2233 * loader/icon/IconDatabaseNone.cpp: Added
2234 #if !ENABLE(ICONDATABASE)/#endif macro guard.
2235 (WebCore::IconDatabase::importIconURLForPageURL): Added.
2236 (WebCore::IconDatabase::importIconDataForIconURL): Added.
2237 (WebCore::IconDatabase::shouldStopThreadActivity): Added.
2239 2009-07-10 Daniel Bates <dbates@intudata.com>
2241 Reviewed by Adam Barth.
2243 https://bugs.webkit.org/show_bug.cgi?id=27151
2245 Fixes issue where JavaScript URLs that contain null- and non-null control characters can
2248 Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
2249 http/tests/security/xssAuditor/javascript-link-null-char.html
2250 http/tests/security/xssAuditor/javascript-link.html
2252 * bindings/js/ScriptController.cpp:
2253 (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from
2254 inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
2255 * bindings/v8/ScriptController.cpp:
2256 (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
2257 bindings/js/ScriptController.cpp.
2258 * page/XSSAuditor.cpp:
2259 (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
2260 into its own method.
2261 * page/XSSAuditor.h:
2263 2009-07-10 Shinichiro Hamaji <hamaji@chromium.org>
2265 Reviewed by David Kilzer.
2267 WebKit needs a style linting tool
2268 https://bugs.webkit.org/show_bug.cgi?id=25884
2270 Fix bunch of style issues by autofix of cpplint.
2271 This patch is created to demonstrate the autofix of cpplint.py.
2273 No new testcases because it's a style fix
2275 * css/CSSParser.cpp:
2276 (WebCore::CSSParser::parseMediaQuery):
2277 (WebCore::CSSParser::validUnit):
2278 (WebCore::CSSParser::parseValue):
2279 (WebCore::skipCommaInDashboardRegion):
2280 (WebCore::CSSParser::parseDashboardRegions):
2281 (WebCore::ShadowParseContext::commitValue):
2282 (WebCore::ShadowParseContext::commitLength):
2283 (WebCore::ShadowParseContext::commitColor):
2284 (WebCore::BorderImageParseContext::commitNumber):
2285 (WebCore::BorderImageParseContext::commitWidth):
2286 (WebCore::BorderImageParseContext::commitRule):
2287 (WebCore::BorderImageParseContext::commitBorderImage):
2288 (WebCore::CSSParser::lex):
2289 (WebCore::CSSParser::text):
2290 * css/CSSStyleSelector.cpp:
2291 (WebCore::CSSStyleSelector::applyProperty):
2292 * css/MediaList.cpp:
2293 (WebCore::MediaList::deleteMedium):
2295 * css/MediaQueryEvaluator.cpp:
2296 (WebCore::parseAspectRatio):
2297 * css/MediaQueryEvaluator.h:
2298 * css/MediaQueryExp.h:
2299 (WebCore::MediaQueryExp::operator==):
2300 * css/WebKitCSSMatrix.h:
2303 (WebCore::Document::setFocusedNode):
2305 (WebCore::Document::setHasDashboardRegions):
2306 * dom/DocumentFragment.cpp:
2307 (WebCore::DocumentFragment::nodeName):
2308 * dom/DocumentFragment.h:
2309 * dom/DynamicNodeList.h:
2310 * dom/EditingText.h:
2312 (WebCore::Element::dispatchAttrAdditionEvent):
2313 * dom/NamedAttrMap.cpp:
2314 (WebCore::NamedNodeMap::item):
2316 (WebCore::Node::nodeValue):
2317 (WebCore::Node::nodeIndex):
2318 * dom/NodeRareData.h:
2319 (WebCore::NodeListsNodeData::create):
2321 * dom/ProcessingInstruction.h:
2323 (WebCore::Range::processContents):
2324 * dom/StyledElement.cpp:
2326 * dom/XMLTokenizerLibxml2.cpp:
2327 (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
2328 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
2329 (WebCore::PendingCallbacks::):
2330 (WebCore::OffsetBuffer::readOutBytes):
2331 (WebCore::handleElementNamespaces):
2332 (WebCore::handleElementAttributes):
2333 (WebCore::attributesStartElementNsHandler):
2334 * dom/XMLTokenizerQt.cpp:
2335 (WebCore::attributesStartElementNsHandler):
2336 (WebCore::XMLTokenizer::parseStartElement):
2337 * editing/ApplyStyleCommand.cpp:
2338 (WebCore::ApplyStyleCommand::applyInlineStyle):
2339 * editing/DeleteSelectionCommand.cpp:
2340 (WebCore::DeleteSelectionCommand::removeNode):
2341 * editing/Editor.cpp:
2342 (WebCore::Editor::pasteAsPlainText):
2343 * editing/SelectionController.cpp:
2344 (WebCore::SelectionController::directionOfEnclosingBlock):
2345 * editing/SmartReplaceICU.cpp:
2346 (WebCore::addAllCodePoints):
2347 * history/HistoryItem.cpp:
2348 (WebCore::HistoryItem::icon):
2349 (WebCore::HistoryItem::adoptVisitCounts):
2350 * html/CanvasStyle.cpp:
2351 (WebCore::CanvasStyle::applyFillColor):
2352 * html/HTMLAnchorElement.cpp:
2353 (WebCore::HTMLAnchorElement::setActive):
2354 (WebCore::HTMLAnchorElement::isLiveLink):
2355 * html/HTMLAppletElement.h:
2356 * html/HTMLAudioElement.h:
2357 * html/HTMLBRElement.h:
2358 * html/HTMLBaseElement.h:
2359 * html/HTMLBaseFontElement.h:
2360 * html/HTMLDListElement.h:
2361 * html/HTMLDirectoryElement.h:
2362 * html/HTMLFieldSetElement.cpp:
2363 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
2364 * html/HTMLFormElement.cpp:
2365 (WebCore::HTMLFormElement::reset):
2366 * html/HTMLHRElement.cpp:
2367 (WebCore::HTMLHRElement::parseMappedAttribute):
2368 * html/HTMLHeadElement.h:
2369 * html/HTMLHtmlElement.h:
2370 * html/HTMLImageElement.h:
2371 (WebCore::HTMLImageElement::setLoadManually):
2372 * html/HTMLInputElement.cpp:
2373 (WebCore::HTMLInputElement::selection):
2374 * html/HTMLIsIndexElement.h:
2375 * html/HTMLMarqueeElement.cpp:
2376 * html/HTMLMediaElement.h:
2377 (WebCore::HTMLMediaElement::):
2378 * html/HTMLMenuElement.h:
2379 * html/HTMLMetaElement.h:
2380 * html/HTMLModElement.h:
2381 * html/HTMLOListElement.h:
2382 * html/HTMLOptionElement.cpp:
2383 (WebCore::HTMLOptionElement::childrenChanged):
2384 * html/HTMLParamElement.h:
2385 * html/HTMLQuoteElement.h:
2386 * html/HTMLStyleElement.h:
2387 * html/HTMLTableCaptionElement.h:
2388 * html/HTMLTableCellElement.h:
2389 * html/HTMLTableColElement.h:
2390 * html/HTMLTableSectionElement.cpp:
2391 (WebCore::HTMLTableSectionElement::deleteRow):
2392 * html/HTMLTitleElement.h:
2393 * html/HTMLTokenizer.cpp:
2394 (WebCore::HTMLTokenizer::parseNonHTMLText):
2395 (WebCore::HTMLTokenizer::parseEntity):
2396 (WebCore::HTMLTokenizer::parseTag):
2397 (WebCore::HTMLTokenizer::write):
2398 * html/HTMLUListElement.h:
2399 * html/HTMLVideoElement.h:
2400 * html/TimeRanges.h:
2401 (WebCore::TimeRanges::Range::Range):
2402 * inspector/InspectorController.cpp:
2403 (WebCore::InspectorController::enableResourceTracking):
2404 (WebCore::InspectorController::disableResourceTracking):
2405 * inspector/InspectorFrontend.cpp:
2406 (WebCore::InspectorFrontend::newInspectorJSONObject):
2408 (WebCore::Console::addMessage):
2409 * page/EventHandler.cpp:
2410 (WebCore::EventHandler::handleMousePressEvent):
2411 (WebCore::EventHandler::selectCursor):
2412 (WebCore::EventHandler::defaultKeyboardEventHandler):
2414 (WebCore::Frame::jsDefaultStatusBarText):
2415 * page/android/DragControllerAndroid.cpp:
2416 (WebCore::DragController::dragOperation):
2417 * page/android/EventHandlerAndroid.cpp:
2418 (WebCore::EventHandler::tabsToAllControls):
2419 (WebCore::EventHandler::eventActivatedView):
2420 * page/animation/AnimationController.cpp:
2421 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2422 * page/gtk/DragControllerGtk.cpp:
2423 (WebCore::DragController::dragOperation):
2424 * page/qt/DragControllerQt.cpp:
2425 * page/win/DragControllerWin.cpp:
2426 (WebCore::DragController::isCopyKeyDown):
2427 * page/win/FrameWin.h:
2428 * rendering/RenderSlider.cpp:
2429 (WebCore::RenderSlider::mouseEventOffsetToThumb):
2430 * rendering/style/RenderStyle.h:
2431 (WebCore::InheritedFlags::setVerticalAlignLength):
2432 (WebCore::InheritedFlags::setUnicodeBidi):
2433 (WebCore::InheritedFlags::setCursor):
2434 * rendering/style/RenderStyleConstants.h:
2436 * rendering/style/SVGRenderStyleDefs.h:
2437 * rendering/style/StyleInheritedData.h:
2438 (WebCore::StyleInheritedData::operator!=):
2439 * storage/DatabaseTask.h:
2440 * svg/GradientAttributes.h:
2441 * svg/LinearGradientAttributes.h:
2442 * svg/PatternAttributes.h:
2443 * svg/RadialGradientAttributes.h:
2444 * svg/SVGAnimatedPathData.h:
2445 * svg/SVGAnimatedPoints.h:
2446 * svg/SVGAnimationElement.h:
2447 * svg/SVGClipPathElement.h:
2448 * svg/SVGElementInstance.h:
2449 * svg/SVGFEBlendElement.cpp:
2450 (WebCore::SVGFEBlendElement::build):
2451 * svg/SVGFEBlendElement.h:
2452 * svg/SVGFEColorMatrixElement.cpp:
2453 (WebCore::SVGFEColorMatrixElement::build):
2454 * svg/SVGFEComponentTransferElement.cpp:
2455 (WebCore::SVGFEComponentTransferElement::build):
2456 * svg/SVGFECompositeElement.cpp:
2457 (WebCore::SVGFECompositeElement::build):
2458 * svg/SVGFEDiffuseLightingElement.cpp:
2459 (WebCore::SVGFEDiffuseLightingElement::build):
2460 * svg/SVGFEDisplacementMapElement.cpp:
2461 (WebCore::SVGFEDisplacementMapElement::build):
2462 * svg/SVGFEDistantLightElement.h:
2463 * svg/SVGFEFloodElement.cpp:
2464 (WebCore::SVGFEFloodElement::build):
2465 * svg/SVGFEFloodElement.h:
2466 * svg/SVGFEFuncAElement.h:
2467 * svg/SVGFEFuncBElement.h:
2468 * svg/SVGFEFuncGElement.h:
2469 * svg/SVGFEFuncRElement.h:
2470 * svg/SVGFEGaussianBlurElement.cpp:
2471 (WebCore::SVGFEGaussianBlurElement::build):
2472 * svg/SVGFEImageElement.cpp:
2473 (WebCore::SVGFEImageElement::build):
2474 * svg/SVGFEMergeElement.cpp:
2475 (WebCore::SVGFEMergeElement::build):
2476 * svg/SVGFEOffsetElement.cpp:
2477 (WebCore::SVGFEOffsetElement::build):
2478 * svg/SVGFEPointLightElement.h:
2479 * svg/SVGFESpecularLightingElement.cpp:
2480 (WebCore::SVGFESpecularLightingElement::build):
2481 * svg/SVGFESpotLightElement.h:
2482 * svg/SVGFETileElement.cpp:
2483 (WebCore::SVGFETileElement::build):
2484 * svg/SVGLineElement.cpp:
2485 (WebCore::SVGLineElement::parseMappedAttribute):
2487 * svg/SVGListTraits.h:
2489 * svg/SVGMPathElement.h:
2490 * svg/SVGMetadataElement.h:
2491 * svg/SVGParserUtilities.cpp:
2492 (WebCore::SVGPathParser::parseSVG):
2493 (WebCore::SVGPathParser::calculateArc):
2494 * svg/SVGPathElement.h:
2495 * svg/SVGPathSegClosePath.h:
2496 * svg/SVGSVGElement.h:
2497 * svg/SVGSetElement.h:
2498 * svg/SVGSwitchElement.h:
2499 * svg/SVGTextPathElement.cpp:
2500 (WebCore::SVGTextPathElement::parseMappedAttribute):
2501 * svg/SVGTextPathElement.h:
2502 * svg/SVGTitleElement.h:
2503 * svg/SVGTransformable.cpp:
2505 * svg/SVGViewSpec.cpp:
2507 * svg/animation/SMILTime.cpp:
2508 (WebCore::operator+):
2509 (WebCore::operator-):
2510 (WebCore::operator*):
2511 * svg/animation/SVGSMILElement.h:
2512 * svg/graphics/SVGResource.cpp:
2513 (WebCore::clientMap):
2514 * wml/WMLPostfieldElement.cpp:
2515 (WebCore::WMLPostfieldElement::value):
2516 * wml/WMLSetvarElement.cpp:
2517 (WebCore::WMLSetvarElement::value):
2518 * workers/WorkerRunLoop.cpp:
2519 * xml/XMLHttpRequest.cpp:
2520 (WebCore::XMLHttpRequest::dropProtection):
2523 2009-07-10 Eric Carlson <eric.carlson@apple.com>
2525 Reviewed by Simon Fraser.
2527 <rdar://problem/7049066>.
2528 Update SnowLeopard media controller layout.
2530 * css/mediaControlsQT.css:
2531 Update for new layout.
2532 * html/HTMLMediaElement.cpp:
2533 (WebCore::HTMLMediaElement::movieLoadType):
2534 Added to replace isStreaming.
2535 * html/HTMLMediaElement.h:
2536 Declare movieLoadType, remove isStreaming.
2538 * rendering/MediaControlElements.cpp:
2539 (WebCore::MediaControlStatusDisplayElement::update):
2540 Use movieLoadType instead of isStreaming.
2541 (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
2542 MediaControlElement is the base class, not HTMLInputElement.
2543 (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
2545 (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
2546 Don't display rewind button for live streams.
2547 (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
2548 MediaControlInputElement is the base class, not HTMLInputElement.
2549 * rendering/MediaControlElements.h:
2551 * rendering/RenderThemeMac.h:
2552 * rendering/RenderThemeMac.mm:
2553 (WebCore::getMediaUIPartStateFlags):
2554 New, return wkDrawMediaUIPart flags.
2555 (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2556 (WebCore::RenderThemeMac::paintMediaMuteButton):
2557 (WebCore::RenderThemeMac::paintMediaPlayButton):
2558 (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2559 (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2560 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2561 (WebCore::RenderThemeMac::paintMediaSliderThumb):
2562 (WebCore::RenderThemeMac::paintMediaRewindButton):
2563 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2564 (WebCore::RenderThemeMac::paintMediaControlsBackground):
2565 (WebCore::RenderThemeMac::paintMediaCurrentTime):
2566 (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2567 Use getMediaUIPartStateFlags.
2569 2009-07-10 Michelangelo De Simone <micdesim@gmail.com>
2571 Reviewed by Adele Peterson.
2573 https://bugs.webkit.org/show_bug.cgi?id=19562
2574 Added build stuff and stub for the ValidityState class, part of HTML5
2576 http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
2578 Test: fast/forms/ValidityState-001.html
2580 * DerivedSources.cpp: Fix aimed to include ValidityState files
2581 * DerivedSources.make: ditto
2582 * GNUmakefile.am: ditto
2583 * WebCore.gypi: ditto
2584 * WebCore.pro: ditto
2585 * WebCore.vcproj/WebCore.vcproj: ditto
2586 * WebCore.xcodeproj/project.pbxproj: ditto
2587 * WebCoreSources.bkl: ditto
2588 * html/HTMLButtonElement.idl: "validity" attribute
2589 * html/HTMLFieldSetElement.idl: ditto
2590 * html/HTMLFormControlElement.cpp: object getter
2591 (WebCore::HTMLFormControlElement::validity):
2592 * html/HTMLFormControlElement.h: ditto
2593 * html/HTMLInputElement.idl: "validity" attribute
2594 * html/HTMLSelectElement.idl: ditto
2595 * html/HTMLTextAreaElement.idl: ditto
2596 * html/ValidityState.cpp: Added.
2597 (WebCore::ValidityState::ValidityState):
2598 (WebCore::ValidityState::valid): validation flag
2599 * html/ValidityState.h: Added.
2600 (WebCore::ValidityState::create): creation routine
2601 (WebCore::ValidityState::control): ValidityState's parent getter
2602 (WebCore::ValidityState::valueMissing): validation flag
2603 (WebCore::ValidityState::typeMismatch): ditto
2604 (WebCore::ValidityState::patternMismatch): ditto
2605 (WebCore::ValidityState::tooLong): ditto
2606 (WebCore::ValidityState::rangeUnderflow): ditto
2607 (WebCore::ValidityState::rangeOverflow): ditto
2608 (WebCore::ValidityState::stepMismatch): ditto
2609 (WebCore::ValidityState::customError): ditto
2610 * html/ValidityState.idl: Added.
2612 2009-07-10 Brady Eidson <beidson@apple.com>
2614 Style cleanup over my last patch.
2616 * xml/XMLHttpRequest.cpp:
2617 (WebCore::XMLHttpRequest::~XMLHttpRequest):
2619 2009-07-10 Kevin McCullough <kmccullough@apple.com>
2621 Reviewed by Geoffrey Garen.
2623 * inspector/JavaScriptCallFrame.cpp:
2624 (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2625 * inspector/JavaScriptCallFrame.h: New helper method, used below.
2627 * inspector/JavaScriptDebugServer.cpp:
2628 (WebCore::JavaScriptDebugServer::detach): In the special case
2629 where we detach from a window currently executing JavaScript,
2630 manually tear down our representation of the JavaScript
2631 call stack, since we won't get any more callbacks from JavaScriptCore
2632 to automatically tear it down. It's too bad that WebCore is
2633 responsible for this kind of tracking -- in the future, it would
2634 be nice if more of the breakpoint handling was inside of JavaScriptCore.
2636 2009-07-10 Brady Eidson <beidson@apple.com>
2638 Reviewed by Antti Koivisto.
2640 https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
2641 REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
2643 With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
2644 When that happened, the first request that was over the limit ended up in a bizarre state where it
2645 wasn't fully serviced until after the long running XHR was complete.
2647 Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
2648 resources - such as XHR - could still end up causing this limit to be exceeded.
2650 This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
2651 handle this at the resource handle level.
2653 * loader/loader.cpp:
2654 (WebCore::Loader::nonCacheRequestInFlight):
2655 (WebCore::Loader::nonCacheRequestComplete):
2656 (WebCore::Loader::Host::Host):
2657 (WebCore::Loader::Host::nonCacheRequestInFlight):
2658 (WebCore::Loader::Host::nonCacheRequestComplete):
2659 (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
2661 (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
2663 * xml/XMLHttpRequest.cpp:
2664 (WebCore::XMLHttpRequest::XMLHttpRequest):
2665 (WebCore::XMLHttpRequest::~XMLHttpRequest):
2666 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
2667 (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
2668 (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
2670 2009-07-10 Antti Koivisto <antti@apple.com>
2672 Try to unbreak non-Mac build.
2674 * page/ChromeClient.h:
2675 (WebCore::ChromeClient::formDidFocus):
2676 (WebCore::ChromeClient::formDidBlur):
2678 2009-07-10 Beth Dakin <bdakin@apple.com>
2680 Reviewed by Anders Carlsson.
2682 The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT):
2683 In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after
2684 clicking To Do's close box
2686 Make the Widget* in passMouseDownEventToWidget() a RefPtr.
2688 * page/mac/EventHandlerMac.mm:
2689 (WebCore::EventHandler::passMouseDownEventToWidget):
2691 2009-07-10 Eric Seidel <eric@webkit.org>
2693 Reviewed by Adam Barth.
2695 rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
2696 https://bugs.webkit.org/show_bug.cgi?id=27157
2698 This is the first step to fixing
2699 https://bugs.webkit.org/show_bug.cgi?id=27088
2701 * WebCore.xcodeproj/project.pbxproj:
2702 * bindings/js/JSDOMBinding.h:
2703 (WebCore::deprecatedGetDOMStructure):
2704 (WebCore::createDOMObjectWrapper):
2705 (WebCore::createDOMNodeWrapper):
2706 * bindings/js/JSNamedNodesCollection.cpp:
2707 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
2708 * bindings/js/JSRGBColor.cpp:
2709 (WebCore::JSRGBColor::JSRGBColor):
2710 * bridge/objc/objc_runtime.mm:
2711 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
2712 * bridge/runtime_array.cpp:
2713 (JSC::RuntimeArray::RuntimeArray):
2714 * bridge/runtime_method.cpp:
2715 (JSC::RuntimeMethod::RuntimeMethod):
2716 * bridge/runtime_object.cpp:
2717 (JSC::RuntimeObjectImp::RuntimeObjectImp):
2719 2009-07-10 Greg Bolsinga <bolsinga@apple.com>
2721 Reviewed by Antti Koivisto.
2723 Add delegate methods about focus and blur and state change
2724 https://bugs.webkit.org/show_bug.cgi?id=27153
2726 Call the appropriate new ChromeClient methods for focus and blur.
2728 * html/HTMLFormControlElement.cpp:
2729 (WebCore::HTMLFormControlElement::dispatchFocusEvent):
2730 (WebCore::HTMLFormControlElement::dispatchBlurEvent):
2731 * html/HTMLFormControlElement.h:
2732 * loader/EmptyClients.h:
2733 (WebCore::EmptyChromeClient::formDidFocus):
2734 (WebCore::EmptyChromeClient::formDidBlur):
2735 * page/ChromeClient.h:
2737 2009-07-10 Steve Falkenburg <sfalken@apple.com>
2739 <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
2741 Use altered search path while loading plug-ins. This modifies the DLL search order
2742 to look in the directory containing the plug-in even if a call to SetDllDirectory
2743 was previously made. Use of SetDllDirectory removes the current directory from the search path,
2744 breaking the previous strategy for locating any dependent DLLs of the plug-in.
2746 Reviewed by Jon Honeycutt.
2748 * plugins/win/PluginPackageWin.cpp:
2749 (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
2751 2009-07-10 Adam Roben <aroben@apple.com>
2753 Sort all our Xcode projects
2755 Accomplished using sort-Xcode-project-file.
2757 Requested by Dave Kilzer.
2759 * WebCore.xcodeproj/project.pbxproj:
2761 2009-07-10 Adam Langley <agl@google.com>
2763 Reviewed by Darin Fisher.
2765 Chromium Linux: use disabled images for disabled widgets.
2767 https://bugs.webkit.org/show_bug.cgi?id=27106
2769 Previously, checkboxes and radio controls rendered the same even if disabled.
2770 The Chromium side of this change is r20224.
2772 * rendering/RenderThemeChromiumSkia.cpp:
2773 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2774 (WebCore::RenderThemeChromiumSkia::paintRadio):
2776 2009-07-10 Simon Fraser <simon.fraser@apple.com>
2778 Reviewed by John Sullivan.
2780 Fix crash when changing the zoom level in http://iphone.akamai.com/
2781 <rdar://problem/7029077>
2783 RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
2784 which could potentially destroy that compositing layer, causing a crash.
2785 Prevent this from happening by not doing a compositing update from paintIntoLayer().
2787 The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
2788 and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
2789 compositing layers, and is still called from paintIntoLayer().
2791 * rendering/RenderLayer.cpp:
2792 (WebCore::RenderLayer::paintLayer):
2793 (WebCore::RenderLayer::hitTestLayer):
2794 (WebCore::RenderLayer::updateLayerListsIfNeeded):
2795 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
2796 * rendering/RenderLayer.h:
2798 2009-07-10 Drew Wilson <atwilson@google.com>
2800 Reviewed by Darin Adler.
2802 Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
2803 https://bugs.webkit.org/show_bug.cgi?id=27010
2805 Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
2807 This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
2809 * bindings/scripts/CodeGeneratorJS.pm:
2810 Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
2813 * css/StyleSheet.idl:
2817 * html/ImageData.idl:
2818 * svg/SVGElementInstance.idl:
2819 * svg/SVGPathSeg.idl:
2820 Added CustomToJS attribute to all the above IDL files.
2822 2009-07-10 Dan Bernstein <mitz@apple.com>
2824 - fix the build by reverting the ill-advised r45711
2826 * page/FrameView.cpp:
2827 (WebCore::FrameView::scrollToAnchor):
2829 2009-07-09 Brian Weinstein <bweinstein@apple.com>
2831 Reviewed by Tim Hatcher.
2833 Updated WebCore.base.exp to add some needed functions.
2837 2009-07-10 Dan Bernstein <mitz@apple.com>
2839 - address a review comment from Simon Fraser which I forgot to include
2840 in the last check-in
2842 * page/FrameView.cpp:
2843 (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
2844 maximum transform friendliness!
2846 2009-07-10 Dan Bernstein <mitz@apple.com>
2848 Reviewed by Simon Fraser.
2850 - fix https://bugs.webkit.org/show_bug.cgi?id=27137
2851 <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
2852 to infinite recursion into FrameLoader::gotoAnchor() ->
2855 Test: fast/loader/goto-anchor-infinite-layout.html
2857 * loader/FrameLoader.cpp:
2858 (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
2859 find the renderer to scroll to, and scroll from here to methods on
2860 FrameView, and replaced it with a call to
2861 FrameView::maintainScrollPositionAtAnchor().
2862 (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
2863 instead of setLockedToAnchor().
2865 * page/FrameView.cpp:
2866 (WebCore::FrameView::FrameView): Removed initialization of
2868 (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
2869 of m_lockedToAnchor.
2870 (WebCore::FrameView::layout): Removed the code related to scrolling to
2871 the anchor from here, because scrolling can trigger events which
2872 invalidate the layout, and as such, belongs with the post-layout tasks.
2873 (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
2874 with a node scrolls the view to the top of that node and maintains it
2875 scrolled to the top of the node during subsequent layouts, until
2876 this function is called with 0 or other things trigger scrolling.
2877 (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
2878 m_maintainScrollPositionAnchor.
2879 (WebCore::FrameView::setScrollPosition): Ditto.
2880 (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
2881 m_maintainScrollPositionAnchor, if it is set.
2882 (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
2883 (WebCore::FrameView::setWasScrolledByUser): Reset
2884 m_maintainScrollPositionAnchor.
2886 * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
2887 and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
2888 m_maintainScrollPositionAnchor.
2890 2009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com>
2892 Reviewed by Simon Hausmann.
2894 https://bugs.webkit.org/show_bug.cgi?id=26439
2896 QtWebKit fails in loading www.nytimes.com in Windows/Linux
2898 QNetworkReplyHandler is ignoring content associated with 401 error.
2899 This causes the XHR response handling to fail.
2901 Simon: Added also ProxyAuthenticationRequiredError, to handle the same
2902 case when going through proxies, as suggested by Prasanth.
2904 * platform/network/qt/QNetworkReplyHandler.cpp:
2905 (WebCore::QNetworkReplyHandler::finish):
2907 2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
2909 Reviewed by Holger Freyther.
2911 Enable HTML 5 Messaging to fix message channel Qt DRT failures in
2916 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2918 Reviewed by Maciej Stachowiak.
2920 added InlineBox::isLeaf()
2921 firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
2922 firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
2923 Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
2924 Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
2926 Currently, these methods are called on RootInlineBox objects only, so above changes should not have
2927 any observable effect (only the removal of the square performance behavior could apply,
2928 but the conditions for that are probably of a rather theoretical nature).
2930 * rendering/InlineBox.cpp:
2931 (WebCore::InlineBox::nextLeafChild):
2932 (WebCore::InlineBox::prevLeafChild):
2933 * rendering/InlineBox.h:
2934 (WebCore::InlineBox::isLeaf):
2935 * rendering/InlineFlowBox.cpp:
2936 (WebCore::InlineFlowBox::firstLeafChild):
2937 (WebCore::InlineFlowBox::lastLeafChild):
2938 * rendering/InlineFlowBox.h:
2939 (WebCore::InlineFlowBox::firstChild):
2940 (WebCore::InlineFlowBox::lastChild):
2941 (WebCore::InlineFlowBox::isLeaf):
2942 * rendering/RootInlineBox.cpp:
2943 (WebCore::RootInlineBox::closestLeafChildForXPos):
2945 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2947 Reviewed by Maciej Stachowiak.
2949 Added InlineBox::baselinePosition() and lineHeight() methods
2950 (adapted remaining code accordingly to use those methods)
2952 No change in functionality.
2954 * rendering/InlineBox.h:
2955 (WebCore::InlineBox::baselinePosition):
2956 (WebCore::InlineBox::lineHeight):
2957 * rendering/InlineFlowBox.cpp:
2958 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2959 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2960 (WebCore::InlineFlowBox::placeBoxesVertically):
2962 2009-07-09 Oliver Hunt <oliver@apple.com>
2964 Reviewed by Maciej Stachowiak.
2966 Bug 27142 - canPlayType() should return empty string for unsupported content
2967 <https://bugs.webkit.org/show_bug.cgi?id=27142>
2969 Return "" instead of "no" for unsupport media types.
2971 * html/HTMLMediaElement.cpp:
2972 (WebCore::HTMLMediaElement::canPlayType):
2974 2009-07-09 Roland Steiner <rolandsteiner@google.com>
2976 Reviewed by Maciej Stachowiak.
2978 Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
2979 in that their end tags are optional if followed by <rp>/<rt>.
2981 Also specify a new accessibility role "annotation" for <rp> and <rt>.
2983 Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
2984 is not affected by whether ruby is rendered properly or not (in fact, it may
2985 be more profound without ruby layouting, since the contents of <rp> are not hidden).
2987 Test: fast/ruby/parse-rp.html
2989 * accessibility/AccessibilityObject.h:
2991 * accessibility/AccessibilityRenderObject.cpp:
2992 (WebCore::AccessibilityRenderObject::roleValue):
2993 * html/HTMLElement.cpp:
2994 (WebCore::HTMLElement::endTagRequirement):
2995 (WebCore::HTMLElement::tagPriority):
2996 (WebCore::inlineTagList):
2997 * html/HTMLParser.cpp:
2998 (WebCore::HTMLParser::rpCreateErrorCheck):
2999 (WebCore::HTMLParser::rtCreateErrorCheck):
3000 (WebCore::HTMLParser::getNode):
3001 * html/HTMLParser.h:
3002 * html/HTMLTagNames.in:
3004 2009-07-09 Dmitry Titov <dimich@chromium.org>
3006 Not reviewed, fix for previous commit.
3008 The change http://trac.webkit.org/changeset/45695 did not correctly
3009 enabled GTL and QT build flags. This caused layout tests failure.
3010 This is speculative fix for those failures.
3012 * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
3013 * WebCore.pro: ditto.
3014 * page/DOMWindow.idl: touched to cause recompile.
3015 * workers/WorkerContext.idl: ditto.
3017 2009-07-09 Drew Wilson <atwilson@google.com>
3019 Reviewed by Alexey Proskuryakov.
3021 https://bugs.webkit.org/show_bug.cgi?id=26903
3023 Turned on CHANNEL_MESSAGING by default because the MessageChannel API
3024 is now implemented for Web Workers and is reasonably stable.
3026 Tests: fast/events/message-channel-gc-2.html
3027 fast/events/message-channel-gc-3.html
3028 fast/events/message-channel-gc-4.html
3029 fast/events/message-channel-gc.html
3030 fast/events/message-channel-listener-circular-ownership.html
3031 fast/events/message-port-clone.html
3032 fast/events/message-port-constructor-for-deleted-document.html
3033 fast/events/message-port-deleted-document.html
3034 fast/events/message-port-deleted-frame.html
3035 fast/events/message-port-inactive-document.html
3036 fast/events/message-port-no-wrapper.html
3037 fast/events/message-port.html
3038 fast/workers/worker-cloneport.html
3039 fast/workers/worker-messageport-gc.html
3040 fast/workers/worker-messageport.html
3042 * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
3043 * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
3044 * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
3045 * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
3046 * WebCore/workers/WorkerContext.idl: ditto.
3049 2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com>
3051 Reviewed by Simon Fraser.
3053 Full page zoom breaks remaining and elapsed time display in the <video> controller.
3054 https://bugs.webkit.org/show_bug.cgi?id=27123
3056 We are changing the size of the time remaining and time elapsed field, to
3057 automatically hide them, when the controller is too short.
3059 Because we toggle the size between 0 and the previous value of the
3060 controller, we miss any width change that may occur during full page zoom,
3061 and we fail to restore a correct width.
3063 This change fixes that problem by using a cloned style on which we
3064 set the width to 0, and restoring the previous style when going back to
3067 We take care about properly using the cloned style or the pseudo style,
3068 by overriding styleForElement().
3070 * rendering/MediaControlElements.cpp:
3071 (WebCore::MediaControlElement::styleForElement):
3072 (WebCore::MediaControlElement::attach):
3073 (WebCore::MediaControlElement::updateStyle):
3074 (WebCore::MediaControlInputElement::styleForElement):
3075 (WebCore::MediaControlInputElement::attach):
3076 (WebCore::MediaControlInputElement::updateStyle):
3077 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
3078 (WebCore::MediaControlTimeDisplayElement::styleForElement):
3079 (WebCore::MediaControlTimeDisplayElement::setVisible):
3080 * rendering/MediaControlElements.h:
3081 * rendering/RenderMedia.cpp:
3082 (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
3083 we take in account the zoom level when deciding if we should hide the
3084 ellapsed and remaining time.
3086 2009-07-09 Michael Nordman <michaeln@google.com>
3088 Reviewed by Darin Adler.
3090 Fix chromium build bustage due to Widget being a RefCounted class.
3091 https://bugs.webkit.org/show_bug.cgi?id=27139
3093 * platform/chromium/PopupMenuChromium.cpp:
3094 * platform/chromium/PopupMenuChromium.h:
3096 2009-07-09 Chris Fleizach <cfleizach@apple.com>
3098 Reviewed by Darin Adler.
3100 Bug 27130 - Need to implement ARIA role="toolbar"
3101 https://bugs.webkit.org/show_bug.cgi?id=27130
3103 Test: platform/mac/accessibility/aria-toolbar.html
3105 * accessibility/AccessibilityRenderObject.cpp:
3106 (WebCore::RoleEntry::):
3107 * accessibility/mac/AccessibilityObjectWrapper.mm:
3108 (-[AccessibilityObjectWrapper roleDescription]):
3110 2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
3112 Reviewed by Darin Fisher.
3114 [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
3115 https://bugs.webkit.org/show_bug.cgi?id=27135
3117 * WebCore.gypi: Added.
3119 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3121 A more robust fix for <rdar://problem/6930280> Reproducible crash at
3122 USA Today photo gallery
3124 Reviewed by Steve Falkenburg.
3126 * plugins/win/PluginMessageThrottlerWin.cpp:
3127 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
3128 Protect the PluginView from destruction before calling its window proc.
3130 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3132 <rdar://problem/6978804> WER #16: Repro Access Violation in
3133 WebCore::PluginView::bindingInstance (1310178023)
3135 Reviewed by Darin Adler.
3137 * plugins/PluginView.cpp:
3138 (WebCore::PluginView::bindingInstance):
3139 Protect the PluginView from destruction before calling NPN_GetValue. If
3140 the renderer for the PluginView was destroyed during the call, and the
3141 PluginView's ref count is now 1, return null.
3143 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3145 Speculative fix for <rdar://problem/6991251> WER #13: Crash in
3146 WebKit!WebCore::PluginView::performRequest+203 (1311461169)
3148 Reviewed by Darin Adler.
3150 * plugins/PluginView.cpp:
3151 (WebCore::PluginView::performRequest):
3152 Protect the PluginView from destruction before performing a load.
3153 Removed some trailing whitespace.
3155 2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
3159 * inspector/JavaScriptDebugServer.cpp:
3160 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
3162 2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
3164 Reviewed by Dave Hyatt.
3166 Make Widget RefCounted to fix or make fixable:
3168 <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
3169 at WebCore::Widget::afterMouseDown() after clicking To Do's close
3171 <rdar://problem/6978804> WER #16: Repro Access Violation in
3172 WebCore::PluginView::bindingInstance (1310178023)
3174 <rdar://problem/6991251> WER #13: Crash in WebKit!
3175 WebCore::PluginView::performRequest+203 (1311461169)
3177 * loader/EmptyClients.h:
3178 (WebCore::EmptyFrameLoaderClient::createPlugin):
3179 Changed to return PassRefPtr
3180 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3183 * loader/FrameLoader.cpp:
3184 (WebCore::FrameLoader::loadSubframe):
3185 (WebCore::FrameLoader::loadPlugin):
3186 Make the widget variable a RefPtr. Use .get() when passing it to
3187 RenderPart::setWidget().
3188 (WebCore::FrameLoader::createJavaAppletWidget):
3189 Make the widget variable a RefPtr.
3191 * loader/FrameLoader.h:
3192 Changed the return type of createJavaAppletWidget().
3194 * loader/FrameLoaderClient.h:
3195 Change the return types of createPlugin() and
3196 createJavaAppletWidget().
3199 (WebCore::Frame::createView):
3200 No need to call .get() since setWidget() takes a RefPtr.
3202 * page/FrameView.cpp:
3203 (WebCore::FrameView::layoutIfNeededRecursive):
3204 children() now returns a HashSet of RefPtrs.
3207 Remove inheritance from RefCounted; we pick this up from ScrollView
3210 * platform/ScrollView.cpp:
3211 (WebCore::ScrollView::addChild):
3212 addChild() now takes a PassRefPtr and m_children now keeps a
3215 * platform/ScrollView.h:
3216 ScrollView constructor is now protected.
3217 (WebCore::ScrollView::children):
3218 m_children is now a HashSet of RefPtrs.
3220 * platform/Scrollbar.h:
3221 Remove inheritance from RefCounted; we pick this up from ScrollView
3224 * platform/Widget.h:
3225 Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
3228 * plugins/PluginView.cpp:
3229 (WebCore::PluginView::create):
3230 Adopt the PluginView when returning it.
3232 * plugins/PluginView.h:
3233 Changed create() to return a PassRefPtr.
3235 * rendering/RenderApplet.cpp:
3236 Receive result in a RefPtr when calling createJavaAppletWidget().
3238 * rendering/RenderPart.cpp:
3239 (WebCore::RenderPart::setWidget):
3240 setWidget() now takes a PassRefPtr. Also removed the manual ref of
3241 FrameViews. This is handled by having m_widget be a RefPtr. Removed
3244 * rendering/RenderPart.h:
3245 Removed override of deleteWidget().
3247 * rendering/RenderWidget.cpp:
3248 (WebCore::RenderWidget::destroy):
3249 (WebCore::RenderWidget::setWidget):
3250 (WebCore::RenderWidget::paint):
3251 (WebCore::RenderWidget::setOverlapTestResult):
3252 (WebCore::RenderWidget::updateWidgetPosition):
3254 (WebCore::RenderWidget::clearWidget):
3255 Don't call deleteWidget(). It was removed.
3257 * rendering/RenderWidget.h:
3258 Removed deleteWidget(). Made m_widget a RefPtr.
3259 (WebCore::RenderWidget::widget):
3262 2009-07-09 Chris Fleizach <cfleizach@apple.com>
3264 Reviewed by Darin Adler.
3266 Bug 27129 - AX: possible assertion for a non-native image in accessibility
3267 https://bugs.webkit.org/show_bug.cgi?id=27129
3269 It's possible for an image that is not really an image to assert, because its renderer
3270 is turned into a RenderImage.
3272 Test: accessibility/non-native-image-crash.html
3274 * accessibility/AccessibilityRenderObject.cpp:
3275 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3276 (WebCore::RoleEntry::):
3277 * accessibility/mac/AccessibilityObjectWrapper.mm:
3278 (-[AccessibilityObjectWrapper roleDescription]):
3280 2009-07-09 Simon Fraser <simon.fraser@apple.com>
3282 Build fix for SnowLeopard.
3284 Avoid using the contentsTransform methods if not on Leopard, because
3285 we don't need to call them.
3287 * platform/graphics/mac/GraphicsLayerCA.mm:
3288 (WebCore::GraphicsLayerCA::updateContentsTransform):
3289 * platform/graphics/mac/WebLayer.mm:
3290 (-[WebLayer setNeedsDisplayInRect:]):
3291 * platform/graphics/mac/WebTiledLayer.mm:
3292 (-[WebTiledLayer setNeedsDisplayInRect:]):
3294 2009-07-09 Simon Fraser <simon.fraser@apple.com>
3296 Reviewed by Dave Hyatt
3298 Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
3300 <rdar://problem/6120614>
3302 * platform/graphics/GraphicsLayer.h:
3303 (WebCore::GraphicsLayer::setContentsOrientation):
3304 (WebCore::GraphicsLayer::contentsOrientation):
3305 * platform/graphics/GraphicsLayer.cpp:
3306 (WebCore::GraphicsLayer::GraphicsLayer):
3307 Add a m_contentsOrientation member and getter/setter to control whether
3308 the contents of this layer have a transform applied to them before display.
3310 * platform/graphics/mac/GraphicsLayerCA.h:
3311 New method to return the default contents orientation.
3313 * platform/graphics/mac/GraphicsLayerCA.mm:
3314 (WebCore::flipTransform):
3315 Convenience method to return a transform with a Y flip.
3317 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3318 (WebCore::GraphicsLayerCA::setSize):
3319 After the size changes we have to update the contentsTransform.
3321 (WebCore::GraphicsLayerCA::setGeometryOrientation):
3322 (WebCore::GraphicsLayerCA::geometryOrientation):
3323 If -setGeometryFlipped: is not available, use a children transform.
3325 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3326 Tiled layers have issues with flipped contentsTransform, so just use
3327 top-down drawing for them. Call updateContentsTransform() to set the
3328 new contents transform after swapping layers.
3330 (WebCore::GraphicsLayerCA::defaultContentsOrientation):
3331 Use bottom-up when -geometryFlipped is not available, otherwise top-down.
3333 (WebCore::GraphicsLayerCA::updateContentsTransform):
3334 Set the layer contents transform based on contentsOrientation().
3336 (WebCore::GraphicsLayerCA::setContentsLayer):
3337 We have to manually flip contents layers if we're not using -geometryFlipped.
3339 * platform/graphics/mac/WebLayer.h:
3340 * platform/graphics/mac/WebLayer.mm:
3341 Do early return if layerContents is nil. Flip the CTM if the layer has
3342 bottom-up coordinates, so that CG sees a CTM with no flip.
3343 Do the CGContextRestoreGState() after drawing the debug indicator.
3345 (-[WebLayer setNeedsDisplayInRect:]):
3346 * platform/graphics/mac/WebTiledLayer.mm:
3347 (-[WebTiledLayer setNeedsDisplayInRect:]):
3348 Need to map the dirty rect through the contentsTransform.
3350 2009-07-09 Alexey Proskuryakov <ap@webkit.org>
3352 Reviewed by Geoff Garen.
3354 <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
3356 Can't test this functionality with layout tests.
3359 * history/HistoryItem.cpp:
3360 (WebCore::HistoryItem::recordVisitAtTime):
3361 (WebCore::HistoryItem::visited):
3362 * history/HistoryItem.h:
3363 Only increase visit count if explicitly told to. Now, some visits change last access time,
3364 but do not increase visit count.
3366 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3368 Reviewed by Simon Fraser.
3370 <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
3372 Require QuickTime 7.6.3 or higher to enable the new media controller UI.
3374 * rendering/RenderThemeMac.mm:
3375 (WebCore::mediaControllerTheme):
3377 2009-07-09 Sam Weinig <sam@webkit.org>
3379 Reviewed by Beth Dakin.
3381 Remove incorrect comment.
3383 * page/MouseEventWithHitTestResults.h:
3385 2009-07-09 Mads Ager <ager@chromium.org>
3387 Reviewed by Dimitri Glazkov.
3389 Update the V8 bindings codegenerator to use the RGBColor::create
3390 method to handle refcounts for RGBColor objects correctly.
3392 * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
3394 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3396 Reviewed by Adele Peterson.
3398 Crash in RenderMedia::styleDidChange.
3399 <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
3400 media element (RenderMedia::styleDidChange + 115)
3402 Speculative fix for crash in styleDidChange. Null check controller elements before tell
3403 them to update style.
3405 * rendering/RenderMedia.cpp:
3406 (WebCore::RenderMedia::styleDidChange):
3408 2009-07-09 Adam Barth <abarth@webkit.org>
3410 Reviewed by Dimitri Glazkov.
3412 [V8] Move V8DOMWrapper to its own file
3413 https://bugs.webkit.org/show_bug.cgi?id=27121
3415 * bindings/v8/V8DOMWrapper.cpp: Added.
3416 (WebCore::GetToStringName):
3417 (WebCore::ConstructorToString):
3418 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3419 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3420 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3421 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3422 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3423 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3424 (WebCore::V8DOMWrapper::getTemplate):
3425 (WebCore::V8DOMWrapper::convertToV8Object):
3426 (WebCore::V8DOMWrapper::setHiddenWindowReference):
3427 (WebCore::V8DOMWrapper::domWrapperType):
3428 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3429 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3430 (WebCore::V8DOMWrapper::lookupDOMWrapper):
3431 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3432 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3433 (WebCore::V8DOMWrapper::instantiateV8Object):
3434 (WebCore::V8DOMWrapper::setDOMWrapper):
3435 (WebCore::V8DOMWrapper::maybeDOMWrapper):
3436 (WebCore::V8DOMWrapper::isDOMEventWrapper):
3437 (WebCore::V8DOMWrapper::isWrapperOfType):
3438 (WebCore::V8DOMWrapper::htmlElementType):
3439 (WebCore::V8DOMWrapper::svgElementType):
3440 (WebCore::V8DOMWrapper::convertEventToV8Object):
3442 (WebCore::V8DOMWrapper::convertNodeToV8Object):
3443 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3444 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3445 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3446 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3447 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3448 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
3449 (WebCore::V8DOMWrapper::convertWindowToV8Object):
3450 * bindings/v8/V8DOMWrapper.h: Added.
3451 (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3452 (WebCore::V8DOMWrapper::wrapCPointer):
3453 (WebCore::V8DOMWrapper::extractCPointer):
3454 (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3455 (WebCore::V8DOMWrapper::convertToV8Object):
3456 (WebCore::V8DOMWrapper::convertToNativeObject):
3457 (WebCore::V8DOMWrapper::convertToNativeEvent):
3458 (WebCore::V8DOMWrapper::extractCPointerImpl):
3459 (WebCore::V8DOMWrapper::instantiateV8Object):
3460 * bindings/v8/V8Proxy.cpp:
3461 * bindings/v8/V8Proxy.h:
3463 2009-07-09 David Hyatt <hyatt@apple.com>
3465 Reviewed by Adele Peterson.
3467 Crash in setFocusedFrame.
3468 <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
3470 Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire
3471 the events only after the local member has been updated.
3473 * page/FocusController.cpp:
3474 (WebCore::FocusController::setFocusedFrame):
3476 2009-07-09 Eric Carlson <eric.carlson@apple.com>
3478 Reviewed by Adele Peterson.
3480 Possible crashes when mouse clicks not dispatched because range input destroyed while
3481 thumb is being dragged (e.g. scrub to end of movie)
3482 <rdar://problem/7037494>
3483 https://bugs.webkit.org/show_bug.cgi?id=27101
3485 Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
3486 get mouse events even when the mouse is moved outside of the node. This is done by putting
3487 EventHandler into a mode where it sends all mouse events to the node regardless of the
3488 actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
3489 node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
3490 to try to send events to the deleted node. This sometimes results in a crash, and sometimes
3491 in a page that doesn't respond to click events.
3493 Tests: fast/forms/search-delete-while-cancel-button-clicked.html
3494 fast/forms/slider-delete-while-dragging-thumb.html
3495 media/audio-delete-while-slider-thumb-clicked.html
3496 media/audio-delete-while-step-button-clicked.html
3498 * rendering/MediaControlElements.cpp:
3499 (WebCore::MediaControlSeekButtonElement::detach):
3500 New, call setCapturingMouseEventsNode if capturing mouse events.
3501 * rendering/MediaControlElements.h:
3504 * rendering/RenderSlider.cpp:
3505 (WebCore::SliderThumbElement::detach):
3506 New, call setCapturingMouseEventsNode if capturing mouse events.
3508 * rendering/TextControlInnerElements.cpp:
3509 (WebCore::SearchFieldCancelButtonElement::detach):
3510 New, call setCapturingMouseEventsNode if capturing mouse events.
3511 * rendering/TextControlInnerElements.h:
3514 2009-07-09 Yury Semikhatsky <yurys@chromium.org>
3516 Reviewed by Dimitri Glazkov.
3518 Enter the Frame's context before creating new objects in setContextDebugId.
3520 https://bugs.webkit.org/show_bug.cgi?id=27112
3522 * bindings/v8/V8Proxy.cpp:
3523 (WebCore::V8Proxy::setContextDebugId):
3525 2009-07-09 Simon Hausmann <hausmann@webkit.org>
3529 * WebCore.pro: Add new storage impl files to the build.
3531 2009-07-08 Adam Barth <abarth@webkit.org>
3533 Rubber stamped by Eric Seidel.
3535 [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
3536 https://bugs.webkit.org/show_bug.cgi?id=27107
3538 This patch is just renaming. Code motion will occur next.
3540 * bindings/scripts/CodeGeneratorV8.pm:
3541 * bindings/v8/ScriptController.cpp:
3542 (WebCore::ScriptController::processingUserGesture):
3543 (WebCore::createScriptObject):
3544 (WebCore::ScriptController::createScriptObjectForPluginElement):
3545 * bindings/v8/ScriptObject.cpp:
3546 (WebCore::ScriptGlobalObject::set):
3547 * bindings/v8/ScriptObjectQuarantine.cpp:
3548 (WebCore::getQuarantinedScriptObject):
3549 * bindings/v8/V8AbstractEventListener.cpp:
3550 (WebCore::V8AbstractEventListener::handleEvent):
3551 (WebCore::V8AbstractEventListener::getReceiverObject):
3552 * bindings/v8/V8Collection.cpp:
3553 (WebCore::toOptionsCollectionSetter):
3554 * bindings/v8/V8Collection.h:
3555 (WebCore::getV8Object):
3556 (WebCore::getNamedPropertyOfCollection):
3557 (WebCore::nodeCollectionNamedPropertyGetter):
3558 (WebCore::getIndexedPropertyOfCollection):
3559 (WebCore::nodeCollectionIndexedPropertyGetter):
3560 (WebCore::nodeCollectionIndexedPropertyEnumerator):
3561 (WebCore::collectionIndexedPropertyEnumerator):
3562 (WebCore::collectionStringOrNullIndexedPropertyGetter):
3563 * bindings/v8/V8DOMMap.cpp:
3564 (WebCore::DOMData::handleWeakObject):
3565 (WebCore::DOMData::removeObjectsFromWrapperMap):
3566 * bindings/v8/V8GCController.cpp:
3567 (WebCore::enumerateDOMObjectMap):
3568 (WebCore::DOMObjectVisitor::visitDOMWrapper):
3569 (WebCore::GCPrologueVisitor::visitDOMWrapper):
3570 (WebCore::GCEpilogueVisitor::visitDOMWrapper):
3571 * bindings/v8/V8Helpers.cpp:
3572 (WebCore::wrapNPObject):
3573 * bindings/v8/V8NodeFilterCondition.cpp:
3574 (WebCore::V8NodeFilterCondition::acceptNode):
3575 * bindings/v8/V8Proxy.cpp:
3576 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
3577 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
3578 (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
3579 (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
3580 (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
3581 (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
3582 (WebCore::V8Proxy::evaluateInNewContext):
3583 (WebCore::V8Proxy::getConstructor):
3584 (WebCore::V8DOMWrapper::getTemplate):
3585 (WebCore::V8Proxy::retrieveWindow):
3586 (WebCore::V8Proxy::updateDocumentWrapperCache):
3587 (WebCore::V8Proxy::clearForNavigation):
3588 (WebCore::V8Proxy::installDOMWindow):
3589 (WebCore::setDOMExceptionHelper):
3590 (WebCore::V8DOMWrapper::convertToV8Object):
3591 (WebCore::V8DOMWrapper::setHiddenWindowReference):
3592 (WebCore::V8DOMWrapper::domWrapperType):
3593 (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
3594 (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
3595 (WebCore::V8DOMWrapper::lookupDOMWrapper):
3596 (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
3597 (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
3598 (WebCore::V8DOMWrapper::instantiateV8Object):
3599 (WebCore::V8DOMWrapper::setDOMWrapper):
3600 (WebCore::V8DOMWrapper::maybeDOMWrapper):
3601 (WebCore::V8DOMWrapper::isDOMEventWrapper):
3602 (WebCore::V8DOMWrapper::isWrapperOfType):
3603 (WebCore::V8DOMWrapper::htmlElementType):
3604 (WebCore::V8DOMWrapper::svgElementType):
3605 (WebCore::V8DOMWrapper::convertEventToV8Object):
3606 (WebCore::V8DOMWrapper::convertNodeToV8Object):
3607 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3608 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
3609 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
3610 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
3611 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
3612 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):