1 2011-11-08 Dan Bernstein <mitz@apple.com>
3 REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
4 https://bugs.webkit.org/show_bug.cgi?id=71863
6 Reviewed by Anders Carlsson.
8 * rendering/RenderBox.cpp:
9 (WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
11 * rendering/RenderView.cpp:
12 (WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
13 * rendering/RenderView.h:
15 2011-11-08 Michael Saboff <msaboff@apple.com>
17 Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
18 https://bugs.webkit.org/show_bug.cgi?id=71761
20 Cleaned up SourceCode data() to return StringImpl* and eliminated
21 the recently added stringData() virtual method.
23 No tests added - refactored base class SourceCode and its subclasses.
25 * bindings/js/CachedScriptSourceProvider.h:
26 (WebCore::CachedScriptSourceProvider::data):
27 * bindings/js/ScriptDebugServer.cpp:
28 (WebCore::ScriptDebugServer::dispatchDidParseSource):
29 (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
30 * bindings/js/StringSourceProvider.h:
31 (WebCore::StringSourceProvider::data):
33 2011-11-08 Xiaomei Ji <xji@chromium.org>
35 REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
36 https://bugs.webkit.org/show_bug.cgi?id=70395
38 Reviewed by Tony Chang.
40 Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
41 to be correct for RTL page as well, which is checking either the scroll position change or
42 the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
44 And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
45 the pass-in offset is adjusted within the current scroll range, it could be the same as
46 m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old
47 scroll range, but scolling is still needed when page resize and scroll range changes.
49 Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
51 * platform/ScrollAnimator.cpp:
52 (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
53 * platform/ScrollView.cpp:
54 (WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
55 correct for RTL pages as well.
56 * platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
57 (WebCore::ScrollableArea::ScrollableArea):
58 (WebCore::ScrollableArea::setScrollOrigin):
59 (WebCore::ScrollableArea::setScrollOriginX):
60 (WebCore::ScrollableArea::setScrollOriginY):
61 * platform/ScrollableArea.h: Add m_scrollOriginChanged.
62 (WebCore::ScrollableArea::scrollOriginChanged):
63 (WebCore::ScrollableArea::resetScrollOriginChanged):
65 2011-11-08 Dan Bernstein <mitz@apple.com>
67 <rdar://problem/10262225> Allow RenderView to have columns
68 https://bugs.webkit.org/show_bug.cgi?id=71840
70 Reviewed by Simon Fraser.
72 Tests: fast/multicol/pagination-h-horizontal-bt.html
73 fast/multicol/pagination-h-horizontal-tb.html
74 fast/multicol/pagination-h-vertical-lr.html
75 fast/multicol/pagination-h-vertical-rl.html
76 fast/multicol/pagination-v-horizontal-bt.html
77 fast/multicol/pagination-v-horizontal-tb.html
78 fast/multicol/pagination-v-vertical-lr.html
79 fast/multicol/pagination-v-vertical-rl.html
81 * WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
82 * css/CSSStyleSelector.cpp:
83 (WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
84 document style if the view is paginated.
86 (WebCore::Page::setPagination): Added this setter.
88 (WebCore::Page::Pagination::Pagination):
89 (WebCore::Page::pagination): Added this getter.
90 * rendering/RenderBlock.cpp:
91 (WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
92 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
93 * rendering/RenderBlock.h:
94 * rendering/RenderBox.cpp:
95 (WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
96 instead of unscaledDocumentRect().
97 * rendering/RenderView.cpp:
98 (WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
100 (WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
102 * rendering/RenderView.h:
103 * testing/Internals.cpp:
104 (WebCore::Internals::reset): Also reset pagination.
105 (WebCore::Internals::setPagination): Added this setter for testing.
106 * testing/Internals.h:
107 * testing/Internals.idl:
109 2011-11-08 Vineet Chaudhary <vineet.chaudhary@motorola.com>
111 Document.importNode's 'deep' argument should default to true.
112 https://bugs.webkit.org/show_bug.cgi?id=71190
114 Reviewed by Adam Barth.
116 As new specification says deep argument of importNode should be default to true.
118 Test: fast/dom/document-importNode-arguments.html
120 * dom/Document.h: Added supportive method.
121 (WebCore::Document::importNode):
122 * dom/Document.idl: Modified deep argument as optional.
124 2011-11-08 Adam Klein <adamk@chromium.org>
126 WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
127 https://bugs.webkit.org/show_bug.cgi?id=71596
129 Reviewed by Ryosuke Niwa.
131 Adds two cases where WebKitMutationObserver.observe throws an exception:
132 - When passed a null Node*.
133 - When passed options that don't make sense, e.g.,
134 'attributeOldValue' but not 'attributes'.
136 * bindings/js/JSWebKitMutationObserverCustom.cpp:
137 (WebCore::JSWebKitMutationObserver::observe):
138 * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
139 (WebCore::V8WebKitMutationObserver::observeCallback):
140 * dom/WebKitMutationObserver.cpp:
141 (WebCore::WebKitMutationObserver::validateOptions):
142 (WebCore::WebKitMutationObserver::observe):
143 * dom/WebKitMutationObserver.h:
144 * dom/WebKitMutationObserver.idl:
146 2011-11-08 Joshua Bell <jsbell@chromium.org>
148 IndexedDB: implement compound (array) key support
149 https://bugs.webkit.org/show_bug.cgi?id=62284
151 Reviewed by Tony Chang.
153 Add support for Array values as IDBKeys. (Multirow indexes are still
156 Tests: storage/indexeddb/cursor-key-order.html
157 storage/indexeddb/key-type-array.html
159 * bindings/js/JSIDBKeyCustom.cpp:
161 * bindings/v8/IDBBindingUtilities.cpp:
162 (WebCore::createIDBKeyFromValue):
163 * bindings/v8/custom/V8IDBKeyCustom.cpp:
165 * storage/IDBKey.cpp:
166 (WebCore::IDBKey::compare):
168 (WebCore::IDBKey::createArray):
169 (WebCore::IDBKey::valid):
170 (WebCore::IDBKey::array):
171 (WebCore::IDBKey::compareTypes):
172 * storage/IDBLevelDBCoding.cpp:
173 (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
174 (WebCore::IDBLevelDBCoding::encodeIDBKey):
175 (WebCore::IDBLevelDBCoding::decodeIDBKey):
176 (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
177 (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
178 (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
179 * storage/IDBLevelDBCoding.h:
181 2011-11-08 Daniel Bates <dbates@webkit.org>
183 Remove get() defined in CredentialStorageQt.cpp
184 https://bugs.webkit.org/show_bug.cgi?id=71829
186 Reviewed by Andreas Kling.
188 CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
189 provides the base implementation for each platform. We shouldn't re-define
190 CredentialStorage::get() in CredentialStorageQt.cpp.
192 * Target.pri: Add files CredentialStorage.{cpp, h}.
193 * platform/network/qt/CredentialStorageQt.cpp:
195 2011-11-08 Joshua Bell <jsbell@chromium.org>
197 IndexedDB: reference cycle between IDBDatabase and IDBTransaction
198 https://bugs.webkit.org/show_bug.cgi?id=71749
200 Reviewed by Tony Chang.
202 Break a cyclic reference leak following a setVersion call.
204 * storage/IDBDatabase.cpp:
205 (WebCore::IDBDatabase::setVersionChangeTransaction):
206 (WebCore::IDBDatabase::clearVersionChangeTransaction):
207 (WebCore::IDBDatabase::createObjectStore):
208 (WebCore::IDBDatabase::deleteObjectStore):
209 * storage/IDBDatabase.h:
210 * storage/IDBRequest.cpp:
211 (WebCore::IDBRequest::onSuccess):
212 * storage/IDBTransaction.cpp:
213 (WebCore::IDBTransaction::create):
214 (WebCore::IDBTransaction::onAbort):
215 (WebCore::IDBTransaction::onComplete):
217 2011-11-08 Daniel Bates <dbates@webkit.org>
219 Remove get() defined in CredentialStorageSoup.cpp
220 https://bugs.webkit.org/show_bug.cgi?id=71825
222 Reviewed by Martin Robinson.
224 CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
225 provides the base implementation for each platform. We shouldn't re-define
226 CredentialStorage::get() in CredentialStorageSoup.cpp.
228 * GNUmakefile.list.am: Add source file CredentialStorage.cpp.
229 * platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
230 CredentialStorage::get() is defined in CredentialStorage.cpp.
232 2011-11-08 Roland Steiner <rolandsteiner@chromium.org>
234 Rename CSS document() -> findDocument(), to indicate tree climbing
235 https://bugs.webkit.org/show_bug.cgi?id=71764
237 Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
239 Reviewed by Darin Adler.
241 No new tests. (simple refactoring)
244 * css/CSSImportRule.cpp:
245 (WebCore::CSSImportRule::setCSSStyleSheet):
246 (WebCore::CSSImportRule::requestStyleSheet):
247 * css/CSSMutableStyleDeclaration.cpp:
248 (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
250 (WebCore::parseColorValue):
251 (WebCore::parseSimpleLengthValue):
252 (WebCore::CSSParser::setStyleSheet):
253 (WebCore::CSSParser::findDocument):
254 (WebCore::CSSParser::parseAttr):
256 * css/CSSStyleRule.cpp:
257 (WebCore::CSSStyleRule::setSelectorText):
258 * css/CSSStyleSheet.cpp:
259 (WebCore::CSSStyleSheet::cssRules):
260 (WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
261 (WebCore::CSSStyleSheet::findDocument):
262 (WebCore::CSSStyleSheet::styleSheetChanged):
263 * css/CSSStyleSheet.h:
264 * inspector/InspectorCSSAgent.cpp:
265 (WebCore::InspectorCSSAgent::bindStyleSheet):
266 * inspector/InspectorStyleSheet.cpp:
267 (WebCore::InspectorStyleSheet::ownerDocument):
268 * page/PageSerializer.cpp:
269 (WebCore::PageSerializer::serializeCSSStyleSheet):
270 (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
272 2011-11-07 Ryosuke Niwa <rniwa@webkit.org>
274 Indent command can insert block quote in non editable content
275 https://bugs.webkit.org/show_bug.cgi?id=71754
277 Reviewed by Enrica Casucci.
279 The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
280 not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
281 outerNode even if it was body. Fixed those bugs.
283 Test: editing/execCommand/indent-images.html
284 editing/execCommand/indent-images-2.html
285 editing/execCommand/indent-images-3.html
287 * editing/CompositeEditCommand.cpp:
288 (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
289 * editing/IndentOutdentCommand.cpp:
290 (WebCore::IndentOutdentCommand::indentIntoBlockquote):
292 2011-11-08 Adam Klein <adamk@chromium.org>
294 Only walk up the tree in search of MutationObservers if one has been added
295 https://bugs.webkit.org/show_bug.cgi?id=71499
297 Reviewed by Ojan Vafai.
299 Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
300 to Document that keeps track of which observer types have been added.
301 This allows us to avoid doing any extra work if MutationObservers are
302 not attached to a document.
304 This could be improved upon to keep a count of each type, as removing
305 an observer currently has no effect on m_subtreeMutationObserverTypes.
306 But that would require a more complex implementation: one counter per
307 mutation type. And it would be easier to get wrong: if the counter
308 gets out of sync with the actual state of the DOM, we could start
309 dropping mutation notifications.
311 Test: fast/mutation/cross-document.html
314 (WebCore::Document::hasSubtreeMutationObserverOfType):
315 (WebCore::Document::hasSubtreeMutationObserver):
316 (WebCore::Document::addSubtreeMutationObserverTypes):
317 * dom/MutationObserverRegistration.h:
318 (WebCore::MutationObserverRegistration::isSubtree):
319 (WebCore::MutationObserverRegistration::deliveryOptions):
320 (WebCore::MutationObserverRegistration::mutationTypes):
322 (WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
323 (WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
324 (WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
325 * dom/WebKitMutationObserver.cpp:
326 (WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
327 * dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
329 2011-11-08 Andreas Kling <kling@webkit.org>
331 Devirtualize CSSValue.
332 <http://webkit.org/b/71666>
334 Reviewed by Antti Koivisto.
336 Make the CSSValue destructor non-virtual (along with all the subclasses.)
337 This removes the vtables, and the pointers thereto in each value instance,
338 shrinking each object by one CPU word (4 or 8 bytes.)
340 We use the same trick as CSSRule to implement destruction; providing our
341 own deref() instead of RefCounted's, and performing a statically typed
342 delete in a destroy() method called when the ref count reaches 0.
344 Also made all the empty subclass destructors inline.
346 * css/CSSAspectRatioValue.cpp:
347 * css/CSSAspectRatioValue.h:
348 (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
349 * css/CSSBorderImageSliceValue.cpp:
350 * css/CSSBorderImageSliceValue.h:
351 (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
352 * css/CSSBorderImageValue.cpp:
353 * css/CSSBorderImageValue.h:
354 (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
355 * css/CSSCanvasValue.h:
356 * css/CSSCrossfadeValue.cpp:
357 * css/CSSCrossfadeValue.h:
358 (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
359 * css/CSSCursorImageValue.h:
360 * css/CSSFlexValue.cpp:
361 * css/CSSFlexValue.h:
362 (WebCore::CSSFlexValue::~CSSFlexValue):
363 * css/CSSFontFaceSrcValue.cpp:
364 * css/CSSFontFaceSrcValue.h:
365 (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
366 * css/CSSFunctionValue.cpp:
367 * css/CSSFunctionValue.h:
368 (WebCore::CSSFunctionValue::~CSSFunctionValue):
369 * css/CSSImageGeneratorValue.h:
370 * css/CSSImageValue.h:
371 * css/CSSMutableValue.h:
372 (WebCore::CSSMutableValue::~CSSMutableValue):
373 * css/CSSParserValues.h:
374 * css/CSSPrimitiveValue.h:
375 * css/CSSUnicodeRangeValue.cpp:
376 * css/CSSUnicodeRangeValue.h:
377 (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
379 (WebCore::CSSValue::destroy):
381 (WebCore::CSSValue::deref):
382 (WebCore::CSSValue::~CSSValue):
383 * css/CSSValueList.cpp:
384 * css/CSSValueList.h:
385 (WebCore::CSSValueList::~CSSValueList):
386 * css/WebKitCSSFilterValue.cpp:
387 * css/WebKitCSSFilterValue.h:
388 (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
389 * css/WebKitCSSTransformValue.cpp:
390 * css/WebKitCSSTransformValue.h:
391 (WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
393 2011-11-08 Darin Adler <darin@apple.com>
395 Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
396 https://bugs.webkit.org/show_bug.cgi?id=71828
398 Reviewed by Nate Chapin.
400 No new tests; not sure how to reproduce this, but crash traces indicate it
401 is an otherwise-harmless null dereference.
403 * loader/DocumentWriter.cpp:
404 (WebCore::DocumentWriter::deprecatedFrameEncoding):
405 Handle null document the same as a document without a URL.
407 2011-11-08 Sheriff Bot <webkit.review.bot@gmail.com>
409 Unreviewed, rolling out r95720.
410 http://trac.webkit.org/changeset/95720
411 https://bugs.webkit.org/show_bug.cgi?id=71831
413 This has made the menulists on WebKit patch reviews much less
414 usable (Requested by mrobinson on #webkit).
416 * platform/gtk/GtkPopupMenu.cpp:
417 (WebCore::GtkPopupMenu::menuPositionFunction):
419 2011-11-08 Nico Weber <thakis@chromium.org>
421 [chromium] Remove 6 exit time destructors and 6 static initializers
422 https://bugs.webkit.org/show_bug.cgi?id=71760
424 Reviewed by Nate Chapin.
426 Do this by moving global statics into function-local statics, and using
427 DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
428 thread, this is a safe change to make.
430 No behavior change, so no new tests.
432 * bindings/v8/ScriptGCEvent.cpp:
433 (WebCore::sEventListeners):
434 (WebCore::ScriptGCEvent::addEventListener):
435 (WebCore::ScriptGCEvent::removeEventListener):
436 (WebCore::ScriptGCEvent::gcEpilogueCallback):
437 * bindings/v8/ScriptGCEvent.h:
438 * bindings/v8/V8NPObject.cpp:
439 (WebCore::staticTemplateMap):
440 (WebCore::weakTemplateCallback):
441 (WebCore::npObjectGetProperty):
442 (WebCore::staticNPObjectMap):
443 (WebCore::weakNPObjectCallback):
444 (WebCore::createV8ObjectForNPObject):
445 (WebCore::forgetV8ObjectForNPObject):
446 * bindings/v8/V8Proxy.cpp:
447 (WebCore::staticExtensionsList):
448 (WebCore::V8Proxy::registeredExtensionWithV8):
449 (WebCore::V8Proxy::registerExtension):
450 (WebCore::V8Proxy::extensions):
451 * bindings/v8/V8Proxy.h:
452 * bindings/v8/npruntime.cpp:
453 * plugins/chromium/PluginDataChromium.cpp:
454 (WebCore::pluginCache):
455 (WebCore::PluginData::initPlugins):
456 (WebCore::PluginData::refresh):
457 (WebCore::getPluginMimeTypeFromExtension):
459 2011-11-08 Hans Wennborg <hans@chromium.org>
461 IndexedDB: Start using the onSuccessWithContinuation() callback
462 https://bugs.webkit.org/show_bug.cgi?id=71565
464 Reviewed by Tony Chang.
466 This is a follow-up to r99169 where we start using this new
467 callback for cursors.
469 * storage/IDBCursorBackendImpl.cpp:
470 (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
471 * storage/IDBRequest.cpp:
472 (WebCore::IDBRequest::setCursor):
474 2011-11-08 Justin Schuh <jschuh@chromium.org>
476 Document::loader should use documentLoader(), not activeDocumentLoader()
477 https://bugs.webkit.org/show_bug.cgi?id=65895
479 Reviewed by Brady Eidson.
481 Test: fast/loader/stateobjects/replacestate-in-onunload.html
484 (WebCore::Document::loader):
486 2011-11-08 Andreas Kling <kling@webkit.org>
488 CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
489 <http://webkit.org/b/71824>
491 Reviewed by Darin Adler.
493 Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.
495 * css/CSSCanvasValue.h:
496 (WebCore::CSSCanvasValue::isFixedSize):
497 * css/CSSCrossfadeValue.h:
498 (WebCore::CSSCrossfadeValue::isFixedSize):
499 * css/CSSGradientValue.h:
500 (WebCore::CSSGradientValue::isFixedSize):
501 (WebCore::CSSGradientValue::fixedSize):
502 * css/CSSImageGeneratorValue.cpp:
503 (WebCore::CSSImageGeneratorValue::image):
504 (WebCore::CSSImageGeneratorValue::isFixedSize):
505 (WebCore::CSSImageGeneratorValue::fixedSize):
506 * css/CSSImageGeneratorValue.h:
508 2011-11-08 Andrey Kosyakov <caseq@chromium.org>
510 Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
511 https://bugs.webkit.org/show_bug.cgi?id=71822
513 Reviewed by Pavel Feldman.
515 * inspector/front-end/ExtensionAPI.js:
516 (buildExtensionAPIInjectedScript):
518 2011-11-08 Andreas Kling <kling@webkit.org>
520 CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
521 <http://webkit.org/b/71814>
523 Reviewed by Antti Koivisto.
525 Defer to CSSCursorImageValue (the only CSSImageValue subclass)
526 when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
528 * css/CSSCursorImageValue.h:
529 * css/CSSImageValue.cpp:
530 (WebCore::CSSImageValue::cachedImage):
531 * css/CSSImageValue.h:
533 2011-11-08 Andrey Kosyakov <caseq@chromium.org>
535 Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
536 https://bugs.webkit.org/show_bug.cgi?id=71817
538 Reviewed by Pavel Feldman.
540 * English.lproj/localizedStrings.js:
541 * inspector/front-end/ConsoleView.js:
542 (WebInspector.ConsoleView.prototype.evaluate):
543 (WebInspector.ConsoleView.prototype._enterKeyPressed):
544 * inspector/front-end/JavaScriptSourceFrame.js:
545 (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
546 * inspector/front-end/ScriptsPanel.js:
547 (WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
548 * inspector/front-end/ShortcutsScreen.js:
549 (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
550 (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
551 * inspector/front-end/externs.js:
552 (WebInspector.evaluateInConsole):
553 * inspector/front-end/inspector.js:
554 (WebInspector.evaluateInConsole):
556 2011-11-08 Andreas Kling <kling@webkit.org>
558 CSSValue: Devirtualize cssText().
559 <http://webkit.org/b/71813>
561 Reviewed by Antti Koivisto.
563 Rename all subclass implementations to customCssText() and add
564 a CSSValue::cssText() that defers to the appropriate subclass
565 based on the type info.
567 The rename is both for clarity, and to ensure that calling
568 cssText() will always end up in the correct method.
570 * css/CSSAspectRatioValue.cpp:
571 (WebCore::CSSAspectRatioValue::customCssText):
572 * css/CSSAspectRatioValue.h:
573 * css/CSSBorderImageSliceValue.cpp:
574 (WebCore::CSSBorderImageSliceValue::customCssText):
575 * css/CSSBorderImageSliceValue.h:
576 * css/CSSBorderImageValue.cpp:
577 (WebCore::CSSBorderImageValue::customCssText):
578 * css/CSSBorderImageValue.h:
579 * css/CSSCanvasValue.cpp:
580 (WebCore::CSSCanvasValue::customCssText):
581 * css/CSSCanvasValue.h:
582 * css/CSSCrossfadeValue.cpp:
583 (WebCore::CSSCrossfadeValue::customCssText):
584 * css/CSSCrossfadeValue.h:
585 * css/CSSFlexValue.cpp:
586 (WebCore::CSSFlexValue::customCssText):
587 * css/CSSFlexValue.h:
588 * css/CSSFontFaceSrcValue.cpp:
589 (WebCore::CSSFontFaceSrcValue::customCssText):
590 * css/CSSFontFaceSrcValue.h:
591 * css/CSSFunctionValue.cpp:
592 (WebCore::CSSFunctionValue::customCssText):
593 * css/CSSFunctionValue.h:
594 * css/CSSGradientValue.cpp:
595 (WebCore::CSSLinearGradientValue::customCssText):
596 (WebCore::CSSRadialGradientValue::customCssText):
597 * css/CSSGradientValue.h:
598 * css/CSSInheritedValue.cpp:
599 (WebCore::CSSInheritedValue::customCssText):
600 * css/CSSInheritedValue.h:
601 * css/CSSInitialValue.cpp:
602 (WebCore::CSSInitialValue::customCssText):
603 * css/CSSInitialValue.h:
604 * css/CSSLineBoxContainValue.cpp:
605 (WebCore::CSSLineBoxContainValue::customCssText):
606 * css/CSSLineBoxContainValue.h:
607 * css/CSSPrimitiveValue.cpp:
608 (WebCore::CSSPrimitiveValue::customCssText):
609 * css/CSSPrimitiveValue.h:
610 * css/CSSReflectValue.cpp:
611 (WebCore::CSSReflectValue::customCssText):
612 * css/CSSReflectValue.h:
613 * css/CSSTimingFunctionValue.cpp:
614 (WebCore::CSSLinearTimingFunctionValue::customCssText):
615 (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
616 (WebCore::CSSStepsTimingFunctionValue::customCssText):
617 * css/CSSTimingFunctionValue.h:
618 (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
619 * css/CSSUnicodeRangeValue.cpp:
620 (WebCore::CSSUnicodeRangeValue::customCssText):
621 * css/CSSUnicodeRangeValue.h:
623 (WebCore::CSSValue::cssText):
625 * css/CSSValueList.cpp:
626 (WebCore::CSSValueList::customCssText):
627 * css/CSSValueList.h:
628 * css/FontFamilyValue.cpp:
629 (WebCore::FontFamilyValue::customCssText):
630 * css/FontFamilyValue.h:
631 * css/FontFeatureValue.cpp:
632 (WebCore::FontFeatureValue::customCssText):
633 * css/FontFeatureValue.h:
635 (WebCore::FontValue::customCssText):
637 * css/ShadowValue.cpp:
638 (WebCore::ShadowValue::customCssText):
640 * css/WebKitCSSFilterValue.cpp:
641 (WebCore::WebKitCSSFilterValue::customCssText):
642 * css/WebKitCSSFilterValue.h:
643 * css/WebKitCSSTransformValue.cpp:
644 (WebCore::WebKitCSSTransformValue::customCssText):
645 * css/WebKitCSSTransformValue.h:
647 (WebCore::SVGColor::customCssText):
650 (WebCore::SVGPaint::customCssText):
653 2011-11-08 Gavin Peters <gavinp@chromium.org>
655 Fix width of m_type in CachedResource
656 https://bugs.webkit.org/show_bug.cgi?id=71727
658 Reviewed by Nate Chapin.
660 Test: fast/dom/HTMLLinkElement/cachedresource-types.html
662 * loader/cache/CachedResource.cpp:
663 (WebCore::CachedResource::CachedResource):
664 * loader/cache/CachedResource.h:
666 2011-11-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
668 [Qt] Don't set OBJECTS_DIR and DEFINES in default_pre
670 If a pro file needs to access the OBJECTS_DIR it should use the
671 form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
672 after defaults_post has been processed.
674 Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
675 the command line will override whatever we set in defaults_pre.
677 Reviewed by Simon Hausmann.
681 2011-11-08 Pavel Feldman <pfeldman@google.com>
683 Web Inspector: add JavaScript keywords to the autocomplete.
684 https://bugs.webkit.org/show_bug.cgi?id=71782
686 Reviewed by Yury Semikhatsky.
688 * inspector/front-end/ConsoleView.js:
689 (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
690 (WebInspector.ConsoleView.prototype._completions):
691 (WebInspector.ConsoleView.prototype._reportCompletions):
693 2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
695 Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
696 https://bugs.webkit.org/show_bug.cgi?id=71780
698 Reviewed by Zoltan Herczeg.
700 Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
701 out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
702 "const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
703 SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.
705 This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
706 A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.
708 This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.
710 Doesn't affect any tests yet.
713 * GNUmakefile.list.am:
716 * WebCore.vcproj/WebCore.vcproj:
717 * WebCore.xcodeproj/project.pbxproj:
718 * rendering/svg/RenderSVGResourceGradient.cpp:
719 (WebCore::RenderSVGResourceGradient::applyResource):
720 * rendering/svg/RenderSVGResourceGradient.h:
721 * rendering/svg/RenderSVGResourceLinearGradient.h:
722 (WebCore::RenderSVGResourceLinearGradient::gradientUnits):
723 * rendering/svg/RenderSVGResourcePattern.cpp:
724 (WebCore::RenderSVGResourcePattern::applyResource):
725 (WebCore::calculatePatternBoundaries):
726 (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
727 (WebCore::RenderSVGResourcePattern::createTileImage):
728 * rendering/svg/RenderSVGResourceRadialGradient.h:
729 (WebCore::RenderSVGResourceRadialGradient::gradientUnits):
730 * rendering/svg/SVGRenderTreeAsText.cpp:
731 (WebCore::writeCommonGradientProperties):
732 (WebCore::writeSVGResourceContainer):
733 * svg/GradientAttributes.h:
734 (WebCore::GradientAttributes::GradientAttributes):
735 (WebCore::GradientAttributes::gradientUnits):
736 (WebCore::GradientAttributes::setGradientUnits):
737 (WebCore::GradientAttributes::hasGradientUnits):
738 * svg/PatternAttributes.h:
739 (WebCore::PatternAttributes::PatternAttributes):
740 (WebCore::PatternAttributes::patternUnits):
741 (WebCore::PatternAttributes::patternContentUnits):
742 (WebCore::PatternAttributes::setPatternUnits):
743 (WebCore::PatternAttributes::setPatternContentUnits):
744 (WebCore::PatternAttributes::hasPatternUnits):
745 (WebCore::PatternAttributes::hasPatternContentUnits):
746 * svg/SVGAllInOne.cpp:
748 (WebCore::SVGElement::operator SVGLengthContext):
749 * svg/SVGFilterElement.cpp:
750 (WebCore::SVGFilterElement::filterBoundingBox):
752 (WebCore::SVGLength::SVGLength):
753 (WebCore::SVGLength::unitMode):
754 (WebCore::SVGLength::value):
755 (WebCore::SVGLength::setValue):
756 (WebCore::SVGLength::convertToSpecifiedUnits):
758 (WebCore::SVGLength::blend):
759 * svg/SVGLengthContext.cpp: Added.
760 (WebCore::SVGLengthContext::SVGLengthContext):
761 (WebCore::SVGLengthContext::resolveRectangle):
762 (WebCore::SVGLengthContext::resolvePoint):
763 (WebCore::SVGLengthContext::resolveLength):
764 (WebCore::SVGLengthContext::convertValueToUserUnits):
765 (WebCore::SVGLengthContext::convertValueFromUserUnits):
766 (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
767 (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
768 (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
769 (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
770 (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
771 (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
772 (WebCore::SVGLengthContext::determineViewport):
773 * svg/SVGLengthContext.h: Added.
774 (WebCore::SVGLengthContext::resolveRectangle):
775 * svg/SVGLinearGradientElement.cpp:
776 (WebCore::SVGLinearGradientElement::collectGradientAttributes):
777 (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
778 * svg/SVGMaskElement.cpp:
779 (WebCore::SVGMaskElement::maskBoundingBox):
780 * svg/SVGPatternElement.cpp:
781 (WebCore::SVGPatternElement::collectPatternAttributes):
782 * svg/SVGRadialGradientElement.cpp:
783 (WebCore::SVGRadialGradientElement::collectGradientAttributes):
784 (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
786 2011-11-08 Andreas Kling <kling@webkit.org>
788 CSSValue: Devirtualize addSubresourceStyleURLs().
789 <http://webkit.org/b/71805>
791 Reviewed by Antti Koivisto.
793 Make addSubresourceStyleURLs() non-virtual and call the appropriate
794 subclass implementation based on the subclass type info.
796 * css/CSSBorderImageValue.h:
797 * css/CSSFontFaceSrcValue.h:
798 * css/CSSPrimitiveValue.h:
799 * css/CSSReflectValue.h:
801 (WebCore::CSSValue::addSubresourceStyleURLs):
803 (WebCore::CSSValue::addSubresourceStyleURLs):
804 * css/CSSValueList.h:
806 2011-11-08 Andrey Kosyakov <caseq@chromium.org>
808 Web Inspector: do not show object popover when selection is active
809 https://bugs.webkit.org/show_bug.cgi?id=71804
811 Reviewed by Yury Semikhatsky.
813 * inspector/front-end/JavaScriptSourceFrame.js:
814 (WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):
816 2011-11-08 Alexander Pavlov <apavlov@chromium.org>
818 Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
819 https://bugs.webkit.org/show_bug.cgi?id=71797
821 Reviewed by Yury Semikhatsky.
823 * inspector/front-end/TextPrompt.js:
824 (WebInspector.TextPrompt.prototype.onKeyDown):
825 (WebInspector.TextPrompt.prototype.complete):
827 2011-11-08 Andreas Kling <kling@webkit.org>
829 CSSGradientValue: Devirtualize createGradient().
830 <http://webkit.org/b/71800>
832 Reviewed by Antti Koivisto.
834 Make createGradient() non-virtual and call the appropriate subclass
835 implementation in image() based on is{Linear,Radial}Gradient().
837 * css/CSSGradientValue.cpp:
838 (WebCore::CSSGradientValue::image):
839 * css/CSSGradientValue.h:
841 2011-11-08 Andreas Kling <kling@webkit.org>
843 CSSCanvasValue: Remove inheritance from CanvasObserver.
844 <http://webkit.org/b/71796>
846 Reviewed by Antti Koivisto.
848 To completely devirtualize all the CSSValues, we need to remove
849 CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
850 a vptr into the class.
852 Use the same approach as CSSImportRule and make a simple proxying
853 CanvasObserver subclass and put that as a member variable of the value.
855 * css/CSSCanvasValue.cpp:
856 (WebCore::CSSCanvasValue::~CSSCanvasValue):
857 (WebCore::CSSCanvasValue::element):
858 * css/CSSCanvasValue.h:
859 (WebCore::CSSCanvasValue::CSSCanvasValue):
860 (WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
861 (WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
862 (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
863 (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
864 (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):
866 2011-11-08 Yury Semikhatsky <yurys@chromium.org>
868 Web Inspector: display notification in the front-end when inspected worker terminates
869 https://bugs.webkit.org/show_bug.cgi?id=71770
871 When inspected worker terminates we will show a notification similar to the help
872 screen. The notification disappears when the worker restarts or the user closes it
875 Reviewed by Pavel Feldman.
877 * English.lproj/localizedStrings.js:
878 * inspector/front-end/ScriptsPanel.js:
879 * inspector/front-end/WorkerManager.js:
880 (WebInspector.WorkerManager.loaded):
881 (WebInspector.WorkerManager.showWorkerTerminatedScreen):
882 (WebInspector.WorkerTerminatedScreen):
883 * inspector/front-end/inspector.js:
884 (WebInspector.disconnectFromBackend):
885 (WebInspector.frontendReused):
887 2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
889 Fold ImageBySizeCache again into CSSImageGeneratorValue
890 https://bugs.webkit.org/show_bug.cgi?id=71785
892 Reviewed by Zoltan Herczeg.
894 Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
895 CachedImage has switched to SVGImageCache and no longer needs it.
898 * GNUmakefile.list.am:
901 * WebCore.vcproj/WebCore.vcproj:
902 * WebCore.xcodeproj/project.pbxproj:
903 * css/CSSImageGeneratorValue.cpp:
904 (WebCore::CSSImageGeneratorValue::addClient):
905 (WebCore::CSSImageGeneratorValue::removeClient):
906 (WebCore::CSSImageGeneratorValue::getImage):
907 (WebCore::CSSImageGeneratorValue::putImage):
908 * css/CSSImageGeneratorValue.h:
909 (WebCore::SizeAndCount::SizeAndCount):
910 (WebCore::CSSImageGeneratorValue::clients):
911 * rendering/ImageBySizeCache.cpp: Removed.
912 * rendering/ImageBySizeCache.h: Removed.
914 2011-11-08 Alexander Pavlov <apavlov@chromium.org>
916 Web Inspector: Avoid automatic Console suggestions with empty expression
917 https://bugs.webkit.org/show_bug.cgi?id=71783
919 Reviewed by Yury Semikhatsky.
921 * inspector/front-end/ConsoleView.js:
923 2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
925 Not reviewed. Fix build, by removing an unused variable.
927 * html/canvas/CanvasRenderingContext2D.cpp:
928 (WebCore::isOriginClean):
929 (WebCore::CanvasRenderingContext2D::createPattern):
931 2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
933 Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
934 https://bugs.webkit.org/show_bug.cgi?id=71368
936 Reviewed by Zoltan Herczeg.
938 When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
939 Otherwhise wrong assumptions are mode, leading to regressions.
941 Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.
943 * html/canvas/CanvasRenderingContext.cpp:
944 (WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
945 * html/canvas/CanvasRenderingContext2D.cpp:
946 (WebCore::isOriginClean): Ditto.
948 2011-11-08 Vsevolod Vlasov <vsevik@chromium.org>
950 Web Inspector: Console should be scrolled to bottom when shown for the first time.
951 https://bugs.webkit.org/show_bug.cgi?id=71781
953 Reviewed by Pavel Feldman.
955 * inspector/front-end/ConsoleView.js:
957 2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
959 Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
960 https://bugs.webkit.org/show_bug.cgi?id=71368
962 Reviewed by Antti Koivisto.
964 Fix regressions/races introduced by r98852. SVGImage repainting didn't work under certain circumstances.
965 The problem was hard to reproduce on Mac ports, but easily visible on Chromium, when opening two files
966 that shared the same animated SVG image. The problem of sharing a single ImageObserver across multiple
967 instances of the same SVGImage, leads to nasty problems, that are timing dependant. changedInRect() calls
968 that should only by received in one document, are received in the other as well, due the shared nature
969 of CachedImage. To avoid these problems alltogether, a new approach is needed, that was initially suggested
972 Avoid creating multiple SVGImages and caching them for different sizes/zoom levels. Introduce SVGImageCache
973 which holds rendered versions of the SVGImage at certain sizes/zoom levels. It holds (ImageBuffer, Image) pairs
974 for each renderer, associated with a size and zoom level.
976 This is a major change to the cache as introduced some weeks ago. Instead of holding multiple SVGImages, each containing
977 a whole DOM/render tree, we now create bitmap images rendered at the requested sizes/zoom levels and cache them.
979 Revert ImageBySizeCache changes that were needed to make it usable wih SVGImage. Its now used only in CSSImageGeneratorValue and
980 thus the extra information that CSSImageGeneratorValue doesn't need can be removed again (desired/actual size differentations, and the zoom level).
982 Tests: svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
983 svg/as-image/animated-svg-as-image-same-image.html
985 * CMakeLists.txt: Add svg/graphics/SVGImageCache.* to build.
986 * GNUmakefile.list.am: Ditto.
988 * WebCore.gypi: Ditto.
989 * WebCore.vcproj/WebCore.vcproj: Ditto.
990 * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from svg/graphics, as SVGImageCache is needed by CachedImage in SVG enabled builds.
991 * WebCore.xcodeproj/project.pbxproj: Add svg/graphics/SVGImageCache.* to build.
992 * css/CSSImageGeneratorValue.cpp: Remove zoom parameter from addClient/getImage, no need to pass 1 default values anymore.
993 (WebCore::CSSImageGeneratorValue::addClient):
994 (WebCore::CSSImageGeneratorValue::getImage):
995 * loader/cache/CachedImage.cpp: Stop using ImageBySizeCache, and switch to the new SVGImageCache.
996 (WebCore::CachedImage::removeClientForRenderer):
997 (WebCore::CachedImage::lookupOrCreateImageForRenderer):
998 (WebCore::CachedImage::setContainerSizeForRenderer):
999 (WebCore::CachedImage::imageSizeForRenderer):
1000 (WebCore::CachedImage::clear):
1001 (WebCore::CachedImage::createImage):
1002 (WebCore::CachedImage::destroyDecodedData):
1003 (WebCore::CachedImage::decodedSizeChanged):
1004 (WebCore::CachedImage::didDraw):
1005 (WebCore::CachedImage::shouldPauseAnimation):
1006 (WebCore::CachedImage::animationAdvanced):
1007 (WebCore::CachedImage::changedInRect):
1008 * loader/cache/CachedImage.h:
1009 * page/DragController.cpp: Stop using imageForRenderer(), as it may return cached BitmapImages, that don't carry a filename extension anymore, which is required here.
1010 (WebCore::getImage):
1011 * rendering/ImageBySizeCache.cpp: Revert changes to ImageBySizeCache, which were needed to make it usable for SVGImages. CSSImageGenerator doesn't need it.
1012 (WebCore::ImageBySizeCache::addClient):
1013 (WebCore::ImageBySizeCache::removeClient):
1014 (WebCore::ImageBySizeCache::getImage):
1015 * rendering/ImageBySizeCache.h: Ditto.
1016 (WebCore::SizeAndCount::SizeAndCount):
1017 * rendering/RenderImage.cpp: Stop using imageForRenderer(), use cachedImage()->image(), which is guaranteed to be a SVGImage for svg images, and not a cached bitmap copy.
1018 (WebCore::RenderImage::embeddedContentBox):
1019 * rendering/RenderReplaced.cpp: Simplify logic to figure out the intrinsic size - the special logic for the old SVGImage cache can go away now.
1020 (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
1021 (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
1022 * rendering/style/StyleCachedImage.cpp: Call removeClientForRenderer(), which takes care of clearing SVGImageCache entries as well.
1023 (WebCore::StyleCachedImage::removeClient): This change is needed, as we don't want to make removeClient() virtual in CachedResource.
1024 * rendering/svg/RenderSVGRoot.cpp: Rename isEmbeddedThroughImageElement to isEmbeddedThroughSVGImage, as this is what it actually checks.
1025 (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
1026 * rendering/svg/RenderSVGRoot.h:
1027 * svg/SVGSVGElement.cpp: Fix bug that's visible now with the SVGImageCache, which was already there before, but hard to trigger.
1028 (WebCore::SVGSVGElement::currentViewBoxRect): The viewBox depends on who's asking for it: the host document or the embedded document? Take that into account.
1029 * svg/SVGSVGElement.h:
1030 * svg/graphics/SVGImage.cpp: Cleanup some code. Add new logic that draws a SVGImage into an ImageBuffer at a desired size & zoom.
1031 (WebCore::SVGImage::setContainerSize):
1032 (WebCore::SVGImage::size):
1033 (WebCore::SVGImage::drawSVGToImageBuffer):
1034 * svg/graphics/SVGImage.h:
1035 * svg/graphics/SVGImageCache.cpp: Added. SVGImageCache caches Image/ImageBuffer pairs for each _renderer_ and size/zoom level. The ImageBySizeCache only cared about size.
1036 (WebCore::SVGImageCache::SVGImageCache):
1037 (WebCore::SVGImageCache::~SVGImageCache):
1038 (WebCore::SVGImageCache::removeRendererFromCache):
1039 (WebCore::SVGImageCache::setRequestedSizeAndZoom):
1040 (WebCore::SVGImageCache::getRequestedSizeAndZoom):
1041 (WebCore::SVGImageCache::imageContentChanged):
1042 (WebCore::SVGImageCache::redrawTimerFired):
1043 (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
1044 * svg/graphics/SVGImageCache.h: Added.
1045 (WebCore::SVGImageCache::create):
1046 (WebCore::SVGImageCache::CachedSizeAndZoom::CachedSizeAndZoom):
1047 (WebCore::SVGImageCache::CachedImageData::CachedImageData):
1049 2011-11-07 Yury Semikhatsky <yurys@chromium.org>
1051 Web Inspector: refactor shortcuts and settings screens
1052 https://bugs.webkit.org/show_bug.cgi?id=71773
1054 Keep pointer to the visible screen and hide it automatically when new one is going
1057 Reviewed by Pavel Feldman.
1059 * inspector/front-end/HelpScreen.js:
1060 (WebInspector.HelpScreen.prototype.show):
1061 (WebInspector.HelpScreen.prototype.hide):
1062 * inspector/front-end/ShortcutsScreen.js:
1063 (WebInspector.ShortcutsScreen): ShortcutsScreen is now a descendant of HelpScreen.
1064 (WebInspector.ShortcutsScreen.prototype.show):
1065 * inspector/front-end/inspector.js:
1066 (WebInspector._hideSettingsScreen):
1067 (WebInspector.documentKeyDown):
1069 2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
1071 Not reviewed. Fix Snow Leopard 32bit builds.
1073 * css/CSSParser.cpp:
1074 (WebCore::CSSParser::parseAspectRatio): CSSParserValue::fValue is a double, use narrowPrecisionToFloat() to convert double->float.
1075 * platform/ClockGeneric.cpp: Remove unneeded variable out of 32bit integer value range.
1076 * webaudio/BiquadDSPKernel.cpp:
1077 (WebCore::BiquadDSPKernel::getFrequencyResponse): Use narrowPrecisionTofloat() to convert double->float.
1079 2011-11-07 Daniel Bates <dbates@rim.com>
1081 Add CredentialStorage.cpp to WebCore/CMakeLists.txt
1082 https://bugs.webkit.org/show_bug.cgi?id=71748
1084 Reviewed by Martin Robinson.
1086 Adds CredentialStorage.cpp to WebCore/CMakeLists.txt since its provides a
1087 base implementation of this feature.
1089 Also adds a stub implementation of CredentialStorage to the WinCE port.
1091 * CMakeLists.txt: Added source file CredentialStorage.cpp.
1092 * CMakeListsEfl.txt: Added source file CredentialStorageCurl.cpp when building
1093 with the Curl networking backend.
1094 * CMakeListsWinCE.txt: Added source file CredentialStorageWin.cpp.
1095 * platform/network/win/CredentialStorageWin.cpp: Added.
1096 (WebCore::Credential::getFromPersistentStorage): Stub implementation.
1098 2011-11-07 Kentaro Hara <haraken@chromium.org>
1100 Remove [CustomGetter] IDL for window.Image of V8
1101 https://bugs.webkit.org/show_bug.cgi?id=71739
1103 Reviewed by Adam Barth.
1105 Currently, window.Image uses a custom getter to get the template
1106 of 'HTMLImageElementConstructor'. However, this getter does not need to
1107 be custom and can use a default getter
1108 'DOMWindowInternal::DOMWindowConstructorGetter'.
1110 Tests: fast/js/custom-constructors.html
1111 fast/dom/image-object.html
1112 fast/dom/gc-image-element.html
1113 fast/dom/Window/custom-constructors.html
1115 * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
1116 * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Image of V8. Renamed 'HTMLImageElementConstructor' to 'HTMLImageElementConstructorConstructor' in order to make window.Image use the template of (not 'HTMLImageElement' but) 'HTMLImageElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
1118 2011-11-07 Chris Fleizach <cfleizach@apple.com>
1120 REGRESSION(r99025-r99037): platform/mac/accessibility/select-element-selection-with-optgroups.html is asserting
1121 https://bugs.webkit.org/show_bug.cgi?id=71421
1123 Reviewed by Ryosuke Niwa.
1125 Remove an assert that was added by r99035. It was added based on a comment in the code, but not tested.
1127 * html/HTMLSelectElement.cpp:
1128 (WebCore::HTMLSelectElement::selectOption):
1130 2011-11-07 Emil A Eklund <eae@chromium.org>
1132 Revert platform and scrolling to ints
1133 https://bugs.webkit.org/show_bug.cgi?id=71585
1135 Reviewed by Eric Seidel.
1137 Replace all uses of LayoutUnit and related types with ints in platform
1142 * page/FrameView.cpp:
1144 * platform/PopupMenuClient.h:
1145 * platform/ScrollAnimatorNone.cpp:
1146 * platform/ScrollAnimatorNone.h:
1147 * platform/ScrollView.cpp:
1148 * platform/ScrollView.h:
1149 * platform/ScrollableArea.h:
1150 * rendering/RenderLayer.cpp:
1151 * rendering/RenderLayer.h:
1152 * rendering/RenderListBox.cpp:
1153 * rendering/RenderListBox.h:
1154 * rendering/RenderMenuList.cpp:
1155 * rendering/RenderMenuList.h:
1156 * rendering/RenderTextControlSingleLine.cpp:
1157 * rendering/RenderTextControlSingleLine.h:
1159 2011-11-07 Kentaro Hara <haraken@chromium.org>
1161 Fixed wrong test results of fast/js/custom-constructors.html
1162 https://bugs.webkit.org/show_bug.cgi?id=71669
1164 Reviewed by Darin Adler.
1166 According to the HTMLOptionElement spec
1167 (http://dev.w3.org/html5/spec/the-button-element.html#the-option-element),
1168 'text', 'label' and 'value' have neither [TreatUndefinedAs=EmptyString]
1169 nor [TreatNullAs=EmptyString]. Thus, an undefined value should be
1170 converted to a string "undefined" and a null value should be
1171 converted to a string "null", following the step 3 of the IDL
1172 conversion spec (http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString).
1174 * bindings/js/JSOptionConstructor.cpp:
1175 (WebCore::constructHTMLOptionElement): Removed isUndefined() check from 'text' and 'value' since the spec does not have [TreatUndefinedAs=EmptyString].
1176 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1177 (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
1178 * html/HTMLOptionElement.idl: Removed [ConvertNullToNullString] from 'text', 'label' and 'value' since the spec does not have [TreatNullAs=EmptyString].
1180 2011-11-07 Adam Barth <abarth@webkit.org>
1182 Move DomainRelaxationForbidden scheme registry to SchemeRegistry
1183 https://bugs.webkit.org/show_bug.cgi?id=71750
1185 Reviewed by Eric Seidel.
1187 As stated in the FIXME, scheme registries belong in SchemeRegistry, not
1192 (WebCore::Document::setDomain):
1193 * page/SecurityOrigin.cpp:
1194 * page/SecurityOrigin.h:
1195 * platform/SchemeRegistry.cpp:
1196 (WebCore::schemesForbiddenFromDomainRelaxation):
1197 (WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
1198 (WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
1199 * platform/SchemeRegistry.h:
1201 2011-11-07 Dan Bernstein <mitz@apple.com>
1203 <rdar://problem/10405215> REGRESSION (r98178): World of Warcraft Launcher crashes in FrameView::isOnActivePage()
1204 https://bugs.webkit.org/show_bug.cgi?id=71743
1206 Reviewed by Beth Dakin.
1208 * page/FrameView.cpp:
1209 (WebCore::FrameView::isOnActivePage): Added a check for a null m_frame.
1211 2011-11-07 Dmitry Lomov <dslomov@google.com>
1213 https://bugs.webkit.org/show_bug.cgi?id=71534
1214 [V8] On neutering TypedArrayViews, V8 should be notified to drain code generation cache.
1216 Reviewed by David Levin.
1218 * bindings/scripts/CodeGeneratorJS.pm:
1219 (GenerateImplementation):
1220 * bindings/scripts/CodeGeneratorV8.pm:
1221 * html/canvas/DataView.cpp:
1222 * html/canvas/DataView.h:
1223 * html/canvas/Float32Array.h:
1224 * html/canvas/Float64Array.h:
1225 * html/canvas/Int16Array.h:
1226 * html/canvas/Int32Array.h:
1227 * html/canvas/Int8Array.h:
1228 * html/canvas/TypedArrayBase.h:
1229 * html/canvas/Uint16Array.h:
1230 * html/canvas/Uint32Array.h:
1231 * html/canvas/Uint8Array.h:
1233 2011-11-07 Adam Barth <abarth@webkit.org>
1235 addMessage's last few arguments should be optional
1236 https://bugs.webkit.org/show_bug.cgi?id=70946
1238 Reviewed by Darin Adler.
1240 As requested by Darin Adler. I wanted to call this method addMessage,
1241 but the compiler was unhappy locating the overload on
1242 ScriptExecutionContext when Document had an override too. Changing the
1243 name to addConsoleMessage made all the code happier.
1246 (WebCore::Document::processHttpEquiv):
1247 * dom/ScriptExecutionContext.cpp:
1248 (WebCore::ScriptExecutionContext::addMessage):
1249 * dom/ScriptExecutionContext.h:
1250 * html/canvas/CanvasRenderingContext2D.cpp:
1251 (WebCore::CanvasRenderingContext2D::getImageData):
1252 * html/parser/XSSAuditor.cpp:
1253 (WebCore::XSSAuditor::filterToken):
1254 * loader/ImageLoader.cpp:
1255 (WebCore::ImageLoader::notifyFinished):
1256 * page/ContentSecurityPolicy.cpp:
1257 (WebCore::ContentSecurityPolicy::reportViolation):
1258 (WebCore::ContentSecurityPolicy::logUnrecognizedDirective):
1259 * page/EventSource.cpp:
1260 (WebCore::EventSource::didReceiveResponse):
1261 * webaudio/AudioBufferSourceNode.cpp:
1262 (WebCore::AudioBufferSourceNode::looping):
1263 (WebCore::AudioBufferSourceNode::setLooping):
1264 * webaudio/AudioContext.cpp:
1265 (WebCore::AudioContext::createLowPass2Filter):
1266 (WebCore::AudioContext::createHighPass2Filter):
1267 * xml/XMLHttpRequest.cpp:
1268 (WebCore::reportUnsafeUsage):
1270 2011-11-07 Adam Barth <abarth@webkit.org>
1272 WebWorkers fail with document.domain set when accessing from subdomain
1273 https://bugs.webkit.org/show_bug.cgi?id=67978
1275 Reviewed by Sam Weinig.
1277 Workers should ignore document.domain when deciding which URLs a
1278 document can request, just like XMLHttpRequest and every other API.
1280 Test: http/tests/workers/worker-document-domain-security.html
1282 * workers/AbstractWorker.cpp:
1283 (WebCore::AbstractWorker::resolveURL):
1285 2011-11-07 Scott Graham <scottmg@chromium.org>
1287 Allow gamepad API to be enabled at runtime
1288 https://bugs.webkit.org/show_bug.cgi?id=71736
1290 Part of full patch, found at
1291 https://bugs.webkit.org/show_bug.cgi?id=69451
1293 Reviewed by Adam Barth.
1295 No new tests. No new functionality.
1297 * bindings/generic/RuntimeEnabledFeatures.cpp:
1298 * bindings/generic/RuntimeEnabledFeatures.h:
1299 (WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
1300 (WebCore::RuntimeEnabledFeatures::gamepadsEnabled):
1302 2011-11-07 Kentaro Hara <haraken@chromium.org>
1304 Remove [CustomGetter] IDL for window.Option of V8
1305 https://bugs.webkit.org/show_bug.cgi?id=71735
1307 Reviewed by Nate Chapin.
1309 Currently, window.Option uses a custom getter to get the template
1310 of 'HTMLOptionElementConstructor'. However, this getter does not need to
1311 be custom and can use a default getter
1312 'DOMWindowInternal::DOMWindowConstructorGetter'.
1314 Tests: fast/js/custom-constructors.html
1315 fast/forms/option-index.html
1316 fast/forms/add-and-remove-option.html
1317 fast/dom/dom-add-optionelement.html
1319 * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
1320 * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Option of V8. Renamed 'HTMLOptionElementConstructor' to 'HTMLOptionElementConstructorConstructor' in order to make window.Option use the template of (not 'HTMLOptionElement' but) 'HTMLOptionElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
1322 2011-11-07 Mark Hahnenberg <mhahnenberg@apple.com>
1324 De-virtualize JSObject::putWithAttributes
1325 https://bugs.webkit.org/show_bug.cgi?id=71716
1327 Reviewed by Darin Adler.
1331 Added putWithAttributes to the MethodTable, changed all the virtual
1332 implementations of putWithAttributes to static ones, and replaced
1333 all call sites with corresponding lookups in the MethodTable.
1335 * bindings/js/JSDOMWindowShell.cpp:
1336 (WebCore::JSDOMWindowShell::putWithAttributes):
1337 * bindings/js/JSDOMWindowShell.h:
1339 2011-11-07 Beth Dakin <bdakin@apple.com>
1341 https://bugs.webkit.org/show_bug.cgi?id=71490
1342 Support uiStateTransitionProgress for scrollbars
1344 <rdar://problem/9849612>
1346 Reviewed by Sam Weinig.
1348 Step 1 of supporting uiStateTransitionProgress is knowing when the mouse has
1349 entered or exited a scrollbar. These changes to Scrollbar pass that information
1350 on to the ScrollAnimator. Also, Scrollbar::mouseUp() now takes a
1351 PlatformMouseEvent as a parameter. This is necessary because m_hoveredNode is not
1352 always up to date on a mouseUp, so mouseUp must hitTest the scrollbar to see if
1353 the mouse has exited the scrollbar.
1354 * platform/Scrollbar.cpp:
1355 (WebCore::Scrollbar::mouseMoved):
1356 (WebCore::Scrollbar::mouseExited):
1357 (WebCore::Scrollbar::mouseUp):
1358 * platform/Scrollbar.h:
1360 These changes are required now that Scrollbar::mouseUp() takes a parameter.
1362 * page/EventHandler.cpp:
1363 (WebCore::EventHandler::handleMouseDoubleClickEvent):
1364 (WebCore::EventHandler::handleMouseReleaseEvent):
1365 * platform/chromium/PopupListBox.cpp:
1366 (WebCore::PopupListBox::handleMouseReleaseEvent):
1367 * platform/win/PopupMenuWin.cpp:
1368 (WebCore::PopupMenuWin::wndProc):
1370 ScrollAnimator passes the information on to AppKit.
1371 * platform/ScrollAnimator.h:
1372 (WebCore::ScrollAnimator::mouseEnteredScrollbar):
1373 (WebCore::ScrollAnimator::mouseExitedScrollbar):
1374 * platform/mac/ScrollAnimatorMac.h:
1375 (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1376 (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1378 There are several new pieces of AppKit api we must call into.
1379 * platform/mac/NSScrollerImpDetails.h:
1381 This is a temporary function that is needed for the time being since there is new
1382 AppKit api required for this to work.
1383 * platform/mac/ScrollAnimatorMac.mm:
1384 (supportsUIStateTransitionProgress):
1386 I refactored WebScrollbarPartAnimation so that it can handle the
1387 uiStateTransitionProgress animation as well as the alpha animations it already
1388 handled. This mostly involved re-naming things and making use of a new enum called
1389 FeatureToAnimate which keeps track of what the instance of
1390 WebScrollbarPartAnimation is animating.
1391 (-[WebScrollbarPartAnimation initWithScrollbarPainter:animate:scrollAnimator:animateFrom:animateTo:duration:]):
1392 (-[WebScrollbarPartAnimation setScrollbarPainter:]):
1393 (-[WebScrollbarPartAnimation setStartValue:]):
1394 (-[WebScrollbarPartAnimation setEndValue:]):
1395 (-[WebScrollbarPartAnimation setCurrentProgress:]):
1397 WebScrollbarPainterDelegate has two new animations,
1398 _verticalUIStateTransitionAnimation, and _horizontalUIStateTransitionAnimation. It
1399 also responds to a few new delegate calls.
1400 (-[WebScrollbarPainterDelegate cancelAnimations]):
1402 This is a new delegate call needed for uiStateTransitionProgress.
1403 (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
1405 I re-named setUpAnimation to setUpAlphaAnimation since it does a lot of things
1406 that are specific to the alpha animation and I chose not to re-use it for
1408 (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
1409 (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1410 (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1412 New delegate call for the uiStateTransition animation that sets up that animation
1414 (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
1415 (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
1417 2011-11-07 Alice Boxhall <aboxhall@chromium.org>
1419 Remove unnecessary use of function pointer in FrameSelection::modify()
1420 https://bugs.webkit.org/show_bug.cgi?id=71646
1422 Reviewed by Ryosuke Niwa.
1424 * editing/FrameSelection.cpp:
1425 (WebCore::FrameSelection::modify):
1427 2011-11-07 Andreas Kling <kling@webkit.org>
1429 Unreviewed Windows build fix after r99468.
1431 * css/CSSPrimitiveValue.h: Unmark single-argument constructors
1432 as explicit, since this conflicts with the template constructors
1433 in CSSPrimitiveValueMappings.h.
1435 2011-11-07 Jer Noble <jer.noble@apple.com>
1437 Build fix due to a erroneous search-and-replace.
1439 Unreviewed build fix.
1441 Replace all instances of GenericClock with ClockGeneric.
1443 * WebCore.xcodeproj/project.pbxproj:
1444 * platform/ClockGeneric.cpp:
1445 (ClockGeneric::ClockGeneric):
1447 2011-11-07 Adam Barth <abarth@webkit.org>
1449 Move parseSandboxPolicy to SecurityContext
1450 https://bugs.webkit.org/show_bug.cgi?id=71732
1452 Reviewed by Eric Seidel.
1454 As requested by Eric, this patch resolves a layering inversion. Now
1455 that we have SecurityContext to hold the sandbox bits and the origin,
1456 it's a logical place to put the parser for sandbox policies.
1458 * dom/SecurityContext.cpp:
1459 (WebCore::SecurityContext::parseSandboxPolicy):
1460 * dom/SecurityContext.h:
1461 * html/HTMLIFrameElement.cpp:
1462 (WebCore::HTMLIFrameElement::parseMappedAttribute):
1463 * page/ContentSecurityPolicy.cpp:
1464 (WebCore::ContentSecurityPolicy::applySandboxPolicy):
1465 * page/SecurityOrigin.cpp:
1466 * page/SecurityOrigin.h:
1468 2011-11-07 Jer Noble <jer.noble@apple.com>
1470 Rename PlatformClockPOSIX -> ClockGeneric, and use WTF::currentTime() for its timing source.
1471 https://bugs.webkit.org/show_bug.cgi?id=71702
1473 Reviewed by Sam Weinig.
1475 No new tests; covered by existing tests.
1477 * platform/Clock.cpp:
1479 * platform/ClockGeneric.cpp: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.cpp.
1480 (ClockGeneric::ClockGeneric):
1481 (ClockGeneric::setCurrentTime):
1482 (ClockGeneric::currentTime):
1483 (ClockGeneric::setPlayRate):
1484 (ClockGeneric::start):
1485 (ClockGeneric::stop):
1486 * platform/ClockGeneric.h: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.h.
1487 (WebCore::ClockGeneric::playRate):
1488 (WebCore::ClockGeneric::isRunning):
1490 Boilerplate project file changes:
1494 * WebCore.xcodeproj/project.pbxproj:
1496 2011-11-07 Vangelis Kokkevis <vangelis@chromium.org>
1498 Create a separate setting for compositing of for scrollable [i]frames
1499 that forceCompositingMode can be used without turning frames into composited layers.
1500 https://bugs.webkit.org/show_bug.cgi?id=71714
1502 Reviewed by James Robinson.
1504 * page/Settings.cpp:
1505 (WebCore::Settings::Settings):
1507 (WebCore::Settings::setAcceleratedCompositingForScrollableFramesEnabled):
1508 (WebCore::Settings::acceleratedCompositingForScrollableFramesEnabled):
1509 * rendering/RenderLayerCompositor.cpp:
1510 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1511 * testing/Internals.cpp:
1512 (WebCore::Internals::setEnableCompositingForScrollableFrames):
1513 * testing/Internals.h:
1514 * testing/Internals.idl:
1516 2011-11-07 Rafael Weinstein <rafaelw@chromium.org>
1518 [MutationObservers] Fix mac build (with mutation_observers enabled)
1519 https://bugs.webkit.org/show_bug.cgi?id=71728
1521 Reviewed by Tony Chang.
1523 Errant forward declaration of MutationObserverRegistration removed from
1524 Node.h this would have broken a port that tried to build with mutation_observers=1.
1528 2011-11-07 Kentaro Hara <haraken@chromium.org>
1530 Remove [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8
1531 https://bugs.webkit.org/show_bug.cgi?id=71660
1533 Reviewed by Adam Barth.
1535 Currently, "new Audio()" uses a custom getter to get the template
1536 of 'HTMLAudioElementConstructor'. However, this getter does not need to
1537 be custom and can use a default getter 'DOMWindowInternal::DOMWindowConstructorGetter'.
1539 Tests: fast/js/custom-constructors.html
1540 media/audio-constructor.html
1541 media/audio-constructor-src.html
1542 media/audio-constructor-preload.html
1543 media/audio-controls-do-not-fade-out.html
1544 media/audio-controls-rendering.html
1546 * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
1547 * page/DOMWindow.idl: Removed [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8. Renamed 'HTMLAudioElementConstructor' to 'HTMLAudioElementConstructorConstructor' in order to make 'new Audio()' use the template of (not 'HTMLAudioElement' but) 'HTMLAudioElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from an IDL type.
1548 * bindings/scripts/CodeGeneratorJS.pm:
1549 (GenerateImplementation): If an IDL type is 'XXXXConstructorConstructor', then we do not add a header file 'XXXXConstructor.h' to JSDOMWindow.cpp, because the NamedConstructor declaration is written in the header file of class XXXX 'XXXX.h'. Incidentally, the reason why CodeGeneratorV8.pm does not need a corresponding change is that V8 is still generating the NamedConstructor declaration in its dedicated header file 'XXXXConstructor.h'. This V8 issue will be fixed in the upcoming patch that implements [NamedConstructor] IDL in V8.
1551 2011-11-07 Robert Sesek <rsesek@chromium.org>
1553 [chromium] Update WebCore.gyp to not use WebKitLibraries in include_dirs
1554 https://bugs.webkit.org/show_bug.cgi?id=71694
1556 Reviewed by Adam Barth.
1558 * WebCore.gyp/WebCore.gyp:
1560 2011-11-07 Dominic Cooney <dominicc@chromium.org>
1562 Remove initPopStateEvent method
1563 https://bugs.webkit.org/show_bug.cgi?id=71691
1565 Reviewed by Ojan Vafai.
1567 * dom/PopStateEvent.cpp:
1568 * dom/PopStateEvent.h:
1569 * dom/PopStateEvent.idl:
1571 2011-11-07 Andreas Kling <kling@webkit.org>
1573 CSSValue: Devirtualize isFooType().
1574 <http://webkit.org/b/71668>
1576 Reviewed by Darin Adler.
1578 Add a member to CSSValue to determine which subclass a given
1579 value object is, along with 5 bits to tell us whether the
1580 value is primitive/mutable/initial/inherited/a list.
1582 All non-private subclass constructors now take CSSValue::ClassType
1583 as their first argument. A few constructors were duplicated as
1584 private members to allow calling them from ::create() methods
1585 without passing an explicit ClassType.
1587 Furthermore, since CSSValue::cssValueType() can be inferred from
1588 the subclass type, we compute it instead of storing it in a member.
1591 * GNUmakefile.list.am:
1594 * WebCore.vcproj/WebCore.vcproj:
1595 * WebCore.xcodeproj/project.pbxproj:
1597 Adding CSSValue.cpp.
1599 * css/CSSValue.cpp: Added.
1600 (WebCore::CSSValue::cssValueType):
1602 Out-of-line implementation of this method. Only used by CSSOM.
1605 (WebCore::CSSValue::isMutableValue):
1606 (WebCore::CSSValue::isPrimitiveValue):
1607 (WebCore::CSSValue::isValueList):
1608 (WebCore::CSSValue::isInitialValue):
1609 (WebCore::CSSValue::isInheritedValue):
1610 (WebCore::CSSValue::isBorderImageValue):
1611 (WebCore::CSSValue::isBorderImageSliceValue):
1612 (WebCore::CSSValue::isCursorImageValue):
1613 (WebCore::CSSValue::isFontFamilyValue):
1614 (WebCore::CSSValue::isFontFeatureValue):
1615 (WebCore::CSSValue::isFontValue):
1616 (WebCore::CSSValue::isImageGeneratorValue):
1617 (WebCore::CSSValue::isImageValue):
1618 (WebCore::CSSValue::isImplicitInitialValue):
1619 (WebCore::CSSValue::isReflectValue):
1620 (WebCore::CSSValue::isShadowValue):
1621 (WebCore::CSSValue::isTimingFunctionValue):
1622 (WebCore::CSSValue::isWebKitCSSTransformValue):
1623 (WebCore::CSSValue::isCSSLineBoxContainValue):
1624 (WebCore::CSSValue::isFlexValue):
1625 (WebCore::CSSValue::isWebKitCSSFilterValue):
1626 (WebCore::CSSValue::isSVGColor):
1627 (WebCore::CSSValue::isSVGPaint):
1628 (WebCore::CSSValue::classType):
1629 (WebCore::CSSValue::CSSValue):
1630 (WebCore::CSSValue::isPrimitiveType):
1631 (WebCore::CSSValue::isListType):
1632 (WebCore::CSSValue::isMutableType):
1633 (WebCore::CSSValue::isInheritedType):
1634 (WebCore::CSSValue::isInitialType):
1636 Store subclass type information into a member variable and
1637 made all the isFooValue() functions non-virtual and inline.
1638 Some subclass type lookups (primitive values, notably) are
1639 cached in a bool member on construction.
1641 * css/CSSAspectRatioValue.h:
1642 (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
1643 * css/CSSBorderImageSliceValue.cpp:
1644 (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
1645 * css/CSSBorderImageSliceValue.h:
1646 * css/CSSBorderImageValue.cpp:
1647 (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1648 * css/CSSBorderImageValue.h:
1649 * css/CSSCanvasValue.h:
1650 (WebCore::CSSCanvasValue::CSSCanvasValue):
1651 * css/CSSCrossfadeValue.h:
1652 (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
1653 * css/CSSCursorImageValue.cpp:
1654 (WebCore::CSSCursorImageValue::CSSCursorImageValue):
1655 * css/CSSCursorImageValue.h:
1656 * css/CSSFlexValue.h:
1657 (WebCore::CSSFlexValue::CSSFlexValue):
1658 * css/CSSFontFaceSrcValue.h:
1659 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
1660 * css/CSSFunctionValue.cpp:
1661 (WebCore::CSSFunctionValue::CSSFunctionValue):
1662 * css/CSSGradientValue.h:
1663 (WebCore::CSSGradientValue::isLinearGradient):
1664 (WebCore::CSSGradientValue::isRadialGradient):
1665 (WebCore::CSSGradientValue::CSSGradientValue):
1666 (WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
1667 (WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
1668 * css/CSSImageGeneratorValue.cpp:
1669 (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
1670 * css/CSSImageGeneratorValue.h:
1671 * css/CSSImageValue.cpp:
1672 (WebCore::CSSImageValue::CSSImageValue):
1673 * css/CSSImageValue.h:
1674 * css/CSSInheritedValue.h:
1675 (WebCore::CSSInheritedValue::CSSInheritedValue):
1676 * css/CSSInitialValue.h:
1677 (WebCore::CSSInitialValue::CSSInitialValue):
1678 (WebCore::CSSInitialValue::create):
1679 * css/CSSLineBoxContainValue.cpp:
1680 (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
1681 * css/CSSLineBoxContainValue.h:
1682 * css/CSSMutableValue.h:
1683 (WebCore::CSSMutableValue::CSSMutableValue):
1684 * css/CSSPrimitiveValue.cpp:
1685 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1686 * css/CSSPrimitiveValue.h:
1687 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1688 * css/CSSPrimitiveValueMappings.h:
1689 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1690 * css/CSSReflectValue.h:
1691 (WebCore::CSSReflectValue::CSSReflectValue):
1692 * css/CSSTimingFunctionValue.h:
1693 (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
1694 (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
1695 (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
1696 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
1697 (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
1698 (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
1699 (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
1700 * css/CSSUnicodeRangeValue.h:
1701 (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
1702 * css/CSSValueList.cpp:
1703 (WebCore::CSSValueList::CSSValueList):
1704 * css/CSSValueList.h:
1705 * css/FontFamilyValue.cpp:
1706 (WebCore::FontFamilyValue::FontFamilyValue):
1707 * css/FontFamilyValue.h:
1708 * css/FontFeatureValue.cpp:
1709 (WebCore::FontFeatureValue::FontFeatureValue):
1710 * css/FontFeatureValue.h:
1712 (WebCore::FontValue::FontValue):
1713 * css/ShadowValue.cpp:
1714 (WebCore::ShadowValue::ShadowValue):
1715 * css/ShadowValue.h:
1716 * css/WebKitCSSFilterValue.cpp:
1717 (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
1718 * css/WebKitCSSFilterValue.h:
1719 * css/WebKitCSSTransformValue.cpp:
1720 (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
1721 * css/WebKitCSSTransformValue.h:
1723 (WebCore::SVGColor::SVGColor):
1726 (WebCore::SVGPaint::SVGPaint):
1729 Propagate subclass type information and kill isFooType() virtuals.
1731 2011-11-07 Mihnea Ovidenie <mihnea@adobe.com>
1733 Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
1734 https://bugs.webkit.org/show_bug.cgi?id=71259
1736 Reviewed by Darin Adler.
1738 Leak fixes covered by existing tests.
1740 * rendering/RenderFlowThread.cpp:
1741 (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1742 The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
1743 * rendering/RenderRegion.cpp:
1744 (WebCore::RenderRegion::removeRenderBoxRegionInfo):
1745 The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
1746 they must also be deleted.
1748 2011-11-07 Adam Barth <abarth@webkit.org>
1750 iframe sandbox treats vertical tab as a valid delimiter
1751 https://bugs.webkit.org/show_bug.cgi?id=71704
1753 Reviewed by Eric Seidel.
1755 This patch adjusts our parser slightly to match the HTML5 spec. The
1756 only difference is in how we handle vertical tabs. Previously, we
1757 treated them as a delimiter, but we're not supposed to do that.
1759 Test: fast/frames/sandboxed-iframe-parsing-space-characters.html
1761 * page/SecurityOrigin.cpp:
1762 (WebCore::SecurityOrigin::parseSandboxPolicy):
1764 2011-11-07 Adam Barth <abarth@webkit.org>
1766 Factor SecurityContext out of ScriptExecutionContext
1767 https://bugs.webkit.org/show_bug.cgi?id=71721
1769 Reviewed by Eric Seidel.
1771 The new SecurityContext object lets us tightly scope control of
1772 the security-critical information in ScriptExecutionContext.
1773 Originally I had hoped to put all this state on SecurityOrigin, but
1774 SecurityOrigin gets shared between documents in some corner cases, so
1775 it's not a good fit for state like the sandbox flags and the CSP policy
1776 that really needs to be per-document.
1779 * GNUmakefile.list.am:
1782 * WebCore.vcproj/WebCore.vcproj:
1783 * WebCore.xcodeproj/project.pbxproj:
1784 * dom/DOMAllInOne.cpp:
1785 * dom/ScriptExecutionContext.cpp:
1786 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1787 * dom/ScriptExecutionContext.h:
1788 * loader/FrameLoader.h:
1789 * loader/FrameLoaderTypes.h:
1790 * page/SecurityOrigin.h:
1792 2011-11-07 Kentaro Hara <haraken@chromium.org>
1794 Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
1795 https://bugs.webkit.org/show_bug.cgi?id=71659
1797 Reviewed by Adam Barth.
1799 Just refactor CodeGeneratorV8.pm without any change in behavior,
1800 as the first step for fixing bug 71093.
1802 Tests: WebCore/bindings/scripts/test/TestObj.idl
1803 WebCore/bindings/scripts/test/TestInterface.idl
1805 * bindings/scripts/CodeGeneratorV8.pm:
1806 (GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
1807 (GenerateConstructorCallback): Renamed variables to clarify their roles.
1808 (WriteData): Removed an unused array @implHeaderContent.
1809 * bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
1810 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
1811 * bindings/scripts/test/V8/V8TestObj.h: Ditto.
1812 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
1814 2011-11-07 Ken Buchanan <kenrb@chromium.org>
1816 Crash due to mixed direction text runs
1817 https://bugs.webkit.org/show_bug.cgi?id=66015
1819 Reviewed by David Hyatt.
1823 * fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
1824 * fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added
1826 2011-11-07 Tim Horton <timothy_horton@apple.com>
1828 getBBox() on a SVGPathElement with curves incorrectly includes control points
1829 https://bugs.webkit.org/show_bug.cgi?id=53512
1830 <rdar://problem/9861154>
1832 Reviewed by Oliver Hunt.
1834 Split Path::boundingRect() into two, adding Path::fastBoundingRect()
1835 for a rough estimate of the bounding rect (always equal to or larger
1836 than boundingRect()). fastBoundingRect() currently falls back to
1837 boundingRect() for all ports besides CG, though in most cases
1838 (on a port-by-port basis) the current implementation of boundingRect()
1839 will need to become fastBoundingRect(), and a new, more accurate method will
1840 be implemented for boundingRect().
1842 All previous callers of boundingRect() are transitioned to using fastBoundingRect()
1843 except SVGPathElement::getBBox, which wants an accurate bounding box.
1845 The CoreGraphics implementation of Path::boundingRect() called
1846 CGPathGetBoundingBox, which includes the path's control points in its
1847 calculations. Snow Leopard added CGPathGetPathBoundingBox, which
1848 finds the bounding box of only points within the path, and does not
1849 include control points. On Snow Leopard and above, we now use the latter.
1851 Test: svg/custom/getBBox-path.svg
1853 * html/HTMLAreaElement.cpp:
1854 * html/canvas/CanvasRenderingContext2D.cpp:
1855 * platform/graphics/Path.cpp:
1856 * platform/graphics/Path.h:
1857 * platform/graphics/cg/GraphicsContextCG.cpp:
1858 * platform/graphics/cg/PathCG.cpp:
1859 (WebCore::Path::boundingRect):
1860 * rendering/RenderObject.h:
1861 * rendering/svg/RenderSVGPath.cpp:
1862 * svg/SVGPathElement.cpp:
1863 * svg/SVGPathElement.h:
1865 2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
1867 Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
1868 https://bugs.webkit.org/show_bug.cgi?id=71710
1870 Reviewed by Pavel Feldman.
1872 * inspector/front-end/TextPrompt.js:
1873 (WebInspector.TextPrompt.prototype.clearAutoComplete):
1874 (WebInspector.TextPrompt.prototype.autoCompleteSoon):
1876 2011-11-07 vsevik@chromium.org <vsevik@chromium.org>
1878 Web Inspector: Suggest box should consume enter key pressed event.
1879 https://bugs.webkit.org/show_bug.cgi?id=71700
1881 Reviewed by Pavel Feldman.
1883 * inspector/front-end/ConsoleView.js:
1884 (WebInspector.ConsoleView):
1885 * inspector/front-end/TextPrompt.js:
1886 (WebInspector.TextPrompt.prototype._attachInternal):
1887 (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
1889 2011-11-07 David Barr <davidbarr@chromium.org>
1891 Optimize outline rendering to avoid transparency layers
1892 https://bugs.webkit.org/show_bug.cgi?id=60750
1894 Add fast path for solid block outlines with alpha.
1895 Improve readability of piecewise path while at it.
1897 Reviewed by Simon Fraser.
1899 No intended change in behaviour, no new tests.
1901 * rendering/RenderObject.cpp:
1902 (WebCore::RenderObject::paintOutline):
1904 2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
1906 Web Inspector: Suggest box should not accept suggestion on space key pressed.
1907 https://bugs.webkit.org/show_bug.cgi?id=71706
1909 Reviewed by Pavel Feldman.
1911 * inspector/front-end/TextPrompt.js:
1912 (WebInspector.TextPrompt.prototype.onKeyDown):
1913 (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
1915 2011-11-07 Andreas Kling <kling@webkit.org>
1917 Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
1918 <http://webkit.org/b/71679>
1920 Reviewed by Darin Adler.
1922 Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
1923 and isInheritedValue() to increase code clarity.
1925 The plan is to turn cssValueType() into a computed value based on the
1926 CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
1927 This is a clean-up in preparation for that.
1929 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1930 (WebCore::JSCSSStyleDeclaration::nameGetter):
1931 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1932 (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
1933 * css/CSSInheritedValue.h:
1934 (WebCore::CSSInheritedValue::isInheritedValue):
1935 * css/CSSInitialValue.h:
1936 (WebCore::CSSInitialValue::isInitialValue):
1937 * css/CSSParser.cpp:
1938 (WebCore::CSSParser::parseColor):
1939 * css/CSSStyleSelector.cpp:
1940 (WebCore::CSSStyleSelector::applyDeclaration):
1941 (WebCore::CSSStyleSelector::applyProperty):
1942 (WebCore::CSSStyleSelector::mapFillAttachment):
1943 (WebCore::CSSStyleSelector::mapFillClip):
1944 (WebCore::CSSStyleSelector::mapFillComposite):
1945 (WebCore::CSSStyleSelector::mapFillOrigin):
1946 (WebCore::CSSStyleSelector::mapFillImage):
1947 (WebCore::CSSStyleSelector::mapFillRepeatX):
1948 (WebCore::CSSStyleSelector::mapFillRepeatY):
1949 (WebCore::CSSStyleSelector::mapFillSize):
1950 (WebCore::CSSStyleSelector::mapFillXPosition):
1951 (WebCore::CSSStyleSelector::mapFillYPosition):
1952 (WebCore::CSSStyleSelector::mapAnimationDelay):
1953 (WebCore::CSSStyleSelector::mapAnimationDirection):
1954 (WebCore::CSSStyleSelector::mapAnimationDuration):
1955 (WebCore::CSSStyleSelector::mapAnimationFillMode):
1956 (WebCore::CSSStyleSelector::mapAnimationIterationCount):
1957 (WebCore::CSSStyleSelector::mapAnimationName):
1958 (WebCore::CSSStyleSelector::mapAnimationPlayState):
1959 (WebCore::CSSStyleSelector::mapAnimationProperty):
1960 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
1962 (WebCore::CSSValue::isInheritedValue):
1963 (WebCore::CSSValue::isInitialValue):
1964 * css/SVGCSSStyleSelector.cpp:
1965 (WebCore::CSSStyleSelector::applySVGProperty):
1966 * editing/EditingStyle.cpp:
1967 (WebCore::EditingStyle::extractFontSizeDelta):
1968 (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1970 2011-11-07 Sheriff Bot <webkit.review.bot@gmail.com>
1972 Unreviewed, rolling out r99432.
1973 http://trac.webkit.org/changeset/99432
1974 https://bugs.webkit.org/show_bug.cgi?id=71709
1976 It made layout tests extra slow on all bots (Requested by
1977 Ossy_night on #webkit).
1979 * inspector/front-end/ConsoleView.js:
1980 (WebInspector.ConsoleView):
1981 * inspector/front-end/TextPrompt.js:
1982 (WebInspector.TextPrompt.prototype._attachInternal):
1983 (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
1985 2011-11-07 Andreas Kling <kling@webkit.org>
1987 REGRESSION(r99409): Broke transitions/clip-transition.html
1988 <http://webkit.org/b/71692>
1990 Reviewed by Darin Adler.
1992 Add missing base class initializers to CSSPrimitiveValue constructors.
1993 This was causing some CSSPrimitiveValues to masquerade as CSS_CUSTOM values.
1995 * css/CSSPrimitiveValue.h:
1996 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1997 * css/CSSPrimitiveValueMappings.h:
1998 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2000 2011-11-07 ChangSeok Oh <shivamidow@gmail.com>
2002 [EFL] Support requestAnimationFrame API
2003 https://bugs.webkit.org/show_bug.cgi?id=67112
2005 Reviewed by Andreas Kling.
2007 Add some files to build-target when enabling requestAnimationFrame option.
2009 fast/animation/request-animation-frame-cancel.html
2010 fast/animation/request-animation-frame-cancel2.html
2011 fast/animation/request-animation-frame-display.html
2012 fast/animation/request-animation-frame-during-modal.html
2013 fast/animation/request-animation-frame-timestamps.html
2014 fast/animation/request-animation-frame-within-callback.html
2015 fast/animation/request-animation-frame.html
2020 2011-11-07 Sam Weinig <sam@webkit.org>
2022 Add missing .in and .pl files to the Xcode project for easy access.
2024 Reviewed by Eric Carlson.
2026 * WebCore.xcodeproj/project.pbxproj:
2027 Add some missing files to the Xcode project.
2029 2011-11-07 Jessie Berlin <jberlin@apple.com>
2031 Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
2033 https://bugs.webkit.org/show_bug.cgi?id=71631
2035 Reviewed by Jon Honeycutt.
2037 Check the SchemeRegistry before preventing read/write access to Local Storage and Databases
2038 in Private Browsing.
2041 Export the symbols for registering the schemes as allowing Local Storage and Database access
2042 in Private Browsing.
2045 (WebCore::Document::allowDatabaseAccess):
2046 Check if the scheme allows Database access in Private Browsing.
2048 * platform/SchemeRegistry.cpp:
2049 (WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
2050 (WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
2051 (WebCore::SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing):
2052 (WebCore::SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing):
2053 (WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
2054 (WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
2055 * platform/SchemeRegistry.h:
2057 * storage/Storage.cpp:
2058 (WebCore::Storage::length):
2059 Ask the storage area if it is disabled by Private Browsing in the frame instead of just
2060 checking if Private Browsing is enabled for that frame because the answer might depend on
2061 what type of storage that storage area is.
2062 (WebCore::Storage::key):
2064 (WebCore::Storage::getItem):
2066 (WebCore::Storage::contains):
2069 * storage/StorageArea.h:
2070 Make it possible to query a StorageArea for whether it is disabled by Private Browsing in a
2072 * storage/StorageAreaImpl.cpp:
2073 (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
2074 Renamed from privateBrowsingEnabled.
2075 Check not only if Private Browsing is enabled for the Frame, but also if the storage type is
2076 Local Storage and if there is an exception for the scheme of the resource currently loaded
2078 (WebCore::StorageAreaImpl::setItem):
2079 Renamed privateBrowsingEnabled -> disabledByPrivateBrowsingInFrame.
2080 (WebCore::StorageAreaImpl::removeItem):
2082 (WebCore::StorageAreaImpl::clear):
2084 * storage/StorageAreaImpl.h:
2086 2011-11-07 Dominic Cooney <dominicc@chromium.org>
2088 Remove initCloseEvent method
2089 https://bugs.webkit.org/show_bug.cgi?id=71374
2091 Reviewed by Ojan Vafai.
2093 Test: fast/dom/Window/window-properties.html
2095 * websockets/CloseEvent.h:
2096 (WebCore::CloseEvent::initCloseEvent):
2097 * websockets/CloseEvent.idl:
2099 2011-11-07 Anders Carlsson <andersca@apple.com>
2101 Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
2102 https://bugs.webkit.org/show_bug.cgi?id=71699
2104 Reviewed by Sam Weinig.
2106 Export AffineTransform symbols used by WebKit2.
2110 2011-11-07 Michael Saboff <msaboff@apple.com>
2112 Towards 8 Bit Strings: Templatize JSC::Lexer class by character type
2113 https://bugs.webkit.org/show_bug.cgi?id=71331
2115 Changed the SourceProvider::data() virtual method to return a
2116 StringImpl* instead of a UChar*.
2117 Changed Identifier() constructor to use JSGlobalData*.
2119 Reviewed by Darin Adler.
2121 No new tests - refactored SourceProvider class and sub-classes.
2123 * bindings/js/CachedScriptSourceProvider.h:
2124 (WebCore::CachedScriptSourceProvider::stringData):
2125 * bindings/js/StringSourceProvider.h:
2126 (WebCore::StringSourceProvider::stringData):
2127 * bridge/qt/qt_runtime.cpp:
2128 (JSC::Bindings::convertQVariantToValue):
2130 2011-11-07 Dominic Cooney <dominicc@chromium.org>
2132 Remove initOverflowEvent from JavaScript bindings
2133 https://bugs.webkit.org/show_bug.cgi?id=71687
2135 Reviewed by Ojan Vafai.
2137 Now that OverflowEvent has a constructor, we don't need the
2138 initOverflowEvent method. It has to remain in the Objective C
2139 binding because it is part of the Objective C public API.
2141 * dom/OverflowEvent.idl:
2143 2011-11-07 Noel Gordon <noel.gordon@gmail.com>
2145 Refactor canvas encoding mimeType validation
2146 https://bugs.webkit.org/show_bug.cgi?id=71651
2148 Reviewed by Andreas Kling.
2150 No new tests, refactoring only, covered by existing canvas tests.
2152 * html/HTMLCanvasElement.cpp:
2153 (WebCore::HTMLCanvasElement::toEncodingMimeType): move encoder mimeType
2154 validation logic into a helper routine.
2155 (WebCore::HTMLCanvasElement::toDataURL):
2156 * html/HTMLCanvasElement.h:
2158 2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
2160 Web Inspector: Suggest box should consume enter key pressed event.
2161 https://bugs.webkit.org/show_bug.cgi?id=71700
2163 Reviewed by Pavel Feldman.
2165 * inspector/front-end/ConsoleView.js:
2166 (WebInspector.ConsoleView):
2167 * inspector/front-end/TextPrompt.js:
2168 (WebInspector.TextPrompt.prototype._attachInternal):
2169 (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2171 2011-11-07 Dominic Cooney <dominicc@chromium.org>
2173 Remove initPageTransitionEvent method
2174 https://bugs.webkit.org/show_bug.cgi?id=71689
2176 Reviewed by Ojan Vafai.
2178 initPageTransitionEvent was removed from the HTML spec; it has
2179 been replaced by new PageTransitionEvent(...).
2181 Removing a method, so no new tests.
2183 * dom/PageTransitionEvent.cpp:
2184 * dom/PageTransitionEvent.h:
2185 * dom/PageTransitionEvent.idl:
2187 2011-11-07 Alexander Pavlov <apavlov@chromium.org>
2189 Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
2190 https://bugs.webkit.org/show_bug.cgi?id=71676
2192 Reviewed by Pavel Feldman.
2194 * inspector/front-end/TextPrompt.js:
2195 (WebInspector.TextPrompt.prototype.onKeyDown):
2196 (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
2197 * inspector/front-end/inspectorCommon.css:
2198 (body): Revert inadvertent style change from a preceding commit.
2200 2011-11-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2202 Fix the Qt build on Mac OS X when using the QuickTime media backend
2204 When QtWebKit is built on Mac OS X using the QuickTime media backend
2205 we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
2206 we have to guard the potentially duplicate symbol createCFURL with
2207 more than just !PLATFORM(MAC).
2209 Reviewed by Andreas Kling.
2211 * platform/cf/KURLCFNet.cpp:
2213 2011-11-07 Pavel Feldman <pfeldman@google.com>
2215 Not reviewed: follow up to r99407. Style the suggest box.
2216 https://bugs.webkit.org/show_bug.cgi?id=65511
2219 * inspector/front-end/TextPrompt.js:
2220 * inspector/front-end/inspector.css:
2221 * inspector/front-end/textPrompt.css:
2223 2011-11-07 Roland Steiner <rolandsteiner@chromium.org>
2225 https://bugs.webkit.org/show_bug.cgi?id=70223
2226 CSSStyleSheet: finding the owner node should be in its own method
2228 Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.
2230 Reviewed by Dimitri Glazkov.
2232 No new tests. (refactoring)
2234 * css/CSSStyleSheet.cpp:
2235 (WebCore::CSSStyleSheet::styleSheetOwnerNode):
2236 (WebCore::CSSStyleSheet::document):
2237 * css/CSSStyleSheet.h:
2239 2011-11-07 Yury Semikhatsky <yurys@chromium.org>
2241 [Chromium] Web Inspector: use native worker inspector instead of fake workers
2242 https://bugs.webkit.org/show_bug.cgi?id=71670
2244 Removed context menu option for switching between native and "fake" workers
2245 debugger. Native debugger is used by default on platforms that support it.
2247 Reviewed by Pavel Feldman.
2249 * English.lproj/localizedStrings.js:
2250 * inspector/front-end/ScriptsPanel.js:
2251 (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2252 * inspector/front-end/Settings.js:
2253 (WebInspector.Settings):
2254 * inspector/front-end/WorkersSidebarPane.js:
2255 (WebInspector.WorkerListSidebarPane):
2256 (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
2257 * inspector/front-end/scriptsPanel.css:
2258 (#shared-workers-list):
2260 2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
2262 Web Inspector: Add advanced search shortcut to ShortcutsScreen.
2263 https://bugs.webkit.org/show_bug.cgi?id=71302
2265 Reviewed by Pavel Feldman.
2267 * English.lproj/localizedStrings.js:
2268 * inspector/front-end/AdvancedSearchController.js:
2269 (WebInspector.AdvancedSearchController.createShortcut):
2270 * inspector/front-end/inspector.js:
2271 (WebInspector._registerShortcuts):
2273 2011-11-07 Andreas Kling <kling@webkit.org>
2275 CSSImageValue: Remove inheritance from CachedImageClient.
2276 <http://webkit.org/b/71675>
2278 Reviewed by Antti Koivisto.
2280 CSSImageValue doesn't actually use any of the CachedImageClient
2281 functionality, and holds a reference to the resource via the
2282 CachedResourceHandle in StyleCachedImage.
2284 So we can safely remove the multiple inheritance and simplify
2287 * css/CSSImageValue.cpp:
2288 (WebCore::CSSImageValue::~CSSImageValue):
2289 (WebCore::CSSImageValue::cachedImage):
2290 (WebCore::CSSImageValue::clearCachedImage):
2291 * css/CSSImageValue.h:
2293 2011-11-07 Andreas Kling <kling@webkit.org>
2295 CSSPrimitiveValue: Remove unused virtual function parseString().
2296 <http://webkit.org/b/71671>
2298 Reviewed by Antti Koivisto.
2300 * css/CSSPrimitiveValue.cpp:
2301 * css/CSSPrimitiveValue.h:
2303 2011-11-07 Andrey Kosyakov <caseq@chromium.org>
2305 Web Inspector: use toString as the Date object description.
2306 https://bugs.webkit.org/show_bug.cgi?id=71605
2308 Reviewed by Yury Semikhatsky.
2310 Test: inspector/remote-object.html
2312 * inspector/InjectedScriptSource.js:
2315 2011-10-26 Andrey Kosyakov <caseq@chromium.org>
2317 Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
2318 https://bugs.webkit.org/show_bug.cgi?id=70885
2320 Reviewed by Pavel Feldman.
2322 No new tests, as there's no new functionality.
2324 * inspector/front-end/JavaScriptSourceFrame.js:
2325 (WebInspector.JavaScriptSourceFrame):
2326 (WebInspector.JavaScriptSourceFrame.prototype.willHide):
2327 (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
2328 (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
2329 (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
2330 (WebInspector.JavaScriptSourceFrame.prototype.editContent):
2331 (WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
2332 (WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
2333 (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
2334 (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
2335 (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
2336 (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
2337 (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
2338 (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
2339 (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2340 (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2341 (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
2342 (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
2343 (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
2344 (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
2345 (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
2346 (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
2347 (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
2348 (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
2349 (WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
2350 (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
2351 (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
2352 (WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
2353 (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
2354 (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
2355 (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
2356 (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
2357 (WebInspector.JavaScriptSourceFrameDelegate):
2358 (WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
2359 (WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
2360 (WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
2361 (WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
2362 (WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
2363 (WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
2364 (WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
2365 (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
2366 (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
2367 (WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
2368 (WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
2369 * inspector/front-end/ResourceView.js:
2370 (WebInspector.ResourceSourceFrame):
2371 * inspector/front-end/ScriptsPanel.js:
2372 (WebInspector.SourceFrameDelegateForScriptsPanel):
2373 * inspector/front-end/SourceFrame.js:
2374 (WebInspector.SourceFrame):
2375 (WebInspector.SourceFrame.prototype.willHide):
2376 (WebInspector.SourceFrame.prototype.get textViewer):
2377 (WebInspector.SourceFrame.prototype.requestContent):
2378 (WebInspector.SourceFrame.prototype._saveViewerState):
2379 (WebInspector.SourceFrame.prototype._restoreViewerState):
2380 (WebInspector.SourceFrame.prototype.beforeTextChanged):
2381 (WebInspector.SourceFrame.prototype.afterTextChanged):
2382 (WebInspector.SourceFrame.prototype._initializeTextViewer):
2383 (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
2384 (WebInspector.SourceFrame.prototype.suggestedFileName):
2385 (WebInspector.SourceFrame.prototype.canEditSource):
2386 (WebInspector.SourceFrame.prototype.startEditing):
2387 (WebInspector.SourceFrame.prototype.commitEditing):
2388 (WebInspector.SourceFrame.prototype.didEditContent):
2389 (WebInspector.SourceFrame.prototype.editContent):
2390 (WebInspector.SourceFrame.prototype.cancelEditing):
2391 (WebInspector.SourceFrame.prototype.setReadOnly):
2392 * inspector/front-end/inspector.html:
2394 2011-11-06 Andreas Kling <kling@webkit.org>
2396 CSSValue: Devirtualize cssValueType().
2397 <http://webkit.org/b/71667>
2399 Reviewed by Antti Koivisto.
2401 Keep the cssValueType in a CSSValue member instead of using
2404 This is part of a project to completely devirtualize CSSValue
2405 <http://webkit.org/b/71666> and will incur a temporary object
2406 size regression for CSSValue while the work is ongoing.
2408 * css/CSSInheritedValue.cpp:
2409 * css/CSSInheritedValue.h:
2410 (WebCore::CSSInheritedValue::CSSInheritedValue):
2411 * css/CSSInitialValue.cpp:
2412 * css/CSSInitialValue.h:
2413 (WebCore::CSSInitialValue::CSSInitialValue):
2414 * css/CSSPrimitiveValue.cpp:
2415 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2416 * css/CSSPrimitiveValue.h:
2418 (WebCore::CSSValue::cssValueType):
2419 (WebCore::CSSValue::CSSValue):
2420 * css/CSSValueList.cpp:
2421 (WebCore::CSSValueList::CSSValueList):
2422 * css/CSSValueList.h:
2424 2011-11-07 Pavel Feldman <pfeldman@chromium.org>
2426 Web Inspector: introduce UserAgent override setting.
2427 https://bugs.webkit.org/show_bug.cgi?id=71627
2429 Reviewed by Yury Semikhatsky.
2431 * English.lproj/localizedStrings.js:
2432 * inspector/InspectorResourceAgent.cpp:
2433 (WebCore::InspectorResourceAgent::clearFrontend):
2434 (WebCore::InspectorResourceAgent::applyUserAgentOverride):
2435 (WebCore::InspectorResourceAgent::setUserAgentOverride):
2436 * inspector/front-end/HelpScreen.js:
2437 (WebInspector.HelpScreen):
2438 (WebInspector.HelpScreen.prototype.show):
2439 (WebInspector.HelpScreen.prototype._onBlur):
2440 * inspector/front-end/NetworkManager.js:
2441 (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
2442 (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
2443 * inspector/front-end/Settings.js:
2444 (WebInspector.Settings):
2445 * inspector/front-end/SettingsScreen.js:
2446 (WebInspector.SettingsScreen):
2447 (WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
2448 (WebInspector.SettingsScreen.prototype._createCustomSetting):
2449 (WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
2450 (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2451 (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
2452 (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
2453 * inspector/front-end/helpScreen.css:
2455 (.help-content fieldset label):
2457 2011-11-07 Alexander Pavlov <apavlov@chromium.org>
2459 Web Inspector: autocomplete combobox for Styles sidebar and Console.
2460 https://bugs.webkit.org/show_bug.cgi?id=65511
2462 Reviewed by Pavel Feldman.
2464 * inspector/front-end/ConsoleView.js:
2465 (WebInspector.ConsoleView):
2466 * inspector/front-end/StylesSidebarPane.js:
2467 (WebInspector.StylePropertyTreeElement.prototype):
2469 * inspector/front-end/TextPrompt.js:
2470 (WebInspector.TextPrompt):
2471 (WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
2472 (WebInspector.TextPrompt.prototype._attachInternal):
2473 (WebInspector.TextPrompt.prototype.applySuggestion):
2474 (WebInspector.TextPrompt.prototype.acceptSuggestion):
2475 (WebInspector.TextPromptWithHistory):
2476 * inspector/front-end/inspector.css:
2477 (.suggest-box.generic-suggest):
2478 (.suggest-box.generic-suggest.above-anchor):
2479 (.suggest-box.generic-suggest .content):
2481 2011-11-07 Pavel Feldman <pfeldman@chromium.org>
2483 Web Inspector: split script-formatter test into multiple tests.
2484 https://bugs.webkit.org/show_bug.cgi?id=71607
2486 Reviewed by Yury Semikhatsky.
2488 Tests: inspector/debugger/script-formatter-breakpoints.html
2489 inspector/debugger/script-formatter-console.html
2491 * inspector/front-end/ScriptsPanel.js:
2492 (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2494 2011-11-07 Keishi Hattori <keishi@webkit.org>
2496 Change ColorChooser from singleton to ordinary object
2497 https://bugs.webkit.org/show_bug.cgi?id=71644
2499 Reviewed by Kent Tamura.
2501 Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.
2504 * html/ColorInputType.cpp:
2505 (WebCore::ColorInputType::~ColorInputType):
2506 (WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
2507 (WebCore::ColorInputType::handleDOMActivateEvent):
2508 (WebCore::ColorInputType::detach):
2509 (WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
2510 (WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
2511 * html/ColorInputType.h:
2512 * html/HTMLInputElement.cpp:
2513 (WebCore::HTMLInputElement::selectColorInColorChooser):
2514 * html/HTMLInputElement.h:
2515 * loader/EmptyClients.h:
2516 (WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
2517 (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
2519 (WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
2520 (WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
2522 * page/ChromeClient.h:
2523 * platform/ColorChooser.cpp:
2524 (WebCore::ColorChooserClient::~ColorChooserClient):
2525 (WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
2526 (WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
2527 (WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
2528 (WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
2529 (WebCore::ColorChooser::~ColorChooser):
2530 (WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
2531 (WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
2532 * platform/ColorChooser.h:
2533 (WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
2534 (WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
2535 * testing/Internals.cpp:
2536 (WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
2537 * testing/Internals.h:
2538 * testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.
2540 2011-11-07 Alexander Pavlov <apavlov@chromium.org>
2542 Web Inspector: Cannot edit elements commented with <!--
2543 https://bugs.webkit.org/show_bug.cgi?id=71357
2545 Reviewed by Pavel Feldman.
2547 * inspector/InspectorDOMAgent.cpp:
2548 (WebCore::InspectorDOMAgent::getOuterHTML):
2549 (WebCore::InspectorDOMAgent::setOuterHTML):
2550 * inspector/front-end/ElementsTreeOutline.js:
2551 (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
2552 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2553 (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
2554 (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
2556 2011-11-06 Noel Gordon <noel.gordon@gmail.com>
2558 Fix some style issues in ImageBuffer.h
2559 https://bugs.webkit.org/show_bug.cgi?id=71649
2561 Reviewed by Kent Tamura.
2563 No new tests. Style change only.
2565 * platform/graphics/ImageBuffer.h:
2567 2011-11-06 Keishi Hattori <keishi@webkit.org>
2569 InputType::fallbackValue and defaultValue should be const
2570 https://bugs.webkit.org/show_bug.cgi?id=71641
2572 Reviewed by Kent Tamura.
2574 Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.
2576 * html/BaseCheckableInputType.cpp:
2577 (WebCore::BaseCheckableInputType::fallbackValue):
2578 * html/BaseCheckableInputType.h:
2579 * html/ColorInputType.cpp:
2580 (WebCore::ColorInputType::fallbackValue):
2581 * html/ColorInputType.h:
2582 * html/InputType.cpp:
2583 (WebCore::InputType::fallbackValue):
2584 (WebCore::InputType::defaultValue):
2586 * html/RangeInputType.cpp:
2587 (WebCore::RangeInputType::fallbackValue):
2588 * html/RangeInputType.h:
2589 * html/ResetInputType.cpp:
2590 (WebCore::ResetInputType::defaultValue):
2591 * html/ResetInputType.h:
2592 * html/SubmitInputType.cpp:
2593 (WebCore::SubmitInputType::defaultValue):
2594 * html/SubmitInputType.h:
2596 2011-11-06 Keishi Hattori <keishi@webkit.org>
2598 Remove ColorInputType::handleClickEvent
2599 https://bugs.webkit.org/show_bug.cgi?id=71640
2601 Reviewed by Kent Tamura.
2603 When you click the input color element, both ColorInputType::handleClickEvent and
2604 ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
2605 to be called too many times.
2607 * html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
2608 * html/ColorInputType.h: Removed ColorInputType::handleClickEvent
2610 2011-11-06 Keishi Hattori <keishi@webkit.org>
2612 Remove extra semicolon in ColorInputType
2613 https://bugs.webkit.org/show_bug.cgi?id=71639
2615 Reviewed by Kent Tamura.
2617 * html/ColorInputType.cpp:
2618 (WebCore::ColorInputType::setValue):
2620 2011-11-06 Dominic Cooney <dominicc@chromium.org>
2622 Remove initBeforeLoadEvent method
2623 https://bugs.webkit.org/show_bug.cgi?id=71636
2625 Reviewed by Adam Barth.
2627 Test: fast/dom/Window/window-properties.html
2629 * dom/BeforeLoadEvent.h:
2630 * dom/BeforeLoadEvent.idl:
2632 2011-11-06 Adam Barth <abarth@webkit.org>
2634 Don't crash when a context hasn't been created. This fixed a
2635 testing-only crash on the bots in the Chromium port.
2637 * testing/v8/WebCoreTestSupport.cpp:
2638 (WebCoreTestSupport::resetInternalsObject):
2640 2011-11-06 Darin Adler <darin@apple.com>
2642 Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
2643 https://bugs.webkit.org/show_bug.cgi?id=71260
2645 Reviewed by Mark Rowe.
2647 Memory leak fix covered by existing tests.
2649 * rendering/RenderFlowThread.cpp:
2650 (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2651 Instead of calling remove, call take and then delete, since the
2652 values of the map are owned and need to be deleted when removed.
2654 2011-11-06 Adam Barth <abarth@webkit.org>
2656 Implement the sandbox directive for CSP
2657 https://bugs.webkit.org/show_bug.cgi?id=71604
2659 Reviewed by Sam Weinig.
2661 At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
2662 to CSP. There's a question about whether it's going to be in CSP 1.0
2663 or CSP 1.1, but it seems to be clearly headed into the spec.
2665 This patch implements the sandbox directive for CSP. It's built on the
2666 same machinery we use for the sandbox attribute for iframe. Now that
2667 I've done the implementation, I'm going to write up some concrete text
2670 Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
2671 http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
2672 http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
2673 http/tests/security/contentSecurityPolicy/sandbox-empty.html
2675 * page/ContentSecurityPolicy.cpp:
2676 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
2677 (WebCore::ContentSecurityPolicy::applySandboxPolicy):
2678 (WebCore::ContentSecurityPolicy::addDirective):
2679 * page/ContentSecurityPolicy.h:
2681 2011-11-03 Filip Pizlo <fpizlo@apple.com>
2683 JSC should be able to sample itself in a more flexible way than just sampling flags
2684 https://bugs.webkit.org/show_bug.cgi?id=71522
2686 Reviewed by Gavin Barraclough.
2688 No new tests, since no functionality changed.
2690 * ForwardingHeaders/wtf/Spectrum.h: Added.
2692 2011-11-06 Nikita Vasilyev <me@elv1s.ru>
2694 Web Inspector: Unindent edited text by pressing Shift + Tab
2695 https://bugs.webkit.org/show_bug.cgi?id=70181
2697 Indent and unindent text in all selected lines.
2699 Reviewed by Pavel Feldman.
2701 * inspector/front-end/TextViewer.js:
2702 (WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
2703 (WebInspector.TextEditorMainPanel.prototype.unindentLines):
2705 2011-11-05 Martin Robinson <mrobinson@igalia.com>
2707 Remove ContextShadow
2708 https://bugs.webkit.org/show_bug.cgi?id=71617
2710 Reviewed by Ariya Hidayat.
2712 No new tests. This patch does not change behavior.
2714 Completely remove ContextShadow. It's unused, unmaintained, and
2715 replaced by ShadowBlur.
2717 * WebCore.gypi: Remove references to deleted files.
2718 * WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
2719 * platform/graphics/ContextShadow.cpp: Removed.
2720 * platform/graphics/ContextShadow.h: Removed.
2721 * platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.
2723 2011-11-04 Jon Lee <jonlee@apple.com>
2725 Dragging a file onto <input type="file"> should give distinct visual feedback
2726 https://bugs.webkit.org/show_bug.cgi?id=13897
2727 <rdar://problem/5232483>
2729 Reviewed by Dan Bernstein.
2731 When hovering over a file input element, we set the button's state to active
2732 to differentiate dragging one file over the input element (which populates that
2733 element) versus over the document (which would load the file into the view).
2735 * html/HTMLInputElement.cpp:
2736 (WebCore::HTMLInputElement::HTMLInputElement):
2737 (WebCore::HTMLInputElement::canReceiveDroppedFiles):
2738 (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
2739 is updated, which sets the active state on the button control.
2740 * html/HTMLInputElement.h: Add a boolean member representing whether the file
2741 input can receive dropped files.
2742 * page/DragController.cpp:
2743 (WebCore::DragController::DragController): Update/set the file input that
2744 can receive dropped files.
2745 (WebCore::DragController::dragExited):
2746 (WebCore::DragController::tryDocumentDrag):
2747 (WebCore::DragController::concludeEditDrag):
2748 * page/DragController.h:
2749 * rendering/RenderFileUploadControl.cpp:
2750 (WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
2751 state if the input can receive dropped files.
2753 2011-11-05 Darin Adler <darin@apple.com>
2755 Improve pending resource hash table code, including fixing a memory leak
2756 https://bugs.webkit.org/show_bug.cgi?id=71616
2758 Reviewed by Adam Roben.
2760 Memory leak fix and refactoring covered by existing tests.
2762 * svg/SVGDocumentExtensions.cpp:
2763 (WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
2764 of contains, get, and add with just add, removing an extra unneeded hash table
2765 lookup each time this function is called.
2766 (WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
2767 about the performance of this function. Removed unnecessary check for an empty
2768 map; the code already efficiently exits doing nothing without the check.
2769 (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
2770 unnecessary check for an empty map; the code already efficiently does nothing
2771 without the check. Use removePendingResource rather than calling remove to
2772 avoid leaking the SVGPendingElements set.
2773 (WebCore::SVGDocumentExtensions::removePendingResource): Replace the
2774 combination of get and remove with a call to take, removing an extra
2775 unneeded hash table lookup each time this function is called
2777 2011-11-05 Dan Winship <danw@gnome.org>
2779 [GTK] Actually use the user_data arguments to gio async functions
2780 instead of using g_object_set_data() to basically reinvent them.
2781 https://bugs.webkit.org/show_bug.cgi?id=71614
2783 Reviewed by Martin Robinson.
2785 No new tests; behavior is unchanged
2787 * platform/network/soup/ResourceHandleSoup.cpp:
2788 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2789 (WebCore::cleanupSoupRequestOperation):
2790 (WebCore::sendRequestCallback):
2791 (WebCore::startHTTPRequest):
2792 (WebCore::ResourceHandle::platformSetDefersLoading):
2793 (WebCore::closeCallback):
2794 (WebCore::readCallback):
2795 (WebCore::startNonHTTPRequest):
2797 2011-11-05 Dan Winship <danw@gnome.org>
2799 [GTK] Don't unnecessarily 0-initialize read buffers.
2800 https://bugs.webkit.org/show_bug.cgi?id=71612
2802 Reviewed by Martin Robinson.
2804 No new tests; behavior is unchanged
2806 * platform/network/soup/ResourceHandleSoup.cpp:
2807 (WebCore::sendRequestCallback):
2809 2011-11-05 Dan Winship <danw@gnome.org>
2811 [GTK] Remove a bit of dead code
2812 https://bugs.webkit.org/show_bug.cgi?id=71613
2814 Reviewed by Martin Robinson.
2816 No new tests; behavior is unchanged
2818 * platform/network/soup/ResourceHandleSoup.cpp:
2819 (WebCore::readCallback): the caller that needed the convertToUTF16
2820 code was removed in r77408, but the code was accidentally left
2823 2011-11-05 Adam Barth <abarth@webkit.org>
2825 Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
2826 https://bugs.webkit.org/show_bug.cgi?id=71603
2828 Reviewed by Sam Weinig.
2830 This patch changes the way we compute sandbox bits. Instead of caching
2831 the result on Frame, we always compute the sandbox bits for a new
2832 document fresh from the inputs to the process (the sandbox attribute
2833 and the forced sandbox flags).
2835 This patch is just refactoring. It shouldn't have an observable
2836 effects. This patch makes it easier to implement CSP's sandbox
2837 directive in a subsequent patch.
2840 (WebCore::Document::initSecurityContext):
2841 * html/HTMLFrameOwnerElement.cpp:
2842 (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
2843 * loader/FrameLoader.cpp:
2844 (WebCore::FrameLoader::FrameLoader):
2845 (WebCore::FrameLoader::init):
2846 (WebCore::FrameLoader::effectiveSandboxFlags):
2847 (WebCore::createWindow):
2848 * loader/FrameLoader.h:
2849 (WebCore::FrameLoader::forceSandboxFlags):
2851 2011-11-05 Andreas Kling <kling@webkit.org>
2853 CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
2854 https://bugs.webkit.org/show_bug.cgi?id=71609
2856 Reviewed by Anders Carlsson.
2858 Add a bool member to CSSStyleDeclaration that determines whether
2859 it's a CSSMutableDeclaration.
2861 * css/CSSMutableStyleDeclaration.cpp:
2862 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2863 * css/CSSMutableStyleDeclaration.h:
2864 * css/CSSStyleDeclaration.cpp:
2865 (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
2866 * css/CSSStyleDeclaration.h:
2867 (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
2869 2011-11-05 Andreas Kling <kling@webkit.org>
2871 Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
2872 https://bugs.webkit.org/show_bug.cgi?id=71608
2874 Reviewed by Pavel Feldman.
2876 Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
2877 of doing the same checks manually.
2879 * inspector/InspectorCSSAgent.cpp:
2880 (WebCore::InspectorCSSAgent::inlineStyleElement):
2882 2011-11-05 Simon Hausmann <simon.hausmann@nokia.com>
2884 Reviewed by Andreas Kling.
2886 Removed duplicated npruntime_internal.h from bindings/v8
2887 in favour of the one from bridge/, which has a few more
2890 https://bugs.webkit.org/show_bug.cgi?id=45617
2892 * bindings/v8/npruntime_internal.h: Removed.
2893 * Target.pri: Removed strange occurence here.
2895 2011-11-05 Simon Hausmann <simon.hausmann@nokia.com>
2897 Remove empty and unused dom/PositionCreationFunctions.h header file
2898 https://bugs.webkit.org/show_bug.cgi?id=71552
2900 Reviewed by Kenneth Rohde Christiansen.
2902 The file is empty (0 bytes) and not used anywhere. It was added in
2903 2009 in r48234 but hasn't been touched since then.
2906 * dom/PositionCreationFunctions.h: Removed.
2908 2011-11-04 Adam Barth <abarth@webkit.org>
2910 Fix assert after running tests in dumpAsText folders. See
2911 https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion. This
2912 patch reverts part of a slightly over-agressive refactoring in
2913 http://trac.webkit.org/changeset/99347.
2916 (WebCore::Document::setIsViewSource):
2918 2011-11-04 Ben Wells <benwells@chromium.org>
2920 Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
2921 https://bugs.webkit.org/show_bug.cgi?id=71537
2923 Reviewed by Stephen White.
2925 drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.
2927 Test: fast/canvas/canvas-composite-canvas.html
2929 * html/canvas/CanvasRenderingContext2D.cpp:
2930 (WebCore::CanvasRenderingContext2D::drawImage):
2931 (WebCore::drawImageToContext):
2932 (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
2933 * html/canvas/CanvasRenderingContext2D.h:
2935 2011-11-04 Adam Barth <abarth@webkit.org>
2937 JavaScript URLs execute in sandboxed iframes
2938 https://bugs.webkit.org/show_bug.cgi?id=71599
2940 Reviewed by Eric Seidel.
2942 This patch fixes the intentional regression I introduced earlier today
2943 by moving the sandbox bits from SecurityOrigin to Document. In the
2944 process, I renamed SecurityOrigin::createEmpty to
2945 SecurityOrigin::createUnique to better align with HTML5 terminology.
2948 * bindings/ScriptControllerBase.cpp:
2949 (WebCore::ScriptController::canExecuteScripts):
2951 (WebCore::Document::setIsViewSource):
2952 (WebCore::Document::initSecurityContext):
2953 * dom/ScriptExecutionContext.cpp:
2954 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2955 * dom/ScriptExecutionContext.h:
2956 (WebCore::ScriptExecutionContext::sandboxFlags):
2957 (WebCore::ScriptExecutionContext::enforceSandboxFlags):
2958 (WebCore::ScriptExecutionContext::isSandboxed):
2959 * html/HTMLAppletElement.cpp:
2960 (WebCore::HTMLAppletElement::canEmbedJava):
2961 * loader/DocumentWriter.cpp:
2962 (WebCore::DocumentWriter::begin):
2963 * loader/FrameLoader.cpp:
2964 (WebCore::isDocumentSandboxed):
2965 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
2966 * loader/PolicyChecker.cpp:
2967 (WebCore::PolicyChecker::checkNewWindowPolicy):
2968 * loader/SubframeLoader.cpp:
2969 (WebCore::SubframeLoader::requestPlugin):
2970 * page/SecurityOrigin.cpp:
2971 (WebCore::SecurityOrigin::SecurityOrigin):
2972 (WebCore::SecurityOrigin::create):
2973 (WebCore::SecurityOrigin::createUnique):
2974 * page/SecurityOrigin.h:
2976 2011-11-04 Joseph Pecoraro <pecoraro@apple.com>
2978 Potential Unused Param Build Issue
2979 https://bugs.webkit.org/show_bug.cgi?id=71598
2981 Reviewed by Kent Tamura.
2983 * html/HTMLSelectElement.cpp:
2984 (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
2986 2011-11-04 Stephen Chenney <schenney@chromium.org>
2988 Crash in ScrollAnimator.cpp
2989 https://bugs.webkit.org/show_bug.cgi?id=69865
2991 The code in ScrollAnimator assumes that horizontal per-page mouse
2992 wheel events cannot happen, which is not true. This patch adds layout
2993 tests for all paging wheel event situations and fixes the broken
2996 Reviewed by Anders Carlsson
2998 Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
2999 fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
3000 fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
3001 fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
3002 fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
3003 fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
3004 fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
3005 fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
3006 fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
3007 fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
3009 * platform/PlatformWheelEvent.h: Modify the comment to reflect the new
3011 * platform/ScrollAnimator.cpp:
3012 (WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
3013 horizontal per-page wheel event case.
3015 2011-11-04 Rafael Weinstein <rafaelw@chromium.org>
3017 [MutationObservers] Refactor MutationObserverRegistration into its own class that is
3018 referenced by registration points
3020 https://bugs.webkit.org/show_bug.cgi?id=71577
3022 Reviewed by Ojan Vafai.
3024 MutationObserverRegistration is now owned by the node which is observed. If transient
3025 registrations are created, they hold a reference to this object.
3027 The ownership relationship between Node, MutationObserverRegistration &
3028 WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
3029 and only script and MutationObserverRegistration take references to it. Exactly
3030 one MutationObserverRegistration can exist for any given tuple of
3031 <Node, WebKitMutationObserver>. This represents an observer observing at a given
3032 Node. Further observation by the same observer has the effect of *resetting*
3033 the existing observation. The Node owns the MutationObserverRegistration.
3034 Transient registrations are only pointers to the registration. The registration
3035 keeps a RefPtr to its registration node and all of its transient registration nodes
3036 as long as *any* transient registrations exist. This ensures the registration
3037 and all registration nodes stay alive at least until the end of the microtask.
3039 No tests required - refactor only.
3041 * GNUmakefile.list.am:
3044 * WebCore.vcproj/WebCore.vcproj:
3045 * WebCore.xcodeproj/project.pbxproj:
3046 * dom/CharacterData.cpp:
3047 (WebCore::enqueueCharacterDataMutationRecord):
3048 * dom/ChildListMutationScope.cpp:
3049 (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
3051 (WebCore::enqueueAttributesMutationRecord):
3052 * dom/MutationObserverRegistration.cpp: Added.
3053 (WebCore::MutationObserverRegistration::create):
3054 (WebCore::MutationObserverRegistration::MutationObserverRegistration):
3055 (WebCore::MutationObserverRegistration::~MutationObserverRegistration):
3056 (WebCore::MutationObserverRegistration::resetObservation):
3057 (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
3058 (WebCore::MutationObserverRegistration::clearTransientRegistrations):
3059 (WebCore::MutationObserverRegistration::unregister):
3060 (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
3061 * dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
3062 (WebCore::MutationObserverRegistration::observer):
3063 (WebCore::MutationObserverRegistration::deliveryOptions):
3065 (WebCore::Node::clearRareData):
3066 (WebCore::Node::mutationObserverRegistry):
3067 (WebCore::Node::transientMutationObserverRegistry):
3068 (WebCore::addObserverToDeliverySet):
3069 (WebCore::Node::collectMatchingObserversForMutation):
3070 (WebCore::Node::getRegisteredMutationObserversOfType):
3071 (WebCore::Node::registerMutationObserver):
3072 (WebCore::Node::unregisterMutationObserver):
3073 (WebCore::Node::registerTransientMutationObserver):
3074 (WebCore::Node::unregisterTransientMutationObserver):
3075 (WebCore::Node::notifyMutationObserversNodeWillDetach):
3077 * dom/NodeRareData.h:
3078 (WebCore::NodeRareData::mutationObserverRegistry):
3079 (WebCore::NodeRareData::ensureMutationObserverRegistry):
3080 (WebCore::NodeRareData::transientMutationObserverRegistry):
3081 (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
3082 * dom/WebKitMutationObserver.cpp:
3083 (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
3084 (WebCore::WebKitMutationObserver::observe):
3085 (WebCore::WebKitMutationObserver::disconnect):
3086 (WebCore::WebKitMutationObserver::observationStarted):
3087 (WebCore::WebKitMutationObserver::observationEnded):
3088 (WebCore::WebKitMutationObserver::deliver):
3089 * dom/WebKitMutationObserver.h:
3091 2011-11-04 Raymond Toy <rtoy@google.com>
3093 Add methods to compute magnitude and phase response for biquads
3094 https://bugs.webkit.org/show_bug.cgi?id=71055
3096 Reviewed by Kenneth Russell.
3099 * platform/audio/Biquad.cpp:
3100 (WebCore::Biquad::getFrequencyResponse):
3101 Computes the magnitude and phase (radians) response for the given
3102 biquad at the specified set of (normalized) frequencies.
3103 * platform/audio/Biquad.h:
3104 Declare getFrequencyResponse.
3105 * webaudio/BiquadDSPKernel.cpp:
3106 (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
3107 Factor out the code that updates filter coefficients. Allow the
3108 caller to specify whether the smoothed values are used or not and
3109 whether we do the update even if the coefficients are not dirty.
3110 (WebCore::BiquadDSPKernel::process):
3111 Use updateCoefficientsIfNecessary to update.
3112 (WebCore::BiquadDSPKernel::getFrequencyResponse):
3113 Implmentation of getFrequencyResponse.
3114 * webaudio/BiquadDSPKernel.h:
3115 Declare getFrequencyResponse.
3116 * webaudio/BiquadFilterNode.cpp:
3117 (WebCore::BiquadFilterNode::getFrequencyResponse):
3118 Implementation of getFrequencyResponse
3119 * webaudio/BiquadFilterNode.h:
3120 Declare getFrequencyResponse.
3121 * webaudio/BiquadFilterNode.idl:
3122 Define interface to getFrequencyResponse.
3123 * webaudio/BiquadProcessor.cpp:
3124 (WebCore::BiquadProcessor::checkForDirtyCoefficients):
3125 Factor out code for checking for dirty coefficients.
3126 (WebCore::BiquadProcessor::process):
3127 Use checkForDirtyCoefficients.
3128 (WebCore::BiquadProcessor::getFrequencyResponse):
3129 Implementation of getFrequencyResponse
3130 * webaudio/BiquadProcessor.h:
3131 Declare getFrequencyResponse.
3133 2011-11-04 Benjamin Poulain <bpoulain@apple.com>
3135 [Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
3136 https://bugs.webkit.org/show_bug.cgi?id=71539
3138 Reviewed by David Kilzer.
3140 In order to have CFURL and NSURL to be consistent when both are used on Mac,
3141 KURL::createCFURL() is changed to support empty URL values.
3143 * platform/cf/KURLCFNet.cpp:
3144 (WebCore::createCFURLFromBuffer):
3145 (WebCore::KURL::createCFURL):
3146 * platform/mac/KURLMac.mm:
3147 (WebCore::KURL::operator NSURL *):
3148 (WebCore::KURL::createCFURL):
3150 2011-11-04 Fady Samuel <fsamuel@chromium.org>
3152 CSS Aspect Ratio Property Parsing Stage
3153 https://bugs.webkit.org/show_bug.cgi?id=70707
3155 Reviewed by Ojan Vafai.
3157 Added parsing support for -webkit-aspect-ratio CSS property.
3158 The spec can be found here: http://www.xanthir.com/blog/b4810
3160 Test: fast/css/aspect-ratio-parsing-tests.html
3163 * GNUmakefile.list.am:
3166 * WebCore.vcproj/WebCore.vcproj:
3167 * WebCore.xcodeproj/project.pbxproj:
3168 * css/CSSAspectRatioValue.cpp: Added.
3169 (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
3170 (WebCore::CSSAspectRatioValue::cssText):
3171 * css/CSSAspectRatioValue.h: Added.
3172 (WebCore::CSSAspectRatioValue::create):
3173 (WebCore::CSSAspectRatioValue::numeratorValue):
3174 (WebCore::CSSAspectRatioValue::denominatorValue):
3175 (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
3176 * css/CSSComputedStyleDeclaration.cpp:
3177 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3178 * css/CSSMutableStyleDeclaration.cpp:
3179 * css/CSSParser.cpp:
3180 (WebCore::CSSParser::parseValue):
3181 (WebCore::CSSParser::parseAspectRatio):
3183 * css/CSSProperty.cpp:
3184 (WebCore::CSSProperty::isInheritedProperty):
3185 * css/CSSPropertyNames.in:
3186 * css/CSSStyleSelector.cpp:
3187 (WebCore::CSSStyleSelector::applyProperty):
3189 2011-11-04 Adam Barth <abarth@webkit.org>
3191 Delete FrameLoader::isSandboxed
3192 https://bugs.webkit.org/show_bug.cgi?id=71591
3194 Reviewed by Eric Seidel.
3196 We should always use document->securityOrigin()->isSandboxed because
3197 that picks up the sandbox bits that are frozen on the document rather
3198 than the ones that could change on the Frame.
3200 This patch starts preparing us to implement the CSP sandbox directive,
3201 which will cause use to have document sandbox bits without any attribute.
3203 * bindings/ScriptControllerBase.cpp:
3204 (WebCore::ScriptController::canExecuteScripts):
3205 - This call site was the only functional site left where these two
3206 could be different. This patch causes one progression and one
3207 regression. The progression is that we now correctly freeze the
3208 allow-scripts bit when a document is created, but the regression
3209 is we now allow the execution of JavaScript URLs, as noted in
3210 fast/frames/sandboxed-iframe-scripting.html. That's even more of
3211 an edge case, so I think it's a win overall.
3212 * loader/DocumentWriter.cpp:
3213 (WebCore::DocumentWriter::begin):
3214 - I don't think this part of the change is testable. There's no
3215 time to execute script between when the bits get copied off the
3216 Frame and when they're checked, so there's no time to change them.
3217 * loader/FrameLoader.cpp:
3218 - Update FIXME comment that is now fixed.
3219 * loader/FrameLoader.h:
3222 2011-11-04 Adam Barth <abarth@webkit.org>
3224 When CSP blocks mixed content, we shouldn't also warn about mixed content
3225 https://bugs.webkit.org/show_bug.cgi?id=71588
3227 Reviewed by Eric Seidel.
3229 Getting both warnings confused some early adopters. They thought the
3230 insecure loads were happening even though they blocked them with CSP.
3231 This patch restricts the mixed content warnings to show only when the
3232 load isn't already blocked by CSP or by the embedder.
3234 Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html
3236 * loader/cache/CachedResourceLoader.cpp:
3237 (WebCore::CachedResourceLoader::canRequest):
3239 2011-11-04 Michael Nordman <michaeln@google.coom>
3241 Allow ScriptExecutionContext::addMessage to be called from background threads.
3242 https://bugs.webkit.org/show_bug.cgi?id=71575
3244 Reviewed by Nate Chapin.
3249 (WebCore::Document::addMessage):
3250 * dom/ScriptExecutionContext.cpp:
3251 * dom/ScriptExecutionContext.h:
3252 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
3253 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
3254 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
3255 * workers/WorkerContext.cpp:
3256 (WebCore::WorkerContext::addMessage):
3258 2011-11-04 Shawn Singh <shawnsingh@chromium.org>
3260 [chromium] Re-named the original scissorRect to clipRect
3261 https://bugs.webkit.org/show_bug.cgi?id=71580
3263 Reviewed by James Robinson.
3265 Existing tests are updated appropriately; and no new behavior is
3266 introduced by this patch.
3268 * platform/graphics/chromium/LayerChromium.cpp:
3269 (WebCore::LayerChromium::LayerChromium):
3270 * platform/graphics/chromium/LayerChromium.h:
3271 (WebCore::LayerChromium::setUsesLayerClipping):
3272 (WebCore::LayerChromium::usesLayerClipping):
3273 (WebCore::LayerChromium::clipRect):
3274 (WebCore::LayerChromium::setClipRect):
3275 * platform/graphics/chromium/LayerRendererChromium.cpp:
3276 (WebCore::LayerRendererChromium::drawLayersInternal):
3277 (WebCore::LayerRendererChromium::drawLayer):
3278 * platform/graphics/chromium/RenderSurfaceChromium.h:
3279 (WebCore::RenderSurfaceChromium::clipRect):
3280 (WebCore::RenderSurfaceChromium::setClipRect):
3281 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3282 (WebCore::CCLayerImpl::CCLayerImpl):
3283 * platform/graphics/chromium/cc/CCLayerImpl.h:
3284 (WebCore::CCLayerImpl::setUsesLayerClipping):
3285 (WebCore::CCLayerImpl::usesLayerClipping):
3286 (WebCore::CCLayerImpl::clipRect):
3287 (WebCore::CCLayerImpl::setClipRect):
3288 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3289 (WebCore::CCLayerTreeHost::updateLayers):
3290 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3291 (WebCore::layerShouldBeSkipped):
3292 (WebCore::calculateDrawTransformsAndVisibilityInternal):
3293 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3294 (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
3295 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3296 (WebCore::CCRenderSurface::draw):
3297 * platform/graphics/chromium/cc/CCRenderSurface.h:
3298 (WebCore::CCRenderSurface::setClipRect):
3299 (WebCore::CCRenderSurface::clipRect):
3301 2011-11-04 Dmitry Lomov <dslomov@google.com>
3303 Add the ability to transfer ArrayBuffer and "neuter" it.
3304 https://bugs.webkit.org/show_bug.cgi?id=71535
3306 Reviewed by David Levin.
3308 * html/canvas/ArrayBuffer.cpp:
3309 (WebCore::ArrayBuffer::create):
3310 (WebCore::ArrayBuffer::ArrayBuffer):
3311 (WebCore::ArrayBuffer::data):
3312 (WebCore::ArrayBuffer::byteLength):
3313 (WebCore::ArrayBuffer::transfer):
3314 (WebCore::ArrayBufferContents::~ArrayBufferContents):
3315 (WebCore::ArrayBufferContents::tryAllocate):
3316 (WebCore::ArrayBuffer::addView):
3317 (WebCore::ArrayBuffer::removeView):
3318 * html/canvas/ArrayBuffer.h:
3319 (WebCore::ArrayBufferContents::ArrayBufferContents):
3320 (WebCore::ArrayBufferContents::data):
3321 (WebCore::ArrayBufferContents::sizeInBytes):
3322 (WebCore::ArrayBufferContents::release):
3323 (WebCore::ArrayBuffer::~ArrayBuffer):
3324 * html/canvas/ArrayBufferView.cpp:
3325 (WebCore::ArrayBufferView::ArrayBufferView):
3326 (WebCore::ArrayBufferView::~ArrayBufferView):
3327 (WebCore::ArrayBufferView::neuter):
3328 * html/canvas/ArrayBufferView.h:
3329 * html/canvas/DataView.cpp:
3330 (WebCore::DataView::neuter):
3331 (WebCore::DataView::neuterBinding):
3332 * html/canvas/DataView.h:
3333 * html/canvas/TypedArrayBase.h:
3334 (WebCore::TypedArrayBase::neuter):
3335 (WebCore::TypedArrayBase::neuterBinding):
3337 2011-11-04 Noel Gordon <noel.gordon@gmail.com>
3339 [Chromium] Implement canvas.toDataURL("image/webp")
3340 https://bugs.webkit.org/show_bug.cgi?id=70172
3342 Reviewed by Adam Barth.
3344 Add a webp image encoder for the chromium skia ports, add it to the canvas
3345 element toDataURL() flow with support for an optional quality [0.0-1.0].
3346 Use a webp compression method (3) that provides good speed and compression
3347 performance for this image format, and works well for various input image
3348 types: line-art, screen-shots, and photographic images.
3350 Test: fast/canvas/canvas-toDataURL-webp.html
3353 * platform/chromium/MIMETypeRegistryChromium.cpp:
3354 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
3355 * platform/graphics/skia/ImageBufferSkia.cpp:
3356 (WebCore::ImageToDataURL):
3357 * platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
3358 (WebCore::writeOutput):
3359 (WebCore::importPicture):
3360 (WebCore::importPictureBGRA):
3361 (WebCore::importPictureRGBA):
3362 (WebCore::encodePixels):
3363 (WebCore::WEBPImageEncoder::encode):
3364 * platform/image-encoders/skia/WEBPImageEncoder.h: Added.
3366 2011-11-04 Patrick Gansterer <paroga@webkit.org>
3368 [Qt] Remove ENABLE_SQLITE from qmake files
3369 https://bugs.webkit.org/show_bug.cgi?id=71546
3371 Reviewed by Simon Hausmann.
3373 ENABLE_SQLITE is required to build WebCore, so remove conditions.
3377 2011-11-04 Nate Chapin <japhet@chromium.org>
3379 [V8] Null out V8NPObject::rootObject when the owning
3381 https://bugs.webkit.org/show_bug.cgi?id=71569
3383 Reviewed by Adam Barth.
3385 No new tests, this has only been successfully triggered
3388 * bindings/v8/V8Helpers.cpp:
3389 (WebCore::toV8Context):
3390 * bindings/v8/npruntime.cpp:
3392 2011-11-04 Vineet Chaudhary <vineet.chaudhary@motorola.com>
3394 Send the submissions character encoding in hidden _charset_ field.
3395 https://bugs.webkit.org/show_bug.cgi?id=19079
3397 Reviewed by Darin Adler.
3399 Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
3400 If _charset_ used as the name of a hidden control it should send character encoding
3401 as value while submissions.
3403 Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
3404 http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
3405 http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
3406 http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
3407 http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
3408 http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
3409 http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
3410 http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
3411 http/tests/misc/char-encoding-in-text-charset-field-with-value.html
3412 http/tests/misc/char-encoding-without-charset-field.html
3414 * html/HiddenInputType.cpp:
3415 (WebCore::HiddenInputType::isHiddenType):
3416 (WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
3417 * html/HiddenInputType.h: Override appendFormData for hidden control types.
3419 2011-11-04 Robert Sesek <rsesek@chromium.org>
3421 [chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
3422 https://bugs.webkit.org/show_bug.cgi?id=71563
3424 Reviewed by Adam Barth.
3426 Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
3427 rather in WebKitLibraries/.
3429 * WebCore.gyp/WebCore.gyp:
3431 2011-11-04 Julien Chaffraix <jchaffraix@webkit.org>
3433 RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
3434 https://bugs.webkit.org/show_bug.cgi?id=71517
3436 Reviewed by Simon Fraser.
3438 Unused code removal covered by existing tests.
3440 The current code is invalidating the whole RenderLayerBacking as part of
3441 a style change. However this is redundant with the repainting logic which
3442 would invalidate only the necessary bits.
3444 * rendering/RenderLayer.cpp:
3445 (WebCore::RenderLayer::styleChanged):
3446 Remove the invalidation code as it duplicates and defeats the repaint logic.
3448 2011-11-04 Mihnea Ovidenie <mihnea@adobe.com>
3450 Correct parsing of incomplete @-webkit-region rules.
3451 https://bugs.webkit.org/show_bug.cgi?id=71514
3453 Reviewed by Adam Barth.
3455 Test: fast/regions/parse-incomplete-region-rule.html
3457 Make sure to set the region rule to 0 on the fail branch.
3460 2011-11-04 Adam Klein <adamk@chromium.org>
3462 Reduce refcount churn in ChildListMutationScope
3463 https://bugs.webkit.org/show_bug.cgi?id=71527
3465 Reviewed by Ryosuke Niwa.
3467 Only the ChildListMutationAccumulator needs to hold a reference to the
3468 target node, and the added/removed children only need be ref'd if a
3469 ChildListMutationAccumulator exists (i.e., if there are interested
3472 * dom/ChildListMutationScope.cpp:
3473 (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
3474 (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
3475 (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
3476 (WebCore::ChildListMutationScope::ChildListMutationScope):
3477 (WebCore::ChildListMutationScope::~ChildListMutationScope):
3478 (WebCore::ChildListMutationScope::childAdded):
3479 (WebCore::ChildListMutationScope::willRemoveChild):
3480 * dom/ChildListMutationScope.h:
3481 * dom/ContainerNode.cpp:
3482 (WebCore::dispatchChildInsertionEvents):
3483 (WebCore::dispatchChildRemovalEvents):
3485 2011-11-04 Levi Weintraub <leviw@chromium