1 2010-05-18 Jaime Yap <jaimeyap@google.com>
3 Reviewed by Pavel Feldman.
5 Removes public callLocation API and utility context from ScriptCallStack.
6 Adds ability to grab the top 5 JavaScript stack frames for each timeline
7 record using new fast V8 stack trace API.
8 https://bugs.webkit.org/show_bug.cgi?id=37502
10 * bindings/js/ScriptCallStack.cpp:
11 (WebCore::ScriptCallStack::stackTrace):
12 * bindings/js/ScriptCallStack.h:
13 * bindings/v8/ScriptArray.h:
14 (WebCore::ScriptArray::ScriptArray):
15 * bindings/v8/ScriptCallStack.cpp:
16 (WebCore::ScriptCallStack::callLocation):
17 (WebCore::ScriptCallStack::stackTrace):
18 * bindings/v8/ScriptCallStack.h:
19 * inspector/TimelineRecordFactory.cpp:
20 (WebCore::TimelineRecordFactory::createGenericRecord):
21 * inspector/front-end/TimelinePanel.js:
22 (WebInspector.TimelinePanel.FormattedRecord):
23 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
24 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
26 2010-05-24 Anders Carlsson <andersca@apple.com>
33 2010-05-24 Anders Carlsson <andersca@apple.com>
35 Reviewed by Sam Weinig.
37 Get rid of PlugInInfoStore.
38 https://bugs.webkit.org/show_bug.cgi?id=39608
40 * WebCore.gyp/WebCore.gyp:
43 * WebCore.vcproj/WebCore.vcproj:
44 * WebCore.xcodeproj/project.pbxproj:
45 * platform/android/TemporaryLinkStubs.cpp:
46 * plugins/PluginInfoStore.cpp: Removed.
47 * plugins/PluginInfoStore.h: Removed.
50 2010-05-24 Sheriff Bot <webkit.review.bot@gmail.com>
52 Unreviewed, rolling out r60068.
53 http://trac.webkit.org/changeset/60068
54 https://bugs.webkit.org/show_bug.cgi?id=39600
56 "Causes fast/repaint/search-field-cancel to fail." (Requested
57 by jparent on #webkit).
59 * rendering/RenderObject.h:
60 (WebCore::objectIsRelayoutBoundary):
62 2010-05-24 Jeremy Orlow <jorlow@chromium.org>
64 Unreviewed. Checked in merge error. :-(
68 2010-05-24 Steve Block <steveblock@google.com>
70 Reviewed by Darin Adler.
72 Geolocation causes DOMWindow to leak if position requests are in progress when the page is navigated away
73 https://bugs.webkit.org/show_bug.cgi?id=39288
75 Test: fast/dom/Geolocation/ongoing-request-leak.html
77 * loader/FrameLoader.cpp:
78 (WebCore::FrameLoader::stopLoading): Stop all Geolocation instances. This call is made after the unload event has fired, so no new Geolocation activity is possible.
79 * page/Geolocation.cpp:
80 (WebCore::Geolocation::stop): Removes all ongoing requests and stops the service.
81 (WebCore::Geolocation::disconnectFrame): Removed calls to stopUpdating() and stopTimers(), as this will already have been done in stop();
82 * page/Geolocation.h: Added stop() method.
84 2010-05-24 MORITA Hajime <morrita@google.com>
86 Reviewed by Kent Tamura.
88 Textarea shouldn't grow when you type.
89 https://bugs.webkit.org/show_bug.cgi?id=32077
91 <textarea> with percent-specified, height-related properties did
92 cause partial-layout rooted from the renderer, that resulted
93 different box height between full-layout and partial-layout. This
94 is because calcHeight() assumes that the layout calculation of the
95 RenderBlock's parent is ongoing. But this assumption is violated
96 when the RenderBlock is root of the layout calculation.
98 So we prevent such <textarea>'s RenderObjects from being layout
101 Test: fast/forms/textarea-percentage-dimensions.html
103 * rendering/RenderObject.h:
104 (WebCore::objectIsRelayoutBoundary):
106 2010-05-20 Jeremy Orlow <jorlow@chromium.org>
108 Reviewed by Alexey Proskuryakov.
110 Add DOMStringList idl, needed for IndexedDB and for HTML5 drag & drop
111 https://bugs.webkit.org/show_bug.cgi?id=39429
113 IndexedDB depends on DOMStringList.
114 http://dev.w3.org/2006/webapi/WebSimpleDB/#idl-def-IDBDatabase
115 It's currently specced here:
116 http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList
118 Existing tests cover the constructor. IndexedDB will also use this
119 soon (and thus add test coverage).
122 * Android.derived.jscbindings.mk:
123 * Android.derived.v8bindings.mk:
125 * DerivedSources.cpp:
126 * DerivedSources.make:
131 * WebCore.vcproj/WebCore.vcproj:
132 * WebCore.xcodeproj/project.pbxproj:
133 * bindings/scripts/CodeGeneratorJS.pm:
134 * dom/DOMStringList.h: Added.
135 (WebCore::DOMStringList::create):
136 (WebCore::DOMStringList::length):
137 (WebCore::DOMStringList::item):
138 (WebCore::DOMStringList::isEmpty):
139 (WebCore::DOMStringList::clear):
140 (WebCore::DOMStringList::append):
141 (WebCore::DOMStringList::DOMStringList):
142 * dom/DOMStringList.idl: Added.
143 * page/DOMWIndow.idl: Re-enabled constructor
145 2010-05-23 Shinichiro Hamaji <hamaji@chromium.org>
147 Reviewed by Alexey Proskuryakov.
149 0x5C of EUC-JP is not Yen Sign but U+005C
150 https://bugs.webkit.org/show_bug.cgi?id=24906
152 Tests: editing/selection/find-yensign-and-backslash-with-japanese-fonts.html
153 fast/text/backslash-to-yen-sign-dynamic.html
154 fast/text/backslash-to-yen-sign.html
157 * WebCore.gyp/WebCore.gyp:
160 * WebCore.vcproj/WebCore.vcproj:
161 * WebCore.vcproj/WebCoreCommon.vsprops:
162 * WebCore.xcodeproj/project.pbxproj:
163 * platform/graphics/Font.cpp:
164 (WebCore::Font::Font):
165 (WebCore::Font::operator=):
166 * platform/graphics/Font.h:
167 (WebCore::Font::needsTranscoding):
168 * platform/text/CharacterNames.h:
169 * platform/text/transcoder/FontTranscoder.cpp: Added.
170 (WebCore::FontTranscoder::FontTranscoder):
171 (WebCore::FontTranscoder::converterType):
172 (WebCore::FontTranscoder::convert):
173 (WebCore::FontTranscoder::needsTranscoding):
174 (WebCore::fontTranscoder):
175 * platform/text/transcoder/FontTranscoder.h: Added.
176 (WebCore::FontTranscoder::):
177 * rendering/RenderText.cpp:
178 (WebCore::RenderText::updateNeedsTranscoding):
179 (WebCore::RenderText::styleDidChange):
180 (WebCore::RenderText::setTextInternal):
182 2010-05-23 MORITA Hajime <morrita@google.com>
184 Unreviewed, rolling out r60060.
185 http://trac.webkit.org/changeset/60060
186 https://bugs.webkit.org/show_bug.cgi?id=32077
190 * rendering/RenderObject.h:
191 (WebCore::objectIsRelayoutBoundary):
193 2010-05-23 Justin Schuh <jschuh@chromium.org>
195 Reviewed by Shinichiro Hamaji.
197 Style cleanup for r56288
198 https://bugs.webkit.org/show_bug.cgi?id=39554
200 Cleaning up style from a previous patch. No tests needed because no
203 * svg/SVGFEMorphologyElement.cpp:
204 (WebCore::SVGFEMorphologyElement::build):
206 2010-05-23 MORITA Hajime <morrita@google.com>
208 Reviewed by Kent Tamura.
210 Textarea shouldn't grow when you type.
211 https://bugs.webkit.org/show_bug.cgi?id=32077
213 <textarea> with percent-specified, height-related properties did
214 cause partial-layout rooted from the renderer, that resulted
215 different box height between full-layout and partial-layout. This
216 is because calcHeight() assumes that the layout calculation of the
217 RenderBlock's parent is ongoing. But this assumption is violated
218 when the RenderBlock is root of the layout calculation.
220 So we prevent such <textarea>'s RenderObjects from being layout
223 Test: fast/forms/textarea-percentage-dimensions.html
225 * rendering/RenderObject.h:
226 (WebCore::objectIsRelayoutBoundary):
228 2010-05-23 Sam Weinig <sam@webkit.org>
230 Reviewed by Oliver Hunt.
232 Fix for https://bugs.webkit.org/show_bug.cgi?id=39575
233 Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject
235 - Changes JSDOMWindowShell to inherit from JSObject instead of
236 DOMObject since it doesn't ever go into any DOMObject tables.
237 In a separate change, we may want to make this inherit from
238 JSObjectWithGlobalObject since JSDOMWindowShell does store a
239 global object pointer.
240 - Change DOMObject to inherit from JSObjectWithGlobalObject
241 instead of JSObject. In this change I am keeping around
242 DOMObjectWithGlobalPointer, which now just uses the capabilities
243 of JSObjectWithGlobalObject instead of implementing them
244 itself. DOMObjectWithGlobalPointer will go away in a subsequent
247 * bindings/js/JSDOMBinding.h:
248 (WebCore::DOMObjectWithGlobalPointer::globalObject):
249 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
250 * bindings/js/JSDOMWindowShell.h:
251 * bindings/js/JSDOMWrapper.h:
252 (WebCore::DOMObject::DOMObject):
254 2010-05-23 Eric Seidel <eric@webkit.org>
256 Unreviewed, just being a copy/paste monkey. Oook, eeek.
258 Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec
259 https://bugs.webkit.org/show_bug.cgi?id=39572
261 Add HTML5TreeBuilder.* to each of WebKit's 85,324 build systems.
268 * WebCore.vcproj/WebCore.vcproj:
270 2010-05-23 Eric Seidel <eric@webkit.org>
272 Reviewed by Adam Barth.
274 Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec
275 https://bugs.webkit.org/show_bug.cgi?id=39572
277 We've been working on the tokenization (lexing) section of the HTML5
278 spec until now and leaning on the old HTMLParser for tree building.
279 We need to start writing more of the tree building sections of the spec,
280 but to do that we need a place to put the new code.
282 This patch moves our old-to-new conversion hacks out of HTML5Tokenizer
283 (our Tokenizer.h implementation) and into HTML5TreeBuilder.
284 Follow-up patches will add new HTML5 tree building code to this file
285 and will allow us to switch between old and new parser/treebuilder
288 No change in behavior, thus no new tests.
290 * WebCore.xcodeproj/project.pbxproj:
291 * html/HTML5Tokenizer.cpp:
292 (WebCore::HTML5Tokenizer::HTML5Tokenizer):
293 (WebCore::HTML5Tokenizer::write):
294 - Call the new HTML5TreeBuilder code.
295 * html/HTML5Tokenizer.h:
296 * html/HTML5TreeBuilder.cpp: Added.
297 * html/HTML5TreeBuilder.h: Added.
299 2010-05-23 Sam Weinig <sam@webkit.org>
301 Reviewed by Oliver Hunt.
303 Fix for https://bugs.webkit.org/show_bug.cgi?id=39574
304 Complete the merge of NamedMappedAttrMap into NamedNodeMap.
311 * WebCore.vcproj/WebCore.vcproj:
312 * WebCore.xcodeproj/project.pbxproj:
313 * css/CSSStyleSelector.cpp:
314 (WebCore::CSSStyleSelector::canShareStyleWithElement):
315 (WebCore::CSSStyleSelector::styleForElement):
317 (WebCore::Element::createAttributeMap):
318 * dom/NamedMappedAttrMap.cpp: Removed.
319 * dom/NamedMappedAttrMap.h: Removed.
320 * dom/NamedNodeMap.cpp:
321 (WebCore::NamedNodeMap::setClass):
322 (WebCore::NamedNodeMap::declCount):
323 (WebCore::NamedNodeMap::mapsEquivalent):
324 (WebCore::NamedNodeMap::mappedMapsEquivalent):
325 * dom/NamedNodeMap.h:
326 (WebCore::NamedNodeMap::create):
327 (WebCore::NamedNodeMap::clearClass):
328 (WebCore::NamedNodeMap::classNames):
329 (WebCore::NamedNodeMap::hasMappedAttributes):
330 (WebCore::NamedNodeMap::declRemoved):
331 (WebCore::NamedNodeMap::declAdded):
332 (WebCore::NamedNodeMap::NamedNodeMap):
333 * dom/StyledElement.h:
334 (WebCore::StyledElement::mappedAttributes):
336 * html/HTML5Tokenizer.cpp:
337 (WebCore::convertToOldStyle):
338 * html/HTMLInputElement.cpp:
339 (WebCore::HTMLInputElement::setInputType):
340 * html/HTMLParser.cpp:
341 (WebCore::HTMLParser::handleIsindex):
342 * html/HTMLTokenizer.cpp:
343 (WebCore::Token::addAttribute):
344 (WebCore::HTMLTokenizer::processToken):
345 * html/HTMLTokenizer.h:
346 * html/HTMLViewSourceDocument.cpp:
347 (WebCore::HTMLViewSourceDocument::createContainingTable):
348 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
349 (WebCore::HTMLViewSourceDocument::addLine):
350 (WebCore::HTMLViewSourceDocument::addLink):
352 2010-05-23 Adam Barth <abarth@webkit.org>
354 Reviewed by Eric Seidel.
356 Teach HTML5 parser how to lex comments correctly
357 https://bugs.webkit.org/show_bug.cgi?id=39537
359 Implement the non-bogus comment states for the lexer. There's more
360 work to do in some of these states (e.g., to handle doctype tokens and
361 bogus comments), but I'm trying to keep the patches small.
363 Tests: comments01.dat
365 * html/HTML5Lexer.cpp:
366 (WebCore::HTML5Lexer::nextToken):
369 (WebCore::HTML5Token::beginComment):
370 (WebCore::HTML5Token::appendToComment):
371 (WebCore::HTML5Token::data):
372 * html/HTML5Tokenizer.cpp:
373 (WebCore::convertToOldStyle):
374 * platform/text/SegmentedString.h:
375 (WebCore::SegmentedString::):
376 (WebCore::SegmentedString::peek):
377 - Occationally, the HTML5 parsing algorithm looks ahead in the
378 input stream. The implementation here is incomplete, but its
379 enough to run the current HTML5 parsing tests. I'll eventually
380 need to implement the slow case here.
382 2010-05-23 Adam Barth <abarth@webkit.org>
384 Reviewed by Eric Seidel.
386 Make the html5lib parser tests run using the HTML5 parser
387 https://bugs.webkit.org/show_bug.cgi?id=39533
389 Turns out we're just one small tweak away from running the html5lib
390 tests. After this patch lands, we should be able to introduce tests
391 for every change to the HTML5 parser.
393 Test: html5lib/webkit-runner.html
395 * html/HTML5Lexer.cpp:
396 (WebCore::HTML5Lexer::nextToken):
398 2010-05-23 Adam Barth <abarth@webkit.org>
400 Reviewed by Eric Seidel.
402 Make HTML5 parser parse <script>alert("<hi>");</script>
403 https://bugs.webkit.org/show_bug.cgi?id=39525
405 More progress towards getting the html5lib test harness running. We
406 need to parse script data in the ScriptDataState. The spec says the
407 parser should set the lexer's state to ScriptDataState, but we want to
408 keep using the existing parser for a while so I've added some temporary
409 logic to HTML5Tokenizer to set the state in the lexer.
411 To get this case running, I needed to flesh out a bunch of the
412 ScriptDataState logic. There's a bunch more to do, but this is a
415 I'm not 100% happy with this patch, but it lets us execute a simplified
416 version of the test harness up to the point where it starts running the
419 * html/HTML5Lexer.cpp:
420 (WebCore::HTML5Lexer::nextToken):
421 (WebCore::HTML5Lexer::isAppropriateEndTag):
422 (WebCore::HTML5Lexer::emitCurrentTagToken):
424 (WebCore::HTML5Lexer::setState):
426 (WebCore::HTML5Token::beginEndTag):
427 (WebCore::HTML5Token::appendToCharacter):
428 (WebCore::HTML5Token::name):
429 * html/HTML5Tokenizer.cpp:
430 (WebCore::HTML5Tokenizer::write):
432 2010-05-23 Chris Marrin <cmarrin@apple.com>
434 Reviewed by Simon Fraser.
436 Limit the number of tiles created for large tiled layers
437 https://bugs.webkit.org/show_bug.cgi?id=39522
439 I added an algorithm to limit the number of tiles created to 512.
440 It tried to limit them in only one dimension and if that's not
441 possible it limits them in both dimensions according to the
442 ratio of width to height. This has the effect of rendering
443 tiles starting from the upper-left, which is often the part
444 that is visible. So it both prevents crashing and tried to do
445 the best job it can of displaying what the author intended.
447 The test LayoutTests/compositing/geometry/huge-layers.html was
448 crashing before this fix. Now it works correctly.
450 * platform/graphics/win/WebTiledLayer.cpp:
451 (WebCore::WebTiledLayer::WebTiledLayer):
452 (WebCore::WebTiledLayer::setBounds):
453 (WebCore::WebTiledLayer::constrainedSize):
454 (WebCore::WebTiledLayer::updateTiles):
455 * platform/graphics/win/WebTiledLayer.h:
457 2010-05-23 Noam Rosenthal <noam.rosenthal@nokia.com>
459 Reviewed by Kenneth Rohde Christiansen.
461 [Qt] Using Accelerated Composing the rocket back animation on http://www.the-art-of-web.com/css/css-animation/ works differently as when not using AC.
462 https://bugs.webkit.org/show_bug.cgi?id=39513
464 The value of GraphicsLayer->transform() needs to be changed during the animation, regardless of m_fillsForward.
465 m_fillsForward should only apply at the end of the animation. Based on previous patch by Kenneth Christiansen.
467 * platform/graphics/qt/GraphicsLayerQt.cpp:
468 (WebCore::TransformAnimationQt::applyFrame):
469 (WebCore::OpacityAnimationQt::applyFrame):
471 2010-05-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
473 Reviewed by Eric Seidel.
475 [Qt] GraphicsLayerQt: Coding style and comment fixes.
477 * platform/graphics/qt/GraphicsLayerQt.cpp:
478 (WebCore::MaskEffectQt::MaskEffectQt):
479 (WebCore::MaskEffectQt::draw):
480 (WebCore::GraphicsLayerQtImpl::ContentData::ContentData):
481 (WebCore::GraphicsLayerQtImpl::State::State):
482 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
483 (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
484 (WebCore::GraphicsLayerQtImpl::rootLayer):
485 (WebCore::GraphicsLayerQtImpl::recache):
486 (WebCore::GraphicsLayerQtImpl::updateTransform):
487 (WebCore::GraphicsLayerQtImpl::opaqueArea):
488 (WebCore::GraphicsLayerQtImpl::flushChanges):
489 (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted):
490 (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
491 (WebCore::GraphicsLayerQt::setContentsToImage):
492 (WebCore::applyTimingFunction):
493 (WebCore::AnimationQtBase::updateState):
494 (WebCore::AnimationQt::AnimationQt):
495 (WebCore::AnimationQt::updateCurrentTime):
496 (WebCore::TransformAnimationQt::applyFrame):
497 (WebCore::TransformAnimationQt::updateState):
498 (WebCore::OpacityAnimationQt::OpacityAnimationQt):
499 (WebCore::OpacityAnimationQt::applyFrame):
500 (WebCore::GraphicsLayerQt::addAnimation):
501 (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
502 (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
503 (WebCore::GraphicsLayerQt::pauseAnimation):
504 (WebCore::GraphicsLayerQt::suspendAnimations):
505 (WebCore::GraphicsLayerQt::resumeAnimations):
506 * platform/graphics/qt/GraphicsLayerQt.h:
508 2010-05-23 Justin Schuh <jschuh@chromium.org>
510 Reviewed by Darin Adler.
512 Remove custom binding for Attr.value
513 https://bugs.webkit.org/show_bug.cgi?id=39499
515 Custom bindings are no longer needed because origin checks were moved
516 out of the bindings by: http://trac.webkit.org/changeset/59866
518 * Android.v8bindings.mk:
520 * bindings/js/JSAttrCustom.cpp:
521 * bindings/v8/custom/V8AttrCustom.cpp: Removed.
524 2010-05-23 Grace Kloba <klobag@gmail.com>
526 Reviewed by Nate Chapin.
528 Match the call of scheduleLocationChange() to its correct signature.
529 Fixes <http://webkit.org/b/39452>
531 The call of scheduleLocationChange() in generic and v8 bindings assuming the
532 fourth parameter is "usergesture". But it is actually the fifth parameter.
534 No new features. No new tests.
536 * bindings/generic/BindingDOMWindow.h:
537 (WebCore::::createWindow):
538 * bindings/v8/custom/V8DOMWindowCustom.cpp:
539 (WebCore::V8DOMWindow::openCallback):
541 2010-05-23 Eric Seidel <eric@webkit.org>
543 Reviewed by Adam Barth.
545 Reduce copy/paste code in HTMLParser using some template functions
546 https://bugs.webkit.org/show_bug.cgi?id=39471
548 No functional changes, thus no tests.
550 * html/HTMLParser.cpp:
552 - New function which takes a set an an array of QualifiedNames
553 and adds the localName().impl() to the set for each QualifiedName.
554 (WebCore::isTablePart):
555 (WebCore::isScopingTag):
556 (WebCore::mapTagToFunc):
557 (WebCore::mapTagsToFunc):
558 - New functions which take QualifiedNames and a function and map from the
559 localName().impl() to the function.
560 (WebCore::HTMLParser::getNode):
561 (WebCore::HTMLParser::isHeadingTag):
562 (WebCore::HTMLParser::isResidualStyleTag):
563 (WebCore::HTMLParser::isAffectedByResidualStyle):
565 2010-05-22 Julie Parent <jparent@chromium.org>
567 Reviewed by Adam Barth.
569 REGRESSION: xssAuditor tests failing in Chromium.
570 https://bugs.webkit.org/show_bug.cgi?id=39560
572 Follow up to r0014. Make if statement in V8 bindings match the one from jsc version.
574 * bindings/v8/ScriptController.cpp:
575 (WebCore::ScriptController::evaluate):
577 2010-05-22 Maciej Stachowiak <mjs@apple.com>
579 Reviewed by Mark Rowe.
581 REGRESSION(r59977): platform/mac/fast/AppleScript/001.html failure
582 https://bugs.webkit.org/show_bug.cgi?id=39531
584 Revert r59977 and r59943. These changes caused some exceptions to no longer be
585 reported in the inspector; I can't tell what they were originally trying to fix
586 so I am not sure how to fix them other than by reverting.
588 Covered by existing test platform/mac/fast/AppleScript/001.html, and
589 also added fast/dom/nested-script-exceptions.html to demonstrate the wider
590 consequences of the original change.
592 * bindings/js/ScriptController.cpp:
593 (WebCore::ScriptController::ScriptController):
594 (WebCore::ScriptController::evaluateInWorld):
595 * bindings/js/ScriptController.h:
597 2010-05-22 Kwang Yul Seo <skyul@company100.net>
599 Reviewed by Eric Seidel.
601 [BREWMP] Add DragData
602 https://bugs.webkit.org/show_bug.cgi?id=39469
604 As BREW MP does not support dragging, add dummy implementation of DragData.
606 * platform/DragData.h:
607 * platform/brew/DragDataBrew.cpp: Added.
608 (WebCore::DragData::canSmartReplace):
609 (WebCore::DragData::containsColor):
610 (WebCore::DragData::containsPlainText):
611 (WebCore::DragData::asPlainText):
612 (WebCore::DragData::asColor):
613 (WebCore::DragData::createClipboard):
614 (WebCore::DragData::containsCompatibleContent):
615 (WebCore::DragData::containsURL):
616 (WebCore::DragData::asURL):
617 (WebCore::DragData::asFragment):
618 (WebCore::DragData::asFilenames):
619 (WebCore::DragData::containsFiles):
621 2010-05-22 Kwang Yul Seo <skyul@company100.net>
623 Reviewed by Eric Seidel.
625 [BREWMP] Add dummy Icon
626 https://bugs.webkit.org/show_bug.cgi?id=39468
628 Add dummy implementation of Icon.
630 * platform/graphics/brew/IconBrew.cpp: Added.
631 (WebCore::Icon::~Icon):
632 (WebCore::Icon::createIconForFiles):
633 (WebCore::Icon::paint):
635 2010-05-22 Justin Schuh <jschuh@chromium.org>
637 Reviewed by Nate Chapin.
639 Remove and simplify custom bindings for Node
640 https://bugs.webkit.org/show_bug.cgi?id=39467
642 Custom bindings for nodeValue and textContent are no longer needed,
643 and child manipulators are simplified because origin checks were moved
644 out of the bindings by: http://trac.webkit.org/changeset/59866
646 * bindings/js/JSNodeCustom.cpp:
647 (WebCore::JSNode::insertBefore):
648 (WebCore::JSNode::replaceChild):
649 (WebCore::JSNode::removeChild):
650 (WebCore::JSNode::appendChild):
651 * bindings/v8/custom/V8NodeCustom.cpp:
652 (WebCore::V8Node::insertBeforeCallback):
653 (WebCore::V8Node::replaceChildCallback):
654 (WebCore::V8Node::removeChildCallback):
655 (WebCore::V8Node::appendChildCallback):
658 2010-05-22 Justin Schuh <jschuh@chromium.org>
660 Reviewed by Nate Chapin.
662 Remove custom bindings for NamedNodeMap.setNamedItem and .setNamedItemNS
663 https://bugs.webkit.org/show_bug.cgi?id=39462
665 Custom bindings are no longer needed because origin checks were moved
666 out of the bindings by: http://trac.webkit.org/changeset/59866
668 Behavior isn't changed and is covered by existing tests.
670 * bindings/js/JSNamedNodeMapCustom.cpp:
671 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
672 * dom/NamedNodeMap.idl:
674 2010-05-22 Daniel Bates <dbates@rim.com>
676 No review, rolling out 60017.
677 http://trac.webkit.org/changeset/60017
678 https://bugs.webkit.org/show_bug.cgi?id=39339
680 Rolling out since this broke the build on the Windows and Qt bots.
681 Need to look into this some more.
686 * WebCore.vcproj/WebCore.vcproj:
687 * WebCore.xcodeproj/project.pbxproj:
688 * bindings/ScriptControllerBase.h: Removed.
689 * bindings/js/ScriptController.h:
691 * bindings/v8/ScriptController.h:
694 2010-05-22 Daniel Bates <dbates@rim.com>
696 Reviewed by Darin Adler.
698 Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
699 https://bugs.webkit.org/show_bug.cgi?id=39339
701 Moved the enum ReasonForCallingCanExecuteScripts and ShouldAllowXSS, which
702 was defined in both the JSC and V8 ScriptController.h file, into a shared
703 file called ScriptControllerBase.h.
705 No functionality was changed, so no new tests.
707 * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
708 * WebCore.gypi: Ditto.
709 * WebCore.pro: Ditto.
710 * WebCore.vcproj/WebCore.vcproj: Ditto.
711 * WebCore.xcodeproj/project.pbxproj: Ditto.
712 * bindings/ScriptControllerBase.h: Added.
714 * bindings/js/ScriptController.h: #include ScriptControllerBase.h
715 * bindings/v8/ScriptController.h: Ditto.
717 2010-05-22 Yong Li <yoli@rim.com>
719 Reviewed by Darin Adler.
721 Fix a crash when XHTMLMP is enabled. The frame pointer in Document
723 https://bugs.webkit.org/show_bug.cgi?id=39448
725 No new tests because it is obvious and it must be reproduced with
729 (WebCore::Document::Document):
731 2010-05-22 Daniel Bates <dbates@rim.com>
733 Reviewed by Adam Barth.
735 REGRESSION (r56295): Can't create a new wave on Google Wave
736 https://bugs.webkit.org/show_bug.cgi?id=39249
738 Instead of just using the source code portion of a JavaScript URL to
739 detect an XSS attack, we now include the JavaScript URL schema. This
740 reduces the chance of a false positive by providing additional context.
742 Test: http/tests/security/xssAuditor/javascript-link-safe.html
744 * WebCore.base.exp: Updated exported symbols as necessary.
745 * bindings/ScriptControllerBase.cpp:
746 (WebCore::ScriptController::executeScript): Added parameter shouldAllowXSS.
747 (WebCore::ScriptController::executeIfJavaScriptURL): Ditto.
748 * bindings/js/ScriptController.cpp:
749 (WebCore::ScriptController::evaluateInWorld): Ditto.
750 (WebCore::ScriptController::evaluate): Ditto.
751 (WebCore::ScriptController::executeScriptInWorld): Ditto.
752 * bindings/js/ScriptController.h: Added enum ShouldAllowXSS.
754 * bindings/v8/ScriptController.cpp:
755 (WebCore::ScriptController::evaluate): Added parameter shouldAllowXSS.
756 * bindings/v8/ScriptController.h: Added enum ShouldAllowXSS.
759 2010-05-22 Jeremy Moskovich <jeremy@chromium.org>
761 Reviewed by Eric Seidel.
763 Document RenderObject::m_hasOverflowClip.
765 https://bugs.webkit.org/show_bug.cgi?id=39425
767 No new functionality, so no new tests.
769 * rendering/RenderObject.h:
771 2010-05-22 Kwang Yul Seo <skyul@company100.net>
773 Reviewed by Eric Seidel.
775 [BREWMP] Add DragController
776 https://bugs.webkit.org/show_bug.cgi?id=39400
778 Add DragController for BREW MP.
780 * page/brew/DragControllerBrew.cpp: Added.
781 (WebCore::DragController::isCopyKeyDown):
782 (WebCore::DragController::dragOperation):
783 (WebCore::DragController::maxDragImageSize):
784 (WebCore::DragController::cleanupAfterSystemDrag):
786 2010-05-22 Leandro Pereira <leandro@profusion.mobi>
788 Reviewed by Eric Seidel.
790 [EFL] Build fix (update source code lists).
791 http://webkit.org/b/39235
795 2010-05-22 Martin Robinson <mrobinson@igalia.com>
797 Reviewed by Xan Lopez.
799 [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt
800 https://bugs.webkit.org/show_bug.cgi?id=39465
802 Added a helper function for converting a GDK action bitmask into a DragOperation bitmask.
804 No new tests as behavior has not changed.
806 * platform/gtk/ClipboardUtilitiesGtk.cpp:
807 (WebCore::gdkDragActionToDragOperation): Added.
808 * platform/gtk/ClipboardUtilitiesGtk.h:
810 2010-05-22 Patrick Gansterer <paroga@paroga.com>
812 Reviewed by Eric Seidel.
814 [Qt] Cleanup SharedBuffer::createWithContentsOfFile
815 https://bugs.webkit.org/show_bug.cgi?id=38917
817 * platform/qt/SharedBufferQt.cpp:
818 (WebCore::SharedBuffer::createWithContentsOfFile):
820 2010-05-22 Martin Robinson <mrobinson@igalia.com>
822 Reviewed by Xan Lopez.
824 [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation
825 https://bugs.webkit.org/show_bug.cgi?id=39459
827 Add ClipboardUtilitiesGtk, a container for GTK+/WebCore clipboard utility functions.
828 Initially add a function which converts a WebCore::DragOperation to a bitmask of
831 No new tests, because behavior has not changed.
834 * platform/gtk/ClipboardUtilitiesGtk.cpp: Added.
835 (WebCore::dragOperationToGdkDragActions): Added.
836 * platform/gtk/ClipboardUtilitiesGtk.h: Added.
838 2010-05-21 Adam Barth <abarth@webkit.org>
840 Reviewed by Eric Seidel.
842 Parse attributes with HTML5 lexer
843 https://bugs.webkit.org/show_bug.cgi?id=39520
845 This patch lets the HTML5 lexer parse attributes, as in
846 <div attr="foo"></div>. This patch is on the critical path to running
849 * html/HTML5Lexer.cpp:
850 (WebCore::HTML5Lexer::nextToken):
853 (WebCore::HTML5Token::beginStartTag):
854 (WebCore::HTML5Token::beginEndTag):
855 (WebCore::HTML5Token::addNewAttribute):
856 (WebCore::HTML5Token::appendToAttributeName):
857 (WebCore::HTML5Token::appendToAttributeValue):
858 (WebCore::HTML5Token::attributes):
859 * html/HTML5Tokenizer.cpp:
860 (WebCore::convertToOldStyle):
862 2010-05-21 Mark Rowe <mrowe@apple.com>
866 * ChangeLog: Point out revision 60,000.
868 2010-05-21 David Hyatt <hyatt@apple.com>
870 Reviewed by Dan Bernstein.
872 Preparation for support of column-span, which will be implemented using continuations. When a block splits an inline, a
873 continuation chain is created of the form inline -> anonymous block -> inline. The middle block is always anonymous. When a column-span
874 splits the blocks in a multi-column block, it will create a similar chain: block -> anonymous block -> block. Enclosing split elements
875 directly connect to their continuations, so their chains will look like inline -> inline or block -> block.
877 This patch changes the member variable in RenderBlock, m_inlineContinuation, to simply be m_continuation and loosens up the type on it
878 to RenderBoxModelObject. This reflects the fact that the continuation of the block can now be another block and isn't always simply an inline.
880 Some renames have been done for cleanup:
881 isInlineContinuation -> isInlineElementContinuation to emphasize that this is a split non-anonymous element.
882 inlineContinuation -> inlineElementContinuation, again to emphasize that the inline is not anonymous.
884 Some new methods have been added:
885 isBlockElementContinuation - just like isInlineElementContinuation but for split block elements.
886 blockElementContinuation - just like inlineElementContinuation but for split block elements.
887 virtualContinuation - A way to just walk an entire continuation chain of mixed types (blocks and inlines) using their common base class.
888 isAnonymousBlockContinuation - A method for asking if a RenderBlock is an anonymous block in the continuation chain (the guy in the middle).
890 Code that was specific to the anonymous blocks in a continuation chain has been patched to ask isAnonymousBlockContinuation, so that it won't
891 incorrectly apply to non-anonymous blocks in the future. Where possible, code that really didn't care about being an inline vs. a block has
892 been broadened so that it will work with block continuations as well.
894 * accessibility/AccessibilityRenderObject.cpp:
895 (WebCore::lastChildConsideringContinuation):
896 (WebCore::startOfContinuations):
897 (WebCore::endOfContinuations):
898 (WebCore::childBeforeConsideringContinuations):
899 (WebCore::firstChildIsInlineContinuation):
900 (WebCore::AccessibilityRenderObject::nextSibling):
901 (WebCore::AccessibilityRenderObject::anchorElement):
902 * rendering/InlineFlowBox.cpp:
903 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
904 (WebCore::InlineFlowBox::paint):
905 * rendering/RenderBlock.cpp:
906 (WebCore::RenderBlock::RenderBlock):
907 (WebCore::RenderBlock::destroy):
908 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
909 (WebCore::RenderBlock::removeChild):
910 (WebCore::RenderBlock::paintObject):
911 (WebCore::RenderBlock::inlineElementContinuation):
912 (WebCore::RenderBlock::blockElementContinuation):
913 (WebCore::RenderBlock::addContinuationWithOutline):
914 (WebCore::RenderBlock::absoluteRects):
915 (WebCore::RenderBlock::absoluteQuads):
916 (WebCore::RenderBlock::rectWithOutlineForRepaint):
917 (WebCore::RenderBlock::hoverAncestor):
918 (WebCore::RenderBlock::updateDragState):
919 (WebCore::RenderBlock::outlineStyleForRepaint):
920 (WebCore::RenderBlock::updateHitTestResult):
921 (WebCore::RenderBlock::addFocusRingRects):
922 * rendering/RenderBlock.h:
923 (WebCore::RenderBlock::continuation):
924 (WebCore::RenderBlock::setContinuation):
925 (WebCore::RenderBlock::virtualContinuation):
926 (WebCore::RenderBlock::isAnonymousBlockContinuation):
927 * rendering/RenderInline.cpp:
928 (WebCore::RenderInline::inlineElementContinuation):
929 (WebCore::RenderInline::styleDidChange):
930 (WebCore::nextContinuation):
931 (WebCore::RenderInline::splitInlines):
932 (WebCore::RenderInline::positionForPoint):
933 (WebCore::RenderInline::updateHitTestResult):
934 * rendering/RenderInline.h:
935 (WebCore::RenderInline::setContinuation):
936 (WebCore::RenderInline::virtualContinuation):
937 * rendering/RenderObject.cpp:
938 (WebCore::RenderObject::getTextDecorationColors):
939 * rendering/RenderObject.h:
940 (WebCore::RenderObject::isElementContinuation):
941 (WebCore::RenderObject::isInlineElementContinuation):
942 (WebCore::RenderObject::isBlockElementContinuation):
943 (WebCore::RenderObject::virtualContinuation):
944 * rendering/RenderObjectChildList.cpp:
945 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
946 * rendering/RenderRubyBase.cpp:
947 (WebCore::RenderRubyBase::moveBlockChildren):
949 2010-05-21 Mark Rowe <mrowe@apple.com>
951 Reviewed by Oliver Hunt.
953 Teach WebKit2 to build in the Production configuration.
955 * Configurations/WebCore.xcconfig: Pass -allowable_client to the linker in all configurations.
957 2010-05-21 Chris Marrin <cmarrin@apple.com>
959 Reviewed by Simon Fraser.
961 Implement tiled compositing layers on Windows
962 https://bugs.webkit.org/show_bug.cgi?id=39461
964 This adds a tiling implementation similar (from a GraphicsLayer standpoint)
965 to the one for Mac. But where Mac uses the existing CATiledLayer, I've had
966 to implement one. If a layer is greater then 2k x 2k, I split it into an
967 array of 512 x 512 tiles. These tiles are positioned in the correct place
968 for the TiledLayer's content. When setNeedsDisplay is called on the TiledLayer
969 the tiles' setNeedDisplay methods are called. Each tile clips and positions the
970 CGContext appropriately and then renders the layer.
972 I also got rid of all frame()/setFrame() API to reduce the number of calls to
975 Much optimization is possible. Most significantly right now all tiles are
976 rendered whether visible or not. We need to only render tiles that are
979 Tests: compositing/huge-layer-add-remove-child.html
980 compositing/huge-layer-resize.html
981 compositing/huge-layer-with-layer-children-resize.html
982 compositing/huge-layer-with-layer-children.html
983 compositing/huge-layer.html
985 * WebCore.vcproj/WebCore.vcproj:
986 * platform/graphics/win/GraphicsLayerCACF.cpp: Added tiling code similar to GraphicsLayerCA
987 (WebCore::GraphicsLayerCACF::requiresTiledLayer):
988 (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
989 (WebCore::GraphicsLayerCACF::updateLayerSize):
990 (WebCore::GraphicsLayerCACF::updateLayerDrawsContent):
991 * platform/graphics/win/GraphicsLayerCACF.h:
992 * platform/graphics/win/WKCACFLayer.cpp: Made some methods virtual so WebTiledLayer can override.
993 Also added sublayer setting and manipulation methods needed for tiling
994 (WebCore::WKCACFLayer::addSublayer):
995 (WebCore::WKCACFLayer::internalInsertSublayer):
996 (WebCore::WKCACFLayer::insertSublayerAboveLayer):
997 (WebCore::WKCACFLayer::insertSublayerBelowLayer):
998 (WebCore::WKCACFLayer::replaceSublayer):
999 (WebCore::WKCACFLayer::internalSublayerCount):
1000 (WebCore::WKCACFLayer::adoptSublayers):
1001 (WebCore::WKCACFLayer::internalSublayerAtIndex):
1002 (WebCore::WKCACFLayer::internalIndexOfSublayer):
1003 (WebCore::WKCACFLayer::internalRemoveAllSublayers):
1004 (WebCore::WKCACFLayer::internalSetSublayers):
1005 (WebCore::WKCACFLayer::internalSetNeedsDisplay):
1006 (WebCore::WKCACFLayer::printLayer):
1007 * platform/graphics/win/WKCACFLayer.h:
1008 (WebCore::WKCACFLayer::setNeedsDisplay):
1009 (WebCore::WKCACFLayer::removeAllSublayers):
1010 (WebCore::WKCACFLayer::setSublayers):
1011 (WebCore::WKCACFLayer::insertSublayer):
1012 (WebCore::WKCACFLayer::sublayerCount):
1013 * platform/graphics/win/WKCACFLayerRenderer.cpp: Fix a crash exposed when tiling code is active
1014 (WebCore::WKCACFLayerRenderer::createRenderer):
1015 (WebCore::WKCACFLayerRenderer::destroyRenderer):
1016 (WebCore::WKCACFLayerRenderer::resize):
1017 * platform/graphics/win/WebLayer.cpp: Added. Split this out from GraphicsLayerCACF so it could be subclassed by WebTiledLayer
1018 (WebCore::WebLayer::internalSetNeedsDisplay):
1019 (WebCore::WebLayer::drawInContext):
1020 * platform/graphics/win/WebLayer.h: Added.
1021 (WebCore::WebLayer::create):
1022 (WebCore::WebLayer::WebLayer):
1023 * platform/graphics/win/WebTiledLayer.cpp: Added. Where all the tile construction and rendering is done
1024 (WebCore::WebTiledLayer::tileDisplayCallback):
1025 (WebCore::WebTiledLayer::create):
1026 (WebCore::WebTiledLayer::WebTiledLayer):
1027 (WebCore::WebTiledLayer::~WebTiledLayer):
1028 (WebCore::WebTiledLayer::setBounds):
1029 (WebCore::WebTiledLayer::internalSetNeedsDisplay):
1030 (WebCore::WebTiledLayer::internalSublayerCount):
1031 (WebCore::WebTiledLayer::internalRemoveAllSublayers):
1032 (WebCore::WebTiledLayer::internalSetSublayers):
1033 (WebCore::WebTiledLayer::internalInsertSublayer):
1034 (WebCore::WebTiledLayer::internalSublayerAtIndex):
1035 (WebCore::WebTiledLayer::internalIndexOfSublayer):
1036 (WebCore::WebTiledLayer::addTile):
1037 (WebCore::WebTiledLayer::removeTile):
1038 (WebCore::WebTiledLayer::tileAtIndex):
1039 (WebCore::WebTiledLayer::tileCount):
1040 (WebCore::WebTiledLayer::updateTiles):
1041 (WebCore::WebTiledLayer::drawTile):
1042 * platform/graphics/win/WebTiledLayer.h: Added.
1044 2010-05-21 Geoffrey Garen <ggaren@apple.com>
1046 Reviewed by Darin Adler.
1048 Fixed a typo in my last commit: Reset m_inEvaluateInWorld to
1049 wasInEvaluateInWorld, rather than false, to avoid stomping the old value
1051 https://bugs.webkit.org/show_bug.cgi?id=39518
1053 * bindings/js/ScriptController.cpp:
1054 (WebCore::ScriptController::evaluateInWorld):
1056 2010-05-21 David Hyatt <hyatt@apple.com>
1058 Reviewed by Dan Bernstein.
1060 https://bugs.webkit.org/show_bug.cgi?id=39516, back end support for column-span property.
1062 * css/CSSComputedStyleDeclaration.cpp:
1064 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1065 * css/CSSParser.cpp:
1066 (WebCore::CSSParser::parseValue):
1067 * css/CSSPropertyNames.in:
1068 * css/CSSStyleSelector.cpp:
1069 (WebCore::CSSStyleSelector::applyProperty):
1070 * rendering/style/RenderStyle.h:
1071 (WebCore::InheritedFlags::columnSpan):
1072 (WebCore::InheritedFlags::setColumnSpan):
1073 (WebCore::InheritedFlags::initialColumnSpan):
1074 * rendering/style/StyleMultiColData.cpp:
1075 (WebCore::StyleMultiColData::StyleMultiColData):
1076 (WebCore::StyleMultiColData::operator==):
1077 * rendering/style/StyleMultiColData.h:
1079 2010-05-21 Jer Noble <jer.noble@apple.com>
1081 Reviewed by Anders Carlsson.
1083 Disable full-screen video on Windows
1084 https://bugs.webkit.org/show_bug.cgi?id=39506
1085 rdar://problem/8012516
1087 Disable full-screen video through MediaPlayerPrivateVisualContext since
1088 we no longer use GWorlds and QuickTime's built in full-screen support.
1090 Media layout tests updated with new expected results.
1092 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1093 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
1095 2010-05-21 Simon Fraser <simon.fraser@apple.com>
1097 Reviewed by Dan Bernstein.
1099 Avoid creating huge tiled layers with accelerated compositing
1100 https://bugs.webkit.org/show_bug.cgi?id=39515
1102 Constrain the size of huge composited layers, to avoid bad behavior. We only
1103 need to do this if we detect that we need a tiled layer, since we'll make tiled
1104 layers for elements over a certain size that need to draw already.
1106 Constrain the size by attempting to shrink the longer dimension first.
1108 Test: compositing/geometry/huge-layer.html
1110 * platform/graphics/mac/GraphicsLayerCA.h:
1111 * platform/graphics/mac/GraphicsLayerCA.mm:
1112 (WebCore::GraphicsLayerCA::updateLayerPosition):
1113 (WebCore::GraphicsLayerCA::updateLayerSize):
1114 (WebCore::GraphicsLayerCA::constrainedSize):
1116 2010-05-21 David Hyatt <hyatt@apple.com>
1118 Reviewed by Dan Bernstein.
1120 https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color.
1122 Make the RenderStyle color accessors private. This forces callers to use visitedDependentColor
1123 instead (or to make the decision to become friends of the RenderStyle class in order to get access
1124 to the real style information).
1126 Modified history/self-is-visited.html to also test background colors.
1129 * accessibility/AccessibilityTable.cpp:
1130 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1131 * accessibility/mac/AccessibilityObjectWrapper.mm:
1132 (AXAttributeStringSetStyle):
1133 * css/CSSComputedStyleDeclaration.cpp:
1134 (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
1135 * css/CSSComputedStyleDeclaration.h:
1136 * css/SVGCSSStyleSelector.cpp:
1137 (WebCore::colorFromSVGColorCSSValue):
1138 * editing/ApplyStyleCommand.cpp:
1139 (WebCore::ApplyStyleCommand::editingStyleAtPosition):
1140 (WebCore::prepareEditingStyleToApplyAt):
1141 (WebCore::removeStylesAddedByNode):
1142 (WebCore::fontColorChangesComputedStyle):
1143 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1144 * editing/ApplyStyleCommand.h:
1146 * editing/CompositeEditCommand.cpp:
1147 (WebCore::CompositeEditCommand::moveParagraphs):
1148 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1149 * editing/DeleteButtonController.cpp:
1150 (WebCore::isDeletableElement):
1151 * editing/DeleteSelectionCommand.cpp:
1152 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1153 * editing/InsertParagraphSeparatorCommand.cpp:
1154 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
1155 * editing/RemoveFormatCommand.cpp:
1156 (WebCore::RemoveFormatCommand::doApply):
1157 * editing/ReplaceSelectionCommand.cpp:
1158 (WebCore::handleStyleSpansBeforeInsertion):
1159 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1160 (WebCore::ReplaceSelectionCommand::doApply):
1161 * editing/SelectionController.cpp:
1162 (WebCore::SelectionController::paintCaret):
1163 * editing/markup.cpp:
1164 (WebCore::createMarkup):
1165 * page/animation/AnimationBase.cpp:
1166 (WebCore::AnimationBase::ensurePropertyMap):
1167 * page/animation/AnimationBase.h:
1168 * page/mac/FrameMac.mm:
1169 (WebCore::Frame::fontAttributesForSelectionStart):
1170 * rendering/EllipsisBox.cpp:
1171 (WebCore::EllipsisBox::paint):
1172 (WebCore::EllipsisBox::paintSelection):
1173 * rendering/InlineTextBox.cpp:
1174 (WebCore::InlineTextBox::paint):
1175 * rendering/RenderBox.cpp:
1176 (WebCore::RenderBox::styleDidChange):
1177 (WebCore::RenderBox::paintRootBoxDecorations):
1178 (WebCore::RenderBox::paintBoxDecorationsWithSize):
1179 * rendering/RenderBoxModelObject.cpp:
1180 (WebCore::RenderBoxModelObject::paintBoxShadow):
1181 * rendering/RenderFieldset.cpp:
1182 (WebCore::RenderFieldset::paintBoxDecorations):
1183 * rendering/RenderFileUploadControl.cpp:
1184 (WebCore::RenderFileUploadControl::paintObject):
1185 * rendering/RenderFrameSet.cpp:
1186 (WebCore::RenderFrameSet::paintColumnBorder):
1187 (WebCore::RenderFrameSet::paintRowBorder):
1188 * rendering/RenderImage.cpp:
1189 (WebCore::RenderImage::paintReplaced):
1190 * rendering/RenderLayerBacking.cpp:
1191 (WebCore::RenderLayerBacking::rendererBackgroundColor):
1192 * rendering/RenderLayerBacking.h:
1193 * rendering/RenderListBox.cpp:
1194 (WebCore::RenderListBox::paintItemForeground):
1195 (WebCore::RenderListBox::paintItemBackground):
1196 * rendering/RenderListMarker.cpp:
1197 (WebCore::RenderListMarker::paint):
1198 * rendering/RenderMenuList.cpp:
1199 (WebCore::RenderMenuList::itemStyle):
1200 (WebCore::RenderMenuList::itemBackgroundColor):
1201 (WebCore::RenderMenuList::menuStyle):
1202 * rendering/RenderObject.cpp:
1203 (WebCore::RenderObject::selectionBackgroundColor):
1204 (WebCore::RenderObject::selectionForegroundColor):
1205 * rendering/RenderSVGResource.cpp:
1206 (WebCore::RenderSVGResource::adjustColorForPseudoRules):
1207 (WebCore::RenderSVGResource::fillPaintingResource):
1208 (WebCore::RenderSVGResource::strokePaintingResource):
1209 * rendering/RenderSVGResource.h:
1210 * rendering/RenderTable.cpp:
1211 (WebCore::RenderTable::paintBoxDecorations):
1212 * rendering/RenderTable.h:
1213 (WebCore::RenderTable::bgColor):
1214 * rendering/RenderTableCell.cpp:
1215 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1216 * rendering/RenderTextControl.cpp:
1217 (WebCore::RenderTextControl::adjustInnerTextStyle):
1218 * rendering/RenderTextControlSingleLine.cpp:
1219 (WebCore::RenderTextControlSingleLine::menuStyle):
1220 * rendering/RenderTheme.cpp:
1221 (WebCore::RenderTheme::isControlStyled):
1222 * rendering/RenderThemeMac.mm:
1223 (WebCore::RenderThemeMac::paintMenuListButton):
1224 * rendering/RenderTreeAsText.cpp:
1225 (WebCore::RenderTreeAsText::writeRenderObject):
1227 * rendering/RenderTreeAsText.h:
1228 * rendering/SVGInlineTextBox.cpp:
1229 (WebCore::SVGInlineTextBox::paintSelection):
1230 * rendering/SVGRenderTreeAsText.cpp:
1231 (WebCore::writeRenderSVGTextBox):
1232 * rendering/style/RenderStyle.cpp:
1233 (WebCore::RenderStyle::colorIncludingFallback):
1234 (WebCore::RenderStyle::visitedDependentColor):
1235 * rendering/style/RenderStyle.h:
1237 (WebCore::InheritedFlags::hasBackground):
1238 (WebCore::InheritedFlags::borderLeftStyle):
1239 (WebCore::InheritedFlags::borderRightStyle):
1240 (WebCore::InheritedFlags::borderTopStyle):
1241 (WebCore::InheritedFlags::borderBottomStyle):
1242 (WebCore::InheritedFlags::textShadow):
1243 (WebCore::InheritedFlags::textStrokeWidth):
1244 (WebCore::InheritedFlags::hasNormalColumnGap):
1245 (WebCore::InheritedFlags::borderLeftColor):
1246 (WebCore::InheritedFlags::borderRightColor):
1247 (WebCore::InheritedFlags::borderTopColor):
1248 (WebCore::InheritedFlags::borderBottomColor):
1249 (WebCore::InheritedFlags::backgroundColor):
1250 (WebCore::InheritedFlags::color):
1251 (WebCore::InheritedFlags::columnRuleColor):
1252 (WebCore::InheritedFlags::outlineColor):
1253 (WebCore::InheritedFlags::textFillColor):
1254 (WebCore::InheritedFlags::textStrokeColor):
1255 * svg/SVGAnimationElement.cpp:
1256 (WebCore::adjustForCurrentColor):
1258 2010-05-21 Beth Dakin <bdakin@apple.com>
1260 Reviewed by Darin Adler.
1262 Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic()
1263 while running MangleMe
1265 https://bugs.webkit.org/show_bug.cgi?id=39508
1267 The math was slightly off here, and we wound up trying to access an
1268 array at index -1 in some cases. We need to decrement numberShadow
1269 rather than subtracting one from the result of the modulo
1272 * rendering/RenderListMarker.cpp:
1273 (WebCore::toAlphabeticOrNumeric):
1275 2010-05-21 Oliver Hunt <oliver@apple.com>
1279 * bridge/qt/qt_runtime.cpp:
1280 (JSC::Bindings::convertQVariantToValue):
1281 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1283 2010-05-21 Oliver Hunt <oliver@apple.com>
1287 * bridge/qt/qt_instance.cpp:
1288 (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
1289 (JSC::Bindings::QtInstance::newRuntimeObject):
1290 (JSC::Bindings::QtInstance::getMethod):
1291 * bridge/qt/qt_pixmapruntime.cpp:
1292 (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
1293 (JSC::Bindings::QtPixmapInstance::getMethod):
1294 (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
1296 2010-05-21 Geoffrey Garen <ggaren@apple.com>
1298 Reviewed by Oliver Hunt.
1300 Fixed failure seen on buildbot (due to flaky test).
1302 Don't report an exception in a nested script evaluation -- just pass the
1303 exception on to our caller. Our caller can decide to report the exception,
1304 if it fully propagates -- but we don't want to report an exception that's
1305 going to get caught.
1307 * bindings/js/ScriptController.cpp:
1308 (WebCore::ScriptController::ScriptController):
1309 (WebCore::ScriptController::evaluateInWorld):
1310 * bindings/js/ScriptController.h:
1312 2010-05-21 Oliver Hunt <oliver@apple.com>
1314 Reviewed by Geoffrey Garen.
1316 All callable objects should have a global object reference
1317 https://bugs.webkit.org/show_bug.cgi?id=39495
1319 Update the bindings generator to give prototype objects a
1320 global object. Update all the manually written JSObject
1321 subclasses to pass a global object.
1323 * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Added.
1324 * WebCore.PluginHostProcess.exp:
1325 * bindings/js/JSDOMBinding.cpp:
1326 (WebCore::objectToStringFunctionGetter):
1327 * bindings/js/JSDOMWindowCustom.cpp:
1328 (WebCore::nonCachingStaticFunctionGetter):
1329 * bindings/js/JSDOMWindowShell.cpp:
1330 (WebCore::JSDOMWindowShell::setWindow):
1331 * bindings/js/JSHistoryCustom.cpp:
1332 (WebCore::nonCachingStaticBackFunctionGetter):
1333 (WebCore::nonCachingStaticForwardFunctionGetter):
1334 (WebCore::nonCachingStaticGoFunctionGetter):
1335 * bindings/js/JSLocationCustom.cpp:
1336 (WebCore::nonCachingStaticReplaceFunctionGetter):
1337 (WebCore::nonCachingStaticReloadFunctionGetter):
1338 (WebCore::nonCachingStaticAssignFunctionGetter):
1339 * bindings/js/WorkerScriptController.cpp:
1340 (WebCore::WorkerScriptController::initScript):
1341 * bindings/scripts/CodeGeneratorJS.pm:
1342 * bridge/c/CRuntimeObject.cpp:
1343 (JSC::Bindings::CRuntimeObject::CRuntimeObject):
1344 * bridge/c/CRuntimeObject.h:
1345 * bridge/c/c_instance.cpp:
1346 (JSC::Bindings::CInstance::newRuntimeObject):
1347 (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
1348 (JSC::Bindings::CInstance::getMethod):
1349 * bridge/jni/jsc/JavaInstanceJSC.cpp:
1350 (JavaInstance::newRuntimeObject):
1351 (JavaRuntimeMethod::JavaRuntimeMethod):
1352 (JavaInstance::getMethod):
1353 * bridge/jni/jsc/JavaRuntimeObject.cpp:
1354 (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
1355 * bridge/jni/jsc/JavaRuntimeObject.h:
1356 * bridge/jsc/BridgeJSC.cpp:
1357 (JSC::Bindings::Instance::newRuntimeObject):
1358 * bridge/objc/ObjCRuntimeObject.h:
1359 * bridge/objc/ObjCRuntimeObject.mm:
1360 (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
1361 * bridge/objc/objc_class.mm:
1362 (JSC::Bindings::ObjcClass::fallbackObject):
1363 * bridge/objc/objc_instance.mm:
1364 (ObjcInstance::newRuntimeObject):
1365 (ObjCRuntimeMethod::ObjCRuntimeMethod):
1366 (ObjcInstance::getMethod):
1367 * bridge/objc/objc_runtime.h:
1368 * bridge/objc/objc_runtime.mm:
1369 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1370 * bridge/runtime_method.cpp:
1371 (JSC::RuntimeMethod::RuntimeMethod):
1372 * bridge/runtime_method.h:
1373 * bridge/runtime_object.cpp:
1374 (JSC::Bindings::RuntimeObject::RuntimeObject):
1375 * bridge/runtime_object.h:
1377 2010-05-21 Steve Block <steveblock@google.com>
1379 Reviewed by Jeremy Orlow.
1381 Add DeviceOrientation and DeviceOrientationClient
1382 https://bugs.webkit.org/show_bug.cgi?id=39479
1384 The page owns a DeviceOrientation object, which has a pointer to a
1385 DeviceOrientationClient object provided by the embedder. The
1386 DeviceOrientation object forwards requests to start listening to
1387 orientation to the client, and when updates are available, fires a
1388 DeviceOrientationEvent on the window object.
1390 No new tests are possible at this time as the implementation is
1391 incomplete. Future patches will add LayoutTestController methods
1392 to provide mock orientation events to test this.
1400 * WebCore.vcproj/WebCore.vcproj
1401 * WebCore.xcodeproj/project.pbxproj:
1402 * dom/DeviceOrientation.cpp: Added.
1403 (WebCore::DeviceOrientation::DeviceOrientation):
1404 (WebCore::DeviceOrientation::onDeviceOrientationChange):
1405 * dom/DeviceOrientation.h: Added.
1406 * dom/DeviceOrientationClient.h: Added.
1407 (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
1409 (WebCore::Page::Page):
1411 (WebCore::Page::deviceOrientation):
1412 * svg/graphics/SVGImage.cpp:
1413 (WebCore::SVGImage::dataChanged):
1415 2010-05-21 Tasuku Suzuki <tasuku.suzuki@nokia.com>
1417 Reviewed by Simon Hausmann.
1419 [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
1420 https://bugs.webkit.org/show_bug.cgi?id=38324
1422 * platform/graphics/qt/GraphicsLayerQt.cpp:
1423 (WebCore::GraphicsLayerQtImpl::flushChanges):
1425 2010-05-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
1427 Reviewed by Darin Fisher.
1429 Fix the HistoryController::pushState.
1431 It should be possible to call the pushState method from
1432 the first page in a window.
1434 history.pushState doesn't work for the first page in a window.
1435 https://bugs.webkit.org/show_bug.cgi?id=39418
1437 * loader/HistoryController.cpp:
1438 (WebCore::HistoryController::pushState):
1440 2010-05-21 Victoria Kirst <vrk@google.com>
1442 Reviewed by David Levin.
1444 [chromium] Fix slider status when buffering
1445 https://bugs.webkit.org/show_bug.cgi?id=39370
1446 Adjusts the buffering bar to be aligned with the slider thumb.
1448 No new tests. (Covered by existing layout tests.)
1450 * rendering/RenderMediaControlsChromium.cpp:
1451 (WebCore::paintMediaSlider):
1452 Added logic to align the buffering bar with the thumb. Half of the
1453 thumb image is transparent, so the buffer bar is adjusted to fill in
1456 2010-05-21 Jesus Sanchez-Palencia <jesus@webkit.org>
1458 Reviewed by Eric Seidel.
1460 Extra processesArguments() calls in Document::processViewport
1461 https://bugs.webkit.org/show_bug.cgi?id=39358
1463 The viewport arguments are only needed when there is a frame->page(),
1464 therefore we don't need to always call processArguments().
1467 (WebCore::Document::processViewport):
1469 2010-05-17 Philippe Normand <pnormand@igalia.com>
1471 Reviewed by Eric Carlson.
1473 [GStreamer] video painting support on mac port
1474 https://bugs.webkit.org/show_bug.cgi?id=39206
1476 ImageGStreamer support for mac port. A CG Image is created using
1477 the GstBuffer data. It can then be painted by the gstreamer player.
1479 * platform/graphics/gstreamer/ImageGStreamer.h:
1480 * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added.
1481 (ImageGStreamer::createImage):
1482 (ImageGStreamer::ImageGStreamer):
1483 (ImageGStreamer::~ImageGStreamer):
1485 2010-05-21 Robin Cao <robin.cao@torchmobile.com.cn>
1487 Reviewed by Eric Seidel.
1489 animateTransform does not work on gradientTransform
1490 https://bugs.webkit.org/show_bug.cgi?id=38115
1492 Tests: svg/animations/animate-gradient-transform.html
1494 * svg/SVGAnimateTransformElement.cpp:
1495 (WebCore::SVGAnimateTransformElement::hasValidTarget): Check if the target element is gradient.
1496 (WebCore::transformListFor): Ditto.
1497 (WebCore::SVGAnimateTransformElement::resetToBaseValue): Ditto.
1498 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
1500 2010-05-21 Young Han Lee <joybro@company100.net>
1502 Reviewed by Eric Seidel.
1504 Fix guard around DatabaseSync
1505 https://bugs.webkit.org/show_bug.cgi?id=38897
1507 * storage/DatabaseSync.cpp:
1509 2010-05-21 Simon Hausmann <simon.hausmann@nokia.com>
1511 [Qt] Prospective Qt/Mac build fix
1513 My cpp is paranoid and doesn't like #if Q_WS_MAC:
1514 error: #if with no expression
1516 * page/qt/EventHandlerQt.cpp:
1518 2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi>
1520 Reviewed by Eric Seidel.
1522 [EFL] Update Localized Strings. Remove markers from strings
1523 since we are not using them and they are only polluting output.
1524 https://bugs.webkit.org/show_bug.cgi?id=39371
1526 No new tests required.
1528 * platform/efl/LocalizedStringsEfl.cpp:
1529 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1530 (WebCore::contextMenuItemTagDownloadLinkToDisk):
1531 (WebCore::contextMenuItemTagCopyLinkToClipboard):
1532 (WebCore::contextMenuItemTagOpenImageInNewWindow):
1533 (WebCore::contextMenuItemTagDownloadImageToDisk):
1534 (WebCore::contextMenuItemTagCopyImageToClipboard):
1535 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1536 (WebCore::contextMenuItemTagSelectAll):
1537 (WebCore::contextMenuItemTagUnicode):
1538 (WebCore::contextMenuItemTagInputMethods):
1539 (WebCore::contextMenuItemTagGoBack):
1540 (WebCore::contextMenuItemTagGoForward):
1541 (WebCore::contextMenuItemTagReload):
1542 (WebCore::contextMenuItemTagIgnoreSpelling):
1543 (WebCore::contextMenuItemTagLearnSpelling):
1544 (WebCore::contextMenuItemTagSearchWeb):
1545 (WebCore::contextMenuItemTagLookUpInDictionary):
1546 (WebCore::contextMenuItemTagOpenLink):
1547 (WebCore::contextMenuItemTagIgnoreGrammar):
1548 (WebCore::contextMenuItemTagSpellingMenu):
1549 (WebCore::contextMenuItemTagCheckSpelling):
1550 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1551 (WebCore::contextMenuItemTagFontMenu):
1552 (WebCore::contextMenuItemTagOutline):
1553 (WebCore::contextMenuItemTagInspectElement):
1554 (WebCore::searchMenuClearRecentSearchesText):
1555 (WebCore::missingPluginText): Add missing message.
1556 (WebCore::multipleFileUploadText):
1557 (WebCore::crashedPluginText):
1559 2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi>
1561 Reviewed by Eric Seidel.
1563 [EF] Fix support for focus ring.
1564 https://bugs.webkit.org/show_bug.cgi?id=39387
1566 No new tests required.
1568 * html/HTMLAnchorElement.cpp: Add EFL to #ifdef
1569 (WebCore::HTMLAnchorElement::isMouseFocusable):
1571 2010-05-21 Kwang Yul Seo <skyul@company100.net>
1573 Reviewed by Eric Seidel.
1575 [BREWMP] Add missing localized string symbols.
1576 https://bugs.webkit.org/show_bug.cgi?id=39394
1578 Add missingPluginText and crashedPluginText.
1580 * platform/brew/LocalizedStringsBrew.cpp:
1581 (WebCore::missingPluginText):
1582 (WebCore::crashedPluginText):
1584 2010-05-21 Steve Block <steveblock@google.com>
1586 Reviewed by Alexey Proskuryakov.
1588 Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android
1589 https://bugs.webkit.org/show_bug.cgi?id=39426
1591 This code path has always been used by Android, but was guarded with
1592 BUILDING_ON_TIGER in http://trac.webkit.org/changeset/55054, thus
1593 breaking the Android build.
1595 No new tests, build fix only.
1597 * bridge/jni/jsc/JavaInstanceJSC.cpp:
1598 (JavaInstance::invokeMethod):
1600 2010-05-20 Tony Chang <tony@chromium.org>
1602 Reviewed by Kent Tamura.
1604 escape link text when copying or dragging links on win or chromium
1605 https://bugs.webkit.org/show_bug.cgi?id=39413
1607 * editing/markup.cpp:
1608 (WebCore::urlToMarkup):
1610 * platform/chromium/ClipboardUtilitiesChromium.cpp:
1611 * platform/chromium/ClipboardUtilitiesChromium.h:
1612 * platform/win/ClipboardUtilitiesWin.cpp:
1613 * platform/win/ClipboardUtilitiesWin.h:
1615 2010-05-18 Philippe Normand <pnormand@igalia.com>
1617 Reviewed by Eric Carlson.
1619 [GStreamer] PlatformMedia support
1620 https://bugs.webkit.org/show_bug.cgi?id=39300
1622 Basic support for PlatformMedia in the gst player. The
1623 PlatformMedia object contains a GStreamerGWorld object. That
1624 object is empty for now. XOverlay features will be added later
1625 on for easy review sake.
1628 * platform/graphics/MediaPlayer.h:
1629 (WebCore::PlatformMedia::):
1630 * platform/graphics/gstreamer/GStreamerGWorld.cpp: Added.
1631 (WebCore::GStreamerGWorld::createGWorld):
1632 (WebCore::GStreamerGWorld::GStreamerGWorld):
1633 (WebCore::GStreamerGWorld::~GStreamerGWorld):
1634 * platform/graphics/gstreamer/GStreamerGWorld.h: Added.
1635 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1636 (WebCore::MediaPlayerPrivateGStreamer::platformMedia):
1637 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1638 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1640 2010-05-20 Kwang Yul Seo <skyul@company100.net>
1642 Reviewed by Eric Seidel.
1644 [BREWMP] Add dummy SSLKeyGenerator
1645 https://bugs.webkit.org/show_bug.cgi?id=39403
1647 Add dummy implementation of SSLKeyGenerator.
1649 * platform/brew/SSLKeyGeneratorBrew.cpp: Added.
1650 (WebCore::WebCore::getSupportedKeySizes):
1651 (WebCore::WebCore::signedPublicKeyAndChallengeString):
1653 2010-05-20 Mark Rowe <mrowe@apple.com>
1655 Rubber-stamped by Dan Bernstein.
1657 <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
1659 * platform/mac/EmptyProtocolDefinitions.h:
1661 2010-05-20 Kwang Yul Seo <skyul@company100.net>
1663 Reviewed by Eric Seidel.
1666 https://bugs.webkit.org/show_bug.cgi?id=39404
1668 Implement Editor::newGeneralClipboard.
1670 * editing/brew/EditorBrew.cpp: Added.
1671 (WebCore::Editor::newGeneralClipboard):
1673 2010-05-20 Simon Fraser <simon.fraser@apple.com>
1675 Reviewed by Adam Roben.
1677 Avoid flushing CA layers when a layout is pending
1678 https://bugs.webkit.org/show_bug.cgi?id=39463
1679 <rdar://problem/7999463>
1681 Avoid rendering the compositing layers to the screen if there's a layout pending,
1682 since the layer tree not in a state that should be presented to the user.
1684 This fixes flashes in some types of content that dynamically add and remove layers.
1686 Do this by adding a WKCACFLayerRendererClient for WKCACFLayerRenderer, which it can
1687 call through to ask whether now is a good time to render. If not, it schedules
1688 another render soon.
1690 * platform/graphics/win/WKCACFLayerRenderer.h:
1691 (WebCore::WKCACFLayerRendererClient::~WKCACFLayerRendererClient):
1692 * platform/graphics/win/WKCACFLayerRenderer.cpp:
1693 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
1694 (WebCore::WKCACFLayerRenderer::create):
1695 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
1696 (WebCore::WKCACFLayerRenderer::render):
1698 2010-05-20 Kwang Yul Seo <skyul@company100.net>
1700 Reviewed by Eric Seidel.
1702 [BREWMP] Don't include CoreFoundation.h when building for BREW MP
1703 https://bugs.webkit.org/show_bug.cgi?id=39405
1705 Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h.
1709 2010-05-20 Kwang Yul Seo <skyul@company100.net>
1711 Reviewed by Eric Seidel.
1713 [BREWMP] Add ScrollTheme
1714 https://bugs.webkit.org/show_bug.cgi?id=39406
1716 As BREW MP always uses frame flattening, there is no need to render scorllbars.
1717 Use the default scrollbar theme with thickness 0.
1719 * platform/brew/ScrollbarThemeBrew.cpp: Added.
1720 (WebCore::ScrollbarTheme::nativeTheme):
1721 (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew):
1722 * platform/brew/ScrollbarThemeBrew.h: Added.
1724 2010-05-20 Jon Honeycutt <jhoneycutt@apple.com>
1726 REGRESSION(r53637): DivX plug-in fails to start until window is resized
1727 https://bugs.webkit.org/show_bug.cgi?id=39457
1728 <rdar://problem/8006102>
1730 Before r53637, we called Widget::move() (which caused us to call
1731 NPP_SetWindow) before painting a plug-in. r53637 removed the call to
1732 Widget::move(), and we end up never calling NPP_SetWindow for plug-ins
1733 with the "DeferFirstSetWindowCall" quirk, including the DivX plug-in.
1735 Reviewed by Simon Fraser.
1737 * manual-tests/divx-plugin-fails-to-draw.html: Added.
1739 * plugins/PluginView.cpp:
1740 (WebCore::PluginView::PluginView):
1741 Initialize new member to false.
1743 * plugins/PluginView.h:
1746 * plugins/win/PluginViewWin.cpp:
1747 (WebCore::PluginView::paint):
1748 Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets
1750 (WebCore::PluginView::setNPWindowRect):
1751 Set m_haveCalledSetWindow.
1753 2010-05-20 Fumitoshi Ukai <ukai@chromium.org>
1755 Reviewed by Alexey Proskuryakov.
1757 WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76
1758 https://bugs.webkit.org/show_bug.cgi?id=35572
1760 WebSocket opening handshake is changed. New protocol draft could be found at http://www.whatwg.org/specs/web-socket-protocol/
1761 It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests.
1763 * websockets/WebSocketHandshake.cpp:
1764 (WebCore::extractResponseCode):
1765 add lineLength parameter to return length of status line.
1766 (WebCore::hostName): Added.
1767 (WebCore::generateSecWebSocketKey): Added.
1768 (WebCore::generateKey3): Added.
1769 (WebCore::setChallengeNumber): Added.
1770 (WebCore::generateChallengeResponseExpected): Added.
1771 (WebCore::WebSocketHandshake::WebSocketHandshake):
1772 generate challenge response key and expected data.
1773 (WebCore::WebSocketHandshake::clientLocation):
1775 (WebCore::WebSocketHandshake::clientHandshakeMessage):
1776 changed for draft 76 spec.
1777 (WebCore::WebSocketHandshake::clientHandshakeRequest):
1778 (WebCore::WebSocketHandshake::readServerHandshake):
1779 changed for draft 76 spec.
1780 m_mode is managed in this method.
1781 (WebCore::WebSocketHandshake::readHTTPHeaders):
1782 change error log messages.
1783 (WebCore::WebSocketHandshake::processHeaders):
1784 chagned for draft 76 spec.
1785 (WebCore::WebSocketHandshake::checkResponseHeaders):
1786 return boolean whether response header is ok or not and not change m_mode in it.
1787 * websockets/WebSocketHandshake.h:
1789 2010-05-20 Adam Roben <aroben@apple.com>
1791 Stop leaking all CACFContexts
1793 Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>.
1795 Reviewed by Simon Fraser.
1797 * platform/graphics/win/WKCACFContextFlusher.cpp:
1798 (WebCore::WKCACFContextFlusher::addContext): Only retain the context
1799 when we first add it to the m_contexts set. Otherwise we'll retain the
1800 same context multiple times, causing it to leak.
1802 2010-05-20 Young Han Lee <joybro@company100.net>
1804 Reviewed by Darin Adler.
1806 Create filenameFromString for all ports except GTK and EFL.
1807 https://bugs.webkit.org/show_bug.cgi?id=39348
1809 * platform/FileSystem.cpp: Added.
1810 (WebCore::filenameFromString):
1811 * platform/FileSystem.h:
1813 2010-05-20 Young Han Lee <joybro@company100.net>
1815 Reviewed by Darin Adler.
1817 Port SharedBuffer to POSIX.
1818 https://bugs.webkit.org/show_bug.cgi?id=39283
1820 * platform/posix/SharedBufferPOSIX.cpp: Added.
1821 (WebCore::SharedBuffer::createWithContentsOfFile):
1823 2010-05-20 Zhenyao Mo <zmo@google.com>
1825 Reviewed by Dimitri Glazkov.
1827 Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage
1828 https://bugs.webkit.org/show_bug.cgi?id=39077
1830 * platform/graphics/mac/GraphicsContext3DMac.cpp:
1831 (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums.
1833 2010-05-20 Dan Bernstein <mitz@apple.com>
1835 Reviewed by Dave Hyatt.
1837 <rdar://problem/8007953> Textarea using custom font appears blank
1839 Test: fast/css/font-face-in-shadow-DOM.html
1841 When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all
1842 RenderSyles that have FontFallbackLists referencing the placeholder font with fresh
1843 RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with
1844 styles that still reference the placeholder font.
1846 The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return
1847 true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles.
1850 (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated.
1851 * rendering/RenderButton.h:
1852 (WebCore::RenderButton::requiresForcedStyleRecalcPropagation):
1853 * rendering/RenderDataGrid.h:
1854 (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation):
1855 * rendering/RenderFileUploadControl.h:
1856 (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation):
1857 * rendering/RenderListItem.h:
1858 (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation):
1859 * rendering/RenderMedia.h:
1860 (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
1861 * rendering/RenderMenuList.h:
1862 (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation):
1863 * rendering/RenderObject.h:
1864 (WebCore::RenderObject::requiresForcedStyleRecalcPropagation):
1865 * rendering/RenderProgress.h:
1866 (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
1867 * rendering/RenderSlider.h:
1868 (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation):
1869 * rendering/RenderTextControl.h:
1870 (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation):
1872 2010-05-20 Jer Noble <jer.noble@apple.com>
1874 No review; build fix only.
1876 When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp
1877 must include CoreGraphics/CGContext.h.
1879 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1881 2010-05-20 Jer Noble <jer.noble@apple.com>
1883 Reviewed by Sam Weinig.
1885 Video elements show no video on Windows machines that do not support accelerated compositing
1886 https://bugs.webkit.org/show_bug.cgi?id=39446
1887 rdar://problem/7999794
1889 Implement the paint() method in MediaPlayerPrivateQuickTimeVisualContext. The visual context should
1890 be set up in load() and torn down in the destructor (as opposed to setUpVideoRendering and
1891 tearDownVideoRendering, which won't get called in a non-accelerated compositing case).
1893 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1894 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
1895 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
1896 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
1897 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired):
1898 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
1899 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
1900 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
1902 2010-05-20 Abhishek Arya <inferno@chromium.org>
1904 Reviewed by Adam Barth.
1906 Added a method to check if the security origin can access
1908 https://bugs.webkit.org/show_bug.cgi?id=38916
1910 * page/SecurityOrigin.h:
1911 (WebCore::SecurityOrigin::canAccessPasswordManager):
1913 2010-05-20 Darin Adler <darin@apple.com>
1915 Reviewed by Eric Seidel.
1917 Fix warnings seen on the buildbots today
1918 https://bugs.webkit.org/show_bug.cgi?id=39368
1920 * loader/icon/IconDatabase.cpp:
1921 (WebCore::IconDatabase::pruneUnretainedIcons): Use the type "long long" for
1922 things being printed with "%lli". There is no guaranteed that int64_t is the
1923 same thing as long long.
1925 * page/EventHandler.cpp:
1926 (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested
1927 by warnings in newer versions of GCC.
1929 * platform/ContextMenu.cpp: Fix #if around the functions to match the #if
1930 around the call sites to avoid unused function warning.
1932 * platform/graphics/gtk/ImageGtk.cpp:
1933 (WebCore::Image::loadPlatformResource): Use NULL to end a variable argument list
1934 rather than 0. This is a case where the WebKit "use 0 instead of NULL" guideline
1935 is incorrect and won't work properly.
1937 * platform/win/SystemTimeWin.cpp:
1938 (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO.
1940 * platform/win/WebCoreInstanceHandle.h: Added property svn:eol-style.
1941 Made functions inline instead of static. It's not correct to have functions with
1942 internal linkage in a header file. Marking them inline makes more sense.
1944 * plugins/win/PluginMessageThrottlerWin.cpp:
1945 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Reordered the
1946 initializers to match the order of the data members from the class definition.
1948 * plugins/win/PluginViewWin.cpp:
1949 (WebCore::PluginView::paintIntoTransformedContext): Initialized all the fields
1950 of WINDOWPOS. I know this goes against the traditions of Windows programming,
1951 but it's correct and silences the warning. Also removed the unneeded separate
1952 code path for non-WinCE platforms that translates only the corner of the window
1953 rectangle; the WinCE version is correct for normal Windows as well. Not sure
1954 why this wasn't caught when the code was originally checked in.
1956 2010-05-20 Justin Schuh <jschuh@chromium.org>
1958 Reviewed by Adam Barth.
1960 Moving frame.src checks out of the bindings
1961 https://bugs.webkit.org/show_bug.cgi?id=37815
1963 Moved JavaScript frame.src checks out of bindings and into
1964 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
1965 so ExecState is available inside core DOM. Updated affected bindings
1966 (except for GObject, which will need to be updated to avoid origin
1967 failures inside native code).
1969 * Android.jscbindings.mk:
1974 * WebCore.vcproj/WebCore.vcproj:
1975 * WebCore.xcodeproj/project.pbxproj:
1976 * bindings/js/JSBindingsAllInOne.cpp:
1977 * bindings/js/JSCallbackData.cpp:
1978 (WebCore::JSCallbackData::invokeCallback):
1979 * bindings/js/JSEventListener.cpp:
1980 (WebCore::JSEventListener::handleEvent):
1981 * bindings/js/JSInjectedScriptHostCustom.cpp:
1982 (WebCore::InjectedScriptHost::createInjectedScript):
1983 * bindings/js/JSMainThreadExecState.cpp: Added.
1984 * bindings/js/JSMainThreadExecState.h: Added.
1985 (WebCore::JSMainThreadExecState::currentState):
1986 (WebCore::JSMainThreadExecState::call):
1987 (WebCore::JSMainThreadExecState::evaluate):
1988 (WebCore::JSMainThreadExecState::JSMainThreadExecState):
1989 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1990 (WebCore::JSMainThreadNullState::JSMainThreadNullState):
1991 * bindings/js/ScheduledAction.cpp:
1992 (WebCore::ScheduledAction::executeFunctionInContext):
1993 (WebCore::ScheduledAction::execute):
1994 * bindings/js/ScheduledAction.h:
1995 * bindings/js/ScriptController.cpp:
1996 (WebCore::ScriptController::evaluateInWorld):
1997 (WebCore::ScriptController::canAccessFromCurrentOrigin):
1998 * bindings/js/ScriptController.h:
1999 * bindings/js/ScriptFunctionCall.cpp:
2000 (WebCore::ScriptFunctionCall::call):
2001 * bindings/objc/ObjCEventListener.mm:
2002 * bindings/objc/WebScriptObject.mm:
2003 (-[WebScriptObject callWebScriptMethod:withArguments:]):
2004 (-[WebScriptObject evaluateWebScript:]):
2005 * bindings/scripts/CodeGeneratorObjC.pm:
2006 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2007 (-[DOMTestCallback callbackWithClass1Param:]):
2008 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2009 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2010 (-[DOMTestCallback customCallback:class6Param:]):
2011 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2012 * bindings/scripts/test/ObjC/DOMTestObj.mm:
2013 (-[DOMTestObj readOnlyIntAttr]):
2014 (-[DOMTestObj readOnlyStringAttr]):
2015 (-[DOMTestObj readOnlyTestObjAttr]):
2016 (-[DOMTestObj intAttr]):
2017 (-[DOMTestObj setIntAttr:]):
2018 (-[DOMTestObj longLongAttr]):
2019 (-[DOMTestObj setLongLongAttr:]):
2020 (-[DOMTestObj unsignedLongLongAttr]):
2021 (-[DOMTestObj setUnsignedLongLongAttr:]):
2022 (-[DOMTestObj stringAttr]):
2023 (-[DOMTestObj setStringAttr:]):
2024 (-[DOMTestObj testObjAttr]):
2025 (-[DOMTestObj setTestObjAttr:]):
2026 (-[DOMTestObj attrWithException]):
2027 (-[DOMTestObj setAttrWithException:]):
2028 (-[DOMTestObj attrWithSetterException]):
2029 (-[DOMTestObj setAttrWithSetterException:]):
2030 (-[DOMTestObj attrWithGetterException]):
2031 (-[DOMTestObj setAttrWithGetterException:]):
2032 (-[DOMTestObj customAttr]):
2033 (-[DOMTestObj setCustomAttr:]):
2034 (-[DOMTestObj scriptStringAttr]):
2035 (-[DOMTestObj voidMethod]):
2036 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2037 (-[DOMTestObj intMethod]):
2038 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2039 (-[DOMTestObj objMethod]):
2040 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2041 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
2042 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
2043 (-[DOMTestObj serializedValue:]):
2044 (-[DOMTestObj methodWithException]):
2045 (-[DOMTestObj customMethod]):
2046 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2047 (-[DOMTestObj customArgsAndException:]):
2048 (-[DOMTestObj addEventListener:listener:useCapture:]):
2049 (-[DOMTestObj removeEventListener:listener:useCapture:]):
2050 (-[DOMTestObj withDynamicFrame]):
2051 (-[DOMTestObj withDynamicFrameAndArg:]):
2052 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2053 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2054 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2055 (-[DOMTestObj withScriptStateVoid]):
2056 (-[DOMTestObj withScriptStateObj]):
2057 (-[DOMTestObj withScriptStateVoidException]):
2058 (-[DOMTestObj withScriptStateObjException]):
2059 (-[DOMTestObj methodWithOptionalArg:]):
2060 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2061 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2062 * bindings/v8/ScriptController.cpp:
2063 (WebCore::ScriptController::canAccessFromCurrentOrigin):
2064 * bindings/v8/ScriptController.h:
2065 * html/HTMLFrameElementBase.cpp:
2066 (WebCore::HTMLFrameElementBase::isURLAllowed):
2068 2010-05-20 Adam Roben <aroben@apple.com>
2070 Fix an HRGN leak in WKCACFLayerRenderer
2072 Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION
2073 (r53686-r55990): Graphics corruption when watching video (affects
2076 Reviewed by Darin Adler.
2078 * platform/graphics/win/WKCACFLayerRenderer.cpp:
2079 (WebCore::getDirtyRects): Use an OwnPtr to hold the HRGN we allocate.
2080 That way we don't have to remember to destroy it (as we were
2081 forgetting to do) when we bail out of this function early.
2083 2010-05-20 Darin Fisher <darin@chromium.org>
2085 Reviewed by Nate Chapin.
2087 [chromium] Provide a way to catch exceptions thrown while interacting
2088 with a NPObject via WebBindings methods.
2089 https://bugs.webkit.org/show_bug.cgi?id=39378
2091 This change also includes a small bit of cleanup in V8NPObject and
2092 friends. I moved code into the WebCore namespace where appropriate.
2094 In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
2095 context scope. I did this to avoid having nested ExceptionCatcher
2096 objects, which is not strictly necessary, but it seemed cleaner.
2097 _NPN_Evaluate already takes care of creating a context scope.
2099 * bindings/v8/NPV8Object.cpp:
2100 (WebCore::v8ObjectToNPObject):
2101 (WebCore::npCreateV8ScriptObject):
2103 (_NPN_InvokeDefault):
2105 (_NPN_EvaluateHelper):
2108 (_NPN_RemoveProperty):
2111 (_NPN_SetException):
2114 * bindings/v8/NPV8Object.h:
2115 * bindings/v8/V8NPObject.cpp:
2116 * bindings/v8/V8NPObject.h:
2117 * bindings/v8/V8NPUtils.cpp:
2118 (WebCore::convertV8ObjectToNPVariant):
2119 (WebCore::pushExceptionHandler):
2120 (WebCore::popExceptionHandler):
2121 (WebCore::ExceptionCatcher::ExceptionCatcher):
2122 (WebCore::ExceptionCatcher::~ExceptionCatcher):
2123 * bindings/v8/V8NPUtils.h:
2124 * bindings/v8/npruntime.cpp:
2126 2010-05-20 Marcus Bulach <bulach@chromium.org>
2128 Reviewed by Steve Block.
2130 Ensure timers are stopped on Geolocation::disconnectFrame()
2131 https://bugs.webkit.org/show_bug.cgi?id=39388
2133 fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests.
2135 * page/Geolocation.cpp:
2136 (WebCore::Geolocation::disconnectFrame):
2138 2010-05-20 James Robinson <jamesr@chromium.org>
2140 Reviewed by Eric Seidel.
2142 Ensures styles are up-to-date before determining selection
2143 https://bugs.webkit.org/show_bug.cgi?id=39389
2145 This adds a call to document::updateStyleIfNeeded() to
2146 Frame::notifyRendererOfSelectionChange(). Without this call, if there
2147 is a pending style update that will detach part of the DOM and the
2148 the selection is within that part of the DOM when
2149 notifyRendererOfSeletionChange is called, the rootEditableElement
2150 algorithm ends up walking through detached parts of the render tree.
2152 Test: editing/selection/focus-and-display-none.html
2155 (WebCore::Frame::notifyRendererOfSelectionChange):
2157 2010-05-20 Adam Roben <aroben@apple.com>
2159 Remove code that fetched, but did nothing useful with, a CFDictionary
2160 in MediaPlayerPrivateQuickTimeVisualContext
2162 I also removed the code in QTPixelBuffer that vended the dictionary.
2164 Fixes <http://webkit.org/b/39435> <rdar://problem/8009278>
2165 QTPixelBuffer passes CFDictionaries across the DLL boundary, which can
2168 Reviewed by Darin Adler.
2170 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2171 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
2172 Deleted code that fetched the attachments dictionary, which was never
2173 used other than to pass it to CFRetain/CFRelease, which could be
2174 enough to cause a crash due to incompatible copies of
2177 * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed
2178 forward declaration.
2180 * platform/graphics/win/QTPixelBuffer.cpp:
2181 * platform/graphics/win/QTPixelBuffer.h:
2182 Removed the now-unused attachments function.
2184 2010-05-20 Adam Roben <aroben@apple.com>
2186 Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext
2188 Fixes <http://webkit.org/b/39432> <rdar://problem/8008992>
2190 Reviewed by Ada Chan
2192 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2193 (WebCore::QTCFDictionaryCreateWithDataCallback): Use a RetainPtr to
2194 hold the CFData we allocate so it will get released when this function
2195 is exited. Also pass kCFAllocatorNull as the bytes deallocator to
2196 CFDataCreateWithBytesNoCopy so that CF doesn't try to deallocate the
2197 bytes we pass to it.
2199 2010-05-20 Jian Li <jianli@chromium.org>
2201 Reviewed by David Levin.
2203 Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h.
2204 https://bugs.webkit.org/show_bug.cgi?id=39437
2206 * dom/CrossThreadTask.h:
2208 (WebCore::CrossThreadTask1::create):
2209 (WebCore::CrossThreadTask1::CrossThreadTask1):
2210 (WebCore::CrossThreadTask2::create):
2211 (WebCore::CrossThreadTask2::CrossThreadTask2):
2212 (WebCore::CrossThreadTask3::create):
2213 (WebCore::CrossThreadTask3::CrossThreadTask3):
2214 (WebCore::CrossThreadTask4::create):
2215 (WebCore::CrossThreadTask4::CrossThreadTask4):
2216 (WebCore::CrossThreadTask5::create):
2217 (WebCore::CrossThreadTask5::CrossThreadTask5):
2218 (WebCore::CrossThreadTask6::create):
2219 (WebCore::CrossThreadTask6::CrossThreadTask6):
2220 (WebCore::CrossThreadTask7::create):
2221 (WebCore::CrossThreadTask7::CrossThreadTask7):
2222 (WebCore::CrossThreadTask8::create):
2223 (WebCore::CrossThreadTask8::CrossThreadTask8):
2224 (WebCore::createCallbackTask):
2226 2010-05-20 Jian Li <jianli@chromium.org>
2228 Reviewed by David Levin.
2230 Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory.
2231 https://bugs.webkit.org/show_bug.cgi?id=39135
2235 * WebCore.vcproj/WebCore.vcproj:
2236 * WebCore.xcodeproj/project.pbxproj:
2237 * dom/CrossThreadTask.h: Renamed from WebCore/workers/GenericWorkerTask.h.
2238 * html/FileStreamProxy.cpp:
2239 * loader/WorkerThreadableLoader.cpp:
2240 * websockets/WorkerThreadableWebSocketChannel.cpp:
2241 * workers/DefaultSharedWorkerRepository.cpp:
2242 * workers/WorkerMessagingProxy.cpp:
2243 * workers/WorkerScriptLoader.cpp:
2245 2010-05-20 Adele Peterson <adele@apple.com>
2247 Reviewed by Mark Rowe.
2249 Remove the Safari welcome page site-specific quirk, since its no longer needed.
2251 * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules):
2253 2010-05-20 Steve Block <steveblock@google.com>
2255 Reviewed by Jeremy Orlow.
2257 Provide bindings for DeviceOrientation
2258 https://bugs.webkit.org/show_bug.cgi?id=39210
2260 Tests: fast/dom/DeviceOrientation/window-property.html
2261 fast/dom/Window/window-properties-on-device-orientation.html
2263 Adds bindings for DeviceOrientation as defined in
2264 http://dev.w3.org/geo/api/spec-source-orientation.html
2265 This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on
2266 all platforms but Android.
2268 * Android.derived.jscbindings.mk:
2269 * Android.derived.v8bindings.mk:
2271 * Configurations/FeatureDefines.xcconfig:
2272 * DerivedSources.cpp:
2273 * DerivedSources.make:
2278 * WebCore.xcodeproj/project.pbxproj:
2279 * bindings/js/JSEventCustom.cpp:
2281 * bindings/v8/custom/V8EventCustom.cpp:
2283 * dom/DeviceOrientationEvent.cpp: Added.
2284 (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
2285 (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
2286 * dom/DeviceOrientationEvent.h: Added.
2287 (WebCore::DeviceOrientationEvent::create):
2288 (WebCore::DeviceOrientationEvent::alpha):
2289 (WebCore::DeviceOrientationEvent::beta):
2290 (WebCore::DeviceOrientationEvent::gamma):
2291 (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent):
2292 * dom/DeviceOrientationEvent.idl: Added.
2294 (WebCore::Event::isDeviceOrientationEvent):
2298 * page/DOMWindow.idl:
2300 2010-05-20 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
2302 Rubberstamped by Antti Koivisto.
2304 Use 0.15 as text drag delay when Q_WS_MAC is defined, which is
2305 consistent with the Mac OS X platform.
2307 * page/qt/EventHandlerQt.cpp:
2309 2010-05-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
2311 Reviewed by Simon Hausmann.
2313 Fix painting when using clipToImageBuffer()
2315 When we apply the transform of the parent painter to the painter of
2316 the transparency layer, we adopt its coordinate system, thus offset
2317 should not be in page coordinates, but in the coordinate system of
2320 * platform/graphics/qt/GraphicsContextQt.cpp:
2321 (WebCore::TransparencyLayer::TransparencyLayer):
2323 2010-05-20 Adam Langley <agl@chromium.org>
2325 Reviewed by David Levin.
2327 [chromium] Avoid crash when msttcorefonts aren't provided
2329 https://bugs.webkit.org/show_bug.cgi?id=39015
2330 http://code.google.com/p/chromium/issues/detail?id=43831
2332 * platform/graphics/chromium/FontCacheLinux.cpp:
2333 (WebCore::FontCache::createFontPlatformData):
2335 2010-05-20 Zoltan Herczeg <zherczeg@webkit.org>
2337 Reviewed by Dirk Schulze.
2339 Fix a crash caused by feLigthing::apply()
2340 https://bugs.webkit.org/show_bug.cgi?id=39004
2342 Make FELighting::apply() similar to other filters' applies
2343 to avoid an assertion fail in putUnmultipliedImageData(),
2344 when effectDrawingRect has negative location (x or y is less than 0).
2346 Test: svg/filters/feLighting-crash.svg
2348 * svg/graphics/filters/SVGFELighting.cpp:
2349 (WebCore::FELighting::apply):
2351 2010-05-20 Chris Jerdonek <cjerdonek@webkit.org>
2353 Reviewed by Eric Seidel.
2355 Modified FrameLoader::urlSelected() to accept a KURL instead of a
2358 https://bugs.webkit.org/show_bug.cgi?id=39320
2360 Since ResourceRequest has non-explicit single-parameter constructors for
2361 String and KURL, urlSelected() previously accepted any of String, KURL,
2362 and ResourceRequest. This revision changes urlSelected() to accept only
2363 a KURL to make the API tighter and easier to refactor.
2365 No new functionality, so no new tests.
2367 * loader/FrameLoader.cpp:
2368 (WebCore::FrameLoader::urlSelected):
2369 - Changed the public overload to accept a KURL instead of a ResourceRequest.
2370 * loader/FrameLoader.h:
2371 - Changed the public overload to accept a KURL instead of a ResourceRequest.
2372 * wml/WMLAElement.cpp:
2373 (WebCore::WMLAElement::defaultEventHandler):
2374 - Updated the call to urlSelected().
2376 2010-05-20 MORITA Hajime <morrita@google.com>
2378 Reviewed by Kent Tamura.
2380 2x execCommand ReadAV@NULL
2381 https://bugs.webkit.org/show_bug.cgi?id=35791
2383 In applyBlockStyle(), a node which is referred from
2384 nextParagraphStart sometimes removed from the document and goes
2385 orphan, and that causes an assertion failed. This is because
2386 moveParagraphs() replaces the node with a new one with some new
2387 styles applied. So we re-compute nextParagraphStart in that case.
2389 Test: editing/execCommand/35791.html
2392 (WebCore::Position::isOrphan):
2393 * editing/ApplyStyleCommand.cpp:
2394 (WebCore::ApplyStyleCommand::applyBlockStyle):
2395 * editing/VisiblePosition.h:
2396 (WebCore::VisiblePosition::isOrphan):
2398 2010-05-20 Steve Block <steveblock@google.com>
2400 Reviewed by Eric Seidel.
2402 PluginView contains JSC-specific code
2403 https://bugs.webkit.org/show_bug.cgi?id=38907
2405 Build fix only, no new tests.
2407 * plugins/PluginView.cpp:
2408 (WebCore::PluginView::start):
2409 (WebCore::PluginView::stop):
2410 (WebCore::PluginView::performRequest):
2411 * plugins/PluginView.h:
2413 2010-05-17 Philippe Normand <pnormand@igalia.com>
2415 Reviewed by Eric Seidel.
2417 [GStreamer] enable gst support if USE_GSTREAMER macro is defined
2418 https://bugs.webkit.org/show_bug.cgi?id=39205
2420 Include gstreamer private player in the build when the
2421 USE_GSTREAMER macro is enabled.
2423 * platform/graphics/MediaPlayer.cpp:
2424 (WebCore::installedMediaEngines):
2426 2010-05-19 Vangelis Kokkevis <vangelis@chromium.org>
2428 Reviewed by Darin Fisher.
2430 Implementing hardware accelerated compositing of layers for Chromium.
2431 Completely removed the existing software compositing path to replace
2432 it with code implemented using OpenGL.
2433 https://bugs.webkit.org/show_bug.cgi?id=38783
2435 Tests: Covered by existing compositing tests.
2437 * WebCore.gyp/WebCore.gyp:
2438 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2439 (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2440 (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
2441 (WebCore::GraphicsLayerChromium::updateContentsRect):
2442 * platform/graphics/chromium/LayerChromium.cpp:
2443 (WebCore::LayerChromium::LayerChromium):
2444 (WebCore::LayerChromium::~LayerChromium):
2445 (WebCore::LayerChromium::updateGraphicsContext):
2446 (WebCore::LayerChromium::drawsContentUpdated):
2447 (WebCore::LayerChromium::updateContents):
2448 (WebCore::LayerChromium::setContents):
2449 (WebCore::LayerChromium::setBackingStoreSize):
2450 (WebCore::LayerChromium::setBounds):
2451 (WebCore::LayerChromium::setNeedsDisplay):
2452 * platform/graphics/chromium/LayerChromium.h:
2453 (WebCore::LayerChromium::contentsDirty):
2454 (WebCore::LayerChromium::drawsContent):
2455 * platform/graphics/chromium/LayerRendererChromium.cpp:
2457 (WebCore::checkGLError):
2458 (WebCore::loadShader):
2459 (WebCore::loadShaderProgram):
2460 (WebCore::toGLMatrix):
2461 (WebCore::orthoMatrix):
2462 (WebCore::createLayerTexture):
2463 (WebCore::LayerRendererChromium::create):
2464 (WebCore::LayerRendererChromium::LayerRendererChromium):
2465 (WebCore::LayerRendererChromium::~LayerRendererChromium):
2466 (WebCore::LayerRendererChromium::drawTexturedQuad):
2467 (WebCore::LayerRendererChromium::drawLayers):
2468 (WebCore::LayerRendererChromium::getTextureId):
2469 (WebCore::LayerRendererChromium::assignTextureForLayer):
2470 (WebCore::LayerRendererChromium::freeLayerTexture):
2471 (WebCore::LayerRendererChromium::drawDebugBorder):
2472 (WebCore::LayerRendererChromium::isLayerVisible):
2473 (WebCore::LayerRendererChromium::compositeLayersRecursive):
2474 (WebCore::LayerRendererChromium::makeContextCurrent):
2475 (WebCore::LayerRendererChromium::initGL):
2476 (WebCore::LayerRendererChromium::bindCommonAttribLocation):
2477 (WebCore::LayerRendererChromium::initializeSharedGLObjects):
2478 * platform/graphics/chromium/LayerRendererChromium.h:
2479 (WebCore::LayerRendererChromium::):
2481 2010-05-19 Andrey Kosyakov <caseq@chromium.org>
2483 Reviewed by Timothy Hatcher.
2485 Maintain focus on help screen while it's active.
2486 https://bugs.webkit.org/show_bug.cgi?id=39237
2488 * inspector/front-end/HelpScreen.js:
2489 (WebInspector.HelpScreen):
2490 (WebInspector.HelpScreen.prototype.show):
2491 (WebInspector.HelpScreen.prototype._hide):
2492 (WebInspector.HelpScreen.prototype._onBlur):
2494 2010-05-19 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
2496 Reviewed by Kenneth Rohde Christiansen.
2498 Crash fix in the HistoryController.
2500 The problem was casued by a documented feature of the QWebFrame::setHtml().
2501 The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
2502 m_currentItem and m_previousItem are not set.
2504 A null check was added.
2506 [Qt] The QWebPage crashes on history.pushState().
2507 https://bugs.webkit.org/show_bug.cgi?id=38840
2509 * loader/HistoryController.cpp:
2510 (WebCore::HistoryController::pushState):
2511 (WebCore::HistoryController::replaceState):
2513 2010-05-19 Darin Fisher <darin@chromium.org>
2515 Revert r59790 due to failing Chromium npruntime tests.
2517 * bindings/v8/NPV8Object.cpp:
2518 (v8ObjectToNPObject):
2519 (npCreateV8ScriptObject):
2521 (_NPN_InvokeDefault):
2523 (_NPN_EvaluateHelper):
2526 (_NPN_RemoveProperty):
2529 (_NPN_SetException):
2532 * bindings/v8/NPV8Object.h:
2533 * bindings/v8/V8NPObject.cpp:
2534 (forgetV8ObjectForNPObject):
2535 * bindings/v8/V8NPObject.h:
2536 * bindings/v8/V8NPUtils.cpp:
2537 (convertV8ObjectToNPVariant):
2538 (getStringIdentifier):
2539 * bindings/v8/V8NPUtils.h:
2540 * bindings/v8/npruntime.cpp:
2542 2010-05-19 Gavin Barraclough <barraclough@apple.com>
2544 Rubber Stamped by Sam Weinig.
2546 JSFunctions are no longer a subclass of InternalFunction.
2548 * bindings/js/ScriptCallStack.cpp:
2549 (WebCore::ScriptCallStack::ScriptCallStack):
2550 (WebCore::ScriptCallStack::initialize):
2551 * bindings/js/ScriptCallStack.h:
2553 2010-05-19 Jian Li <jianli@chromium.org>
2555 Reviewed by Alexey Proskuryakov.
2557 Refactor text encoding detection logic in FileReader.
2558 https://bugs.webkit.org/show_bug.cgi?id=39131
2560 Changed FileReader::convertToText to call TextResourceDecoder::decode to
2561 detect the encoding from BOM and decode the text. Though the File API
2562 spec says that the supplied encoding should be used if it is valid, we
2563 choose to ignore this requirement in order to be consistent with how
2564 WebKit decodes the web content: always has the BOM override the provided
2567 * html/FileReader.cpp:
2568 (WebCore::FileReader::convertToText):
2569 * html/FileReader.h:
2571 2010-05-19 Abhishek Arya <inferno@chromium.org>
2573 Reviewed by David Hyatt.
2575 Check that the node is a text node before doing a static cast
2576 to a Text class pointer.
2577 https://bugs.webkit.org/show_bug.cgi?id=38626
2579 Test: fast/text/text-transform-nontext-node-crash.xhtml
2581 * rendering/RenderText.cpp:
2582 (WebCore::RenderText::originalText):
2583 * rendering/RenderTextFragment.cpp:
2584 (WebCore::RenderTextFragment::originalText):
2585 (WebCore::RenderTextFragment::previousCharacter):
2587 2010-05-19 Yaar Schnitman <yaar@chromium.org>
2589 Reviewed by Eric Seidel.
2591 Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC.
2592 https://bugs.webkit.org/show_bug.cgi?id=39390
2594 * bindings/scripts/CodeGeneratorJS.pm:
2595 * bindings/scripts/test/JS/JSTestInterface.cpp:
2597 * bindings/scripts/test/JS/JSTestObj.cpp:
2600 2010-05-19 Darin Fisher <darin@chromium.org>
2602 Reviewed by Nate Chapin.
2604 [chromium] Provide a way to catch exceptions thrown while interacting
2605 with a NPObject via WebBindings methods.
2606 https://bugs.webkit.org/show_bug.cgi?id=39378
2608 This change also includes a small bit of cleanup in V8NPObject and
2609 friends. I moved code into the WebCore namespace where appropriate.
2611 In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
2612 context scope. I did this to avoid having nested ExceptionCatcher
2613 objects, which is not strictly necessary, but it seemed cleaner.
2614 _NPN_Evaluate already takes care of creating a context scope.
2616 * bindings/v8/NPV8Object.cpp:
2617 (WebCore::v8ObjectToNPObject):
2618 (WebCore::npCreateV8ScriptObject):
2620 (_NPN_InvokeDefault):
2622 (_NPN_EvaluateHelper):
2625 (_NPN_RemoveProperty):
2628 (_NPN_SetException):
2631 * bindings/v8/NPV8Object.h:
2632 * bindings/v8/V8NPObject.cpp:
2633 * bindings/v8/V8NPObject.h:
2634 * bindings/v8/V8NPUtils.cpp:
2635 (WebCore::convertV8ObjectToNPVariant):
2636 (WebCore::pushExceptionHandler):
2637 (WebCore::popExceptionHandler):
2638 (WebCore::ExceptionCatcher::~ExceptionCatcher):
2639 * bindings/v8/V8NPUtils.h:
2640 * bindings/v8/npruntime.cpp:
2642 2010-05-19 Yaar Schnitman <yaar@chromium.org>
2644 Unreviewed, rolling out r59769.
2645 http://trac.webkit.org/changeset/59769
2646 https://bugs.webkit.org/show_bug.cgi?id=37815
2650 * Android.jscbindings.mk:
2655 * WebCore.vcproj/WebCore.vcproj:
2656 * WebCore.xcodeproj/project.pbxproj:
2657 * bindings/js/JSBindingsAllInOne.cpp:
2658 * bindings/js/JSCallbackData.cpp:
2659 (WebCore::JSCallbackData::invokeCallback):
2660 * bindings/js/JSEventListener.cpp:
2661 (WebCore::JSEventListener::handleEvent):
2662 * bindings/js/JSInjectedScriptHostCustom.cpp:
2663 (WebCore::InjectedScriptHost::createInjectedScript):
2664 * bindings/js/JSMainThreadExecState.cpp: Removed.
2665 * bindings/js/JSMainThreadExecState.h: Removed.
2666 * bindings/js/ScheduledAction.cpp:
2667 (WebCore::ScheduledAction::executeFunctionInContext):
2668 (WebCore::ScheduledAction::execute):
2669 * bindings/js/ScheduledAction.h:
2670 * bindings/js/ScriptController.cpp:
2671 (WebCore::ScriptController::evaluateInWorld):
2672 * bindings/js/ScriptController.h:
2673 * bindings/js/ScriptFunctionCall.cpp:
2674 (WebCore::ScriptFunctionCall::call):
2675 * bindings/objc/ObjCEventListener.mm:
2676 * bindings/objc/WebScriptObject.mm:
2677 (-[WebScriptObject callWebScriptMethod:withArguments:]):
2678 (-[WebScriptObject evaluateWebScript:]):
2679 * bindings/scripts/CodeGeneratorObjC.pm:
2680 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2681 (-[DOMTestCallback callbackWithClass1Param:]):
2682 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
2683 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2684 (-[DOMTestCallback customCallback:class6Param:]):
2685 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2686 * bindings/scripts/test/ObjC/DOMTestObj.mm:
2687 (-[DOMTestObj readOnlyIntAttr]):
2688 (-[DOMTestObj readOnlyStringAttr]):
2689 (-[DOMTestObj readOnlyTestObjAttr]):
2690 (-[DOMTestObj intAttr]):
2691 (-[DOMTestObj setIntAttr:]):
2692 (-[DOMTestObj longLongAttr]):
2693 (-[DOMTestObj setLongLongAttr:]):
2694 (-[DOMTestObj unsignedLongLongAttr]):
2695 (-[DOMTestObj setUnsignedLongLongAttr:]):
2696 (-[DOMTestObj stringAttr]):
2697 (-[DOMTestObj setStringAttr:]):
2698 (-[DOMTestObj testObjAttr]):
2699 (-[DOMTestObj setTestObjAttr:]):
2700 (-[DOMTestObj attrWithException]):
2701 (-[DOMTestObj setAttrWithException:]):
2702 (-[DOMTestObj attrWithSetterException]):
2703 (-[DOMTestObj setAttrWithSetterException:]):
2704 (-[DOMTestObj attrWithGetterException]):
2705 (-[DOMTestObj setAttrWithGetterException:]):
2706 (-[DOMTestObj customAttr]):
2707 (-[DOMTestObj setCustomAttr:]):
2708 (-[DOMTestObj scriptStringAttr]):
2709 (-[DOMTestObj voidMethod]):
2710 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
2711 (-[DOMTestObj intMethod]):
2712 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
2713 (-[DOMTestObj objMethod]):
2714 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
2715 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
2716 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
2717 (-[DOMTestObj serializedValue:]):
2718 (-[DOMTestObj methodWithException]):
2719 (-[DOMTestObj customMethod]):
2720 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
2721 (-[DOMTestObj customArgsAndException:]):
2722 (-[DOMTestObj addEventListener:listener:useCapture:]):
2723 (-[DOMTestObj removeEventListener:listener:useCapture:]):
2724 (-[DOMTestObj withDynamicFrame]):
2725 (-[DOMTestObj withDynamicFrameAndArg:]):
2726 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
2727 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
2728 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
2729 (-[DOMTestObj withScriptStateVoid]):
2730 (-[DOMTestObj withScriptStateObj]):
2731 (-[DOMTestObj withScriptStateVoidException]):
2732 (-[DOMTestObj withScriptStateObjException]):
2733 (-[DOMTestObj methodWithOptionalArg:]):
2734 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
2735 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
2736 * bindings/v8/ScriptController.cpp:
2737 * bindings/v8/ScriptController.h:
2738 * html/HTMLFrameElementBase.cpp:
2739 (WebCore::HTMLFrameElementBase::isURLAllowed):
2741 2010-05-19 Dirk Pranke <dpranke@chromium.org>
2743 Try again to roll out r58675.
2745 * notifications/Notification.h:
2746 * notifications/Notification.idl:
2748 2010-05-19 Enrica Casucci <enrica@apple.com>
2750 Reviewed by Dave Hyatt.
2752 REGRESSION (r59385) crash destroying inline renderers
2753 https://bugs.webkit.org/show_bug.cgi?id=39143
2754 <rdar://problem/8003662>
2756 The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result
2757 as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when
2758 the block had no children (as it is upon creation).
2759 I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed,
2760 without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy()
2761 tries to remove the continuations we are effectively deleting a renderer that had been deleted already.
2763 Test: fast/inline-block/anonymous-block-crash.html
2765 * rendering/RenderBlock.cpp:
2766 (WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in
2767 a double deletion of the renderer that causes the crash.
2769 2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>
2771 Unreviewed, rolling out r59782.
2772 http://trac.webkit.org/changeset/59782
2773 https://bugs.webkit.org/show_bug.cgi?id=39379
2775 broke DRT build (Requested by dpranke on #webkit).
2777 * notifications/Notification.h:
2778 (WebCore::Notification::dir):
2779 (WebCore::Notification::setDir):
2780 (WebCore::Notification::replaceId):
2781 (WebCore::Notification::setReplaceId):
2782 * notifications/Notification.idl:
2784 2010-05-18 David Hyatt <hyatt@apple.com>
2786 Reviewed by Oliver Hunt.
2788 https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts.
2790 Make layers split painting across columns just as normal flow content does. This is actually very
2791 challenging, since intermediate multicol layers can exist between a child that has to be split and
2792 its enclosing stacking context.
2794 In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get
2795 split and thus split any descendant layers that they are also responsible for painting. For a paginated
2796 root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child
2797 and the enclosing stacking context.
2799 We then recur from the outside in, applying clipping and translation as we break up the layer into strips.
2801 Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right
2804 Painting and hit testing of columns has been simplified in all of the functions to use the x position of
2805 the column rect instead of trying to increment an x offset by adding in widths and column gaps. This
2806 makes those functions directionality-independent (and the LTR/RTL code paths are now the same).
2808 Fix repainting of columns as well to make sure rects are split across columns only after relative position
2809 and transforms have been applied.
2811 Added fast/multicol/layers-split-across-columns.html
2813 * rendering/RenderBlock.cpp:
2814 (WebCore::RenderBlock::paintColumnContents):
2815 (WebCore::RenderBlock::adjustRectForColumns):
2816 (WebCore::RenderBlock::adjustForColumns):
2817 * rendering/RenderBlock.h:
2818 * rendering/RenderBox.cpp:
2819 (WebCore::RenderBox::computeRectForRepaint):
2820 * rendering/RenderLayer.cpp:
2821 (WebCore::RenderLayer::RenderLayer):
2822 (WebCore::RenderLayer::updateLayerPositions):
2823 (WebCore::RenderLayer::updatePagination):
2824 (WebCore::RenderLayer::updateLayerPosition):
2825 (WebCore::RenderLayer::paintLayer):
2826 (WebCore::RenderLayer::paintList):
2827 (WebCore::RenderLayer::paintPaginatedChildLayer):
2828 (WebCore::RenderLayer::paintChildLayerIntoColumns):
2829 (WebCore::RenderLayer::hitTestLayer):
2830 (WebCore::RenderLayer::hitTestList):
2831 (WebCore::RenderLayer::hitTestPaginatedChildLayer):
2832 (WebCore::RenderLayer::hitTestChildLayerColumns):
2833 * rendering/RenderLayer.h:
2834 (WebCore::RenderLayer::):
2835 (WebCore::RenderLayer::isPaginated):
2837 2010-05-18 Dirk Pranke <dpranke@chromium.org>
2839 Reviewed by Dimitri Glazkov.
2841 Attempt to revert r58765 to see if it was causing a performance
2844 https://bugs.webkit.org/show_bug.cgi?id=39328
2846 * notifications/Notification.h:
2847 * notifications/Notification.idl:
2849 2010-05-19 Kevin Watters <kevinwatters@gmail.com>
2851 Reviewed by Kevin Ollivier.
2853 [wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling
2854 to handle more cases.
2855 https://bugs.webkit.org/show_bug.cgi?id=39365
2857 * platform/graphics/wx/FontCacheWx.cpp:
2858 (WebCore::FontCache::getFontDataForCharacters):
2859 (WebCore::FontCache::getSimilarFontPlatformData):
2860 (WebCore::FontCache::getLastResortFallbackFont):
2861 * platform/graphics/wx/FontPlatformDataWx.cpp:
2862 (WebCore::FontPlatformData::FontPlatformData):
2864 2010-05-19 Marcus Bulach <bulach@chromium.org>
2866 Reviewed by Eric Seidel.
2868 Fixes Windows Qt Release post r59772.
2869 https://bugs.webkit.org/show_bug.cgi?id=39369
2871 * platform/GeolocationService.cpp:
2873 2010-05-19 Eric Seidel <eric@webkit.org>
2875 Reviewed by Adam Barth.
2877 Add support for handling basic <script> tags in the HTML5 Parser
2878 https://bugs.webkit.org/show_bug.cgi?id=39350
2880 WebKit currently executes scripts from HTMLTokenizer in one giagantic
2881 hack. HTML 5 requires that we execute scripts from the tree-builders/parser.
2883 It will take me a while to re-factor enough of HTMLTokenizer to be able to
2884 move the script execution logic without breaking things. In the interest
2885 of allowing Adam to continue improving the HTML 5 lexer I've added this
2886 very basic (and very incomplete) <script> support to the HTML 5 parser code
2887 path so the he can run the HTML5 parser test suite.
2889 <script> support is tested by most of the layout tests.
2891 * dom/ScriptElement.cpp:
2892 (WebCore::useHTML5Parser):
2893 (WebCore::ScriptElement::finishParsingChildren):
2895 2010-05-19 Anders Carlsson <andersca@apple.com>
2897 Reviewed by Sam Weinig.
2899 Move member variables from NamedMappedAttrMap to its base class NamedNodeMap
2900 https://bugs.webkit.org/show_bug.cgi?id=39367
2901 <rdar://problem/8003304>
2903 This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to
2904 fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit).
2906 The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same.
2909 (WebCore::Element::createAttributeMap):
2911 * dom/NamedMappedAttrMap.cpp:
2912 * dom/NamedMappedAttrMap.h:
2913 (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
2914 * dom/NamedNodeMap.cpp:
2915 (WebCore::NamedNodeMap::clearAttributes):
2916 * dom/NamedNodeMap.h:
2917 (WebCore::NamedNodeMap::NamedNodeMap):
2919 (WebCore::Node::dumpStatistics):
2920 * dom/StyledElement.cpp:
2921 * dom/StyledElement.h:
2923 2010-05-19 Sam Weinig <sam@webkit.org>
2925 Reviewed by Anders Carlsson.
2927 Use ASSERT_UNUSED instead of UNUSED_PARAM.
2929 * dom/Attribute.cpp:
2930 (WebCore::Attribute::unbindAttr):
2932 2010-05-19 Sam Weinig <sam@webkit.org>
2934 Rubber-stamped by Anders Carlsson.
2936 Complete the merge of MappedAttribute and Attribute.
2938 Files elided for brevity.
2940 2010-05-19 Marcus Bulach <bulach@chromium.org>
2942 Reviewed by Steve Block.
2944 [chromium] Adds supports for layout tests using GeolocationServiceMock.
2945 https://bugs.webkit.org/show_bug.cgi?id=39081
2947 Allows injection of GeolocationServiceMock factory.
2949 Tests: existing fast/dom/Geolocation/*
2951 * platform/GeolocationService.cpp:
2952 (WebCore::GeolocationService::useMock):
2953 (WebCore::GeolocationService::useMockFactory):
2954 * platform/GeolocationService.h:
2955 * platform/chromium/GeolocationServiceChromium.cpp:
2956 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
2958 2010-05-19 Justin Schuh <jschuh@chromium.org>
2960 Reviewed by Adam Barth.
2962 Moving frame.src checks out of the bindings
2963 https://bugs.webkit.org/show_bug.cgi?id=37815
2965 Moved JavaScript frame.src checks out of bindings and into
2966 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
2967 so ExecState is available inside core DOM. Updated affected bindings
2968 (except for GObject, which will need to be updated to avoid origin
2969 failures inside native code).
2971 * Android.jscbindings.mk:
2976 * WebCore.vcproj/WebCore.vcproj:
2977 * WebCore.xcodeproj/project.pbxproj:
2978 * bindings/js/JSBindingsAllInOne.cpp:
2979 * bindings/js/JSCallbackData.cpp:
2980 (WebCore::JSCallbackData::invokeCallback):
2981 * bindings/js/JSEventListener.cpp:
2982 (WebCore::JSEventListener::handleEvent):
2983 * bindings/js/JSInjectedScriptHostCustom.cpp:
2984 (WebCore::InjectedScriptHost::createInjectedScript):
2985 * bindings/js/JSMainThreadExecState.cpp: Added.
2986 * bindings/js/JSMainThreadExecState.h: Added.
2987 (WebCore::JSMainThreadExecState::currentState):
2988 (WebCore::JSMainThreadExecState::call):
2989 (WebCore::JSMainThreadExecState::evaluate):
2990 (WebCore::JSMainThreadExecState::JSMainThreadExecState):
2991 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
2992 (WebCore::JSMainThreadNullState::JSMainThreadNullState):
2993 * bindings/js/ScheduledAction.cpp:
2994 (WebCore::ScheduledAction::executeFunctionInContext):
2995 (WebCore::ScheduledAction::execute):
2996 * bindings/js/ScheduledAction.h:
2997 * bindings/js/ScriptController.cpp:
2998 (WebCore::ScriptController::evaluateInWorld):
2999 (WebCore::ScriptController::canAccessFromCurrentOrigin):
3000 * bindings/js/ScriptController.h:
3001 * bindings/js/ScriptFunctionCall.cpp:
3002 (WebCore::ScriptFunctionCall::call):
3003 * bindings/objc/ObjCEventListener.mm:
3004 * bindings/objc/WebScriptObject.mm:
3005 (-[WebScriptObject callWebScriptMethod:withArguments:]):
3006 (-[WebScriptObject evaluateWebScript:]):
3007 * bindings/scripts/CodeGeneratorObjC.pm:
3008 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3009 (-[DOMTestCallback callbackWithClass1Param:]):
3010 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
3011 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
3012 (-[DOMTestCallback customCallback:class6Param:]):
3013 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3014 * bindings/scripts/test/ObjC/DOMTestObj.mm:
3015 (-[DOMTestObj readOnlyIntAttr]):
3016 (-[DOMTestObj readOnlyStringAttr]):
3017 (-[DOMTestObj readOnlyTestObjAttr]):
3018 (-[DOMTestObj intAttr]):
3019 (-[DOMTestObj setIntAttr:]):
3020 (-[DOMTestObj longLongAttr]):
3021 (-[DOMTestObj setLongLongAttr:]):
3022 (-[DOMTestObj unsignedLongLongAttr]):
3023 (-[DOMTestObj setUnsignedLongLongAttr:]):
3024 (-[DOMTestObj stringAttr]):
3025 (-[DOMTestObj setStringAttr:]):
3026 (-[DOMTestObj testObjAttr]):
3027 (-[DOMTestObj setTestObjAttr:]):
3028 (-[DOMTestObj attrWithException]):
3029 (-[DOMTestObj setAttrWithException:]):
3030 (-[DOMTestObj attrWithSetterException]):
3031 (-[DOMTestObj setAttrWithSetterException:]):
3032 (-[DOMTestObj attrWithGetterException]):
3033 (-[DOMTestObj setAttrWithGetterException:]):
3034 (-[DOMTestObj customAttr]):
3035 (-[DOMTestObj setCustomAttr:]):
3036 (-[DOMTestObj scriptStringAttr]):
3037 (-[DOMTestObj voidMethod]):
3038 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
3039 (-[DOMTestObj intMethod]):
3040 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
3041 (-[DOMTestObj objMethod]):
3042 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
3043 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
3044 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
3045 (-[DOMTestObj serializedValue:]):
3046 (-[DOMTestObj methodWithException]):
3047 (-[DOMTestObj customMethod]):
3048 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
3049 (-[DOMTestObj customArgsAndException:]):
3050 (-[DOMTestObj addEventListener:listener:useCapture:]):
3051 (-[DOMTestObj removeEventListener:listener:useCapture:]):
3052 (-[DOMTestObj withDynamicFrame]):
3053 (-[DOMTestObj withDynamicFrameAndArg:]):
3054 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
3055 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
3056 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
3057 (-[DOMTestObj withScriptStateVoid]):
3058 (-[DOMTestObj withScriptStateObj]):
3059 (-[DOMTestObj withScriptStateVoidException]):
3060 (-[DOMTestObj withScriptStateObjException]):
3061 (-[DOMTestObj methodWithOptionalArg:]):
3062 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
3063 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
3064 * bindings/v8/ScriptController.cpp:
3065 (WebCore::ScriptController::canAccessFromCurrentOrigin):
3066 * bindings/v8/ScriptController.h:
3067 * html/HTMLFrameElementBase.cpp:
3068 (WebCore::HTMLFrameElementBase::isURLAllowed):
3070 2010-05-19 Andreas Kling <andreas.kling@nokia.com>
3072 Reviewed by Darin Adler.
3074 CanvasRenderingContext2D's property getters that return colors should
3075 serialize them in accordance with the HTML5 spec (4.8.11.1.4)
3076 Setters should ignore invalid colors.
3078 Also, shadowColor should initially be transparent black (4.8.11.1.6)
3080 https://bugs.webkit.org/show_bug.cgi?id=38845
3082 Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string.
3085 http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color
3086 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor
3088 * html/canvas/CanvasRenderingContext2D.cpp:
3089 (WebCore::CanvasRenderingContext2D::State::State):
3090 (WebCore::CanvasRenderingContext2D::shadowColor):
3091 (WebCore::CanvasRenderingContext2D::setShadowColor):
3092 (WebCore::CanvasRenderingContext2D::setShadow):
3093 (WebCore::CanvasRenderingContext2D::clearShadow):
3094 (WebCore::CanvasRenderingContext2D::applyShadow):
3095 * html/canvas/CanvasRenderingContext2D.h:
3096 * html/canvas/CanvasStyle.cpp:
3097 (WebCore::CanvasStyle::CanvasStyle):
3098 (WebCore::CanvasStyle::create):
3099 (WebCore::CanvasStyle::applyStrokeColor):
3100 (WebCore::CanvasStyle::applyFillColor):
3101 * html/canvas/CanvasStyle.h:
3102 (WebCore::CanvasStyle::create):
3103 (WebCore::CanvasStyle::color):
3104 (WebCore::CanvasStyle::):
3105 (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
3106 * platform/graphics/Color.cpp:
3107 (WebCore::Color::serialized):
3108 * platform/graphics/Color.h:
3110 2010-05-19 Andreas Kling <andreas.kling@nokia.com>
3112 Reviewed by Simon Hausmann.
3114 [Qt] REGRESSION: CoolClock isn't rendered properly
3116 https://bugs.webkit.org/show_bug.cgi?id=38526
3118 CanvasRenderingContext2D's arc() should connect to the previous point
3119 with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty
3120 to begin with, we don't want a line back to (0,0)
3121 This also fixes the rendering artifact discussed in bug 36226.
3124 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
3126 Test: fast/canvas/canvas-arc-connecting-line.html
3128 * platform/graphics/qt/PathQt.cpp:
3129 (WebCore::Path::addArc):
3131 2010-05-19 Alexander Pavlov <apavlov@chromium.org>
3133 Reviewed by Jeremy Orlow.
3135 Fix whitespace for the bug 38906
3136 https://bugs.webkit.org/show_bug.cgi?id=39351
3138 No new tests required (no code change).
3140 * css/CSSParser.cpp:
3141 (WebCore::CSSParser::~CSSParser):
3142 (WebCore::CSSParser::setupParser):
3143 (WebCore::CSSParser::parseSheet):
3144 (WebCore::CSSParser::parseValue):
3145 (WebCore::CSSParser::parseSelector):
3146 (WebCore::unitFromString):
3147 (WebCore::CSSParser::checkForOrphanedUnits):
3148 (WebCore::CSSParser::parseWCSSInputProperty):
3149 (WebCore::CSSParser::parseFillShorthand):
3150 (WebCore::CSSParser::parseAnimationShorthand):
3151 (WebCore::CSSParser::parseTransitionShorthand):
3152 (WebCore::CSSParser::parseShorthand):
3153 (WebCore::CSSParser::parse4Values):
3154 (WebCore::CSSParser::parseAttr):
3155 (WebCore::CSSParser::parseFillPositionXY):
3156 (WebCore::CSSParser::parseFillPosition):
3157 (WebCore::CSSParser::parseFillRepeat):
3158 (WebCore::CSSParser::parseFillProperty):
3159 (WebCore::CSSParser::parseAnimationTimingFunction):
3160 (WebCore::CSSParser::parseAnimationProperty):
3161 (WebCore::CSSParser::parseDashboardRegions):
3162 (WebCore::CSSParser::parseCounterContent):
3163 (WebCore::CSSParser::parseShape):
3164 (WebCore::CSSParser::parseFont):
3165 (WebCore::CSSParser::parseFontFamily):
3166 (WebCore::CSSParser::parseFontFaceSrc):
3167 (WebCore::parseInt):
3168 (WebCore::CSSParser::parseColor):
3169 (WebCore::CSSParser::parseShadow):
3170 (WebCore::CSSParser::parseReflect):
3171 (WebCore::BorderImageParseContext::commitNumber):
3172 (WebCore::BorderImageParseContext::commitBorderImage):
3173 (WebCore::CSSParser::parseBorderImage):
3174 (WebCore::CSSParser::parseCounter):
3175 (WebCore::parseGradientPoint):
3176 (WebCore::parseGradientColorStop):
3177 (WebCore::CSSParser::parseGradient):
3178 (WebCore::CSSParser::parseCanvas):
3179 (WebCore::CSSParser::parseTransform):
3180 (WebCore::CSSParser::parseTransformOrigin):
3181 (WebCore::CSSParser::parsePerspectiveOrigin):
3182 (WebCore::CSSParser::text):
3183 (WebCore::CSSParser::createRuleList):
3184 (WebCore::CSSParser::createVariablesRule):
3185 (WebCore::CSSParser::parseVariable):
3186 (WebCore::CSSParser::parsePropertyWithResolvedVariables):
3187 (WebCore::CSSParser::checkForVariables):
3188 (WebCore::CSSParser::createKeyframeRule):
3190 * inspector/InspectorController.cpp:
3191 (WebCore::InspectorController::setFrontend):
3192 (WebCore::InspectorController::show):
3193 (WebCore::InspectorController::unbindAllResources):
3194 (WebCore::InspectorController::didCommitLoad):
3195 (WebCore::InspectorController::scriptImported):
3196 (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
3197 (WebCore::InspectorController::removeBreakpoint):
3198 (WebCore::drawOutlinedQuad):
3199 (WebCore::InspectorController::stopTiming):
3200 * inspector/InspectorDOMAgent.cpp:
3201 (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3202 (WebCore::InspectorDOMAgent::getStyles):
3203 (WebCore::InspectorDOMAgent::applyStyleText):
3205 2010-05-19 Steve Block <steveblock@google.com>
3207 Reviewed by Nate Chapin.
3209 V8 code generator does not add ENABLE guards around attribute getters and setters
3210 https://bugs.webkit.org/show_bug.cgi?id=39222
3212 No new tests, build fix only.
3214 * bindings/scripts/CodeGeneratorV8.pm:
3216 2010-05-19 Jeremy Orlow <jorlow@chromium.org>
3218 Unreviewed build fix for Chromium.
3220 * storage/IndexedDatabaseImpl.cpp:
3222 2010-05-17 Jeremy Orlow <jorlow@chromium.org>
3224 Reviewed by Darin Fisher.
3226 Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
3227 https://bugs.webkit.org/show_bug.cgi?id=39216
3229 All of these functions are supposed to be passing around the origin since
3230 the caller of IndexedDatabaseImpl might not be able to pass in a Frame*
3231 object. I tried to fix this in an ealier patch, but obviously messed up.
3233 Also change passing security origin strings to passing SecurityOrigin
3236 No behavior change because Chromium was emulating the old behavior before
3237 even though the code wasn't properly hooked up.
3239 * storage/IndexedDatabase.h:
3240 * storage/IndexedDatabaseImpl.cpp:
3241 (WebCore::IndexedDatabaseImpl::open):
3242 * storage/IndexedDatabaseImpl.h:
3243 * storage/IndexedDatabaseRequest.cpp:
3244 (WebCore::IndexedDatabaseRequest::open):
3246 2010-05-19 Ben Murdoch <benm@google.com>
3248 Reviewed by Darin Adler.
3250 Touch events are marked DontEnum in DOMWindow.idl
3251 https://bugs.webkit.org/show_bug.cgi?id=39118
3253 Touch events are the only attribute event listeners on the
3254 window object that are marked DontEnum. For consistency allow
3255 them to be enumerated.
3257 * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend,
3258 touchstart and touchmove attributes.
3260 2010-05-19 Simon Hausmann <simon.hausmann@nokia.com>
3262 [Qt] Fix build warning
3264 NamedAttrMap.h has been renamed to NamedNodeMap.h
3268 2010-05-19 Eric Seidel <eric@webkit.org>
3270 Reviewed by Adam Barth.
3272 Add an HTML parsing benchmark
3273 https://bugs.webkit.org/show_bug.cgi?id=39338
3275 This benchmark parses the HTML5 specification 10 times and
3276 reports how long it takes. It does this 21 times, discarding
3277 the first warm-up run, and then prints the average time and
3280 Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write().
3281 The numbers from the benchmark are rather consistent. On my
3282 Mac Book Pro, I consistently see standard deviations < 2% of total time.
3284 * benchmarks/parser/html-parser.html: Added.
3285 * benchmarks/parser/resources/html5.html: Added.
3287 2010-05-18 Yuzo Fujishima <yuzo@google.com>
3289 Reviewed by Shinichiro Hamaji.
3291 Make CSS Parser properly handle only-for-pages pseudo-classes.
3293 A new Match category, PagePseudoClass, is introduced to distinguish
3294 only-for-pages pseudo-classes from others. A new symbol, pseudo_page,
3295 is introduced to handle them separately.
3297 https://bugs.webkit.org/show_bug.cgi?id=38731
3300 * css/CSSParser.cpp:
3301 (WebCore::CSSParser::createMarginAtRule):
3303 * css/CSSSelector.cpp:
3304 (WebCore::CSSSelector::extractPseudoType):
3305 (WebCore::CSSSelector::selectorText):
3306 * css/CSSSelector.h:
3307 (WebCore::CSSSelector::):
3308 * css/CSSStyleSelector.cpp:
3309 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3311 2010-05-19 Adam Barth <abarth@webkit.org>
3313 Reviewed by David Hyatt.
3315 Change the API of nextToken to distinguish between emitting a token and just running out of input
3316 https://bugs.webkit.org/show_bug.cgi?id=39349
3318 I'm not sure there's a functional difference with this patch yet, but
3319 as discussed with Eric, we need this to handle attributes.
3321 * html/HTML5Lexer.cpp:
3322 (WebCore::HTML5Lexer::reset):
3323 (WebCore::HTML5Lexer::nextToken):
3324 * html/HTML5Lexer.h:
3325 * html/HTML5Token.h:
3326 (WebCore::HTML5Token::HTML5Token):
3327 (WebCore::HTML5Token::clear):
3328 (WebCore::HTML5Token::beginStartTag):
3329 (WebCore::HTML5Token::beginEndTag):
3330 (WebCore::HTML5Token::beginCharacter):
3331 * html/HTML5Tokenizer.cpp:
3332 (WebCore::HTML5Tokenizer::write):
3334 2010-05-18 Eric Seidel <eric@webkit.org>
3336 Reviewed by Maciej Stachowiak.
3338 Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits
3339 https://bugs.webkit.org/show_bug.cgi?id=39318
3341 No functional changes, only moving code into smaller functions.
3343 This code is already covered by numerous layout tests.
3345 HTML parsing benchmark shows this to be a wash.
3348 * html/HTMLTokenizer.cpp:
3349 (WebCore::HTMLTokenizer::advance):
3350 - New funtion to encapulate code which will move into HTMLLexer eventually.
3351 - Use ALWAYS_INLINE to make sure compilers inline this large
3352 function (otherwise this patch is a regression).
3353 (WebCore::HTMLTokenizer::willWriteHTML):
3354 - New function to handle calling any pre-write delegates.
3355 (WebCore::HTMLTokenizer::didWriteHTML):
3356 - New function to handle calling any post-write delegates.
3357 (WebCore::HTMLTokenizer::write):
3358 - Call the new functions.
3359 * html/HTMLTokenizer.h:
3361 2010-05-18 Adam Barth <abarth@webkit.org>
3363 Reviewed by Eric Seidel.
3365 Make the HTML5 parser correctly parse <div>Hello</div>
3366 https://bugs.webkit.org/show_bug.cgi?id=39345
3368 Again, this patch is covered by a large number of LayoutTests.
3370 * html/HTML5Lexer.cpp:
3371 (WebCore::HTML5Lexer::HTML5Lexer):
3372 (WebCore::HTML5Lexer::reset):
3373 (WebCore::HTML5Lexer::nextToken):
3374 (WebCore::HTML5Lexer::emitCommentToken):
3375 (WebCore::HTML5Lexer::emitCharacter):
3376 (WebCore::HTML5Lexer::emitCurrentTagToken):
3377 * html/HTML5Lexer.h:
3378 * html/HTML5Token.h:
3379 (WebCore::HTML5Token::beginCharacter):
3380 (WebCore::HTML5Token::appendToCharacter):
3381 (WebCore::HTML5Token::characters):
3382 * html/HTML5Tokenizer.cpp:
3383 (WebCore::convertToOldStyle):
3385 2010-05-18 Adam Barth <abarth@webkit.org>
3387 Reviewed by Eric Seidel.
3389 Make the HTML5 parser actually parse <div></div>
3390 https://bugs.webkit.org/show_bug.cgi?id=39342
3392 This patch is covered by every LayoutTest. Yes. All of them. :)
3394 * html/HTML5Lexer.cpp:
3395 (WebCore::toLowerCase):
3396 (WebCore::HTML5Lexer::HTML5Lexer):
3397 (WebCore::HTML5Lexer::nextToken):
3398 (WebCore::HTML5Lexer::emitCharacter):
3399 * html/HTML5Lexer.h:
3400 * html/HTML5Token.h:
3401 (WebCore::HTML5Token::HTML5Token):
3402 (WebCore::HTML5Token::beginStartTag):
3403 (WebCore::HTML5Token::beginEndTag):
3404 (WebCore::HTML5Token::appendToName):
3405 (WebCore::HTML5Token::type):
3406 (WebCore::HTML5Token::name):
3407 (WebCore::HTML5Token::selfClosing):
3408 (WebCore::HTML5Token::attrs):
3409 * html/HTML5Tokenizer.cpp:
3410 (WebCore::convertToOldStyle):
3411 (WebCore::HTML5Tokenizer::write):
3413 2010-05-18 Tony Chang <tony@chromium.org>
3415 Reviewed by Ojan Vafai.
3417 REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
3418 https://bugs.webkit.org/show_bug.cgi?id=38232
3420 Test: editing/execCommand/crash-indenting-list-item.html
3422 * editing/IndentOutdentCommand.cpp:
3423 (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
3424 (WebCore::IndentOutdentCommand::indentIntoBlockquote):
3426 2010-05-18 Kent Tamura <tkent@chromium.org>
3428 Reviewed by Darin Adler.
3430 ':optional' pseudo selector should not be applied to <keygen> and <progress>
3431 https://bugs.webkit.org/show_bug.cgi?id=39292
3433 Test: fast/css/pseudo-required-optional-unapplied.html
3435 * html/HTMLKeygenElement.h:
3436 (WebCore::HTMLKeygenElement::isOptionalFormControl):
3437 Add isOptionalFormControl() returning false.
3438 HTMLKeygenElement inherits HTMLSelectElement, which should return true
3439 for isOptionalFormControl(). However, <keygen> is not :optional
3440 according to the standard.
3441 * html/HTMLProgressElement.h:
3442 Remove isOptionalFormControl().
3444 2010-05-18 Adam Barth <abarth@webkit.org>
3446 Reviewed by Eric Seidel.
3448 Implement the DOCTYPE states for the HTML5 lexer
3449 https://bugs.webkit.org/show_bug.cgi?id=39335
3451 * html/HTML5Lexer.cpp:
3452 (WebCore::HTML5Lexer::nextToken):
3453 (WebCore::emitCurrentDoctypeToken):
3454 * html/HTML5Lexer.h:
3456 2010-05-18 Tony Chang <tony@chromium.org>
3458 Reviewed by Ojan Vafai.
3460 [chromium] ignore IME events if the keydown event was prevented
3461 https://bugs.webkit.org/show_bug.cgi?id=37692
3463 A manual test to verify the IME behavior since the existing methods of
3464 textInputController test at a lower level than the fix.
3466 * manual-tests/ime-keydown-preventdefault.html: Added.
3468 2010-05-18 Sam Weinig <sam@webkit.org>
3470 Fix the build for platforms that don't always include UnusedParam.h
3472 * dom/Attribute.cpp:
3474 2010-05-18 MORITA Hajime <morrita@google.com>
3476 Reviewed by Kent Tamura.
3478 [Chromium] Windows: Determinate progress bar should have glossy overlay
3479 https://bugs.webkit.org/show_bug.cgi?id=39269
3481 - Moved animation code from RenderThemeChromiumWin to chromium tree
3482 because it should be behind the theme implementation, which lives
3484 - Passed current time to the bridge, which will be used to compute
3485 the state of the theme animation.
3487 No new tests, animation effect can be confirmed only manually.
3489 * platform/chromium/ChromiumBridge.h:
3490 * rendering/RenderProgress.h:
3491 (WebCore::RenderProgress::animationStartTime): Added.
3492 * rendering/RenderThemeChromiumWin.cpp:
3493 (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
3494 (WebCore::RenderThemeChromiumWin::paintProgressBar):
3496 2010-05-18 Sam Weinig <sam@webkit.org>
3500 * dom/Attribute.cpp:
3501 (WebCore::Attribute::unbindAttr):
3503 2010-05-18 Sam Weinig <sam@webkit.org>
3505 Reviewed by Maciej Stachowiak.
3507 Move Attr pointer from Attribute to a global HashMap.
3508 https://bugs.webkit.org/show_bug.cgi?id=39337
3509 <rdar://problem/8001168>
3511 Shaves another word off of Attribute.
3514 (WebCore::Attr::Attr):
3515 (WebCore::Attr::~Attr):
3516 * dom/Attribute.cpp:
3517 (WebCore::attributeAttrMap):
3518 (WebCore::Attribute::attr):
3519 (WebCore::Attribute::createAttrIfNeeded):
3520 (WebCore::Attribute::bindAttr):
3521 (WebCore::Attribute::unbindAttr):
3523 (WebCore::Attribute::Attribute):
3525 2010-05-18 Jakob Petsovits <jpetsovits@rim.com>
3527 Unreviewed, forgot to svn add source file in r59619.
3528 http://trac.webkit.org/changeset/59619
3530 * platform/image-decoders/openvg: Added.
3531 * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
3532 (WebCore::RGBA32Buffer::asNewNativeImage):
3534 2010-05-18 Yaar Schnitman <yaar@chromium.org>
3536 Unreviewed, rolling out r59693.
3537 http://trac.webkit.org/changeset/59693
3538 https://bugs.webkit.org/show_bug.cgi?id=37815
3542 * Android.jscbindings.mk:
3547 * WebCore.vcproj/WebCore.vcproj:
3548 * WebCore.xcodeproj/project.pbxproj:
3549 * bindings/js/JSBindingsAllInOne.cpp:
3550 * bindings/js/JSCallbackData.cpp:
3551 (WebCore::JSCallbackData::invokeCallback):
3552 * bindings/js/JSEventListener.cpp:
3553 (WebCore::JSEventListener::handleEvent):
3554 * bindings/js/JSInjectedScriptHostCustom.cpp:
3555 (WebCore::InjectedScriptHost::createInjectedScript):
3556 * bindings/js/JSMainThreadExecState.cpp: Removed.
3557 * bindings/js/JSMainThreadExecState.h: Removed.
3558 * bindings/js/ScheduledAction.cpp:
3559 (WebCore::ScheduledAction::executeFunctionInContext):
3560 (WebCore::ScheduledAction::execute):
3561 * bindings/js/ScheduledAction.h:
3562 * bindings/js/ScriptController.cpp:
3563 (WebCore::ScriptController::evaluateInWorld):
3564 * bindings/js/ScriptController.h:
3565 * bindings/js/ScriptFunctionCall.cpp:
3566 (WebCore::ScriptFunctionCall::call):
3567 * bindings/objc/ObjCEventListener.mm:
3568 * bindings/objc/WebScriptObject.mm:
3569 (-[WebScriptObject callWebScriptMethod:withArguments:]):
3570 (-[WebScriptObject evaluateWebScript:]):
3571 * bindings/scripts/CodeGeneratorObjC.pm:
3572 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3573 (-[DOMTestCallback callbackWithClass1Param:]):
3574 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
3575 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
3576 (-[DOMTestCallback customCallback:class6Param:]):
3577 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3578 * bindings/scripts/test/ObjC/DOMTestObj.mm:
3579 (-[DOMTestObj readOnlyIntAttr]):
3580 (-[DOMTestObj readOnlyStringAttr]):
3581 (-[DOMTestObj readOnlyTestObjAttr]):
3582 (-[DOMTestObj intAttr]):
3583 (-[DOMTestObj setIntAttr:]):
3584 (-[DOMTestObj longLongAttr]):
3585 (-[DOMTestObj setLongLongAttr:]):
3586 (-[DOMTestObj unsignedLongLongAttr]):
3587 (-[DOMTestObj setUnsignedLongLongAttr:]):
3588 (-[DOMTestObj stringAttr]):
3589 (-[DOMTestObj setStringAttr:]):
3590 (-[DOMTestObj testObjAttr]):
3591 (-[DOMTestObj setTestObjAttr:]):
3592 (-[DOMTestObj attrWithException]):
3593 (-[DOMTestObj setAttrWithException:]):
3594 (-[DOMTestObj attrWithSetterException]):
3595 (-[DOMTestObj setAttrWithSetterException:]):
3596 (-[DOMTestObj attrWithGetterException]):
3597 (-[DOMTestObj setAttrWithGetterException:]):
3598 (-[DOMTestObj customAttr]):
3599 (-[DOMTestObj setCustomAttr:]):
3600 (-[DOMTestObj scriptStringAttr]):
3601 (-[DOMTestObj voidMethod]):
3602 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
3603 (-[DOMTestObj intMethod]):
3604 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
3605 (-[DOMTestObj objMethod]):
3606 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
3607 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
3608 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
3609 (-[DOMTestObj serializedValue:]):
3610 (-[DOMTestObj methodWithException]):
3611 (-[DOMTestObj customMethod]):
3612 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
3613 (-[DOMTestObj customArgsAndException:]):
3614 (-[DOMTestObj addEventListener:listener:useCapture:]):
3615 (-[DOMTestObj removeEventListener:listener:useCapture:]):
3616 (-[DOMTestObj withDynamicFrame]):
3617 (-[DOMTestObj withDynamicFrameAndArg:]):
3618 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
3619 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
3620 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
3621 (-[DOMTestObj withScriptStateVoid]):
3622 (-[DOMTestObj withScriptStateObj]):
3623 (-[DOMTestObj withScriptStateVoidException]):
3624 (-[DOMTestObj withScriptStateObjException]):
3625 (-[DOMTestObj methodWithOptionalArg:]):
3626 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
3627 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
3628 * bindings/v8/ScriptController.cpp:
3629 * bindings/v8/ScriptController.h:
3630 * html/HTMLFrameElementBase.cpp:
3631 (WebCore::HTMLFrameElementBase::isURLAllowed):
3633 2010-05-18 Adam Barth <abarth@webkit.org>
3635 Reviewed by Eric Seidel.
3637 Implement comment states for HTML5 lexer
3638 https://bugs.webkit.org/show_bug.cgi?id=39334
3640 * html/HTML5Lexer.cpp:
3641 (WebCore::HTML5Lexer::nextToken):
3643 2010-05-18 Anders Carlsson <andersca@apple.com>
3645 Reviewed by Sam Weinig.
3647 Move all member variables from MappedAttribute to Attribute.
3648 https://bugs.webkit.org/show_bug.cgi?id=39336
3649 <rdar://problem/8000853>
3651 This saves one word because we no longer have any virtual member functions in Attribute, and
3652 thus no vtable pointer.
3654 I plan to remove MappedAttribute altogether in a subsequent commit.
3660 * WebCore.vcproj/WebCore.vcproj:
3661 * WebCore.xcodeproj/project.pbxproj:
3662 * css/CSSStyleSelector.cpp:
3663 (WebCore::CSSStyleSelector::styleForElement):
3664 * dom/Attribute.cpp:
3665 (WebCore::Attribute::clone):
3667 (WebCore::Attribute::create):
3668 (WebCore::Attribute::style):
3669 (WebCore::Attribute::decl):
3670 (WebCore::Attribute::setDecl):
3671 (WebCore::Attribute::isMappedAttribute):
3672 (WebCore::Attribute::Attribute):
3673 * dom/MappedAttribute.cpp: Removed.
3674 * dom/MappedAttribute.h:
3675 (WebCore::MappedAttribute::create):
3676 (WebCore::MappedAttribute::MappedAttribute):
3677 (WebCore::toMappedAttribute):
3678 * dom/NamedMappedAttrMap.cpp:
3679 (WebCore::NamedMappedAttrMap::declCount):
3680 (WebCore::NamedMappedAttrMap::mapsEquivalent):
3681 * dom/StyledElement.cpp:
3682 (WebCore::StyledElement::attributeChanged):
3683 * svg/SVGSVGElement.cpp:
3684 (WebCore::updateCSSForAttribute):
3685 * svg/SVGStyledElement.cpp:
3686 (WebCore::SVGStyledElement::getPresentationAttribute):
3688 2010-05-18 Tony Chang <tony@chromium.org>
3690 Reviewed by Darin Adler.
3692 https://bugs.webkit.org/show_bug.cgi?id=24943
3693 Command-B and Command-I do not generate keydown events in contentEditable regions.
3695 * manual-tests/style-keypress-events.html: Added.
3697 2010-05-18 Adam Barth <abarth@webkit.org>
3699 Reviewed by Eric Seidel.
3701 Add more state to the HTML5 lexer
3702 https://bugs.webkit.org/show_bug.cgi?id=39333
3704 This code is just transliteration from the spec.
3706 * html/HTML5Lexer.cpp:
3707 (WebCore::HTML5Lexer::HTML5Lexer):
3708 (WebCore::HTML5Lexer::nextToken):
3709 * html/HTML5Lexer.h:
3711 2010-05-18 Adam Barth <abarth@webkit.org>
3713 Reviewed by Eric Seidel.
3715 Implement two more lexer states
3716 https://bugs.webkit.org/show_bug.cgi?id=39298
3718 No tests because Eric is still working on wiring up the lexer to the
3721 * html/HTML5Lexer.cpp:
3722 (WebCore::HTML5Lexer::nextToken):
3723 (WebCore::HTML5Lexer::emitParseError):
3724 (WebCore::HTML5Lexer::emitCurrentTagToken):
3725 * html/HTML5Lexer.h:
3727 2010-05-18 Brady Eidson <beidson@apple.com>
3729 Reviewed by Maciej Stachowiak.
3731 Repro crash with many Google image search results
3732 <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323
3734 When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load
3735 the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash.
3737 By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the
3738 crash and also prevent actually loading the plugin binaries.
3740 I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should.
3742 Test: fast/loader/sandboxed-plugin-crash.html
3748 * WebCore.vcproj/WebCore.vcproj:
3749 * WebCore.xcodeproj/project.pbxproj:
3751 * loader/DocumentWriter.cpp:
3752 (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set,
3753 replace it with a SinkDocument.
3755 * loader/PluginDocument.h:
3756 (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).
3758 Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever
3759 data is handed to it:
3760 * loader/SinkDocument.cpp: Added.
3761 (WebCore::SinkTokenizer::SinkTokenizer):
3762 (WebCore::SinkTokenizer::write):
3763 (WebCore::SinkTokenizer::isWaitingForScripts):
3764 (WebCore::SinkTokenizer::wantsRawData):
3765 (WebCore::SinkTokenizer::writeRawData):
3766 (WebCore::SinkTokenizer::stopParsing):
3767 (WebCore::SinkTokenizer::finish):
3768 (WebCore::SinkDocument::SinkDocument):
3769 (WebCore::SinkDocument::createTokenizer):
3770 * loader/SinkDocument.h: Added.
3771 (WebCore::SinkDocument::create):
3773 2010-05-18 Sam Weinig <sam@webkit.org>
3775 Reviewed by Anders Carlsson.
3777 https://bugs.webkit.org/show_bug.cgi?id=39321
3778 Reduce the size of ListHashSets used by Document
3779 <rdar://problem/7999388>
3781 Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
3782 of the ListHashSets used by Document.
3785 (WebCore::Document::addStyleSheetCandidateNode):
3786 (WebCore::Document::recalcStyleSelector):
3789 2010-05-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
3791 Rubberstamped by Simon Hausmann.
3793 Return null when creating an ImageBuffer failed, due to for
3794 instance a nulled pixmap.
3796 * platform/graphics/qt/ImageBufferQt.cpp:
3797 (WebCore::ImageBufferData::ImageBufferData):
3798 (WebCore::ImageBuffer::ImageBuffer):
3800 2010-05-18 Jian Li <jianli@chromium.org>
3802 Reviewed by Dmitry Titov.
3804 Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
3805 https://bugs.webkit.org/show_bug.cgi?id=39285
3807 The timeout is caused by 59659 that changed the GC timer to 0 and thus
3808 triggered a bug in FileReader code. The fix is to add more states so
3809 that hasPendingActivity() can do the check correctly.
3811 * html/FileReader.cpp:
3812 (WebCore::FileReader::FileReader):
3813 (WebCore::FileReader::hasPendingActivity):
3814 (WebCore::FileReader::readInternal):
3815 (WebCore::FileReader::terminate):
3816 (WebCore::FileReader::didStart):
3817 (WebCore::FileReader::didGetSize):
3818 (WebCore::FileReader::didRead):
3819 (WebCore::FileReader::didFinish):
3820 (WebCore::FileReader::didFail):
3821 (WebCore::FileReader::readyState):
3822 (WebCore::FileReader::result):
3823 * html/FileReader.h:
3824 (WebCore::FileReader::):
3826 2010-05-18 Simon Fraser <simon.fraser@apple.com>
3828 Reviewed by Darin Adler.
3830 Clean up GraphicsLayer naming code
3831 https://bugs.webkit.org/show_bug.cgi?id=39316
3833 Move code that generates a name for the GraphicsLayer (used in debug builds only) into
3834 a new nameForLayer() method. Use it when naming the foreground layer.
3836 * rendering/RenderLayerBacking.cpp:
3837 (WebCore::RenderLayerBacking::createGraphicsLayer):
3838 (WebCore::RenderLayerBacking::updateForegroundLayer):
3839 (WebCore::RenderLayerBacking::nameForLayer):
3840 * rendering/RenderLayerBacking.h:
3842 2010-05-18 Justin Schuh <jschuh@chromium.org>
3844 Reviewed by Adam Barth.
3846 Moving frame.src checks out of the bindings
3847 https://bugs.webkit.org/show_bug.cgi?id=37815
3849 Moved JavaScript frame.src checks out of bindings and into
3850 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
3851 so ExecState is available inside core DOM. Updated affected bindings
3852 (except for GObject, which will need to be updated to avoid origin
3853 failures inside native code).
3855 * Android.jscbindings.mk:
3860 * WebCore.vcproj/WebCore.vcproj:
3861 * WebCore.xcodeproj/project.pbxproj:
3862 * bindings/js/JSBindingsAllInOne.cpp:
3863 * bindings/js/JSCallbackData.cpp:
3864 (WebCore::JSCallbackData::invokeCallback):
3865 * bindings/js/JSEventListener.cpp:
3866 (WebCore::JSEventListener::handleEvent):
3867 * bindings/js/JSInjectedScriptHostCustom.cpp:
3868 (WebCore::InjectedScriptHost::createInjectedScript):
3869 * bindings/js/JSMainThreadExecState.cpp: Added.
3870 * bindings/js/JSMainThreadExecState.h: Added.
3871 (WebCore::JSMainThreadExecState::currentState):
3872 (WebCore::JSMainThreadExecState::call):
3873 (WebCore::JSMainThreadExecState::evaluate):
3874 (WebCore::JSMainThreadExecState::JSMainThreadExecState):
3875 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
3876 (WebCore::JSMainThreadNullState::JSMainThreadNullState):
3877 * bindings/js/ScheduledAction.cpp:
3878 (WebCore::ScheduledAction::executeFunctionInContext):
3879 (WebCore::ScheduledAction::execute):
3880 * bindings/js/ScheduledAction.h:
3881 * bindings/js/ScriptController.cpp:
3882 (WebCore::ScriptController::evaluateInWorld):
3883 (WebCore::ScriptController::canAccessFromCurrentOrigin):
3884 * bindings/js/ScriptController.h:
3885 * bindings/js/ScriptFunctionCall.cpp:
3886 (WebCore::ScriptFunctionCall::call):
3887 * bindings/objc/ObjCEventListener.mm:
3888 * bindings/objc/WebScriptObject.mm:
3889 (-[WebScriptObject callWebScriptMethod:withArguments:]):
3890 (-[WebScriptObject evaluateWebScript:]):
3891 * bindings/scripts/CodeGeneratorObjC.pm:
3892 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3893 (-[DOMTestCallback callbackWithClass1Param:]):
3894 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
3895 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
3896 (-[DOMTestCallback customCallback:class6Param:]):
3897 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3898 * bindings/scripts/test/ObjC/DOMTestObj.mm:
3899 (-[DOMTestObj readOnlyIntAttr]):
3900 (-[DOMTestObj readOnlyStringAttr]):
3901 (-[DOMTestObj readOnlyTestObjAttr]):
3902 (-[DOMTestObj intAttr]):
3903 (-[DOMTestObj setIntAttr:]):
3904 (-[DOMTestObj longLongAttr]):
3905 (-[DOMTestObj setLongLongAttr:]):
3906 (-[DOMTestObj unsignedLongLongAttr]):
3907 (-[DOMTestObj setUnsignedLongLongAttr:]):
3908 (-[DOMTestObj stringAttr]):
3909 (-[DOMTestObj setStringAttr:]):
3910 (-[DOMTestObj testObjAttr]):
3911 (-[DOMTestObj setTestObjAttr:]):
3912 (-[DOMTestObj attrWithException]):
3913 (-[DOMTestObj setAttrWithException:]):
3914 (-[DOMTestObj attrWithSetterException]):
3915 (-[DOMTestObj setAttrWithSetterException:]):
3916 (-[DOMTestObj attrWithGetterException]):
3917 (-[DOMTestObj setAttrWithGetterException:]):
3918 (-[DOMTestObj customAttr]):
3919 (-[DOMTestObj setCustomAttr:]):
3920 (-[DOMTestObj scriptStringAttr]):
3921 (-[DOMTestObj voidMethod]):
3922 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
3923 (-[DOMTestObj intMethod]):
3924 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
3925 (-[DOMTestObj objMethod]):
3926 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
3927 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
3928 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
3929 (-[DOMTestObj serializedValue:]):
3930 (-[DOMTestObj methodWithException]):
3931 (-[DOMTestObj customMethod]):
3932 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
3933 (-[DOMTestObj customArgsAndException:]):
3934 (-[DOMTestObj addEventListener:listener:useCapture:]):
3935 (-[DOMTestObj removeEventListener:listener:useCapture:]):
3936 (-[DOMTestObj withDynamicFrame]):
3937 (-[DOMTestObj withDynamicFrameAndArg:]):
3938 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
3939 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
3940 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
3941 (-[DOMTestObj withScriptStateVoid]):
3942 (-[DOMTestObj withScriptStateObj]):
3943 (-[DOMTestObj withScriptStateVoidException]):
3944 (-[DOMTestObj withScriptStateObjException]):
3945 (-[DOMTestObj methodWithOptionalArg:]):
3946 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
3947 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
3948 * bindings/v8/ScriptController.cpp:
3949 (WebCore::ScriptController::canAccessFromCurrentOrigin):
3950 * bindings/v8/ScriptController.h:
3951 * html/HTMLFrameElementBase.cpp:
3952 (WebCore::HTMLFrameElementBase::isURLAllowed):
3954 2010-05-18 Drew Wilson <atwilson@chromium.org>
3956 Unreviewed: Speculative build fix for Chromium win.
3958 * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
3960 2010-05-18 Drew Wilson <atwilson@chromium.org>
3962 Unreviewed fix for Chromium build break.
3964 * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
3966 2010-05-18 Daniel Cheng <dcheng@chromium.org>
3968 Reviewed by Darin Adler, Jian Li.
3970 DragData::asURL() shouldn't do file validity checks
3971 https://bugs.webkit.org/show_bug.cgi?id=38711
3973 There's no point to trying to make sure the file is valid in
3974 DragData::asURL(). It's better to ask for forgiveness than to ask for
3975 permission, since asking for permission is prone to race conditions
3976 and results in unnecessary I/O. Consumers of this function either:
3977 - need to verify the file exists themselves (e.g. the loader)
3978 - don't care about file validity (rich text drag-and-drop)
3980 * platform/chromium/DragDataChromium.cpp:
3981 (WebCore::DragData::asURL):
3983 2010-05-18 Timothy Hatcher <timothy@apple.com>
3985 Fix a handful of various localization issues in the Web Inspector.
3987 * Localize strings that where not localized.
3988 * Make WebInspector.UIString work without bind.
3989 * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString.
3990 * Never pass a variable to WebInspector.UIString, since that prevents auto-generation.
3991 * Use an ellipsis instead of three periods.
3993 https://webkit.org/b/39303
3994 rdar://problem/7997101
3996 Reviewed by Adam Roben.
3998 * English.lproj/localizedStrings.js:
3999 * inspector/front-end/AuditRules.js:
4000 (WebInspector.AuditRules.GzipRule.prototype.doRun):
4001 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
4002 (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
4003 * inspector/front-end/ConsoleView.js:
4004 (WebInspector.ConsoleView):
4005 * inspector/front-end/ImageView.js:
4006 (WebInspector.ImageView.prototype.contentTabSelected):
4007 * inspector/front-end/ProfileDataGridTree.js:
4008 (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
4009 (WebInspector.ProfileDataGridNode.prototype.get data):
4010 * inspector/front-end/ResourcesPanel.js:
4011 (WebInspector.ResourceTimeCalculator.prototype.formatValue):
4012 (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue):
4013 (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue):
4014 (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue):
4015 * inspector/front-end/ScriptsPanel.js:
4016 (WebInspector.ScriptsPanel.prototype._registerShortcuts):
4017 * inspector/front-end/SourceFrame.js:
4018 (WebInspector.SourceFrame.prototype._contextMenu):
4019 * inspector/front-end/TimelineOverviewPane.js:
4020 (WebInspector.TimelineOverviewCalculator):
4021 (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
4022 * inspector/front-end/TimelinePanel.js:
4023 (WebInspector.TimelinePanel):
4024 (WebInspector.TimelineCalculator):
4025 (WebInspector.TimelineCalculator.prototype.formatValue):
4026 (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
4027 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
4028 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
4029 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
4030 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
4031 * inspector/front-end/inspector.js:
4032 (WebInspector.loaded):
4033 (WebInspector.setRecordingProfile):
4034 (WebInspector.UIString):
4036 2010-05-18 Sam Weinig <sam@webkit.org>
4038 Another attempt to fix the build.
4040 * css/CSSCursorImageValue.cpp:
4042 2010-05-18 Adam Roben <aroben@apple.com>
4044 Make accelerated compositing work on machines that don't support
4045 hardware vertex processing
4047 Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated
4048 compositing on Windows doesn't work on machines that don't support
4049 hardware vertex processing, but should
4051 Reviewed by Eric Carlson.
4053 * platform/graphics/win/WKCACFLayerRenderer.cpp:
4054 (WebCore::WKCACFLayerRenderer::createRenderer): Query the device
4055 capabilities to decide whether to request hardware or software vertex
4058 2010-05-18 Adam Roben <aroben@apple.com>
4060 Make WKCACFLayerRenderer robust against temporary failure of
4061 Direct3DCreate9 and IDirect3D9::CreateDevice
4063 For a short time after waking from sleep, Direct3DCreate9() will
4064 return an IDirect3D9 for which IDirect3D9::CreateDevice will always
4065 fail. Also during this time period, IDirect3D9::CreateDevice
4066 will fail even for non-bad IDirect3D9s. (It will later start
4067 succeeding.) WKCACFLayerRenderer now works around this behavior by
4068 detecting when it might be in this situation and calling these
4069 functions again later.
4071 Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView
4072 doesn't repaint until page reloads when page using hardware
4073 acceleration loads just after waking from sleep
4075 Reviewed by John Sullivan.
4077 * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html:
4078 Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html.
4079 Modified to also include instructions for reproducing this bug.
4081 * platform/graphics/win/WKCACFLayerRenderer.cpp:
4082 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced
4083 m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The
4084 new member is initialized to true, since we haven't even tried to
4085 create a device once yet.
4086 (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a
4087 D3D device, or we don't have one and are sure that we won't be able to
4088 create one later, just return the previously-created device, if any.
4089 We assume that we won't be able to create a device later if this
4090 function fails, unless the function fails due to CreateDevice failing.
4091 As noted above, CreateDevice will sometimes temporarily fail and then
4092 later start working again. When CreateDevice fails, we also assume
4093 that we might have a bad IDirect3D9, so we get rid of the one we have
4094 so a new (and hopefully non-bad) one will be allocated later.
4095 (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset
4096 m_mightBeAbleToCreateDeviceLater to true, since we no longer have a
4098 (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to
4099 create our D3D device and renderer. If this fails, we bail out, but if
4100 we think we might be able to create a device later we schedule another
4101 paint (via renderSoon()) so that we'll try again soon.
4103 * platform/graphics/win/WKCACFLayerRenderer.h: Replaced
4104 m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.
4106 2010-05-18 Adam Roben <aroben@apple.com>
4108 Fix a crash when a page that uses accelerated compositing loads soon
4109 after the computer wakes from sleep
4113 For a short time after waking from sleep, IDirect3D9::CreateDevice
4114 will fail. This caused WKCACFLayerRenderer::createRenderer to fail,
4115 and meant that WKCACFLayerRenderer never allocated a root layer.
4116 WebView wouldn't notice that createRenderer failed, and would go ahead
4117 and try to use the root layer anyway, resulting in a crash.
4121 We now allocate the root layer (and all the other members of
4122 WKCACFLayerRenderer that aren't dependent on having an
4123 IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the
4124 layers will always be present, even when creating the D3D device
4127 There are two remaining problems:
4128 1) This results in slightly more memory usage in the case where
4130 2) Once we get into this bad state, the WebView doesn't repaint
4131 until we navigate somewhere else.
4134 <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by
4135 retrying CreateDevice later in hopes that it will succeed after more
4136 time has passed. This will in turn fix (1). (We should never end up in
4137 a case where CreateDevice fails forever because we already did some
4138 preliminary checks in acceleratedCompositingAvailable().)
4140 Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash
4141 (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when
4142 computer wakes from sleep on particular page
4144 Reviewed by John Sullivan.
4146 * manual-tests/crash-after-wake-from-sleep.html: Added. This
4147 is the Poster Circle demo from webkit.org/blog, but modified to
4148 automatically reload every 5 seconds and with instructions to put the
4149 computer to sleep and wake it up again.
4151 * platform/graphics/win/WKCACFLayerRenderer.cpp:
4152 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to
4153 initialize m_context, m_renderContext, and m_*Layer here...
4154 (WebCore::WKCACFLayerRenderer::createRenderer): ...from here.
4156 2010-05-18 Adam Roben <aroben@apple.com>
4158 Remove an unused member variable from WKCACFLayerRenderer
4160 Rubber-stamped by Ada Chan.
4162 * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,
4165 2010-05-18 Anders Carlsson <andersca@apple.com>
4167 Reviewed by Sam Weinig.
4169 Allocate the m_preloads list hash set dynamically and free it when done.
4170 https://bugs.webkit.org/show_bug.cgi?id=39309
4171 <rdar://problem/7998495>
4173 This saves about 6000 bytes on a fully loaded document.
4175 * loader/DocLoader.cpp:
4176 (WebCore::DocLoader::requestPreload):
4177 (WebCore::DocLoader::clearPreloads):
4178 * loader/DocLoader.h:
4180 2010-05-18 Anders Carlsson <andersca@apple.com>
4182 Revert unintended indentation and unnecessary nested name specifier.
4184 * rendering/RenderBlock.cpp:
4185 (WebCore::clipOutPositionedObjects):
4186 (WebCore::RenderBlock::insertPositionedObject):
4188 2010-05-18 Anders Carlsson <andersca@apple.com>
4190 Reviewed by Sam Weinig.
4192 Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
4193 https://bugs.webkit.org/show_bug.cgi?id=39304
4194 <rdar://problem/7998366>
4196 Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has
4197 few positioned objects, this saves memory.
4200 * rendering/RenderBlock.cpp:
4201 (WebCore::clipOutPositionedObjects):
4202 (WebCore::RenderBlock::insertPositionedObject):
4203 * rendering/RenderBlock.h:
4204 (WebCore::RenderBlock::positionedObjects):
4206 2010-05-17 Sam Weinig <sam@webkit.org>
4208 Reviewed by Darin Adler.
4210 https://bugs.webkit.org/show_bug.cgi?id=39258
4211 Remove NamedAttrMap residual gunk
4213 Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
4220 * WebCore.vcproj/WebCore.vcproj:
4221 * WebCore.xcodeproj/project.pbxproj:
4222 * bindings/v8/custom/V8NamedNodesCollection.cpp:
4223 * dom/NamedAttrMap.cpp: Removed.
4224 * dom/NamedAttrMap.h: Removed.
4225 * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp.
4226 * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h.
4227 * editing/ReplaceNodeWithSpanCommand.cpp:
4228 * platform/chromium/ClipboardChromium.cpp:
4230 2010-05-18 Brady Eidson <beidson@apple.com>
4232 Reviewed by Eric Carlson.
4234 <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org
4236 NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the
4237 canplay event to come in before calling play itself.
4239 After the site specific hack added in r58586, we disallowed play() from within the canplay event handler.
4240 By tracking whether a load() was triggered by a user gesture, we can differentiate between the original
4241 canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor.
4243 No new tests. (Currently no way to test such site specific hack behavior)
4245 * html/HTMLMediaElement.cpp:
4246 (WebCore::HTMLMediaElement::HTMLMediaElement):
4247 (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag
4248 (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture.
4249 * html/HTMLMediaElement.h:
4251 2010-05-18 Jakob Petsovits <jpetsovits@rim.com>
4253 Reviewed by Dirk Schulze.
4255 [OpenVG] Fix stupid build errors from the OpenVG Path commit
4256 https://bugs.webkit.org/show_bug.cgi?id=39228
4258 * platform/graphics/openvg/PainterOpenVG.cpp:
4259 (WebCore::PainterOpenVG::clipPath):
4260 * platform/graphics/openvg/PathOpenVG.cpp:
4261 (WebCore::Path::transform):
4263 2010-05-18 Chris Jerdonek <cjerdonek@webkit.org>
4265 Reviewed by Darin Adler.
4267 Refactored FrameLoader::isDocumentSandboxed() from a private member function
4268 to a static, non-member, non-friend function.
4270 https://bugs.webkit.org/show_bug.cgi?id=39157
4272 Making this function non-private lets us make FrameLoader::createWindow()
4273 a non-member function in a subsequent patch. We also made it non-member
4274 rather than member to increase encapsulation and limit the number of
4275 public functions with access to private FrameLoader data.
4277 No new functionality, so no new tests.
4279 * loader/FrameLoader.cpp:
4280 (WebCore::isDocumentSandboxed):
4281 - Moved this function from a private member function of FrameLoader
4282 to a static, non-member, non-friend function.
4283 (WebCore::FrameLoader::createWindow):
4284 - Updated the call to isDocumentSandboxed().
4285 (WebCore::FrameLoader::submitForm):
4286 - Updated the call to isDocumentSandboxed().
4287 (WebCore::FrameLoader::requestObject):
4288 - Updated the call to isDocumentSandboxed().
4289 (WebCore::FrameLoader::shouldAllowNavigation):
4290 - Updated the call to isDocumentSandboxed().
4291 * loader/FrameLoader.h:
4292 - Removed isDocumentSandboxed() and added a FIXME to move
4293 createWindow() out of the FrameLoader class.
4295 2010-05-08 Robert Hogan <robert@roberthogan.net>
4297 Reviewed by Simon Hausmann.
4299 [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
4300 and http/tests/xmlhttprequest/cross-origin-authorization.html
4302 QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
4303 without knowing if this is valid behaviour or not. In order to allow
4304 Qt to decide whether Cookie/Authorization headers should be added
4305 to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
4306 These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
4307 QNetworkRequest::CookieSaveControlAttribute,and
4308 QNetworkRequest::AuthenticationReuseControlAttribute.
4310 QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
4311 unless withCredentials is set to true in the XHR.
4313 QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
4314 is set to true in the XHR.
4316 Qt will pass the values onto QHttpNetworkRequest and this will permit
4317 the Qt network access processing to decide whether or not to add either
4318 or both of the Cookie/Authorisation headers, and whether to save cookies
4319 returned from such requests. By default the attribute
4320 will always be true so unless QtWebKit sets it to false normal
4321 header processing is unaffected.
4323 The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
4325 https://bugs.webkit.org/show_bug.cgi?id=32967
4327 * platform/network/qt/ResourceRequestQt.cpp:
4328 (WebCore::ResourceRequest::toNetworkRequest):
4330 2010-05-18 Zoltan Herczeg <zherczeg@webkit.org>
4332 Reviewed by Kenneth Rohde Christiansen.
4334 [Qt] Implementing clipToImageBuffer for Qt port.
4335 https://bugs.webkit.org/show_bug.cgi?id=24289
4337 The implementation combines pixmap layers and destinationIn
4340 * platform/graphics/qt/GraphicsContextQt.cpp:
4341 (WebCore::TransparencyLayer::TransparencyLayer):
4342 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4343 (WebCore::GraphicsContext::savePlatformState):
4344 (WebCore::GraphicsContext::restorePlatformState):
4345 (WebCore::GraphicsContext::inTransparencyLayer):
4346 (WebCore::GraphicsContext::beginTransparencyLayer):
4347 (WebCore::GraphicsContext::endTransparencyLayer):
4348 (WebCore::GraphicsContext::clipToImageBuffer):
4350 2010-05-18 Eric Seidel <eric@webkit.org>
4352 Unreviewed build fix.
4354 Make it possible to enable the new HTML5Tokenizer for testing
4355 https://bugs.webkit.org/show_bug.cgi?id=39275
4358 - Fix HTMLLexer.* -> HTML5Lexer.*
4359 * WebCore.vcproj/WebCore.vcproj:
4360 - Add HTML5Lexer and HTML5Tokenizer to project.
4362 2010-05-18 Eric Seidel <eric@webkit.org>
4364 Unreviewed build fix.
4366 Make it possible to enable the new HTML5Tokenizer for testing
4367 https://bugs.webkit.org/show_bug.cgi?id=39275
4369 * dom/NamedAttrMap.cpp:
4370 (WebCore::NamedNodeMap::setNamedItemNS):
4371 - Move this to the .cpp file so as to avoid needing to include "Node.h" in the header.
4372 * dom/NamedAttrMap.h:
4373 * html/HTML5Token.h:
4374 - Remove #include "String.h" which was wrong. Adam meant "PlatformString.h"
4375 - Remove unneeded #include "Node.h", it was only needed because
4376 NamedAttrMap.h was incorrectly depending on Node.h but not
4377 including it. It didn't actually need Node.h except for one
4378 inlined method setNamedItemNS, so I moved setNamedItemNS into
4379 the .cpp to get rid of the Node.h requirement.
4381 2010-05-18 Eric Seidel <eric@webkit.org>
4383 Reviewed by Adam Barth.
4385 Make it possible to enable the new HTML5Tokenizer for testing
4386 https://bugs.webkit.org/show_bug.cgi?id=39275
4388 I added html5ParserEnabled to Settings so that we can enable/disable
4389 the HTML5 parser for testing.
4391 I also ripped out a bunch of dead code from HTML5Lexer.
4393 I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that
4394 the build wouldn't fail now that we reference these classes from HTMLDocument.
4401 * WebCore.xcodeproj/project.pbxproj:
4402 * html/HTML5Lexer.cpp:
4403 (WebCore::HTML5Lexer::reset):
4404 (WebCore::isWhitespace):
4405 (WebCore::HTML5Lexer::nextToken):
4406 * html/HTML5Lexer.h:
4407 * html/HTML5Tokenizer.cpp: Added.
4408 (WebCore::HTML5Tokenizer::HTML5Tokenizer):
4409 (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
4410 (WebCore::HTML5Tokenizer::begin):
4411 (WebCore::HTML5Tokenizer::write):
4412 (WebCore::HTML5Tokenizer::end):
4413 (WebCore::HTML5Tokenizer::finish):
4414 (WebCore::HTML5Tokenizer::isWaitingForScripts):
4415 * html/HTML5Tokenizer.h: Added.
4416 * html/HTMLDocument.cpp:
4417 (WebCore::HTMLDocument::createTokenizer):
4418 * html/HTMLTokenizer.h:
4419 * html/HTMLViewSourceDocument.cpp:
4420 (WebCore::HTMLViewSourceDocument::createTokenizer):
4421 * page/Settings.cpp:
4422 (WebCore::Settings::Settings):
4424 (WebCore::Settings::setHTML5ParserEnabled):
4425 (WebCore::Settings::html5ParserEnabled):
4427 2010-05-18 Maciej Stachowiak <mjs@apple.com>
4429 Not reviewed, build fix.
4431 Attempt to fix build for v8 bindings (untested).
4433 * bindings/v8/ScriptController.cpp:
4434 (WebCore::ScriptController::clearWindowShell):
4435 * bindings/v8/ScriptController.h:
4437 2010-05-17 Maciej Stachowiak <mjs@apple.com>
4439 Reviewed by Oliver Hunt.
4441 GC more promptly when navigating to a new inner window, but not at all when it went in the page cache
4442 https://bugs.webkit.org/show_bug.cgi?id=39254
4443 <rdar://problem/7996370>
4446 ~4% iBench HTML speedup
4448 * bindings/js/GCController.cpp:
4449 (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of
4451 * bindings/js/ScriptController.cpp:
4452 (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't
4453 garbageColectSoon if the page is going into the page cache.
4454 * bindings/js/ScriptController.h: Prototype change for above.
4455 * loader/FrameLoader.cpp:
4456 (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache.
4458 2010-05-18 Adam Barth <abarth@webkit.org>
4460 Reviewed by Eric Seidel.
4463 https://bugs.webkit.org/show_bug.cgi?id=39274
4465 The token object is an ugly fake union, but I'm sure sure there's a
4466 better way... Eric needs this to provide output for the test harness.
4468 * WebCore.xcodeproj/project.pbxproj:
4469 * html/HTML5Lexer.cpp:
4470 (WebCore::HTML5Lexer::HTML5Lexer):
4471 (WebCore::HTML5Lexer::write):
4472 (WebCore::HTML5Lexer::emitCharacter):
4473 * html/HTML5Lexer.h:
4474 * html/HTML5Token.h: Added.
4475 (WebCore::HTML5Token::):
4476 (WebCore::HTML5Token::HTML5Token):
4477 (WebCore::HTML5Token::setToCharacter):
4479 2010-05-18 Adam Barth <abarth@webkit.org>
4481 Reviewed by Eric Seidel.
4483 Implement ScriptData states for HTML5Lexer
4484 https://bugs.webkit.org/show_bug.cgi?id=39273
4486 This patch implements more of the lexer states according to the HTML5
4487 specification. Currently, this code is compiled by not tested. We're
4488 working on bringing up a test harness in parallel with transliterating
4491 * html/HTML5Lexer.cpp:
4492 (WebCore::HTML5Lexer::tokenize):
4493 (WebCore::HTML5Lexer::temporaryBufferIs):
4494 * html/HTML5Lexer.h:
4495 (WebCore::HTML5Lexer::):
4497 2010-05-17 Eric Seidel <eric@webkit.org>
4499 Reviewed by Adam Barth.
4501 Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer
4502 https://bugs.webkit.org/show_bug.cgi?id=39272
4504 Strictly a rename, no functionality change.
4506 * WebCore.xcodeproj/project.pbxproj:
4507 * html/HTML5Lexer.cpp: Added.
4508 * html/HTML5Lexer.h: Added.
4509 * html/HTML5Tokenizer.cpp: Removed.
4510 * html/HTML5Tokenizer.h: Removed.
4512 2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
4514 Unreviewed, rolling out r59652.
4515 http://trac.webkit.org/changeset/59652
4516 https://bugs.webkit.org/show_bug.cgi?id=39268
4518 file-input-files-access test is broken on Mac (Requested by
4521 * platform/chromium/DragDataChromium.cpp:
4522 (WebCore::DragData::asURL):
4524 2010-05-17 Adam Barth <abarth@webkit.org>
4526 Reviewed by Eric Seidel.
4528 Implement RAWTEXT tokenizer states
4529 https://bugs.webkit.org/show_bug.cgi?id=39267
4531 More tokenizer states. There's a bunch of functionality notImplemented
4532 that we'll come back to.
4534 * html/HTML5Tokenizer.cpp:
4535 (WebCore::HTML5Tokenizer::tokenize):
4536 * html/HTML5Tokenizer.h:
4538 2010-05-17 Adam Barth <abarth@webkit.org>
4540 Reviewed by Eric Seidel.
4542 Implement more parser states in HTML5Tokenizer
4543 https://bugs.webkit.org/show_bug.cgi?id=39265
4545 This patch implements some easy states. I'll come back and do the
4546 harder states later.
4548 * html/HTML5Tokenizer.cpp:
4549 (WebCore::HTML5Tokenizer::tokenize):
4550 (WebCore::HTML5Tokenizer::emitParseError):
4551 * html/HTML5Tokenizer.h:
4553 2010-05-17 Daniel Cheng <dcheng@chromium.org>
4555 Reviewed by Darin Adler.
4557 DragData::asURL() shouldn't do file validity checks
4558 https://bugs.webkit.org/show_bug.cgi?id=38711
4560 There's no point to trying to make sure the file is valid in
4561 DragData::asURL(). It's better to ask for forgiveness than to ask for
4562 permission, since asking for permission is prone to race conditions
4563 and results in unnecessary I/O. Consumers of this function either:
4564 - need to verify the file exists themselves (e.g. the loader)
4565 - don't care about file validity (rich text drag-and-drop)
4567 * platform/chromium/DragDataChromium.cpp:
4568 (WebCore::DragData::asURL):
4570 2010-05-17 Adam Barth <abarth@webkit.org>
4572 Reviewed by Eric Seidel.
4574 Update states in HTML5Tokenizer to match HTML5 spec
4575 https://bugs.webkit.org/show_bug.cgi?id=39264
4577 I've also implemented the DataState. More states to follow.
4579 * html/HTML5Tokenizer.cpp:
4580 (WebCore::HTML5Tokenizer::reset):
4581 (WebCore::HTML5Tokenizer::tokenize):
4582 * html/HTML5Tokenizer.h:
4583 (WebCore::HTML5Tokenizer::):
4585 2010-05-17 Kent Tamura <tkent@chromium.org>
4587 Reviewed by Darin Adler.
4589 ':valid' CSS selector should not be applied to some form controls
4590 https://bugs.webkit.org/show_bug.cgi?id=39162
4592 * html/HTMLElement.cpp:
4593 (WebCore::inlineTagList): Always includes progressTag. This change is
4594 needed in a case of no ENABLE_PROGRESS_TAG. Without this change and
4595 ENABLE_PROGRESS_TAG, <progress> tags disappear.
4596 * html/HTMLInputElement.cpp:
4597 (WebCore::HTMLInputElement::recalcWillValidate):
4598 Return false for SUBMIT and IMAGE.
4599 * html/HTMLProgressElement.h:
4600 (WebCore::HTMLProgressElement::recalcWillValidate):
4601 Return false. This change is needed in a case of ENABLE_PROGRESS_TAG.
4603 2010-05-17 Adam Barth <abarth@webkit.org>
4605 Reviewed by Eric Seidel.
4607 Remove load-related code from HTML5Tokenizer
4608 https://bugs.webkit.org/show_bug.cgi?id=39263
4610 This code is related to reloading resources and not to tokenizing. In
4611 the PreloadScanner, these concerns are coupled, but we want to decouple
4614 * html/HTML5Tokenizer.cpp:
4615 (WebCore::HTML5Tokenizer::HTML5Tokenizer):
4616 (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
4617 (WebCore::HTML5Tokenizer::begin):
4618 (WebCore::HTML5Tokenizer::end):
4619 (WebCore::HTML5Tokenizer::reset):
4620 (WebCore::HTML5Tokenizer::write):
4621 (WebCore::HTML5Tokenizer::consumeEntity):
4622 (WebCore::HTML5Tokenizer::tokenize):
4623 (WebCore::HTML5Tokenizer::processAttribute):
4624 (WebCore::HTML5Tokenizer::emitCharacter):
4625 (WebCore::HTML5Tokenizer::emitTag):
4626 * html/HTML5Tokenizer.h:
4628 2010-05-17 Adam Barth <abarth@webkit.org>
4630 Reviewed by Eric Seidel.
4632 Add HTML5Tokenizer to the build system on Mac
4633 https://bugs.webkit.org/show_bug.cgi?id=39262
4635 This file will be easier to work with if we're actually compiling it.
4636 Hopefully we'll get this wired into the PreloadScanner soon. Once we
4637 start actually calling the code, we'll add it to the build system on
4640 * WebCore.xcodeproj/project.pbxproj:
4642 2010-05-17 Eric Seidel <eric@webkit.org>
4644 Reviewed by Adam Barth.
4646 Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4647 https://bugs.webkit.org/show_bug.cgi?id=39261
4649 * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer.
4650 * html/HTML5Tokenizer.h: ditto.
4652 2010-05-17 Eric Seidel <eric@webkit.org>
4654 Reviewed by Adam Barth.
4656 Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4657 https://bugs.webkit.org/show_bug.cgi?id=39261
4659 This time copy the cpp from the right file.
4661 * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp.
4663 2010-05-17 Eric Seidel <eric@webkit.org>
4665 Reviewed by Adam Barth.
4667 Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4668 https://bugs.webkit.org/show_bug.cgi?id=39261
4670 * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h.
4671 * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h.
4673 2010-05-17 MORITA Hajime <morrita@google.com>
4675 Reviewed by Kent Tamura.
4677 [Chromium] Windows: Speed of indeterminate progress bar should be constant
4678 https://bugs.webkit.org/show_bug.cgi?id=39211
4680 No new tests, animation effect can be confirmed only manually.
4682 * rendering/RenderThemeChromiumWin.cpp:
4683 (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
4684 (WebCore::RenderThemeChromiumWin::paintProgressBar):
4686 2010-05-17 Drew Wilson <atwilson@chromium.org>
4688 Unreviewed build fix for Qt and Chromium.
4690 https://bugs.webkit.org/show_bug.cgi?id=39147
4692 * page/Frame.h: Now includes CSSMutableStyleDeclaration.h.
4694 2010-05-17 Simon Fraser <simon.fraser@apple.com>
4696 Reviewed by Darin Adler.
4698 Remove unused member member from Document
4699 https://bugs.webkit.org/show_bug.cgi?id=39251
4701 Remove m_associatedHistoryItems from Document; it is never used.
4705 2010-05-17 Darin Adler <darin@apple.com>
4710 (WebCore::Frame::setTypingStyle): Move back to make non-inline.
4711 * page/Frame.h: Removed inline version of setTypingStyle.
4713 2010-05-14 Darin Adler <darin@apple.com>
4715 Reviewed by Brady Eidson.
4717 Frame has many trivial member functions that should be inlined
4718 https://bugs.webkit.org/show_bug.cgi?id=39147
4720 * WebCore.base.exp: Export the functions that are now inlined.
4723 (WebCore::Frame::removeEditingStyleFromBodyElement):
4724 Removed the body of this function.
4727 (WebCore::Frame::init): Moved here from .cpp.
4728 (WebCore::Frame::loader): Ditto.
4729 (WebCore::Frame::redirectScheduler): Ditto.
4730 (WebCore::Frame::view): Ditto.
4731 (WebCore::Frame::script): Ditto.
4732 (WebCore::Frame::document): Ditto.
4733 (WebCore::Frame::selection): Ditto.
4734 (WebCore::Frame::editor): Ditto.
4735 (WebCore::Frame::animation): Ditto.
4736 (WebCore::Frame::mark): Ditto.
4737 (WebCore::Frame::setMark): Ditto.
4738 (WebCore::Frame::zoomFactor): Ditto.
4739 (WebCore::Frame::jsStatusBarText): Ditto.
4740 (WebCore::Frame::jsDefaultStatusBarText): Ditto.
4741 (WebCore::Frame::needsReapplyStyles): Ditto.
4742 (WebCore::Frame::typingStyle): Ditto.
4743 (WebCore::Frame::setTypingStyle): Ditto.
4744 (WebCore::Frame::clearTypingStyle): Ditto.
4745 (WebCore::Frame::ownerElement): Ditto.
4746 (WebCore::Frame::isDisconnected): Ditto.
4747 (WebCore::Frame::setIsDisconnected): Ditto.
4748 (WebCore::Frame::excludeFromTextSearch): Ditto.
4749 (WebCore::Frame::setExcludeFromTextSearch): Ditto.
4750 (WebCore::Frame::inViewSourceMode): Ditto.
4751 (WebCore::Frame::setInViewSourceMode): Ditto.
4752 (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto.
4753 (WebCore::Frame::tree): Ditto.
4754 (WebCore::Frame::page): Ditto.
4755 (WebCore::Frame::detachFromPage): Ditto.
4756 (WebCore::Frame::eventHandler): Ditto.
4757 (WebCore::Frame::shouldClose): Ditto.
4759 2010-05-17 Anders Carlsson <andersca@apple.com>
4761 Reviewed by Sam Weinig.
4763 https://bugs.webkit.org/show_bug.cgi?id=39247
4764 <rdar://problem/7994707>
4765 Move rarely used data members to the rare structures, thus saving memory.
4767 Move rarely used member variables from StyleInheritedData and StyleVisualData to
4768 StyleRareInheritedData and StyleRareNonInheritedData, namely:
4770 indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData.
4771 m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData.
4773 * rendering/style/RenderStyle.cpp:
4774 (WebCore::RenderStyle::diff):
4775 (WebCore::RenderStyle::addCursor):
4776 (WebCore::RenderStyle::setCursorList):
4777 (WebCore::RenderStyle::clearCursorList):
4778 * rendering/style/RenderStyle.h:
4779 (WebCore::InheritedFlags::textIndent):
4780 (WebCore::InheritedFlags::effectiveZoom):
4781 (WebCore::InheritedFlags::counterIncrement):
4782 (WebCore::InheritedFlags::counterReset):
4783 (WebCore::InheritedFlags::cursors):
4784 (WebCore::InheritedFlags::widows):
4785 (WebCore::InheritedFlags::orphans):
4786 (WebCore::InheritedFlags::setTextIndent):
4787 (WebCore::InheritedFlags::setEffectiveZoom):
4788 (WebCore::InheritedFlags::setCounterIncrement):
4789 (WebCore::InheritedFlags::setCounterReset):
4790 (WebCore::InheritedFlags::setWidows):
4791 (WebCore::InheritedFlags::setOrphans):
4792 * rendering/style/StyleInheritedData.cpp:
4793 (WebCore::StyleInheritedData::StyleInheritedData):
4794 (WebCore::StyleInheritedData::operator==):
4795 * rendering/style/StyleInheritedData.h:
4796 * rendering/style/StyleRareInheritedData.cpp:
4797 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
4798 (WebCore::cursorDataEquivalent):
4799 (WebCore::StyleRareInheritedData::operator==):
4800 * rendering/style/StyleRareInheritedData.h:
4801 * rendering/style/StyleRareNonInheritedData.cpp:
4802 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
4803 (WebCore::StyleRareNonInheritedData::operator==):
4804 * rendering/style/StyleRareNonInheritedData.h:
4805 * rendering/style/StyleVisualData.cpp:
4806 (WebCore::StyleVisualData::StyleVisualData):
4807 * rendering/style/StyleVisualData.h:
4808 (WebCore::StyleVisualData::operator==):
4810 2010-05-17 Robert Hogan <robert@webkit.org>
4812 Rubber-stamped by Eric Seidel.
4816 I have no idea where the SVG-dependent include of this file is hidden, but
4817 it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp.
4819 * bindings/js/JSWorkerContextCustom.cpp:
4821 2010-05-17 David Hyatt <hyatt@apple.com>
4823 Reviewed by Dan Bernstein.
4825 https://bugs.webkit.org/show_bug.cgi?id=39231
4827 Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html. Make sure block children of RTL blocks are positioned using
4828 the reduced column width instead of the total content width.
4830 * rendering/RenderBlock.cpp:
4831 (WebCore::RenderBlock::determineHorizontalPosition):
4832 (WebCore::RenderBlock::nodeAtPoint):
4833 (WebCore::RenderBlock::hitTestContents):
4834 (WebCore::RenderBlock::adjustForColumns):
4836 2010-05-17 Jakob Petsovits <jpetsovits@rim.com>
4838 Reviewed by George Staikos.
4840 [OpenVG] Add support for decoding and drawing images
4841 https://bugs.webkit.org/show_bug.cgi?id=36072
4843 OpenVG has a maximum image size (how large is
4844 specific to the OpenVG implementation), so this
4845 requires us to store them as separate image tiles.
4847 Image decoding and initial drawing code by
4848 Adam Treat <atreat@rim.com>. Image decoder
4849 downsampling support by Yong Li <yoli@rim.com>.
4851 * platform/graphics/ImageSource.h:
4852 * platform/graphics/openvg/ImageOpenVG.cpp: Added.
4853 (WebCore::FrameData::clear):
4854 (WebCore::BitmapImage::BitmapImage):
4855 (WebCore::BitmapImage::checkForSolidColor):
4856 (WebCore::BitmapImage::initPlatformData):
4857 (WebCore::BitmapImage::invalidatePlatformData):
4858 (WebCore::adjustSourceRectForDownSampling):
4859 (WebCore::BitmapImage::draw):
4860 (WebCore::Image::drawPattern):
4861 (WebCore::Image::loadPlatformResource):
4862 * platform/graphics/openvg/PainterOpenVG.cpp:
4863 (WebCore::PainterOpenVG::drawImage):
4864 (WebCore::PainterOpenVG::asNewNativeImage):
4865 * platform/graphics/openvg/PainterOpenVG.h:
4866 * platform/graphics/openvg/TiledImageOpenVG.cpp: Added.
4867 (WebCore::TiledImageOpenVG::TiledImageOpenVG):
4868 (WebCore::TiledImageOpenVG::operator=):
4869 (WebCore::TiledImageOpenVG::~TiledImageOpenVG):
4870 (WebCore::TiledImageOpenVG::numTiles):
4871 (WebCore::TiledImageOpenVG::numColumns):
4872 (WebCore::TiledImageOpenVG::numRows):
4873 (WebCore::TiledImageOpenVG::setTile):
4874 (WebCore::TiledImageOpenVG::tilesInRect):
4875 (WebCore::TiledImageOpenVG::tile):
4876 (WebCore::TiledImageOpenVG::tileRect):
4877 (WebCore::TiledImageOpenVG::detachTiles):
4878 (WebCore::TiledImageOpenVG::destroyTiles):
4879 * platform/graphics/openvg/TiledImageOpenVG.h: Added.
4880 (WebCore::TiledImageOpenVG::size):
4881 (WebCore::TiledImageOpenVG::maxTileSize):
4882 * platform/graphics/openvg/VGUtils.cpp:
4883 (WebCore::VGUtils::bytesForImage):
4884 (WebCore::VGUtils::bytesForImageScanline):
4885 (WebCore::VGUtils::imageFormatBitsPerPixel):
4886 (WebCore::VGUtils::endianAwareImageFormat):
4887 * platform/graphics/openvg/VGUtils.h:
4888 * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
4889 (WebCore::RGBA32Buffer::asNewNativeImage):
4891 2010-05-17 Yaar Schnitman <yaar@chromium.org>
4893 Reviewed by Darin Adler.
4895 Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads.
4896 https://bugs.webkit.org/show_bug.cgi?id=39227
4898 * bindings/scripts/CodeGeneratorJS.pm:
4899 * bindings/scripts/test/JS/JSTestObj.cpp:
4900 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
4902 2010-05-16 Sam Weinig <sam@webkit.org>
4904 Reviewed by Adam Barth.
4906 https://bugs.webkit.org/show_bug.cgi?id=39192
4907 Remove unused PERFECT_HASH code CodeGeneratorJS.
4909 * bindings/scripts/CodeGeneratorJS.pm:
4911 2010-05-17 Jeremy Moskovich <jeremy@chromium.org>
4913 Reviewed by Jeremy Orlow.
4915 Remove debug code that was introduced to help narrow down the
4917 https://bugs.webkit.org/show_bug.cgi?id=36426
4919 No change in behavior, so no new tests.
4921 * loader/FrameLoader.cpp:
4922 (WebCore::FrameLoader::finishedLoadingDocument):
4924 2010-05-17 Andreas Kling <andreas.kling@nokia.com>
4926 Reviewed by Kenneth Rohde Christiansen.
4928 Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
4929 Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
4930 Changed createImageData(width, height) to use the absolute values of width and height.
4932 https://bugs.webkit.org/show_bug.cgi?id=39189
4935 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
4937 Test: fast/canvas/canvas-createImageData.html
4939 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4940 (WebCore::JSCanvasRenderingContext2D::createImageData):
4941 * html/canvas/CanvasRenderingContext2D.cpp:
4942 (WebCore::CanvasRenderingContext2D::createImageData):
4943 * html/canvas/CanvasRenderingContext2D.h:
4944 * html/canvas/CanvasRenderingContext2D.idl:
4946 2010-05-17 Antti Koivisto <koivisto@iki.fi>
4948 This was missing from previous commit.
4950 * platform/qt/QWebPageClient.h:
4951 (QWebPageClient::graphicsItemVisibleRect):
4953 2010-05-17 Antti Koivisto <koivisto@iki.fi>
4955 Reviewed by Kenneth Rohde Christiansen.
4957 https://bugs.webkit.org/show_bug.cgi?id=39218
4958 [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
4960 Tiles sometimes flicker when exiting a zoom animation. This happens as a result
4961 of the visible rectangle being momentarily out of sync.
4963 Instead of updating the visible rect by explicitly setting it, pull it through
4964 the client and recompute in the WebKit level.
4966 * page/ChromeClient.h:
4967 (WebCore::ChromeClient::visibleRectForTiledBackingStore):
4969 (WebCore::Frame::tiledBackingStoreVisibleRect):
4971 * platform/graphics/TiledBackingStore.cpp:
4972 (WebCore::TiledBackingStore::checkVisibleRectChanged):
4973 (WebCore::TiledBackingStore::createTiles):
4974 * platform/graphics/TiledBackingStore.h:
4975 * platform/graphics/TiledBackingStoreClient.h:
4977 2010-05-15 Adam Roben <aroben@apple.com>
4979 Periodically try to reset a lost IDirect3DDevice9 until we succeed
4981 This is how MSDN says we must respond to a lost device (see
4982 <http://msdn.microsoft.com/en-us/library/bb174714(v=VS.85).aspx>).
4984 Only testable by a manual test, unfortunately.
4986 Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that
4987 use hardware acceleration don't repaint after waking computer from
4990 Reviewed by John Sullivan.
4992 * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is
4993 the Poster Circle demo from webkit.org/blog, but with instructions for
4994 putting the computer to sleep and waking it up again.
4996 * platform/graphics/win/WKCACFLayerRenderer.cpp:
4997 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new
4998 member that tells us whether we need to try to reset the device before
5000 (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice
5001 the reason why the device needs to be reset (which is because the
5002 window's size has changed).
5003 (WebCore::WKCACFLayerRenderer::render): Before we do anything else,
5004 check if we need to reset the device before rendering. If we do, try
5005 to reset it. If that fails, bail out and set a timer to try again
5006 later. If we discover that the device is lost when calling
5007 IDirect3DDevice9::Present and resetting the device fails, bail out and
5008 set a timer to try again later.
5009 (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a
5010 boolean indicating whether resetting succeeded or not. Added a
5011 ResetReason parameter so callers can specify whey the device needs to
5012 be reset. Before trying to do anything, we call
5013 IDirect3DDevice9::TestCooperativeLevel to find out whether the device
5014 can be reset currently. If it can't, we set a flag to tell ourselves
5015 that the device must be reset before we next render, and indicate to
5016 the caller that the reset failed. If we thought the device was lost
5017 but it turns out not to be, we don't have to do anything and can tell
5018 the caller that the reset succeeded. Otherwise we go ahead and reset
5019 the device as before, and indicate to the caller that the reset
5022 * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to
5023 return a boolean and take a ResetReason parameter. Added a comment
5024 about when and why this function should be called. And added
5025 m_mustResetLostDeviceBeforeRendering.
5027 2010-05-15 Adam Roben <aroben@apple.com>
5029 Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset
5031 MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be
5032 destroyed before calling IDirect3DDevice9::Reset. The only way to
5033 guarantee this with Core Animation is to call CARenderOGLPurge.
5035 Unfortunately this isn't testable at the moment, as we don't use any
5036 features of Core Animation (e.g., mask layers) that actually make this
5037 required. But it seems like a good idea to fix the code now so that
5038 if/when we do start using those features we won't run into problems.
5040 Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice
5041 might fail due to failing to destroy all D3DPOOL_DEFAULT resources
5043 Reviewed by John Sullivan.
5045 * platform/graphics/win/WKCACFLayerRenderer.cpp:
5046 (WebCore::WKCACFLayerRenderer::render): Moved the call to
5047 CARenderOGLPurge from here...
5048 (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it
5049 will be called whenever we reset the device (e.g., when resizing the
5052 2010-05-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
5054 Rubber-stamped by Xan Lopez.
5056 Build fix. Remove bashism from build system.
5060 2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
5062 Unreviewed, rolling out r59483.
5063 http://trac.webkit.org/changeset/59483
5064 https://bugs.webkit.org/show_bug.cgi?id=39215
5066 "page_cycler_intl1 regression on Linux" (Requested by yurys on
5069 * platform/chromium/ChromiumBridge.h:
5070 * platform/graphics/chromium/FontCacheLinux.cpp:
5071 (WebCore::FontCache::getFontDataForCharacters):
5073 2010-05-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
5075 Reviewed by Laszlo Gombos.
5077 REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
5079 Patch declared a variable index, which shadowed an earlier declared
5082 * bridge/qt/qt_class.cpp:
5083 (JSC::Bindings::QtClass::fallbackObject):
5085 2010-05-14 Andrei Popescu <andreip@google.com>
5087 Reviewed by Jeremy Orlow.
5089 IDBRequest is not a proper ActiveDomObject
5090 https://bugs.webkit.org/show_bug.cgi?id=39001
5092 Add IDBRequest interface to the IsActiveDomType
5093 routine of the CodeGeneratorV8.pm.
5095 Rename IDBRequest::m_stopped to m_suspended and reset
5096 the flag when resume() is called.
5098 No new tests, Indexed Database isn't yet testable.
5100 * bindings/scripts/CodeGeneratorV8.pm:
5101 * storage/IDBRequest.cpp:
5102 (WebCore::IDBRequest::suspend):
5103 (WebCore::IDBRequest::resume):
5104 (WebCore::IDBRequest::timerFired):
5105 (WebCore::IDBRequest::onEventCommon):
5106 * storage/IDBRequest.h:
5108 2010-05-17 Xan Lopez <xlopez@igalia.com>
5110 Do not include the indexed database headers if the feature is not
5111 enabled. Should fix the build in GTK+.
5113 * bindings/js/JSEventCustom.cpp:
5115 2010-05-17 Xan Lopez <xlopez@igalia.com>
5117 Try to fix GTK+ build.
5121 2010-05-14 Jeremy Orlow <jorlow@chromium.org>
5123 Reviewed by Nate Chapin.
5125 Finish up IndexedDB events
5126 https://bugs.webkit.org/show_bug.cgi?id=39117
5128 Implement the indexed database event interfaces as proposed by Mozilla.
5129 Refactor the run time type detection code that was in IDBRequest into its own
5130 class named IDBAny. Use this new class within the new event classes and
5133 Test: storage/indexeddb/basics.html
5135 * DerivedSources.cpp:
5136 * DerivedSources.make:
5138 * WebCore.gyp/WebCore.gyp:
5142 * WebCore.vcproj/WebCore.vcproj:
5143 * WebCore.xcodeproj/project.pbxproj:
5144 * bindings/js/JSEventCustom.cpp:
5146 * bindings/js/JSEventTarget.cpp:
5148 * bindings/js/JSIDBAnyCustom.cpp: Added.
5150 * bindings/js/JSIDBRequestCustom.cpp: Removed.
5151 * bindings/v8/custom/V8EventCustom.cpp:
5153 * bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
5155 * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
5157 (WebCore::Event::isIDBErrorEvent):
5158 (WebCore::Event::isIDBSuccessEvent):
5160 * storage/IDBAny.cpp: Added.
5161 (WebCore::IDBAny::create):
5162 (WebCore::IDBAny::IDBAny):
5163 (WebCore::IDBAny::~IDBAny):
5164 (WebCore::IDBAny::idbDatabaseRequest):
5165 (WebCore::IDBAny::indexedDatabaseRequest):
5166 (WebCore::IDBAny::serializedScriptValue):
5167 (WebCore::IDBAny::set):
5168 * storage/IDBAny.h: Added.
5169 (WebCore::IDBAny::):
5170 (WebCore::IDBAny::type):
5171 * storage/IDBAny.idl: Added.
5172 * storage/IDBErrorEvent.cpp: Added.
5173 (WebCore::IDBErrorEvent::create):
5174 (WebCore::IDBErrorEvent::IDBErrorEvent):
5175 (WebCore::IDBErrorEvent::~IDBErrorEvent):
5176 * storage/IDBErrorEvent.h: Added.
5177 (WebCore::IDBErrorEvent::code):
5178 (WebCore::IDBErrorEvent::message):
5179 (WebCore::IDBErrorEvent::isIDBErrorEvent):
5180 * storage/IDBErrorEvent.idl: Added.
5181 * storage/IDBEvent.cpp: Added.
5182 (WebCore::IDBEvent::IDBEvent):
5183 (WebCore::IDBEvent::~IDBEvent):
5184 (WebCore::IDBEvent::source):
5185 * storage/IDBEvent.h: Added.
5186 * storage/IDBEvent.idl: Added.
5187 * storage/IDBRequest.cpp:
5188 (WebCore::IDBRequest::IDBRequest):
5189 (WebCore::IDBRequest::onSuccess):
5190 (WebCore::IDBRequest::timerFired):
5191 (WebCore::IDBRequest::onEventCommon):
5192 * storage/IDBRequest.h:
5193 (WebCore::IDBRequest::create):
5194 (WebCore::IDBRequest::result):
5195 * storage/IDBRequest.idl:
5196 * storage/IDBSuccessEvent.cpp: Added.
5197 (WebCore::IDBSuccessEvent::create):
5198 (WebCore::IDBSuccessEvent::IDBSuccessEvent):
5199 (WebCore::IDBSuccessEvent::~IDBSuccessEvent):
5200 (WebCore::IDBSuccessEvent::result):
5201 * storage/IDBSuccessEvent.h: Added.
5202 (WebCore::IDBSuccessEvent::isIDBSuccessEvent):
5203 * storage/IDBSuccessEvent.idl: Added.
5204 * storage/IndexedDatabaseImpl.cpp:
5205 (WebCore::IndexedDatabaseImpl::open):
5206 * storage/IndexedDatabaseRequest.cpp:
5207 (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
5208 (WebCore::IndexedDatabaseRequest::open):
5209 * storage/IndexedDatabaseRequest.h:
5211 2010-05-16 Chris Jerdonek <cjerdonek@webkit.org>
5215 Removed the stray equals sign from the reviewer's name in the
5216 "Reviewed by" line of the ChangeLog entry for r59596:
5218 http://trac.webkit.org/changeset/59596
5220 2010-05-16 Chris Jerdonek <cjerdonek@webkit.org>
5222 Reviewed by Adam Barth.
5224 Refactored FrameLoader::changeLocation() and urlSelected() to share more code.
5226 https://bugs.webkit.org/show_bug.cgi?id=38827
5228 No change in behavior, so no new tests.
5230 * bindings/ScriptControllerBase.cpp:
5231 (WebCore::ScriptController::executeIfJavaScriptURL):
5232 - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
5233 * bindings/js/ScriptController.h:
5234 - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
5235 * bindings/v8/ScriptController.h:
5236 - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
5237 * loader/FrameLoader.cpp:
5238 (WebCore::FrameLoader::changeLocation):
5239 - Changed to call the new private overload of urlSelected().
5240 (WebCore::FrameLoader::urlSelected):
5241 - Added a private overload of urlSelected().
5242 - Changed the public urlSelected() to call the private overload.
5243 (WebCore::FrameLoader::submitForm):
5244 * loader/FrameLoader.h:
5245 - Added a private overload of urlSelected().
5246 * loader/FrameLoaderTypes.h:
5247 - Added a ShouldReplaceDocumentIfJavaScriptURL enum.
5249 2010-05-16 Daniel Bates <dbates@rim.com>
5251 Reviewed by David Hyatt.
5253 https://bugs.webkit.org/show_bug.cgi?id=39196
5255 Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>.
5257 Prepared on behalf of David Hyatt.
5259 "Not worth the memory use." Just roll this out.
5261 * WebCore.vcproj/WebCore.vcproj:
5262 * WebCore.xcodeproj/project.pbxproj:
5263 * editing/visible_units.cpp:
5264 (WebCore::previousLinePosition):
5265 (WebCore::nextLinePosition):
5266 * rendering/EllipsisBox.cpp:
5267 (WebCore::EllipsisBox::paint):
5268 (WebCore::EllipsisBox::selectionRect):
5269 (WebCore::EllipsisBox::paintSelection):
5270 (WebCore::EllipsisBox::nodeAtPoint):
5271 * rendering/EllipsisBox.h:
5272 (WebCore::EllipsisBox::EllipsisBox):
5273 (WebCore::EllipsisBox::height):
5274 * rendering/InlineBox.cpp:
5275 (WebCore::InlineBox::height):
5276 (WebCore::InlineBox::adjustPosition):
5277 (WebCore::InlineBox::canAccommodateEllipsis):
5278 * rendering/InlineBox.h:
5279 (WebCore::InlineBox::InlineBox):
5280 (WebCore::InlineBox::isInlineBox):
5281 (WebCore::InlineBox::hasVirtualHeight):
5282 (WebCore::InlineBox::setHasVirtualHeight):
5283 (WebCore::InlineBox::virtualHeight):
5284 (WebCore::InlineBox::setWidth):
5285 (WebCore::InlineBox::width):
5286 (WebCore::InlineBox::setX):
5287 (WebCore::InlineBox::x):
5288 (WebCore::InlineBox::setY):
5289 (WebCore::InlineBox::y):
5290 (WebCore::InlineBox::baselinePosition):
5291 (WebCore::InlineBox::lineHeight):
5292 * rendering/InlineFlowBox.cpp:
5293 (WebCore::InlineFlowBox::placeBoxesVertically):
5294 (WebCore::InlineFlowBox::computeVerticalOverflow):
5295 (WebCore::InlineFlowBox::nodeAtPoint):
5296 (WebCore::InlineFlowBox::paintBoxDecorations):
5297 (WebCore::InlineFlowBox::paintMask):
5298 (WebCore::InlineFlowBox::paintTextDecorations):
5299 * rendering/InlineFlowBox.h:
5300 (WebCore::InlineFlowBox::visibleOverflowRect):
5301 (WebCore::InlineFlowBox::topLayoutOverflow):
5302 (WebCore::InlineFlowBox::bottomLayoutOverflow):
5303 (WebCore::InlineFlowBox::leftLayoutOverflow):
5304 (WebCore::InlineFlowBox::rightLayoutOverflow):
5305 (WebCore::InlineFlowBox::layoutOverflowRect):
5306 (WebCore::InlineFlowBox::topVisualOverflow):
5307 (WebCore::InlineFlowBox::bottomVisualOverflow):
5308 (WebCore::InlineFlowBox::leftVisualOverflow):
5309 (WebCore::InlineFlowBox::rightVisualOverflow):
5310 (WebCore::InlineFlowBox::visualOverflowRect):
5311 (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
5312 (WebCore::InlineFlowBox::setVerticalOverflowPositions):
5313 * rendering/InlineTextBox.cpp:
5314 (WebCore::InlineTextBox::selectionRect):
5315 (WebCore::InlineTextBox::placeEllipsisBox):
5316 (WebCore::InlineTextBox::nodeAtPoint):
5317 (WebCore::InlineTextBox::paint):
5318 (WebCore::InlineTextBox::paintSelection):
5319 (WebCore::InlineTextBox::paintCompositionBackground):
5320 (WebCore::InlineTextBox::paintDecoration):
5321 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
5322 (WebCore::InlineTextBox::paintTextMatchMarker):
5323 (WebCore::InlineTextBox::computeRectForReplacementMarker):
5324 (WebCore::InlineTextBox::paintCompositionUnderline):
5325 (WebCore::InlineTextBox::offsetForPosition):
5326 (WebCore::InlineTextBox::positionForOffset):
5327 * rendering/InlineTextBox.h:
5328 (WebCore::InlineTextBox::setSpaceAdd):
5329 * rendering/RenderBlock.cpp:
5330 (WebCore::RenderBlock::positionForPointWithInlineChildren):
5331 * rendering/RenderBlockLineLayout.cpp:
5332 (WebCore::RenderBlock::computeVerticalPositionsForLine):
5333 (WebCore::RenderBlock::layoutInlineChildren):
5334 * rendering/RenderSVGInline.cpp:
5335 (WebCore::RenderSVGInline::createInlineFlowBox):
5336 * rendering/RenderSVGInlineText.cpp:
5337 (WebCore::RenderSVGInlineText::createTextBox):
5338 * rendering/RenderSVGText.cpp:
5339 (WebCore::RenderSVGText::createRootInlineBox):
5340 * rendering/RenderText.cpp:
5341 (WebCore::RenderText::positionForPoint):
5342 (WebCore::RenderText::firstRunX):
5343 (WebCore::RenderText::firstRunY):
5344 * rendering/RenderTreeAsText.cpp:
5345 (WebCore::writeTextRun):
5346 * rendering/RootInlineBox.cpp:
5347 (WebCore::RootInlineBox::placeEllipsis):
5348 (WebCore::RootInlineBox::addHighlightOverflow):
5349 (WebCore::RootInlineBox::closestLeafChildForXPos):
5350 * rendering/SVGInlineFlowBox.h:
5351 (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
5352 (WebCore::SVGInlineFlowBox::virtualHeight):
5353 (WebCore::SVGInlineFlowBox::setHeight):
5354 * rendering/SVGInlineTextBox.h:
5355 (WebCore::SVGInlineTextBox::virtualHeight):
5356 (WebCore::SVGInlineTextBox::setHeight):
5357 (WebCore::SVGInlineTextBox::selectionTop):
5358 (WebCore::SVGInlineTextBox::selectionHeight):
5359 * rendering/SVGRootInlineBox.h:
5360 (WebCore::SVGRootInlineBox::SVGRootInlineBox):
5361 (WebCore::SVGRootInlineBox::virtualHeight):
5362 (WebCore::SVGRootInlineBox::setHeight):
5363 * rendering/TrailingFloatsRootInlineBox.h: Added.
5364 (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
5365 (WebCore::TrailingFloatsRootInlineBox::virtualHeight):
5367 2010-05-13 Tony Chang <tony@chromium.org>
5369 Reviewed by Darin Adler.
5371 REGRESSION: Crash by pasting to a textarea with white-space:nowrap
5372 https://bugs.webkit.org/show_bug.cgi?id=38992
5374 Test: editing/pasteboard/paste-plaintext-nowrap.html
5376 * editing/InsertParagraphSeparatorCommand.cpp:
5377 (WebCore::highestVisuallyEquivalentDivBelowRoot):
5378 (WebCore::InsertParagraphSeparatorCommand::doApply):
5380 2010-05-16 David Hyatt <hyatt@apple.com>
5382 Reviewed by Dan Bernstein.
5384 https://bugs.webkit.org/show_bug.cgi?id=39194
5386 Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality.
5388 Added fast/multicol/column-count-with-rules.html
5390 * rendering/RenderBlock.cpp:
5391 (WebCore::RenderBlock::paintColumnRules):
5392 (WebCore::RenderBlock::paintColumnContents):
5393 (WebCore::RenderBlock::hitTestColumns):
5394 (WebCore::RenderBlock::adjustRectForColumns):
5396 2010-05-16 Dan Bernstein <mitz@apple.com>
5398 Reviewed by Dave Hyatt.
5400 Fix SVG test failures after r59588.
5402 Updated SVG InlineBox virtual method overrides to match HTML ones. Removed
5403 SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares
5404 verticallyAlignBoxes().
5406 * rendering/SVGInlineFlowBox.cpp:
5407 (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
5408 * rendering/SVGInlineFlowBox.h:
5409 * rendering/SVGRootInlineBox.cpp:
5410 (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
5411 (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
5412 * rendering/SVGRootInlineBox.h:
5414 2010-05-16 Dan Bernstein <mitz@apple.com>
5416 Reviewed by Darin Adler.
5418 Move transient glyph overflow and fallback font data from a global to the stack
5419 https://bugs.webkit.org/show_bug.cgi?id=39050
5421 * rendering/InlineFlowBox.cpp:
5422 (WebCore::InlineFlowBox::placeBoxesHorizontally): Added a GlyphOverflowAndFallbackFontsMap
5423 parameter. Read glyph overflow from the map.
5424 (WebCore::InlineFlowBox::computeLogicalBoxHeights): Added a GlyphOverflowAndFallbackFontsMap
5425 parameter. Read fallback fonts from the map.
5426 (WebCore::InlineFlowBox::computeVerticalOverflow): Added a GlyphOverflowAndFallbackFontsMap
5427 parameter. Read glyph overflow from the map.
5428 * rendering/InlineFlowBox.h:
5429 * rendering/InlineTextBox.cpp: Removed setFallbackFonts(), fallbackFonts(), setGlyphOverflow(),
5430 and glyphOverflow(). Removed s_glyphOverflowAndFallbackFontsMap.
5431 * rendering/InlineTextBox.h:
5432 * rendering/RenderBlock.h:
5433 * rendering/RenderBlockLineLayout.cpp:
5434 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
5435 parameter. Write fallback fonts and glyph overflow into the map.
5436 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
5437 parameter. Pass it down to verticallyAlignBoxes().
5438 (WebCore::RenderBlock::layoutInlineChildren): Create a GlyphOverflowAndFallbackFontsMap on the
5439 stack and pass it down to computeHorizontalPositionsForLine(), computeVerticalPositionsForLine(),
5440 and verticallyAlignBoxes().
5441 * rendering/RootInlineBox.cpp:
5442 (WebCore::RootInlineBox::verticallyAlignBoxes): Added a GlyphOverflowAndFallbackFontsMap parameter.
5443 Pass it down to computeLogicalBoxHeights() and computeVerticalOverflow().
5444 * rendering/RootInlineBox.h:
5445 * rendering/SVGRootInlineBox.cpp:
5446 (WebCore::SVGRootInlineBox::layoutInlineBoxes): Updated.
5448 2010-05-12 Tony Chang <tony@chromium.org>
5450 Reviewed by Darin Adler.
5452 Spellcheck disabling does not disable context menu
5453 https://bugs.webkit.org/show_bug.cgi?id=25639
5455 Test: editing/spelling/context-menu-suggestions.html
5457 * platform/ContextMenu.cpp:
5458 (WebCore::ContextMenu::populate):
5460 2010-05-16 Sam Weinig <sam@webkit.org>
5462 Reviewed by Dan Bernstein.
5464 https://bugs.webkit.org/show_bug.cgi?id=39190
5465 Shave a word off of GlyphPageTreeNode
5466 <rdar://problem/7990428>
5468 * platform/graphics/GlyphPageTreeNode.h:
5469 (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
5471 2010-05-16 Andreas Kling <andreas.kling@nokia.com>
5473 Reviewed by Kenneth Rohde Christiansen.
5475 Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData().
5476 Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments.
5477 getImageData() should throw INDEX_SIZE_ERR if either width or height is 0.
5479 https://bugs.webkit.org/show_bug.cgi?id=39175
5482 http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
5484 Test: fast/canvas/canvas-getImageData-invalid.html
5486 * html/canvas/CanvasRenderingContext2D.cpp:
5487 (WebCore::CanvasRenderingContext2D::createImageData):
5488 (WebCore::CanvasRenderingContext2D::getImageData):
5489 (WebCore::CanvasRenderingContext2D::putImageData):
5491 2010-05-16 Andreas Kling <andreas.kling@nokia.com>
5493 Reviewed by Kenneth Rohde Christiansen.
5495 Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
5496 https://bugs.webkit.org/show_bug.cgi?id=39153
5499 http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
5501 Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
5503 * dom/CanvasSurface.cpp:
5504 (WebCore::CanvasSurface::toDataURL):
5506 2010-05-16 Simon Fraser <simon.fraser@apple.com>
5508 Reviewed by Anders Carlsson.
5510 Shrink SimpleFontData
5511 https://bugs.webkit.org/show_bug.cgi?id=39179
5513 Change SimpleFontData to have a pointer to the m_glyphToBoundsMap,
5514 and to allocate this lazily. This reduces the size of the class from
5517 * platform/graphics/SimpleFontData.h:
5518 (WebCore::SimpleFontData::boundsForGlyph):
5520 2010-05-15 Simon Fraser <simon.fraser@apple.com>
5522 Reviewed by Maciej Stachowiak.
5524 Reduce the size of CachedResource
5525 https://bugs.webkit.org/show_bug.cgi?id=39171
5527 Make protected data members of CachedResource private, to allow for
5528 easier rearrangement, and hide the fact that enums are in bitfields.
5530 Rearrange the data members of CachedResource to save 32 bytes per instance
5531 in 64-bit. Also modernized the constructor code.
5533 * loader/CachedCSSStyleSheet.cpp:
5534 (WebCore::CachedCSSStyleSheet::didAddClient):
5535 (WebCore::CachedCSSStyleSheet::data):
5536 (WebCore::CachedCSSStyleSheet::checkNotify):
5537 (WebCore::CachedCSSStyleSheet::error):
5538 * loader/CachedFont.cpp:
5539 (WebCore::CachedFont::load):
5540 (WebCore::CachedFont::didAddClient):
5541 (WebCore::CachedFont::data):
5542 (WebCore::CachedFont::ensureCustomFontData):
5543 (WebCore::CachedFont::ensureSVGFontData):
5544 (WebCore::CachedFont::checkNotify):
5545 (WebCore::CachedFont::error):
5546 * loader/CachedImage.cpp:
5547 (WebCore::CachedImage::CachedImage):
5548 (WebCore::CachedImage::load):
5549 (WebCore::CachedImage::didAddClient):
5550 (WebCore::CachedImage::allClientsRemoved):
5551 (WebCore::CachedImage::image):
5552 (WebCore::CachedImage::data):
5553 (WebCore::CachedImage::error):
5554 (WebCore::CachedImage::checkNotify):
5555 (WebCore::CachedImage::destroyDecodedData):
5556 * loader/CachedImage.h:
5557 (WebCore::CachedImage::stillNeedsLoad):
5558 * loader/CachedResource.cpp:
5559 (WebCore::CachedResource::CachedResource):
5560 * loader/CachedResource.h:
5561 (WebCore::CachedResource::type):
5562 (WebCore::CachedResource::preloadResult):
5563 (WebCore::CachedResource::status):
5564 (WebCore::CachedResource::setStatus):
5565 (WebCore::CachedResource::isLoaded):
5566 (WebCore::CachedResource::isLoading):
5567 (WebCore::CachedResource::setErrorOccurred):
5568 * loader/CachedScript.cpp:
5569 (WebCore::CachedScript::didAddClient):
5570 (WebCore::CachedScript::data):
5571 (WebCore::CachedScript::checkNotify):
5572 (WebCore::CachedScript::error):
5573 * loader/CachedXSLStyleSheet.cpp:
5574 (WebCore::CachedXSLStyleSheet::didAddClient):
5575 (WebCore::CachedXSLStyleSheet::data):
5576 (WebCore::CachedXSLStyleSheet::checkNotify):
5577 (WebCore::CachedXSLStyleSheet::error):
5579 2010-05-16 Sheriff Bot <webkit.review.bot@gmail.com>
5581 Unreviewed, rolling out r59574.
5582 http://trac.webkit.org/changeset/59574
5583 https://bugs.webkit.org/show_bug.cgi?id=39176
5585 Supposedly broke cr-win, but the errors seems somewhat
5586 unrelated (Requested by abarth on #webkit).
5588 * platform/network/chromium/ResourceResponse.h:
5589 (WebCore::ResourceResponse::ResourceResponse):
5590 (WebCore::ResourceResponse::setSecurityInfo):
5591 (WebCore::ResourceResponse::isContentFiltered):
5592 (WebCore::ResourceResponse::setIsContentFiltered):
5593 (WebCore::ResourceResponse::setAppCacheID):
5594 (WebCore::ResourceResponse::setAppCacheManifestURL):
5595 (WebCore::ResourceResponse::setWasFetchedViaSPDY):
5596 (WebCore::ResourceResponse::setIsMultipartPayload):
5597 (WebCore::ResourceResponse::setResponseTime):
5599 2010-05-16 Dan Bernstein <mitz@apple.com>
5601 Reviewed by Darin Adler.
5603 Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL
5604 https://bugs.webkit.org/show_bug.cgi?id=39086
5606 Use global variables directly.
5608 * bindings/v8/ScriptCallStack.cpp:
5609 (WebCore::ScriptCallStack::createUtilityContext):
5610 * platform/ScrollView.cpp:
5611 (WebCore::ScrollView::wheelEvent):
5612 * platform/graphics/mac/ComplexTextController.cpp:
5613 (WebCore::shouldUseATSUIAPI):
5615 2010-05-16 Andreas Kling <andreas.kling@nokia.com>
5617 Reviewed by Kenneth Rohde Christiansen.
5619 Canvas's getContext() must return null when called with an invalid/unsupported parameter.
5620 (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext
5622 https://bugs.webkit.org/show_bug.cgi?id=39150
5624 Test: fast/canvas/canvas-getContext-invalid.html
5626 * bindings/js/JSHTMLCanvasElementCustom.cpp:
5627 (WebCore::JSHTMLCanvasElement::getContext):
5628 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
5629 (WebCore::V8HTMLCanvasElement::getContextCallback):
5631 2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
5633 Unreviewed, rolling out r59565.
5634 http://trac.webkit.org/changeset/59565
5635 https://bugs.webkit.org/show_bug.cgi?id=39173
5637 Broke GTK (Requested by abarth on #webkit).
5639 * dom/CanvasSurface.cpp:
5640 (WebCore::CanvasSurface::toDataURL):
5642 2010-05-15 Andreas Kling <andreas.kling@nokia.com>
5644 Reviewed by Kenneth Rohde Christiansen.
5646 Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
5647 https://bugs.webkit.org/show_bug.cgi?id=39153
5650 http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
5652 Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
5654 * dom/CanvasSurface.cpp:
5655 (WebCore::CanvasSurface::toDataURL):
5657 2010-05-15 Anders Bakken <agbakken@gmail.com>
5659 Reviewed by Kenneth Rohde Christiansen.
5661 QObject::objectName() returns a QString and QtField::name()
5662 creates a temporary QByteArray object and returns constData() from it.
5665 This patch changes the signature of the function to return a
5666 QByteArray instead of const char *.
5668 https://bugs.webkit.org/show_bug.cgi?id=39010
5670 * bridge/qt/qt_instance.cpp:
5671 (JSC::Bindings::QtInstance::getPropertyNames):
5672 (JSC::Bindings::QtField::name):
5673 * bridge/qt/qt_runtime.h:
5675 2010-05-15 Anders Bakken <agbakken@gmail.com>
5677 Reviewed by Kenneth Rohde Christiansen.
5679 Don't unnecessarily copy data when searching for methods in QtClass.
5681 [Qt] JSValue QtClass::fallbackObject can be optimized
5682 https://bugs.webkit.org/show_bug.cgi?id=37684
5684 * bridge/qt/qt_class.cpp:
5685 (JSC::Bindings::QtClass::fallbackObject):
5687 2010-05-15 Anders Bakken <agbakken@gmail.com>
5689 Reviewed by Kenneth Rohde Christiansen.
5691 Identifier::ascii() is not threadsafe and shouldn't be used for
5692 converting to and from QString/QByteArray.
5694 https://bugs.webkit.org/show_bug.cgi?id=39009
5696 * bridge/qt/qt_class.cpp:
5697 (JSC::Bindings::QtClass::fallbackObject):
5698 (JSC::Bindings::QtClass::fieldNamed):
5700 2010-05-15 Chang Shu <chang.shu@nokia.com>
5702 Reviewed by Kenneth Rohde Christiansen.
5704 Based on the spec and Philip Taylor's test suite, createImageData() should throw
5705 an INDEX_SIZE_ERR exception if either the sw or sh arguments are zero.
5706 The link to the spec:
5707 http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.imageData.getcreate.zero
5709 https://bugs.webkit.org/show_bug.cgi?id=39166
5711 The complete test suite is in the process of checking in.
5712 https://bugs.webkit.org/show_bug.cgi?id=20553
5714 * html/canvas/CanvasRenderingContext2D.cpp:
5715 (WebCore::CanvasRenderingContext2D::createImageData):
5717 2010-05-15 Adam Barth <abarth@webkit.org>
5719 Reviewed by Darin Adler.
5721 XMLHttpRequest.getResponseHeader doesn't need to be custom
5722 https://bugs.webkit.org/show_bug.cgi?id=39125
5724 I don't see any reason this method needs to be custom. No new tests
5725 because there's no behavior change.
5727 * bindings/js/JSXMLHttpRequestCustom.cpp:
5728 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
5729 * xml/XMLHttpRequest.idl:
5731 2010-05-15 Adam Barth <abarth@webkit.org>
5733 Reviewed by Darin Adler.
5735 XMLHttpRequest.setRequestHeader shouldn't be custom
5736 https://bugs.webkit.org/show_bug.cgi?id=39124
5738 I don't see any reason why this method needs to be custom. No tests
5739 because no behavior change.
5741 * bindings/js/JSXMLHttpRequestCustom.cpp:
5742 * bindings/scripts/CodeGeneratorJS.pm:
5743 * bindings/scripts/CodeGeneratorV8.pm:
5744 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
5745 (webkit_dom_test_obj_method_that_requires_all_args):
5746 (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
5747 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
5748 * bindings/scripts/test/JS/JSTestObj.cpp:
5750 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
5751 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
5752 * bindings/scripts/test/JS/JSTestObj.h:
5753 * bindings/scripts/test/ObjC/DOMTestObj.h:
5754 * bindings/scripts/test/ObjC/DOMTestObj.mm:
5755 (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
5756 (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
5757 * bindings/scripts/test/TestObj.idl:
5758 * bindings/scripts/test/V8/V8TestObj.cpp:
5759 (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
5760 (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
5761 (WebCore::ConfigureV8TestObjTemplate):
5762 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
5763 * xml/XMLHttpRequest.idl:
5765 2010-05-14 Alexey Proskuryakov <ap@apple.com>
5767 Reviewed by Darin Adler.
5769 https://bugs.webkit.org/show_bug.cgi?id=39048
5770 <rdar://problem/7978384> REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not
5771 defined") with JavaScript disabled
5773 Google Maps goes into mobile mode if JavaScript is disabled for some reason, and sends XHTML
5774 content with XHTML Mobile DOCTYPE. We want to handle it whether XHTMLMP is enabled or not.
5776 Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml
5778 * dom/XMLTokenizerLibxml2.cpp: (WebCore::externalSubsetHandler): Restore pre-55802 behavior
5779 for builds that don't have XHTMLMP enabled. Given that r55802 negated the condition without
5780 breaking XHTMLMP, this line is actually always needed.
5782 2010-05-15 Vangelis Kokkevis <vangelis@chromium.org>
5784 Reviewed by Darin Fisher.
5786 Fixing LayerChromium hierarchy updates where due to mixed ownership
5787 handling, sublayer updates didn't always properly update parent-to-child
5788 and child-to-parent pointers in sync.
5789 https://bugs.webkit.org/show_bug.cgi?id=39138
5791 * platform/graphics/chromium/LayerChromium.cpp:
5792 (WebCore::LayerChromium::~LayerChromium):
5793 (WebCore::LayerChromium::setNeedsCommit): Typo fix.
5794 (WebCore::LayerChromium::insertSublayer):
5795 (WebCore::LayerChromium::removeFromSuperlayer):
5796 (WebCore::LayerChromium::removeSublayer):
5797 (WebCore::LayerChromium::replaceSublayer):
5798 (WebCore::LayerChromium::removeAllSublayers):
5799 (WebCore::LayerChromium::setSublayers):
5800 * platform/graphics/chromium/LayerChromium.h:
5801 (WebCore::LayerChromium::setSuperlayer):
5803 2010-05-15 Andrey Kosyakov <caseq@chromium.org>
5805 Reviewed by Timothy Hatcher.
5807 Got rid of absolute positioning in favor of flex boxes where possible.
5808 Added shadow for help window.
5809 Changed window style names to more comprehensible.
5810 https://bugs.webkit.org/show_bug.cgi?id=39120
5812 * inspector/front-end/HelpScreen.js:
5813 (WebInspector.HelpScreen):
5814 * inspector/front-end/helpScreen.css:
5815 (.help-window-outer):
5816 (body.attached .help-window-outer):
5817 (.help-window-main):
5818 (body.attached .help-window-main):
5819 (.help-window-caption):
5820 (body.attached .help-window-caption):
5821 (.help-window-title):
5823 (.help-close-button):
5824 (body.platform-mac .help-close-button):
5825 (body:not(.platform-mac) .help-close-button):
5827 2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
5829 Unreviewed, rolling out r59549.
5830 http://trac.webkit.org/changeset/59549
5831 https://bugs.webkit.org/show_bug.cgi?id=39167
5833 Broke Chromium build (Requested by abarth on #webkit).
5835 * bindings/scripts/CodeGeneratorV8.pm:
5836 * storage/IDBRequest.cpp:
5837 (WebCore::IDBRequest::suspend):
5838 (WebCore::IDBRequest::resume):
5839 (WebCore::IDBRequest::timerFired):
5840 (WebCore::IDBRequest::onEventCommon):
5841 * storage/IDBRequest.h:
5843 2010-05-15 Vangelis Kokkevis <vangelis@chromium.org>
5845 Reviewed by Darin Fisher.
5847 Adding code path for composited layers (LayerChromium) containing only
5849 https://bugs.webkit.org/show_bug.cgi?id=39142
5851 No new tests, covered under the existing tests for composited layers.
5853 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
5854 (WebCore::GraphicsLayerChromium::setContentsToImage):
5855 (WebCore::GraphicsLayerChromium::updateContentsImage):
5856 * platform/graphics/chromium/GraphicsLayerChromium.h:
5857 * platform/graphics/chromium/LayerChromium.cpp:
5858 (WebCore::LayerChromium::LayerChromium):
5859 (WebCore::LayerChromium::setContents):
5860 * platform/graphics/chromium/LayerChromium.h:
5861 (WebCore::LayerChromium::contents):
5863 2010-05-15 Andrei Popescu <andreip@google.com>
5865 Reviewed by Jeremy Orlow.
5867 IDBRequest is not a proper ActiveDomObject
5868 https://bugs.webkit.org/show_bug.cgi?id=39001
5870 Add IDBRequest interface to the IsActiveDomType
5871 routine of the CodeGeneratorV8.pm.
5873 Rename IDBRequest::m_stopped to m_suspended and reset
5874 the flag when resume() is called.
5876 No new tests, Indexed Database isn't yet testable.
5878 * bindings/scripts/CodeGeneratorV8.pm:
5879 * storage/IDBRequest.cpp:
5880 (WebCore::IDBRequest::suspend):
5881 (WebCore::IDBRequest::resume):
5882 (WebCore::IDBRequest::timerFired):
5883 (WebCore::IDBRequest::onEventCommon):
5884 * storage/IDBRequest.h:
5886 2010-05-15 Andrei Bucur <abucur@adobe.com>
5888 Reviewed by Gustavo Noronha Silva.
5890 Functions using the cairo_pattern_t object returned by
5891 Pattern::createPlatformPattern sould destroy it after the painting
5892 operation. Failing to do so causes memory leaks.
5894 Test: No test was added because the patch adds no new functionality.
5895 It just completes the normal life cycle of a cairo_pattern_t object.
5897 * platform/graphics/cairo/FontCairo.cpp:
5898 (WebCore::Font::drawGlyphs):
5899 * platform/graphics/cairo/GraphicsContextCairo.cpp:
5900 (WebCore::setPlatformFill):
5901 (WebCore::setPlatformStroke):
5903 2010-05-15 Yael Aharon <yael.aharon@nokia.com>
5905 Reviewed by Kent Tamura.
5907 Initial support for HTMLMeterElement
5908 https://bugs.webkit.org/show_bug.cgi?id=38140
5910 This patch adds support for HTMLMeterElement, including default rendering
5911 of the meter element. That is because some platforms do not have a native gauge.
5912 The feature is turned on only for the Qt platform.
5914 Tests: fast/dom/HTMLMeterElement/meter-element.html
5915 fast/dom/HTMLMeterElement/set-meter-properties.html
5917 * DerivedSources.cpp:
5918 * DerivedSources.make:
5923 * WebCore.vcproj/WebCore.vcproj:
5924 * css/CSSPrimitiveValueMappings.h:
5925 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
5926 * css/CSSValueKeywords.in:
5929 (meter::-webkit-meter):
5930 * html/HTMLAttributeNames.in:
5931 * html/HTMLElement.cpp:
5932 (WebCore::inlineTagList):
5933 * html/HTMLElementsAllInOne.cpp:
5934 * html/HTMLMeterElement.cpp: Added.
5935 (WebCore::HTMLMeterElement::HTMLMeterElement):
5936 (WebCore::HTMLMeterElement::create):
5937 (WebCore::HTMLMeterElement::createRenderer):
5938 (WebCore::HTMLMeterElement::formControlType):
5939 (WebCore::HTMLMeterElement::parseMappedAttribute):
5940 (WebCore::HTMLMeterElement::min):
5941 (WebCore::HTMLMeterElement::setMin):
5942 (WebCore::HTMLMeterElement::max):
5943 (WebCore::HTMLMeterElement::setMax):
5944 (WebCore::HTMLMeterElement::value):
5945 (WebCore::HTMLMeterElement::setValue):
5946 (WebCore::HTMLMeterElement::low):
5947 (WebCore::HTMLMeterElement::setLow):
5948 (WebCore::HTMLMeterElement::high):
5949 (WebCore::HTMLMeterElement::setHigh):
5950 (WebCore::HTMLMeterElement::optimum):
5951 (WebCore::HTMLMeterElement::setOptimum):
5952 * html/HTMLMeterElement.h: Added.
5953 (WebCore::HTMLMeterElement::recalcWillValidate):
5954 * html/HTMLMeterElement.idl: Added.
5955 * html/HTMLTagNames.in:
5956 * page/DOMWindow.idl:
5957 * platform/ThemeTypes.h:
5958 * rendering/RenderMeter.cpp: Added.
5959 (WebCore::RenderMeter::RenderMeter):
5960 (WebCore::RenderMeter::layout):
5961 (WebCore::RenderMeter::updateFromElement):
5962 * rendering/RenderMeter.h: Added.
5963 (WebCore::RenderMeter::renderName):
5964 (WebCore::RenderMeter::isMeter):
5965 (WebCore::toRenderMeter):
5966 * rendering/RenderObject.h:
5967 (WebCore::RenderObject::isMeter):
5968 * rendering/RenderTheme.cpp:
5969 (WebCore::RenderTheme::adjustStyle):
5970 (WebCore::RenderTheme::paint):
5971 (WebCore::RenderTheme::paintBorderOnly):
5972 (WebCore::RenderTheme::paintDecorations):
5973 (WebCore::RenderTheme::adjustMeterStyle):
5974 (WebCore::RenderTheme::paintMeter):
5975 * rendering/RenderTheme.h:
5977 2010-05-15 Eric Uhrhane <ericu@chromium.org>
5979 Reviewed by Dmitry Titov.
5981 Add bindings for async DB API in Workers.
5982 https://bugs.webkit.org/show_bug.cgi?id=34992
5984 Tests: storage/change-version-handle-reuse-worker.html
5985 storage/execute-sql-args-worker.html
5987 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
5988 (WebCore::JSWorkerContext::openDatabase):
5990 * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
5991 (WebCore::V8WorkerContext::openDatabaseCallback):
5993 Add NoStaticTables flags to all objects now shared with workers.
5994 * storage/Database.idl:
5995 * storage/SQLError.idl:
5996 * storage/SQLResultSet.idl:
5997 * storage/SQLResultSetRowList.idl:
5998 * storage/SQLTransaction.idl:
6000 * workers/WorkerContext.h: Add databaseExceededQuota.
6001 * workers/WorkerContext.cpp:
6002 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
6003 (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
6005 Add the IDL for the call to openDatabase.
6006 * workers/WorkerContext.idl:
6008 2010-05-15 Leandro Pereira <leandro@profusion.mobi>
6010 Reviewed by Adam Treat.
6012 [EFL] Add build system for the EFL port.
6013 http://webkit.org/b/37945
6015 * CMakeLists.txt: Added.
6016 * CMakeListsEfl.txt: Added.
6017 * config.h: Add conditional to look for cmakeconfig.h.
6019 2010-05-15 Adam Barth <abarth@webkit.org>
6021 Reviewed by Darin Adler.
6023 Clipboard.setData doesn't need to be custom
6024 https://bugs.webkit.org/show_bug.cgi?id=39133
6026 The implementation of the custom binding for this function was a bit
6027 different than its declaration in the IDL file. I've updated the IDL
6028 to match the implementation, but we probably should check whether our
6029 behavior is correct with respect to the specification.
6031 No tests because I've maintained our current behavior.
6033 * bindings/js/JSClipboardCustom.cpp:
6034 * bindings/v8/custom/V8ClipboardCustom.cpp:
6035 * dom/Clipboard.idl:
6037 2010-05-15 Yaar Schnitman <yaar@chromium.org>
6039 Reviewed by Adam Barth.
6041 V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches.
6042 https://bugs.webkit.org/show_bug.cgi?id=38920
6044 Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator.
6046 * bindings/scripts/CodeGenerator.pm:
6047 * bindings/scripts/CodeGeneratorJS.pm:
6048 * bindings/scripts/CodeGeneratorV8.pm:
6049 * bindings/scripts/test/JS/JSTestCallback.cpp:
6050 (WebCore::JSTestCallback::JSTestCallback):
6051 (WebCore::JSTestCallback::~JSTestCallback):
6052 * bindings/scripts/test/JS/JSTestCallback.h:
6053 * bindings/scripts/test/JS/JSTestObj.cpp:
6055 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
6056 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
6057 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
6058 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
6059 (WebCore::testObjPrototypeFunctionOverloadedMethod):
6060 * bindings/scripts/test/JS/JSTestObj.h:
6061 * bindings/scripts/test/TestObj.idl:
6063 2010-05-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
6065 Reviewed by Xan Lopez.
6067 https://bugs.webkit.org/show_bug.cgi?id=30500
6068 [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
6070 The "announcement" is now made in the form of an object attribute
6071 associated with the AtkObject.
6073 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
6074 (webkit_accessible_get_attributes):
6076 2010-05-15 Adam Barth <abarth@webkit.org>
6078 Reviewed by Darin Adler.
6080 Show a console message when X-Frame-Options blocks a load
6081 https://bugs.webkit.org/show_bug.cgi?id=39087
6083 The blank page confuses people when X-Frame-Options blocks a load. The
6084 console message should at least give them a hint as to what's going on.
6087 (WebCore::Document::processHttpEquiv):
6089 2010-05-15 Ilya Tikhonovsky <loislo@chromium.org>
6091 Reviewed by Geoffrey Garen.
6093 WebInspector: JSC Should provide heap size info for Timeline panel.
6094 https://bugs.webkit.org/show_bug.cgi?id=38420
6098 * WebCore.vcproj/WebCore.vcproj:
6099 * WebCore.xcodeproj/project.pbxproj:
6100 * bindings/js/ScriptGCEvent.cpp: Added.
6101 (WebCore::ScriptGCEvent::getHeapSize):
6102 * bindings/js/ScriptGCEvent.h:
6104 2010-05-15 Dave Tapuska <dtapuska@rim.com>
6106 Reviewed by Darin Adler.
6108 Fix alignment faults on ARMv5TE architectures.
6110 In debug mode the RenderAreaDebugHeader was 12 bytes which
6111 caused an alignment failure for RenderObjects because they
6112 would start on a 4 byte boundary. Align the RenderArenaDebugHeader
6113 using the ARENA_ALIGN macro.
6115 In NDEBUG mode the RenderArena objects come from a pool which
6116 has 4 byte alignment. Allow the alignment to be based on the
6117 AllocAlignmentInteger. This define will be activated for ARMv5TE.
6119 https://bugs.webkit.org/show_bug.cgi?id=19946
6121 2010-05-14 Adam Barth <abarth@webkit.org>
6123 Reviewed by Darin Adler.
6125 XMLHttpRequest.overrideMimeType doesn't need to be custom
6126 https://bugs.webkit.org/show_bug.cgi?id=39127
6128 I don't see any reason why this method should be custom. No tests
6129 because no behavior change.
6131 * bindings/js/JSXMLHttpRequestCustom.cpp:
6132 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
6133 * xml/XMLHttpRequest.idl:
6135 2010-05-14 Adele Peterson <adele@apple.com>
6137 Reviewed by Dave Hyatt.
6139 Fix for https://bugs.webkit.org/show_bug.cgi?id=39095
6140 <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left
6142 Test: editing/selection/applystyle-to-inline-inside-block.html
6144 * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling
6145 downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to
6146 jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced).
6148 2010-05-14 Brian Weinstein <bweinstein@apple.com>
6150 Reviewed by Mark Rowe.
6152 Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally,
6153 use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead
6156 * WebCore.vcproj/WebCore.make:
6158 2010-05-14 Stephanie Lewis <slewis@apple.com>
6160 Rubber-stamped by Mark Rowe.
6166 2010-05-14 David Hyatt <hyatt@apple.com>
6168 Reviewed by Simon Fraser.
6170 https://bugs.webkit.org/show_bug.cgi?id=39137
6172 Make RenderLayers position properly inside multicolumn layout.
6174 (1) Create RenderLayers when column properties are specified. This allows descendant layers to easily
6175 know they are inside a multicolumn layout when positioning.
6177 (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer. Splitting
6178 of a layer across columns still does not work, but the layer will now at least appear in the first column in
6181 (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers
6182 are involved. Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases
6183 working properly). With this change elements like <video> will paginate properly and not get split across pages.
6185 (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to
6188 (5) Fix RTL pagination by making sure the column pagination rects are the content width of the whole block and not just
6189 the width of one column.
6191 Added fast/multicol/layers-in-multicol.html
6193 * rendering/RenderBlock.cpp:
6194 (WebCore::RenderBlock::layoutColumns):
6195 (WebCore::RenderBlock::adjustForColumns):
6196 * rendering/RenderBox.h:
6197 (WebCore::RenderBox::locationOffset):
6198 * rendering/RenderBoxModelObject.h:
6199 (WebCore::RenderBoxModelObject::requiresLayer):
6200 * rendering/RenderLayer.cpp:
6201 (WebCore::RenderLayer::updateLayerPosition):
6202 (WebCore::RenderLayer::convertToLayerCoords):
6203 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
6204 * rendering/RenderLineBoxList.cpp:
6205 (WebCore::RenderLineBoxList::paint):
6206 * rendering/RenderView.cpp:
6207 (WebCore::RenderView::RenderView):
6208 * rendering/RenderView.h:
6209 (WebCore::RenderView::requiresLayer):
6210 * rendering/style/RenderStyle.h:
6211 (WebCore::InheritedFlags::specifiesColumns):
6213 2010-05-14 Leon Clarke <leonclarke@google.com>
6215 Reviewed by Steve Block.
6217 Refactor signature of tokenizeRelAttribute and the variables it refers to so that new features don't keep changing the signature, and make m_disabledState into an enum.
6218 https://bugs.webkit.org/show_bug.cgi?id=38900
6220 No new tests. Refactoring only.
6222 * html/HTMLLinkElement.cpp:
6223 (WebCore::HTMLLinkElement::HTMLLinkElement):
6224 (WebCore::HTMLLinkElement::setDisabledState):
6225 (WebCore::HTMLLinkElement::parseMappedAttribute):
6226 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
6227 (WebCore::HTMLLinkElement::process):
6228 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
6229 * html/HTMLLinkElement.h:
6230 (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
6231 (WebCore::HTMLLinkElement::isAlternate):
6232 (WebCore::HTMLLinkElement::isDisabled):
6233 (WebCore::HTMLLinkElement::isEnabledViaScript):
6234 (WebCore::HTMLLinkElement::isIcon):
6235 (WebCore::HTMLLinkElement::):
6236 * html/PreloadScanner.cpp:
6237 (WebCore::PreloadScanner::processAttribute):
6239 2010-05-14 Noam Rosenthal <noam.rosenthal@nokia.com>
6241 Reviewed by Kenneth Rohde Christiansen.
6243 [Qt] GraphicsLayer caches directly composited images
6244 https://bugs.webkit.org/show_bug.cgi?id=38444
6246 Directly-composited images and solid fills shouldn't be cached, as that cache
6247 is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content,
6248 but we were missing that test.
6249 The fix makes sure we only cache HTML content.
6251 No new tests: this is a minor optimization.
6253 * platform/graphics/qt/GraphicsLayerQt.cpp:
6254 (WebCore::GraphicsLayerQtImpl::flushChanges):
6256 2010-05-14 Brian Weinstein <bweinstein@apple.com>
6258 Reviewed by Mark Rowe.
6260 Build fix. Had the environment variables wrong for source and destination of the copy operation
6263 * WebCore.vcproj/WebCore.make:
6265 2010-05-14 Adam Barth <abarth@webkit.org>
6267 Reviewed by Eric Seidel.
6269 Remove custom bindings for HTMLInputElement
6270 https://bugs.webkit.org/show_bug.cgi?id=38344
6272 Fix a bug in the TestObj.idl file and update expected results. This
6273 was originally part of a larger change reviewed by Eric, but I'm
6274 landing it separately to help me understand the more interesting bits
6275 of the patch clearly.
6277 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
6278 (webkit_dom_test_obj_get_attr_with_setter_exception):
6279 (webkit_dom_test_obj_set_attr_with_setter_exception):
6280 (webkit_dom_test_obj_set_attr_with_getter_exception):
6281 (webkit_dom_test_obj_set_property):
6282 (webkit_dom_test_obj_get_property):
6283 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
6284 * bindings/scripts/test/JS/JSTestObj.cpp:
6285 (WebCore::jsTestObjAttrWithSetterException):
6286 (WebCore::setJSTestObjAttrWithSetterException):
6287 (WebCore::setJSTestObjAttrWithGetterException):
6288 * bindings/scripts/test/ObjC/DOMTestObj.mm:
6289 (-[DOMTestObj attrWithSetterException]):
6290 (-[DOMTestObj setAttrWithSetterException:]):
6291 (-[DOMTestObj setAttrWithGetterException:]):
6292 * bindings/scripts/test/TestObj.idl:
6293 * bindings/scripts/test/V8/V8TestObj.cpp:
6294 (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
6295 (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
6296 (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
6298 2010-05-14 Kenneth Russell <kbr@google.com>
6300 Reviewed by Darin Adler.
6302 Rename WebGLArray types to TypedArray types
6303 https://bugs.webkit.org/show_bug.cgi?id=39091
6305 Extended functionality of do-webcore-rename script and used it to
6306 rename the WebGLArray types to the TypedArray naming convention.
6307 The only source files which were touched by hand, and which are
6308 being manually reviewed, are:
6309 WebCore/page/DOMWindow.idl
6310 WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
6311 WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
6312 WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
6313 These only needed to be touched to update the aliases between the
6314 WebGLArray and TypedArray names introduced in bug 39036. (It was
6315 not feasible to have do-webcore-rename handle this as it would
6316 introduce circular renamings.) These aliases will be removed in
6317 roughly a month once existing WebGL content has been updated.
6319 No new tests; covered under existing WebGL tests. Updated
6320 constructed-objects-prototypes and prototype-inheritance-2 tests.
6321 Ran all layout tests in Safari and all WebGL tests in Chromium.
6323 * DerivedSources.make:
6328 * WebCore.xcodeproj/project.pbxproj:
6329 * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp.
6331 (WebCore::JSArrayBufferConstructor::JSArrayBufferConstructor):
6332 (WebCore::constructCanvasArrayBuffer):
6333 (WebCore::JSArrayBufferConstructor::getConstructData):
6334 * bindings/js/JSArrayBufferConstructor.h: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.h.
6335 (WebCore::construct):
6336 * bindings/js/JSArrayBufferViewCustom.cpp: Copied from WebCore/bindings/js/JSWebGLArrayCustom.cpp.
6338 (WebCore::JSArrayBufferView::slice):
6339 * bindings/js/JSArrayBufferViewHelper.h: Copied from WebCore/bindings/js/JSWebGLArrayHelper.h.
6340 * bindings/js/JSDOMWindowCustom.cpp:
6341 (WebCore::JSDOMWindow::arrayBuffer):
6342 (WebCore::JSDOMWindow::int8Array):
6343 (WebCore::JSDOMWindow::uint8Array):
6344 (WebCore::JSDOMWindow::int32Array):
6345 (WebCore::JSDOMWindow::uint32Array):
6346 (WebCore::JSDOMWindow::int16Array):
6347 (WebCore::JSDOMWindow::uint16Array):
6348 (WebCore::JSDOMWindow::floatArray):
6349 (WebCore::JSDOMWindow::webGLArrayBuffer):
6350 (WebCore::JSDOMWindow::webGLByteArray):
6351 (WebCore::JSDOMWindow::webGLUnsignedByteArray):
6352 (WebCore::JSDOMWindow::webGLIntArray):
6353 (WebCore::JSDOMWindow::webGLUnsignedIntArray):
6354 (WebCore::JSDOMWindow::webGLShortArray):
6355 (WebCore::JSDOMWindow::webGLUnsignedShortArray):
6356 (WebCore::JSDOMWindow::webGLFloatArray):
6357 * bindings/js/JSFloatArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp.
6359 (WebCore::JSFloatArrayConstructor::JSFloatArrayConstructor):
6360 (WebCore::constructCanvasFloatArray):
6361 (WebCore::JSFloatArrayConstructor::getConstructData):
6362 * bindings/js/JSFloatArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.h.
6363 * bindings/js/JSFloatArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp.
6364 (WebCore::JSFloatArray::indexSetter):
6366 (WebCore::JSFloatArray::set):
6367 * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp.
6369 (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
6370 (WebCore::constructCanvasShortArray):
6371 (WebCore::JSInt16ArrayConstructor::getConstructData):
6372 * bindings/js/JSInt16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.h.
6373 * bindings/js/JSInt16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayCustom.cpp.
6374 (WebCore::JSInt16Array::indexSetter):
6376 (WebCore::JSInt16Array::set):
6377 * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp.
6379 (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
6380 (WebCore::constructCanvasIntArray):
6381 (WebCore::JSInt32ArrayConstructor::getConstructData):
6382 * bindings/js/JSInt32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.h.
6383 * bindings/js/JSInt32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayCustom.cpp.
6384 (WebCore::JSInt32Array::indexSetter):
6386 (WebCore::JSInt32Array::set):
6387 * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp.
6389 (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
6390 (WebCore::constructCanvasByteArray):
6391 (WebCore::JSInt8ArrayConstructor::getConstructData):
6392 * bindings/js/JSInt8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.h.
6393 * bindings/js/JSInt8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayCustom.cpp.
6394 (WebCore::JSInt8Array::indexSetter):
6396 (WebCore::JSInt8Array::set):
6397 * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp.
6399 (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
6400 (WebCore::constructCanvasUnsignedShortArray):
6401 (WebCore::JSUint16ArrayConstructor::getConstructData):
6402 * bindings/js/JSUint16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h.
6403 * bindings/js/JSUint16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp.
6404 (WebCore::JSUint16Array::indexSetter):
6406 (WebCore::JSUint16Array::set):
6407 * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp.
6409 (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
6410 (WebCore::constructCanvasUnsignedIntArray):
6411 (WebCore::JSUint32ArrayConstructor::getConstructData):
6412 * bindings/js/JSUint32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h.
6413 * bindings/js/JSUint32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp.
6414 (WebCore::JSUint32Array::indexSetter):
6416 (WebCore::JSUint32Array::set):
6417 * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp.
6419 (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
6420 (WebCore::constructCanvasUnsignedByteArray):
6421 (WebCore::JSUint8ArrayConstructor::getConstructData):
6422 * bindings/js/JSUint8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h.
6423 * bindings/js/JSUint8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp.
6424 (WebCore::JSUint8Array::indexSetter):
6426 (WebCore::JSUint8Array::set):
6427 * bindings/js/JSWebGLArrayBufferConstructor.cpp: Removed.
6428 * bindings/js/JSWebGLArrayBufferConstructor.h: Removed.
6429 * bindings/js/JSWebGLArrayCustom.cpp: Removed.
6430 * bindings/js/JSWebGLArrayHelper.h: Removed.
6431 * bindings/js/JSWebGLByteArrayConstructor.cpp: Removed.
6432 * bindings/js/JSWebGLByteArrayConstructor.h: Removed.
6433 * bindings/js/JSWebGLByteArrayCustom.cpp: Removed.
6434 * bindings/js/JSWebGLFloatArrayConstructor.cpp: Removed.
6435 * bindings/js/JSWebGLFloatArrayConstructor.h: Removed.
6436 * bindings/js/JSWebGLFloatArrayCustom.cpp: Removed.
6437 * bindings/js/JSWebGLIntArrayConstructor.cpp: Removed.
6438 * bindings/js/JSWebGLIntArrayConstructor.h: Removed.
6439 * bindings/js/JSWebGLIntArrayCustom.cpp: Removed.
6440 * bindings/js/JSWebGLRenderingContextCustom.cpp:
6441 (WebCore::JSWebGLRenderingContext::bufferData):
6442 (WebCore::JSWebGLRenderingContext::bufferSubData):
6443 (WebCore::JSWebGLRenderingContext::texImage2D):
6444 (WebCore::JSWebGLRenderingContext::texSubImage2D):
6445 (WebCore::dataFunctionf):
6446 (WebCore::dataFunctioni):
6447 (WebCore::dataFunctionMatrix):
6448 * bindings/js/JSWebGLShortArrayConstructor.cpp: Removed.
6449 * bindings/js/JSWebGLShortArrayConstructor.h: Removed.
6450 * bindings/js/JSWebGLShortArrayCustom.cpp: Removed.
6451 * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: Removed.
6452 * bindings/js/JSWebGLUnsignedByteArrayConstructor.h: Removed.
6453 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: Removed.
6454 * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: Removed.
6455 * bindings/js/JSWebGLUnsignedIntArrayConstructor.h: Removed.
6456 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: Removed.
6457 * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: Removed.
6458 * bindings/js/JSWebGLUnsignedShortArrayConstructor.h: Removed.
6459 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: Removed.
6460 * bindings/v8/V8DOMWrapper.cpp:
6461 * bindings/v8/custom/V8ArrayBufferCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp.
6462 (WebCore::V8ArrayBuffer::constructorCallback):
6463 * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.cpp.
6465 (WebCore::V8ArrayBufferView::sliceCallback):
6466 * bindings/v8/custom/V8ArrayBufferViewCustom.h: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.h.
6467 (WebCore::constructWebGLArray):
6468 * bindings/v8/custom/V8DOMWindowCustom.cpp:
6469 (WebCore::V8DOMWindow::WebGLArrayBufferAccessorGetter):
6470 (WebCore::V8DOMWindow::WebGLByteArrayAccessorGetter):
6471 (WebCore::V8DOMWindow::WebGLUnsignedByteArrayAccessorGetter):
6472 (WebCore::V8DOMWindow::WebGLShortArrayAccessorGetter):
6473 (WebCore::V8DOMWindow::WebGLUnsignedShortArrayAccessorGetter):
6474 (WebCore::V8DOMWindow::WebGLIntArrayAccessorGetter):
6475 (WebCore::V8DOMWindow::WebGLUnsignedIntArrayAccessorGetter):
6476 (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
6477 * bindings/v8/custom/V8FloatArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp.
6478 (WebCore::V8FloatArray::constructorCallback):
6479 (WebCore::V8FloatArray::setCallback):
6481 * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp.
6482 (WebCore::V8Int16Array::constructorCallback):
6483 (WebCore::V8Int16Array::setCallback):
6485 * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp.
6486 (WebCore::V8Int32Array::constructorCallback):
6487 (WebCore::V8Int32Array::setCallback):
6489 * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp.
6490 (WebCore::V8Int8Array::constructorCallback):
6491 (WebCore::V8Int8Array::setCallback):
6493 * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp.
6494 (WebCore::V8Uint16Array::constructorCallback):
6495 (WebCore::V8Uint16Array::setCallback):
6497 * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp.
6498 (WebCore::V8Uint32Array::constructorCallback):
6499 (WebCore::V8Uint32Array::setCallback):
6501 * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp.
6502 (WebCore::V8Uint8Array::constructorCallback):
6503 (WebCore::V8Uint8Array::setCallback):
6505 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: Removed.
6506 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Removed.
6507 * bindings/v8/custom/V8WebGLArrayCustom.h: Removed.
6508 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: Removed.
6509 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: Removed.
6510 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: Removed.
6511 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
6512 (WebCore::vertexAttribAndUniformHelperf):
6513 (WebCore::uniformHelperi):
6514 (WebCore::uniformMatrixHelper):
6515 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: Removed.
6516 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: Removed.
6517 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: Removed.
6518 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: Removed.
6519 * html/canvas/ArrayBuffer.cpp: Copied from WebCore/html/canvas/WebGLArrayBuffer.cpp.
6520 (WebCore::ArrayBuffer::create):
6521 (WebCore::ArrayBuffer::ArrayBuffer):
6522 (WebCore::ArrayBuffer::data):
6523 (WebCore::ArrayBuffer::byteLength):
6524 (WebCore::ArrayBuffer::~ArrayBuffer):
6525 (WebCore::ArrayBuffer::tryAllocate):
6526 * html/canvas/ArrayBuffer.h: Copied from WebCore/html/canvas/WebGLArrayBuffer.h.
6527 * html/canvas/ArrayBuffer.idl: Copied from WebCore/html/canvas/WebGLArrayBuffer.idl.
6528 * html/canvas/ArrayBufferView.cpp: Copied from WebCore/html/canvas/WebGLArray.cpp.
6529 (WebCore::ArrayBufferView::ArrayBufferView):
6530 (WebCore::ArrayBufferView::~ArrayBufferView):
6531 (WebCore::ArrayBufferView::setImpl):
6532 (WebCore::ArrayBufferView::calculateOffsetAndLength):
6533 * html/canvas/ArrayBufferView.h: Copied from WebCore/html/canvas/WebGLArray.h.
6534 (WebCore::ArrayBufferView::buffer):
6535 (WebCore::ArrayBufferView::verifySubRange):
6536 (WebCore::ArrayBufferView::clampOffsetAndNumElements):
6537 * html/canvas/ArrayBufferView.idl: Copied from WebCore/html/canvas/WebGLArray.idl.
6538 * html/canvas/FloatArray.cpp: Copied from WebCore/html/canvas/WebGLFloatArray.cpp.
6539 (WebCore::FloatArray::create):
6540 (WebCore::FloatArray::FloatArray):
6541 (WebCore::FloatArray::slice):
6542 * html/canvas/FloatArray.h: Copied from WebCore/html/canvas/WebGLFloatArray.h.
6543 (WebCore::FloatArray::set):
6544 (WebCore::FloatArray::item):
6545 * html/canvas/FloatArray.idl: Copied from WebCore/html/canvas/WebGLFloatArray.idl.
6546 * html/canvas/Int16Array.cpp: Copied from WebCore/html/canvas/WebGLShortArray.cpp.
6547 (WebCore::Int16Array::create):
6548 (WebCore::Int16Array::Int16Array):
6549 (WebCore::Int16Array::slice):
6550 * html/canvas/Int16Array.h: Copied from WebCore/html/canvas/WebGLShortArray.h.
6551 * html/canvas/Int16Array.idl: Copied from WebCore/html/canvas/WebGLShortArray.idl.
6552 * html/canvas/Int32Array.cpp: Copied from WebCore/html/canvas/WebGLIntArray.cpp.
6553 (WebCore::Int32Array::create):
6554 (WebCore::Int32Array::Int32Array):
6555 (WebCore::Int32Array::slice):
6556 * html/canvas/Int32Array.h: Copied from WebCore/html/canvas/WebGLIntArray.h.
6557 * html/canvas/Int32Array.idl: Copied from WebCore/html/canvas/WebGLIntArray.idl.
6558 * html/canvas/Int8Array.cpp: Copied from WebCore/html/canvas/WebGLByteArray.cpp.
6559 (WebCore::Int8Array::create):
6560 (WebCore::Int8Array::Int8Array):
6561 (WebCore::Int8Array::slice):
6562 * html/canvas/Int8Array.h: Copied from WebCore/html/canvas/WebGLByteArray.h.
6563 * html/canvas/Int8Array.idl: Copied from WebCore/html/canvas/WebGLByteArray.idl.
6564 * html/canvas/IntegralTypedArrayBase.h: Copied from WebCore/html/canvas/WebGLIntegralTypedArrayBase.h.
6565 (WebCore::IntegralTypedArrayBase::set):
6566 (WebCore::IntegralTypedArrayBase::item):
6567 (WebCore::IntegralTypedArrayBase::IntegralTypedArrayBase):
6568 * html/canvas/TypedArrayBase.h: Copied from WebCore/html/canvas/WebGLTypedArrayBase.h.
6569 (WebCore::TypedArrayBase::set):
6570 (WebCore::TypedArrayBase::TypedArrayBase):
6571 (WebCore::TypedArrayBase::create):
6572 * html/canvas/Uint16Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.cpp.
6573 (WebCore::Uint16Array::create):
6574 (WebCore::Uint16Array::Uint16Array):
6575 (WebCore::Uint16Array::slice):
6576 * html/canvas/Uint16Array.h: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.h.
6577 * html/canvas/Uint16Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.idl.
6578 * html/canvas/Uint32Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.cpp.
6579 (WebCore::Uint32Array::create):
6580 (WebCore::Uint32Array::Uint32Array):
6581 (WebCore::Uint32Array::slice):
6582 * html/canvas/Uint32Array.h: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.h.
6583 * html/canvas/Uint32Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.idl.
6584 * html/canvas/Uint8Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.cpp.
6585 (WebCore::Uint8Array::create):
6586 (WebCore::Uint8Array::Uint8Array):
6587 (WebCore::Uint8Array::slice):
6588 * html/canvas/Uint8Array.h: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.h.
6589 * html/canvas/Uint8Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.idl.
6590 * html/canvas/WebGLArray.cpp: Removed.
6591 * html/canvas/WebGLArray.h: Removed.
6592 * html/canvas/WebGLArray.idl: Removed.
6593 * html/canvas/WebGLArrayBuffer.cpp: Removed.
6594 * html/canvas/WebGLArrayBuffer.h: Removed.
6595 * html/canvas/WebGLArrayBuffer.idl: Removed.
6596 * html/canvas/WebGLBuffer.cpp:
6597 (WebCore::WebGLBuffer::associateBufferData):
6598 (WebCore::WebGLBuffer::associateBufferSubData):
6599 * html/canvas/WebGLBuffer.h:
6600 (WebCore::WebGLBuffer::elementArrayBuffer):
6601 * html/canvas/WebGLByteArray.cpp: Removed.
6602 * html/canvas/WebGLByteArray.h: Removed.
6603 * html/canvas/WebGLByteArray.idl: Removed.
6604 * html/canvas/WebGLFloatArray.cpp: Removed.
6605 * html/canvas/WebGLFloatArray.h: Removed.
6606 * html/canvas/WebGLFloatArray.idl: Removed.
6607 * html/canvas/WebGLGetInfo.cpp:
6608 (WebCore::WebGLGetInfo::WebGLGetInfo):
6609 (WebCore::WebGLGetInfo::getWebGLFloatArray):
6610 (WebCore::WebGLGetInfo::getWebGLIntArray):
6611 (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
6612 * html/canvas/WebGLGetInfo.h:
6613 * html/canvas/WebGLIntArray.cpp: Removed.
6614 * html/canvas/WebGLIntArray.h: Removed.
6615 * html/canvas/WebGLIntArray.idl: Removed.
6616 * html/canvas/WebGLIntegralTypedArrayBase.h: Removed.
6617 * html/canvas/WebGLRenderingContext.cpp:
6618 (WebCore::WebGLRenderingContext::bufferData):
6619 (WebCore::WebGLRenderingContext::bufferSubData):
6620 (WebCore::WebGLRenderingContext::getUniform):
6621 (WebCore::WebGLRenderingContext::getVertexAttrib):
6622 (WebCore::WebGLRenderingContext::readPixels):
6623 (WebCore::WebGLRenderingContext::texImage2D):
6624 (WebCore::WebGLRenderingContext::texSubImage2D):
6625 (WebCore::WebGLRenderingContext::uniform1fv):
6626 (WebCore::WebGLRenderingContext::uniform1iv):
6627 (WebCore::WebGLRenderingContext::uniform2fv):
6628 (WebCore::WebGLRenderingContext::uniform2iv):
6629 (WebCore::WebGLRenderingContext::uniform3fv):
6630 (WebCore::WebGLRenderingContext::uniform3iv):
6631 (WebCore::WebGLRenderingContext::uniform4fv):
6632 (WebCore::WebGLRenderingContext::uniform4iv):
6633 (WebCore::WebGLRenderingContext::uniformMatrix2fv):
6634 (WebCore::WebGLRenderingContext::uniformMatrix3fv):
6635 (WebCore::WebGLRenderingContext::uniformMatrix4fv):
6636 (WebCore::WebGLRenderingContext::vertexAttrib1fv):
6637 (WebCore::WebGLRenderingContext::vertexAttrib2fv):
6638 (WebCore::WebGLRenderingContext::vertexAttrib3fv):
6639 (WebCore::WebGLRenderingContext::vertexAttrib4fv):
6640 (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
6641 (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
6642 (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
6643 * html/canvas/WebGLRenderingContext.h:
6644 * html/canvas/WebGLRenderingContext.idl:
6645 * html/canvas/WebGLShortArray.cpp: Removed.
6646 * html/canvas/WebGLShortArray.h: Removed.
6647 * html/canvas/WebGLShortArray.idl: Removed.
6648 * html/canvas/WebGLTypedArrayBase.h: Removed.
6649 * html/canvas/WebGLUnsignedByteArray.cpp: Removed.
6650 * html/canvas/WebGLUnsignedByteArray.h: Removed.
6651 * html/canvas/WebGLUnsignedByteArray.idl: Removed.
6652 * html/canvas/WebGLUnsignedIntArray.cpp: Removed.
6653 * html/canvas/WebGLUnsignedIntArray.h: Removed.
6654 * html/canvas/WebGLUnsignedIntArray.idl: Removed.
6655 * html/canvas/WebGLUnsignedShortArray.cpp: Removed.
6656 * html/canvas/WebGLUnsignedShortArray.h: Removed.
6657 * html/canvas/WebGLUnsignedShortArray.idl: Removed.
6658 * page/DOMWindow.idl:
6659 * platform/graphics/GraphicsContext3D.h:
6660 * platform/graphics/mac/GraphicsContext3DMac.cpp:
6661 (WebCore::GraphicsContext3D::bufferData):
6662 (WebCore::GraphicsContext3D::bufferSubData):
6663 * platform/graphics/qt/GraphicsContext3DQt.cpp:
6664 (WebCore::GraphicsContext3D::bufferData):
6665 (WebCore::GraphicsContext3D::bufferSubData):
6667 2010-05-14 Steve Falkenburg <sfalken@apple.com>
6669 Reviewed by Sam Weinig.
6671 <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values
6672 https://bugs.webkit.org/show_bug.cgi?id=39132
6674 * platform/network/cf/ResourceHandleCFNet.cpp:
6675 (WebCore::createConnectionProperties):
6677 2010-05-14 Abhishek Arya <inferno@chromium.org>
6679 Reviewed by David Hyatt.
6681 Move the m_width(Length) and m_columns(RenderTable::ColumnStruct)
6682 vector out-of-bounds check out of the ASSERT into the main code.
6683 https://bugs.webkit.org/show_bug.cgi?id=38261
6685 Test: fast/table/fixed-table-layout-large-colspan-crash.html
6687 * rendering/FixedTableLayout.cpp:
6688 (WebCore::FixedTableLayout::calcWidthArray):
6690 2010-05-14 Eric Seidel <eric@webkit.org>
6692 Unreviewed, rolling out r59489.
6693 http://trac.webkit.org/changeset/59489
6694 https://bugs.webkit.org/show_bug.cgi?id=37815
6696 abarth broke the known universe and then some.
6698 * Android.jscbindings.mk:
6702 * WebCore.vcproj/WebCore.vcproj:
6703 * WebCore.xcodeproj/project.pbxproj:
6704 * bindings/js/JSBindingsAllInOne.cpp:
6705 * bindings/js/JSCallbackData.cpp:
6706 (WebCore::JSCallbackData::invokeCallback):
6707 * bindings/js/JSEventListener.cpp:
6708 (WebCore::JSEventListener::handleEvent):
6709 * bindings/js/JSInjectedScriptHostCustom.cpp:
6710 (WebCore::InjectedScriptHost::createInjectedScript):
6711 * bindings/js/ScheduledAction.cpp:
6712 (WebCore::ScheduledAction::executeFunctionInContext):
6713 (WebCore::ScheduledAction::execute):
6714 * bindings/js/ScheduledAction.h:
6715 * bindings/js/ScriptController.cpp:
6716 (WebCore::ScriptController::evaluateInWorld):
6717 * bindings/js/ScriptController.h:
6718 * bindings/js/ScriptFunctionCall.cpp:
6719 (WebCore::ScriptFunctionCall::call):
6720 * bindings/objc/ObjCEventListener.mm:
6721 (WebCore::ObjCEventListener::handleEvent):
6722 * bindings/objc/WebScriptObject.mm:
6723 (-[WebScriptObject callWebScriptMethod:withArguments:]):
6724 (-[WebScriptObject evaluateWebScript:]):
6725 * bindings/scripts/CodeGeneratorObjC.pm:
6726 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
6727 (-[DOMTestCallback callbackWithClass1Param:]):
6728 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
6729 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
6730 (-[DOMTestCallback customCallback:class6Param:]):
6731 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
6732 * bindings/scripts/test/ObjC/DOMTestObj.mm:
6733 (-[DOMTestObj readOnlyIntAttr]):
6734 (-[DOMTestObj readOnlyStringAttr]):
6735 (-[DOMTestObj readOnlyTestObjAttr]):
6736 (-[DOMTestObj intAttr]):
6737 (-[DOMTestObj setIntAttr:]):
6738 (-[DOMTestObj longLongAttr]):
6739 (-[DOMTestObj setLongLongAttr:]):
6740 (-[DOMTestObj unsignedLongLongAttr]):
6741 (-[DOMTestObj setUnsignedLongLongAttr:]):
6742 (-[DOMTestObj stringAttr]):
6743 (-[DOMTestObj setStringAttr:]):
6744 (-[DOMTestObj testObjAttr]):
6745 (-[DOMTestObj setTestObjAttr:]):
6746 (-[DOMTestObj attrWithException]):
6747 (-[DOMTestObj setAttrWithException:]):
6748 (-[DOMTestObj attrWithSetterException]):
6749 (-[DOMTestObj setAttrWithSetterException:]):
6750 (-[DOMTestObj attrWithGetterException]):
6751 (-[DOMTestObj setAttrWithGetterException:]):
6752 (-[DOMTestObj customAttr]):
6753 (-[DOMTestObj setCustomAttr:]):
6754 (-[DOMTestObj scriptStringAttr]):
6755 (-[DOMTestObj voidMethod]):
6756 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
6757 (-[DOMTestObj intMethod]):
6758 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
6759 (-[DOMTestObj objMethod]):
6760 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
6761 (-[DOMTestObj serializedValue:]):
6762 (-[DOMTestObj methodWithException]):
6763 (-[DOMTestObj customMethod]):
6764 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
6765 (-[DOMTestObj customArgsAndException:]):
6766 (-[DOMTestObj addEventListener:listener:useCapture:]):
6767 (-[DOMTestObj removeEventListener:listener:useCapture:]):
6768 (-[DOMTestObj withDynamicFrame]):
6769 (-[DOMTestObj withDynamicFrameAndArg:]):
6770 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
6771 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
6772 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
6773 (-[DOMTestObj withScriptStateVoid]):
6774 (-[DOMTestObj withScriptStateObj]):
6775 (-[DOMTestObj withScriptStateVoidException]):
6776 (-[DOMTestObj withScriptStateObjException]):
6777 (-[DOMTestObj methodWithOptionalArg:]):
6778 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
6779 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
6780 * bindings/v8/ScriptController.cpp:
6781 * bindings/v8/ScriptController.h:
6782 * html/HTMLFrameElementBase.cpp:
6783 (WebCore::HTMLFrameElementBase::isURLAllowed):
6785 2010-05-14 Justin Schuh <jschuh@chromium.org>
6787 Reviewed by Adam Barth.
6789 Moving frame.src checks out of the bindings
6790 https://bugs.webkit.org/show_bug.cgi?id=37815
6792 Moved JavaScript frame.src checks out of bindings and into
6793 HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
6794 so ExecState is available inside core DOM. Updated affected bindings
6795 (except for GObject, which will need to be updated to avoid origin
6796 failures inside native code).
6798 * Android.jscbindings.mk:
6802 * WebCore.vcproj/WebCore.vcproj:
6803 * WebCore.xcodeproj/project.pbxproj:
6804 * bindings/js/JSBindingsAllInOne.cpp:
6805 * bindings/js/JSCallbackData.cpp:
6806 (WebCore::JSCallbackData::invokeCallback):
6807 * bindings/js/JSEventListener.cpp:
6808 (WebCore::JSEventListener::handleEvent):
6809 * bindings/js/JSInjectedScriptHostCustom.cpp:
6810 (WebCore::InjectedScriptHost::createInjectedScript):
6811 * bindings/js/ScheduledAction.cpp:
6812 (WebCore::ScheduledAction::executeFunctionInContext):
6813 (WebCore::ScheduledAction::execute):
6814 * bindings/js/ScheduledAction.h:
6815 * bindings/js/ScriptController.cpp:
6816 (WebCore::ScriptController::evaluateInWorld):
6817 (WebCore::ScriptController::canAccessFromCurrentOrigin):
6818 * bindings/js/ScriptController.h:
6819 * bindings/js/ScriptFunctionCall.cpp:
6820 (WebCore::ScriptFunctionCall::call):
6821 * bindings/objc/ObjCEventListener.mm:
6822 (WebCore::ObjCEventListener::handleEvent):
6823 * bindings/objc/WebScriptObject.mm:
6824 (-[WebScriptObject callWebScriptMethod:withArguments:]):
6825 (-[WebScriptObject evaluateWebScript:]):
6826 * bindings/scripts/CodeGeneratorObjC.pm:
6827 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
6828 (-[DOMTestCallback callbackWithClass1Param:]):
6829 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
6830 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
6831 (-[DOMTestCallback customCallback:class6Param:]):
6832 * bindings/scripts/test/ObjC/DOMTestInterface.mm:
6833 * bindings/scripts/test/ObjC/DOMTestObj.mm:
6834 (-[DOMTestObj readOnlyIntAttr]):
6835 (-[DOMTestObj readOnlyStringAttr]):
6836 (-[DOMTestObj readOnlyTestObjAttr]):
6837 (-[DOMTestObj intAttr]):
6838 (-[DOMTestObj setIntAttr:]):
6839 (-[DOMTestObj longLongAttr]):
6840 (-[DOMTestObj setLongLongAttr:]):
6841 (-[DOMTestObj unsignedLongLongAttr]):
6842 (-[DOMTestObj setUnsignedLongLongAttr:]):
6843 (-[DOMTestObj stringAttr]):
6844 (-[DOMTestObj setStringAttr:]):
6845 (-[DOMTestObj testObjAttr]):
6846 (-[DOMTestObj setTestObjAttr:]):
6847 (-[DOMTestObj attrWithException]):
6848 (-[DOMTestObj setAttrWithException:]):
6849 (-[DOMTestObj attrWithSetterException]):
6850 (-[DOMTestObj setAttrWithSetterException:]):
6851 (-[DOMTestObj attrWithGetterException]):
6852 (-[DOMTestObj setAttrWithGetterException:]):
6853 (-[DOMTestObj customAttr]):
6854 (-[DOMTestObj setCustomAttr:]):
6855 (-[DOMTestObj scriptStringAttr]):
6856 (-[DOMTestObj voidMethod]):
6857 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
6858 (-[DOMTestObj intMethod]):
6859 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
6860 (-[DOMTestObj objMethod]):
6861 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
6862 (-[DOMTestObj serializedValue:]):
6863 (-[DOMTestObj methodWithException]):
6864 (-[DOMTestObj customMethod]):
6865 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
6866 (-[DOMTestObj customArgsAndException:]):
6867 (-[DOMTestObj addEventListener:listener:useCapture:]):
6868 (-[DOMTestObj removeEventListener:listener:useCapture:]):
6869 (-[DOMTestObj withDynamicFrame]):
6870 (-[DOMTestObj withDynamicFrameAndArg:]):
6871 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
6872 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
6873 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
6874 (-[DOMTestObj withScriptStateVoid]):
6875 (-[DOMTestObj withScriptStateObj]):
6876 (-[DOMTestObj withScriptStateVoidException]):
6877 (-[DOMTestObj withScriptStateObjException]):
6878 (-[DOMTestObj methodWithOptionalArg:]):
6879 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
6880 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
6881 * bindings/v8/ScriptController.cpp:
6882 (WebCore::ScriptController::canAccessFromCurrentOrigin):
6883 * bindings/v8/ScriptController.h:
6884 * html/HTMLFrameElementBase.cpp:
6885 (WebCore::HTMLFrameElementBase::isURLAllowed):
6887 2010-05-14 Sergey Ulanov <sergeyu@chromium.org>
6889 Reviewed by Dmitry Titov and Brett Wilson.
6891 Adding resized image caching for Skia.
6892 https://bugs.webkit.org/show_bug.cgi?id=39085
6894 Tests: HTML5 video on YouTube.
6896 * platform/graphics/skia/ImageSkia.cpp:
6897 (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible.
6899 2010-05-14 Alexey Proskuryakov <ap@apple.com>
6901 Reviewed by Brady Eidson.
6903 https://bugs.webkit.org/show_bug.cgi?id=39008
6904 <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail
6906 Test: fast/parser/tokenizer-close-during-document-write.html
6908 * dom/Document.cpp: (WebCore::Document::write): Check that the tokenizer is still around
6909 after calling write(). It can become null (as it happens in regression test), and I don't
6910 see any guarantee that it would never be replaced with a different one (but I can't make a
6913 2010-05-14 Jian Li <jianli@chromium.org>
6915 Rubber-stamped by Dmitry Titov.
6917 Fix the code indentation inside a namespace to be consistent with the
6920 * workers/GenericWorkerTask.h:
6922 2010-05-14 Jian Li <jianli@chromium.org>
6924 Reviewed by Dmitry Titov.
6926 Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and rename
6927 all occurrences of GenericWorkerTask* to GenericTask* in this file.
6928 https://bugs.webkit.org/show_bug.cgi?id=39129
6930 I will have another patch to rename the file and move it to the right
6933 * workers/GenericWorkerTask.h:
6935 (WebCore::GenericTask1::create):
6936 (WebCore::GenericTask1::GenericTask1):
6937 (WebCore::GenericTask2::create):
6938 (WebCore::GenericTask2::GenericTask2):
6939 (WebCore::GenericTask3::create):
6940 (WebCore::GenericTask3::GenericTask3):
6941 (WebCore::GenericTask4::create):
6942 (WebCore::GenericTask4::GenericTask4):
6943 (WebCore::GenericTask5::create):
6944 (WebCore::GenericTask5::GenericTask5):
6945 (WebCore::GenericTask6::create):
6946 (WebCore::GenericTask6::GenericTask6):
6947 (WebCore::GenericTask7::create):
6948 (WebCore::GenericTask7::GenericTask7):
6949 (WebCore::GenericTask8::create):
6950 (WebCore::GenericTask8::GenericTask8):
6951 (WebCore::createCallbackTask):
6953 2010-05-14 Evan Martin <evan@chromium.org>
6955 Reviewed by David Levin.
6957 [chromium] don't call fontconfig twice in complex text path
6958 https://bugs.webkit.org/show_bug.cgi?id=38701
6960 Previously getFontDataForCharacters would call fontconfig once to
6961 resolve a font name, then pass that name to getCachedFontPlatformData
6962 to load the font. This would be two trips through fontconfig (including
6963 IPCs). With this change, we completely load the font in the first pass.
6965 This patch is actually the same code as in r58341, which was reverted
6966 because of a performance problem; a performance improvement has now
6967 been committed, and with that change in place this change improves
6968 the Chromium intl2 page cycler performance by another 5%.
6970 See also https://bugs.webkit.org/show_bug.cgi?id=37904 .
6972 Test: fast/text/international/bold-bengali.html
6973 (Was checked in as part of the first attempt at this change, continues
6974 to pass after this change.)
6976 * platform/chromium/ChromiumBridge.h:
6977 * platform/graphics/chromium/FontCacheLinux.cpp:
6978 (WebCore::FontCache::getFontDataForCharacters):
6980 2010-05-14 Young Han Lee <joybro@company100.net>
6982 Reviewed by Darin Adler.
6984 Don't include RetainPtr.h unless PLATFORM(CF) is set.
6985 The RetainPtr is only used for CF platform in this class.
6986 https://bugs.webkit.org/show_bug.cgi?id=39043
6988 No new tests, there is no new functionality.
6990 * platform/network/curl/ResourceHandleManager.cpp:
6992 2010-05-14 Brian Weinstein <bweinstein@apple.com>
6994 Reviewed by Adam Roben.
6996 Build fix, we need to copy over the files in $(WebKitOutputDir)/include/JavaScriptCore/private before
6997 WebCore builds. This is because we are building a couple WTF files in WebCore and JavaScriptCore.
6999 * WebCore.vcproj/WebCore.make:
7001 2010-05-14 Shinichiro Hamaji <hamaji@chromium.org>
7003 Unreviewed. Attempt to fix chromium's memory bot error.
7005 More :visited link optimizations to reduce memory usage
7006 https://bugs.webkit.org/show_bug.cgi?id=39084
7008 The original change (r59386) adds check for m_element in initElement.
7009 As don't initialize m_element in the constructor of CSSStyleSelector,
7012 * css/CSSStyleSelector.cpp:
7013 (WebCore::CSSStyleSelector::CSSStyleSelector):
7015 2010-05-14 Andreas Kling <andreas.kling@nokia.com>
7017 Reviewed by Darin Adler.
7019 CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
7020 https://bugs.webkit.org/show_bug.cgi?id=39031
7022 * css/CSSParser.cpp:
7023 (WebCore::CSSParser::parseColor):
7024 * editing/ApplyStyleCommand.cpp:
7025 (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior.
7026 * html/canvas/CanvasRenderingContext2D.cpp:
7027 (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code.
7029 2010-05-14 Jens Alfke <snej@chromium.org>
7031 Reviewed by John Sullivan.
7033 Don't clear yellow autofill highlight from text fields until the user edits them.
7034 https://bugs.webkit.org/show_bug.cgi?id=39032
7035 No new tests (Couldn't find any autofill tests. The flag doesn't seem to be exposed to JS.)
7037 * html/HTMLInputElement.cpp:
7038 (WebCore::HTMLInputElement::handleFocusEvent): Don't clear the autofilled flag.
7039 (WebCore::HTMLInputElement::setValueFromRenderer): Clear the autofilled flag.
7041 2010-05-14 Zhenyao Mo <zmo@google.com>
7043 Reviewed by Dimitri Glazkov.
7045 Must implement OpenGL ES 2.0 semantics for NPOT textures
7046 https://bugs.webkit.org/show_bug.cgi?id=33805
7048 Test: fast/canvas/webgl/texture-npot.html
7050 * html/canvas/WebGLRenderingContext.cpp:
7051 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Create black 1x1 textures.
7052 (WebCore::WebGLRenderingContext::bindTexture): Set texture dimensionality.
7053 (WebCore::WebGLRenderingContext::copyTexImage2D): Error check, set texture size.
7054 (WebCore::WebGLRenderingContext::drawArrays): Bind to black textures if needed.
7055 (WebCore::WebGLRenderingContext::drawElements): Bind to black textures if needed.
7056 (WebCore::WebGLRenderingContext::generateMipmap): Error check.
7057 (WebCore::WebGLRenderingContext::texImage2DBase): Error check, set texture size.
7058 (WebCore::WebGLRenderingContext::texParameterf): Set texture parameter.
7059 (WebCore::WebGLRenderingContext::texParameteri): Ditto.
7060 (WebCore::WebGLRenderingContext::handleNPOTTextures): Bind to black textures if needed before draw, and bind back to original textures after draw.
7061 * html/canvas/WebGLRenderingContext.h: Add black 1x1 textures.
7062 * html/canvas/WebGLTexture.cpp: Add support to track NPOT textures.
7063 (WebCore::WebGLTexture::createBlackTexture1x1): Create a black 1x1 texture.
7064 (WebCore::WebGLTexture::WebGLTexture): Initialize parameters and states.
7065 (WebCore::WebGLTexture::setDimensionality): Set dimensionality.
7066 (WebCore::WebGLTexture::setParameteri): Set parameter.
7067 (WebCore::WebGLTexture::setParameterf): Ditto.
7068 (WebCore::WebGLTexture::setSize): Set level 0 texture size.
7069 (WebCore::WebGLTexture::isNPOT): Whether the texture is NPOT.
7070 (WebCore::WebGLTexture::updateNPOTStates): Calculate NPOT and NeedToUseBlackTexture states.
7071 * html/canvas/WebGLTexture.h: Add support to track NPOT textures.
7072 (WebCore::WebGLTexture::isNPOT):
7073 (WebCore::WebGLTexture::needToUseBlackTexture):
7075 2010-05-14 Andrey Kosyakov <caseq@chromium.org>
7077 Reviewed by Pavel Feldman.
7079 Web Inspector: add help on keyboard shortcuts (take 2).
7081 https://bugs.webkit.org/show_bug.cgi?id=38667
7083 * English.lproj/localizedStrings.js:
7085 * WebCore.vcproj/WebCore.vcproj:
7086 * inspector/front-end/CallStackSidebarPane.js:
7087 (WebInspector.CallStackSidebarPane):
7088 (WebInspector.CallStackSidebarPane.prototype._placardSelected):
7089 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
7090 * inspector/front-end/ConsoleView.js:
7091 (WebInspector.ConsoleView):
7092 (WebInspector.ConsoleView.prototype._registerShortcuts):
7093 * inspector/front-end/ElementsPanel.js:
7094 (WebInspector.ElementsPanel):
7095 (WebInspector.ElementsPanel.prototype._registerShortcuts):
7096 * inspector/front-end/ElementsTreeOutline.js:
7097 (WebInspector.ElementsTreeOutline.prototype._keyDown):
7098 * inspector/front-end/HelpScreen.js: Added.
7099 * inspector/front-end/KeyboardShortcut.js:
7100 * inspector/front-end/ScriptsPanel.js:
7101 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
7102 (WebInspector.ScriptsPanel.prototype._registerShortcuts):
7103 * inspector/front-end/ShortcutsHelp.js: Added.
7104 * inspector/front-end/SidebarPane.js:
7105 (WebInspector.SidebarPane.prototype._onTitleKeyDown):
7106 * inspector/front-end/StylesSidebarPane.js:
7107 (WebInspector.StylesSidebarPane.prototype.removeSection):
7108 (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
7109 * inspector/front-end/TextViewer.js:
7110 (WebInspector.TextViewer.prototype._handleKeyDown):
7111 * inspector/front-end/WebKit.qrc:
7112 * inspector/front-end/helpScreen.css: Added.
7114 2010-05-14 Tony Gentilcore <tonyg@chromium.org>
7116 Reviewed by Darin Fisher.
7118 [chromium] Update chromium port to send/receive cached metadata
7119 https://bugs.webkit.org/show_bug.cgi?id=38665
7121 No new tests because no new functionality.
7123 * platform/chromium/ChromiumBridge.h:
7124 * platform/network/chromium/ResourceResponse.h:
7125 (WebCore::ResourceResponse::ResourceResponse):
7126 (WebCore::ResourceResponse::responseTime):
7127 (WebCore::ResourceResponse::setResponseTime):
7129 2010-05-14 Chris Evans <cevans@chromium.org>
7131 Reviewed by Adam Barth.
7133 Chromium-specific fix to prevent zombie infobars.
7135 https://bugs.webkit.org/show_bug.cgi?id=38948
7137 * bindings/v8/ScriptController.cpp
7138 (WebCore::ScriptController::processingUserGesture):
7139 Require a more definite "no" signal.
7140 * loader/RedirectScheduler.cpp:
7141 (WebCore::ScheduledFormSubmission::fire):
7142 Use a very strong yes / no signal; no need for "possible" here.
7143 * dom/UserGestureIndicator.h:
7144 * dom/UserGestureIndicator.cpp:
7145 Adapt to tri-state: definitely yes; definitely no; not sure.
7147 2010-05-14 Aaron Kennedy <tffeeb@gmail.com>
7149 Reviewed by Simon Hausmann.
7151 [Qt] JavaScript unable to invoke methods declared in QML
7152 https://bugs.webkit.org/show_bug.cgi?id=38949
7154 JavaScript code executed by webkit cannot call into QML declared
7155 methods, as it does not check for dynamic meta objects.
7157 * bridge/qt/qt_instance.cpp:
7158 (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall.
7159 * bridge/qt/qt_runtime.cpp:
7160 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
7162 2010-05-14 Ben Murdoch <benm@google.com>
7164 Reviewed by Darin Fisher.
7166 Touch events are disabled by default when using V8.
7167 https://bugs.webkit.org/show_bug.cgi?id=38990
7169 Touch events are protected by a compile time guard, so it's safe to
7170 assume that the runtime flag should be enabled by default when this
7173 No new tests, build fix for Android.
7175 * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default.
7177 2010-05-14 George Wright <gwright@rim.com>
7179 Reviewed by George Staikos.
7181 https://bugs.webkit.org/show_bug.cgi?id=38909
7183 Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString()
7184 on the property name.
7186 * bindings/js/JSDataGridColumnListCustom.cpp:
7187 (WebCore::JSDataGridColumnList::canGetItemsForName):
7188 (WebCore::JSDataGridColumnList::nameGetter):
7190 2010-05-14 Andreas Kling <andreas.kling@nokia.com>
7192 Reviewed by Darin Adler.
7194 Ignore invalid values for various CanvasRenderingContext2D properties
7195 (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
7197 https://bugs.webkit.org/show_bug.cgi?id=38841
7199 Test: fast/canvas/canvas-invalid-values.html
7201 * html/canvas/CanvasRenderingContext2D.cpp:
7202 (WebCore::CanvasRenderingContext2D::setLineWidth):
7203 (WebCore::CanvasRenderingContext2D::setMiterLimit):
7204 (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
7205 (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
7206 (WebCore::CanvasRenderingContext2D::setShadowBlur):
7208 2010-05-13 Timothy Hatcher <timothy@apple.com>
7210 Expose WebCore::reportException and WebCore::toJSDOMWindow symbols.
7212 Reviewed by Sam Weinig.
7214 * WebCore.base.exp: Expose reportException and toJSDOMWindow.
7216 2010-05-13 Joseph Pecoraro <joepeck@webkit.org>
7218 Reviewed by Timothy Hatcher.
7220 Web Inspector: Clearing Breakpoints Too Often
7221 https://bugs.webkit.org/show_bug.cgi?id=39094
7223 Minor resets should preserve both workers and breakpoints.
7225 * inspector/front-end/ScriptsPanel.js:
7226 (WebInspector.ScriptsPanel.prototype.reset):
7228 2010-05-13 Simon Fraser <simon.fraser@apple.com>
7230 Reviewed by Dan Bernstein.
7232 iframes in compositing layers don't redraw correctly on scrolling
7233 https://bugs.webkit.org/show_bug.cgi?id=39096
7235 When an iframe ends up in a compositing layer (that is painting to its backing store), we need
7236 to turn off blitting on scrolling. RenderView::paintBoxDecorations() already has code to do this
7237 for transformed frames, so do the same thing when the frame is enclosed in a compositing layer.
7239 Test: compositing/iframes/iframe-copy-on-scroll.html
7241 * rendering/RenderView.cpp:
7242 (WebCore::RenderView::paintBoxDecorations):
7244 2010-05-13 Simon Fraser <simon.fraser@apple.com>
7246 Reviewed by Dave Hyatt.
7248 Fix scrolling in composited iframes
7249 https://bugs.webkit.org/show_bug.cgi?id=39088
7250 <rdar://problem/7980099>
7252 When propagating compositing out of iframes, we have to update the position of the iframe content
7253 layers on scrolling.
7255 Test: compositing/iframes/scrolling-iframe.html
7257 * page/FrameView.cpp:
7258 (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling.
7260 * rendering/RenderLayerBacking.cpp:
7261 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset().
7263 * rendering/RenderLayerCompositor.h:
7264 * rendering/RenderLayerCompositor.cpp: Rename m_clippingLayer to m_clipLayer to go better with m_scrollLayer.
7265 (WebCore::RenderLayerCompositor::updateContentLayerOffset): Renamed from setRootPlatformLayerClippingBox().
7266 Set the size of the clipping layer from the FrameView now, so that scrollbars are not clipped out.
7267 Update the scroll layer position too.
7268 (WebCore::RenderLayerCompositor::updateContentLayerScrollPosition): Set the position of the scroll layer
7269 when the ScrollView is scrolled.
7270 (WebCore::RenderLayerCompositor::rootPlatformLayer): m_clippingLayer rename.
7271 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): m_clippingLayer rename. Also create m_scrollLayer at
7272 the same time as the clip layer, and clean it up as necessary.
7273 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): m_clippingLayer rename, and clean up the m_scrollLayer too.
7274 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): m_clippingLayer rename
7276 2010-05-13 Sam Weinig <sam@webkit.org>
7278 Reviewed by Anders Carlsson.
7281 Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
7282 Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
7283 Part of <rdar://problem/7921275>
7285 Fix failing tests on Leopard.
7287 Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods.
7289 * css/CSSPrimitiveValue.cpp:
7290 (WebCore::CSSPrimitiveValue::init):
7291 (WebCore::CSSPrimitiveValue::cssText): Add extra assertion.
7293 2010-05-13 Kent Tamura <tkent@chromium.org>
7295 Reviewed by Darin Adler.
7297 Can't submit a form with <input type=checkbox required>
7298 https://bugs.webkit.org/show_bug.cgi?id=39065
7300 Test: fast/forms/interactive-validation-required-checkbox.html
7302 * html/HTMLInputElement.cpp:
7303 (WebCore::HTMLInputElement::setChecked):
7304 Update the validity cache when a checkbox state is changed.
7306 2010-05-13 Kenneth Russell <kbr@google.com>
7308 Reviewed by Dimitri Glazkov.
7310 Alias WebGLArray type names to TypedArray type names
7311 https://bugs.webkit.org/show_bug.cgi?id=39036
7313 Exposed the existing WebGL<T>Array constructor functions on the
7314 DOMWindow under the naming convention in the TypedArray spec. The
7315 implementations will be renamed in a subsequent bug, and the
7316 aliases to the WebGL<T>Array type names eventually removed. Ran
7317 all layout tests (including WebGL) in Safari, and WebGL tests in
7320 Test: revised array-unit-tests.html to test both type names.
7321 Revised global prototype and constructor tests to ignore new types.
7323 * bindings/generic/RuntimeEnabledFeatures.h:
7324 (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
7325 (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
7326 (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
7327 (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
7328 (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
7329 (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
7330 (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
7331 (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
7332 * bindings/js/JSDOMWindowCustom.cpp:
7333 (WebCore::JSDOMWindow::arrayBuffer):
7334 (WebCore::JSDOMWindow::int8Array):
7335 (WebCore::JSDOMWindow::uint8Array):
7336 (WebCore::JSDOMWindow::int32Array):
7337 (WebCore::JSDOMWindow::uint32Array):
7338 (WebCore::JSDOMWindow::int16Array):
7339 (WebCore::JSDOMWindow::uint16Array):
7340 (WebCore::JSDOMWindow::floatArray):
7341 * bindings/v8/custom/V8DOMWindowCustom.cpp:
7342 (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
7343 (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
7344 (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
7345 (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
7346 (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
7347 (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
7348 (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
7349 (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
7350 * page/DOMWindow.idl:
7352 2010-05-13 David Hyatt <hyatt@apple.com>
7354 Reviewed by Anders Carlsson.
7356 https://bugs.webkit.org/show_bug.cgi?id=39084
7358 Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and
7361 (1) Tie the caching of link state on CSSStyleSelector to the element. Just clear out the element when
7362 style resolution finishes for the unvisited case to avoid caching across external calls. The internal
7363 calls share the cache just fine by doing this.
7365 (2) Delete the RenderStyle if the link is unvisited. This shouldn't take long enough to make us vulnerable
7366 to timing attacks, and it makes sure the overall footprint stays the way it used to be for unvisited links.
7368 (3) Limit the set of properties that can be applied to :visited links to only the colors it supports. This
7369 stops images from being loadable from :visited rules.
7371 * css/CSSStyleSelector.cpp:
7372 (WebCore::CSSStyleSelector::init):
7373 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
7374 (WebCore::CSSStyleSelector::initElement):
7375 (WebCore::CSSStyleSelector::canShareStyleWithElement):
7376 (WebCore::CSSStyleSelector::styleForElement):
7377 (WebCore::CSSStyleSelector::pseudoStyleForElement):
7378 (WebCore::isValidVisitedLinkProperty):
7379 (WebCore::CSSStyleSelector::applyProperty):
7380 * css/CSSStyleSelector.h:
7381 * rendering/style/RenderStyle.cpp:
7382 (WebCore::colorIncludingFallback):
7384 2010-05-13 Sam Weinig <sam@webkit.org>
7386 Reviewed by Darin Adler.
7388 Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
7389 Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
7390 Part of <rdar://problem/7921275>
7392 - Use an external cache to speedup cssText for CSSPrimitiveValue instead
7393 of an extra member variable.
7395 * css/CSSPrimitiveValue.cpp:
7396 (WebCore::cssTextCache):
7397 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
7398 (WebCore::CSSPrimitiveValue::cleanup):
7399 (WebCore::CSSPrimitiveValue::cssText):
7400 * css/CSSPrimitiveValue.h:
7401 (WebCore::CSSPrimitiveValue::):
7402 * css/CSSPrimitiveValueMappings.h:
7403 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
7405 2010-05-13 Enrica Casucci <enrica@apple.com>
7407 Reviewed by Dave Hyatt.
7409 Adding block elements to a block and removing them changes the height of the element.
7410 https://bugs.webkit.org/show_bug.cgi?id=38874
7412 The initial height of an empty editable block is different from the height of the same block after we add block elements
7415 Test: editing/deleting/delete-block-contents-004.html
7417 * rendering/RenderBlock.cpp:
7418 (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children.
7420 2010-05-13 Brady Eidson <beidson@apple.com>
7422 Reviewed by Darin Adler.
7424 Repro crash at www.sears.com (infinite recursion in beforeunload handler)
7425 <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
7427 Test: fast/loader/recursive-before-unload-crash.html
7429 * loader/FrameLoader.cpp:
7430 (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set.
7431 * loader/FrameLoader.h:
7434 (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose().
7436 (WebCore::Frame::existingDOMWindow):
7438 2010-05-13 Sheriff Bot <webkit.review.bot@gmail.com>
7440 Unreviewed, rolling out r59376.
7441 http://trac.webkit.org/changeset/59376
7442 https://bugs.webkit.org/show_bug.cgi?id=39080
7444 Broke window prototype tests (Requested by jamesr on #webkit).
7446 * bindings/generic/RuntimeEnabledFeatures.h:
7447 * bindings/js/JSDOMWindowCustom.cpp:
7448 (WebCore::JSDOMWindow::webGLFloatArray):
7449 * bindings/v8/custom/V8DOMWindowCustom.cpp:
7450 * page/DOMWindow.idl:
7452 2010-05-13 Pavel Feldman <pfeldman@chromium.org>
7454 Reviewed by Yury Semikhatsky.
7456 Web Inspector: A disabled style property cannot be deleted.
7458 https://bugs.webkit.org/show_bug.cgi?id=39057
7460 * inspector/InspectorDOMAgent.cpp:
7461 (WebCore::InspectorDOMAgent::applyStyleText):
7463 2010-05-12 Kenneth Russell <kbr@google.com>
7465 Reviewed by Dimitri Glazkov.
7467 Alias WebGLArray type names to TypedArray type names
7468 https://bugs.webkit.org/show_bug.cgi?id=39036
7470 Exposed the existing WebGL<T>Array constructor functions on the
7471 DOMWindow under the naming convention in the TypedArray spec. The
7472 implementations will be renamed in a subsequent bug, and the
7473 aliases to the WebGL<T>Array type names eventually removed. Ran
7474 all WebGL layout tests in Safari and Chromium.
7476 Test: revised array-unit-tests.html to test both type names.
7478 * bindings/generic/RuntimeEnabledFeatures.h:
7479 (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
7480 (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
7481 (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
7482 (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
7483 (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
7484 (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
7485 (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
7486 (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
7487 * bindings/js/JSDOMWindowCustom.cpp:
7488 (WebCore::JSDOMWindow::arrayBuffer):
7489 (WebCore::JSDOMWindow::int8Array):
7490 (WebCore::JSDOMWindow::uint8Array):
7491 (WebCore::JSDOMWindow::int32Array):
7492 (WebCore::JSDOMWindow::uint32Array):
7493 (WebCore::JSDOMWindow::int16Array):
7494 (WebCore::JSDOMWindow::uint16Array):
7495 (WebCore::JSDOMWindow::floatArray):
7496 * bindings/v8/custom/V8DOMWindowCustom.cpp:
7497 (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
7498 (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
7499 (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
7500 (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
7501 (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
7502 (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
7503 (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
7504 (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
7505 * page/DOMWindow.idl:
7507 2010-05-13 Brady Eidson <beidson@apple.com>
7509 Reviewed by John Sullivan.
7511 Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
7513 No new tests. (No change in behavior)
7515 m_unloadEventBeingDispatched was already overloaded to include both unload and pagehide events.
7516 In general, these are "page dismissal" events, and might also include beforeunload, so let's rename
7519 * loader/FrameLoader.cpp:
7520 (WebCore::FrameLoader::FrameLoader):
7521 (WebCore::FrameLoader::stopLoading):
7522 (WebCore::FrameLoader::loadURL):
7523 (WebCore::FrameLoader::loadWithDocumentLoader):
7524 (WebCore::FrameLoader::stopAllLoaders):
7525 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
7526 (WebCore::FrameLoader::pageHidden):
7527 * loader/FrameLoader.h:
7529 2010-05-13 Joseph Pecoraro <joepeck@webkit.org>
7531 Reviewed by Pavel Feldman.
7533 Web Inspector: Event Markers should be hidden in Resource's "Size" Graph
7534 https://bugs.webkit.org/show_bug.cgi?id=39074
7536 Added Show / Hide event dividers functionality to the timeline grid,
7537 and included delegation functions in AbstractTimelinePanel.
7539 * inspector/front-end/AbstractTimelinePanel.js: delegate to the inner grid
7540 (WebInspector.AbstractTimelinePanel.prototype.hideEventDividers):
7541 (WebInspector.AbstractTimelinePanel.prototype.showEventDividers):
7542 * inspector/front-end/ResourcesPanel.js:
7543 (WebInspector.ResourcesPanel.prototype.populateSidebar): save a reference to the size graph item to know when its selected
7544 (WebInspector.ResourcesPanel.prototype._graphSelected): if the size graph is selected hide the dividers, otherwise show them
7545 * inspector/front-end/TimelineGrid.js:
7546 (WebInspector.TimelineGrid.prototype.hideEventDividers): set the container to display: none
7547 (WebInspector.TimelineGrid.prototype.showEventDividers): set the container to display: block
7549 2010-05-13 Chang Shu <chang.shu@nokia.com>
7551 Reviewed by Kenneth Rohde Christiansen.
7553 Based on the spec and Philip Taylor's test suite, strokeStyle and fillStyle attributes
7554 must initially have the string value #000000.
7555 The link to the spec:
7556 http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.colours.default
7558 https://bugs.webkit.org/show_bug.cgi?id=39068
7560 The complete test suite is in the process of checking in.
7561 https://bugs.webkit.org/show_bug.cgi?id=20553
7563 * html/canvas/CanvasRenderingContext2D.cpp:
7564 (WebCore::CanvasRenderingContext2D::State::State):
7566 2010-05-13 Yury Semikhatsky <yurys@chromium.org>
7568 Unreviewed, rolling out r59360.
7569 http://trac.webkit.org/changeset/59360
7570 https://bugs.webkit.org/show_bug.cgi?id=38667
7572 It broke Chromium Win build
7574 * English.lproj/localizedStrings.js:
7576 * WebCore.vcproj/WebCore.vcproj:
7577 * inspector/front-end/CallStackSidebarPane.js:
7578 (WebInspector.CallStackSidebarPane):
7579 (WebInspector.CallStackSidebarPane.prototype._placardSelected):
7580 * inspector/front-end/ConsoleView.js:
7581 (WebInspector.ConsoleView):
7582 * inspector/front-end/ElementsPanel.js:
7583 (WebInspector.ElementsPanel):
7584 * inspector/front-end/ElementsTreeOutline.js:
7585 (WebInspector.ElementsTreeOutline.prototype._keyDown):
7586 * inspector/front-end/HelpScreen.js: Removed.
7587 * inspector/front-end/KeyboardShortcut.js:
7588 (WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers):
7589 * inspector/front-end/ScriptsPanel.js:
7590 (WebInspector.ScriptsPanel):
7591 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
7592 * inspector/front-end/ShortcutsHelp.js: Removed.
7593 * inspector/front-end/SidebarPane.js:
7594 (WebInspector.SidebarPane.prototype._onTitleKeyDown):
7595 * inspector/front-end/StylesSidebarPane.js:
7596 (WebInspector.StylesSidebarPane.prototype.removeSection):
7597 * inspector/front-end/TextViewer.js:
7598 (WebInspector.TextViewer.prototype._handleKeyDown):
7599 * inspector/front-end/WebKit.qrc:
7600 * inspector/front-end/helpScreen.css: Removed.
7601 * inspector/front-end/inspector.html:
7602 * inspector/front-end/inspector.js:
7603 (WebInspector.loaded):
7604 (WebInspector.documentKeyDown):
7605 (WebInspector._searchKeyDown):
7606 (WebInspector.startEditing.keyDownEventListener):
7607 (WebInspector.startEditing):
7608 * inspector/front-end/utilities.js:
7610 2010-05-13 Antti Koivisto <koivisto@iki.fi>
7612 Reviewed by Kenneth Rohde Christiansen.
7614 https://bugs.webkit.org/show_bug.cgi?id=39063
7615 [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1
7617 Use the dirty rect that has been adjusted for scaling instead of the original one.
7619 * platform/graphics/TiledBackingStore.cpp:
7620 (WebCore::TiledBackingStore::paint):
7622 2010-05-13 Chang Shu <chang.shu@nokia.com>
7624 Reviewed by Kenneth Rohde Christiansen.
7626 Based on Philip Taylor's test suite, resetting the canvas
7627 state resets the current path.
7628 https://bugs.webkit.org/show_bug.cgi?id=38934
7630 The complete test suite is in the process of checking in.
7631 https://bugs.webkit.org/show_bug.cgi?id=20553
7633 * html/canvas/CanvasRenderingContext2D.cpp:
7634 (WebCore::CanvasRenderingContext2D::reset):
7636 2010-05-13 Andrey Kosyakov <caseq@chromium.org>
7638 Reviewed by Pavel Feldman.
7640 Added help screen with keyboard shortcuts.
7641 https://bugs.webkit.org/show_bug.cgi?id=38667
7643 * English.lproj/localizedStrings.js:
7645 * WebCore.vcproj/WebCore.vcproj:
7646 * inspector/front-end/CallStackSidebarPane.js:
7647 (WebInspector.CallStackSidebarPane):
7648 (WebInspector.CallStackSidebarPane.prototype._placardSelected):
7649 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
7650 * inspector/front-end/ConsoleView.js:
7651 (WebInspector.ConsoleView):
7652 (WebInspector.ConsoleView.prototype._registerShortcuts):
7653 * inspector/front-end/ElementsPanel.js:
7654 (WebInspector.ElementsPanel):
7655 (WebInspector.ElementsPanel.prototype._registerShortcuts):
7656 * inspector/front-end/HelpScreen.js: Added.
7657 * inspector/front-end/KeyboardShortcut.js:
7658 (WebInspector.KeyboardShortcut.makeDescriptor):
7659 (WebInspector.KeyboardShortcut.shortcutToString):
7660 (WebInspector.KeyboardShortcut._modifiersToString):
7661 * inspector/front-end/ScriptsPanel.js:
7662 (WebInspector.ScriptsPanel):
7663 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
7664 (WebInspector.ScriptsPanel.prototype._registerShortcuts):
7665 * inspector/front-end/ShortcutsHelp.js: Added.
7666 * inspector/front-end/StylesSidebarPane.js:
7667 (WebInspector.StylesSidebarPane.prototype.removeSection):
7668 (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
7669 * inspector/front-end/WebKit.qrc:
7670 * inspector/front-end/helpScreen.css: Added.
7672 2010-05-13 Yoshiki Hayashi <yhayashi@google.com>
7674 Reviewed by Darin Adler.
7676 Fix a bug in handleRunInChild where only the first child run-in block
7677 is inserted because removeChildNode clears next sibling.
7678 https://bugs.webkit.org/show_bug.cgi?id=25047
7680 Test: fast/css/run-in-children.html
7682 * rendering/RenderBlock.cpp:
7683 (WebCore::RenderBlock::handleRunInChild):
7685 2010-05-13 Alejandro G. Castro <alex@igalia.com>
7687 Reviewed by Xan Lopez.
7689 In case there is no expose event we render the theme in a pixmap
7690 and copy it to the cairo context. This is slow but it is used just
7691 in case we are printing nowadays.
7693 [GTK] Theme does not render when printing
7694 https://bugs.webkit.org/show_bug.cgi?id=38896
7696 * platform/gtk/RenderThemeGtk.cpp:
7697 (WebCore::paintMozillaGtkWidget):
7699 2010-05-12 Yuzo Fujishima <yuzo@google.com>
7701 Reviewed by Darin Adler.
7703 Fix Bug 35014 - Modifying UA rules from page JS crashes
7705 https://bugs.webkit.org/show_bug.cgi?id=35014
7707 Test: fast/css/modify-ua-rules-from-javascript.html
7709 * css/CSSMutableStyleDeclaration.cpp:
7710 (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
7712 2010-05-12 Dumitru Daniliuc <dumi@chromium.org>
7714 Reviewed by Adam Barth.
7716 Add the parent class for Database and DatabaseSync.
7717 https://bugs.webkit.org/show_bug.cgi?id=39041
7722 * WebCore.vcproj/WebCore.vcproj:
7723 * WebCore.xcodeproj/project.pbxproj:
7724 * storage/AbstractDatabase.cpp: Added.
7725 * storage/AbstractDatabase.h: Added.
7727 2010-05-12 Noam Rosenthal <noam.rosenthal@nokia.com>
7729 Reviewed by Kenneth Rohde Christiansen.
7731 [Qt] GraphicsLayer: depth-test causes flicker in certain situations
7733 This patch removes the simplistic 2D depth test as it leads to flickering side effects.
7734 https://bugs.webkit.org/show_bug.cgi?id=38370
7736 Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
7738 * platform/graphics/qt/GraphicsLayerQt.cpp:
7739 (WebCore::GraphicsLayerQtImpl::updateTransform):
7741 2010-05-12 Simon Fraser <simon.fraser@apple.com>
7743 Reviewed by Mark Rowe.
7745 Fix layer dump to avoid spurious platform differences
7746 https://bugs.webkit.org/show_bug.cgi?id=39045
7748 Only dump the children transform on layers that are not the root layer.
7749 The children transform on the root layer is used on Leopard to implement
7750 geometry flipping, so avoid this supurious difference in test output.
7752 * platform/graphics/GraphicsLayer.cpp:
7753 (WebCore::GraphicsLayer::dumpProperties):
7755 2010-05-12 Sheriff Bot <webkit.review.bot@gmail.com>
7757 Unreviewed, rolling out r59270.
7758 http://trac.webkit.org/changeset/59270
7759 https://bugs.webkit.org/show_bug.cgi?id=39044
7761 Caused a crash on some pages - bug 39042 (Requested by smfr on
7764 * rendering/RenderBlock.cpp:
7765 (WebCore::RenderBlock::removeChild):
7767 2010-05-12 Simon Fraser <simon.fraser@apple.com>
7769 Reviewed by David Hyatt.
7771 Composited plug-ins can cause missed painting
7772 https://bugs.webkit.org/show_bug.cgi?id=39033
7773 <rdar://problem/7972478>
7775 Fixed missed painting (and assertions in debug builds) related to compositing
7776 propagating out of iframes that contain plug-ins.
7778 When an iframe enters or leaves compositing mode, RenderLayerCompositor uses
7779 setNeedsStyleRecalc(SyntheticStyleChange) to trigger the parent document to re-evaluate
7780 whether the iframe itself should be composited. However, for iframes containing plug-ins,
7781 this can happen at inappropriate times. For example, when a browser tab is brought frontmost,
7782 plug-ins are instantiated for the first time (via -viewDidMoveToWindow), which triggers a
7783 setNeedsStyleRecalc() on the object element. Soon after, the -viewWillDraw machinery
7784 does layout from the top down. During layout of the iframe, the iframe enters compositing mode,
7785 and does a setNeedsStyleRecalc() on the iframe element in its parent document. This leaves the
7786 FrameView as needsLayout(), so the FrameView::paintContents() asserts and bails.
7788 The fix is to avoid doing a setNeedsStyleRecalc() on the root while inside a recalcStyle on
7789 the iframe. We do this by switching the iframe into compositing mode eagerly as soon as we know
7790 the plug-in needs it.
7792 A secondary fix is to ensure that if a document has composited iframes, when that document becomes
7793 composited, we connect compositing layers between the iframes and the parent document.
7795 Tests: compositing/iframes/connect-compositing-iframe-delayed.html
7796 compositing/iframes/iframe-src-change.html
7798 * WebCore.base.exp: Export FrameView::enterCompositingMode()
7800 * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code.
7801 * page/FrameView.cpp:
7802 (WebCore::FrameView::enterCompositingMode):
7804 * rendering/RenderLayerCompositor.h:
7805 * rendering/RenderLayerCompositor.cpp:
7806 (WebCore::RenderLayerCompositor::enableCompositingMode): When we switch into compositing mode, we
7807 force a style recaclc on any iframes to get them into compositing layers, so they can hook up
7808 with their content layers if necessary.
7809 (WebCore::RenderLayerCompositor::didMoveOnscreen): Only call attachRootPlatformLayer() if we really need to.
7810 (WebCore::RenderLayerCompositor::willMoveOffscreen): Only call detachRootPlatformLayer() if we really need to.
7811 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Whitespace.
7812 (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): Fetch iframe elements, and send a
7813 synthetic style recalc on them.
7815 2010-05-12 Anders Carlsson <andersca@apple.com>
7817 Reviewed by Simon Fraser.
7819 Shrink the size of FillLayer by moving a member variable.
7820 https://bugs.webkit.org/show_bug.cgi?id=39035
7822 * rendering/style/FillLayer.cpp:
7823 (WebCore::FillLayer::FillLayer):
7824 * rendering/style/FillLayer.h:
7826 2010-05-12 Sam Weinig <sam@webkit.org>
7828 Reviewed by Anders Carlsson.
7830 A bunch of nice micro-optimizations for ~1% speedup on PLT.
7831 - Add fastGetAttribute. The same as getAttribute except can only be
7832 called when it is known not to be style attribute or one of the SVG
7833 animatable attributes.
7834 - Inline some functions from Font.
7835 - Return the same string from deprecatedParseURL if there is nothing
7837 - Use a member variable instead of a virtual function to determine
7838 whether a ScheduledNavigation is a location change.
7841 * css/CSSHelper.cpp:
7842 (WebCore::deprecatedParseURL):
7843 * css/CSSStyleSelector.cpp:
7844 (WebCore::linkAttribute):
7845 (WebCore::CSSStyleSelector::canShareStyleWithElement):
7846 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7848 (WebCore::Element::getAttribute):
7850 (WebCore::Element::fastHasAttribute):
7851 (WebCore::Element::fastGetAttribute):
7852 * html/HTMLFormControlElement.cpp:
7853 (WebCore::HTMLFormControlElement::formControlName):
7854 * html/HTMLInputElement.cpp:
7855 (WebCore::HTMLInputElement::value):
7856 * loader/RedirectScheduler.cpp:
7857 (WebCore::ScheduledNavigation::ScheduledNavigation):
7858 (WebCore::ScheduledNavigation::isLocationChange):
7859 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
7860 (WebCore::ScheduledRedirect::ScheduledRedirect):
7861 (WebCore::ScheduledLocationChange::ScheduledLocationChange):
7862 (WebCore::ScheduledRefresh::ScheduledRefresh):
7863 (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
7864 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
7865 (WebCore::RedirectScheduler::locationChangePending):
7866 * platform/graphics/Font.cpp:
7867 * platform/graphics/Font.h:
7868 (WebCore::Font::~Font):
7869 (WebCore::Font::primaryFont):
7870 (WebCore::Font::fontDataAt):
7871 (WebCore::Font::fontDataForCharacters):
7872 (WebCore::Font::isFixedPitch):
7873 (WebCore::Font::fontSelector):
7874 * platform/graphics/FontFallbackList.h:
7875 * rendering/RenderImage.cpp:
7876 (WebCore::RenderImage::imageMap):
7878 2010-05-12 David Hyatt <hyatt@apple.com>
7880 Reviewed by Sam Weinig.
7882 Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time.
7884 * WebCore.xcodeproj/project.pbxproj:
7885 * editing/visible_units.cpp:
7886 (WebCore::previousLinePosition):
7887 (WebCore::nextLinePosition):
7888 * rendering/EllipsisBox.cpp:
7889 (WebCore::EllipsisBox::paint):
7890 (WebCore::EllipsisBox::selectionRect):
7891 (WebCore::EllipsisBox::paintSelection):
7892 (WebCore::EllipsisBox::nodeAtPoint):
7893 * rendering/EllipsisBox.h:
7894 (WebCore::EllipsisBox::EllipsisBox):
7895 * rendering/InlineBox.cpp:
7896 (WebCore::InlineBox::adjustPosition):
7897 (WebCore::InlineBox::canAccommodateEllipsis):
7898 * rendering/InlineBox.h:
7899 (WebCore::InlineBox::InlineBox):
7900 (WebCore::InlineBox::isSVGRootInlineBox):
7901 (WebCore::InlineBox::x):
7902 (WebCore::InlineBox::y):
7903 (WebCore::InlineBox::width):
7904 (WebCore::InlineBox::height):
7905 (WebCore::InlineBox::bottom):
7906 (WebCore::InlineBox::right):
7907 (WebCore::InlineBox::setX):
7908 (WebCore::InlineBox::setY):
7909 (WebCore::InlineBox::setWidth):
7910 (WebCore::InlineBox::setHeight):
7911 (WebCore::InlineBox::location):
7912 (WebCore::InlineBox::size):
7913 (WebCore::InlineBox::setLocation):
7914 (WebCore::InlineBox::setSize):
7915 (WebCore::InlineBox::move):
7916 (WebCore::InlineBox::frameRect):
7917 (WebCore::InlineBox::setFrameRect):
7918 (WebCore::InlineBox::baselinePosition):
7919 (WebCore::InlineBox::lineHeight):
7920 * rendering/InlineFlowBox.cpp:
7921 (WebCore::InlineFlowBox::placeBoxesVertically):
7922 (WebCore::InlineFlowBox::computeVerticalOverflow):
7923 (WebCore::InlineFlowBox::nodeAtPoint):
7924 (WebCore::InlineFlowBox::paintBoxDecorations):
7925 (WebCore::InlineFlowBox::paintMask):
7926 (WebCore::InlineFlowBox::paintTextDecorations):
7927 * rendering/InlineFlowBox.h:
7928 (WebCore::InlineFlowBox::visibleOverflowRect):
7929 (WebCore::InlineFlowBox::topLayoutOverflow):
7930 (WebCore::InlineFlowBox::bottomLayoutOverflow):
7931 (WebCore::InlineFlowBox::leftLayoutOverflow):
7932 (WebCore::InlineFlowBox::rightLayoutOverflow):
7933 (WebCore::InlineFlowBox::layoutOverflowRect):
7934 (WebCore::InlineFlowBox::topVisualOverflow):
7935 (WebCore::InlineFlowBox::bottomVisualOverflow):
7936 (WebCore::InlineFlowBox::leftVisualOverflow):
7937 (WebCore::InlineFlowBox::rightVisualOverflow):
7938 (WebCore::InlineFlowBox::visualOverflowRect):
7939 (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
7940 (WebCore::InlineFlowBox::setVerticalOverflowPositions):
7941 * rendering/InlineTextBox.cpp:
7942 (WebCore::InlineTextBox::selectionRect):
7943 (WebCore::InlineTextBox::placeEllipsisBox):
7944 (WebCore::InlineTextBox::nodeAtPoint):
7945 (WebCore::InlineTextBox::paint):
7946 (WebCore::InlineTextBox::paintSelection):
7947 (WebCore::InlineTextBox::paintCompositionBackground):
7948 (WebCore::InlineTextBox::paintDecoration):
7949 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
7950 (WebCore::InlineTextBox::paintTextMatchMarker):
7951 (WebCore::InlineTextBox::computeRectForReplacementMarker):
7952 (WebCore::InlineTextBox::paintCompositionUnderline):
7953 (WebCore::InlineTextBox::offsetForPosition):
7954 (WebCore::InlineTextBox::positionForOffset):
7955 * rendering/InlineTextBox.h:
7956 (WebCore::InlineTextBox::setSpaceAdd):
7957 * rendering/RenderBlock.cpp:
7958 (WebCore::RenderBlock::positionForPointWithInlineChildren):
7959 * rendering/RenderBlockLineLayout.cpp:
7960 (WebCore::RenderBlock::computeVerticalPositionsForLine):
7961 (WebCore::RenderBlock::layoutInlineChildren):
7962 * rendering/RenderSVGInline.cpp:
7963 (WebCore::RenderSVGInline::createInlineFlowBox):
7964 * rendering/RenderSVGInlineText.cpp:
7965 (WebCore::RenderSVGInlineText::createTextBox):
7966 * rendering/RenderSVGText.cpp:
7967 (WebCore::RenderSVGText::createRootInlineBox):
7968 * rendering/RenderText.cpp:
7969 (WebCore::RenderText::positionForPoint):
7970 (WebCore::RenderText::firstRunX):
7971 (WebCore::RenderText::firstRunY):
7972 * rendering/RenderTreeAsText.cpp:
7973 (WebCore::writeTextRun):
7974 * rendering/RootInlineBox.cpp:
7975 (WebCore::RootInlineBox::placeEllipsis):
7976 (WebCore::RootInlineBox::addHighlightOverflow):
7977 (WebCore::RootInlineBox::closestLeafChildForXPos):
7978 * rendering/SVGInlineFlowBox.h:
7979 (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
7980 * rendering/SVGInlineTextBox.h:
7981 (WebCore::SVGInlineTextBox::selectionTop):
7982 (WebCore::SVGInlineTextBox::selectionHeight):
7983 * rendering/SVGRootInlineBox.h:
7984 (WebCore::SVGRootInlineBox::SVGRootInlineBox):
7985 (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
7986 * rendering/TrailingFloatsRootInlineBox.h: Removed.
7988 2010-05-12 Dumitru Daniliuc <dumi@chromium.org>
7990 Reviewed by Dimitri Glazkov.
7992 Removing the unnecessary dirfd parameter.
7993 https://bugs.webkit.org/show_bug.cgi?id=38869
7995 * platform/chromium/ChromiumBridge.h:
7996 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
7998 2010-05-12 Enrica Casucci <enrica@apple.com>
8000 Reviewed by Dave Hyatt.
8002 Adding block elements to a block and removing them changes the height of the element.
8003 https://bugs.webkit.org/show_bug.cgi?id=38874
8005 The initial height of an empty editable block is different from the height of the same block after we add block elements
8008 Test: editing/deleting/delete-block-contents-004.html
8010 * rendering/RenderBlock.cpp:
8011 (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
8012 and never reset to true when all the block elements contained are removed.
8014 2010-05-11 Dumitru Daniliuc <dumi@chromium.org>
8016 Reviewed by Dimitri Glazkov.
8018 Do not check if a database needs to be vacuumed after a read-only transaction.
8019 https://bugs.webkit.org/show_bug.cgi?id=38972
8021 * storage/SQLTransaction.cpp:
8022 (WebCore::SQLTransaction::postflightAndCommit):
8024 2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
8026 Reviewed by Kenneth Rohde Christiansen.
8028 [Qt] Detect debug mode consistently
8029 https://bugs.webkit.org/show_bug.cgi?id=38863
8031 No new tests as there is no new functionality.
8035 2010-05-12 James Robinson <jamesr@chromium.org>
8037 Patch by Dan Bernstein.
8039 Reviewed by David Hyatt.
8041 Fix marking the layout root's parent as needing layout
8042 https://bugs.webkit.org/show_bug.cgi?id=37760
8044 If an element gets marked as needing layout due to the recalcStyle()
8045 call in FrameView::layout(), the m_layoutSchedulingEnabled flag will
8046 be set to false. It's possible at this point that a parent of the
8047 existing FrameView::m_layoutRoot will be marked as needing layout.
8049 This patch updates FrameView::scheduleRelayoutOfSubtree to account
8052 Manual test only due to subtle timing issues.
8054 * manual-tests/layoutroot_detach.xml: Added.
8055 * page/FrameView.cpp:
8056 (WebCore::FrameView::scheduleRelayoutOfSubtree):
8058 2010-05-12 Eric Seidel <eric@webkit.org>
8060 Unreviewed, rolling out r59245.
8061 http://trac.webkit.org/changeset/59245
8062 https://bugs.webkit.org/show_bug.cgi?id=38874
8064 Broke at least one test on multiple platforms
8066 * rendering/RenderBlock.cpp:
8067 (WebCore::RenderBlock::removeChild):
8069 2010-05-12 Alexey Proskuryakov <ap@apple.com>
8071 Reviewed by Darin Adler.
8073 https://bugs.webkit.org/show_bug.cgi?id=38752
8074 Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc)
8076 Test: fast/images/extra-image-in-image-document.html
8078 * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages
8079 after manually feeding an image - there may be more coming.
8081 2010-05-12 yael aharon <yael.aharon@nokia.com>
8083 Reviewed by Dan Bernstein.
8085 HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement
8086 https://bugs.webkit.org/show_bug.cgi?id=38991
8088 No new tests since no new functionality was introduced.
8090 * html/HTMLLabelElement.cpp:
8091 (WebCore::HTMLLabelElement::control):
8092 * html/HTMLLabelElement.h:
8094 2010-05-12 David Hyatt <hyatt@apple.com>
8096 Reviewed by Darin Adler.
8098 https://bugs.webkit.org/show_bug.cgi?id=38891
8100 First-letter had a number of bugs that were exposed by my attempt to optimize the setting of styles when updating first-letter.
8101 The code that drills down to find the first-letter child stopped if it hit an element that didn't need layout. This means it could
8102 return random incorrect results (and cause the first-letter object to not be found).
8104 In addition when the first-letter was floated/positioned, the text child was not correctly returned, but the container itself was
8107 Finally, the updating code was leaving the box that wrapped the first letter text with a stale style. The old code happened to work because
8108 it made new styles for the text elements instead of using the enclosing box style. The regression was caused by my change to make the
8109 text children simply share style with their parent (thus making the bug that the parent had the wrong style become more prominent).
8111 No new tests, since there's a timing component to reproducing the issue.
8113 * rendering/RenderBlock.cpp:
8114 (WebCore::RenderBlock::updateFirstLetter):
8116 2010-05-12 Enrica Casucci <enrica@apple.com>
8118 Reviewed by Dave Hyatt.
8120 Adding block elements to a block and removing them changes the height of the element.
8121 https://bugs.webkit.org/show_bug.cgi?id=38874
8123 The initial height of an empty editable block is different from the height of the same block after we add block elements
8126 Test: editing/deleting/delete-block-contents-004.html
8128 * rendering/RenderBlock.cpp:
8129 (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
8130 and never reset to true when all the block elements contained are removed.
8132 2010-05-12 Pavel Feldman <pfeldman@chromium.org>
8134 Reviewed by Timothy Hatcher.
8136 Web Inspector: disabling style property on container breaks styles inspection for given node.
8138 https://bugs.webkit.org/show_bug.cgi?id=39005
8140 Tests: inspector/styles-disable-inherited.html
8141 inspector/styles-disable-then-enable.html
8143 * inspector/front-end/StylesSidebarPane.js:
8144 (WebInspector.StylesSidebarPane.prototype._containsInherited):
8145 (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
8147 2010-05-12 Abhishek Arya <inferno@chromium.org>
8149 Reviewed by Darin Adler.
8151 HTML Entity Escape the contents of a textarea node when accessed
8152 via the innerHTML and outerHTML node properties.
8153 https://bugs.webkit.org/show_bug.cgi?id=38922
8155 Test: fast/innerHTML/innerHTML-special-elements.html
8157 * editing/markup.cpp:
8158 (WebCore::appendStartMarkup):
8160 2010-05-12 Beth Dakin <bdakin@apple.com>
8162 Reviewed by Darin Adler.
8164 Fix for https://bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION:
8165 Crash clicking background NPR tab after few minutes of sitting idle
8167 <rdar://problem/7941504>
8169 Move m_mediaCanStartListeners HashSet to Document away from Page.
8171 (WebCore::Document::Document):
8172 (WebCore::Document::addMediaCanStartListener):
8173 (WebCore::Document::removeMediaCanStartListener):
8174 (WebCore::Document::takeAnyMediaCanStartListener):
8177 (WebCore::Page::takeAnyMediaCanStartListener):
8179 (WebCore::Page::canStartMedia):
8181 2010-05-11 Ilya Tikhonovsky <loislo@chromium.org>
8183 Reviewed by Pavel Feldman.
8185 WebInspector: Sometimes ResourceRequest records aren't connected to the initiator.
8186 https://bugs.webkit.org/show_bug.cgi?id=38925
8188 * inspector/InspectorTimelineAgent.cpp:
8189 (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
8190 * inspector/InspectorTimelineAgent.h:
8192 * inspector/TimelineRecordFactory.cpp:
8193 (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
8194 * inspector/TimelineRecordFactory.h:
8195 * inspector/front-end/TimelineAgent.js:
8196 * inspector/front-end/TimelinePanel.js:
8197 (WebInspector.TimelinePanel):
8198 (WebInspector.TimelinePanel.prototype.get _recordStyles):
8199 (WebInspector.TimelinePanel.prototype._findParentRecord):
8200 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
8201 (WebInspector.TimelinePanel.prototype._clearPanel):
8202 (WebInspector.TimelinePanel.FormattedRecord):
8203 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
8204 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
8205 * loader/loader.cpp:
8206 (WebCore::Loader::load):
8208 2010-05-12 Kent Tamura <tkent@chromium.org>
8210 Reviewed by Darin Adler.
8212 placeholder text should be stripped from line breaks
8213 https://bugs.webkit.org/show_bug.cgi?id=36291
8215 According to http://dev.w3.org/html5/spec/forms.html#attr-input-placeholder ,
8216 we need to remove CR and LF from the placeholder attribute values.
8217 Introduce HTMLTextFormControlElement::strippedPlaceholder(), which
8218 returns stripped value, and replace getAttribute(placeholderAttr) with it.
8220 Test: fast/forms/placeholder-stripped.html
8222 * html/HTMLFormControlElement.cpp:
8223 (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
8224 (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
8225 (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
8226 Use strippedPlaceholder().
8227 * html/HTMLFormControlElement.h:
8228 * platform/text/CharacterNames.h: Add carriageReturn.
8229 * rendering/RenderTextControlMultiLine.cpp:
8230 (WebCore::RenderTextControlMultiLine::updateFromElement):
8231 Use strippedPlaceholder().
8232 * rendering/RenderTextControlSingleLine.cpp:
8233 (WebCore::RenderTextControlSingleLine::updateFromElement):
8234 Use strippedPlaceholder().
8236 2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
8238 Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
8240 [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
8241 https://bugs.webkit.org/show_bug.cgi?id=26224
8243 This patch adds the ability, in the QtWebkit build system, to change
8244 the installation path.
8248 2010-05-12 Jer Noble <jer.noble@apple.com>
8250 Reviewed by Darin Adler.
8252 Bug 38689: #34005 will break fullscreen video playback
8253 https://bugs.webkit.org/show_bug.cgi?id=38689
8255 The PlatformMedia struct now contains a type field indicating which type
8256 it contains. The struct now contains a union of all possible return types,
8257 allowing the type of media returned by MediaPlayerPrivate instances to be
8258 determined at runtime.
8260 * platform/graphics/MediaPlayer.h:
8261 (WebCore::PlatformMedia::):
8263 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
8264 (WebCore::MediaPlayerPrivate::platformMedia):
8265 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
8266 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
8267 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
8268 (WebCore::MediaPlayerPrivate::platformMedia):
8270 2010-05-12 Young Han Lee <joybro@company100.net>
8272 Reviewed by Darin Adler.
8274 Add missing ENABLE(SVG) guards.
8275 https://bugs.webkit.org/show_bug.cgi?id=38892
8277 * rendering/RenderSVGResourceClipper.cpp:
8278 * rendering/RenderSVGResourceMarker.cpp:
8279 * rendering/RenderSVGResourceMasker.cpp:
8281 2010-05-12 Pavel Feldman <pfeldman@chromium.org>
8283 Reviewed by Yury Semikhatsky.
8285 Web Inspector: align sidebar checkboxes on windows.
8287 https://bugs.webkit.org/show_bug.cgi?id=38986
8289 * inspector/front-end/StylesSidebarPane.js:
8290 * inspector/front-end/inspector.css:
8291 (.sidebar-pane-subtitle):
8292 (body.platform-windows .sidebar-pane-subtitle):
8294 2010-05-10 yael aharon <yael.aharon@nokia.com>
8296 Reviewed by Darin Adler.
8298 Support control attribute of HTMLLabelElement
8299 https://bugs.webkit.org/show_bug.cgi?id=38688
8301 Added support for the control attribute of HTMLLabelElement and changed the logic of determining
8302 which control is associated with the label to conform to HTML5 spec.
8303 Added a manual test for testing the logic of selecting the control to get focused, activated or hovered
8304 when the label gets focused, activated or is hovered.
8306 Test: fast/dom/HTMLLabelElement/click-label.html
8307 Test: fast/dom/HTMLLabelElement/focus-label.html
8308 Test: fast/dom/HTMLLabelElement/label-control.html
8310 * accessibility/AccessibilityRenderObject.cpp:
8311 (WebCore::labelForElement):
8312 (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
8313 * html/HTMLFormControlElement.cpp:
8314 (WebCore::HTMLFormControlElement::isLabelable):
8315 * html/HTMLFormControlElement.h:
8316 * html/HTMLLabelElement.cpp:
8317 (WebCore::nodeAsLabelableFormControl):
8318 (WebCore::HTMLLabelElement::control):
8319 (WebCore::HTMLLabelElement::setActive):
8320 (WebCore::HTMLLabelElement::setHovered):
8321 (WebCore::HTMLLabelElement::defaultEventHandler):
8322 (WebCore::HTMLLabelElement::focus):
8323 (WebCore::HTMLLabelElement::accessKeyAction):
8324 * html/HTMLLabelElement.h:
8325 * html/HTMLLabelElement.idl:
8326 * manual-tests/dom/form-control-for-label.html: Added.
8328 2010-05-12 Steve Block <steveblock@google.com>
8330 Reviewed by David Levin.
8332 Android's writeToFile() is buggy
8333 https://bugs.webkit.org/show_bug.cgi?id=38908
8335 No new tests, build fix only.
8337 * platform/android/FileSystemAndroid.cpp: Remove Android's version of writeToFile().
8338 * platform/posix/FileSystemPOSIX.cpp: Use POSIX version of writeToFile() on Android.
8339 (WebCore::writeToFile):
8341 2010-05-10 Philippe Normand <pnormand@igalia.com>
8343 Reviewed by David Levin.
8345 [GStreamer] incoherent #ifdef in GOwnPtrGStreamer.h
8346 https://bugs.webkit.org/show_bug.cgi?id=38839
8348 Fixed #ifdef/curly braces coherence.
8350 * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
8353 2010-05-10 Philippe Normand <pnormand@igalia.com>
8355 Reviewed by Dirk Schulze.
8357 [GStreamer] un-needed cairo.h include
8358 https://bugs.webkit.org/show_bug.cgi?id=38837
8360 Cairo not used in the sink anymore. So it's not needed to include
8363 * platform/graphics/gstreamer/VideoSinkGStreamer.h:
8365 2010-05-12 Zoltan Herczeg <zherczeg@webkit.org>
8367 Reviewed by Nikolas Zimmermann.
8369 Build fix for Windows and Chromium builds.
8372 * WebCore.vcproj/WebCore.vcproj:
8373 * svg/graphics/filters/SVGFELighting.cpp:
8374 (WebCore::FELighting::LightingData::upLeftPixelValue):
8375 (WebCore::FELighting::LightingData::upPixelValue):
8376 (WebCore::FELighting::LightingData::upRightPixelValue):
8377 (WebCore::FELighting::LightingData::leftPixelValue):
8378 (WebCore::FELighting::LightingData::centerPixelValue):
8379 (WebCore::FELighting::LightingData::rightPixelValue):
8380 (WebCore::FELighting::LightingData::downLeftPixelValue):
8381 (WebCore::FELighting::LightingData::downPixelValue):
8382 (WebCore::FELighting::LightingData::downRightPixelValue):
8383 (WebCore::FELighting::setPixel):
8385 2010-05-12 Zoltan Herczeg <zherczeg@webkit.org>
8387 Reviewed by Nikolas Zimmermann.
8389 Implementing SVG filters: feDiffuseLighting and feSpecularLighting
8390 https://bugs.webkit.org/show_bug.cgi?id=32197
8391 https://bugs.webkit.org/show_bug.cgi?id=32199
8393 The patch implements the SVG filters feDiffuseLighting and
8394 feSpecularLighting including the impementation of their possible
8395 light sources according to the Scalable Vector Graphics (SVG)
8396 1.1 Specification. Only two features are missing: supporting images
8397 with height or width set to 1, and kernelUnitLength other than (1,1).
8398 Since the two lighting filters have a similar body, a common base
8399 class called FELighting is introduced, and contains the code for
8400 both filters. The implementation employs single precision floating
8401 point arithmetic (fixed precision integer arithmetic seemed too difficult).
8403 Indentation is removed of the modified header files in svg/graphics/filters
8407 * WebCore.xcodeproj/project.pbxproj:
8408 * platform/graphics/FloatPoint3D.cpp:
8409 * platform/graphics/FloatPoint3D.h:
8410 (WebCore::FloatPoint3D::FloatPoint3D): constructors changed to inline
8411 (WebCore::operator*): dot product
8412 * svg/SVGFESpotLightElement.cpp:
8413 (WebCore::SVGFESpotLightElement::lightSource):
8414 * svg/graphics/filters/SVGDistantLightSource.h:
8415 (WebCore::DistantLightSource::create):
8416 (WebCore::DistantLightSource::azimuth):
8417 (WebCore::DistantLightSource::elevation):
8418 (WebCore::DistantLightSource::DistantLightSource):
8419 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
8420 (WebCore::FEDiffuseLighting::FEDiffuseLighting):
8421 (WebCore::FEDiffuseLighting::create):
8422 * svg/graphics/filters/SVGFEDiffuseLighting.h:
8423 * svg/graphics/filters/SVGFELighting.cpp: Added.
8424 (WebCore::FELighting::FELighting):
8425 (WebCore::FELighting::LightingData::upLeftPixelValue):
8426 (WebCore::FELighting::LightingData::upPixelValue):
8427 (WebCore::FELighting::LightingData::upRightPixelValue):
8428 (WebCore::FELighting::LightingData::leftPixelValue):
8429 (WebCore::FELighting::LightingData::centerPixelValue):
8430 (WebCore::FELighting::LightingData::rightPixelValue):
8431 (WebCore::FELighting::LightingData::downLeftPixelValue):
8432 (WebCore::FELighting::LightingData::downPixelValue):
8433 (WebCore::FELighting::LightingData::downRightPixelValue):
8434 (WebCore::FELighting::setPixel):
8435 (WebCore::FELighting::drawLighting):
8436 (WebCore::FELighting::apply):
8437 * svg/graphics/filters/SVGFELighting.h: Added.
8438 (WebCore::FELighting::uniteChildEffectSubregions):
8439 (WebCore::FELighting::):
8440 * svg/graphics/filters/SVGFESpecularLighting.cpp:
8441 (WebCore::FESpecularLighting::FESpecularLighting):
8442 (WebCore::FESpecularLighting::create):
8443 * svg/graphics/filters/SVGFESpecularLighting.h:
8444 * svg/graphics/filters/SVGLightSource.cpp:
8445 (WebCore::PointLightSource::initPaintingData):
8446 (WebCore::PointLightSource::updatePaintingData):
8447 (WebCore::SpotLightSource::initPaintingData):
8448 (WebCore::SpotLightSource::updatePaintingData):
8449 (WebCore::DistantLightSource::initPaintingData):
8450 (WebCore::DistantLightSource::updatePaintingData):
8451 * svg/graphics/filters/SVGLightSource.h:
8453 (WebCore::LightSource::LightSource):
8454 (WebCore::LightSource::~LightSource):
8455 (WebCore::LightSource::type):
8456 * svg/graphics/filters/SVGPointLightSource.h:
8457 (WebCore::PointLightSource::create):
8458 (WebCore::PointLightSource::position):
8459 (WebCore::PointLightSource::PointLightSource):
8460 * svg/graphics/filters/SVGSpotLightSource.h:
8461 (WebCore::SpotLightSource::create):
8462 (WebCore::SpotLightSource::position):
8463 (WebCore::SpotLightSource::direction):
8464 (WebCore::SpotLightSource::specularExponent):
8465 (WebCore::SpotLightSource::limitingConeAngle):
8466 (WebCore::SpotLightSource::SpotLightSource):
8468 2010-05-12 Xan Lopez <xlopez@igalia.com>
8470 Reviewed by Nikolas Zimmermann.
8472 Add missing AM_V_GEN directives to generation rules so that they
8473 remain silent when requested.
8477 2010-05-12 Lucas De Marchi <lucas.demarchi@profusion.mobi>
8479 Reviewed by Jeremy Orlow.
8481 [EFL] It does not make sense to use ScrollbarEfl::ScrollbarEfl, so
8482 use ScrollbarEfl (GCC 4.5 seems to be pickier about this). Revision 59030
8483 fixed cases for RenderThemeEfl, but missed this for ScrollbarEfl.
8484 http://webkit.org/b/38904
8486 No new tests required.
8488 * platform/efl/ScrollbarEfl.cpp:
8489 (scrollbarEflEdjeMessage):
8491 2010-05-12 MORITA Hajime <morrita@google.com>
8493 Reviewed by Kent Tamura.
8495 [Chromium] Support HTML5 <progress> element on Windows.
8496 https://bugs.webkit.org/show_bug.cgi?id=37308
8498 Extended ChromiumBridge to handle progress bar painting,
8499 and added delegations to it.
8501 No new tests. Test cases should be shared with existing ones for
8502 progress element. Expectaions will be added after PROGRESS_TAG is
8503 enabled on Chromium tree.
8505 * platform/chromium/ChromiumBridge.h:
8506 * rendering/RenderProgress.cpp:
8507 (WebCore::RenderProgress::animationProgress):
8508 (WebCore::RenderProgress::isDeterminate):
8509 * rendering/RenderProgress.h:
8510 (WebCore::RenderProgress::position):
8511 * rendering/RenderThemeChromiumWin.cpp:
8512 (WebCore::RenderThemeChromiumWin::animationRepeatIntervalForProgressBar):
8513 (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
8514 (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
8515 (WebCore::RenderThemeChromiumWin::paintProgressBar):
8516 * rendering/RenderThemeChromiumWin.h:
8518 2010-05-12 Marcus Bulach <bulach@chromium.org>
8520 Reviewed by Steve Block.
8522 Removes Geolocation::setPosition and uses positionChanged() to capture lastPosition().
8523 This brings CLIENT_BASED_GEOLOCATION more inline with the non-client based.
8524 https://bugs.webkit.org/show_bug.cgi?id=38195
8526 * page/Geolocation.cpp:
8527 (WebCore::Geolocation::lastPosition):
8528 (WebCore::Geolocation::requestPermission):
8529 (WebCore::Geolocation::positionChangedInternal):
8530 (WebCore::Geolocation::positionChanged):
8531 (WebCore::Geolocation::geolocationServicePositionChanged):
8532 * page/Geolocation.h:
8533 * page/GeolocationController.cpp:
8534 (WebCore::GeolocationController::positionChanged):
8535 (WebCore::GeolocationController::lastPosition):
8536 * page/GeolocationController.h:
8538 2010-05-12 Marcus Bulach <bulach@chromium.org>
8540 Reviewed by Steve Block.
8542 Attaches the geolocation bridge later on startUpdating().
8543 This prevents a page requesting permission when it has just accessed navigator.geolocation (without calling navigator.geolocation.getCurrentPosition/watchPosition).
8544 Note: when Geolocation::haveSuitableCachedPosition(), WebGeolocationServiceBridgeImpl::startUpdating() is not called,
8545 so we attach the bridge if needed at requestGeolocationPermissionForFrame().
8546 https://bugs.webkit.org/show_bug.cgi?id=38323
8547 http://crbug.com/42789
8549 * platform/chromium/GeolocationServiceChromium.h:
8551 2010-05-12 Robin Qiu <robin.qiu@torchmobile.com.cn>
8553 Reviewed by Dirk Schulze.
8555 Fix a bug in SVGPathSegList::getPathSegAtLength().
8556 This bug is just a misktake: almost all of the code is OK, but the
8557 parameter is not used at all, therefore, this function always returns
8559 And make a modification to return the last path segment if the distance
8560 exceeds the actual path length.
8561 https://bugs.webkit.org/show_bug.cgi?id=37515
8563 Test: svg/dom/svgpath-getPathSegAtLength.html
8565 * svg/SVGPathSegList.cpp:
8566 (WebCore::SVGPathSegList::getPathSegAtLength):
8568 2010-05-11 David Hyatt <hyatt@apple.com>
8570 Reviewed by Maciej Stachowiak.
8572 https://bugs.webkit.org/show_bug.cgi?id=38976, fast/css/pseudo-cache-stale.html has incorrect results.
8574 Make sure to trigger a relayout of any objects whose first-line styles change dynamically.
8577 (WebCore::Element::pseudoStyleCacheIsInvalid):
8579 2010-05-11 Joseph Pecoraro <joepeck@webkit.org>
8581 Reviewed by Timothy Hatcher.
8583 Web Inspector: Shorthand Properties Getting Deleted When Editing
8584 https://bugs.webkit.org/show_bug.cgi?id=38958
8586 * inspector/front-end/DOMAgent.js:
8587 (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values
8589 2010-05-11 Tony Chang <tony@chromium.org>
8591 Reviewed by Darin Fisher.
8593 [chromium] Remove subframe scrollbar routing (r58937)
8594 https://bugs.webkit.org/show_bug.cgi?id=38894
8596 * page/chromium/EventHandlerChromium.cpp:
8597 (WebCore::EventHandler::passMousePressEventToSubframe):
8599 2010-05-11 Simon Fraser <simon.fraser@apple.com>
8601 Reviewed by Maciej Stachowiak.
8603 Body not redrawn, and filled with garbage on some composited pages
8604 https://bugs.webkit.org/show_bug.cgi?id=38951
8605 <rdar://problem/7891548>
8607 When the root layer becomes composited (for example, because a negative z-index
8608 descendant in its stacking context becomes composited), then it has to be made
8609 large enough to fill the viewport, because the page background draws into it.
8611 Test: compositing/geometry/composited-html-size.html
8613 * rendering/RenderLayerCompositor.cpp:
8614 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
8616 2010-05-11 Anders Carlsson <andersca@apple.com>
8618 Reviewed by Mark Rowe.
8620 https://bugs.webkit.org/show_bug.cgi?id=38961
8621 Move some member variables around to reduce class sizes.
8623 If a class inherits (directly or indirectly) from FastAllocBase, we don't want the first member variable
8624 of that class to also inherit (directly or indirectly) from FastAllocBase as this will add padding to the class
8625 and thus increasing its size.
8627 * css/CSSParserValues.h:
8628 * css/CSSSelector.h:
8629 (WebCore::CSSSelector::CSSSelector):
8630 (WebCore::CSSSelector::RareData::RareData):
8631 * platform/graphics/FontCache.cpp:
8632 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
8634 2010-05-11 Dumitru Daniliuc <dumi@chromium.org>
8636 Reviewed by Adam Barth.
8638 Adding a function needed by the V8 code generator to turn on/off
8639 the binding for WorkerContext::openDatabaseSync().
8640 https://bugs.webkit.org/show_bug.cgi?id=38960
8642 * bindings/generic/RuntimeEnabledFeatures.cpp:
8643 (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
8644 * bindings/generic/RuntimeEnabledFeatures.h:
8646 2010-05-11 MORITA Hajime <morrita@google.com>
8648 Reviewed by Dirk Schulze.
8650 CSS SVG font doesn't recognize URL without element reference
8651 https://bugs.webkit.org/show_bug.cgi?id=37144
8653 CachedFont::getSVGFontById() did assume that element reference (ID) is given.
8654 So fixed to handle an empty or missing element reference. In which case,
8655 the first font element is returned if available.
8657 Test: svg/custom/svg-fonts-with-no-element-reference.html
8659 * loader/CachedFont.cpp:
8660 (WebCore::CachedFont::getSVGFontById):
8662 2010-05-11 Jer Noble <jer.noble@apple.com>
8666 Fix the Windows Debug Build: the correct VCProj variable to use when linking against
8667 JavaScriptCore is $(WebKitDLLConfigSuffix), not $(WebKitConfigSuffix), which expands
8668 to an empty string rather than "_debug".
8670 * WebCore.vcproj/QTMovieWin.vcproj:
8672 2010-05-11 Jer Noble <jer.noble@apple.com>
8674 19 media tests are crashing on Windows Release
8675 https://bugs.webkit.org/show_bug.cgi?id=38950
8676 rdar://problem/7971658
8678 Reviewed by Darin Adler.
8680 Link against JavaScriptCore.lib instead of WTF.lib, so the free and malloc used by
8681 QTMovieWin is always the free and malloc in JavaScriptCore.dll.
8683 * WebCore.vcproj/QTMovieWin.vcproj:
8685 2010-05-11 Darin Adler <darin@apple.com>
8687 Reviewed by Beth Dakin.
8689 Another refactoring patch in preparation for a fix to
8690 https://bugs.webkit.org/show_bug.cgi?id=38871
8691 REGRESSION: Crash clicking background NPR tab after few minutes of sitting idle
8694 (WebCore::Document::addMediaCanStartListener): Added.
8695 (WebCore::Document::removeMediaCanStartListener): Added.
8697 * dom/Document.h: Added add/removeMediaCanStartListener.
8699 * html/HTMLMediaElement.cpp:
8700 (WebCore::HTMLMediaElement::~HTMLMediaElement): Call removeMediaCanStartListener
8701 on the document instead of the page.
8702 (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Call
8703 removeMediaCanStartListener on the current document.
8704 (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Call
8705 addMediaCanStartListener on the new document.
8706 (WebCore::HTMLMediaElement::loadInternal): Call addMediaCanStartListener
8707 on the document instead of the page.
8709 * plugins/PluginView.cpp:
8710 (WebCore::PluginView::startOrAddToUnstartedList): Call addMediaCanStartListener
8711 on the document instead of the page.
8712 (WebCore::PluginView::~PluginView): Call removeMediaCanStartListener
8713 on the document instead of the page, and do it in line instead of calling
8716 * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary.
8718 2010-05-11 Brian Weinstein <bweinstein@apple.com>
8720 Reviewed by Steve Falkenburg and Jon Honeycutt.
8721 Patch by Gavin Barraclough.
8723 REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
8724 https://bugs.webkit.org/show_bug.cgi?id=38930
8725 <rdar://problem/7937188>
8727 Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
8729 No new tests because no change in behavior.
8731 * WebCore.vcproj/WebCore.vcproj:
8733 2010-05-11 Beth Dakin <bdakin@apple.com>
8735 Reviewed by Darin Adler.
8737 Small re-factoring patch in preparation for fixing https://
8738 bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: Crash clicking
8739 background NPR tab after few minutes of sitting idle
8742 (WebCore::Page::takeAnyMediaCanStartListener):
8743 (WebCore::Page::setCanStartMedia):
8746 2010-05-11 Alexey Proskuryakov <ap@apple.com>
8748 Reviewed by Brady Eidson.
8750 https://bugs.webkit.org/show_bug.cgi?id=37989
8751 Safari (still) doesn't always send basic credentials preemptively
8753 Test: http/tests/xmlhttprequest/basic-auth-default.html
8755 After fetching credentials from WebCore storage, put them back right away. This will add
8756 default credentials for the directory, since this may be the first time we learn about its
8757 associated protection space.
8759 * platform/network/cf/ResourceHandleCFNet.cpp:
8760 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
8761 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
8762 * platform/network/mac/ResourceHandleMac.mm:
8763 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
8764 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
8766 2010-05-11 Kevin Watters <kevinwatters@gmail.com>
8768 Reviewed by Kevin Ollivier.
8770 [wx] Create an NSFont on Mac builds that do not have built-in methods to do so.
8771 https://bugs.webkit.org/show_bug.cgi?id=38931
8773 * platform/graphics/wx/FontPlatformData.h:
8774 (WebCore::FontPlatformData::nsFont):
8775 * platform/graphics/wx/FontPlatformDataWxMac.mm:
8778 (WebCore::FontPlatformData::cacheNSFont):
8779 * platform/graphics/wx/SimpleFontDataWx.cpp:
8780 (WebCore::SimpleFontData::platformWidthForGlyph):
8782 2010-05-11 Avi Drissman <avi@chromium.org>
8784 Reviewed by Darin Fisher.
8786 [Chromium] Pipe RTL info into WebPopupMenuInfo
8787 https://bugs.webkit.org/show_bug.cgi?id=38749
8789 * platform/chromium/PopupMenuChromium.cpp:
8790 (WebCore::PopupContainer::menuStyle):
8791 * platform/chromium/PopupMenuChromium.h:
8793 2010-05-11 Mark Rowe <mrowe@apple.com>
8797 In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
8798 The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
8799 that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
8800 in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
8801 and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
8802 function in WebCore being called.
8804 We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
8805 other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
8808 * Configurations/FeatureDefines.xcconfig:
8810 2010-05-11 Dimitri Glazkov <dglazkov@chromium.org>
8812 Reviewed by Darin Adler.
8814 REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
8815 https://bugs.webkit.org/show_bug.cgi?id=38913
8817 * Widened the check for a successful submit button to include all HTMLFormControlElements.
8818 * Clarified implicit submission code by:
8819 - introducing HTMLFormControlElement::canTriggerImplicitSubmission flag,
8820 - getting rid of static casting and checking for tag names.
8822 * html/HTMLFormControlElement.h:
8823 (WebCore::HTMLFormControlElement::canTriggerImplicitSubmission): Added.
8824 * html/HTMLFormElement.cpp:
8825 (WebCore::HTMLFormElement::submitImplicitly): Renamed parameters for clarity, refactored code
8826 to use canTriggerImplicitSubmission.
8827 * html/HTMLFormElement.h: Renamed parameter for clarity.
8828 * html/HTMLInputElement.cpp:
8829 (WebCore::HTMLInputElement::defaultEventHandler): Used canTriggerImplicitSubmission()
8830 instead of isTextField() for clarity.
8831 * html/HTMLInputElement.h:
8832 (WebCore::HTMLInputElement::canTriggerImplicitSubmission): Added.
8833 * html/HTMLIsIndexElement.h:
8834 (WebCore::HTMLIsIndexElement::canTriggerImplicitSubmission): Added.
8836 2010-05-11 Sheriff Bot <webkit.review.bot@gmail.com>
8838 Unreviewed, rolling out r59171.
8839 http://trac.webkit.org/changeset/59171
8840 https://bugs.webkit.org/show_bug.cgi?id=38933
8842 "Broke the world" (Requested by bweinstein on #webkit).
8844 * WebCore.vcproj/WebCore.vcproj:
8846 2010-05-11 Brian Weinstein <bweinstein@apple.com>
8848 Reviewed by Steve Falkenburg.
8849 Patch by Gavin Barraclough.
8851 REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
8852 https://bugs.webkit.org/show_bug.cgi?id=38930
8853 <rdar://problem/7937188>
8855 Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
8857 No new tests because no change in behavior.
8859 * WebCore.vcproj/WebCore.vcproj:
8861 2010-05-11 Jian Li <jianli@chromium.org>
8863 Unreviewed. Fix compiling erron on snow leopard.
8865 * html/FileThreadTask.h:
8866 (WebCore::createFileThreadTask):
8868 2010-05-11 Jian Li <jianli@chromium.org>
8870 Reviewed by Dmitry Titov.
8872 Expose FileReader interface.
8873 https://bugs.webkit.org/show_bug.cgi?id=38609
8875 Test: fast/files/file-reader.html
8877 * Configurations/FeatureDefines.xcconfig:
8878 * DerivedSources.cpp:
8879 * DerivedSources.make:
8883 * WebCore.vcproj/WebCore.vcproj:
8884 * WebCore.xcodeproj/project.pbxproj:
8885 * bindings/js/JSEventTarget.cpp:
8887 * bindings/v8/V8DOMWrapper.cpp:
8888 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
8889 * html/FileError.idl:
8890 * html/FileReader.idl: Added.
8891 * page/DOMWindow.idl:
8893 2010-05-11 Xan Lopez <xlopez@igalia.com>
8895 Reviewed by Gustavo Noronha.
8897 [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation
8898 https://bugs.webkit.org/show_bug.cgi?id=38653
8900 Check if willSendRequest cancelled the request before setting the
8901 first party for the cookies in the message, otherwise we'll get a
8904 * platform/network/soup/ResourceHandleSoup.cpp:
8905 (WebCore::restartedCallback):
8907 2010-05-11 Jer Noble <jer.noble@apple.com>
8909 Reviewed by Adele Peterson.
8911 REGRESSION (r59001): 11 media tests are failing on Windows (38847)
8912 rdar://problem/7962997
8913 https://bugs.webkit.org/show_bug.cgi?id=38847
8915 QTMovieWin was too much refactored; the cacheMovieScale() function should have
8916 been left in QTMovie (instead of being moved into QTMovieGWorld). This fixes the
8917 video-size-intrinsic-scale test.
8919 QTMovieTask::updateTaskTimer() was ignoring the maxInterval parameter unless
8920 QTGetTimeUntilNextTask() returned an error, which caused the next timer to be
8921 scheduled for extremely far in the future, breaking some of the layout tests.
8923 QTMovieTask::fireTaskClients() now makes a local copy of the task list before
8924 calling clients, in case one of them removes themselves from the task list and
8925 invalidates our iterating pointer.
8927 * platform/graphics/win/QTMovie.cpp:
8928 (QTMoviePrivate::task):
8929 (QTMoviePrivate::createMovieController):
8930 (QTMoviePrivate::cacheMovieScale):
8931 * platform/graphics/win/QTMovieGWorld.cpp:
8932 (QTMovieGWorldPrivate::movieLoadStateChanged):
8933 * platform/graphics/win/QTMovieTask.cpp:
8934 (QTMovieTask::updateTaskTimer):
8935 (QTMovieTask::fireTaskClients):
8937 2010-05-11 Patrick Gansterer <paroga@paroga.com>
8939 Reviewed by Adam Roben.
8941 Port SharedBuffer to WinCE.
8942 https://bugs.webkit.org/show_bug.cgi?id=37222
8944 Use only functions which are available on Win32 and WinCE.
8946 * platform/win/SharedBufferWin.cpp:
8947 (WebCore::SharedBuffer::createWithContentsOfFile):
8949 2010-05-11 Benjamin Poulain <benjamin.poulain@nokia.com>
8951 Reviewed by Kenneth Rohde Christiansen.
8953 [Qt] fast/text/find-hidden-text.html
8954 https://bugs.webkit.org/show_bug.cgi?id=32922
8956 Use the real page step for populating the QStyleOption otherwhise
8957 the size can be negative, which can break the QStyle used.
8959 * platform/qt/ScrollbarThemeQt.cpp:
8960 (WebCore::styleOptionSlider):
8962 2010-05-11 Pavel Feldman <pfeldman@chromium.org>
8964 Reviewed by Yury Semikhatsky.
8966 Web Inspector: make styles rendering more user-friendly.
8968 https://bugs.webkit.org/show_bug.cgi?id=36747
8970 * inspector/front-end/ElementsPanel.js:
8971 (WebInspector.ElementsPanel):
8972 * inspector/front-end/StylesSidebarPane.js:
8973 (WebInspector.StylesSidebarPane.prototype._update):
8974 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
8975 (WebInspector.ComputedStyleSidebarPane):
8976 (WebInspector.StylePropertiesSection):
8977 (WebInspector.StylePropertiesSection.prototype.collapse):
8978 (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
8979 * inspector/front-end/inspector.css:
8980 (#elements-content):
8981 (#elements-sidebar):
8982 (.styles-sidebar-separator):
8984 (.styles-section .header):
8985 (.styles-section .header .title):
8986 (.styles-section .header .subtitle):
8987 (.styles-section .header .subtitle a):
8988 (.styles-section .properties):
8989 (.styles-section.no-affect .properties li):
8990 (.styles-section.no-affect .properties li.editing):
8991 (.styles-section.expanded .properties):
8992 (.styles-section .properties li):
8993 (.styles-section .properties li.parent):
8994 (.styles-section .properties ol):
8995 (.styles-section .properties ol.expanded):
8996 (.styles-section .properties li.parent::before):
8997 (.styles-section .properties li.parent.expanded::before):
8998 (.styles-section .properties li .info):
8999 (.styles-section:hover .properties .enabled-button):
9000 (.styles-section .properties li.disabled .enabled-button):
9001 (.styles-section .properties .enabled-button):
9002 (.styles-section .properties .overloaded, .styles-section .properties .disabled):
9003 (.styles-section.computed-style .properties .disabled):
9004 (.styles-section .properties .implicit, .styles-section .properties .inherited):
9005 (.styles-section .properties .inherited):
9006 (.styles-section.show-inherited .properties .inherited):
9008 2010-05-11 Nikolas Zimmermann <nzimmermann@rim.com>
9010 Reviewed by Dirk Schulze.
9012 Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
9013 https://bugs.webkit.org/show_bug.cgi?id=38799
9015 Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox.
9016 Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites.
9018 Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests.
9020 Tests: svg/text/text-hkern-on-vertical-text.svg
9021 svg/text/text-vkern-on-horizontal-text.svg
9023 * Android.mk: Add SVGTextLayoutUtilities.cpp/h to build.
9024 * GNUmakefile.am: Ditto.
9025 * WebCore.gypi: Ditto.
9026 * WebCore.pro: Ditto.
9027 * WebCore.vcproj/WebCore.vcproj: Ditto.
9028 * WebCore.xcodeproj/project.pbxproj: Ditto.
9029 * rendering/SVGInlineTextBox.cpp:
9030 (WebCore::SVGInlineTextBox::calculateGlyphWidth): Use textRenderer()->characters() instead of textRenderer()->text()->characters() as shortcut.
9031 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): Fix style issue, no else if after a return branch.
9032 (WebCore::SVGInlineTextBox::paintSelection): Use !color.alpha() instead of color.alpha() == 0.
9033 (WebCore::SVGInlineTextBox::buildLayoutInformation): Moved from SVGRootInlineBox::buildLayoutInformationForTextBox.
9034 * rendering/SVGInlineTextBox.h: Fix indention.
9035 (WebCore::SVGInlineTextBox::selectionTop): Inlined.
9036 (WebCore::SVGInlineTextBox::selectionHeight): Inlined.
9037 * rendering/SVGRenderTreeAsText.cpp: Include SVGTextLayoutUtilities.h
9038 * rendering/SVGRootInlineBox.cpp: Move almost all static text layout helper functions in SVGTextLayoutUtilities
9039 (WebCore::calculateTextLengthCorrectionForTextChunk): Fixed style issue in long if conditions spanning multiple lines.
9040 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use different topLeftPositionOfCharacterRange() taking start/end iterators.
9041 (WebCore::SVGRootInlineBox::buildLayoutInformation): Use the moved SVGInlineTextBox::buildLayoutInformation() method.
9042 (WebCore::SVGRootInlineBox::buildTextChunks): Fixed small style issue, remove unneeded parenthesis.
9043 (WebCore::SVGRootInlineBox::layoutTextChunks): Fix style issue in debugging code.
9044 * rendering/SVGRootInlineBox.h: Rename 'LastGlyphInfo' to 'SVGLastGlyphInfo' and move to SVGTextLayoutUtilities.
9045 (WebCore::SVGRootInlineBox::svgTextChunks): Inlined for speed.
9046 * rendering/SVGTextLayoutUtilities.cpp: Added.
9047 (WebCore::isVerticalWritingMode):
9048 (WebCore::dominantBaselineToShift):
9049 (WebCore::alignmentBaselineToShift):
9050 (WebCore::glyphOrientationToAngle):
9051 (WebCore::glyphOrientationIsMultiplyOf180Degrees):
9052 (WebCore::applyGlyphAdvanceAndShiftRespectingOrientation):
9053 (WebCore::topLeftPositionOfCharacterRange):
9054 (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
9055 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
9056 (WebCore::svgTextRunForInlineTextBox):
9057 (WebCore::calculateCSSKerning):
9058 (WebCore::applySVGKerning):
9059 * rendering/SVGTextLayoutUtilities.h: Added.
9061 (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
9062 (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo):
9064 2010-05-11 Zoltan Herczeg <zherczeg@webkit.org>
9066 Reviewed by Dirk Schulze.
9068 RenderSVGImage::imageChanged should invalidate the SVG filter cache
9069 https://bugs.webkit.org/show_bug.cgi?id=38838
9071 Test: svg/filters/filteredImage.svg
9073 * rendering/RenderSVGImage.cpp:
9074 (WebCore::RenderSVGImage::imageChanged):
9076 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9078 Fix asserting GTK build.
9080 r59137 changed the behavior of RenderObject::repaintUsingContainer(). I mistakenly
9081 thought that non-compositing builds would always pass a 0 repaintContainer, but
9082 actually the RenderView is passed in this case. So use this to repaint if
9083 ACCELERATED_COMPOSITING is turned off.
9085 * rendering/RenderObject.cpp:
9086 (WebCore::RenderObject::repaintUsingContainer):
9088 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9090 Fix warning on Windows about unreachable code.
9092 * rendering/RenderLayerCompositor.cpp:
9093 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
9095 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9097 Reviewed by Anders Carlsson
9099 Allow compositing layers to be connected across iframe boundaries on Mac
9100 https://bugs.webkit.org/show_bug.cgi?id=38856
9102 RenderObject::repaintUsingContainer() incorrectly did a view-based
9103 repaint if the repaint container was the RenderView. Instead, we need
9104 to check to see if the RenderView's layer is composited, and, if so,
9105 whether it's painting into the window or not. This can occur when iframes
9108 The bug is timing-sensitive, involving compositing in iframes, and I was not able to
9109 concoct a good testcase.
9111 * rendering/RenderObject.cpp:
9112 (WebCore::RenderObject::repaintUsingContainer):
9114 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9116 Reviewed by Anders Carlsson
9118 Allow compositing layers to be connected across iframe boundaries on Mac
9119 https://bugs.webkit.org/show_bug.cgi?id=38856
9121 Changes to allow compositing layers for iframes to switch between being hosted
9122 by the iframe's layer-backed NSView, and parented in the GraphicsLayer tree of the
9125 Tests: compositing/iframes/connect-compositing-iframe.html
9126 compositing/iframes/connect-compositing-iframe2.html
9127 compositing/iframes/connect-compositing-iframe3.html
9130 * page/FrameView.cpp:
9131 (WebCore::FrameView::hasCompositedContent): New convenience method.
9132 (WebCore::FrameView::setIsOverlapped): If we're composited, poke the owner document in case it
9133 wants to re-evaluate compositing decisions.
9134 (WebCore::FrameView::isOverlapped): Just expose the existing flag.
9136 * rendering/RenderLayer.cpp:
9137 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
9138 (WebCore::RenderLayer::isSelfPaintingLayer):
9140 * rendering/RenderLayerBacking.cpp:
9141 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): If this is an iframe, we need
9142 to ensure that the layers for the iframe content are hooked up.
9143 (WebCore::RenderLayerBacking::updateDrawsContent): When an iframe toggles between different
9144 attachments, the 'drawsContent' behavior of its root layer changes, so needs to be updated.
9146 * rendering/RenderLayerCompositor.h:
9147 (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer()
9148 instead of detachRootPlatformLayer() and manually zeroing out the OwnPtrs.
9149 (WebCore::RenderLayerCompositor::updateBacking): If a RenderIFrame changes compositing mode,
9150 we need to ensure that its content compositor attachment is updated.
9151 (WebCore::RenderLayerCompositor::repaintOnCompositingChange): The existing code had a bug
9152 that caused repaints for RenderViews (which have no parent) to bail. We only want to bail
9153 for non-RenderViews that are not attached.
9154 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Factored the iframe-connecting
9155 code into a new method, parentIFrameContentLayers().
9156 (WebCore::RenderLayerCompositor::parentIFrameContentLayers): New method to share the code that hooks
9157 up the iframe's compositing layers to the parent.
9158 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Add logic to propagate
9159 compositing out of iframes on Mac in two situations: 1) when the FrameView is overlapped, and 2)
9160 if the parent document is already composited.
9161 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Clean up the logic here to better deal
9162 with dynamic changes of the attachment type.
9163 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Clean up and null out the clipping layer here.
9164 (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call rootLayerAttachmentChanged().
9165 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. Also unparent the clipping and platform layers.
9166 (WebCore::RenderLayerCompositor::updateRootLayerAttachment): Call ensureRootPlatformLayer() to re-evaluate
9167 the layer attachment.
9168 (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): We need to update the drawsContent() status
9169 of the RenderView's layer's backing, because it changes depending on the attachment.
9171 * rendering/RenderWidget.cpp:
9172 (WebCore::RenderWidget::paint): Do overlap testing if the frameView can do fast repaints (as before),
9173 but also now when the frameView has composited content.
9175 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9177 Reviewed by Anders Carlsson
9179 Allow compositing layers to be connected across iframe boundaries on Mac
9180 https://bugs.webkit.org/show_bug.cgi?id=38856
9182 Rename the static shouldPropagateCompositingToIFrameParent() to shouldPropagateCompositingToEnclosingIFrame(),
9183 to pave the way for runtime switches in the propagation behavior. We have to make sure we call it on
9184 the correct RenderLayerCompositor (that belonging to the iframe's content document).
9186 * rendering/RenderLayerBacking.cpp:
9187 (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we
9188 can simplify this method.
9190 * rendering/RenderLayerCompositor.h:
9191 * rendering/RenderLayerCompositor.cpp:
9192 (WebCore::RenderLayerCompositor::enableCompositingMode): No need for the setNeedsStyleRecalc()
9193 here, because the ensureRootPlatformLayer() or destroyRootPlatformLayer() will have already done it.
9195 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine
9196 whether to parent the iframe's layers.
9198 (WebCore::RenderLayerCompositor::didMoveOnscreen): Method name change.
9199 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Name change.
9200 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): We need to consult the iframe contents
9201 document's compositor to ask whether propagation is appropriate.
9202 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Name change.
9204 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9206 Reviewed by Anders Carlsson
9208 Allow compositing layers to be connected across iframe boundaries on Mac
9209 https://bugs.webkit.org/show_bug.cgi?id=38856
9211 Use an enum for the type of root layer attachment on a RenderLayerCompositor, so we can
9212 determine if the attachment is via the ChromeClient, via an enclosing iframe, or unattached.
9214 * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum.
9215 (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment.
9217 * rendering/RenderLayerCompositor.cpp:
9218 (WebCore::RenderLayerCompositor::RenderLayerCompositor): Init m_rootLayerAttachment.
9219 (WebCore::RenderLayerCompositor::~RenderLayerCompositor): Assert that is unattached.
9220 (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer instead of willMoveOffscreen,
9221 when there are no layers left. Also clear out the clipping layer.
9222 (WebCore::RenderLayerCompositor::didMoveOnscreen): Call attachRootPlatformLayer.
9223 (WebCore::RenderLayerCompositor::willMoveOffscreen): Call ensureRootPlatformLayer with the appropriate attachment.
9224 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Only create the m_rootPlatformLayer if we don't have one
9225 already, but be sure to always set the root layer geometry orientation. Also only create the
9226 m_clippingLayer if we need to.
9227 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Call detachRootPlatformLayer().
9228 (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Code moved from didMoveOnscreen, but switching on
9230 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on
9233 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9235 Reviewed by Anders Carlsson
9237 Allow compositing layers to be connected across iframe boundaries on Mac
9238 https://bugs.webkit.org/show_bug.cgi?id=38856
9240 Clean up the geometry logic when propagating compositing out of iframes.
9242 * rendering/RenderLayerCompositor.cpp:
9243 (WebCore::RenderLayerCompositor::updateRootLayerPosition): Geometry on m_rootPlatformLayer no longer
9244 needs to be special when there's a clipping layer.
9246 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Don't set the clipping layer to have
9247 flipped geometry ever, and only set the root layer to have flipped geometry if it is not
9248 being hosted in an iframe. Also no need to set a custom anchor point on the clipping layer.
9250 2010-05-10 Simon Fraser <simon.fraser@apple.com>
9252 Reviewed by Anders Carlsson
9254 Allow compositing layers to be connected across iframe boundaries on Mac
9255 https://bugs.webkit.org/show_bug.cgi?id=38856
9257 Clean up some methods related to composited iframes. No behavioral changes.
9259 * rendering/RenderLayerBacking.h: Move innerRenderLayerCompositor() to be a static method:
9260 RenderLayerCompositor::iframeContentsCompositor().
9261 * rendering/RenderLayerBacking.cpp: Remove innerRenderLayerCompositor().
9262 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call iframeContentsCompositor().
9264 * rendering/RenderLayerCompositor.cpp:
9265 (WebCore::RenderLayerCompositor::enableCompositingMode): Call enclosingIFrameElement()
9266 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): iframeContentsCompositor() is now a static method in this class.
9267 Also check that the iframe contents are in compositing mode (slightly clearer than relying on rootPlatformLayer() returning
9269 (WebCore::RenderLayerCompositor::iframeContentsCompositor): Moved from RenderLayerBacking.
9270 (WebCore::RenderLayerCompositor::didMoveOnscreen): Use enclosingIFrameElement() method.
9271 (WebCore::RenderLayerCompositor::willMoveOffscreen): Ditto.
9272 (WebCore::RenderLayerCompositor::enclosingIFrameElement): New method.
9273 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Call enclosingIFrameElement().
9274 * rendering/RenderLayerCompositor.h: New method, iframeContentsCompositor().
9276 2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
9278 Reviewed by Brady Eidson.
9280 Cleaning up and fixing the existing JSC DB bindings.
9281 https://bugs.webkit.org/show_bug.cgi?id=34994
9283 * bindings/js/JSDOMWindowCustom.cpp:
9284 (WebCore::JSDOMWindow::openDatabase):
9285 * bindings/js/JSDatabaseCustom.cpp:
9286 (WebCore::JSDatabase::changeVersion):
9287 (WebCore::createTransaction):
9288 (WebCore::JSDatabase::transaction):
9289 (WebCore::JSDatabase::readTransaction):
9290 * bindings/js/JSSQLTransactionCustom.cpp:
9291 (WebCore::JSSQLTransaction::executeSql):
9293 2010-05-10 Fumitoshi Ukai <ukai@chromium.org>
9295 Reviewed by Alexey Proskuryakov.
9297 WebSocket needs to suspend/resume as Active DOM object.
9298 https://bugs.webkit.org/show_bug.cgi?id=38171
9300 Implement suspend()/resume() in WebSocket and WebSocketChannel.
9301 While WebSocketChannel is suspended, it only adds received data in m_buffer
9302 or record the handle was closed, and report no event to WebSocket.
9303 When resumed, it will process buffer or handle closing.
9304 Since suspend/resume would be called while processing JavaScript event handler (e.g. before/after alert()), WebSocketChannel method that would fire an event need to be reentrant.
9305 So, WebSocketChannel::processBuffer() call WebSocket to fire an event at most once and skips buffer before the calling,
9306 so that next call of processBuffer() would process the next frame.
9308 * websockets/ThreadableWebSocketChannel.h:
9309 * websockets/ThreadableWebSocketChannelClientWrapper.h:
9310 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
9311 Mark channel is opened, and process pending events if not suspended.
9312 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
9313 Push message back in pending queue, and process pending events if not suspended.
9314 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
9315 Mark channel is closed, and process pending events if not suspended.
9316 (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
9318 (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
9319 Unmark suspended, and process pending events.
9320 (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
9321 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
9322 * websockets/WebSocket.cpp:
9323 (WebCore::WebSocket::canSuspend):
9324 (WebCore::WebSocket::suspend):
9325 (WebCore::WebSocket::resume):
9326 (WebCore::WebSocket::didClose):
9327 * websockets/WebSocket.h:
9328 * websockets/WebSocketChannel.cpp:
9329 (WebCore::WebSocketChannel::WebSocketChannel):
9330 (WebCore::WebSocketChannel::connect):
9331 (WebCore::WebSocketChannel::send):
9332 (WebCore::WebSocketChannel::bufferedAmount):
9333 (WebCore::WebSocketChannel::close):
9334 (WebCore::WebSocketChannel::suspend):
9335 (WebCore::WebSocketChannel::resume):
9336 When resumed, it will process buffer and
9337 handle closing if handle was already closed while suspended.
9338 (WebCore::WebSocketChannel::didClose):
9339 If suspended, record unhandled bufferedAmount and set m_closed true, so that closing will be processed when resumed.
9340 (WebCore::WebSocketChannel::didReceiveData):
9341 Add received data in buffer and process buffer while it is not suspended.
9342 (WebCore::WebSocketChannel::processBuffer):
9343 Process handshake header or one frame message.
9344 Return true if there are more data to be processed.
9345 Return false otherwise (e.g. incomplete handshake header or incomplete frame).
9346 * websockets/WebSocketChannel.h:
9347 * websockets/WorkerThreadableWebSocketChannel.cpp:
9348 (WebCore::WorkerThreadableWebSocketChannel::suspend):
9349 (WebCore::WorkerThreadableWebSocketChannel::resume):
9350 (WebCore::WorkerThreadableWebSocketChannel::Peer::suspend):
9351 (WebCore::WorkerThreadableWebSocketChannel::Peer::resume):
9352 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend):
9353 (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
9354 (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume):
9355 (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
9356 * websockets/WorkerThreadableWebSocketChannel.h:
9358 2010-05-07 Dumitru Daniliuc <dumi@chromium.org>
9360 Reviewed by Brady Eidson.
9362 Implement the JSC bindings for the sync DB API.
9363 https://bugs.webkit.org/show_bug.cgi?id=34994
9365 * bindings/js/JSDatabaseSyncCustom.cpp:
9366 (WebCore::JSDatabaseSync::changeVersion):
9367 (WebCore::createTransaction):
9368 * bindings/js/JSSQLTransactionSyncCustom.cpp:
9369 (WebCore::JSSQLTransactionSync::executeSql):
9371 2010-05-10 Dean Jackson <dino@apple.com>
9373 Reviewed by Simon Fraser.
9375 https://bugs.webkit.org/show_bug.cgi?id=36566
9376 The animation-fill-mode property was missing from
9377 a few places where the animation shorthand is set up.
9379 Test: animations/animation-shorthand-removed.html
9381 * css/CSSMutableStyleDeclaration.cpp:
9382 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Make sure
9383 animation-fill-mode is included in the animation shorthand
9384 * css/CSSPropertyLonghand.cpp:
9385 (WebCore::initShorthandMap):
9387 2010-05-10 Sam Weinig <sam@webkit.org>
9389 Reviewed by Darin Adler.
9391 Fix for https://bugs.webkit.org/show_bug.cgi?id=38583
9392 <rdar://problem/7948784> Crash in Element::normalizeAttributes.
9394 Test: fast/dom/Element/normalize-crash.html
9397 (WebCore::Element::normalizeAttributes): Copy attributes to a vector
9399 * dom/NamedAttrMap.cpp:
9400 (WebCore::NamedNodeMap::copyAttributesToVector): Added.
9401 * dom/NamedAttrMap.h:
9403 2010-05-10 Jian Li <jianli@chromium.org>
9405 Reviewed by Adam Barth.
9407 [V8] Fix V8 code generator script to generate the correct code for
9408 converting ScriptString.
9409 https://bugs.webkit.org/show_bug.cgi?id=38873
9411 Updated the bindings test result. Note that the result is also updated
9412 to reflect other script generator changes not introduced by this patch.
9414 * bindings/scripts/CodeGeneratorV8.pm:
9415 * bindings/scripts/test/JS/JSTestCallback.cpp:
9416 (WebCore::JSTestCallback::JSTestCallback):
9417 (WebCore::JSTestCallback::~JSTestCallback):
9418 * bindings/scripts/test/JS/JSTestCallback.h:
9419 * bindings/scripts/test/V8/V8TestObj.cpp:
9420 (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
9422 2010-05-10 Mark Rowe <mrowe@apple.com>
9424 Fix the 32-bit WebKit2 build.
9428 2010-05-07 Jon Honeycutt <jhoneycutt@apple.com>
9430 Crash closing window containing Flash plug-in
9431 https://bugs.webkit.org/show_bug.cgi?id=38797
9432 <rdar://problem/7935266>
9434 Reviewed by Eric Seidel.
9436 Test: plugins/geturlnotify-during-document-teardown.html
9438 * plugins/PluginView.cpp:
9439 (WebCore::PluginView::load):
9440 Null check the DocumentLoader; it's possible for this to be null while
9441 the Document is being torn down and before the plug-in is destroyed.
9443 2010-05-10 Alexey Proskuryakov <ap@apple.com>
9445 Reviewed by Darin Adler.
9447 Based on a patch by Eric Seidel.
9449 https://bugs.webkit.org/show_bug.cgi?id=28697
9450 <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
9452 It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes
9453 that it can adjust start and end position to any node except for the one being removed -
9454 so these notifications cannot be batched.
9456 Test: fast/dom/Range/remove-all-children-crash.html
9458 * dom/ContainerNode.cpp:
9459 (WebCore::willRemoveChild): Removed unused ExceptionCode.
9460 (WebCore::willRemoveChildren): New function, used in removeChildren() case.
9461 (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it.
9462 (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode.
9463 (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode
9464 and willRemoveChild.
9467 (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9470 (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9474 (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9475 (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
9477 2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
9479 Reviewed by Adam Barth.
9481 Implement the V8 bindings for the sync DB API.
9482 https://bugs.webkit.org.show_bug.cgi?id=34994
9484 * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
9485 (WebCore::V8DatabaseSync::changeVersionCallback):
9486 (WebCore::createTransaction):
9487 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
9488 (WebCore::V8SQLTransactionSync::executeSqlCallback):
9489 * bindings/v8/custom/V8WorkerContextCustom.cpp:
9490 (WebCore::V8WorkerContextCustom::openDatabaseSyncCallback):
9492 2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
9494 Reviewed by Adam Barth.
9496 Clean up and fix the existing V8 DB bindings.
9497 https://bugs.webkit.org/show_bug.cgi?id=34994
9499 * bindings/v8/custom/V8DOMWindowCustom.cpp:
9500 (WebCore::V8DOMWindow::openDatabaseCallback):
9501 * bindings/v8/custom/V8DatabaseCustom.cpp:
9502 (WebCore::V8Database::changeVersionCallback):
9503 (WebCore::createTransaction):
9504 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
9505 (WebCore::V8SQLTransaction::executeSqlCallback):
9507 2010-05-10 Kevin Ollivier <kevino@theolliviers.com>
9509 [wx] Build fix for wx 2.8 after complex text changes.
9511 * platform/graphics/wx/FontPlatformDataWxMac.mm:
9512 (WebCore::FontPlatformData::nsFont):
9513 * platform/graphics/wx/SimpleFontDataWx.cpp:
9514 (WebCore::SimpleFontData::platformWidthForGlyph):
9516 2010-05-10 John Gregg <johnnyg@google.com>
9518 [chromium] Try to fix the chromium build after r59085 by
9519 including MathExtras.h before using isnan().
9520 https://bugs.webkit.org/show_bug.cgi?id=38860
9522 * html/canvas/WebGLIntegralTypedArrayBase.h:
9524 2010-05-10 Kevin Ollivier <kevino@theolliviers.com>
9526 [wx] Build fix for wx trunk after complex text changes.
9528 * platform/graphics/wx/FontPlatformDataWx.cpp:
9529 (WebCore::FontPlatformData::FontPlatformData):
9531 2010-05-10 Tony Gentilcore <tonyg@chromium.org>
9533 Reviewed by Adam Barth.
9535 Provide mechanism to cache metadata for a resource
9536 https://bugs.webkit.org/show_bug.cgi?id=37874
9538 No new tests because no new functionality.
9541 * loader/CachedMetadata.h: Added.
9542 (WebCore::CachedMetadata::create):
9543 (WebCore::CachedMetadata::deserialize):
9544 (WebCore::CachedMetadata::serialize):
9545 (WebCore::CachedMetadata::~CachedMetadata):
9546 (WebCore::CachedMetadata::dataTypeID):
9547 (WebCore::CachedMetadata::data):
9548 (WebCore::CachedMetadata::size):
9549 (WebCore::CachedMetadata::readUnsigned):
9550 (WebCore::CachedMetadata::appendUnsigned):
9551 (WebCore::CachedMetadata::CachedMetadata):
9552 * loader/CachedResource.cpp:
9553 (WebCore::CachedResource::setSerializedCachedMetadata):
9554 (WebCore::CachedResource::setCachedMetadata):
9555 (WebCore::CachedResource::cachedMetadata):
9556 * loader/CachedResource.h:
9557 * loader/ResourceLoader.h:
9558 (WebCore::ResourceLoader::didReceiveCachedMetadata):
9559 * loader/SubresourceLoader.cpp:
9560 (WebCore::SubresourceLoader::didReceiveCachedMetadata):
9561 * loader/SubresourceLoader.h:
9562 * loader/SubresourceLoaderClient.h:
9563 (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
9564 * loader/loader.cpp:
9565 (WebCore::Loader::Host::didReceiveCachedMetadata):
9567 * platform/network/ResourceHandle.cpp:
9568 (WebCore::ResourceHandle::cacheMetadata):
9569 * platform/network/ResourceHandle.h:
9570 * platform/network/ResourceHandleClient.h:
9571 (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
9573 2010-05-09 Kenneth Russell <kbr@google.com>
9575 Reviewed by Dimitri Glazkov.
9577 Refactor WebGLArray types to share more code
9578 https://bugs.webkit.org/show_bug.cgi?id=37712
9580 Refactored WebGLArray types for maximal code sharing. Added
9581 WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
9582 superclasses. Changed overridden virtuals to have minimal
9583 visibility (private instead of public). Fixed const correctness of
9584 a few methods. There are no changes to the public APIs of the
9585 WebGLArray classes; the JavaScript bindings are unchanged.
9587 No new tests; existing tests cover this functionality. Ran all
9588 WebGL layout tests in Safari and Chromium on Mac OS X.
9591 * WebCore.xcodeproj/project.pbxproj:
9592 * html/canvas/WebGLArray.h:
9593 (WebCore::WebGLArray::buffer):
9594 (WebCore::WebGLArray::baseAddress):
9595 (WebCore::WebGLArray::byteOffset):
9596 * html/canvas/WebGLByteArray.cpp:
9597 (WebCore::WebGLByteArray::create):
9598 (WebCore::WebGLByteArray::WebGLByteArray):
9599 (WebCore::WebGLByteArray::slice):
9600 * html/canvas/WebGLByteArray.h:
9601 (WebCore::WebGLByteArray::isByteArray):
9602 * html/canvas/WebGLFloatArray.cpp:
9603 (WebCore::WebGLFloatArray::create):
9604 (WebCore::WebGLFloatArray::WebGLFloatArray):
9605 (WebCore::WebGLFloatArray::slice):
9606 * html/canvas/WebGLFloatArray.h:
9607 (WebCore::WebGLFloatArray::set):
9608 (WebCore::WebGLFloatArray::item):
9609 (WebCore::WebGLFloatArray::isFloatArray):
9610 * html/canvas/WebGLIntArray.cpp:
9611 (WebCore::WebGLIntArray::create):
9612 (WebCore::WebGLIntArray::WebGLIntArray):
9613 (WebCore::WebGLIntArray::slice):
9614 * html/canvas/WebGLIntArray.h:
9615 (WebCore::WebGLIntArray::isIntArray):
9616 * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
9617 (WebCore::WebGLIntegralTypedArrayBase::set):
9618 (WebCore::WebGLIntegralTypedArrayBase::item):
9619 (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
9620 * html/canvas/WebGLShortArray.cpp:
9621 (WebCore::WebGLShortArray::create):
9622 (WebCore::WebGLShortArray::WebGLShortArray):
9623 (WebCore::WebGLShortArray::slice):
9624 * html/canvas/WebGLShortArray.h:
9625 (WebCore::WebGLShortArray::isShortArray):
9626 * html/canvas/WebGLTypedArrayBase.h: Added.
9627 (WebCore::WebGLTypedArrayBase::data):
9628 (WebCore::WebGLTypedArrayBase::set):
9629 (WebCore::WebGLTypedArrayBase::length):
9630 (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
9631 (WebCore::WebGLTypedArrayBase::create):
9632 (WebCore::WebGLTypedArrayBase::sliceImpl):
9633 (WebCore::WebGLTypedArrayBase::byteLength):
9634 * html/canvas/WebGLUnsignedByteArray.cpp:
9635 (WebCore::WebGLUnsignedByteArray::create):
9636 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
9637 (WebCore::WebGLUnsignedByteArray::slice):
9638 * html/canvas/WebGLUnsignedByteArray.h:
9639 (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
9640 * html/canvas/WebGLUnsignedIntArray.cpp:
9641 (WebCore::WebGLUnsignedIntArray::create):
9642 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
9643 (WebCore::WebGLUnsignedIntArray::slice):
9644 * html/canvas/WebGLUnsignedIntArray.h:
9645 (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
9646 * html/canvas/WebGLUnsignedShortArray.cpp:
9647 (WebCore::WebGLUnsignedShortArray::create):
9648 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
9649 (WebCore::WebGLUnsignedShortArray::slice):
9650 * html/canvas/WebGLUnsignedShortArray.h:
9651 (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
9653 2010-05-10 Kenneth Russell <kbr@google.com>
9655 Reviewed by Dimitri Glazkov.
9657 Refactor WebGLArray types to share more code
9658 https://bugs.webkit.org/show_bug.cgi?id=37712
9660 Refactored WebGLArray types for maximal code sharing. Added
9661 WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
9662 superclasses. Changed overridden virtuals to have minimal
9663 visibility (private instead of public). Fixed const correctness of
9664 a few methods. There are no changes to the public APIs of the
9665 WebGLArray classes; the JavaScript bindings are unchanged.
9667 No new tests; existing tests cover this functionality. Ran all
9668 WebGL layout tests in Safari and Chromium on Mac OS X.
9671 * WebCore.xcodeproj/project.pbxproj:
9672 * html/canvas/WebGLArray.h:
9673 (WebCore::WebGLArray::buffer):
9674 (WebCore::WebGLArray::baseAddress):
9675 (WebCore::WebGLArray::byteOffset):
9676 * html/canvas/WebGLByteArray.cpp:
9677 (WebCore::WebGLByteArray::create):
9678 (WebCore::WebGLByteArray::WebGLByteArray):
9679 (WebCore::WebGLByteArray::slice):
9680 * html/canvas/WebGLByteArray.h:
9681 (WebCore::WebGLByteArray::isByteArray):
9682 * html/canvas/WebGLFloatArray.cpp:
9683 (WebCore::WebGLFloatArray::create):
9684 (WebCore::WebGLFloatArray::WebGLFloatArray):
9685 (WebCore::WebGLFloatArray::slice):
9686 * html/canvas/WebGLFloatArray.h:
9687 (WebCore::WebGLFloatArray::set):
9688 (WebCore::WebGLFloatArray::item):
9689 (WebCore::WebGLFloatArray::isFloatArray):
9690 * html/canvas/WebGLIntArray.cpp:
9691 (WebCore::WebGLIntArray::create):
9692 (WebCore::WebGLIntArray::WebGLIntArray):
9693 (WebCore::WebGLIntArray::slice):
9694 * html/canvas/WebGLIntArray.h:
9695 (WebCore::WebGLIntArray::isIntArray):
9696 * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
9697 (WebCore::WebGLIntegralTypedArrayBase::set):
9698 (WebCore::WebGLIntegralTypedArrayBase::item):
9699 (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
9700 * html/canvas/WebGLShortArray.cpp:
9701 (WebCore::WebGLShortArray::create):
9702 (WebCore::WebGLShortArray::WebGLShortArray):
9703 (WebCore::WebGLShortArray::slice):
9704 * html/canvas/WebGLShortArray.h:
9705 (WebCore::WebGLShortArray::isShortArray):
9706 * html/canvas/WebGLTypedArrayBase.h: Added.
9707 (WebCore::WebGLTypedArrayBase::data):
9708 (WebCore::WebGLTypedArrayBase::set):
9709 (WebCore::WebGLTypedArrayBase::length):
9710 (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
9711 (WebCore::WebGLTypedArrayBase::create):
9712 (WebCore::WebGLTypedArrayBase::sliceImpl):
9713 (WebCore::WebGLTypedArrayBase::byteLength):
9714 * html/canvas/WebGLUnsignedByteArray.cpp:
9715 (WebCore::WebGLUnsignedByteArray::create):
9716 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
9717 (WebCore::WebGLUnsignedByteArray::slice):
9718 * html/canvas/WebGLUnsignedByteArray.h:
9719 (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
9720 * html/canvas/WebGLUnsignedIntArray.cpp:
9721 (WebCore::WebGLUnsignedIntArray::create):
9722 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
9723 (WebCore::WebGLUnsignedIntArray::slice):
9724 * html/canvas/WebGLUnsignedIntArray.h:
9725 (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
9726 * html/canvas/WebGLUnsignedShortArray.cpp:
9727 (WebCore::WebGLUnsignedShortArray::create):
9728 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
9729 (WebCore::WebGLUnsignedShortArray::slice):
9730 * html/canvas/WebGLUnsignedShortArray.h:
9731 (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
9733 2010-05-10 Brent Fulgham <bfulgham@webkit.org>
9735 Build fix, not reviewed.
9737 Correct post-build copy command for WinCairo port to make sure
9738 cairo headers are available for WebKit.dll build.
9740 * WebCore.vcproj/WebCore.vcproj:
9742 2010-05-10 Dirk Schulze <krit@webkit.org>
9744 Reviewed by Nikolas Zimmermann.
9746 Further optimization for SVG's repaintRect calculation
9747 https://bugs.webkit.org/show_bug.cgi?id=38820
9749 This is a further optimization to get smaller repaintRects on SVG objects
9750 in combination with masker or clipper resources.
9751 Masker takes the unite of all stroke boundaries of it's childs.
9752 Both, clipper and masker, store this union to avoid multiple calls of the childs
9753 and the unite calculations now.
9754 The unite rect can be transformed to any targets objectBoundingBox, if the content
9755 unit of the resource is set to objectBoundingBoxMode.
9756 This speeds up the use of resources with multiple target objects.
9758 No behavior changes, the smaller repaintRects cause updates for DRT results.
9760 * rendering/RenderSVGResource.h:
9761 * rendering/RenderSVGResourceClipper.cpp:
9762 (WebCore::RenderSVGResourceClipper::invalidateClients):
9763 (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
9764 (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
9765 * rendering/RenderSVGResourceClipper.h:
9766 * rendering/RenderSVGResourceFilter.cpp:
9767 (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
9768 * rendering/RenderSVGResourceFilter.h:
9769 * rendering/RenderSVGResourceGradient.h:
9770 (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
9771 * rendering/RenderSVGResourceMarker.h:
9772 (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
9773 * rendering/RenderSVGResourceMasker.cpp:
9774 (WebCore::RenderSVGResourceMasker::invalidateClients):
9775 (WebCore::RenderSVGResourceMasker::createMaskImage):
9776 (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
9777 (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
9778 * rendering/RenderSVGResourceMasker.h:
9779 * rendering/RenderSVGResourcePattern.h:
9780 (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
9781 * rendering/RenderSVGResourceSolidColor.h:
9782 (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
9784 2010-05-11 Ilya Tikhonovsky <loislo@chromium.org>
9786 Reviewed by Pavel Feldman.
9788 WebInspector: Cosmetic changes.
9789 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
9790 2) Standard tooltips for resource links are clashing with Popover.
9791 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
9792 https://bugs.webkit.org/show_bug.cgi?id=38732
9794 * inspector/front-end/TimelinePanel.js:
9795 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
9796 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
9797 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
9798 * inspector/front-end/inspector.js:
9799 (WebInspector.linkifyURLAsNode):
9801 2010-05-10 Csaba Osztrogonác <ossy@webkit.org>
9803 Rubber-stamped by Simon Hausmann.
9805 [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
9806 haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.
9808 https://bugs.webkit.org/show_bug.cgi?id=32967
9810 * platform/network/qt/ResourceRequestQt.cpp:
9811 (WebCore::ResourceRequest::toNetworkRequest):
9813 2010-05-10 Markus Goetz <Markus.Goetz@nokia.com>
9815 Reviewed by Simon Hausmann.
9817 Qt after 4.6.3 has its integrated DNS cache. Therefore some
9818 code is not necessary anymore.
9820 https://bugs.webkit.org/show_bug.cgi?id=38834
9822 * platform/network/qt/DnsPrefetchHelper.h:
9823 (WebCore::DnsPrefetchHelper::lookup):
9824 (WebCore::DnsPrefetchHelper::lookedUp):
9826 2010-05-10 Chris Jerdonek <cjerdonek@webkit.org>
9828 Reviewed by Darin Adler.
9830 Asserted that Node::setDocument() is not being used to change
9831 the document of a node.
9833 https://bugs.webkit.org/show_bug.cgi?id=38821
9836 (WebCore::Node::setDocument):
9837 Added an ASSERT at the beginning of the function.
9839 Documented that Node::setDocument() should not be used to change the
9840 document of a node until after the node has been removed from its
9843 2010-05-10 Dirk Schulze <krit@webkit.org>
9845 Reviewed by Darin Adler.
9847 SVG FilterEffects need more detailed DRT information
9848 https://bugs.webkit.org/show_bug.cgi?id=38683
9850 All SVG Filter effects get dumped now. The structure of the DRT output
9851 changed. The last effect is shown first, followed by the previous effects.
9853 No changed behaior, so no new test added.
9855 * platform/graphics/filters/FEBlend.cpp:
9856 (WebCore::operator<<):
9857 (WebCore::FEBlend::externalRepresentation):
9858 * platform/graphics/filters/FEBlend.h:
9859 * platform/graphics/filters/FEColorMatrix.cpp:
9860 (WebCore::operator<<):
9861 (WebCore::FEColorMatrix::externalRepresentation):
9862 * platform/graphics/filters/FEColorMatrix.h:
9863 * platform/graphics/filters/FEComponentTransfer.cpp:
9864 (WebCore::operator<<):
9865 (WebCore::FEComponentTransfer::externalRepresentation):
9866 * platform/graphics/filters/FEComponentTransfer.h:
9867 * platform/graphics/filters/FEComposite.cpp:
9868 (WebCore::operator<<):
9869 (WebCore::FEComposite::externalRepresentation):
9870 * platform/graphics/filters/FEComposite.h:
9872 (WebCore::FEComposite::uniteChildEffectSubregions):
9873 * platform/graphics/filters/FEGaussianBlur.cpp:
9874 (WebCore::FEGaussianBlur::externalRepresentation):
9875 * platform/graphics/filters/FEGaussianBlur.h:
9876 (WebCore::FEGaussianBlur::uniteChildEffectSubregions):
9877 * platform/graphics/filters/FilterEffect.cpp:
9878 (WebCore::FilterEffect::externalRepresentation):
9879 * platform/graphics/filters/FilterEffect.h:
9880 * platform/graphics/filters/SourceAlpha.cpp:
9881 (WebCore::SourceAlpha::externalRepresentation):
9882 * platform/graphics/filters/SourceAlpha.h:
9883 * platform/graphics/filters/SourceGraphic.cpp:
9884 (WebCore::SourceGraphic::externalRepresentation):
9885 * platform/graphics/filters/SourceGraphic.h:
9886 * rendering/RenderTreeAsText.cpp:
9887 (WebCore::writeIndent):
9888 * rendering/RenderTreeAsText.h:
9889 * rendering/SVGRenderTreeAsText.cpp:
9890 (WebCore::writeSVGResourceContainer):
9891 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
9892 (WebCore::operator<<):
9893 (WebCore::FEConvolveMatrix::externalRepresentation):
9894 * svg/graphics/filters/SVGFEConvolveMatrix.h:
9895 * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
9896 (WebCore::FEDiffuseLighting::externalRepresentation):
9897 * svg/graphics/filters/SVGFEDiffuseLighting.h:
9898 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
9899 (WebCore::operator<<):
9900 (WebCore::FEDisplacementMap::externalRepresentation):
9901 * svg/graphics/filters/SVGFEDisplacementMap.h:
9902 * svg/graphics/filters/SVGFEFlood.cpp:
9903 (WebCore::FEFlood::externalRepresentation):
9904 * svg/graphics/filters/SVGFEFlood.h:
9905 * svg/graphics/filters/SVGFEImage.cpp:
9906 (WebCore::FEImage::externalRepresentation):
9907 * svg/graphics/filters/SVGFEImage.h:
9908 * svg/graphics/filters/SVGFEMerge.cpp:
9909 (WebCore::FEMerge::externalRepresentation):
9910 * svg/graphics/filters/SVGFEMerge.h:
9911 * svg/graphics/filters/SVGFEMorphology.cpp:
9912 (WebCore::operator<<):
9913 (WebCore::FEMorphology::externalRepresentation):
9914 * svg/graphics/filters/SVGFEMorphology.h:
9915 * svg/graphics/filters/SVGFEOffset.cpp:
9916 (WebCore::FEOffset::externalRepresentation):
9917 * svg/graphics/filters/SVGFEOffset.h:
9918 * svg/graphics/filters/SVGFESpecularLighting.cpp:
9919 (WebCore::FESpecularLighting::externalRepresentation):
9920 * svg/graphics/filters/SVGFESpecularLighting.h:
9921 * svg/graphics/filters/SVGFETile.cpp:
9922 (WebCore::FETile::externalRepresentation):
9923 * svg/graphics/filters/SVGFETile.h:
9924 * svg/graphics/filters/SVGFETurbulence.cpp:
9925 (WebCore::operator<<):
9926 (WebCore::FETurbulence::externalRepresentation):
9927 * svg/graphics/filters/SVGFETurbulence.h:
9929 2010-05-10 Jeremy Orlow <jorlow@chromium.org>
9931 Reviewed by Nate Chapin.
9933 Change IndexedDB to use events instead of callbacks
9934 https://bugs.webkit.org/show_bug.cgi?id=38594
9936 Switch IndexedDB over to an event based model to match what
9937 Mozilla (and probably MS?) are doing. This also gets rid of
9938 a lot of template mess at the expense of a little extra boiler
9939 plate code (for each type that IDBResult.result could be).
9941 This change also introduces JSC bindings that match the level of
9942 functionality the V8 bindings have.
9944 Still not testable, but that shoudl change shortly.
9946 * DerivedSources.cpp:
9947 * DerivedSources.make:
9952 * WebCore.vcproj/WebCore.vcproj:
9953 * WebCore.xcodeproj/project.pbxproj:
9954 * bindings/js/JSEventCustom.cpp:
9955 * bindings/js/JSIDBRequestCustom.cpp: Added.
9956 (WebCore::JSIDBRequest::result):
9957 * bindings/v8/V8DOMWrapper.cpp:
9958 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
9959 * bindings/v8/custom/V8CustomIDBCallbacks.h: Removed.
9960 * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
9961 (WebCore::V8IDBRequest::resultAccessorGetter):
9962 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Removed.
9963 * dom/EventTarget.cpp:
9964 (WebCore::EventTarget::toIDBRequest):
9965 * dom/EventTarget.h:
9966 * storage/IDBCallbacks.h:
9967 * storage/IDBDatabaseRequest.h:
9968 (WebCore::IDBDatabaseRequest::createObjectStore):
9969 * storage/IDBRequest.cpp: Added.
9970 (WebCore::IDBRequest::IDBRequest):
9971 (WebCore::IDBRequest::~IDBRequest):
9972 (WebCore::IDBRequest::idbDatabaseResult):
9973 (WebCore::IDBRequest::serializedScriptValueResult):
9974 (WebCore::IDBRequest::onError):
9975 (WebCore::IDBRequest::onSuccess):
9976 (WebCore::IDBRequest::abort):
9977 (WebCore::IDBRequest::scriptExecutionContext):
9978 (WebCore::IDBRequest::stop):
9979 (WebCore::IDBRequest::suspend):
9980 (WebCore::IDBRequest::resume):
9981 (WebCore::IDBRequest::eventTargetData):
9982 (WebCore::IDBRequest::ensureEventTargetData):
9983 (WebCore::IDBRequest::timerFired):
9984 (WebCore::IDBRequest::onEventCommon):
9985 * storage/IDBRequest.h: Added.
9986 (WebCore::IDBRequest::create):
9987 (WebCore::IDBRequest::):
9988 (WebCore::IDBRequest::resultType):
9989 (WebCore::IDBRequest::readyState):
9990 (WebCore::IDBRequest::error):
9991 (WebCore::IDBRequest::toIDBRequest):
9992 (WebCore::IDBRequest::refEventTarget):
9993 (WebCore::IDBRequest::derefEventTarget):
9994 * storage/IDBRequest.idl: Added.
9995 * storage/IndexedDatabase.h:
9996 * storage/IndexedDatabaseImpl.cpp:
9997 (WebCore::IndexedDatabaseImpl::open):
9998 * storage/IndexedDatabaseImpl.h:
9999 * storage/IndexedDatabaseRequest.cpp:
10000 (WebCore::IndexedDatabaseRequest::open):
10001 * storage/IndexedDatabaseRequest.h:
10002 * storage/IndexedDatabaseRequest.idl:
10004 2010-05-10 Ilya Tikhonovsky <loislo@chromium.org>
10006 Not reviewed: rollback the commit r59062
10008 * inspector/front-end/TimelinePanel.js:
10009 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
10010 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
10011 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
10012 * inspector/front-end/inspector.js:
10013 (WebInspector.linkifyURLAsNode):
10015 2010-05-10 Ilya Tikhonovsky <loislo@chromium.org>
10017 Reviewed by Pavel Feldman.
10019 WebInspector: Cosmetic changes.
10020 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
10021 2) Standard tooltips for resource links are clashing with Popover.
10022 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
10023 https://bugs.webkit.org/show_bug.cgi?id=38732
10025 * inspector/front-end/TimelinePanel.js:
10026 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
10027 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
10028 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
10029 * inspector/front-end/inspector.js:
10030 (WebInspector.linkifyURLAsNode):
10032 2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
10034 Reviewed by Pavel Feldman.
10036 WebInspector: If some record is not in visible area then it's expand element also is not
10037 visible even if it has children in visible area.
10038 https://bugs.webkit.org/show_bug.cgi?id=38643
10040 * inspector/front-end/TimelinePanel.js:
10041 (WebInspector.TimelinePanel):
10042 (WebInspector.TimelinePanel.prototype._refreshRecords):
10044 2010-05-07 Sam Weinig <sam@webkit.org>
10046 Reviewed by Darin Adler.
10048 Fix for https://bugs.webkit.org/show_bug.cgi?id=38557
10049 r58526 introduced a ~30% regression on Dromaeo JS lib
10051 This fix does two things.
10052 - Don't use QualifiedName as the key to a HashMap, use a
10053 RefPtr<QualifiedNameImpl> instead. We should remove the HashTraits for
10054 QualifiedName and that will happen in a follow up patch.
10055 - Only mark cached NodeLists on Documents instead of all Nodes. This is
10056 okay since the marking of NodeLists is an optimization to keep NodeList
10057 wrappers alive and is not mandated by any spec.
10059 * bindings/js/JSDocumentCustom.cpp:
10060 (WebCore::JSDocument::markChildren):
10061 * bindings/js/JSNodeCustom.cpp:
10062 (WebCore::JSNode::markChildren):
10064 (WebCore::Node::removeCachedTagNodeList):
10065 (WebCore::Node::getElementsByTagNameNS):
10066 * dom/NodeRareData.h:
10068 2010-05-08 Antonio Gomes <tonikitoo@webkit.org>
10070 Unreviewed attempt to fix Windows build.
10072 * page/SpatialNavigation.h:
10073 (WebCore::fudgeFactor):
10075 2010-05-03 Antonio Gomes <tonikitoo@webkit.org>
10077 Reviewed by Kenneth Christiansen.
10079 Spatial Navigation: create a getter for the "fudgeFactor"
10080 https://bugs.webkit.org/show_bug.cgi?id=38488
10082 A couple of places in the Spatial Navigation code make use of a "fudge factor"
10083 to improve precision by working around outline focus metrics and such. Patch adds
10084 a helper method for unify getter operations of this value, instead of having it
10085 declared locally in the various methods it is used.
10087 No behaviour change.
10089 * page/SpatialNavigation.cpp:
10090 (WebCore::scrollIntoView):
10091 (WebCore::deflateIfOverlapped):
10092 * page/SpatialNavigation.h:
10093 (WebCore::fudgeFactor):
10095 2010-05-08 Stuart Morgan <stuartmorgan@chromium.org>
10097 Reviewed by Darin Adler.
10099 Change the npapi.h header guards to match the npapi-headers repository
10102 https://bugs.webkit.org/show_bug.cgi?id=38666
10106 2010-05-08 Stuart Morgan <stuartmorgan@chromium.org>
10108 Reviewed by Darin Fisher.
10110 Resolve most of the whitespace/comment/order differences in npapi.h
10111 and npruntime.h relative to the npapi-headers repository versions.
10112 No changes to the substance of the code.
10114 https://bugs.webkit.org/show_bug.cgi?id=38666
10119 * bridge/npruntime.h:
10121 2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
10123 Reviewed by Darin Adler.
10125 Fix guard around IndexedDatabase
10126 https://bugs.webkit.org/show_bug.cgi?id=38710
10128 No new tests, there is no new functionality.
10130 * page/PageGroup.h:
10132 2010-05-08 Luiz Agostini <luiz.agostini@openbossa.org>
10134 Reviewed by Simon Hausmann.
10136 [Qt] Platform plugin
10137 https://bugs.webkit.org/show_bug.cgi?id=38438
10139 Select popups delegate private API. To provide select popup delegates
10140 a plugin that implements QWebKitPlatformPlugin must be found
10141 in QCoreApplication::libraryPaths.
10145 2010-05-08 Leandro Pereira <leandro@profusion.mobi>
10147 Reviewed by Gustavo Noronha Silva.
10149 [EFL] It does not make sense to use RenderThemeEfl::RenderThemeEfl, so
10150 use RenderThemeEfl (GCC 4.5 seems to be pickier about this).
10151 http://webkit.org/b/38770
10153 * platform/efl/RenderThemeEfl.cpp:
10154 (WebCore::renderThemeEflColorClassSelectionActive):
10155 (WebCore::renderThemeEflColorClassSelectionInactive):
10156 (WebCore::renderThemeEflColorClassFocusRing):
10157 (WebCore::renderThemeEflColorClassButtonText):
10158 (WebCore::renderThemeEflColorClassComboText):
10159 (WebCore::renderThemeEflColorClassEntryText):
10160 (WebCore::renderThemeEflColorClassSearchText):
10161 (WebCore::RenderThemeEfl::adjustCheckboxStyle):
10162 (WebCore::RenderThemeEfl::adjustRadioStyle):
10163 (WebCore::RenderThemeEfl::adjustButtonStyle):
10164 (WebCore::RenderThemeEfl::adjustMenuListStyle):
10165 (WebCore::RenderThemeEfl::adjustTextFieldStyle):
10166 (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
10167 (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
10168 (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
10169 (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
10170 (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
10172 2010-05-08 Leandro Pereira <leandro@profusion.mobi>
10174 Reviewed by Gustavo Noronha Silva.
10176 ResourceHandleSoup should depend only on GLib, not on GTK+.
10177 http://webkit.org/b/38763
10179 * platform/network/soup/ResourceHandleSoup.cpp: Include glib.h
10180 instead of gtk/gtk.h.
10182 2010-05-08 Eric Seidel <eric@webkit.org>
10184 Unreviewed, rolling out r59023.
10185 http://trac.webkit.org/changeset/59023
10186 https://bugs.webkit.org/show_bug.cgi?id=37874
10188 Caused Chromium Windows build to fail to link.
10191 * loader/CachedMetadata.h: Removed.
10192 * loader/CachedResource.cpp:
10193 * loader/CachedResource.h:
10194 * loader/ResourceLoader.h:
10195 * loader/SubresourceLoader.cpp:
10196 * loader/SubresourceLoader.h:
10197 * loader/SubresourceLoaderClient.h:
10198 * loader/loader.cpp:
10200 * platform/network/ResourceHandle.cpp:
10201 * platform/network/ResourceHandle.h:
10202 * platform/network/ResourceHandleClient.h:
10204 2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
10206 Reviewed by Timothy Hatcher.
10208 WebInspector: Autocompletion in console is not usable because it is not add to the entered text the common prefix of suggestions.
10209 As example if you entered $0.getE then getElementByClassName will be suggested as gray text.
10210 If you press tab then getElementByClassName be suggested again and lementByClassName becomes selected as black text with selection background.
10211 Really after pressing the TAB the next suggestion should be selected (getElementByTagName) and only flexible part of suggestions should be selected.
10212 In this case it should be TagName because getElementBy is the common part for all getE prefix suggestions.
10213 https://bugs.webkit.org/show_bug.cgi?id=38753
10215 * inspector/front-end/TextPrompt.js:
10216 (WebInspector.TextPrompt.prototype._completionsReady):
10218 2010-05-08 Tony Gentilcore <tonyg@chromium.org>
10220 Reviewed by Darin Fisher.
10222 Provide mechanism to store cached metadata on a CachedResource.
10223 https://bugs.webkit.org/show_bug.cgi?id=37874
10225 No new tests because no new functionality.
10228 * loader/CachedMetadata.h: Added.
10229 (WebCore::CachedMetadata::~CachedMetadata):
10230 (WebCore::CachedMetadata::data):
10231 (WebCore::CachedMetadata::size):
10232 (WebCore::CachedMetadata::create):
10233 (WebCore::CachedMetadata::deserialize):
10234 (WebCore::CachedMetadata::serialize):
10235 (WebCore::CachedMetadata::dataTypeID):
10236 (WebCore::CachedMetadata::readUnsigned):
10237 (WebCore::CachedMetadata::appendUnsigned):
10238 (WebCore::CachedMetadata::CachedMetadata):
10239 * loader/CachedResource.cpp:
10240 (WebCore::CachedResource::setSerializedCachedMetadata):
10241 (WebCore::CachedResource::setCachedMetadata):
10242 (WebCore::CachedResource::cachedMetadata):
10243 * loader/CachedResource.h:
10244 * loader/ResourceLoader.h:
10245 (WebCore::ResourceLoader::didReceiveCachedMetadata):
10246 * loader/SubresourceLoader.cpp:
10247 (WebCore::SubresourceLoader::didReceiveCachedMetadata):
10248 * loader/SubresourceLoader.h:
10249 * loader/SubresourceLoaderClient.h:
10250 (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
10251 * loader/loader.cpp:
10252 (WebCore::Loader::Host::didReceiveCachedMetadata):
10254 * platform/network/ResourceHandle.cpp:
10255 (WebCore::ResourceHandle::cacheMetadata):
10256 * platform/network/ResourceHandle.h:
10257 * platform/network/ResourceHandleClient.h:
10258 (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
10260 2010-05-08 Michael Nordman <michaeln@google.com>
10262 Reviewed by Dmitry Titov.
10264 Have WorkerScriptLoader provide access to the ResourceResponse for the loaded script
10265 through the WorkerScriptLoaderClient interface.
10266 https://bugs.webkit.org/show_bug.cgi?id=38605
10268 No new tests. There are no script visible changes.
10270 * workers/WorkerScriptLoader.cpp: Call the client with the response.
10271 (WebCore::WorkerScriptLoader::didReceiveResponse):
10272 * workers/WorkerScriptLoaderClient.h: Define a new method to receive the response.
10273 (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
10275 2010-05-08 Robert Hogan <robert@roberthogan.net>
10277 Reviewed by Simon Hausmann.
10279 [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
10280 and http/tests/xmlhttprequest/cross-origin-authorization.html
10282 QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
10283 without knowing if this is valid behaviour or not. In order to allow
10284 Qt to decide whether Cookie/Authorization headers should be added
10285 to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
10286 These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
10287 QNetworkRequest::CookieSaveControlAttribute,and
10288 QNetworkRequest::AuthenticationReuseControlAttribute.
10290 QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
10291 unless withCredentials is set to true in the XHR.
10293 QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
10294 is set to true in the XHR.
10296 Qt will pass the values onto QHttpNetworkRequest and this will permit
10297 the Qt network access processing to decide whether or not to add either
10298 or both of the Cookie/Authorisation headers, and whether to save cookies
10299 returned from such requests. By default the attribute
10300 will always be true so unless QtWebKit sets it to false normal
10301 header processing is unaffected.
10303 The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
10305 https://bugs.webkit.org/show_bug.cgi?id=32967
10307 * platform/network/qt/ResourceRequestQt.cpp:
10308 (WebCore::ResourceRequest::toNetworkRequest):
10310 2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
10312 Reviewed by Pavel Feldman.
10314 WebInsector: Record expand UI element should be extracted from TimelineRecordGraphRow as separate class for future reuse.
10315 https://bugs.webkit.org/show_bug.cgi?id=38726
10317 * inspector/front-end/TimelinePanel.js:
10318 (WebInspector.TimelinePanel):
10319 (WebInspector.TimelinePanel.prototype._refreshRecords):
10320 (WebInspector.TimelineRecordGraphRow):
10321 (WebInspector.TimelineRecordGraphRow.prototype.update):
10322 (WebInspector.TimelineExpandableElement):
10323 (WebInspector.TimelineExpandableElement.prototype._update):
10324 (WebInspector.TimelineExpandableElement.prototype._dispose):
10326 2010-05-05 Robert Hogan <robert@webkit.org>
10328 Reviewed by Alexey Proskuryakov.
10330 [Qt] Fix encoding of status message in Plugin API
10332 https://bugs.webkit.org/show_bug.cgi?id=35144
10334 Spotted by Alexey Proskuryakov.
10336 * plugins/PluginView.cpp:
10337 (WebCore::PluginView::status):
10339 2010-05-08 Dirk Schulze <krit@webkit.org>
10341 Unreviewed win build fix.
10343 JS bindings were missing in DerivedSources.cpp
10345 * DerivedSources.cpp:
10347 2010-05-08 Dirk Schulze <krit@webkit.org>
10349 Uneviewed fix of Win bot
10351 Added JS bindings to Win build system.
10353 * WebCore.vcproj/WebCore.vcproj:
10355 2010-05-08 Dirk Schulze <krit@webkit.org>
10357 Unreviewed try to fix Win bot.
10359 SVGFont's VKern implementation missing
10360 https://bugs.webkit.org/show_bug.cgi?id=38663
10362 * bindings/scripts/CodeGeneratorJS.pm:
10364 2010-05-08 Dirk Schulze <krit@webkit.org>
10366 Reviewed by Nikolas Zimmermann.
10368 SVGFont's VKern implementation missing
10369 https://bugs.webkit.org/show_bug.cgi?id=38663
10371 Implementation of vkern, needed by SVGFont. Also added DOM and JS bindings
10372 for vkern and hkern. Made some clean-up in SVGParserUtilities and SVGFontElement.
10373 SVGHKernElement and SVGVKernElement share most of the code now.
10375 Test: svg/text/text-vkern.svg
10377 * Android.derived.jscbindings.mk:
10378 * Android.derived.v8bindings.mk:
10380 * DerivedSources.make:
10382 * WebCore.gyp/WebCore.gyp:
10386 * WebCore.vcproj/WebCore.vcproj:
10387 * WebCore.xcodeproj/project.pbxproj:
10388 * page/DOMWindow.idl:
10389 * rendering/SVGRootInlineBox.cpp:
10390 (WebCore::applySVGKerning):
10391 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
10392 * svg/SVGAllInOne.cpp:
10393 * svg/SVGFontElement.cpp:
10394 (WebCore::SVGFontElement::invalidateGlyphCache):
10395 (WebCore::SVGFontElement::ensureGlyphCache):
10396 (WebCore::matches):
10397 (WebCore::kerningForPairOfStringsAndGlyphs):
10398 (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
10399 (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
10400 * svg/SVGFontElement.h:
10401 (WebCore::SVGKerningPair::SVGKerningPair):
10402 (WebCore::SVGFontElement::rendererIsNeeded):
10403 * svg/SVGHKernElement.cpp:
10404 (WebCore::SVGHKernElement::buildHorizontalKerningPair):
10405 * svg/SVGHKernElement.h:
10406 * svg/SVGParserUtilities.cpp:
10407 (WebCore::parseGlyphName):
10408 (WebCore::parseKerningUnicodeString):
10409 * svg/SVGParserUtilities.h:
10410 * svg/SVGVKernElement.cpp: Added.
10411 (WebCore::SVGVKernElement::SVGVKernElement):
10412 (WebCore::SVGVKernElement::~SVGVKernElement):
10413 (WebCore::SVGVKernElement::insertedIntoDocument):
10414 (WebCore::SVGVKernElement::removedFromDocument):
10415 (WebCore::SVGVKernElement::buildVerticalKerningPair):
10416 * svg/SVGVKernElement.h: Added.
10417 (WebCore::SVGVKernElement::rendererIsNeeded):
10418 * svg/SVGVKernElement.idl: Added.
10421 2010-05-08 Jer Noble <jer.noble@apple.com>
10423 Unreviewed, just fixing windows build.
10425 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Add #if USE(ACCELERATED_COMPOSITING) guards around GraphicsLayer areas of the code. Include GraphicsLayer.h directly.
10426 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: As above.
10427 * platform/graphics/win/QTMovieVisualContext.cpp: Remove the #include of d3d9types.h.
10429 2010-05-08 Eric Seidel <eric@webkit.org>
10431 Unreviewed, just reverting commit.
10433 REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
10434 https://bugs.webkit.org/show_bug.cgi?id=38798
10436 Test: fast/js/global-resolve-through-eval.html
10438 * bindings/js/JSCallbackData.h:
10439 (WebCore::JSCallbackData::JSCallbackData):
10440 (WebCore::JSCallbackData::~JSCallbackData):
10441 (WebCore::DeleteCallbackDataTask::create):
10442 (WebCore::DeleteCallbackDataTask::performTask):
10443 (WebCore::DeleteCallbackDataTask::isCleanupTask):
10444 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
10445 * bindings/js/JSCustomVoidCallback.cpp:
10446 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
10447 (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
10448 * bindings/js/JSCustomVoidCallback.h:
10449 * bindings/scripts/CodeGeneratorJS.pm:
10450 * bindings/scripts/test/JS/JSTestInterface.cpp:
10452 * bindings/scripts/test/JS/JSTestObj.cpp:
10454 * workers/WorkerThread.cpp:
10455 (WebCore::WorkerThreadShutdownFinishTask::performTask):
10456 (WebCore::WorkerThreadShutdownStartTask::performTask):
10458 2010-05-07 Zoltan Herczeg <zherczeg@webkit.org>
10460 Reviewed by Dirk Schulze
10462 Fixed the inverse function of f(x) = ((x + 0.055) / 1.055) ^ 2.4
10463 https://bugs.webkit.org/show_bug.cgi?id=38735
10465 It is ((x ^ (1 / 2.4)) * 1.055) - 0.055
10467 Chromium pixel tests cover the issue.
10469 * platform/graphics/ImageBuffer.cpp:
10470 (WebCore::ImageBuffer::transformColorSpace):
10472 2010-05-04 Jer Noble <jer.noble@apple.com>
10474 Reviewed by Eric Carlson
10476 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10477 <https://bugs.webkit.org/show_bug.cgi?id=34005>
10478 <rdar://problem/7569713>
10480 The original functionality of QTMovieWin has been split between QTMovieGWorld,
10481 and a new class: QTMovie. QTMovie contains all the "controller" parts (changing
10482 the rate, seeking, etc) while QTMovieGWorld retains all the drawing code. QTMovieGWorld
10483 now takes a QTMovie, and as such QTMovie is now retainable. QTMovieGWorld registers
10484 itself as a client of QTMovie, so that it can receive load-state notifications,
10485 and thus QTMovie must now support multiple clients. Movie tasking timer support
10486 has been moved into its own class (QTMovieTask) and will be addressed in a future
10487 patch. Most of the functions listed below only changed so much as their class name changed.
10489 * platform/graphics/win/QTMovie.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
10490 (QTMoviePrivate::QTMoviePrivate):
10491 (QTMoviePrivate::~QTMoviePrivate):
10492 (QTMoviePrivate::startTask):
10493 (QTMoviePrivate::endTask):
10494 (QTMoviePrivate::task):
10495 (QTMoviePrivate::createMovieController):
10496 (QTMovie::QTMovie):
10497 (QTMovie::~QTMovie):
10498 (QTMovie::addClient):
10499 (QTMovie::removeClient):
10503 (QTMovie::setRate):
10504 (QTMovie::duration):
10505 (QTMovie::currentTime):
10506 (QTMovie::setCurrentTime):
10507 (QTMovie::setVolume):
10508 (QTMovie::setPreservesPitch):
10509 (QTMovie::dataSize):
10510 (QTMovie::maxTimeLoaded):
10511 (QTMovie::loadState):
10512 (QTMovie::getNaturalSize):
10514 (QTMovie::disableUnsupportedTracks):
10515 (QTMovie::isDisabled):
10516 (QTMovie::setDisabled):
10517 (QTMovie::hasVideo):
10518 (QTMovie::hasAudio):
10519 (QTMovie::hasClosedCaptions):
10520 (QTMovie::setClosedCaptionsVisible):
10521 (QTMovie::countSupportedTypes):
10522 (QTMovie::getSupportedType):
10523 (QTMovie::initializeQuickTime):
10524 (QTMovie::getMovieHandle):
10525 * platform/graphics/win/QTMovie.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
10526 * platform/graphics/win/QTMovieGWorld.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
10527 (QTMovieGWorldPrivate::QTMovieGWorldPrivate):
10528 (QTMovieGWorldPrivate::~QTMovieGWorldPrivate):
10529 (QTMovieGWorldPrivate::cacheMovieScale):
10530 (movieDrawingCompleteProc):
10531 (QTMovieGWorldPrivate::registerDrawingCallback):
10532 (QTMovieGWorldPrivate::unregisterDrawingCallback):
10533 (QTMovieGWorldPrivate::drawingComplete):
10534 (QTMovieGWorldPrivate::updateGWorld):
10535 (QTMovieGWorldPrivate::createGWorld):
10536 (QTMovieGWorldPrivate::clearGWorld):
10537 (QTMovieGWorldPrivate::setSize):
10538 (QTMovieGWorldPrivate::updateMovieSize):
10539 (QTMovieGWorldPrivate::deleteGWorld):
10540 (QTMovieGWorldPrivate::movieEnded):
10541 (QTMovieGWorldPrivate::movieLoadStateChanged):
10542 (QTMovieGWorldPrivate::movieTimeChanged):
10543 (QTMovieGWorld::QTMovieGWorld):
10544 (QTMovieGWorld::~QTMovieGWorld):
10545 (QTMovieGWorld::setSize):
10546 (QTMovieGWorld::setVisible):
10547 (QTMovieGWorld::getCurrentFrameInfo):
10548 (QTMovieGWorld::paint):
10549 (QTMovieGWorld::setDisabled):
10550 (QTMovieGWorld::isDisabled):
10551 (QTMovieGWorld::fullscreenWndProc):
10552 (QTMovieGWorld::enterFullscreen):
10553 (QTMovieGWorld::exitFullscreen):
10554 (QTMovieGWorld::setMovie):
10555 (QTMovieGWorld::movie):
10556 * platform/graphics/win/QTMovieGWorld.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
10557 * platform/graphics/win/QTMovieTask.cpp: Added.
10558 (QTMovieTask::QTMovieTask):
10559 (QTMovieTask::~QTMovieTask):
10560 (QTMovieTask::sharedTask):
10561 (QTMovieTask::updateTaskTimer):
10562 (QTMovieTask::fireTaskClients):
10563 (QTMovieTask::addTaskClient):
10564 (QTMovieTask::removeTaskClient):
10565 (QTMovieTask::setTaskTimerFuncs):
10566 * platform/graphics/win/QTMovieTask.h: Added.
10568 2010-05-04 Jer Noble <jer.noble@apple.com>
10570 Reviewed by Eric Carlson
10572 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10573 <https://bugs.webkit.org/show_bug.cgi?id=34005>
10574 <rdar://problem/7569713>
10576 MediaPlayerPrivateQuickTimeVisualContext has been added as a
10577 supported MediaPlayer implementation. MediaPlayerPrivateQuickTimeWin
10578 has been left as a fallback MediaPlayer implementation for those media
10579 types which do not support visual contexts (currently, none).
10581 * platform/graphics/MediaPlayer.cpp:
10582 (WebCore::installedMediaEngines):
10584 2010-05-04 Jer Noble <jer.noble@apple.com>
10586 Reviewed by Maciej Stachowiak
10588 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10589 <https://bugs.webkit.org/show_bug.cgi?id=34005>
10590 <rdar://problem/7569713>
10592 MediaPlayerPrivateTaskTimer has been broken out from MediaPlayerPrivateQuickTimeWin::TaskTimer
10593 so that multiple clients can share its implementation. It works with the new
10594 QTMovieTaskTimer to provide timer support to QTMovieTaskTimer clients.
10596 * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: Added.
10597 (WebCore::MediaPlayerPrivateTaskTimer::initialize):
10598 (WebCore::MediaPlayerPrivateTaskTimer::setDelay):
10599 (WebCore::MediaPlayerPrivateTaskTimer::stopTaskTimer):
10600 (WebCore::MediaPlayerPrivateTaskTimer::fired):
10601 * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: Added.
10603 2010-05-04 Jer Noble <jer.noble@apple.com>
10605 Reviewed by Eric Carlson
10607 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10608 <https://bugs.webkit.org/show_bug.cgi?id=34005>
10609 <rdar://problem/7569713>
10611 MediaPlayerPrivateQuickTimeVisualContext is a new MediaPlayerPrivate implementation
10612 which uses QTMovieVisualContext instead of QTMovieWin to render video frames. Much
10613 like MediaPlayerPrivateQuickTimeWin, MPPQTVisualContext breaks out QTMovie and
10614 QTMovieVisualContext, and uses the newly shared MediaPlayerPrivateTaskTimer. It also
10615 uses aggregation (in the form of friend classes) instead of multiple inheritence
10616 to implement its various client callbacks, so as not to expose its own clients to
10617 the QTMovie classes.
10619 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp.
10620 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h.
10622 2010-05-04 Jer Noble <jer.noble@apple.com>
10624 Reviewed by Maciej Stachowiak
10626 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10627 <https://bugs.webkit.org/show_bug.cgi?id=34005>
10628 <rdar://problem/7569713>
10630 MediaPlayerPrivateQuickTimeWin has been modified to support the new bifurcated
10631 QTMovie/QTMovieWin classes. It's private TaskTimer class has been broken out
10632 into a new top-level class (MediaPlayerPrivateTaskTimer) which will be addressed
10635 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
10636 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
10637 (WebCore::MediaPlayerPrivate::load):
10638 (WebCore::MediaPlayerPrivate::paused):
10639 (WebCore::MediaPlayerPrivate::setSize):
10640 (WebCore::MediaPlayerPrivate::setVisible):
10641 (WebCore::MediaPlayerPrivate::paint):
10642 (WebCore::mimeTypeCache):
10643 (WebCore::MediaPlayerPrivate::isAvailable):
10644 (WebCore::MediaPlayerPrivate::movieEnded):
10645 (WebCore::MediaPlayerPrivate::movieLoadStateChanged):
10646 (WebCore::MediaPlayerPrivate::movieTimeChanged):
10647 (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
10648 (WebCore::MediaPlayerPrivate::paintContents):
10649 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
10651 2010-05-04 Jer Noble <jer.noble@apple.com>
10653 Reviewed by Anders Carlsson
10655 Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10656 <https://bugs.webkit.org/show_bug.cgi?id=34005>
10657 <rdar://problem/7569713>
10659 QTCFDictionary defines functions which help serialize and unserialize
10660 CFDictionaries. This is necessary because QuickTime links against a
10661 non-debug CoreFoundation in our debug build, and passing non-debug
10662 CFDictionaries to a debug CF will cause a crash.
10664 QTMovieTask is a new class containing the tasking functionality broken
10665 out from QTMovieWin. This is necessary now that the tasking
10666 functionality is needed in multiple files/classes.
10668 QTPixelBuffer is a C++ wrapper for CVPixelBuffers, necessary because
10669 like the CF case above, QuickTime has its own implementation of CoreVideo
10670 and its CV types cannot be used with the AAS version of CoreVideo.
10672 QTMovieVisualContext is the new drawing implementation, parallel to
10673 QTMovieWin. It currently uses a software rendering path, but can be
10674 extended in the future to support hardware rendering.
10676 * platform/graphics/win/QTCFDictionary.cpp: Added.
10677 * platform/graphics/win/QTCFDictionary.h: Added.
10678 * platform/graphics/win/QTMovieTask.cpp: Added.
10679 * platform/graphics/win/QTMovieTask.h: Added.
10680 * platform/graphics/win/QTMovieVisualContext.cpp: Added.
10681 * platform/graphics/win/QTMovieVisualContext.h: Added.
10682 * platform/graphics/win/QTPixelBuffer.cpp: Added.
10683 * platform/graphics/win/QTPixelBuffer.h: Added.
10685 2010-05-07 Eric Uhrhane <ericu@chromium.org>
10687 Reviewed by Dmitry Titov.
10689 JSCallbackData is deleted on the Main thread, not the Context thread.
10690 https://bugs.webkit.org/show_bug.cgi?id=38623
10692 No new tests; you'll only see a problem after the worker-access-to-DB
10693 code goes in. Without this fix, the GTK bots assert, but it's
10694 timing-sensitive and not truly platform-specific.
10696 * bindings/js/JSCallbackData.h:
10697 (WebCore::JSCallbackData::JSCallbackData):
10698 (WebCore::JSCallbackData::~JSCallbackData):
10699 Store the allocating thread, then assert that we're on it at deletion.
10701 (WebCore::DeleteCallbackDataTask):
10702 This is the task that can get posted to the context thread for cleanup.
10704 * bindings/js/JSCustomVoidCallback.cpp:
10705 * bindings/js/JSCustomVoidCallback.h:
10706 This callback isn't autogenerated, so we have to do the cleanup manually.
10708 * bindings/scripts/CodeGeneratorJS.pm:
10709 Add the proper cleanup to all autogenerated callbacks.
10711 * workers/WorkerThread.cpp:
10712 (WebCore::WorkerThreadShutdownFinishTask::performTask):
10713 (WebCore::WorkerThreadShutdownStartTask::performTask):
10714 WorkerContext::clearScript can't be called until the posted deletion tasks have completed; move the call from shutdown start to shutdown finish.
10716 2010-05-07 Eric Seidel <eric@webkit.org>
10718 Reviewed by Adam Barth.
10720 Fix JSC binding generation to match webkit style
10721 https://bugs.webkit.org/show_bug.cgi?id=38173
10723 Add spaces around "|" to match webkit style.
10725 * bindings/scripts/CodeGeneratorJS.pm:
10726 * bindings/scripts/test/JS/JSTestObj.cpp:
10728 2010-05-07 Dumitru Daniliuc <dumi@chromium.org>
10730 Reviewed by Brady Eidson.
10732 Adding the IDL files for the sync DB API and the stubs for the JS and V8 bindings.
10733 https://bugs.webkit.org/show_bug.cgi?id=34994
10735 * DerivedSources.cpp:
10736 * DerivedSources.make:
10741 * WebCore.vcproj/WebCore.vcproj:
10742 * WebCore.xcodeproj/project.pbxproj:
10743 * bindings/js/JSBindingsAllInOne.cpp:
10744 * bindings/js/JSDatabaseSyncCustom.cpp: Added.
10745 (WebCore::JSDatabaseSync::changeVersion):
10746 (WebCore::createTransaction):
10747 (WebCore::JSDatabaseSync::transaction):
10748 (WebCore::JSDatabaseSync::readTransaction):
10749 * bindings/js/JSSQLTransactionSyncCustom.cpp: Added.
10750 (WebCore::JSSQLTransactionSync::executeSql):
10751 * bindings/js/JSWorkerContextCustom.cpp:
10752 (WebCore::JSWorkerContext::openDatabaseSync):
10753 * bindings/v8/custom/V8BindingMacros.h: Added.
10754 * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
10755 (WebCore::V8DatabaseSync::changeVersionCallback):
10756 (WebCore::createTransaction):
10757 (WebCore::V8DatabaseSync::transactionCallback):
10758 (WebCore::V8DatabaseSync::readTransactionCallback):
10759 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: Added.
10760 (WebCore::V8SQLTransactionSync::executeSqlCallback):
10761 * bindings/v8/custom/V8WorkerContextCustom.cpp:
10762 (WebCore::V8WorkerContext::openDatabaseSyncCallback):
10763 * storage/Database.idl:
10764 * storage/DatabaseCallback.h:
10765 * storage/DatabaseCallback.idl:
10766 * storage/DatabaseSync.cpp:
10767 (WebCore::DatabaseSync::changeVersion):
10768 (WebCore::DatabaseSync::transaction):
10769 * storage/DatabaseSync.h:
10770 * storage/DatabaseSync.idl: Added.
10771 * storage/SQLError.idl:
10772 * storage/SQLResultSet.idl:
10773 * storage/SQLResultSetRowList.idl:
10774 * storage/SQLTransaction.idl:
10775 * storage/SQLTransactionSync.idl: Added.
10776 * storage/SQLTransactionSyncCallback.h:
10777 * storage/SQLTransactionSyncCallback.idl: Added.
10778 * workers/WorkerContext.cpp:
10779 (WebCore::WorkerContext::openDatabaseSync):
10780 * workers/WorkerContext.h:
10781 * workers/WorkerContext.idl:
10783 2010-05-07 Beth Dakin <bdakin@apple.com>
10785 Reviewed by Simon Fraser.
10787 Fix for <rdar://problem/7956972> REGRESSION: Can't focus and type
10788 in GMail due to bad repainting
10789 -and corresponding-
10790 https://bugs.webkit.org/show_bug.cgi?id=38782
10792 This patch reverts back to pre-r58797 behavior when
10793 shouldPropagateCompositingToIFrameParent() is false.
10794 * rendering/RenderLayerBacking.cpp:
10795 (WebCore::RenderLayerBacking::paintingGoesToWindow):
10797 2010-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
10799 Unreviewed, rolling out r58963.
10800 http://trac.webkit.org/changeset/58963
10801 https://bugs.webkit.org/show_bug.cgi?id=38773
10803 Broke Chromium layout tests. (Requested by dcheng on #webkit).
10805 * platform/chromium/DragDataChromium.cpp:
10806 (WebCore::DragData::asURL):
10808 2010-05-07 Martin Robinson <mrobinson@igalia.com>
10810 Reviewed by Gustavo Noronha Silva.
10812 https://bugs.webkit.org/show_bug.cgi?id=38769
10813 ClipboardGtk should write the URL label in the text portion of the DataObject
10815 No tests as this code path is currently unused in the GTK+ port.
10817 * platform/gtk/ClipboardGtk.cpp:
10818 (WebCore::ClipboardGtk::writeURL): Write the label to the text portion of the DataObject, instead of the URL.
10820 2010-05-07 Nikolas Zimmermann <nzimmermann@rim.com>
10822 Reviewed by Dirk Schulze.
10824 RenderSVGResourceClipper assigns a temporary mutated RenderStyle but does not correctly preserve the old style
10825 https://bugs.webkit.org/show_bug.cgi?id=38767
10827 Fix small logic error leading to a problem in RenderSVGResourceClipper. It assigns a new temporary RenderStyle
10828 to the target object, but fails to reset it correctly to the old style. Fixes all svg/clip-path errors on the windows bots.
10830 * rendering/RenderSVGResourceClipper.cpp:
10831 (WebCore::RenderSVGResourceClipper::createClipData):
10833 2010-05-07 Daniel Cheng <dcheng@chromium.org>
10835 Reviewed by Jian Li.
10837 [chromium] DragDataChromium::asURL() shouldn't do file validity checks
10838 https://bugs.webkit.org/show_bug.cgi?id=38711
10840 The renderer is sandboxed in Chromium, so these calls will give us no
10841 meaningful information. The loader will do the right thing if we pass
10842 it a file URL that points to an invalid file.
10846 * platform/chromium/DragDataChromium.cpp:
10847 (WebCore::DragData::asURL):
10849 2010-05-07 Simon Fraser <simon.fraser@apple.com>
10851 Reviewed by Dan Bernstein.
10853 Fix debug-only render tree output to show object addresses in hex.
10855 * rendering/RenderTreeAsText.cpp:
10856 (WebCore::writeRenderObject):
10859 2010-05-07 Alexey Proskuryakov <ap@apple.com>
10861 Reviewed by Adele Peterson.
10863 https://bugs.webkit.org/show_bug.cgi?id=38546
10864 Node.focus() fails to move focus from subframe properly
10866 Test: fast/frames/take-focus-from-iframe.html
10868 * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
10869 focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
10870 of focused frame get out of sync temporarily.
10872 2010-05-07 Nikolas Zimmermann <nzimmermann@rim.com>
10874 Reviewed by Dirk Schulze.
10876 svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly
10877 https://bugs.webkit.org/show_bug.cgi?id=37798
10879 When creating JSEventListeners through attributes (onclick, etc..) or add/removeEventListener
10880 calls on a SVGElementInstance, do NOT pass the element instance itself as JS wrapper object
10881 but the correspondingElement(). SVGElementInstance redirects all event listener registrations
10882 to the correspondingElement(), as they share an event listener list, per SVG spec. The old
10883 code was very dangerous, leading to random assertions, when garbage collection teared down
10884 the JSSVGElementInstance and event listeners fired, whose listeners were registered with
10885 it, but residing in the correspondingElement() event listener list.
10887 Removes the need for CustomToJS code for JSSVGElementInstance, which was wrong anyways. We hoped
10888 to keep the event listeers alive by just creating a js wrapper of the correspondingElement(), that
10889 could only work as long as garbage collection didn't tear it down, just luck. Also remove the
10890 CustomPushEventHandlerScope marker, as it is only used for JSLazyEventListeners and only works
10891 for JSNode derived objects, it was a no-op for SVGElementInstance, thus removed it.
10893 Should fix all random crashes/assertions seen with svg/custom/use-instanceRoot-as-event-target.xhtml
10894 See bug report for a detailed crash analysis.
10896 * bindings/js/JSSVGElementInstanceCustom.cpp: Remove custom toJS()/pushEventHandlerScope() handling, not necessary anymore.
10897 (WebCore::JSSVGElementInstance::markChildren):
10898 * bindings/scripts/CodeGeneratorJS.pm: For JSSVGElementInstance pass the correspondingElement() as JS wrapper object, not itself.
10899 * svg/SVGElementInstance.cpp:
10900 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Be sure to trigger a style update here, so dirty shadow trees for <use> get rebuild. Otherwhise DOM may be out-of-sync.
10901 (WebCore::SVGElementInstance::eventTargetData): Add ASSERT_NOT_REACHED(), all event listener calls are forwarded to the correspondingElement().
10902 (WebCore::SVGElementInstance::ensureEventTargetData): Ditto.
10903 * svg/SVGElementInstance.idl: Remove CustomToJS, CustomPushEventHandlerScope markers.
10905 2010-05-06 Kenneth Russell <kbr@google.com>
10907 Reviewed by Dimitri Glazkov.
10909 WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c)
10910 https://bugs.webkit.org/show_bug.cgi?id=38039
10912 Web IDL now allows indexed getters and setters to be unnamed. Per
10913 discussion in WebGL working group and recent update to spec,
10914 removed the buggy get() and single-element set() methods from the
10915 JavaScript bindings to the WebGL array types. Refactored set()
10916 implementation in JSC bindings to share more code and modified V8
10917 binding to look more like it. Added unit tests for indexed getter
10918 with out-of-range indices and verifying removal of get and
10919 single-element set methods. Updated existing WebGL array tests.
10921 Tests: fast/canvas/webgl/array-get-and-set-method-removal.html
10922 fast/canvas/webgl/array-get-out-of-bounds.html
10924 * bindings/js/JSWebGLArrayHelper.h:
10925 (WebCore::setWebGLArrayHelper):
10926 * bindings/js/JSWebGLByteArrayCustom.cpp:
10927 (WebCore::JSWebGLByteArray::set):
10928 * bindings/js/JSWebGLFloatArrayCustom.cpp:
10929 (WebCore::JSWebGLFloatArray::set):
10930 * bindings/js/JSWebGLIntArrayCustom.cpp:
10931 (WebCore::JSWebGLIntArray::set):
10932 * bindings/js/JSWebGLShortArrayCustom.cpp:
10933 (WebCore::JSWebGLShortArray::set):
10934 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
10935 (WebCore::JSWebGLUnsignedByteArray::set):
10936 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
10937 (WebCore::JSWebGLUnsignedIntArray::set):
10938 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
10939 (WebCore::JSWebGLUnsignedShortArray::set):
10940 * bindings/v8/custom/V8WebGLArrayCustom.h:
10941 (WebCore::setWebGLArrayHelper):
10942 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
10943 (WebCore::V8WebGLByteArray::setCallback):
10944 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
10945 (WebCore::V8WebGLFloatArray::setCallback):
10946 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
10947 (WebCore::V8WebGLIntArray::setCallback):
10948 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
10949 (WebCore::V8WebGLShortArray::setCallback):
10950 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
10951 (WebCore::V8WebGLUnsignedByteArray::setCallback):
10952 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
10953 (WebCore::V8WebGLUnsignedIntArray::setCallback):
10954 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
10955 (WebCore::V8WebGLUnsignedShortArray::setCallback):
10956 * html/canvas/WebGLByteArray.h:
10957 * html/canvas/WebGLByteArray.idl:
10958 * html/canvas/WebGLFloatArray.h:
10959 * html/canvas/WebGLFloatArray.idl:
10960 * html/canvas/WebGLIntArray.h:
10961 * html/canvas/WebGLIntArray.idl:
10962 * html/canvas/WebGLShortArray.h:
10963 * html/canvas/WebGLShortArray.idl:
10964 * html/canvas/WebGLUnsignedByteArray.h:
10965 * html/canvas/WebGLUnsignedByteArray.idl:
10966 * html/canvas/WebGLUnsignedIntArray.h:
10967 * html/canvas/WebGLUnsignedIntArray.idl:
10968 * html/canvas/WebGLUnsignedShortArray.h:
10969 * html/canvas/WebGLUnsignedShortArray.idl:
10971 2010-05-07 Pavel Feldman <pfeldman@chromium.org>
10973 Not reviewed: chromium dev tools tests fix.
10974 Add a more strict check prior to accessing constructor property in
10975 Web Inspector frontend.
10977 * inspector/front-end/InjectedScript.js:
10978 (injectedScriptConstructor):
10980 2010-05-07 Pavel Feldman <pfeldman@chromium.org>
10982 Reviewed by Joseph Pecoraro.
10984 Web Inspector: On Linux/Windows panel history is
10985 traversed while iterating over words in text prompt.
10987 https://bugs.webkit.org/show_bug.cgi?id=38740
10989 * inspector/front-end/TextPrompt.js:
10990 (WebInspector.TextPrompt):
10991 * inspector/front-end/inspector.js:
10992 (WebInspector.documentKeyDown):
10994 2010-05-07 Pavel Feldman <pfeldman@chromium.org>
10996 Reviewed by Timothy Hatcher.
10998 Web Inspector: come up with InjectedScript._className that works for both JSC and V8.
11000 https://bugs.webkit.org/show_bug.cgi?id=38755
11002 * inspector/front-end/InjectedScript.js:
11003 (injectedScriptConstructor):
11005 2010-05-07 Joseph Pecoraro <joepeck@webkit.org>
11007 Reviewed by Adam Barth.
11009 document.write is not synchronous after page load
11010 https://bugs.webkit.org/show_bug.cgi?id=38146
11012 If there are no pending scripts, a document.write call should be
11013 synchronous. This matches other browsers and the HTML5 spec. Forcing
11014 the tokenizer to be synchronous in Document::write does not affect
11015 external scripts written by the write call. This should only change
11016 behavior of document.write after the page is done loading.
11018 Difficult to test reliably due to HTMLTokenizing relying on processing time.
11019 I made a manual test because the test requires processing very large strings
11020 synchronously and therefore can take some time.
11022 Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html
11024 * dom/Document.cpp:
11025 (WebCore::SynchronousHTMLTokenizerGuard::SynchronousHTMLTokenizerGuard): if the provided tokenizer is an HTMLTokenizer make it synchronous
11026 (WebCore::SynchronousHTMLTokenizerGuard::~SynchronousHTMLTokenizerGuard): if the provided tokenizer was an HTMLTokenizer return its synchronous state
11027 (WebCore::Document::write): temporarily set the tokenizer to synchronous during document.write
11029 (WebCore::Tokenizer::asHTMLTokenizer): default implementation returns 0, to be overridden by HTMLTokenizer
11030 * html/HTMLTokenizer.h: allow access to to the force synchronous state
11031 (WebCore::HTMLTokenizer::forceSynchronous): accessor
11032 (WebCore::HTMLTokenizer::asHTMLTokenizer): override the default to return itself
11033 * manual-tests/dom/document-write-synchronous-after-page-load.html: Added.
11035 2010-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
11037 Reviewed by Simon Hausmann.
11039 [Qt] Fix rendering of -webkit-user-select: none
11041 -webkit-user-select: none is implemented by filling
11042 the area with an invalid default-constructed Color.
11043 In most ports passing an invalid color down to the
11044 graphics backend seems to produce transparent fills.
11046 In Qt the behavior of painting with an invalid QColor
11047 is undefined, and in practice it results in painting
11048 black opaque areas.
11050 One way to fix this would be to use Qt::transparent
11051 when converting an undefined Color to a QColor, but
11052 Qt does not have short circuits for fully transparent
11053 painting, and we actually end up in slow code paths
11054 due to the transparency. So, we're better of doing the
11055 short circuit in WebKit.
11057 https://bugs.webkit.org/show_bug.cgi?id=38523
11059 * platform/graphics/qt/GraphicsContextQt.cpp:
11061 2010-05-07 Ben Murdoch <benm@google.com>
11063 Reviewed by Darin Adler.
11065 Potential crash in EventHandler::handleTouchEvent
11066 https://bugs.webkit.org/show_bug.cgi?id=38646
11068 Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets
11069 hashmap holds the last ref to an EventTarget when the user lifts their finger.
11071 This is very hard to reproduce in a consistent way and clearly a
11072 simple logic error in the code, therefore no new tests.
11074 * page/EventHandler.cpp:
11075 (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from
11076 the hasmap go out of scope so soon as it could delete the wrapped ptr if the
11077 hashmap held the last ref (and we use the raw ptr that the RefPtr
11078 wraps later in the WebCore::Touch constructor).
11080 2010-05-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
11082 Rubber-stamped by Kenneth Rohde Christiansen.
11084 [GTK] Fails to build on GTK+ < 2.14
11085 https://bugs.webkit.org/show_bug.cgi?id=38746
11087 Build fix only. Do basically the same as gtk_adjustment_configure
11088 would do if we are bellow GTK+ 2.14.
11090 * platform/gtk/ScrollViewGtk.cpp:
11091 (WebCore::AdjustmentConfigure):
11093 2010-05-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
11095 Rubber-stamped by Xan Lopez.
11097 Crash with MgOpenModerna font, with non-UTF-8 character
11098 https://bugs.webkit.org/show_bug.cgi?id=37795
11100 NULL-check the font platform data, for now, to avoid the crash.
11102 Could not yet figure out a way to get a test written that does not
11103 involve adding the font to the tree, but there are doubts about
11106 * platform/graphics/cairo/FontCacheCairo.cpp:
11107 (WebCore::FontCache::getFontDataForCharacters):
11109 2010-05-07 MORITA Hajime <morrita@google.com>
11111 Reviewed by Eric Seidel.
11113 [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm
11114 https://bugs.webkit.org/show_bug.cgi?id=37204
11116 Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme.
11117 Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac.
11119 No new tests; Should have no behavioural change.
11121 * WebCore.gyp/WebCore.gyp:
11122 * rendering/RenderThemeChromiumMac.h:
11123 * rendering/RenderThemeChromiumMac.mm:
11124 (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
11125 (WebCore::RenderThemeChromiumMac::documentViewFor):
11126 (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
11127 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
11128 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
11129 * rendering/RenderThemeMac.h:
11130 (WebCore::RenderThemeMac::updateActiveState): Added for overriding
11131 * rendering/RenderThemeMac.mm:
11132 (WebCore::RenderThemeMac::usesTestModeFocusRingColor): Added for overriding
11133 (WebCore::RenderThemeMac::documentViewFor): Added for overriding
11134 (WebCore::RenderThemeMac::paintMenuList):
11135 (WebCore::RenderThemeMac::setPopupButtonCellState):
11136 (WebCore::RenderThemeMac::paintSliderThumb):
11137 (WebCore::RenderThemeMac::paintSearchField):
11138 (WebCore::RenderThemeMac::setSearchCellState):
11139 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
11140 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
11141 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
11142 (WebCore::RenderThemeMac::adjustSliderThumbSize):
11143 (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Added for overriding
11144 (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
11146 2010-05-06 Fumitoshi Ukai <ukai@chromium.org>
11148 Reviewed by Alexey Proskuryakov.
11150 JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
11151 https://bugs.webkit.org/show_bug.cgi?id=38719
11153 * platform/graphics/wince/FontCustomPlatformData.cpp:
11154 (WebCore::createUniqueFontName):
11155 Remove WTF:: prefix from randomNumber()
11156 * platform/network/FormDataBuilder.cpp:
11157 (WebCore::FormDataBuilder::generateUniqueBoundaryString):
11160 2010-04-27 Tony Chang <tony@chromium.org>
11162 Reviewed by Eric Seidel.
11164 [chromium] clicking a scrollbar in an iframe shouldn't lose the selection
11165 https://bugs.webkit.org/show_bug.cgi?id=38189
11167 Test: fast/events/mousedown-in-subframe-scrollbar.html
11169 * page/chromium/EventHandlerChromium.cpp:
11170 (WebCore::EventHandler::passMousePressEventToSubframe): If clicking on
11171 a scrollbar, pass the event directly to the scrollbar. This matches
11172 mac which passes the event to the NSScroller.
11174 2010-05-06 Simon Fraser <simon.fraser@apple.com>
11176 Reviewed by Dan Bernstein.
11178 Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal
11179 https://bugs.webkit.org/show_bug.cgi?id=38712
11181 When compositing layer creation is testing layer overlap, we need to re-run the
11182 algorithm when an overflow:scroll element scrolls, to create new layers for revealed
11185 Test: compositing/layer-creation/overflow-scroll-overlap.html
11187 * rendering/RenderLayer.cpp:
11188 (WebCore::RenderLayer::scrollToOffset): First, move the compositing updates
11189 until after the call to updateWidgetPositions(), so that this order is similar
11190 to what we done when a FrameView scrolls. This change has no known side effects.
11191 Second, if compositingConsultsOverlap() is true, we need to actually do a
11192 compositing layer update to compute whether revealed/hidden layers should
11193 be created/destroyed.
11195 2010-05-06 Maciej Stachowiak <mjs@apple.com>
11197 Not reviewed, build fix.
11199 Try again - with quotes this time. *facepalm*
11201 * dom/Notation.cpp:
11203 2010-05-06 Maciej Stachowiak <mjs@apple.com>
11205 Not reviewed, build fix.
11207 Speculative fix for Qt and Gtk.
11209 * dom/Notation.cpp:
11211 2010-05-06 Maciej Stachowiak <mjs@apple.com>
11213 Not reviewed, build fix.
11215 Fix an assert that I failed to update in my earlier change.
11217 * dom/CharacterData.h:
11218 (WebCore::CharacterData::CharacterData):
11220 2010-05-06 Alexey Proskuryakov <ap@apple.com>
11222 Reviewed by Geoff Garen.
11224 https://bugs.webkit.org/show_bug.cgi?id=38697
11225 REGRESSION (r58299): Replying on reddit.com no longer works
11227 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first,
11228 :left and :right. The aren't allowed in all contexts, and properly implementing them is out
11229 of scope for this regression fix.
11231 2010-05-06 Jian Li <jianli@chromium.org>
11233 Reviewed by Adam Barth.
11235 Improve code generator scripts to support converting ScriptString.
11236 https://bugs.webkit.org/show_bug.cgi?id=38699
11238 Change both JSC and V8 generators to introduce "ConvertScriptString"
11239 attribute to allow converting from ScriptString. Also updated the
11240 bindings test result.
11242 These changes are necessary in order to avoid adding custom binding codes
11243 when we add the FileReader interface.
11245 * bindings/scripts/CodeGeneratorJS.pm:
11246 * bindings/scripts/CodeGeneratorV8.pm:
11247 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
11248 (webkit_dom_test_obj_get_script_string_attr):
11249 (webkit_dom_test_obj_get_property):
11250 (webkit_dom_test_obj_class_init):
11251 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
11252 * bindings/scripts/test/JS/JSTestObj.cpp:
11254 (WebCore::jsTestObjScriptStringAttr):
11255 * bindings/scripts/test/JS/JSTestObj.h:
11256 * bindings/scripts/test/ObjC/DOMTestObj.h:
11257 * bindings/scripts/test/ObjC/DOMTestObj.mm:
11258 (-[DOMTestObj scriptStringAttr]):
11259 * bindings/scripts/test/TestObj.idl:
11260 * bindings/scripts/test/V8/V8TestObj.cpp:
11261 (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
11264 2010-05-06 Jian Li <jianli@chromium.org>
11266 Reviewed by Adam Barth.
11268 Improve code generator scripts to pass additional ScriptExecutionContext
11269 argument to the constructor.
11270 https://bugs.webkit.org/show_bug.cgi?id=38687
11272 Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext"
11273 attribute to allow passing the additional ScriptExecutionContext argument to
11274 the constructor. Also add another test IDL file to test interface-level
11277 These changes are necessary in order to avoid adding custom binding codes
11278 when we add the FileReader interface.
11280 * bindings/scripts/CodeGeneratorJS.pm:
11281 * bindings/scripts/CodeGeneratorV8.pm:
11282 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added.
11283 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added.
11284 * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added.
11285 * bindings/scripts/test/JS/JSTestInterface.cpp: Added.
11286 * bindings/scripts/test/JS/JSTestInterface.h: Added.
11287 * bindings/scripts/test/ObjC/DOMTestInterface.h: Added.
11288 * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added.
11289 * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added.
11290 * bindings/scripts/test/TestInterface.idl: Added.
11291 * bindings/scripts/test/V8/V8TestInterface.cpp: Added.
11292 * bindings/scripts/test/V8/V8TestInterface.h: Added.
11293 * bindings/v8/V8Proxy.h:
11294 (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext):
11296 2010-05-06 Maciej Stachowiak <mjs@apple.com>
11298 Build fix, not reviewed.
11300 Speculative Windows and Debug build fixes for the last change.
11303 (WebCore::Node::inDocument):
11304 (WebCore::Node::setFlag):
11306 2010-05-06 James Robinson <jamesr@chromium.org>
11308 Reviewed by Eric Seidel.
11310 Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
11311 https://bugs.webkit.org/show_bug.cgi?id=38158
11314 - replace NULL with 0
11315 - remove unusued locals
11316 - add parens around ambiguous looking compound predicates like (a || b && c)
11318 This also adds a check for x >= 0 to FontLinux.cpp's in this statement:
11319 if (x < walker.width())
11320 This is more documentation than anything else since walker.width() returns
11321 an unsigned the current behavior is that x is promoted to unsigned and as
11322 long as x + walker.width() is less than 2^31 all negative values of x
11323 end up wrapping around and not being < walker.width(). This behavior is
11324 tested by fast/text/international/khmer-selection.html
11326 * platform/graphics/chromium/FontLinux.cpp:
11327 (WebCore::adjustTextRenderMode):
11328 (WebCore::TextRunWalker::TextRunWalker):
11329 (WebCore::TextRunWalker::length):
11330 (WebCore::TextRunWalker::width):
11331 (WebCore::TextRunWalker::getTextRun):
11332 (WebCore::TextRunWalker::getNormalizedTextRun):
11333 (WebCore::Font::offsetForPositionForComplexText):
11334 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
11335 (WebCore::FontPlatformData::setupPaint):
11336 * platform/graphics/chromium/HarfbuzzSkia.cpp:
11337 (WebCore::getOutlinePoint):
11338 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
11339 (WebCore::GraphicsContext3D::getImageData):
11340 * platform/graphics/skia/GraphicsContextSkia.cpp:
11341 (WebCore::isCoordinateSkiaSafe):
11342 (WebCore::GraphicsContext::fillRect):
11343 (WebCore::GraphicsContext::strokePath):
11344 (WebCore::GraphicsContext::strokeRect):
11346 2010-05-06 Ada Chan <adachan@apple.com>
11348 Reviewed by David Kilzer.
11350 https://bugs.webkit.org/show_bug.cgi?id=38695
11352 Check the result from widget() for NULL before accessing it.
11354 * rendering/RenderIFrame.cpp:
11355 (WebCore::RenderIFrame::calcHeight):
11356 (WebCore::RenderIFrame::calcWidth):
11358 2010-05-06 Maciej Stachowiak <mjs@apple.com>
11360 Reviewed by Darin Adler.
11362 further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix
11363 https://bugs.webkit.org/show_bug.cgi?id=38682
11364 <rdar://problem/7859794>
11366 Looks like a 1-2% speedup on PLT.
11368 - Reorder CSS properties.
11369 - Remove short circuit tag check in matchRulesForList which costs more than it saves.
11370 - Inline initForStyleResolve.
11371 - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop.
11373 - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking,
11374 to make it cheaper to initialize the bits and give faster access.
11375 - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment,
11376 and devirtualize those methods.
11377 - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since
11378 they are very simple and lots of nodes get constructed.
11380 * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them
11381 with < instead of switch statements
11382 * css/CSSStyleSelector.cpp:
11383 (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check
11384 for tag match before checking selector. This check very rarely short circuits anything,
11385 since most rules with a tag end up in the appropriate tag bucket. So doing the check
11386 cost more time than the time saved.
11387 (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way.
11388 (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to
11389 check for the high priority properties. Convert to template to avoid checking "applyFirst"
11390 each time through the loop.
11391 (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature.
11392 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto
11393 (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
11394 * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature.
11395 * rendering/style/RenderStyle.cpp:
11396 (WebCore::RenderStyle::RenderStyle): Inline constructor.
11397 * rendering/style/RenderStyle.h: Make constructor private so it can be inline.
11399 (WebCore::): See high-level description of changes above. Redid the
11400 way boolean flags work.
11401 (WebCore::Node::isElementNode):
11402 (WebCore::Node::isContainerNode):
11403 (WebCore::Node::isTextNode):
11404 (WebCore::Node::isHTMLElement):
11405 (WebCore::Node::isSVGElement):
11406 (WebCore::Node::isStyledElement):
11407 (WebCore::Node::isCommentNode):
11408 (WebCore::Node::hasID):
11409 (WebCore::Node::hasClass):
11410 (WebCore::Node::active):
11411 (WebCore::Node::inActiveChain):
11412 (WebCore::Node::inDetach):
11413 (WebCore::Node::hovered):
11414 (WebCore::Node::attached):
11415 (WebCore::Node::setAttached):
11416 (WebCore::Node::needsStyleRecalc):
11417 (WebCore::Node::styleChangeType):
11418 (WebCore::Node::childNeedsStyleRecalc):
11419 (WebCore::Node::isLink):
11420 (WebCore::Node::setHasID):
11421 (WebCore::Node::setHasClass):
11422 (WebCore::Node::setChildNeedsStyleRecalc):
11423 (WebCore::Node::clearChildNeedsStyleRecalc):
11424 (WebCore::Node::setInDocument):
11425 (WebCore::Node::clearInDocument):
11426 (WebCore::Node::setInActiveChain):
11427 (WebCore::Node::clearInActiveChain):
11428 (WebCore::Node::setIsLink):
11429 (WebCore::Node::clearIsLink):
11430 (WebCore::Node::setActive):
11431 (WebCore::Node::setHovered):
11432 (WebCore::Node::inDocument):
11434 (WebCore::Node::getFlag):
11435 (WebCore::Node::setFlag):
11436 (WebCore::Node::clearFlag):
11437 (WebCore::Node::hasRareData):
11438 (WebCore::Node::isParsingChildrenFinished):
11439 (WebCore::Node::setIsParsingChildrenFinished):
11440 (WebCore::Node::clearIsParsingChildrenFinished):
11441 (WebCore::Node::isStyleAttributeValid):
11442 (WebCore::Node::setIsStyleAttributeValid):
11443 (WebCore::Node::clearIsStyleAttributeValid):
11444 (WebCore::Node::isSynchronizingStyleAttribute):
11445 (WebCore::Node::setIsSynchronizingStyleAttribute):
11446 (WebCore::Node::clearIsSynchronizingStyleAttribute):
11447 (WebCore::Node::areSVGAttributesValid):
11448 (WebCore::Node::setAreSVGAttributesValid):
11449 (WebCore::Node::clearAreSVGAttributesValid):
11450 (WebCore::Node::isSynchronizingSVGAttributes):
11451 (WebCore::Node::setIsSynchronizingSVGAttributes):
11452 (WebCore::Node::clearIsSynchronizingSVGAttributes):
11453 (WebCore::Node::hasRareSVGData):
11454 (WebCore::Node::setHasRareSVGData):
11455 (WebCore::Node::clearHasRareSVGData):
11456 (WebCore::Node::initialRefCount):
11458 (WebCore::Node::trackForDebugging): Adjusted for changes in
11460 (WebCore::Node::ensureRareData): ditto
11461 (WebCore::Node::setStyleChange): ditto
11462 (WebCore::Node::setNeedsStyleRecalc): ditto
11463 (WebCore::Node::lazyAttach): ditto
11464 (WebCore::Node::attach): ditto
11465 (WebCore::Node::detach): ditto
11466 (WebCore::Node::insertedIntoDocument): ditto
11467 (WebCore::Node::removedFromDocument): ditto
11468 * dom/CharacterData.cpp:
11469 * dom/CharacterData.h:
11470 (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp)
11472 (WebCore::Comment::Comment): Tell the base class that we're a comment.
11473 * dom/Comment.h: Remove isCommentNode override.
11474 * dom/ContainerNode.cpp:
11475 (WebCore::ContainerNode::detach): Adjusted for changes in flag
11477 (WebCore::ContainerNode::removedFromDocument): ditto
11478 * dom/Document.cpp:
11479 (WebCore::Document::Document): Adjusted for changes in flag handling.
11480 (WebCore::Document::recalcStyle): ditto
11481 (WebCore::Document::setFocusedNode): ditto
11483 (WebCore::Node::Node): Inline the Node constructor - goes here
11484 because it uses Document.
11485 * dom/DocumentFragment.cpp: include Document.h due to above change
11486 * dom/EditingText.cpp: ditto
11487 * dom/EntityReference.cpp: ditto
11489 (WebCore::Element::getAttribute): Adjusted for changes in flag
11491 (WebCore::Element::setAttribute): ditto
11492 (WebCore::Element::hasAttributes): ditto
11493 (WebCore::Element::recalcStyle): ditto
11494 (WebCore::Element::finishParsingChildren): ditto
11496 (WebCore::Element::Element): Inline (moved from .cpp)
11497 (WebCore::Element::isFinishedParsingChildren):
11498 (WebCore::Element::beginParsingChildren):
11499 (WebCore::Element::attributes): Adjusted for changes in flag
11501 * dom/StyledElement.cpp:
11502 (WebCore::StyledElement::updateStyleAttribute): Adjust for
11503 changes to flag handling.
11504 (WebCore::StyledElement::mapToEntry): ditto
11505 (WebCore::StyledElement::parseMappedAttribute): ditto
11506 (WebCore::StyledElement::copyNonAttributeProperties): ditto
11507 * dom/StyledElement.h:
11508 (WebCore::StyledElement::StyledElement): Inline (moved from.cpp)
11509 (WebCore::StyledElement::invalidateStyleAttribute): Adjust for
11510 changes in flag handling.
11512 (WebCore::Text::Text): Inline (moved from .cpp)
11514 * html/HTMLAnchorElement.cpp:
11515 (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
11517 (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto
11518 * html/HTMLElement.cpp:
11519 (WebCore::HTMLElement::create): Tell base class we're an HTML element.
11520 * html/HTMLElement.h: ditto above; remove isHTMLElement override.
11521 * html/HTMLFormControlElement.h: Tell base class we're an HTML element.
11522 * html/HTMLFrameOwnerElement.cpp:
11523 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto
11524 * html/HTMLProgressElement.cpp:
11525 (WebCore::HTMLProgressElement::HTMLProgressElement): ditto
11526 * mathml/MathMLElement.cpp:
11527 (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled
11529 * rendering/MediaControlElements.cpp:
11530 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
11531 Adjust for changes in flag handling.
11532 (WebCore::MediaControlElement::MediaControlElement): ditto
11533 (WebCore::MediaControlInputElement::MediaControlInputElement): ditto
11534 * rendering/RenderFileUploadControl.cpp:
11535 (WebCore::RenderFileUploadControl::updateFromElement): ditto
11536 * rendering/RenderLayer.cpp:
11537 (WebCore::RenderLayer::updateHoverActiveState): ditto
11538 * rendering/RenderProgress.cpp:
11539 (WebCore::RenderProgress::updateValuePartState): ditto
11540 * rendering/RenderSlider.cpp:
11541 (WebCore::RenderSlider::updateFromElement): ditto
11542 * rendering/SVGShadowTreeElements.cpp:
11543 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto
11544 * rendering/TextControlInnerElements.cpp:
11545 (WebCore::TextControlInnerElement::attachInnerElement): ditto
11546 * svg/SVGAnimatedProperty.h:
11547 (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto
11548 (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto
11549 * svg/SVGElement.cpp:
11550 (WebCore::SVGElement::SVGElement): Tell base class we're
11552 (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
11554 (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto
11555 * svg/SVGElement.h:
11556 (WebCore::SVGElement::invalidateSVGAttributes): ditto
11557 * svg/SVGPolyElement.cpp:
11558 (WebCore::SVGPolyElement::svgAttributeChanged): ditto
11559 * wml/WMLAnchorElement.cpp:
11560 (WebCore::WMLAnchorElement::WMLAnchorElement): ditto
11561 * wml/WMLElement.cpp:
11562 (WebCore::WMLElement::WMLElement): Tell base class we're a styled
11565 2010-05-06 Adam Barth <abarth@webkit.org>
11567 Unreviewed. Fix indent. Sorry, my OCD was acting up.
11569 * page/EventHandler.cpp:
11570 (WebCore::EventHandler::handleMouseReleaseEvent):
11572 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
11574 Reviewed by Joseph Pecoraro.
11576 Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
11578 https://bugs.webkit.org/show_bug.cgi?id=38660
11580 * inspector/front-end/ResourceView.js:
11581 (WebInspector.ResourceView):
11582 (WebInspector.ResourceView.prototype._selectHeadersTab):
11583 (WebInspector.ResourceView.prototype.selectContentTab):
11584 * inspector/front-end/ResourcesPanel.js:
11585 (WebInspector.ResourcesPanel.prototype.showResource):
11587 2010-05-06 Luiz Agostini <luiz.agostini@openbossa.org>
11589 Rubber-stamped by Simon Hausmann.
11591 [Qt] use QT_MOBILE_THEME in Symbian
11592 https://bugs.webkit.org/show_bug.cgi?id=38440
11594 Putting QT_MOBILE_THEME into use for Symbian.
11598 2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
11600 Unreviewed, build fix WinCE for QtWebKit.
11602 [Qt] Compilation with Plugins disabled is broken
11603 https://bugs.webkit.org/show_bug.cgi?id=31407
11605 Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
11608 Thanks for Ismail "cartman" Donmez for help.
11610 No new tests, as there is no new functionality.
11614 * platform/qt/TemporaryLinkStubs.cpp: Removed.
11615 * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
11617 2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
11619 Reviewed by Kenneth Rohde Christiansen.
11621 [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases
11622 https://bugs.webkit.org/show_bug.cgi?id=36755
11624 Enable the direct connection between QtNetwork and QtWebKit only for Qt versions
11625 greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2.
11627 * platform/network/qt/QNetworkReplyHandler.cpp:
11629 2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
11631 Reviewed by Xan Lopez.
11633 Rework where we get page step and line step from, so we do not
11634 depend on scrollbars existing. Caught by API test I forgot to run.
11636 * platform/gtk/ScrollViewGtk.cpp:
11637 (WebCore::ScrollView::setGtkAdjustments):
11639 2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
11641 Reviewed by Xan Lopez.
11643 [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
11644 https://bugs.webkit.org/show_bug.cgi?id=38657
11646 Fix resetting adjustment values. In the page cache case, we were
11647 confusing page_size and upper, leading to stray scrollbars
11650 * platform/gtk/ScrollViewGtk.cpp:
11651 (WebCore::ScrollView::setGtkAdjustments):
11653 2010-05-06 Darin Adler <darin@apple.com>
11655 Reviewed by Beth Dakin.
11657 Page::setCanStartMedia does not properly handle the case where a media listener is removed
11658 https://bugs.webkit.org/show_bug.cgi?id=38602
11660 We can't find any real case where this causes a crash at this time, but
11661 we want to harden the code anyway. Thus there are no new regression tests.
11664 (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion.
11665 (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners
11666 one at a time and don't notify any listener that has already been removed
11669 2010-05-05 Ojan Vafai <ojan@chromium.org>
11671 Reviewed by Darin Adler.
11673 shift+click on an existing selection doesn't work right
11674 https://bugs.webkit.org/show_bug.cgi?id=36542
11676 NSTextView behavior is to move the end of the selection
11677 closest to the shift-click. Win/Linux behavior is to always
11678 move the focus end of the selection.
11680 Test: editing/selection/shift-click.html
11682 * page/EventHandler.cpp:
11683 (WebCore::textDistance):
11684 (WebCore::EventHandler::handleMousePressEventSingleClick):
11686 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
11688 Reviewed by Timothy Hatcher.
11690 Web Inspector: implement panels history traversal on Cmd+Left/Right.
11692 https://bugs.webkit.org/show_bug.cgi?id=38649
11694 * inspector/front-end/inspector.js:
11695 (WebInspector.set currentPanel):
11696 (WebInspector.loaded):
11697 (WebInspector.documentKeyDown):
11698 (WebInspector.PanelHistory):
11699 (WebInspector.PanelHistory.prototype.canGoBack):
11700 (WebInspector.PanelHistory.prototype.goBack):
11701 (WebInspector.PanelHistory.prototype.canGoForward):
11702 (WebInspector.PanelHistory.prototype.goForward):
11703 (WebInspector.PanelHistory.prototype.setPanel):
11705 2010-05-03 Evan Martin <evan@chromium.org>
11707 Reviewed by Eric Seidel.
11709 [chromium] use glyphDataForCharacter so we hit the glyphdata cache
11710 https://bugs.webkit.org/show_bug.cgi?id=38500
11712 Calling fontDataForCharacters() while rendering text is expensive.
11713 Examining the relevant Mac code in WebKit revealed that calling the
11714 similarly-named glyphDataForCharacters() results in caching the font
11715 data on a per-glyph basis.
11717 Since we now choose a font based on the first character in a run, we
11718 need to be careful that all the glyphs within the run use the same font.
11719 This is also similar to the WebKit Mac code. We need to remove all of
11720 the script run bits eventually and this is a step in that direction.
11722 Tests: fast/text/international/danda-space.html spacing changes slightly
11723 (now matches Firefox better) and fast/text/international/thai-baht-space.html
11724 now picks the correct (serif) font for the digits.
11726 * platform/graphics/chromium/FontLinux.cpp:
11727 (WebCore::TextRunWalker::nextScriptRun):
11728 (WebCore::TextRunWalker::setupFontForScriptRun):
11730 2010-05-06 Martin Robinson <mrobinson@webkit.org>
11732 Reviewed by Gustavo Noronha Silva.
11734 [GTK] Enable DOM clipboard and drag-and-drop access
11735 https://bugs.webkit.org/show_bug.cgi?id=30623
11737 Convert dragging portion of drag-and-drop to use DataObjectGtk.
11739 No new tests, because functionality has not changed.
11741 * page/gtk/EventHandlerGtk.cpp:
11742 (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here.
11743 * platform/gtk/ClipboardGtk.h:
11744 (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here.
11745 (WebCore::ClipboardGtk::helper): Added.
11746 (WebCore::ClipboardGtk::dataObject): Added.
11747 * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method.
11749 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
11751 Reviewed by Timothy Hatcher.
11753 Web Inspector: Do not show content tab for resources
11754 not supporting content preview.
11756 https://bugs.webkit.org/show_bug.cgi?id=38635
11758 * English.lproj/localizedStrings.js:
11759 * inspector/front-end/FontView.js:
11760 (WebInspector.FontView.prototype.hasContentTab):
11761 * inspector/front-end/ImageView.js:
11762 (WebInspector.ImageView.prototype.hasContentTab):
11763 * inspector/front-end/ResourceView.js:
11764 (WebInspector.ResourceView):
11765 (WebInspector.ResourceView.prototype._selectTab):
11766 (WebInspector.ResourceView.prototype.hasContentTab):
11767 * inspector/front-end/SourceView.js:
11768 (WebInspector.SourceView.prototype.hasContentTab):
11770 2010-05-06 Antonio Gomes <tonikitoo@webkit.org>
11772 Reviewed by Kenneth Christiansen.
11774 Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document*
11775 https://bugs.webkit.org/show_bug.cgi?id=37803
11777 Instead of receiving a Document pointer as incoming parameter, patch modifies
11778 findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to
11779 receive a Node pointer as start for content traversal.
11780 This way we can make good use of deepFindFocusableNodeInDirection to traverse
11781 other scrollable container like scrollable div's, and not only frames or iframes.
11783 Patch also makes use of 'while' instead of 'for' to loop control, that gives move
11784 flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental
11785 step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling().
11787 No behavior change. It is a preparation for supporting scrollable containers in Spatial
11790 * page/FocusController.cpp:
11791 (WebCore::FocusController::advanceFocusDirectionally):
11792 (WebCore::FocusController::findFocusableNodeInDirection):
11793 (WebCore::FocusController::deepFindFocusableNodeInDirection):
11794 * page/FocusController.h:
11796 2010-05-06 Csaba Osztrogonác <ossy@webkit.org>
11798 Unreviewed WinCE buildfix after r58842.
11799 Preprocessor doesn't understand "true", changed to "1"
11801 * platform/graphics/MediaPlayer.cpp:
11803 2010-05-06 Mikhail Naganov <mnaganov@chromium.org>
11805 Reviewed by Pavel Feldman.
11807 Temporarily disable 'console.profiles' until we can distinguish
11808 functions from different frames
11810 https://bugs.webkit.org/show_bug.cgi?id=38638
11812 * bindings/v8/custom/V8ConsoleCustom.cpp:
11813 (WebCore::V8Console::profilesAccessorGetter):
11815 2010-05-06 Steve Block <steveblock@google.com>
11817 Reviewed by Eric Seidel.
11819 MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
11820 https://bugs.webkit.org/show_bug.cgi?id=38544
11822 No new tests, build fix only.
11824 * DerivedSources.make:
11825 * bindings/js/ScriptController.cpp:
11826 (WebCore::ScriptController::ScriptController):
11827 * bindings/js/ScriptController.h:
11828 * bindings/js/ScriptControllerMac.mm:
11829 (WebCore::ScriptController::createScriptInstanceForWidget):
11830 * bridge/jni/JNIBridge.cpp:
11831 * bridge/jni/JNIBridge.h:
11832 * bridge/jni/JNIUtility.cpp:
11833 * bridge/jni/JNIUtility.h:
11834 * bridge/jni/jni_jsobject.h:
11835 * bridge/jni/jni_jsobject.mm:
11836 * bridge/jni/jni_objc.mm:
11837 * bridge/jni/jsc/JNIBridgeJSC.cpp:
11838 * bridge/jni/jsc/JNIBridgeJSC.h:
11839 * bridge/jni/jsc/JNIUtilityPrivate.cpp:
11840 * bridge/jni/jsc/JNIUtilityPrivate.h:
11841 * bridge/jni/jsc/JavaClassJSC.cpp:
11842 * bridge/jni/jsc/JavaClassJSC.h:
11843 * bridge/jni/jsc/JavaInstanceJSC.cpp:
11844 * bridge/jni/jsc/JavaInstanceJSC.h:
11845 * loader/FrameLoaderClient.h:
11847 2010-05-05 Alejandro G. Castro <alex@igalia.com>
11849 Reviewed by Xan Lopez.
11851 Fixed the gobject introspection compilation with the new DOM
11852 bindings, we needed to add DOM objects.
11856 2010-05-06 Adam Barth <abarth@webkit.org>
11858 Reviewed by Eric Seidel.
11860 drop support for sessionStorage in sandbox iframes
11861 https://bugs.webkit.org/show_bug.cgi?id=38151
11863 This patch causes us to throw a security exception when a sandboxed
11864 iframe attempts to access sessionStorage, matching our behavior for
11865 localStorage. The letter of the spec asks us to create a separate
11866 storage area for each unique origin. We might want to do that in a
11867 future patch, but throwing a security error seems like a safe move now.
11869 * page/DOMWindow.cpp:
11870 (WebCore::DOMWindow::sessionStorage):
11871 (WebCore::DOMWindow::localStorage):
11872 * page/DOMWindow.h:
11873 * page/DOMWindow.idl:
11874 * page/SecurityOrigin.h:
11875 (WebCore::SecurityOrigin::canAccessSessionStorage):
11876 * storage/StorageEventDispatcher.cpp:
11877 (WebCore::StorageEventDispatcher::dispatch):
11879 2010-05-06 Andy Estes <aestes@apple.com>
11881 Reviewed by Maciej Stachowiak.
11883 Allow forms submitting to target="_blank" to open popups if the submission
11884 originated from a user gesture.
11886 https://bugs.webkit.org/show_bug.cgi?id=37335
11887 <rdar://problem/7884980>
11889 Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
11891 * bindings/js/ScriptController.cpp:
11892 (WebCore::ScriptController::processingUserGesture): If no DOM event is
11893 being processed, consult UserGestureIndicator to determine return value.
11894 * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
11895 into processingUserGesture().
11897 2010-05-06 Xan Lopez <xlopez@igalia.com>
11899 Rubber-stamped by Eric Seidel.
11901 [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
11902 https://bugs.webkit.org/show_bug.cgi?id=38577
11904 Thinko caught while refactoring, $custom variable was not
11907 * bindings/scripts/CodeGeneratorGObject.pm:
11908 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
11909 (webkit_dom_test_obj_set_property):
11910 (webkit_dom_test_obj_get_property):
11911 (webkit_dom_test_obj_class_init):
11913 2010-05-06 Xan Lopez <xlopez@igalia.com>
11915 Rubber-stamped by Eric Seidel.
11917 [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
11918 https://bugs.webkit.org/show_bug.cgi?id=38577
11920 Refactor GenerateProperty out of GenerateProperties. This is in
11921 preparation for EventListeren attributes, which won't generate
11922 normal GObject properties.
11924 * bindings/scripts/CodeGeneratorGObject.pm:
11926 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
11928 Reviewed by Joseph Pecoraro.
11930 Web Inspector: follow up to linkify event listeners.
11932 https://bugs.webkit.org/show_bug.cgi?id=38257
11934 * bindings/js/ScriptEventListener.cpp:
11935 (WebCore::eventListenerHandlerLocation):
11936 * bindings/v8/ScriptEventListener.cpp:
11937 (WebCore::eventListenerHandlerLocation):
11938 * inspector/front-end/ElementsPanel.js:
11939 (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
11940 * inspector/front-end/EventListenersSidebarPane.js:
11942 2010-05-05 Charles Wei <charles.wei@torchmobile.com.cn>
11944 Reviewed by George Staikos
11946 https://bugs.webkit.org/show_bug.cgi?id=37848
11947 This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
11949 Tests: fast/wcss/wap-input-format.xhtml
11950 fast/wcss/wap-input-required.xhtml
11952 * css/CSSParser.cpp:
11953 (WebCore::CSSParser::parseValue):
11954 (WebCore::CSSParser::parseWCSSInputProperty):
11956 * css/CSSStyleSelector.cpp:
11957 (WebCore::CSSStyleSelector::applyProperty):
11958 * css/WCSSPropertyNames.in:
11959 * dom/InputElement.cpp:
11960 (WebCore::InputElement::sanitizeValue):
11961 (WebCore::InputElement::handleBeforeTextInsertedEvent):
11962 (WebCore::InputElementData::InputElementData):
11963 (WebCore::formatCodes):
11964 (WebCore::cursorPositionToMaskIndex):
11965 (WebCore::InputElement::isConformToInputMask):
11966 (WebCore::InputElement::validateInputMask):
11967 * dom/InputElement.h:
11968 (WebCore::InputElementData::inputFormatMask):
11969 (WebCore::InputElementData::setInputFormatMask):
11970 (WebCore::InputElementData::maxInputCharsAllowed):
11971 (WebCore::InputElementData::setMaxInputCharsAllowed):
11972 * html/HTMLInputElement.cpp:
11973 (WebCore::HTMLInputElement::setWapInputFormat):
11974 * html/HTMLInputElement.h:
11975 (WebCore::HTMLInputElement::data):
11976 * wml/WMLInputElement.h:
11977 (WebCore::WMLInputElement::data):
11979 2010-05-05 MORITA Hajime <morrita@google.com>
11981 Reviewed by Darin Adler.
11983 https://bugs.webkit.org/show_bug.cgi?id=38150
11984 Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
11986 Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
11987 which accesses the renderer from foreign node,
11988 to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
11990 No new tests. No behavioral change.
11992 * html/HTMLFormControlElement.cpp:
11993 (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
11994 * html/HTMLFormControlElement.h:
11995 * html/HTMLInputElement.h:
11996 * html/HTMLTextAreaElement.h:
11997 * rendering/TextControlInnerElements.cpp:
11998 (WebCore::TextControlInnerTextElement::defaultEventHandler):
12000 2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
12002 Reviewed by Timothy Hatcher.
12004 Web Inspector: Line Numbers should be Aligned with the Source Code Line
12005 https://bugs.webkit.org/show_bug.cgi?id=38593
12007 If there is a message bubble, such as an error message, in a source view
12008 the line number should be in line with the source code line, not centered
12009 between the source and bubble.
12011 * inspector/front-end/textViewer.css:
12012 (.webkit-line-number): added vertical-align: top
12014 2010-05-05 Dan Bernstein <mitz@apple.com>
12016 Fix the decelerated compositing build.
12018 * page/FrameView.cpp:
12019 (WebCore::FrameView::isEnclosedInCompositingLayer):
12020 * page/FrameView.h:
12022 2010-05-05 Gavin Barraclough <barraclough@apple.com>
12024 Reviewed by Darin Adler.
12026 Bug 38604 - workers-gc2 crashing on Qt
12028 This appears to be due to a couple of issues.
12029 (1) When the atomic string table is deleted it does not clear the 'inTable' bit
12030 on AtomicStrings - it implicitly assumes that all AtomicStrings have already
12031 been deleted at this point (otherwise they will crash in their destructor when
12032 they try to remove themselves from the atomic string table).
12033 (2) We don't fix the ordering in which WTF::WTFThreadData and
12034 WebCore::ThreadGlobalData are destructed.
12036 We should make sure that ThreadGlobalData is cleaned up before worker threads
12037 terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
12038 bit of members on atomic string table destruction.
12040 WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
12042 * platform/ThreadGlobalData.cpp:
12043 (WebCore::ThreadGlobalData::~ThreadGlobalData):
12044 (WebCore::ThreadGlobalData::destroy):
12045 * platform/ThreadGlobalData.h:
12046 * workers/WorkerThread.cpp:
12047 (WebCore::WorkerThread::workerThread):
12049 2010-05-05 Dan Bernstein <mitz@apple.com>
12051 Reviewed by Simon Fraser.
12053 <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
12054 https://bugs.webkit.org/show_bug.cgi?id=38427
12056 Test: compositing/iframes/iframe-in-composited-layer.html
12058 * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
12059 * page/FrameView.cpp:
12060 (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
12061 * page/FrameView.h:
12063 2010-05-05 Chris Marrin <cmarrin@apple.com>
12065 Reviewed by Simon Fraser.
12067 Got composited iframes showing up on Mac again
12068 https://bugs.webkit.org/show_bug.cgi?id=38565
12070 This was broken by http://trac.webkit.org/changeset/58798. That
12071 change connected iframes through the parent document to the root
12072 of the layer tree. That is correct for Windows, but not for Mac.
12073 So the places where the linkage is made were wrapped in
12074 shouldPropagateCompositingToIFrameParent() calls, which is
12075 always false for Mac.
12077 Test: compositing/iframes/composited-iframe-alignment.html
12079 * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
12080 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
12081 (WebCore::RenderLayerCompositor::didMoveOnscreen):
12082 (WebCore::RenderLayerCompositor::willMoveOffscreen):
12083 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
12085 2010-05-05 Alexey Proskuryakov <ap@apple.com>
12087 Reviewed by Darin Adler.
12089 https://bugs.webkit.org/show_bug.cgi?id=38260
12090 <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
12092 Broken all the way since r4 (yes, that's a revision number).
12094 Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
12096 * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
12098 2010-05-05 Chris Fleizach <cfleizach@apple.com>
12100 Reviewed by Beth Dakin.
12102 Many AXUnknown showing up in the hierarchy
12103 https://bugs.webkit.org/show_bug.cgi?id=38607
12105 The RenderTableSection should not be an accessible element.
12107 Test: platform/mac/accessibility/parent-of-table-row-is-table.html
12109 * accessibility/AccessibilityRenderObject.cpp:
12110 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
12112 2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
12114 Reviewed by Simon Hausmann.
12116 [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
12117 Fall back to the Phonon backend until the release situation has been cleared up.
12119 https://bugs.webkit.org/show_bug.cgi?id=38612
12121 Buildfix for QT_VERSION >= 0x040700 after r58810.
12123 * platform/graphics/MediaPlayer.cpp:
12125 2010-05-05 Jian Li <jianli@chromium.org>
12127 Reviewed by David Levin.
12129 XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
12130 https://bugs.webkit.org/show_bug.cgi?id=37771
12132 Test: http/tests/local/formdata/upload-events.html
12134 * xml/XMLHttpRequest.cpp:
12135 (WebCore::XMLHttpRequest::createRequest):
12137 2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
12139 Reviewed by Simon Hausmann.
12141 [Qt] Qt port should use its own QUuid class to create UUID string.
12142 https://bugs.webkit.org/show_bug.cgi?id=38581
12144 * platform/UUID.cpp:
12145 (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
12147 2010-05-05 Alexey Proskuryakov <ap@apple.com>
12149 Roll out r58830 for breaking tests.
12151 Was: https://bugs.webkit.org/show_bug.cgi?id=38546
12152 Node.focus() fails to move focus from subframe properly
12154 * html/HTMLFrameElementBase.cpp:
12155 (WebCore::HTMLFrameElementBase::setFocus):
12157 2010-05-05 Jian Li <jianli@chromium.org>
12159 Reviewed by Adam Barth.
12161 Implement FileReader class.
12162 https://bugs.webkit.org/show_bug.cgi?id=38157
12164 This patch only contains the implementation of FileReader class as defined
12165 in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader.
12167 New test will be added when a IDL is exposed and the FILE_READER is turned
12173 * WebCore.vcproj/WebCore.vcproj:
12174 * WebCore.xcodeproj/project.pbxproj:
12175 * dom/EventNames.h:
12176 * dom/EventTarget.cpp:
12177 (WebCore::EventTarget::toFileReader):
12178 * dom/EventTarget.h:
12179 * html/FileError.h:
12180 (WebCore::FileError::FileError):
12181 * html/FileReader.cpp: Added.
12182 * html/FileReader.h: Added.
12183 * html/FileStream.cpp:
12184 (WebCore::FileStream::FileStream):
12185 (WebCore::FileStream::openForRead):
12186 (WebCore::FileStream::close):
12187 (WebCore::FileStream::read):
12188 * html/FileStream.h:
12190 2010-05-05 Steve Falkenburg <sfalken@apple.com>
12192 Reviewed by Maciej Stachowiak.
12194 REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
12195 https://bugs.webkit.org/show_bug.cgi?id=38595
12197 * platform/graphics/cg/ImageSourceCG.cpp:
12198 (WebCore::ImageSource::setData):
12200 2010-05-05 Alexey Proskuryakov <ap@apple.com>
12202 Reviewed by Adele Peterson.
12204 https://bugs.webkit.org/show_bug.cgi?id=38546
12205 Node.focus() fails to move focus from subframe properly
12207 Test: fast/frames/take-focus-from-iframe.html
12209 * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
12210 focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
12211 of focused frame get out of sync temporarily.
12213 2010-05-05 Alexey Proskuryakov <ap@apple.com>
12215 Reviewed by Adele Peterson.
12217 https://bugs.webkit.org/show_bug.cgi?id=26824
12218 <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during
12219 keyboard event dispatch.
12221 EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard
12222 event if focused frame changes between keydown and keypress.
12224 * manual-tests/focus-change-between-key-events.html: Added.
12226 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame
12227 changes while dispatching keydown. Also made similar changes for Windows to maintain matching
12228 behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being
12231 2010-05-05 Steve Block <steveblock@google.com>
12233 Reviewed by Adam Barth.
12235 MediaError.h is missing PassRefPtr.h include
12236 https://bugs.webkit.org/show_bug.cgi?id=38575
12238 No new tests, build fix only.
12240 * html/MediaError.h:
12242 2010-05-05 Alexander Pavlov <apavlov@chromium.org>
12244 Reviewed by Pavel Feldman.
12246 Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page
12247 https://bugs.webkit.org/show_bug.cgi?id=38579
12249 * inspector/front-end/AuditLauncherView.js:
12250 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
12251 (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
12253 2010-05-05 Pavel Feldman <pfeldman@chromium.org>
12255 Reviewed by Joseph Pecoraro.
12257 Web Inspector: Doubleclick on line number should not trigger source editing.
12259 https://bugs.webkit.org/show_bug.cgi?id=38588
12261 * inspector/front-end/TextViewer.js:
12262 (WebInspector.TextViewer.prototype._handleDoubleClick):
12264 2010-05-05 Martin Robinson <mrobinson@webkit.org>
12266 Reviewed by Gustavo Noronha.
12268 [GTK] Enable DOM clipboard and drag-and-drop access
12269 https://bugs.webkit.org/show_bug.cgi?id=30623
12271 Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
12273 No new tests as functionality has not changed.
12275 * platform/gtk/PasteboardHelper.cpp:
12276 (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
12277 (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
12279 2010-05-05 Stuart Morgan <stuartmorgan@chromium.org>
12281 Reviewed by Darin Fisher.
12283 Add a "focused" parameter to Widget::setFocus, and updates Document
12284 so that Widget is informed of focus loss as well as focus gain.
12285 Changes all existing setFocus implementations so that they ignore
12286 the 'false' case, so no behavior is changed until individual
12287 platforms are updated to handle the new case (if they want to).
12289 https://bugs.webkit.org/show_bug.cgi?id=37961
12291 * dom/Document.cpp:
12292 (WebCore::Document::setFocusedNode):
12293 * platform/Widget.h:
12294 * platform/android/WidgetAndroid.cpp:
12295 (WebCore::Widget::setFocus):
12296 * platform/chromium/WidgetChromium.cpp:
12297 (WebCore::Widget::setFocus):
12298 * platform/efl/WidgetEfl.cpp:
12299 (WebCore::Widget::setFocus):
12300 * platform/gtk/WidgetGtk.cpp:
12301 (WebCore::Widget::setFocus):
12302 * platform/haiku/WidgetHaiku.cpp:
12303 (WebCore::Widget::setFocus):
12304 * platform/mac/WidgetMac.mm:
12305 (WebCore::Widget::setFocus):
12306 * platform/qt/WidgetQt.cpp:
12307 (WebCore::Widget::setFocus):
12308 * platform/win/WidgetWin.cpp:
12309 (WebCore::Widget::setFocus):
12310 * platform/wx/WidgetWx.cpp:
12311 (WebCore::Widget::setFocus):
12312 * plugins/PluginView.h:
12313 * plugins/PluginViewNone.cpp:
12314 (WebCore::PluginView::setFocus):
12315 * plugins/gtk/PluginViewGtk.cpp:
12316 (WebCore::PluginView::setFocus):
12317 * plugins/mac/PluginViewMac.cpp:
12318 (WebCore::PluginView::setFocus):
12319 * plugins/qt/PluginViewQt.cpp:
12320 (WebCore::PluginView::setFocus):
12321 * plugins/symbian/PluginViewSymbian.cpp:
12322 (WebCore::PluginView::setFocus):
12323 * plugins/win/PluginViewWin.cpp:
12324 (WebCore::PluginView::setFocus):
12326 2010-05-05 Steve Block <steveblock@google.com>
12328 Reviewed by Pavel Feldman.
12330 Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
12331 https://bugs.webkit.org/show_bug.cgi?id=38531
12333 ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer
12334 is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being
12335 built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER).
12337 No new tests, build fix only.
12339 * bindings/v8/ScriptCallStack.cpp:
12340 (WebCore::ScriptCallStack::callLocation):
12341 (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer
12342 (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer
12343 * bindings/v8/ScriptCallStack.h:
12344 (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer
12345 * bindings/v8/ScriptDebugServer.cpp:
12346 * bindings/v8/ScriptDebugServer.h:
12348 2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
12350 Rubber-stamped by Simon Hausmann.
12352 [Qt] REGRESSION(r56869): WinCE build is broken
12353 https://bugs.webkit.org/show_bug.cgi?id=36929
12355 * WebCore.pro: LIBS += -lOle32 added.
12357 2010-05-05 Simon Hausmann <simon.hausmann@nokia.com>
12359 Reviewed by Tor Arne Vestbø.
12361 [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
12363 Fall back to the Phonon backend until the release situation has been cleared up.
12367 2010-05-05 Ilya Tikhonovsky <loislo@chromium.org>
12369 Reviewed by Pavel Feldman.
12371 WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records.
12372 https://bugs.webkit.org/show_bug.cgi?id=38542
12374 * inspector/front-end/TimelinePanel.js:
12375 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
12376 (WebInspector.TimelineRecordListRow):
12377 (WebInspector.TimelineRecordListRow.prototype.update):
12378 (WebInspector.TimelinePanel.FormattedRecord):
12379 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
12380 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
12381 (WebInspector.TimelinePanel.PopupContentHelper):
12382 (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell):
12383 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
12384 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
12385 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
12387 2010-05-05 Nikolas Zimmermann <nzimmermann@rim.com>
12389 Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
12391 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
12393 (webkit_dom_test_callback_callback_with_class1param):
12394 (webkit_dom_test_callback_callback_with_class2param):
12395 (webkit_dom_test_callback_callback_with_non_bool_return_type):
12396 (WebKit::wrapTestCallback):
12398 (webkit_dom_test_callback_finalize):
12399 (webkit_dom_test_callback_set_property):
12400 (webkit_dom_test_callback_get_property):
12401 (webkit_dom_test_callback_class_init):
12402 (webkit_dom_test_callback_init):
12403 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added.
12404 * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added.
12405 * bindings/scripts/test/ObjC/DOMTestCallback.h: Added.
12406 * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added.
12407 (-[DOMTestCallback dealloc]):
12408 (-[DOMTestCallback finalize]):
12409 (-[DOMTestCallback callbackWithClass1Param:]):
12410 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
12411 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
12412 (-[DOMTestCallback customCallback:class6Param:]):
12415 * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
12417 2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
12419 Reviewed by Pavel Feldman.
12421 Web Inspector: FontView needs Cleanup
12422 https://bugs.webkit.org/show_bug.cgi?id=38567
12424 FontView was missing some of the newer practices for initialization
12425 that other Resource Views had. Also its width calculations could
12426 result in a single character wrapping. This is general cleanup.
12428 * inspector/front-end/FontView.js:
12429 (WebInspector.FontView): move initialization into contentTabSelected
12430 (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views
12431 (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing
12433 2010-05-05 Dirk Schulze <krit@webkit.org>
12435 Reviewed by Nikolas Zimmermann.
12437 SVG hit testing is *way* too slow
12438 https://bugs.webkit.org/show_bug.cgi?id=19312
12440 Use the cached stroke and fill boundaries in RenderPath as a heuristik to
12441 speed up SVG's hit testing.
12443 No new tests added.
12445 * rendering/RenderPath.cpp:
12446 (WebCore::RenderPath::fillContains):
12447 (WebCore::RenderPath::strokeContains):
12449 2010-05-04 Dumitru Daniliuc <dumi@chromium.org>
12451 Reviewed by Adam Barth.
12453 Auto-generate all Database callbacks.
12454 https://bugs.webkit.org/show_bug.cgi?id=38503
12456 * DerivedSources.cpp:
12457 * DerivedSources.make:
12462 * WebCore.vcproj/WebCore.vcproj:
12463 * WebCore.xcodeproj/project.pbxproj:
12464 * bindings/js/JSBindingsAllInOne.cpp:
12465 * bindings/js/JSCustomSQLStatementCallback.cpp: Removed.
12466 * bindings/js/JSCustomSQLStatementCallback.h: Removed.
12467 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12468 (WebCore::JSSQLStatementErrorCallback::handleEvent):
12469 * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed.
12470 * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed.
12471 * bindings/js/JSCustomSQLTransactionCallback.h: Removed.
12472 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed.
12473 * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed.
12474 * bindings/js/JSDatabaseCallback.cpp: Removed.
12475 * bindings/js/JSDatabaseCallback.h: Removed.
12476 * bindings/js/JSDatabaseCustom.cpp:
12477 (WebCore::JSDatabase::changeVersion):
12478 (WebCore::createTransaction):
12479 * bindings/js/JSSQLTransactionCustom.cpp:
12480 (WebCore::JSSQLTransaction::executeSql):
12481 * bindings/scripts/CodeGeneratorJS.pm:
12482 * bindings/scripts/test/JS/JSTestCallback.cpp:
12483 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed.
12484 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed.
12485 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
12486 (WebCore::V8SQLStatementErrorCallback::handleEvent):
12487 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed.
12488 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed.
12489 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed.
12490 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed.
12491 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed.
12492 * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
12493 * bindings/v8/custom/V8DatabaseCallback.h: Removed.
12494 * bindings/v8/custom/V8DatabaseCustom.cpp:
12495 (WebCore::V8Database::changeVersionCallback):
12496 (WebCore::createTransaction):
12497 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
12498 (WebCore::V8SQLTransaction::executeSqlCallback):
12499 * storage/DatabaseCallback.h:
12500 * storage/DatabaseCallback.idl: Added.
12501 * storage/SQLStatement.cpp:
12502 (WebCore::SQLStatement::performCallback):
12503 * storage/SQLStatementCallback.h:
12504 * storage/SQLStatementCallback.idl: Added.
12505 * storage/SQLStatementErrorCallback.idl: Added.
12506 * storage/SQLTransaction.cpp:
12507 (WebCore::SQLTransaction::deliverTransactionCallback):
12508 * storage/SQLTransactionCallback.h:
12509 * storage/SQLTransactionCallback.idl: Added.
12510 * storage/SQLTransactionErrorCallback.h:
12511 * storage/SQLTransactionErrorCallback.idl: Added.
12513 2010-05-04 Chris Marrin <cmarrin@apple.com>
12515 Reviewed by Simon Fraser.
12517 Made composited iframes work on Windows
12518 https://bugs.webkit.org/show_bug.cgi?id=32446
12520 This completes the work in http://trac.webkit.org/changeset/57919
12521 to create compositing layers in the parent document when an iframe has
12522 a compositing layer. The parent document has a layer for the iframe
12523 element and builds a layer tree to the page root. The layer tree for the
12524 iframe document is then parented to the iframe element's GraphicsLayer.
12526 The RenderLayerCompositor for the iframe document (which owns the
12527 root of the layer tree) now has a clippingLayer which is the
12528 parent of the layer tree root so it can be clipped to the parent
12529 iframe's bounds, taking into account borders, padding, etc. in
12530 the parent iframe element.
12532 I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
12534 Test: compositing/iframes/composited-parent-iframe.html
12536 * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content
12537 * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element
12538 * rendering/RenderLayerCompositor.h:
12540 2010-05-03 Alexey Proskuryakov <ap@apple.com>
12542 Reviewed by Adam Barth.
12544 https://bugs.webkit.org/show_bug.cgi?id=38497
12545 <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin
12547 This is a hardening fix, and behavior really depends on what an underlying networking layer
12550 * page/SecurityOrigin.cpp:
12551 (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading.
12552 (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities
12553 have the same security origin.
12555 2010-05-04 Zhenyao Mo <zmo@google.com>
12557 Reviewed by Dimitri Glazkov.
12559 getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
12560 https://bugs.webkit.org/show_bug.cgi?id=38236
12562 * html/canvas/CanvasObject.h: Add type check functions.
12563 (WebCore::CanvasObject::isBuffer):
12564 (WebCore::CanvasObject::isFramebuffer):
12565 (WebCore::CanvasObject::isProgram):
12566 (WebCore::CanvasObject::isRenderbuffer):
12567 (WebCore::CanvasObject::isShader):
12568 (WebCore::CanvasObject::isTexture):
12569 * html/canvas/WebGLBuffer.h: Add type check functions.
12570 (WebCore::WebGLBuffer::isBuffer):
12571 * html/canvas/WebGLFramebuffer.h: Add type check functions.
12572 (WebCore::WebGLFramebuffer::isFramebuffer):
12573 * html/canvas/WebGLProgram.h: Add type check functions.
12574 (WebCore::WebGLProgram::isProgram):
12575 * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name.
12576 * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name.
12577 (WebCore::WebGLRenderbuffer::isRenderbuffer):
12578 * html/canvas/WebGLRenderingContext.cpp:
12579 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones.
12580 (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name.
12581 (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name.
12582 * html/canvas/WebGLRenderingContext.h: Add find* functions.
12583 * html/canvas/WebGLShader.h: Add type check functions.
12584 (WebCore::WebGLShader::isShader):
12585 * html/canvas/WebGLTexture.cpp: remove constructor using existing name.
12586 * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name.
12587 (WebCore::WebGLTexture::isTexture):
12589 2010-05-04 Luiz Agostini <luiz.agostini@openbossa.org>
12591 Reviewed by Simon Hausmann.
12593 [Qt] QT_MOBILE_THEME compile time flag
12594 https://bugs.webkit.org/show_bug.cgi?id=38439
12596 Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
12597 USE(QT_MOBILE_THEME).
12600 * platform/qt/RenderThemeQt.cpp:
12601 (WebCore::RenderThemeQt::RenderThemeQt):
12602 (WebCore::RenderThemeQt::qStyle):
12603 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
12604 (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
12605 (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
12606 * platform/qt/RenderThemeQt.h:
12608 2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
12610 Reviewed by Dan Bernstein.
12612 SVG fonts trigger GlyphPage::fill with null font
12613 https://bugs.webkit.org/show_bug.cgi?id=38530
12615 SVG fonts do not use the glyph page cache. This change detects when
12616 attempting to fill a GlyphPage with an SVG font and indicates that
12617 the glyphs were not available.
12619 * platform/graphics/GlyphPageTreeNode.cpp:
12620 (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts
12621 (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate
12623 2010-05-04 Kent Tamura <tkent@chromium.org>
12625 Reviewed by David Levin (and unofficially by Enrica Casucci).
12627 REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
12628 if the text is like a URL
12629 https://bugs.webkit.org/show_bug.cgi?id=38374
12631 Since r54368, documentFragmentFromDragData() creates an <a> element
12632 with no anchor text for URL-like text dragged from input/textarea
12633 element. If such text is dropped to input/textarea element, the text
12635 To fix this problem, use the original text or the URL as an anchor
12638 Test: editing/pasteboard/drag-drop-url-text.html
12640 * page/DragController.cpp:
12641 (WebCore::documentFragmentFromDragData):
12643 2010-05-04 Steve Block <steveblock@google.com>
12645 Reviewed by Darin Adler.
12647 JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong()
12648 https://bugs.webkit.org/show_bug.cgi?id=38525
12650 No new tests, build fix only.
12652 * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC)
12653 * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h
12654 * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h
12656 2010-05-04 Steve Block <steveblock@google.com>
12658 Reviewed by Darin Adler.
12660 New FileSystemPOSIX functions cause linker errors on Android
12661 https://bugs.webkit.org/show_bug.cgi?id=38521
12663 No new tests, build fix only.
12665 * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
12666 * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
12668 2010-05-04 Pavel Feldman <pfeldman@chromium.org>
12670 Reviewed by Timothy Hatcher.
12672 Web Inspector: restore main and sidebar scroller positions
12673 when switching between panels.
12675 https://bugs.webkit.org/show_bug.cgi?id=38522
12677 * inspector/front-end/ElementsPanel.js:
12678 (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor):
12679 * inspector/front-end/Panel.js:
12680 (WebInspector.Panel.prototype.show):
12681 (WebInspector.Panel.prototype.hide):
12682 (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor):
12683 (WebInspector.Panel.prototype._storeScrollPositions):
12684 (WebInspector.Panel.prototype._restoreScrollPositions):
12685 * inspector/front-end/ResourcesPanel.js:
12686 (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
12687 * inspector/front-end/ScriptsPanel.js:
12688 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
12690 2010-05-04 Steven Lai <steven_lai@asia.apple.com>
12692 Reviewed by Darin Adler.
12694 https://bugs.webkit.org/show_bug.cgi?id=37900
12695 <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits
12697 Tests: fast/dom/HTMLInputElement/clone-input-checked.html
12698 fast/dom/clone-node-z-index.html
12700 * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes()
12701 (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree
12702 * html/HTMLInputElement.cpp:
12703 (WebCore::HTMLInputElement::updateCheckedRadioButtons):
12704 (WebCore::HTMLInputElement::attach):
12705 (WebCore::HTMLInputElement::setChecked):
12706 * html/HTMLInputElement.h:
12708 2010-04-29 John Gregg <johnnyg@google.com>
12710 Reviewed by Dmitry Titov.
12712 notifications should have dir and replaceId attributes.
12713 Note that tests are only enabled in Chromium, skipped elsewhere
12714 since notifications aren't implemented.
12715 https://bugs.webkit.org/show_bug.cgi?id=38336
12717 Tests: fast/notifications/notifications-replace.html
12718 fast/notifications/notifications-rtl.html
12720 * notifications/Notification.h:
12721 (WebCore::Notification::dir):
12722 (WebCore::Notification::setDir):
12723 (WebCore::Notification::replaceId):
12724 (WebCore::Notification::setReplaceId):
12725 * notifications/Notification.idl:
12727 2010-05-04 Alejandro G. Castro <alex@igalia.com>
12729 Reviewed by Xan Lopez.
12731 Fixed error defining the float/double minimum in the object
12732 properties, the smallest value of a float/double is
12733 -G_MAXDOUBLE/-G_MAXFLOAT.
12735 * bindings/scripts/CodeGeneratorGObject.pm:
12737 2010-05-03 Joseph Pecoraro <joepeck@webkit.org>
12739 Reviewed by Dan Bernstein.
12741 REGRESSION: Text clipped in absolutely positioned search inputs
12742 https://bugs.webkit.org/show_bug.cgi?id=38468
12744 Previously I incorrectly added x() and y() to the tx and ty positioning.
12745 This clips a search input like a text input, respecting the vertically
12748 * rendering/RenderTextControlSingleLine.cpp:
12749 (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
12750 (WebCore::RenderTextControlSingleLine::controlClipRect):
12752 2010-05-04 Alexander Pavlov <apavlov@chromium.org>
12754 Reviewed by Timothy Hatcher.
12756 Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties
12757 https://bugs.webkit.org/show_bug.cgi?id=38516
12759 * inspector/front-end/StylesSidebarPane.js:
12760 (WebInspector.StylePropertyTreeElement.prototype):
12762 2010-05-04 Ben Murdoch <benm@google.com>
12764 Reviewed by Simon Hausmann.
12766 Crash in handleTouchEvent: using dangling node ptrs in hashmap
12767 https://bugs.webkit.org/show_bug.cgi?id=38514
12769 When navigating away from a page, if you have your finger still
12770 pressed and then lift it on the new page we see a crash if the
12771 node got deleted as we still have a dangling pointer in the
12772 m_originatingTouchPointTargets hashmap and try to use it as the
12773 receiver to dispatch a touchend event.
12775 Test: fast/events/touch/touch-stale-node-crash.html
12777 * page/EventHandler.cpp:
12778 (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
12780 2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
12782 Reviewed by Pavel Feldman.
12784 Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
12785 https://bugs.webkit.org/show_bug.cgi?id=38510
12787 * inspector/front-end/inspector.js:
12788 (WebInspector.set attached): resize the drawer after docking/undocking
12790 2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
12792 Unreviewed, build fix for Symbian.
12794 [Symbian] Build fix after r58598.
12796 Use C99 integer types for the Symbian plugin
12799 No new tests, as there is no new functionality.
12801 * plugins/symbian/PluginPackageSymbian.cpp:
12802 (WebCore::PluginPackage::NPVersion):
12803 * plugins/symbian/PluginViewSymbian.cpp:
12804 (WebCore::PluginView::handlePostReadFile):
12806 2010-05-04 Nikolas Zimmermann <nzimmermann@rim.com>
12808 Reviewed by Dirk Schulze.
12810 Split SVGCharacterLayoutInfo in smaller pieces
12811 https://bugs.webkit.org/show_bug.cgi?id=38513
12813 Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
12814 This is a preparation for more work in the text area.
12816 * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build.
12817 * GNUmakefile.am: Ditto.
12818 * WebCore.gypi: Ditto.
12819 * WebCore.pro: Ditto
12820 * WebCore.vcproj/WebCore.vcproj: Ditto.
12821 * WebCore.xcodeproj/project.pbxproj: Ditto.
12822 * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp.
12823 * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h.
12824 (WebCore::SVGChar::SVGChar):
12825 * rendering/SVGCharacterLayoutInfo.cpp:
12826 (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent.
12827 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function.
12828 (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto
12829 * rendering/SVGCharacterLayoutInfo.h:
12830 * rendering/SVGRootInlineBox.h: Include new files.
12831 * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h.
12833 2010-05-04 Xan Lopez <xlopez@igalia.com>
12835 Reviewed by Holger Freyther.
12837 [GTK] GObject DOM bindings
12838 https://bugs.webkit.org/show_bug.cgi?id=33590
12840 Use helper functions from CodeGenerator.pm to figure out whether a
12841 type is "fundamental" or not (basically whether it's anything
12842 other than a string or a non-pointer type).
12844 * bindings/scripts/CodeGeneratorGObject.pm:
12846 2010-04-30 Alexander Pavlov <apavlov@chromium.org>
12848 Reviewed by Yury Semikhatsky.
12850 Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened
12851 https://bugs.webkit.org/show_bug.cgi?id=38255
12853 Moved stylesheet-related mappings into a separate object stored
12854 in InspectorController rather than InspectorDOMAgent (which gets reset
12855 on every frontend [dis]connect).
12860 * WebCore.vcproj/WebCore.vcproj:
12861 * WebCore.xcodeproj/project.pbxproj:
12862 * inspector/InspectorCSSStore.cpp: Added.
12863 (WebCore::InspectorCSSStore::InspectorCSSStore):
12864 (WebCore::InspectorCSSStore::~InspectorCSSStore):
12865 (WebCore::InspectorCSSStore::reset):
12866 * inspector/InspectorCSSStore.h: Added.
12867 * inspector/InspectorController.cpp:
12868 (WebCore::InspectorController::InspectorController):
12869 (WebCore::InspectorController::setFrontend):
12870 (WebCore::InspectorController::didCommitLoad):
12871 * inspector/InspectorController.h:
12872 * inspector/InspectorDOMAgent.cpp:
12873 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
12874 (WebCore::InspectorDOMAgent::discardBindings):
12875 (WebCore::InspectorDOMAgent::applyStyleText):
12876 (WebCore::InspectorDOMAgent::setStyleText):
12877 (WebCore::InspectorDOMAgent::setStyleProperty):
12878 (WebCore::InspectorDOMAgent::toggleStyleEnabled):
12879 (WebCore::InspectorDOMAgent::setRuleSelector):
12880 (WebCore::InspectorDOMAgent::addRule):
12881 (WebCore::InspectorDOMAgent::bindStyle):
12882 (WebCore::InspectorDOMAgent::bindRule):
12883 (WebCore::InspectorDOMAgent::buildObjectForStyle):
12884 (WebCore::InspectorDOMAgent::buildObjectForRule):
12885 * inspector/InspectorDOMAgent.h:
12886 (WebCore::InspectorDOMAgent::create):
12887 (WebCore::InspectorDOMAgent::cssStore):
12889 2010-05-04 Mikhail Naganov <mnaganov@chromium.org>
12891 Reviewed by Pavel Feldman.
12893 Display "Recording..." item when recording an user-initiated CPU profile.
12895 https://bugs.webkit.org/show_bug.cgi?id=38043
12897 * English.lproj/localizedStrings.js:
12898 * inspector/front-end/ProfilesPanel.js:
12899 (WebInspector.ProfilesPanel.prototype.addProfileHeader):
12900 (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
12901 (WebInspector.ProfilesPanel.prototype.showProfile):
12902 * inspector/front-end/inspector.js:
12903 (WebInspector.setRecordingProfile):
12905 2010-05-04 Tucker Jay <jay.tucker@nokia.com>
12907 Reviewed by Holger Freyther.
12909 Animated GIF images does not animate 10x as expected by default.
12910 https://bugs.webkit.org/show_bug.cgi?id=36818
12912 Added test case to existing manual test to test the
12913 fixed functionality.
12915 * manual-tests/qt/qt-10loop-anim.gif: Added.
12916 * manual-tests/qt/qt-gif-test.html:
12917 * platform/graphics/qt/ImageDecoderQt.cpp:
12918 (WebCore::ImageDecoderQt::repetitionCount):
12920 2010-05-04 Dirk Schulze <krit@webkit.org>
12922 Unreviewed sort of XCodes project file.
12924 * WebCore.xcodeproj/project.pbxproj:
12926 2010-05-03 Steven Lai <steven_lai@asia.apple.com>
12928 Reviewed by Brady Eidson.
12930 Reverted hashchange() event back to async.
12931 (This change does not update HashChangeEvent to its new proposed interface)
12932 https://bugs.webkit.org/show_bug.cgi?id=36201
12933 rdar://problem/7780794
12934 rdar://problem/7761278 (partial fix)
12936 Tests: fast/loader/hashchange-event-async.html
12938 * dom/Document.cpp: reverted hashchange() event back to async
12939 (WebCore::Document::enqueueHashchangeEvent):
12941 2010-05-03 Holger Hans Peter Freyther <zecke@selfish.org>
12943 Rubber-stamped by Xan Lopez.
12945 [Cairo,WX] Stop leaking a FontPlatformData.
12946 https://bugs.webkit.org/show_bug.cgi?id=37500
12948 Stephan Aßmus pointed out that the pango font backend
12949 is leaking memory and fixed it. The WX font backend
12950 and the Cairo/Fontconfig backend have the same snippet
12951 of code and are leaking memory as well. This commit is
12954 * platform/graphics/cairo/SimpleFontDataCairo.cpp:
12955 (WebCore::SimpleFontData::smallCapsFontData):
12956 * platform/graphics/wx/SimpleFontDataWx.cpp:
12957 (WebCore::SimpleFontData::smallCapsFontData):
12959 2010-05-03 James Robinson <jamesr@chromium.org>
12961 Reviewed by Eric Seidel.
12963 Clean up a few compiler warnings
12964 https://bugs.webkit.org/show_bug.cgi?id=38073
12966 * html/TextMetrics.h:
12967 (WebCore::TextMetrics::width):
12968 * rendering/style/StyleRareInheritedData.h:
12969 * rendering/style/StyleRareNonInheritedData.h:
12971 2010-05-02 Dumitru Daniliuc <dumi@chromium.org>
12973 Reviewed by Adam Barth.
12975 Add the ability to auto-generate callbacks to all code generators.
12976 https://bugs.webkit.org/show_bug.cgi?id=38414
12978 * bindings/scripts/CodeGeneratorJS.pm:
12979 * bindings/scripts/CodeGeneratorV8.pm:
12980 * bindings/scripts/test/JS/JSTestCallback.cpp: Added.
12981 (WebCore::JSTestCallback::JSTestCallback):
12982 (WebCore::JSTestCallback::~JSTestCallback):
12983 (WebCore::JSTestCallback::callbackWithClass1Param):
12984 (WebCore::JSTestCallback::callbackWithClass2Param):
12985 * bindings/scripts/test/JS/JSTestCallback.h: Added.
12986 (WebCore::JSTestCallback::create):
12987 * bindings/scripts/test/V8/JSTestCallback.cpp: Added.
12988 (WebCore::V8TestCallback::V8TestCallback):
12989 (WebCore::V8TestCallback::~V8TestCallback):
12990 (WebCore::V8TestCallback::callbackWithClass1Param):
12991 (WebCore::V8TestCallback::callbackWithClass2Param):
12992 * bindings/scripts/test/V8/V8TestCallback.h: Added.
12993 (WebCore::V8TestCallback::create):
12994 * bindings/scripts/test/TestCallback.idl: Added.
12996 2010-05-03 Kevin Watters <kevinwatters@gmail.com>
12998 Reviewed by Kevin Ollivier.
13000 [wx] Build and use Mac's ComplexTextController to support complex text in wx.
13001 https://bugs.webkit.org/show_bug.cgi?id=38482
13003 * platform/graphics/FloatSize.h:
13004 * platform/graphics/GlyphBuffer.h:
13005 (WebCore::GlyphBuffer::advanceAt):
13006 (WebCore::GlyphBuffer::add):
13007 * platform/graphics/SimpleFontData.h:
13008 (WebCore::SimpleFontData::getNSFont):
13009 * platform/graphics/mac/ComplexTextController.cpp:
13010 * platform/graphics/mac/ComplexTextController.h:
13011 * platform/graphics/wx/FontCacheWx.cpp:
13012 (WebCore::FontCache::getFontDataForCharacters):
13013 (WebCore::FontCache::getLastResortFallbackFont):
13014 * platform/graphics/wx/FontPlatformData.h:
13016 (WebCore::FontPlatformData::FontPlatformData):
13017 (WebCore::FontPlatformData::allowsLigatures):
13018 * platform/graphics/wx/FontPlatformDataWx.cpp:
13019 (WebCore::FontPlatformData::FontPlatformData):
13020 (WebCore::FontPlatformData::cgFont):
13021 * platform/graphics/wx/FontPlatformDataWxMac.mm: Added.
13022 (WebCore::FontPlatformData::nsFont):
13023 (WebCore::FontPlatformData::cacheNSFont):
13024 * platform/graphics/wx/FontWx.cpp:
13025 (WebCore::Font::canReturnFallbackFontsForComplexText):
13026 (WebCore::Font::selectionRectForComplexText):
13027 (WebCore::Font::drawComplexText):
13028 (WebCore::Font::floatWidthForComplexText):
13029 (WebCore::Font::offsetForPositionForComplexText):
13030 * platform/graphics/wx/SimpleFontDataWx.cpp:
13031 (WebCore::SimpleFontData::platformInit):
13032 (WebCore::SimpleFontData::containsCharacters):
13033 (WebCore::SimpleFontData::platformWidthForGlyph):
13034 * platform/wx/wxcode/fontprops.h:
13035 * platform/wx/wxcode/mac/carbon/fontprops.mm:
13036 (wxFontContainsCharacters):
13038 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
13039 (WebCore::drawTextWithSpacing):
13040 * platform/wx/wxcode/win/fontprops.cpp:
13041 (wxFontContainsCharacters):
13044 2010-05-03 Abhishek Arya <inferno@chromium.org>
13046 Reviewed by Adam Barth.
13048 Add support for controlling clipboard access from javascript.
13049 Clipboard access from javascript is disabled by default.
13050 https://bugs.webkit.org/show_bug.cgi?id=27751
13052 Test: editing/execCommand/clipboard-access.html
13054 * WebCore.base.exp:
13055 * editing/EditorCommand.cpp:
13056 (WebCore::supportedCopyCut):
13057 (WebCore::supportedPaste):
13058 (WebCore::createCommandMap):
13059 * page/Settings.cpp:
13060 (WebCore::Settings::Settings):
13061 (WebCore::Settings::setJavaScriptCanAccessClipboard):
13063 (WebCore::Settings::javaScriptCanAccessClipboard):
13065 2010-05-03 Alexey Proskuryakov <ap@apple.com>
13067 Reviewed by Adam Barth.
13069 https://bugs.webkit.org/show_bug.cgi?id=38285
13070 <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab
13072 Cannot be tested, because new windows created in DRT always have an opener, and thus inherit
13073 its security origin. Only new windows and tabs created by browser chrome had this problem.
13075 * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
13076 the beginning, so that an initial document would get correct flags.
13078 2010-05-03 Noam Rosenthal <noam.rosenthal@nokia.com>
13080 Reviewed by Darin Adler.
13082 WebGL compile issue.
13083 Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing.
13084 https://bugs.webkit.org/show_bug.cgi?id=38453
13086 No new tests: compile fix.
13088 * bindings/js/JSWebGLArrayBufferConstructor.cpp:
13090 2010-05-03 Eric Seidel <eric@webkit.org>
13092 Unreviewed, rolling out r58685.
13093 http://trac.webkit.org/changeset/58685
13094 https://bugs.webkit.org/show_bug.cgi?id=38461
13096 Broke a test on Gtk
13098 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13099 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
13101 2010-05-03 Yael Aharon <yael.aharon@nokia.com>
13103 Reviewed by Darin Adler.
13105 Use HTML5 number parsing in HTMLProgressElement
13106 https://bugs.webkit.org/show_bug.cgi?id=38434
13108 Use parseToDoubleForNumberType instead of toDouble.
13109 Throw an exception when the number is NaN or Infinity.
13111 * html/HTMLProgressElement.cpp:
13112 (WebCore::HTMLProgressElement::value):
13113 (WebCore::HTMLProgressElement::setValue):
13114 (WebCore::HTMLProgressElement::max):
13115 (WebCore::HTMLProgressElement::setMax):
13116 * html/HTMLProgressElement.h:
13117 * html/HTMLProgressElement.idl:
13119 2010-05-03 Jens Alfke <snej@chromium.org>
13121 Reviewed by Darin Fisher.
13123 [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
13124 https://bugs.webkit.org/show_bug.cgi?id=38397
13126 No tests (functionality is exposed only through native WebKit API.)
13128 * html/HTMLFormElement.cpp:
13129 (WebCore::HTMLFormElement::prepareSubmit): Call frame loader's dispatchWillSendSubmitEvent
13130 * loader/EmptyClients.h:
13131 * loader/FrameLoaderClient.h:
13132 (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent): New empty method
13134 2010-05-03 Philippe Normand <pnormand@igalia.com>
13136 Reviewed by Eric Carlson.
13138 [GStreamer] forgotten call to durationChanged in updateStates()
13139 https://bugs.webkit.org/show_bug.cgi?id=38461
13141 Notify MediaPlayer if duration is known after playback started.
13143 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13144 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
13146 2010-05-03 Ryuan Choi <ryuan.choi@gmail.com>
13148 Reviewed by Darin Adler.
13150 fixing build break due to clearWatch() when Geolocation feature is
13153 https://bugs.webkit.org/show_bug.cgi?id=38091
13155 no test because this is a build fix only
13157 * page/Geolocation.cpp:
13158 (WebCore::Geolocation::clearWatch):
13160 2010-05-03 Stephan Aßmus <superstippi@gmx.de>
13162 Reviewed by Holger Freyther.
13164 [Gtk] Fix leaking the FontPlatformData instance used to create the the
13165 small caps font data.
13166 https://bugs.webkit.org/show_bug.cgi?id=37500
13168 No new tests needed.
13170 * platform/graphics/gtk/SimpleFontDataPango.cpp:
13171 (WebCore::SimpleFontData::smallCapsFontData):
13172 - Use a stack allocated FontPlatformData instead of a heap allocated
13173 one that is never freed.
13175 2010-05-03 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
13177 Reviewed by Simon Hausmann.
13179 [Qt] GraphicsLayer: support webGL
13180 https://bugs.webkit.org/show_bug.cgi?id=35388
13182 Added support GraphicsContext3D to GraphicsLayer.
13183 Added paint method to GraphicsContext3D for Qt platform that
13184 uses drawTexture() when QGLWidget is used as viewport of
13186 Fine-tuned texture and handling and image to texture conversion to
13187 work also when drawTexture() blitting is used.
13189 * platform/graphics/GraphicsContext3D.h:
13190 * platform/graphics/qt/GraphicsContext3DQt.cpp:
13191 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
13192 (WebCore::GraphicsContext3D::beginPaint):
13193 (WebCore::GraphicsContext3D::paint):
13194 (WebCore::GraphicsContext3D::texImage2D):
13195 (WebCore::GraphicsContext3D::texSubImage2D):
13196 (WebCore::GraphicsContext3D::getImageData):
13197 * platform/graphics/qt/GraphicsLayerQt.cpp:
13198 (WebCore::GraphicsLayerQtImpl::):
13199 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
13200 (WebCore::GraphicsLayerQtImpl::paint):
13201 (WebCore::GraphicsLayerQtImpl::flushChanges):
13202 (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D):
13203 (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay):
13204 * platform/graphics/qt/GraphicsLayerQt.h:
13206 2010-05-03 Janne Koskinen <janne.p.koskinen@digia.com>
13208 Reviewed by Simon Hausmann.
13210 [Qt] Fix qtlibraryinfix not to contain space
13212 List catenation with += adds whitespace cutting the infix
13213 from the final target.
13217 2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
13219 Reviewed by Simon Hausmann.
13221 [Qt] Fix rendering of <button> elements on Mac OS X
13223 The <button> element has ButtonPart appearance, not PushButton part,
13224 so we have to include ButtonPart when we decide if we should draw the
13225 button as raised on Mac OS X.
13227 https://bugs.webkit.org/show_bug.cgi?id=38458
13229 * platform/qt/RenderThemeQt.cpp:
13230 (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
13232 2010-04-30 Philippe Normand <pnormand@igalia.com>
13234 Reviewed by Eric Seidel.
13236 [GStreamer] endless loop after playback ended
13237 https://bugs.webkit.org/show_bug.cgi?id=38384
13239 At playback end ensure duration() will return a valid duration if
13240 we managed to calculate it based on current position.
13242 Test: media/video-duration-known-after-eos.html
13244 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13245 (WebCore::MediaPlayerPrivateGStreamer::didEnd):
13247 2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
13249 [Qt] Fix build break on Mac OS X
13251 * plugins/mac/PluginPackageMac.cpp: Use correct type
13252 * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
13254 2010-05-03 Thomas Zander <t.zander@nokia.com>
13256 Reviewed by Simon Hausmann.
13258 [Qt] Fix library infix usage when compiling inside of Qt
13260 Don't apply the infix when building inside Qt, as that's done through the
13261 inclusion of qbase.pri.
13265 2010-05-02 Dan Bernstein <mitz@apple.com>
13267 Reviewed by Simon Fraser.
13269 Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
13270 https://bugs.webkit.org/show_bug.cgi?id=38445
13272 Test: editing/selection/mixed-editability-11.html
13274 * dom/Position.cpp:
13275 (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent
13276 position downstream, crossing any editability boundaries.
13277 (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream.
13278 (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions
13279 whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as
13280 possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way
13281 and checking that the new position is different from the starting position. Also replaced the specific
13282 test for buttons with the generic and more comprehensive canHaveChildrenForEditing().
13284 2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
13286 Reviewed by Simon Hausmann.
13288 [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
13289 https://bugs.webkit.org/show_bug.cgi?id=38324
13291 * platform/network/NetworkStateNotifier.h:
13292 * platform/network/qt/NetworkStateNotifierQt.cpp:
13294 2010-04-29 Janne Koskinen <janne.p.koskinen@digia.com>
13296 Reviewed by Simon Hausmann.
13298 [Qt] QtWebKit versioning added
13299 https://bugs.webkit.org/show_bug.cgi?id=37207
13301 QtWebkit releases separated from Qt release cycle.
13305 2010-05-02 Joseph Pecoraro <joepeck@webkit.org>
13307 Reviewed by Timothy Hatcher.
13309 Web Inspector: Old Style trimWhitespace() should be trim()
13310 https://bugs.webkit.org/show_bug.cgi?id=38441
13312 * inspector/front-end/SourceFrame.js:
13313 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
13315 2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
13317 Reviewed by Simon Hausmann.
13319 [Qt] Fix compilation with QT_NO_LINEEDIT
13320 https://bugs.webkit.org/show_bug.cgi?id=38324
13322 * platform/qt/RenderThemeQt.cpp:
13323 (WebCore::RenderThemeQt::~RenderThemeQt):
13324 (WebCore::RenderThemeQt::findFrameLineWidth):
13326 2010-05-02 Pavel Feldman <pfeldman@chromium.org>
13328 Not reviewed: Touch inspector controller to kick windows tests.
13330 * inspector/InspectorController.cpp:
13332 2010-05-02 Pavel Feldman <pfeldman@chromium.org>
13334 Reviewed by Timothy Hatcher.
13336 Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
13338 https://bugs.webkit.org/show_bug.cgi?id=38432
13340 * inspector/front-end/ElementsTreeOutline.js:
13341 (WebInspector.ElementsTreeOutline.prototype._onmousemove):
13342 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
13343 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
13344 (WebInspector.ElementsTreeElement.prototype.updateTitle):
13345 (WebInspector.ElementsTreeElement.prototype._attributeHTML):
13348 2010-05-02 Dirk Schulze <krit@webkit.org>
13350 Reviewed by Nikolas Zimmermann.
13352 SVG hkern implementation incomplete
13353 https://bugs.webkit.org/show_bug.cgi?id=38407
13355 Test: svg/text/text-hkern.svg
13357 The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
13359 The new implementation supports all glyph and unicode combinations that are allowed by the Spec
13360 and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
13361 SVGParserUtilities.
13362 Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
13363 hkern support for text on path is missing and will be added by a following patch.
13364 Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
13366 * rendering/SVGRootInlineBox.cpp:
13367 (WebCore::calculateCSSKerning):
13368 (WebCore::applySVGKerning):
13369 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
13370 * svg/SVGFontElement.cpp:
13371 (WebCore::stringMatchesUnicodeRange):
13372 (WebCore::stringMatchesGlyphName):
13373 (WebCore::matches):
13374 (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
13375 * svg/SVGFontElement.h:
13376 * svg/SVGHKernElement.cpp:
13377 (WebCore::SVGHKernElement::buildHorizontalKerningPair):
13378 * svg/SVGHKernElement.h:
13379 * svg/SVGParserUtilities.cpp:
13380 (WebCore::parseGlyphName):
13381 (WebCore::parseUnicodeRange):
13382 (WebCore::parseKerningUnicodeString):
13383 * svg/SVGParserUtilities.h:
13385 2010-05-02 Pavel Feldman <pfeldman@chromium.org>
13387 Reviewed by Timothy Hatcher.
13389 Web Inspector: debugger shortcuts are processed twice if source frame has focus.
13391 https://bugs.webkit.org/show_bug.cgi?id=38431
13393 * inspector/front-end/SourceFrame.js:
13394 (WebInspector.SourceFrame):
13395 (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
13397 2010-05-02 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
13399 Reviewed by Eric Seidel.
13401 [Qt] Build error in GraphicsContext3DQt.cpp
13402 https://bugs.webkit.org/show_bug.cgi?id=38382
13404 Removed duplicate implementation of isGLES2Compliant from
13405 GraphicsContext3DQt.cpp. Removed deprecated API stuff for
13406 texImage2D/texSubImage2D.
13407 * platform/graphics/qt/GraphicsContext3DQt.cpp:
13409 2010-05-02 Garret Kelly <gdk@chromium.org>
13411 Reviewed by David Levin.
13413 Make the Touch RuntimeEnabledFeature disabled by default.
13414 https://bugs.webkit.org/show_bug.cgi?id=38392
13416 * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
13418 2010-05-02 Michael Nordman <michaeln@google.com>
13420 Reviewed by Dmitry Titov.
13422 Define two new ResourceRequestBase TargetTypes for worker and shared worker
13423 main resources. Use the new target types where appropiate. Add logic to marshal
13424 the target type specified by requests initiated on a background worker thread.
13426 https://bugs.webkit.org/show_bug.cgi?id=38295
13428 No new tests. This doesn't have script visible artifacts.
13430 * platform/network/ResourceRequestBase.cpp: marshal the values
13431 (WebCore::ResourceRequestBase::adopt):
13432 (WebCore::ResourceRequestBase::copyData):
13433 * platform/network/ResourceRequestBase.h: define the types
13434 (WebCore::ResourceRequestBase::):
13435 * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
13436 (WebCore::SharedWorkerScriptLoader::load):
13437 * workers/Worker.cpp: use TargetIsWorker
13438 (WebCore::Worker::Worker):
13439 * workers/WorkerContext.cpp: use TargetIsScript for importScripts
13440 (WebCore::WorkerContext::importScripts):
13441 * workers/WorkerScriptLoader.cpp: add a data member for the target type
13442 (WebCore::WorkerScriptLoader::WorkerScriptLoader):
13443 (WebCore::WorkerScriptLoader::createResourceRequest):
13444 * workers/WorkerScriptLoader.h:
13446 2010-05-02 Noam Rosenthal <noam.rosenthal@nokia.com>
13448 Reviewed by Adele Peterson.
13450 Webkit doesn't compile with 3D-canvas enabled and video disabled
13451 https://bugs.webkit.org/show_bug.cgi?id=38297
13453 Added a #ifdef ENABLE(VIDEO) to WebGL code
13455 No new tests: compile fix.
13457 * bindings/js/JSWebGLRenderingContextCustom.cpp:
13458 (WebCore::JSWebGLRenderingContext::texImage2D):
13459 (WebCore::JSWebGLRenderingContext::texSubImage2D):
13461 2010-05-01 Evan Stade <estade@chromium.org>
13463 Reviewed by David Levin.
13465 [chromium] Skia needs to fade DragImages
13466 https://bugs.webkit.org/show_bug.cgi?id=38008
13468 tested by DragImageTest
13470 * platform/chromium/DragImageChromiumSkia.cpp:
13471 (WebCore::dissolveDragImageToFraction):implement
13472 (WebCore::createDragImageFromImage):deep copy instead of shallow
13474 2010-05-01 Maciej Stachowiak <mjs@apple.com>
13476 Reviewed by Sam Weinig.
13478 REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
13479 https://bugs.webkit.org/show_bug.cgi?id=38422
13480 <rdar://problem/7921778>
13483 manual-tests/visited-link-new-window.html
13485 * css/CSSStyleSelector.cpp:
13486 (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
13487 when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
13488 to avoid caching the visited link state beyond the scope of a single style lookup.
13489 (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
13490 (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
13491 * css/CSSStyleSelector.h:
13492 (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
13493 can't accidentally be called from outside CSSStyleSelector itself.
13494 (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
13495 * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
13496 to make an automated test that supports visited link coloring.
13498 2010-05-01 Yael Aharon <yael.aharon@nokia.com>
13500 Reviewed by Darin Adler.
13502 Move number parsing code out of HTMLInputElement.
13503 https://bugs.webkit.org/show_bug.cgi?id=38203
13505 The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
13506 No new tests as no new functionality was introduced.
13508 * html/HTMLInputElement.cpp:
13509 * html/HTMLInputElement.h:
13510 * html/HTMLParser.cpp:
13511 (WebCore::serializeForNumberType):
13512 (WebCore::parseToDoubleForNumberType):
13513 * html/HTMLParser.h:
13514 * html/StepRange.cpp:
13515 (WebCore::StepRange::clampValue):
13516 (WebCore::StepRange::valueFromElement):
13517 * html/ValidityState.cpp:
13518 (WebCore::ValidityState::typeMismatch):
13519 * rendering/RenderSlider.cpp:
13520 (WebCore::RenderSlider::setValueForPosition):
13522 2010-05-01 Xan Lopez <xlopez@igalia.com>
13524 Reviewed by Oliver Hunt.
13526 [GTK] GObject DOM bindings
13527 https://bugs.webkit.org/show_bug.cgi?id=33590
13529 Unify more logic to skip functions into SkipFunction, and
13530 whitelist the two [Custom] methods in HTMLCollection.idl.
13532 * bindings/scripts/CodeGeneratorGObject.pm:
13534 2010-05-01 Robert Hogan <robert@webkit.org>
13536 Reviewed by Simon Hausmann.
13538 [Qt] Add smart paste support
13540 https://bugs.webkit.org/show_bug.cgi?id=38136
13543 * editing/qt/SmartReplaceQt.cpp: Added.
13544 (WebCore::isCharacterSmartReplaceExempt):
13545 * platform/qt/PasteboardQt.cpp:
13546 (WebCore::Pasteboard::writeSelection):
13547 (WebCore::Pasteboard::canSmartReplace):
13549 2010-04-30 Yoshiki Hayashi <yhayashi@google.com>
13551 Reviewed by Shinichiro Hamaji.
13553 https://bugs.webkit.org/show_bug.cgi?id=38249
13555 Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
13557 Test: fast/flexbox/child-flexing.html
13559 * rendering/RenderFlexibleBox.cpp:
13560 (WebCore::RenderFlexibleBox::allowedChildFlex):
13562 2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
13564 Reviewed by Darin Adler.
13566 Add layoutTestController.setPrinting()
13567 https://bugs.webkit.org/show_bug.cgi?id=37203
13569 Use the renderer's width insteead of screen's width as the width of
13570 a screen depends on machines.
13572 * rendering/RenderTreeAsText.cpp:
13573 (WebCore::externalRepresentation):
13575 2010-04-30 Joseph Pecoraro <joepeck@webkit.org>
13577 Reviewed by Timothy Hatcher.
13579 Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
13580 https://bugs.webkit.org/show_bug.cgi?id=38366
13582 Console::lastWMLErrorMessage is only available if WML is enabled, however
13583 its implementation only makes sense as long as INSPECTOR is enabled
13584 as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
13585 browser without ENABLE(INSPECTOR) will always get an empty result.
13587 * page/Console.cpp:
13589 2010-04-28 Joseph Pecoraro <joepeck@webkit.org>
13591 Reviewed by Oliver Hunt.
13593 REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
13594 https://bugs.webkit.org/show_bug.cgi?id=38253
13596 Test: fast/css/input-search-padding.html
13598 An <input type="search"> contains an inner block, which is explicitly
13599 centered in RenderTextControlSingleLine based on the height of the element.
13600 However, the clipping rect was not using the set location, and instead
13601 calculated off of the top border and padding alone. This also vertically
13602 centers the Caps Lock indicator.
13604 * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
13605 * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
13606 * rendering/RenderTextControlSingleLine.cpp:
13607 (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
13608 (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
13609 * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
13611 2010-04-30 Jon Honeycutt <jhoneycutt@apple.com>
13613 Caret may fail to blink if a focus handler brings up a modal dialog
13614 https://bugs.webkit.org/show_bug.cgi?id=38372
13616 Reviewed by Darin Adler.
13618 * manual-tests/onfocus-alert-blinking-caret.html: Added.
13620 * page/EventHandler.cpp:
13621 (WebCore::EventHandler::handleMousePressEvent):
13622 Moved the call to setCaretBlinkingSuspended() from here...
13623 (WebCore::EventHandler::handleMousePressEvent):
13624 ... to here. This makes us suspend caret blinking before dispatching the
13625 mouse down event. If dispatching the mouse down event allows the message
13626 loop to run, we want mouse up events received in that message loop to be
13627 able to resume caret blinking.
13628 (WebCore::EventHandler::lostMouseCapture):
13629 We've lost mouse capture and won't be notified of mouse up events;
13630 resume caret blinking.
13632 * page/EventHandler.h:
13633 Declare lostMouseCapture().
13635 2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
13637 Unreviewed, build fix.
13639 [Chromium] Added a simple IdentifierRep struct and removed dependency on
13642 * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
13644 2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
13646 Unreviewed, build fix.
13648 [Chromium] Remove bridge/ from include paths.
13650 * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
13652 2010-04-30 Abhishek Arya <inferno@chromium.org>
13654 Reviewed by David Kilzer.
13656 Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
13657 Eliminated unused m_dragInitiator accessor to prevent dereferencing.
13658 https://bugs.webkit.org/show_bug.cgi?id=37618
13660 Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
13662 * page/DragController.cpp:
13663 (WebCore::DragController::tryDocumentDrag):
13664 (WebCore::DragController::concludeEditDrag):
13665 * page/DragController.h:
13666 (WebCore::DragController::draggingImageURL):
13667 (WebCore::DragController::documentUnderMouse):
13669 2010-04-29 James Robinson <jamesr@chromium.org>
13671 Reviewed by Simon Fraser.
13673 Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
13674 https://bugs.webkit.org/show_bug.cgi?id=38286
13676 When a ScrollView's scroll position is changed, we have to call
13677 FrameView::scrollPositionChanged to generate repaint invalidation for
13678 fixed position elements. This ends up getting called indirectly when
13679 the ScrollView has a platformWidget through the port layer
13680 (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
13681 port does it) but not when there is no platformWidget.
13683 This is tested by the fast/repaint/fixed-* tests when run in pixel
13686 Test: fast/repaint/fixed-move-after-keyboard-scroll.html
13688 * page/FrameView.h:
13689 * platform/ScrollView.cpp:
13690 (WebCore::ScrollView::valueChanged):
13691 * platform/ScrollView.h:
13692 (WebCore::ScrollView::scrollPositionChanged):
13694 2010-04-30 Anders Carlsson <andersca@apple.com>
13696 Reviewed by Darin Adler.
13698 Use C99 integer types in more places.
13700 * manual-tests/NPN_Invoke/main.c:
13706 (functionPointerForTVector):
13707 * plugins/mac/PluginViewMac.cpp:
13708 (WebCore::PluginView::platformGetValueStatic):
13709 (WebCore::PluginView::handlePostReadFile):
13711 2010-04-30 Darin Adler <darin@apple.com>
13713 Reviewed by Oliver Hunt.
13715 Remove unused scrollRectIntoViewRecursively function
13716 https://bugs.webkit.org/show_bug.cgi?id=38403
13719 (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
13720 in the scrollRectIntoViewRecursively function.
13722 * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
13723 * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
13724 Also correct all uses of the term "method" to use the C++ term "function" and
13725 got rid of double spaces after periods.
13727 2010-04-30 Anders Carlsson <andersca@apple.com>
13729 Another Qt build fix.
13731 * plugins/qt/PluginViewQt.cpp:
13732 (WebCore::PluginView::platformGetValueStatic):
13734 2010-04-30 Anders Carlsson <andersca@apple.com>
13736 Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
13740 2010-04-30 Anders Carlsson <andersca@apple.com>
13742 Try to fix the Qt build this time.
13744 * plugins/qt/PluginPackageQt.cpp:
13745 (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
13746 (WebCore::PluginPackage::NPVersion):
13748 2010-04-30 Anders Carlsson <andersca@apple.com>
13750 Yet another build fix.
13752 * plugins/gtk/PluginPackageGtk.cpp:
13753 (WebCore::PluginPackage::NPVersion):
13755 2010-04-30 Anders Carlsson <andersca@apple.com>
13761 2010-04-30 Jian Li <jianli@chromium.org>
13763 Reviewed by Darin Fisher.
13765 [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
13766 https://bugs.webkit.org/show_bug.cgi?id=38228
13768 * platform/chromium/ChromiumBridge.h:
13769 * platform/chromium/FileSystemChromium.cpp:
13770 (WebCore::openFile):
13771 (WebCore::closeFile):
13772 (WebCore::seekFile):
13773 (WebCore::truncateFile):
13774 (WebCore::readFromFile):
13775 (WebCore::writeToFile):
13777 2010-04-30 Anders Carlsson <andersca@apple.com>
13779 Reviewed by Dan Bernstein.
13783 https://bugs.webkit.org/show_bug.cgi?id=20784
13784 move npapi.h to C99 integer types
13787 Remove the old types.
13789 2010-04-30 Sheriff Bot <webkit.review.bot@gmail.com>
13791 Unreviewed, rolling out r58569.
13792 http://trac.webkit.org/changeset/58569
13793 https://bugs.webkit.org/show_bug.cgi?id=38399
13795 This broke the GTK bots due to bad GC behavior (Requested by
13798 * bindings/js/JSWorkerContextCustom.cpp:
13799 * bindings/v8/custom/V8WorkerContextCustom.cpp:
13800 * storage/Database.idl:
13801 * storage/SQLError.idl:
13802 * storage/SQLResultSet.idl:
13803 * storage/SQLResultSetRowList.idl:
13804 * storage/SQLTransaction.idl:
13805 * workers/WorkerContext.cpp:
13806 (WebCore::WorkerContext::openDatabase):
13807 * workers/WorkerContext.h:
13808 (WebCore::WorkerContext::databaseExceededQuota):
13809 * workers/WorkerContext.idl:
13811 2010-04-30 Anders Carlsson <andersca@apple.com>
13815 * plugins/gtk/PluginViewGtk.cpp:
13816 (WebCore::PluginView::handlePostReadFile):
13817 (WebCore::PluginView::platformGetValueStatic):
13819 2010-04-30 Anders Carlsson <andersca@apple.com>
13823 * plugins/qt/PluginViewQt.cpp:
13824 (WebCore::PluginView::handlePostReadFile):
13825 (WebCore::PluginView::platformGetValue):
13827 2010-04-30 Anders Carlsson <andersca@apple.com>
13829 Reviewed by Timothy Hatcher.
13831 Next step towards fixing
13833 https://bugs.webkit.org/show_bug.cgi?id=20784
13834 move npapi.h to C99 integer types
13836 Use the C99 types everywhere. The "old" types are still around but will be removed
13837 in a subsequent commit.
13841 * plugins/PluginPackage.h:
13842 * plugins/PluginStream.cpp:
13843 (WebCore::PluginStream::deliverData):
13844 * plugins/PluginStream.h:
13845 * plugins/PluginView.cpp:
13846 (WebCore::PluginView::postURLNotify):
13847 (WebCore::PluginView::postURL):
13848 (WebCore::PluginView::write):
13849 (WebCore::PluginView::handlePost):
13850 * plugins/PluginView.h:
13851 * plugins/PluginViewNone.cpp:
13852 (WebCore::PluginView::handlePostReadFile):
13853 * plugins/npapi.cpp:
13856 (NPN_PostURLNotify):
13859 * plugins/npfunctions.h:
13860 * plugins/win/PluginPackageWin.cpp:
13861 (WebCore::PluginPackage::NPVersion):
13862 * plugins/win/PluginViewWin.cpp:
13863 (WebCore::PluginView::handlePostReadFile):
13865 2010-04-30 Peter Kasting <pkasting@google.com>
13867 Reviewed by David Levin.
13869 Make all image decoders set the "failed" bit if an image could not be
13870 completely decoded, but no more data is coming. The ICO and BMP
13871 decoders already did this.
13872 https://bugs.webkit.org/show_bug.cgi?id=35411
13874 "Failed" does not cause the image to not be displayed, it simply causes
13875 us to not bother to try to decode again if future requests are made, and
13876 for some decoders, lets the decoder clean up some of its temporary
13879 No layout tests because this does not change the visible output of decoding in any way.
13881 * platform/image-decoders/gif/GIFImageDecoder.cpp:
13882 (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
13883 (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
13884 * platform/image-decoders/gif/GIFImageDecoder.h:
13885 * platform/image-decoders/gif/GIFImageReader.cpp:
13886 (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure.
13887 (GIFImageReader::read): Ditto.
13888 * platform/image-decoders/gif/GIFImageReader.h:
13889 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
13891 (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
13892 (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
13893 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
13894 * platform/image-decoders/png/PNGImageDecoder.cpp:
13895 (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
13896 (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
13897 * platform/image-decoders/png/PNGImageDecoder.h:
13899 2010-04-30 Brady Eidson <beidson@apple.com>
13901 Reviewed by Eric Carlson.
13903 <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
13905 No new tests. (Currently no way to test such site specific hack behavior)
13907 * html/HTMLMediaElement.cpp:
13908 (WebCore::HTMLMediaElement::HTMLMediaElement):
13909 (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
13910 event, wrap the dispatch with m_dispatchingCanPlayEvent set.
13911 (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org,
13912 don't perform the play().
13913 * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
13915 2010-04-30 Dan Bernstein <mitz@apple.com>
13917 Reviewed by Adele Peterson.
13919 Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
13920 https://bugs.webkit.org/show_bug.cgi?id=6274
13922 Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
13923 through the complex text code path. Instead, introduce a variant of the fast path that tracks
13926 * platform/graphics/Font.cpp:
13927 (WebCore::Font::drawText): Use codePath().
13928 (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
13929 floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
13930 (WebCore::Font::selectionRectForText): Use codePath().
13931 (WebCore::Font::offsetForPosition): Ditto.
13932 * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
13933 parameter to floatWidthForSimpleText().
13934 * platform/graphics/FontFastPath.cpp:
13935 Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
13936 (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
13937 it now returns Complex. Where it used to return true, it now returns Simple, except for
13938 the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
13939 (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
13940 width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
13941 * platform/graphics/WidthIterator.cpp:
13942 (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
13943 whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
13944 m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
13945 (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
13946 * platform/graphics/WidthIterator.h:
13947 (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
13948 (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
13949 (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
13950 (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
13952 2010-04-30 Chris Marrin <cmarrin@apple.com>
13954 Reviewed by Simon Fraser.
13956 Reversed the order of the CSSMatrix.multiply method
13957 https://bugs.webkit.org/show_bug.cgi?id=38337
13959 Test: transforms/svg-vs-css.xhtml
13961 * css/WebKitCSSMatrix.cpp:
13962 (WebCore::WebKitCSSMatrix::multiply):
13963 * platform/graphics/transforms/TransformationMatrix.cpp:
13965 2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
13967 Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
13971 2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
13973 Reviewed by Dan Bernstein.
13975 Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
13976 https://bugs.webkit.org/show_bug.cgi?id=38334
13978 * WebCore.xcodeproj/project.pbxproj:
13979 * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
13980 * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
13981 * platform/graphics/mac/SimpleFontDataMac.mm:
13983 2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
13985 Reviewed by Simon Fraser.
13987 SHOULD NEVER BE REACHED assertion loading forbes.com
13988 https://bugs.webkit.org/show_bug.cgi?id=38272
13990 Ignore page media related pseudo classes.
13992 Test: printing/pseudo-class-outside-page.html
13994 * css/CSSStyleSelector.cpp:
13995 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13997 2010-04-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
13999 Unreviewed, build fix.
14001 Fix compiler warning "suggest parentheses around"
14003 No new tests as there is no new functionality.
14005 * svg/SVGAnimateElement.cpp:
14006 (WebCore::SVGAnimateElement::calculateFromAndToValues):
14008 2010-04-30 Kent Tamura <tkent@chromium.org>
14010 Unreviewed. Regression fix.
14012 Revert a part of r58564 to be compatible with prior behavior
14013 https://bugs.webkit.org/show_bug.cgi?id=38383
14015 * rendering/RenderTextControlSingleLine.cpp:
14016 (WebCore::RenderTextControlSingleLine::forwardEvent):
14017 r58564 made a region check for the cancel button stricter, but it
14018 made some tests failing on Chromium. So, relax the check again.
14020 2010-04-29 Jeremy Orlow <jorlow@chromium.org>
14022 Reviewed by Darin Fisher.
14024 Change StorageEvent.uri to StorageEvent.url to match the spec
14025 https://bugs.webkit.org/show_bug.cgi?id=38331
14027 As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
14028 WebKit is the only one who places the document's URL in a 'uri' property
14029 rather than a 'url' property. Even though we've shipped several versions of
14030 browsers with the old name, we probably should change this to comply with the
14033 This stuff is covered by existing tests.
14035 * storage/StorageEvent.cpp:
14036 (WebCore::StorageEvent::create):
14037 (WebCore::StorageEvent::StorageEvent):
14038 (WebCore::StorageEvent::initStorageEvent):
14039 * storage/StorageEvent.h:
14040 (WebCore::StorageEvent::url):
14041 * storage/StorageEvent.idl:
14043 2010-04-30 Nikolas Zimmermann <nzimmermann@rim.com>
14045 Reviewed by Dirk Schulze.
14047 REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
14048 https://bugs.webkit.org/show_bug.cgi?id=38385
14050 The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
14051 It would only repaint the smaller part, not the original larger bounds.
14053 Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
14054 once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
14055 all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
14056 combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
14057 right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
14059 Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
14061 Tests: svg/custom/repaint-stroke-width-changes.svg
14063 * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
14064 (WebCore::RenderObject::strokeBoundingBox):
14065 * rendering/RenderObject.h: Ditto.
14066 * rendering/RenderPath.cpp:
14067 (WebCore::RenderPath::RenderPath):
14068 (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
14069 (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
14070 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
14071 (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
14072 (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
14073 * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
14074 (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
14075 (WebCore::RenderPath::strokeBoundingBox): Ditto.
14076 (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
14077 * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
14078 * rendering/RenderSVGImage.h: Ditto.
14079 * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
14080 (WebCore::RenderSVGInline::strokeBoundingBox):
14081 * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
14082 * rendering/RenderSVGModelObject.h: Ditto.
14083 * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
14084 (WebCore::RenderSVGResourceFilter::applyResource):
14085 * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
14086 * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
14087 (WebCore::SVGRenderBase::strokeBoundingBox):
14088 * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
14089 * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
14090 (WebCore::SVGRenderStyle::hasMarkers):
14092 2010-04-30 Eric Uhrhane <ericu@chromium.org>
14094 Reviewed by Dmitry Titov.
14096 Add bindings for async DB API in Workers.
14097 https://bugs.webkit.org/show_bug.cgi?id=34992
14099 Tests: storage/change-version-handle-reuse-worker.html
14100 storage/execute-sql-args-worker.html
14102 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
14103 (WebCore::JSWorkerContext::openDatabase):
14105 * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
14106 (WebCore::V8WorkerContext::openDatabaseCallback):
14108 Add NoStaticTables flags to all objects now shared with workers.
14109 * storage/Database.idl:
14110 * storage/SQLError.idl:
14111 * storage/SQLResultSet.idl:
14112 * storage/SQLResultSetRowList.idl:
14113 * storage/SQLTransaction.idl:
14115 * workers/WorkerContext.h: Add databaseExceededQuota.
14116 * workers/WorkerContext.cpp:
14117 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
14118 (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
14120 Add the IDL for the call to openDatabase.
14121 * workers/WorkerContext.idl:
14123 2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
14125 Reviewed by Darin Adler.
14127 Unnecessary PrintContext::end() calls
14128 https://bugs.webkit.org/show_bug.cgi?id=38247
14130 Refactoring only, so no new tests.
14132 * page/PrintContext.cpp:
14133 (WebCore::PrintContext::pageNumberForElement):
14134 (WebCore::PrintContext::numberOfPages):
14136 2010-04-30 Kent Tamura <tkent@chromium.org>
14138 Reviewed by Adele Peterson.
14140 Implement interactive behavior of spin buttons.
14141 https://bugs.webkit.org/show_bug.cgi?id=35686
14143 Introduce SpinButtonElement. It is a shadow element class for
14144 spin buttons. If the upper side of the element is clicked, calls
14145 HTMLInputElement::stepUpFromRenderer(1). If the lower button is
14146 clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
14148 SpinButtonElement tracks the mouse pointer position, and
14149 RenderTheme sets ControlStates::SpinUpState if the pointer is on
14152 Test: platform/mac/fast/forms/input-number-click.html
14155 (WebCore::Element::isSpinButtonElement):
14156 * editing/VisibleSelection.cpp:
14157 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
14158 Remove an assertion. lastEditablePositionBeforePositionInRoot() can
14159 return null in a case that m_end is at a shadow element (a spin button)
14160 and baseRoot is another shadow element (inner text block) in the same
14161 node (an INPUT element).
14162 * html/HTMLInputElement.cpp:
14163 (WebCore::HTMLInputElement::stepUpFromRenderer):
14164 * html/HTMLInputElement.h:
14165 (WebCore::HTMLInputElement::hasSpinButton):
14166 Add types supporting step attribute except RANGE.
14167 * rendering/RenderTextControlSingleLine.cpp:
14168 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
14169 (WebCore::RenderTextControlSingleLine::forwardEvent):
14170 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
14171 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
14172 * rendering/RenderTextControlSingleLine.h:
14173 * rendering/RenderTheme.cpp:
14174 (WebCore::RenderTheme::controlStatesForRenderer):
14175 (WebCore::RenderTheme::isSpinUpButtonPartPressed):
14176 (WebCore::RenderTheme::isSpinUpButtonPartHovered):
14177 * rendering/RenderTheme.h:
14178 * rendering/TextControlInnerElements.cpp:
14179 (WebCore::SpinButtonElement::SpinButtonElement):
14180 (WebCore::SpinButtonElement::defaultEventHandler):
14181 * rendering/TextControlInnerElements.h:
14182 (WebCore::SpinButtonElement::isSpinButtonElement):
14183 (WebCore::SpinButtonElement::isEnabledFormControl):
14184 (WebCore::SpinButtonElement::onUpButton):
14186 2010-04-30 Yael Aharon <yael.aharon@nokia.com>
14188 Reviewed by Kenneth Rohde Christiansen.
14190 [Qt] Enable DOMWindow constructor for HTMLProgressElement
14191 https://bugs.webkit.org/show_bug.cgi?id=38333
14193 Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
14197 2010-04-30 Kent Tamura <tkent@chromium.org>
14199 Reviewed by Adele Peterson.
14201 Mac implementation of outer-spin-button appearance, and anonymous
14202 element generation for <input type=number>.
14203 https://bugs.webkit.org/show_bug.cgi?id=32813
14205 The implementation uses NSStepperCell. Like the other Mac
14206 controls, it has only three candidates for sizes.
14208 The editable block of an input element is shrunk, and the
14209 anonymous block for a spin button is put on the right of the
14212 Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
14213 platform/mac/fast/forms/input-appearance-spinbutton.html
14216 (WebCore::Element::pseudoStyleCacheIsInvalid):
14217 * dom/InputElement.h:
14218 (WebCore::InputElement::hasSpinButton):
14219 * html/HTMLInputElement.h:
14220 (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
14221 * platform/mac/ThemeMac.mm:
14222 (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
14223 to this in order to use stepperControlSizeForFont() instead of
14224 controlSizeForFont().
14225 (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
14226 sizeFromFont(). No behavior changes.
14227 (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
14228 (WebCore::stepperControlSizeForFont):
14229 Dedicated version of controlSizeForFont().
14230 (WebCore::stepper): Returns NSStepperCell object with specified settings.
14231 (WebCore::paintStepper):
14232 (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
14233 (WebCore::ThemeMac::minimumControlSize): ditto.
14234 (WebCore::ThemeMac::inflateControlPaintRect): ditto.
14235 (WebCore::ThemeMac::paint): ditto.
14236 * rendering/RenderBox.cpp:
14237 (WebCore::RenderBox::paintBoxDecorations):
14238 Move the content to paintBoxDecorationsWithSize().
14239 (WebCore::RenderBox::paintBoxDecorationsWithSize):
14240 * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
14241 * rendering/RenderTextControlSingleLine.cpp:
14242 (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
14243 (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
14244 Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
14245 (WebCore::RenderTextControlSingleLine::addFocusRingRects):
14246 Add a rectangle of which width is smaller by decorationWidthRight().
14247 (WebCore::RenderTextControlSingleLine::layout):
14248 Adjust m_outerSpinButton position.
14249 (WebCore::RenderTextControlSingleLine::styleDidChange):
14250 (WebCore::RenderTextControlSingleLine::textBlockWidth):
14251 (WebCore::RenderTextControlSingleLine::decorationWidthRight):
14252 (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
14253 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
14254 Creates an element for m_outerSpinButton if it is needed.
14255 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
14256 (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
14257 * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
14258 * rendering/RenderThemeMac.mm:
14259 (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
14261 2010-04-29 Adam Barth <abarth@webkit.org>
14263 Unreviewed. Update JSC CodeGenerator baseline. Not sure how I missed
14266 * bindings/scripts/test/JS/JSTestObj.cpp:
14267 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
14269 2010-04-29 Justin Garcia <justin.garcia@apple.com>
14271 Reviewed by Adele Peterson.
14273 Need to updateLayout after typing commands too
14274 https://bugs.webkit.org/show_bug.cgi?id=38352
14276 Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
14277 Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
14278 which don't go through EditCommand::{un,re}apply() can benefit from it too. No test case possible
14279 since most platforms have a layout performed as a side effect of post operation selection code.
14281 * editing/EditCommand.cpp:
14282 (WebCore::EditCommand::apply):
14283 (WebCore::EditCommand::unapply):
14284 (WebCore::EditCommand::reapply):
14285 * editing/EditCommand.h:
14286 (WebCore::EditCommand::isTopLevelCommand):
14287 * editing/Editor.cpp:
14288 (WebCore::Editor::appliedEditing):
14289 (WebCore::Editor::unappliedEditing):
14290 (WebCore::Editor::reappliedEditing):
14292 2010-04-29 Dan Bernstein <mitz@apple.com>
14294 Reviewed by Simon Fraser.
14296 <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
14297 https://bugs.webkit.org/show_bug.cgi?id=38350
14299 Tests: media/audio-only-video-intrinsic-size.html
14300 media/media-document-audio-size.html
14302 * rendering/RenderVideo.cpp:
14303 (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
14304 reported by the player.
14305 (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
14306 player, except in standalone media documents.
14308 2010-04-29 Anders Carlsson <andersca@apple.com>
14310 Reviewed by Dan Bernstein.
14313 https://bugs.webkit.org/show_bug.cgi?id=20784
14314 move npapi.h to C99 integer types.
14316 Add nptypes.h to the build.
14318 * WebCore.xcodeproj/project.pbxproj:
14320 * bridge/npruntime.h:
14321 * bridge/nptypes.h: Added.
14323 2010-04-29 Xan Lopez <xlopez@igalia.com>
14325 Rubber-stamped by Adam Barth.
14327 Update GObject bindings test results. We are actually moving
14328 backwards here, but we'll update them again when we figure out
14331 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
14332 (webkit_dom_test_obj_set_property):
14333 (webkit_dom_test_obj_get_property):
14335 2010-04-29 Sam Weinig <sam@webkit.org>
14337 Reviewed by Anders Carlsson.
14339 Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
14340 MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
14342 * platform/mac/ThemeMac.mm:
14343 (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
14345 2010-04-29 Adam Barth <abarth@webkit.org>
14347 Reviewed by Eric Seidel.
14349 CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
14350 https://bugs.webkit.org/show_bug.cgi?id=38338
14352 Currently CodeGeneratorJS.pm uses castThis for methods and
14353 castedThisObj for attributes. This inconsistency makes it difficult to
14354 factor common code genereration code into methods shared by both kinds
14355 of bindings. This match aligns the names so that a future patch (e.g.,
14356 in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
14359 * bindings/scripts/CodeGeneratorJS.pm:
14360 * bindings/scripts/test/JS/JSTestObj.cpp:
14361 (WebCore::setJSTestObjIntAttr):
14362 (WebCore::setJSTestObjLongLongAttr):
14363 (WebCore::setJSTestObjUnsignedLongLongAttr):
14364 (WebCore::setJSTestObjStringAttr):
14365 (WebCore::setJSTestObjTestObjAttr):
14366 (WebCore::setJSTestObjAttrWithException):
14367 (WebCore::setJSTestObjAttrWithSetterException):
14368 (WebCore::setJSTestObjAttrWithGetterException):
14369 (WebCore::jsTestObjPrototypeFunctionVoidMethod):
14370 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
14371 (WebCore::jsTestObjPrototypeFunctionIntMethod):
14372 (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
14373 (WebCore::jsTestObjPrototypeFunctionObjMethod):
14374 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
14375 (WebCore::jsTestObjPrototypeFunctionMethodWithException):
14376 (WebCore::jsTestObjPrototypeFunctionCustomMethod):
14377 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
14378 (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
14379 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
14380 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
14381 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
14382 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
14383 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
14384 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
14385 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
14386 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
14387 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
14388 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
14389 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
14390 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
14391 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
14392 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
14394 2010-04-29 Gustavo Noronha Silva <gustavo.noronhaollabora.co.uk>
14396 Reviewed by Xan Lopez.
14398 [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
14399 https://bugs.webkit.org/show_bug.cgi?id=36963
14401 Use the default cursor instead of hard-coding left pointer.
14403 * platform/gtk/CursorGtk.cpp:
14404 (WebCore::Cursor::Cursor):
14405 (WebCore::pointerCursor):
14407 2010-04-29 Ilya Tikhonovsky <loislo@chromium.org>
14409 Reviewed by Yury Semikhatsky.
14411 WebInspector: If Timeline panel is in recording mode and is not visible and has received
14412 new events then these events do not appear in the panel when the panel becomes visible.
14413 Timeline popup may appear in the upper left window corner when you switch to another panel.
14414 https://bugs.webkit.org/show_bug.cgi?id=38322
14416 * inspector/front-end/Popover.js:
14417 (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
14418 (WebInspector.PopoverHelper.prototype._mouseMove):
14419 (WebInspector.PopoverHelper.prototype.hidePopup):
14420 (WebInspector.PopoverHelper.prototype._hidePopup):
14421 * inspector/front-end/TimelinePanel.js:
14422 (WebInspector.TimelinePanel.prototype.show):
14423 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
14424 (WebInspector.TimelinePanel.prototype._refresh):
14426 2010-04-29 Anton Muhin <antonm@chromium.org>
14428 Reviewed by Darin Adler.
14430 Let's cache nodelists instead of DynamicNodeList::Caches
14431 https://bugs.webkit.org/show_bug.cgi?id=33696
14433 Test: fast/dom/Element/node-list-identity.html
14435 * bindings/js/JSNodeCustom.cpp:
14436 (WebCore::JSNode::markChildren): Mark all cached node lists as well
14437 * dom/ClassNodeList.cpp:
14438 (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
14439 (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
14440 * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
14441 (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
14442 * dom/NameNodeList.cpp:
14443 (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
14444 (WebCore::NameNodeList::~NameNodeList): Remove from the cache
14445 * dom/NameNodeList.h:
14446 (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
14448 (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
14449 (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
14450 (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
14451 (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
14452 (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
14453 (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
14454 (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
14455 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
14456 (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
14457 (WebCore::markNodeLists): Helper to mark all the node lists in the cache
14458 (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
14460 (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
14461 * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
14462 * dom/TagNodeList.cpp:
14463 (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
14464 (WebCore::TagNodeList::~TagNodeList): Remove from the cache
14465 * dom/TagNodeList.h:
14466 (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
14468 2010-04-29 Mikhail Naganov <mnaganov@chromium.org>
14470 Reviewed by Yury Semikhatsky.
14472 [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
14474 https://bugs.webkit.org/show_bug.cgi?id=38330
14476 * bindings/v8/ScriptProfileNode.cpp:
14477 (WebCore::ScriptProfileNode::totalTime):
14478 (WebCore::ScriptProfileNode::selfTime):
14480 2010-04-28 Dimitri Glazkov <dglazkov@chromium.org>
14482 Reviewed by Darin Adler.
14484 A form without a submit button unexpectedly performs its action when Return is pressed
14485 https://bugs.webkit.org/show_bug.cgi?id=9756
14487 Implemented implicit form submission algorithm as defined in HTML5 spec:
14488 http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
14489 falling back to match IE's behavior in the edge cases.
14491 The underlying rules are:
14493 * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
14495 * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
14496 that's not a textarea or a select.
14498 Test: fast/forms/implicit-submission.html
14500 * dom/SelectElement.cpp:
14501 (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
14502 (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
14503 (WebCore::SelectElement::defaultEventHandler): Ditto.
14504 * dom/SelectElement.h: Ditto.
14505 (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
14506 language, changed the logic to match the rules above.
14507 * html/HTMLInputElement.cpp:
14508 (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
14509 HTML5 spec language, made radio element to trigger implicit submission.
14510 * html/HTMLSelectElement.cpp:
14511 (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
14514 2010-04-29 Paweł Hajdan, Jr. <phajdan.jr@chromium.org>
14516 Reviewed by Jeremy Orlow.
14518 Fix building with libpng-1.4.
14519 https://bugs.webkit.org/show_bug.cgi?id=33287
14521 No new tests (no behavior change).
14523 Original patch by John Bowler <jbowler@acm.org>
14525 * platform/image-encoders/skia/PNGImageEncoder.cpp:
14526 (WebCore::PNGImageEncoder::encode):
14528 2010-04-29 Adam Langley <agl@chromium.org>
14530 Reviewed by David Levin.
14532 This patch adds support for WOFF in Chromium. Since Chromium
14533 already transcodes all OpenType files for security reasons we
14534 are adding WOFF support into the transcoder.
14536 https://bugs.webkit.org/show_bug.cgi?id=38217
14538 * css/CSSFontFaceSrcValue.cpp:
14539 (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
14540 Recognise "woff" as a font-face format value (guarded by
14541 ENABLE(OPENTYPE_SANITIZER) at this point)
14542 * platform/graphics/opentype/OpenTypeSanitizer.cpp:
14543 (WebCore::OpenTypeSanitizer::sanitize):
14544 Change so that the transcoded font can be larger than the original.
14545 (WOFF files are compressed, so the transcoded TTF is typically
14548 2010-04-29 Alex Milowski <alex@milowski.com>
14550 Reviewed by Kenneth Rohde Christiansen.
14552 Updates to the Qt build to enable building MathML support.
14557 2010-04-29 Xan Lopez <xlopez@igalia.com>
14559 Reviewed by Gustavo Noronha.
14561 [GTK] GObject DOM bindings
14562 https://bugs.webkit.org/show_bug.cgi?id=33590
14564 Do not generate unneeded boilerplate in {get,set}_property methods
14565 when there are no properties to generate code for. This gets rid
14566 of lots of compiler warnings.
14568 * bindings/scripts/CodeGeneratorGObject.pm:
14570 2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
14572 Reviewed by Kenneth Rohde Christiansen.
14574 [Qt] Speed up text layouting
14575 https://bugs.webkit.org/show_bug.cgi?id=31719
14577 Use QFontMetrics::width() for the text width calculation instead
14578 of QTextLayout. This avoids expensive bearing calculations and the
14579 line breaking code.
14581 * platform/graphics/qt/FontQt.cpp:
14582 (WebCore::Font::floatWidthForComplexText):
14584 2010-04-29 Kwang Yul Seo <skyul@company100.net>
14586 Reviewed by Simon Hausmann.
14588 [WINCE] Export g_stackBase with JS_EXPORTDATA
14589 https://bugs.webkit.org/show_bug.cgi?id=37437
14591 Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
14593 * platform/wince/SharedTimerWince.cpp:
14595 2010-04-29 Adam Barth <abarth@webkit.org>
14597 Reviewed by Maciej Stachowiak.
14599 Remove custom bindings for PopStateEvent.initPopStateEvent
14600 https://bugs.webkit.org/show_bug.cgi?id=38311
14602 Our code generation of SerializedScriptValue was slightly buggy, but
14603 it's easy to fix. Notice that the conversion to an atomic string is
14604 handled by the C++ type system and doesn't require logic in the code
14607 * bindings/js/JSPopStateEventCustom.cpp:
14608 * bindings/scripts/CodeGeneratorJS.pm:
14609 * bindings/scripts/CodeGeneratorV8.pm:
14610 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
14611 (webkit_dom_test_obj_serialized_value):
14612 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
14613 * bindings/scripts/test/JS/JSTestObj.cpp:
14615 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
14616 * bindings/scripts/test/JS/JSTestObj.h:
14617 * bindings/scripts/test/ObjC/DOMTestObj.h:
14618 * bindings/scripts/test/ObjC/DOMTestObj.mm:
14619 (-[DOMTestObj serializedValue:]):
14620 * bindings/scripts/test/TestObj.idl:
14621 * bindings/scripts/test/V8/V8TestObj.cpp:
14622 (WebCore::TestObjInternal::serializedValueCallback):
14623 (WebCore::ConfigureV8TestObjTemplate):
14624 * bindings/v8/custom/V8PopStateEventCustom.cpp:
14625 * dom/PopStateEvent.idl:
14627 2010-04-29 Kent Tamura <tkent@chromium.org>
14629 Reviewed by Darin Adler.
14631 Fix a bug that selection drag-and-drop doesn't work for input/textarea.
14632 https://bugs.webkit.org/show_bug.cgi?id=38175
14634 The code supposed the selected region was in the destination text
14635 field. It is not true in a case of drag-and-drop.
14637 Test: editing/pasteboard/drag-drop-input-textarea.html
14639 * dom/InputElement.cpp:
14640 (WebCore::InputElement::handleBeforeTextInsertedEvent):
14641 * html/HTMLTextAreaElement.cpp:
14642 (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
14644 2010-04-29 Adam Barth <abarth@webkit.org>
14646 Reviewed by Maciej Stachowiak.
14648 Remove custom bindings for NodeFilter.acceptNode
14649 https://bugs.webkit.org/show_bug.cgi?id=38309
14651 This "custom" code was just an instance of the CallWith=ScriptState
14652 pattern. Also, it looks like V8 just had a garbage implemenation that
14656 * bindings/js/JSNodeFilterCustom.cpp:
14657 * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
14658 * dom/NodeFilter.idl:
14660 2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
14662 Reviewed by Laszlo Gombos.
14664 [Qt] QtWebkit doesn't link with 3D canvas
14665 https://bugs.webkit.org/show_bug.cgi?id=38299
14667 Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
14669 No new tests: build fix
14671 * platform/graphics/qt/GraphicsContext3DQt.cpp:
14672 (WebCore::GraphicsContext3D::isGLES2Compliant):
14674 2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
14676 Reviewed by Tor Arne Vestbø.
14678 [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
14679 https://bugs.webkit.org/show_bug.cgi?id=38316
14681 Accessing properties of a deleted objects doesn't throw an exception
14684 Continue to expose the QObject class wrapper for objects that
14685 previously existed but don't exist anymore. QtClass is safe to
14686 use with a deleted QObject.
14688 * bridge/qt/qt_instance.cpp:
14689 (JSC::Bindings::QtInstance::getClass): Return null only if m_class
14690 doesn't exist yet and there's no m_object.
14692 2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
14694 Reviewed by Simon Hausmann.
14696 Reverse animations don't work in some use cases
14697 https://bugs.webkit.org/show_bug.cgi?id=38075
14699 This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
14700 with the CA implementation. That special case code path is now a bug - and this patch removes it.
14702 http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
14703 animation correctly.
14705 * platform/graphics/qt/GraphicsLayerQt.cpp:
14706 (WebCore::TransformAnimationQt::applyFrame):
14708 2010-04-29 Jan Hanssen <jhanssen@codeaurora.org>
14710 Reviewed by Adam Barth.
14712 HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
14713 https://bugs.webkit.org/show_bug.cgi?id=26016
14715 Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
14717 Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
14719 * html/HTMLOptionElement.cpp:
14720 (WebCore::HTMLOptionElement::ownerSelectElement):
14721 Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
14723 2010-04-29 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
14725 Reviewed by Eric Seidel.
14727 Add EFL-specific code to Widget.h and move the empty
14728 frameRectsChanged() definition to Widget.cpp, since the EFL port
14729 needs to override that.
14730 http://webkit.org/b/36317
14732 No new tests required.
14734 * WebCore.base.exp:
14735 * platform/Widget.cpp:
14736 (WebCore::Widget::frameRectsChanged):
14737 * platform/Widget.h:
14739 2010-04-29 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
14741 Reviewed by Simon Hausmann.
14743 [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant()
14744 https://bugs.webkit.org/show_bug.cgi?id=38216
14746 * platform/graphics/qt/GraphicsContext3DQt.cpp:
14747 (WebCore::GraphicsContext3D::isGLES2Compliant):
14749 2010-04-29 Zhenyao Mo <zmo@google.com>
14751 Reviewed by Dimitri Glazkov.
14753 Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
14754 https://bugs.webkit.org/show_bug.cgi?id=38235
14756 * html/canvas/WebGLRenderingContext.cpp:
14757 (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
14758 (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
14759 (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
14760 (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
14761 * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
14762 * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
14763 * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
14764 (WebCore::GraphicsContext3D::texImage2D):
14765 (WebCore::GraphicsContext3D::texSubImage2D):
14767 2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
14769 Reviewed by Simon Hausmann.
14771 [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
14772 https://bugs.webkit.org/show_bug.cgi?id=38076
14774 This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
14775 animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
14776 is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
14777 upon stop (updateState) and not upon the object's destruction.
14779 http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
14780 the animation is toggled frequently.
14782 * platform/graphics/qt/GraphicsLayerQt.cpp:
14783 (WebCore::TransformAnimationQt::~TransformAnimationQt):
14784 (WebCore::TransformAnimationQt::applyFrame):
14785 (WebCore::TransformAnimationQt::updateState):
14786 (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
14787 (WebCore::OpacityAnimationQt::updateState):
14788 (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
14789 (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
14791 2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
14793 Reviewed by Simon Fraser.
14795 Media queries empty values
14796 https://bugs.webkit.org/show_bug.cgi?id=38116
14798 Adding isValid() method to MediaQueryExp to make it possible to differentiate
14799 between queries with empty values and queries with invalid values.
14801 Test: fast/media/media-query-invalid-value.html
14803 * css/MediaQueryEvaluator.cpp:
14804 (WebCore::MediaQueryEvaluator::eval):
14805 * css/MediaQueryExp.cpp:
14806 (WebCore::MediaQueryExp::MediaQueryExp):
14807 * css/MediaQueryExp.h:
14808 (WebCore::MediaQueryExp::isValid):
14810 2010-04-28 Pavel Feldman <pfeldman@chromium.org>
14812 Reviewed by Yury Semikhatsky.
14814 Web Inspector: Allow editing script resources when resource tracking is enabled.
14816 https://bugs.webkit.org/show_bug.cgi?id=38269
14818 * inspector/front-end/ScriptView.js:
14819 * inspector/front-end/ScriptsPanel.js:
14820 (WebInspector.ScriptsPanel.prototype.canEditScripts):
14821 (WebInspector.ScriptsPanel.prototype.editScriptSource):
14822 * inspector/front-end/SourceFrame.js:
14823 (WebInspector.SourceFrame.prototype.get textModel):
14824 * inspector/front-end/SourceView.js:
14825 (WebInspector.SourceView):
14826 (WebInspector.SourceView.prototype._addBreakpoint):
14827 (WebInspector.SourceView.prototype._editLine):
14828 (WebInspector.SourceView.prototype._editLineComplete):
14829 (WebInspector.SourceView.prototype._sourceIDForLine):
14831 2010-04-25 Antonio Gomes <tonikitoo@webkit.org>
14833 Reviewed by Darin Adler.
14835 Clicking a scrollbar blurs the currently focused element
14836 https://bugs.webkit.org/show_bug.cgi?id=16809
14838 WebKit ports that do not use native (platform) widgets for rendering the scrollbars
14839 are currently mismatching a common behaviour of other browser vendors (including
14840 Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content.
14841 WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for
14842 instance, can observe the opposite behaviour.
14844 Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar.
14845 If that is the case, it bails out and do not change focus behavior at all.
14847 It is important to note that the given way this is implemented by this patch, non-frame
14848 scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working
14849 in the same way as it works currently.
14851 Tests: scrollbars/scrollbar-click-does-not-blur-content.html
14852 scrollbars/scrollbar-iframe-click-does-not-blur-content.html
14854 * page/EventHandler.cpp:
14855 (WebCore::EventHandler::dispatchMouseEvent):
14857 2010-04-28 Dan Bernstein <mitz@apple.com>
14859 Rubber-stamped by Maciej Stachowiak.
14861 Try to fix test failures seen on the Leopard build bot after r58467
14863 * platform/graphics/SimpleFontData.cpp:
14864 (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
14865 calling widthForGlyph(), as the latter uses the former.
14867 2010-04-28 Martin Robinson <mrobinson@webkit.org>
14869 Reviewed by Gustavo Noronha.
14871 [GTK] Enable DOM clipboard and drag-and-drop access
14872 https://bugs.webkit.org/show_bug.cgi?id=30623
14874 Make ClipboardGtk a "live" DataTransfer object, able to modify
14875 the clipboard when setData(...) is called.
14877 * platform/gtk/ClipboardGtk.cpp:
14878 (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method.
14879 (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data.
14880 (WebCore::dataObjectTypeFromHTMLClipboardType): Added.
14881 (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard.
14882 (WebCore::ClipboardGtk::clearAllData): Ditto.
14883 (WebCore::joinURIList): Added.
14884 (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible.
14885 (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard.
14886 (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types.
14887 (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files.
14888 (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard.
14889 (WebCore::ClipboardGtk::writeRange): Ditto.
14890 (WebCore::ClipboardGtk::writePlainText): Ditto.
14891 (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject.
14892 * platform/gtk/ClipboardGtk.h:
14893 (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects.
14894 * platform/gtk/DataObjectGtk.cpp:
14895 (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean from plain text.
14896 (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
14897 (WebCore::DataObjectGtk::setText): Clean from plain text.
14898 (WebCore::DataObjectGtk::clearText): Added.
14899 (WebCore::DataObjectGtk::clearMarkup): Added.
14900 * platform/gtk/DataObjectGtk.h:
14901 (WebCore::DataObjectGtk::clearURIList): Added.
14902 (WebCore::DataObjectGtk::clearImage): Added.
14903 * platform/gtk/PasteboardHelper.cpp:
14904 (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets.
14905 (WebCore::urisToKURLVector): Added.
14906 (WebCore::PasteboardHelper::getClipboardContents): Added.
14907 (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs.
14908 (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
14909 * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method.
14911 2010-04-28 Martin Robinson <mrobinson@webkit.org>
14913 Reviewed by Gustavo Noronha.
14915 [GTK] Enable DOM clipboard and drag-and-drop access
14916 https://bugs.webkit.org/show_bug.cgi?id=30623
14918 Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
14920 No new tests, because pasteboard DataTransfer tests will be enabled
14921 with the completion of the GTK+ DataTransfer object.
14923 * platform/gtk/PasteboardGtk.cpp:
14924 (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
14926 2010-04-28 Dan Bernstein <mitz@apple.com>
14928 Reviewed by Adele Peterson.
14930 More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
14931 https://bugs.webkit.org/show_bug.cgi?id=37936
14933 Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map
14934 page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save
14935 this space by not storing the zero width and empty bounds in the metrics maps.
14937 * platform/graphics/SimpleFontData.cpp:
14938 (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph.
14939 (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Don’t create entries
14940 for the ZERO WIDTH SPACE glyph in the width map and in the bounds map.
14941 * platform/graphics/SimpleFontData.h:
14942 (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph
14943 without consulting the bounds map.
14944 (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without
14945 consulting the width map.
14947 2010-04-28 Mark Rowe <mrowe@apple.com>
14949 Reviewed by Adele Peterson.
14951 <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
14953 The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules
14954 that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're
14955 adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin
14956 access that occurs on the Safari welcome page.
14958 * css/CSSStyleSheet.cpp:
14959 (WebCore::CSSStyleSheet::cssRules):
14961 2010-04-28 Mike Thole <mthole@apple.com>
14963 Reviewed by Mark Rowe.
14965 Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
14967 * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
14968 * WebCore.ProtectionSpaceAuthCallback.exp: Added.
14969 * WebCore.xcodeproj/project.pbxproj:
14971 2010-04-28 Evan Martin <evan@chromium.org>
14973 Reviewed by David Levin.
14975 [chromium] revert getFontDataForCharacters change in r58341
14976 https://bugs.webkit.org/show_bug.cgi?id=38288
14978 It caused a performance regression.
14980 * platform/chromium/ChromiumBridge.h:
14981 * platform/graphics/chromium/FontCacheLinux.cpp:
14982 (WebCore::FontCache::getFontDataForCharacters):
14984 2010-04-28 Eric Seidel <eric@webkit.org>
14986 Unreviewed, rolling out r58441.
14987 http://trac.webkit.org/changeset/58441
14988 https://bugs.webkit.org/show_bug.cgi?id=37618
14990 Broke 3 test on Qt.
14992 * page/DragController.cpp:
14993 (WebCore::DragController::tryDocumentDrag):
14994 (WebCore::DragController::concludeEditDrag):
14995 * page/DragController.h:
14996 (WebCore::DragController::setDragInitiator):
14997 (WebCore::DragController::dragInitiator):
14998 (WebCore::DragController::documentUnderMouse):
15000 2010-04-28 Darin Adler <darin@apple.com>
15002 Reviewed by Dan Bernstein.
15004 Remove some obsolete scrolling code
15005 https://bugs.webkit.org/show_bug.cgi?id=38293
15008 (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
15009 * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
15011 * page/FrameView.cpp: Removed scrollRectIntoViewRecursively.
15012 * page/FrameView.h: Removed scrollRectIntoViewRecursively and made
15013 setScrollPosition non-virtual, since there is no class derived from
15014 this class, and ScrollView's setScrollPosition is non-virtual.
15016 * platform/HostWindow.h: Removed scrollRectIntoView.
15018 * platform/ScrollView.cpp:
15019 (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
15020 since I was able to do most of the tasks listed here.
15022 * rendering/RenderLayer.cpp:
15023 (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
15024 ScrollView* argument to Chrome::scrollRectIntoView.
15026 2010-04-28 Mike Thole <mthole@apple.com>
15028 Reviewed by David Kilzer.
15030 Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
15031 can be inspected before attempting to authenticate against it
15032 https://bugs.webkit.org/show_bug.cgi?id=38271
15034 * loader/EmptyClients.h:
15035 (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added.
15036 * loader/FrameLoader.cpp:
15037 (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added.
15038 * loader/FrameLoader.h:
15039 * loader/FrameLoaderClient.h:
15040 * loader/ResourceLoader.cpp:
15041 (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
15042 * loader/ResourceLoader.h:
15043 (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
15044 * platform/network/ProtectionSpace.h:
15046 * platform/network/ResourceHandle.h:
15047 * platform/network/ResourceHandleClient.h:
15048 (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
15049 * platform/network/mac/AuthenticationMac.mm:
15051 Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and
15052 ProtectionSpaceAuthenticationSchemeClientCertificateRequested. Guarded with the
15053 #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't
15054 exist prior to Mac OS X 10.6.
15055 (WebCore::core): Ditto.
15056 * platform/network/mac/ResourceHandleMac.mm:
15057 (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added.
15058 (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added.
15060 2010-04-28 Abhishek Arya <inferno@chromium.org>
15062 Reviewed by Eric Seidel.
15064 Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
15065 Eliminated unused m_dragInitiator accessor to prevent dereferencing.
15066 https://bugs.webkit.org/show_bug.cgi?id=37618
15068 Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
15070 * page/DragController.cpp:
15071 (WebCore::DragController::tryDocumentDrag):
15072 (WebCore::DragController::concludeEditDrag):
15073 * page/DragController.h:
15074 (WebCore::DragController::draggingImageURL):
15075 (WebCore::DragController::documentUnderMouse):
15077 2010-04-28 Dumitru Daniliuc <dumi@chromium.org>
15079 Unreviewed, fixing a build problem introduced by the previous patch.
15081 * storage/DatabaseSync.cpp:
15082 (WebCore::DatabaseSync::openDatabaseSync):
15084 2010-04-23 Dumitru Daniliuc <dumi@chromium.org>
15086 Reviewed by Jeremy Orlow.
15088 Adding some required classes for the sync WebSQLDatabases API.
15089 https://bugs.webkit.org/show_bug.cgi?id=34994
15094 * WebCore.vcproj/WebCore.vcproj:
15095 * WebCore.xcodeproj/project.pbxproj:
15096 * storage/DatabaseSync.cpp: Added.
15097 (WebCore::DatabaseSync::databaseInfoTableName):
15098 (WebCore::DatabaseSync::setIsAvailable):
15099 (WebCore::DatabaseSync::isAvailable):
15100 (WebCore::DatabaseSync::openDatabaseSync):
15101 (WebCore::DatabaseSync::DatabaseSync):
15102 (WebCore::DatabaseSync::~DatabaseSync):
15103 (WebCore::DatabaseSync::version):
15104 (WebCore::DatabaseSync::changeVersion):
15105 (WebCore::DatabaseSync::transaction):
15106 * storage/DatabaseSync.h: Added.
15107 (WebCore::DatabaseSync::databaseDebugName):
15108 * storage/SQLTransactionSync.cpp: Added.
15109 (WebCore::SQLTransactionSync::create):
15110 (WebCore::SQLTransactionSync::SQLTransactionSync):
15111 (WebCore::SQLTransactionSync::~SQLTransactionSync):
15112 (WebCore::SQLTransactionSync::executeSQL):
15113 * storage/SQLTransactionSync.h: Added.
15114 (WebCore::SQLTransactionSync::database):
15115 (WebCore::SQLTransactionSync::isReadOnly):
15116 * storage/SQLTransactionSyncCallback.h: Added.
15117 (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback):
15119 2010-04-28 İsmail Dönmez <ismail@namtrac.org>
15121 Reviewed by Simon Hausmann.
15123 Fix compilation with QT_NO_CURSOR defined.
15125 * platform/qt/QWebPageClient.h:
15126 (QWebPageClient::resetCursor):
15127 (QWebPageClient::setCursor):
15129 2010-04-28 Abhishek Arya <inferno@chromium.org>
15131 Reviewed by Alexey Proskuryakov.
15133 Added a check to make sure that resources from a different https origin are not cached.
15134 https://bugs.webkit.org/show_bug.cgi?id=33456
15136 Test: http/tests/appcache/different-https-origin-resource-main.html
15138 * loader/appcache/ManifestParser.cpp:
15139 (WebCore::parseManifest):
15141 2010-04-28 Sam Weinig <sam@webkit.org>
15143 Reviewed by Mark Rowe.
15145 Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
15148 * Configurations/WebCore.xcconfig:
15150 2010-04-28 Darin Adler <darin@apple.com>
15152 Reviewed by Adele Peterson.
15154 REGRESSION: Autoscroll does not work in Mail messages
15155 https://bugs.webkit.org/show_bug.cgi?id=38267
15156 rdar://problem/7559799
15158 Still haven't figured out a good way to test this with DumpRenderTree
15159 or with Safari. Testing has to be done with Mail for now.
15161 The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
15162 view had gotten broken in multiple ways. For some reason, a combination of bugs made it
15163 partly work until around r48064. This brings it back.
15165 There were three problems:
15167 1) Code in EventHandler decided there was nothing to scroll, so didn't start
15168 the autoscroll timer.
15169 2) The wrong rectangle was passed to Chrome::scrollRectIntoView.
15170 3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect
15171 coordinate conversion.
15173 I verified that none of these have any effect on regression tests, or behavior in
15174 web browsers, or behavior on platforms other than Mac.
15176 * page/EventHandler.cpp:
15177 (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly
15178 and for the top level box of the top frame.
15179 (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll.
15180 (WebCore::EventHandler::updateAutoscrollRenderer): Ditto.
15182 * page/FrameView.cpp:
15183 (WebCore::FrameView::scrollToAnchor): Fixed comment.
15185 * platform/ScrollView.cpp:
15186 (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this
15187 now-unused function along with some comments about removing some obsolete code.
15189 * rendering/RenderLayer.cpp:
15190 (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively
15191 since from the WebKit point of view this is the topmost scroll view anyway. Instead call
15192 setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs
15193 to use a different rectangle anyway.
15195 2010-04-21 Ojan Vafai <ojan@chromium.org>
15197 Reviewed by Adele Peterson.
15199 http://trac.webkit.org/changeset/57215 caused perf/memory regressions
15200 https://bugs.webkit.org/show_bug.cgi?id=37292
15202 #if out the canUseGlyphCache Changes from r57215 as they caused a
15203 8% perf regression on Chromium's international page load tests so that
15204 the perf regression can be fixed properly without being left in the tree.
15206 * platform/graphics/FontFastPath.cpp:
15207 (WebCore::Font::canUseGlyphCache):
15209 2010-04-28 Beth Dakin <bdakin@apple.com>
15211 Reviewed by Darin Adler.
15213 Fix for <rdar://problem/7474349>
15215 Add a synchronous display mechanism for WKCACFLayerRenderer.
15217 * platform/graphics/win/WKCACFLayerRenderer.cpp:
15218 (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is
15219 just like setRootContents(), but it calls paint() instead of
15221 * platform/graphics/win/WKCACFLayerRenderer.h:
15223 2010-04-28 Dmitry Titov <dimich@chromium.org>
15225 Reviewed by Geoffrey Garen.
15227 REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
15228 https://bugs.webkit.org/show_bug.cgi?id=37554
15230 The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
15232 * bindings/js/JSEventListener.cpp:
15233 (WebCore::JSEventListener::handleEvent):
15234 check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close().
15235 * bindings/js/JSWorkerContextBase.cpp:
15236 (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0.
15237 * bindings/js/WorkerScriptController.h:
15238 (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden.
15239 (WebCore::WorkerScriptController::isExecutionForbidden):
15240 * bindings/v8/WorkerScriptController.h:
15241 (WebCore::WorkerScriptController::isExecutionForbidden):
15243 Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
15244 and 'true' for WorkerContext when script is terminated.
15245 * dom/ScriptExecutionContext.h:
15247 (WebCore::Document::isJSExecutionTerminated):
15248 * workers/WorkerContext.cpp:
15249 (WebCore::WorkerContext::isJSExecutionTerminated):
15250 * workers/WorkerContext.h:
15252 2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
15254 Reviewed by Yury Semikhatsky.
15256 WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
15257 https://bugs.webkit.org/show_bug.cgi?id=38270
15259 * inspector/front-end/ResourcesPanel.js:
15260 (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
15262 2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
15264 Reviewed by Yury Semikhatsky.
15266 WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
15267 https://bugs.webkit.org/show_bug.cgi?id=38264
15269 * inspector/front-end/TimelinePanel.js:
15270 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
15271 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
15273 2010-04-28 Pavel Feldman <pfeldman@chromium.org>
15275 Reviewed by Timothy Hatcher.
15277 Web Inspector: Linkify node and function in the event listeners panel.
15279 https://bugs.webkit.org/show_bug.cgi?id=38251
15281 * bindings/js/ScriptEventListener.cpp:
15282 (WebCore::eventListenerHandlerBody):
15283 (WebCore::eventListenerHandlerLocation):
15284 * bindings/js/ScriptEventListener.h:
15285 * bindings/v8/ScriptEventListener.cpp:
15286 (WebCore::eventListenerHandlerBody):
15287 (WebCore::eventListenerHandlerLocation):
15288 * bindings/v8/ScriptEventListener.h:
15289 * inspector/InspectorDOMAgent.cpp:
15290 (WebCore::InspectorDOMAgent::buildObjectForEventListener):
15291 * inspector/front-end/ElementsPanel.js:
15292 (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
15293 (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault):
15294 * inspector/front-end/EventListenersSidebarPane.js:
15295 (WebInspector.EventListenersSidebarPane.prototype.update.callback):
15296 (WebInspector.EventListenersSidebarPane.prototype.update):
15298 * inspector/front-end/StylesSidebarPane.js:
15299 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
15300 * inspector/front-end/inspector.css:
15303 2010-04-28 Julien Chaffraix <jchaffraix@webkit.org>
15305 Reviewed by Alexey Proskuryakov.
15307 [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
15308 https://bugs.webkit.org/show_bug.cgi?id=37781
15309 <rdar://problem/7905150>
15311 Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
15312 http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
15314 Rolling the patch in as I could not reproduce Qt results locally.
15316 * loader/DocumentThreadableLoader.cpp:
15317 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
15318 credential from the request here to avoid forgetting to do so in the different code path.
15319 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
15321 (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
15322 been removed so that we don't leak them. Also tweaked a comment to make it clear that
15323 the URL check has issue when credential is involved.
15325 2010-04-28 Noam Rosenthal <noam.rosenthal@nokia.com>
15327 Reviewed by Kenneth Rohde Christiansen.
15329 [Qt] GraphicsLayer: preserves-3d and backface visibility
15330 https://bugs.webkit.org/show_bug.cgi?id=35312
15332 Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
15333 the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
15335 WebKitSite/blog-files/3d-transforms test now work with Qt.
15337 * platform/graphics/qt/GraphicsLayerQt.cpp:
15338 (WebCore::GraphicsLayerQtImpl::updateTransform):
15339 (WebCore::GraphicsLayerQtImpl::opaqueArea):
15340 (WebCore::GraphicsLayerQtImpl::boundingRect):
15341 (WebCore::GraphicsLayerQtImpl::paint):
15342 (WebCore::GraphicsLayerQtImpl::flushChanges):
15344 2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
15346 Reviewed by Yury Semikhatsky.
15348 Web Inspector: View frame selector for Timeline overview panel is redesigned a bit.
15349 Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane.
15350 https://bugs.webkit.org/show_bug.cgi?id=38251
15352 * inspector/front-end/TimelineOverviewPane.js:
15353 (WebInspector.TimelineOverviewPane):
15354 (WebInspector.TimelineOverviewPane.prototype.reset):
15355 (WebInspector.TimelineOverviewPane.prototype._dragWindow):
15356 (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging):
15357 (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
15358 (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
15359 (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
15360 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
15361 (WebInspector.TimelinePanel.WindowSelector):
15362 (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement):
15363 (WebInspector.TimelinePanel.WindowSelector.prototype._close):
15364 (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition):
15365 * inspector/front-end/inspector.css:
15366 (#timeline-overview-grid):
15367 (.timeline-window-selector):
15368 (#timeline-overview-window):
15369 (.timeline-overview-dividers-background):
15370 (.timeline-overview-window-rulers):
15371 (.timeline-window-resizer):
15373 2010-04-28 Marcus Bulach <bulach@chromium.org>
15375 Reviewed by Jeremy Orlow.
15377 Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html
15378 https://bugs.webkit.org/show_bug.cgi?id=38254
15380 * platform/graphics/chromium/FontLinux.cpp:
15381 (WebCore::adjustTextRenderMode):
15382 (WebCore::TextRunWalker::getTextRun):
15383 (WebCore::TextRunWalker::getNormalizedTextRun):
15384 (WebCore::TextRunWalker::setGlyphXPositions):
15385 (WebCore::glyphIndexForXPositionInScriptRun):
15386 (WebCore::Font::offsetForPositionForComplexText):
15387 (WebCore::Font::selectionRectForComplexText):
15388 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
15389 (WebCore::FontPlatformData::setupPaint):
15390 * platform/graphics/chromium/HarfbuzzSkia.cpp:
15391 (WebCore::getOutlinePoint):
15392 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
15393 (WebCore::GraphicsContext3D::getImageData):
15394 * platform/graphics/skia/GraphicsContextSkia.cpp:
15395 (WebCore::isCoordinateSkiaSafe):
15396 (WebCore::GraphicsContext::fillRect):
15397 (WebCore::GraphicsContext::strokePath):
15398 (WebCore::GraphicsContext::strokeRect):
15400 2010-04-28 Andrey Kosyakov <caseq@chromium.org>
15402 Reviewed by Yury Semikhatsky.
15404 Log error message to inspector console if a resource fails to load.
15405 Disable checking of mime-type consistency for failed resources.
15406 https://bugs.webkit.org/show_bug.cgi?id=37215
15408 Test: http/tests/inspector/console-resource-errors.html
15410 * inspector/InspectorController.cpp:
15411 (WebCore::InspectorController::didReceiveResponse):
15412 (WebCore::InspectorController::didFailLoading):
15413 * inspector/front-end/Resource.js:
15414 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
15415 * inspector/front-end/ResourcesPanel.js:
15416 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
15418 2010-04-28 Yury Semikhatsky <yurys@chromium.org>
15420 Reviewed by Pavel Feldman.
15422 Support pause on exceptions in v8 implementation of ScriptDebugServer.
15424 https://bugs.webkit.org/show_bug.cgi?id=38205
15426 * bindings/v8/ScriptDebugServer.cpp:
15427 (WebCore::ScriptDebugServer::addListener):
15428 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
15429 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
15430 (WebCore::ScriptDebugServer::currentCallFrame):
15431 (WebCore::ScriptDebugServer::handleV8DebugMessage):
15432 (WebCore::ScriptDebugServer::dispatchDidParseSource):
15433 * bindings/v8/ScriptDebugServer.h:
15435 2010-04-28 Sheriff Bot <webkit.review.bot@gmail.com>
15437 Unreviewed, rolling out r58313.
15438 http://trac.webkit.org/changeset/58313
15439 https://bugs.webkit.org/show_bug.cgi?id=38253
15441 Regression evident in pixel tests: the search icon is always
15442 clipped at the bottom. (Requested by jorlow on #webkit).
15444 * rendering/RenderTextControl.cpp:
15445 (WebCore::RenderTextControl::controlClipRect):
15446 * rendering/RenderTextControl.h:
15447 (WebCore::RenderTextControl::hasControlClip):
15448 * rendering/RenderTextControlSingleLine.cpp:
15449 (WebCore::RenderTextControlSingleLine::paint):
15450 * rendering/RenderTextControlSingleLine.h:
15452 2010-04-28 Justin McPherson <justin.mcpherson@nokia.com>
15454 Reviewed by Simon Hausmann.
15456 [Qt] Fix detection of Qt 4.7's multimedia libraries
15458 QtMultimedia has been split into an additional media services library, which
15459 we're using. mediaservices depends on multimedia.
15463 2010-04-28 Shinichiro Hamaji <hamaji@chromium.org>
15465 Unreviewed attempt to fix the chromium build.
15467 Add layoutTestController.setPrinting()
15468 https://bugs.webkit.org/show_bug.cgi?id=37203
15470 * rendering/RenderTreeAsText.cpp:
15472 2010-04-27 Shinichiro Hamaji <hamaji@chromium.org>
15474 Reviewed by Darin Adler and Eric Seidel.
15476 Add layoutTestController.setPrinting()
15477 https://bugs.webkit.org/show_bug.cgi?id=37203
15479 Added RenderAsTextPrintingMode as a behavior of externalRepresentation.
15481 Now ~PrintContext() calls end() automatically.
15483 * page/PrintContext.cpp:
15484 (WebCore::PrintContext::~PrintContext):
15485 * rendering/RenderTreeAsText.cpp:
15486 (WebCore::externalRepresentation):
15487 * rendering/RenderTreeAsText.h:
15490 2010-04-27 Yuzo Fujishima <yuzo@google.com>
15492 Reviewed by Eric Seidel.
15494 Enhance CSS parser for Paged Media (Iteration 4)
15495 Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages.
15496 https://bugs.webkit.org/show_bug.cgi?id=35853
15498 * css/CSSParser.cpp:
15499 (WebCore::CSSParser::parseValue):
15500 (WebCore::CSSParser::parsePage):
15503 2010-04-27 Yuzo Fujishima <yuzo@google.com>
15505 Reviewed by Dimitri Glazkov.
15507 Enhance CSS parser for Paged Media (Iteration 3)
15508 Implement size parameter parsing for Paged Media.
15509 https://bugs.webkit.org/show_bug.cgi?id=35851
15511 I believe size property hasn't been used so far because (1) it hasn't been properly parsed and
15512 (2) a comment in CSSComputedStyleDeclaration::getPropertyCSSValue says so.
15513 Changing the way of parsing it should not cause any regressions -- no existing tests fail because of this change.
15515 * css/CSSParser.cpp:
15516 (WebCore::CSSParser::parseValue):
15517 (WebCore::CSSParser::parseSize):
15518 (WebCore::CSSParser::parseSizeParameter):
15520 (WebCore::CSSParser::):
15521 * css/CSSValueKeywords.in:
15523 2010-04-27 Yuzo Fujishima <yuzo@google.com>
15525 Reviewed by Eric Seidel.
15527 Enhance CSS parser for Paged Media (Iteration 2)
15528 Parse and hold paged media rules in CSSStyleSelector.
15530 https://bugs.webkit.org/show_bug.cgi?id=35782
15532 Test: printing/page-rule-css-text.html
15534 * css/CSSGrammar.y:
15535 * css/CSSPageRule.cpp:
15536 (WebCore::CSSPageRule::CSSPageRule):
15537 (WebCore::CSSPageRule::selectorText):
15538 * css/CSSPageRule.h:
15539 (WebCore::CSSPageRule::create):
15540 (WebCore::CSSPageRule::isPageRule):
15541 * css/CSSParser.cpp:
15542 (WebCore::CSSParser::createPageRule):
15543 * css/CSSStyleRule.h:
15544 * css/CSSStyleSelector.cpp:
15545 (WebCore::CSSRuleSet::getPageRules):
15546 (WebCore::CSSRuleSet::CSSRuleSet):
15547 (WebCore::CSSRuleSet::~CSSRuleSet):
15548 (WebCore::CSSRuleSet::addPageRule):
15549 (WebCore::CSSRuleSet::addRulesFromSheet):
15550 * css/CSSStyleSelector.h:
15552 (WebCore::StyleBase::isPageRule):
15554 2010-04-27 Daniel Bates <dbates@rim.com>
15556 Reviewed by Oliver Hunt.
15558 https://bugs.webkit.org/show_bug.cgi?id=37686
15560 Fixes an issue where the canvas method strokeRect will stroke a
15561 rectangle whose dimensions are 0 when lineWidth > 1.
15563 As per the definition of strokeRect in the HTML Canvas 2D Context
15564 spec. <http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect>,
15565 this method should have no effect when both the height and width
15568 Tests: fast/canvas/canvas-clearRect.html
15569 fast/canvas/canvas-fillRect.html
15571 * html/canvas/CanvasRenderingContext2D.cpp:
15572 (WebCore::validateRectForCanvas): Return false if height, width == 0.
15574 2010-04-27 Adam Barth <abarth@webkit.org>
15576 Reviewed by Eric Seidel.
15578 Remove obsolete custom bindings file
15579 https://bugs.webkit.org/show_bug.cgi?id=38223
15581 We don't need these files anymore because they are empty.
15583 * Android.jscbindings.mk:
15586 * WebCore.vcproj/WebCore.vcproj:
15587 * WebCore.xcodeproj/project.pbxproj:
15588 * bindings/js/JSAbstractWorkerCustom.cpp: Removed.
15589 * bindings/js/JSBindingsAllInOne.cpp:
15590 * bindings/js/JSDocumentFragmentCustom.cpp: Removed.
15591 * bindings/js/JSEventSourceCustom.cpp: Removed.
15593 2010-04-27 Daniel Cheng <dcheng@chromium.org>
15595 Reviewed by Jian Li.
15597 [Chromium] Filter out URLs with a file scheme from text/uri-list when dragging.
15598 https://bugs.webkit.org/show_bug.cgi?id=38227
15600 Unfortunately, the simple fix of not populating the drag data with file URLs doesn't work
15601 since the default drop handling uses the drag data URL to navigate to dropped files/URLs.
15602 For now, we hack around the problem in the Chromium platform, but the proper long term
15603 solution is to change DragController::performDrag to check dragData::asFilenames().
15607 * platform/chromium/ClipboardChromium.cpp:
15608 (WebCore::ClipboardChromium::getData):
15609 (WebCore::ClipboardChromium::types):
15611 2010-04-27 Simon Fraser <simon.fraser@apple.com>
15613 Reviewed by the inimitable Dan Bernstein.
15615 SVG as background image renders incorrectly after zooming
15616 https://bugs.webkit.org/show_bug.cgi?id=38215
15618 When doing a partial redraw of an SVGImage used as a CSS background
15619 image, we're limited to drawing the entire Frame, clipped to the dirty rect.
15620 Because of this, we need to fix up the CTM so that the origin is at the
15621 top left of the unclipped image, rather than the top left of the
15622 portion being redrawn.
15624 Test: fast/images/svg-background-partial-redraw.html
15626 * svg/graphics/SVGImage.cpp:
15627 (WebCore::SVGImage::draw):
15629 2010-04-27 Yuzo Fujishima <yuzo@google.com>
15631 Reviewed by David Hyatt.
15633 Retry of: Enhance CSS parser for Paged Media (Iteration 1)
15635 In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
15636 The contents of the methods should be implemented by other changes.
15638 https://bugs.webkit.org/show_bug.cgi?id=35329
15640 Test: fast/css/parsing-page-rule.html
15642 * css/CSSGrammar.y:
15643 * css/CSSParser.cpp:
15644 (WebCore::CSSParser::CSSParser):
15645 (WebCore::CSSParser::clearProperties):
15646 (WebCore::CSSParser::createPageRule):
15647 (WebCore::CSSParser::createMarginAtRule):
15648 (WebCore::CSSParser::startDeclarationsForMarginBox):
15649 (WebCore::CSSParser::endDeclarationsForMarginBox):
15651 * css/CSSSelector.cpp:
15652 (WebCore::CSSSelector::pseudoId):
15653 (WebCore::nameToPseudoTypeMap):
15654 (WebCore::CSSSelector::extractPseudoType):
15655 * css/CSSSelector.h:
15656 (WebCore::CSSSelector::):
15657 * css/tokenizer.flex:
15659 2010-04-27 Julien Chaffraix <jchaffraix@webkit.org>
15661 Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.
15663 * loader/DocumentThreadableLoader.cpp:
15664 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
15665 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
15666 (WebCore::DocumentThreadableLoader::loadRequest):
15668 2010-04-27 Julien Chaffraix <jchaffraix@webkit.org>
15670 Reviewed by Alexey Proskuryakov.
15672 [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
15673 https://bugs.webkit.org/show_bug.cgi?id=37781
15674 <rdar://problem/7905150>
15676 Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
15677 http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
15679 * loader/DocumentThreadableLoader.cpp:
15680 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
15681 credential from the request here to avoid forgetting to do so in the different code path.
15682 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
15684 (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
15685 been removed so that we don't leak them. Also tweaked a comment to make it clear that
15686 the URL check has issue when credential is involved.
15688 2010-04-27 Sam Weinig <sam@webkit.org>
15690 Reviewed by Maciej Stachowiak.
15692 Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
15693 Allow both WebKit and WebKit2 to link to the same WebCore.framework
15695 * Configurations/WebCore.xcconfig: Use -allowable_client WebKit2 to add
15696 WebKit2 to the list of frameworks that can link directly to WebCore. It
15697 is not necessary for it to be an umbrella since we don't need to reexport
15700 2010-04-27 Dumitru Daniliuc <dumi@chromium.org>
15702 Reviewed by David Levin.
15704 Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases.
15705 https://bugs.webkit.org/show_bug.cgi?id=38191
15707 Vacuum all databases when the number of free pages is at least 10%
15708 of the number of total pages. Also, add a guard against a bug that
15709 was fixed in SQLite only starting with version 3.6.16.
15711 * platform/sql/SQLiteDatabase.cpp:
15712 (WebCore::SQLiteDatabase::maximumSize):
15713 (WebCore::SQLiteDatabase::freeSpaceSize):
15714 (WebCore::SQLiteDatabase::totalSize):
15715 (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
15716 (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
15717 * platform/sql/SQLiteDatabase.h:
15718 (WebCore::SQLiteDatabase::):
15719 * platform/sql/SQLiteStatement.cpp:
15720 (WebCore::SQLiteStatement::prepare):
15721 (WebCore::SQLiteStatement::step):
15722 * storage/Database.cpp:
15723 (WebCore::Database::performOpenAndVerify):
15724 (WebCore::Database::incrementalVacuumIfNeeded):
15725 * storage/Database.h:
15726 * storage/SQLTransaction.cpp:
15727 (WebCore::SQLTransaction::postflightAndCommit):
15729 2010-04-27 Garret Kelly <gdk@chromium.org>
15731 Reviewed by Darin Fisher.
15733 Turn all of the touch event handlers into RuntimeEnabledFeatures, and
15734 modify the createEvent methond on Document so that it won't create a
15735 TouchEvent if the feature is disabled.
15736 https://bugs.webkit.org/show_bug.cgi?id=37485
15738 * bindings/generic/RuntimeEnabledFeatures.cpp:
15739 * bindings/generic/RuntimeEnabledFeatures.h:
15740 (WebCore::RuntimeEnabledFeatures::touchEnabled):
15741 (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
15742 (WebCore::RuntimeEnabledFeatures::ontouchstartEnabled):
15743 (WebCore::RuntimeEnabledFeatures::ontouchmoveEnabled):
15744 (WebCore::RuntimeEnabledFeatures::ontouchendEnabled):
15745 (WebCore::RuntimeEnabledFeatures::ontouchcancelEnabled):
15746 * dom/Document.cpp:
15747 (WebCore::Document::createEvent):
15748 * dom/Document.idl:
15750 * page/DOMWindow.idl:
15752 2010-04-27 Jens Alfke <snej@chromium.org>
15754 Reviewed by Darin Fisher.
15756 [Chromium] Add some notifications and an accessor to WebKit API
15757 https://bugs.webkit.org/show_bug.cgi?id=37625
15760 (WebCore::Node::hasNonEmptyBoundingBox): New method.
15762 * html/HTMLAnchorElement.cpp:
15763 (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
15765 2010-04-27 Jochen Eisinger <jochen@chromium.org>
15767 Reviewed by Shinichiro Hamaji.
15769 Fix gyp build on Mac OS X with enable_svg=0.
15770 https://bugs.webkit.org/show_bug.cgi?id=38192
15772 * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0.
15773 * css/CSSComputedStyleDeclaration.cpp:
15774 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement.
15776 2010-04-27 Kinuko Yasuda <kinuko@chromium.org>
15778 Reviewed by Jian Li.
15780 [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
15781 https://bugs.webkit.org/show_bug.cgi?id=38207
15785 * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
15787 2010-04-27 François Sausset <sausset@gmail.com>
15789 Reviewed by Kenneth Rohde Christiansen.
15791 Implementation of the MathML mroot & msqrt elements.
15792 https://bugs.webkit.org/show_bug.cgi?id=37044
15794 Test: mathml/presentation/roots.xhtml
15796 * WebCore.xcodeproj/project.pbxproj:
15800 (mroot > * + mrow, mroot > * + mfenced):
15801 * mathml/MathMLInlineContainerElement.cpp:
15802 (WebCore::MathMLInlineContainerElement::createRenderer):
15803 * mathml/RenderMathMLRoot.cpp: Added.
15804 (WebCore::RenderMathMLRoot::RenderMathMLRoot):
15805 (WebCore::RenderMathMLRoot::addChild):
15806 (WebCore::RenderMathMLRoot::paint):
15807 (WebCore::RenderMathMLRoot::layout):
15808 * mathml/RenderMathMLRoot.h: Added.
15809 * mathml/RenderMathMLSquareRoot.cpp: Added.
15810 (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
15811 (WebCore::RenderMathMLSquareRoot::paint):
15812 (WebCore::RenderMathMLSquareRoot::layout):
15813 * mathml/RenderMathMLSquareRoot.h: Added.
15815 2010-04-27 Darin Adler <darin@apple.com>
15817 Reviewed by Maciej Stachowiak.
15819 I noticed an unused forwarding header.
15821 * ForwardingHeaders/runtime/PropertyMap.h: Removed.
15823 2010-04-27 James Robinson <jamesr@chromium.org>
15825 Reviewed by Adam Barth.
15827 Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code.
15828 https://bugs.webkit.org/show_bug.cgi?id=38153
15830 * bindings/scripts/CodeGeneratorV8.pm:
15831 * bindings/v8/V8Proxy.cpp:
15832 (WebCore::V8Proxy::callFunction):
15834 2010-04-27 Eric Seidel <eric@webkit.org>
15836 Unreviewed, rolling out r58318.
15837 http://trac.webkit.org/changeset/58318
15838 https://bugs.webkit.org/show_bug.cgi?id=37215
15840 Broke test on Tiger. Might just need updated results,
15843 * inspector/InspectorController.cpp:
15844 (WebCore::InspectorController::didReceiveResponse):
15845 (WebCore::InspectorController::didFailLoading):
15846 * inspector/front-end/Resource.js:
15847 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
15848 * inspector/front-end/ResourcesPanel.js:
15849 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
15851 2010-04-27 Evan Martin <evan@chromium.org>
15853 Reviewed by David Levin.
15855 [chromium] bold bengali text not rendered properly on Linux
15856 https://bugs.webkit.org/show_bug.cgi?id=37904
15858 We must let Skia do font fallback, rather than picking a font name
15859 then handing that to Skia. For example, if we have Bengali text and
15860 choose FreeSans + fake bold, and then later reuse the name, Skia will
15861 helpfully use FreeSansBold (which doesn't cover Bengali).
15863 Test: fast/text/international/bold-bengali.html
15865 * platform/graphics/chromium/FontCacheLinux.cpp:
15866 (WebCore::FontCache::getFontDataForCharacters):
15868 2010-04-27 James Robinson <jamesr@chromium.org>
15870 Reviewed by Darin Adler.
15872 Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
15873 https://bugs.webkit.org/show_bug.cgi?id=38158
15875 Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
15876 and functions mixed in.
15878 * platform/graphics/chromium/FontLinux.cpp:
15879 (WebCore::adjustTextRenderMode):
15880 (WebCore::TextRunWalker::getTextRun):
15881 (WebCore::TextRunWalker::getNormalizedTextRun):
15882 (WebCore::TextRunWalker::setGlyphXPositions):
15883 (WebCore::glyphIndexForXPositionInScriptRun):
15884 (WebCore::Font::offsetForPositionForComplexText):
15885 (WebCore::Font::selectionRectForComplexText):
15886 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
15887 (WebCore::FontPlatformData::setupPaint):
15888 * platform/graphics/chromium/HarfbuzzSkia.cpp:
15889 (WebCore::getOutlinePoint):
15890 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
15891 (WebCore::GraphicsContext3D::getImageData):
15892 * platform/graphics/skia/GraphicsContextSkia.cpp:
15893 (WebCore::isCoordinateSkiaSafe):
15894 (WebCore::GraphicsContext::fillRect):
15895 (WebCore::GraphicsContext::strokePath):
15896 (WebCore::GraphicsContext::strokeRect):
15898 2010-04-27 Jian Li <jianli@chromium.org>
15900 Reviewed by Darin Adler.
15902 Sending a package file using FormData crashes WebKit on Mac.
15903 https://bugs.webkit.org/show_bug.cgi?id=37882
15905 Can't add a layout test because DRT does not support generating the file name.
15907 * loader/FrameLoader.cpp:
15908 (WebCore::FrameLoader::submitForm):
15909 (WebCore::FrameLoader::navigateToDifferentDocument):
15910 * platform/network/FormData.cpp:
15911 (WebCore::FormData::appendDOMFormData):
15912 * platform/network/FormData.h:
15913 * xml/XMLHttpRequest.cpp:
15914 (WebCore::XMLHttpRequest::send):
15916 2010-04-27 Adam Barth <abarth@webkit.org>
15918 Reviewed by Eric Seidel.
15920 Remove custom NodeIterator bindings
15921 https://bugs.webkit.org/show_bug.cgi?id=38188
15923 Another example of CallWith=ScriptState. This case shows us the right
15924 way to handle the interaction with exception codes.
15926 In my previous patch, I put the exception code handling after the
15927 ScriptState exception handling. It turns out this was a mistake
15928 (although a harmless one at the time because no IDL caused us to
15929 generate that code). Now that we're generating both kinds of exception
15930 handling, we need to generate them in the right order.
15933 * bindings/js/JSNodeIteratorCustom.cpp:
15934 * bindings/scripts/CodeGeneratorJS.pm:
15935 * bindings/scripts/CodeGeneratorV8.pm:
15936 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
15937 (webkit_dom_test_obj_with_script_state_void_exception):
15938 (webkit_dom_test_obj_with_script_state_obj_exception):
15939 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
15940 * bindings/scripts/test/JS/JSTestObj.cpp:
15942 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
15943 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
15944 * bindings/scripts/test/JS/JSTestObj.h:
15945 * bindings/scripts/test/ObjC/DOMTestObj.h:
15946 * bindings/scripts/test/ObjC/DOMTestObj.mm:
15947 (-[DOMTestObj withScriptStateVoidException]):
15948 (-[DOMTestObj withScriptStateObjException]):
15949 * bindings/scripts/test/TestObj.idl:
15950 * bindings/scripts/test/V8/V8TestObj.cpp:
15951 (WebCore::TestObjInternal::withScriptStateVoidCallback):
15952 (WebCore::TestObjInternal::withScriptStateObjCallback):
15953 (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback):
15954 (WebCore::TestObjInternal::withScriptStateObjExceptionCallback):
15956 * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
15957 * dom/NodeIterator.idl:
15959 2010-04-27 Adam Barth <abarth@webkit.org>
15961 Reviewed by Darin Adler.
15963 Remove copy/paste addEventListener "custom" bindings via code generation
15964 https://bugs.webkit.org/show_bug.cgi?id=38210
15966 It's somewhat lame to special case addEventListener and
15967 removeEventListener in the code generator, but it saves a large amount
15968 of boilerplate "custom" bindings code.
15970 Idea shamelessly stolen from the V8 code generator.
15972 This patch points to some good refactoring opportunities in
15973 CodeGeneratorJS.pm, but I'm going to hold off on those for a future
15974 patch. By generating test coverage for the code generator, we make
15975 these future refactorings easier.
15977 * bindings/js/JSAbstractWorkerCustom.cpp:
15978 * bindings/js/JSDOMApplicationCacheCustom.cpp:
15979 * bindings/js/JSDesktopNotificationsCustom.cpp:
15980 * bindings/js/JSEventSourceCustom.cpp:
15981 * bindings/js/JSMessagePortCustom.cpp:
15982 * bindings/js/JSNodeCustom.cpp:
15983 * bindings/js/JSSVGElementInstanceCustom.cpp:
15984 * bindings/js/JSWebSocketCustom.cpp:
15985 * bindings/js/JSWorkerContextCustom.cpp:
15986 * bindings/js/JSXMLHttpRequestCustom.cpp:
15987 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15988 * bindings/scripts/CodeGeneratorJS.pm:
15989 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
15990 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
15991 * bindings/scripts/test/JS/JSTestObj.cpp:
15993 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
15994 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
15995 * bindings/scripts/test/JS/JSTestObj.h:
15996 * bindings/scripts/test/ObjC/DOMTestObj.h:
15997 * bindings/scripts/test/ObjC/DOMTestObj.mm:
15998 (-[DOMTestObj addEventListener:listener:useCapture:]):
15999 (-[DOMTestObj removeEventListener:listener:useCapture:]):
16000 * bindings/scripts/test/TestObj.idl:
16001 * bindings/scripts/test/V8/V8TestObj.cpp:
16002 (WebCore::TestObjInternal::addEventListenerCallback):
16003 (WebCore::TestObjInternal::removeEventListenerCallback):
16005 * dom/MessagePort.idl:
16007 * loader/appcache/DOMApplicationCache.idl:
16008 * notifications/Notification.idl:
16009 * page/EventSource.idl:
16010 * svg/SVGElementInstance.idl:
16011 * websockets/WebSocket.idl:
16012 * workers/AbstractWorker.idl:
16013 * workers/WorkerContext.idl:
16014 * xml/XMLHttpRequest.idl:
16015 * xml/XMLHttpRequestUpload.idl:
16017 2010-04-27 Sam Weinig <sam@webkit.org>
16019 Rubber-stamped by Beth Dakin.
16021 Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
16023 * page/EventHandler.cpp:
16024 (WebCore::EventHandler::EventHandler):
16025 (WebCore::EventHandler::clearDragState):
16026 * page/EventHandler.h:
16027 * page/mac/DragControllerMac.mm:
16028 * page/mac/EventHandlerMac.mm:
16029 * platform/mac/PopupMenuMac.mm:
16031 2010-04-27 Ben Murdoch <benm@google.com>
16033 Reviewed by Simon Hausmann.
16035 The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.
16036 https://bugs.webkit.org/show_bug.cgi?id=37609
16038 No new tests required, only updating documentation.
16040 * page/EventHandler.cpp:
16041 (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling
16042 the TouchStationary state as a result of discussions in bug 37609.
16044 2010-04-27 Simon Fraser <simon.fraser@apple.com>
16046 Reviewed by Darin Adler, Maciej Stachowiak.
16048 REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
16049 https://bugs.webkit.org/show_bug.cgi?id=38183
16051 Rather than sprinkle PLATFORM #ifdefs around, add a new method,
16052 RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether
16053 an iframe with composited content should trigger compositing mode in the enclosing document
16054 (a behavior that differs between platforms).
16056 Use this new method to determine whether to trigger a style recalc in the parent document
16057 when an iframe becomes composited.
16059 Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
16061 * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added.
16062 * manual-tests/compositing/resources/flash-frame.html: Added.
16063 * manual-tests/compositing/resources/tab-repaint-part-2.html: Added.
16064 * rendering/RenderLayerCompositor.cpp:
16065 (WebCore::RenderLayerCompositor::enableCompositingMode):
16066 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent):
16067 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
16068 * rendering/RenderLayerCompositor.h:
16069 * rendering/RenderView.cpp:
16070 * rendering/RenderView.h:
16072 2010-04-27 Andrey Kosyakov <caseq@chromium.org>
16074 Reviewed by Yury Semikhatsky.
16076 Log error message to inspector console if a resource fails to load.
16077 Disable checking of mime-type consistency for failed resources.
16078 https://bugs.webkit.org/show_bug.cgi?id=37215
16080 Test: http/tests/inspector/console-resource-errors.html
16082 * inspector/InspectorController.cpp:
16083 (WebCore::InspectorController::didReceiveResponse):
16084 (WebCore::InspectorController::didFailLoading):
16085 * inspector/front-end/Resource.js:
16086 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
16087 * inspector/front-end/ResourcesPanel.js:
16088 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
16090 2010-04-27 Vitaly Repeshko <vitalyr@chromium.org>
16092 Reviewed by Nate Chapin.
16094 [V8] Fix XHR memory leak in GC controller.
16095 https://bugs.webkit.org/show_bug.cgi?id=38202
16097 http://trac.webkit.org/changeset/55798 simplified processing of
16098 active DOM objects but introduced a subtle bug in garbage
16099 collection of XHRs. ActiveDOMObject is not a direct base class of
16100 XHR and so upcasting changes pointer identity and breaks DOM
16101 maps. This leads to forever live persistent handles to XHR that
16102 had pending activity while V8 GC happened.
16104 * bindings/v8/V8GCController.cpp:
16105 (WebCore::GCEpilogueVisitor::visitDOMWrapper):
16107 2010-04-27 Adam Barth <abarth@webkit.org>
16109 Unreviewed. Regenerate reference bindings code generator output.
16111 * bindings/scripts/test/V8/V8TestObj.cpp:
16112 (WebCore::TestObjInternal::withScriptStateVoidCallback):
16113 (WebCore::TestObjInternal::withScriptStateObjCallback):
16115 2010-04-27 Joseph Pecoraro <joepeck@webkit.org>
16117 Reviewed by Dan Bernstein.
16119 <input type="search"> with uneven padding causes text clipping
16120 https://bugs.webkit.org/show_bug.cgi?id=38160
16122 Test: fast/css/input-search-padding.html
16124 An <input type="search"> contains an inner block, which is explicitly
16125 centered in RenderTextControlSingleLine based on the height of the element.
16126 However, the clipping rect was not using the set location, and instead
16127 calculated off of the top border and padding alone. This also vertically
16128 centers the Caps Lock indicator.
16130 * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
16131 * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
16132 * rendering/RenderTextControlSingleLine.cpp:
16133 (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
16134 (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
16135 * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
16137 2010-04-27 Thomas Zander <t.zander@nokia.com>
16139 Reviewed by Simon Hausmann.
16141 [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
16143 Disable thumb mode due to library size limitations, just like it's done
16144 for the sbs/sbsv2 based build system.
16148 2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16150 Reviewed by Kenneth Rohde Christiansen.
16152 [Qt] Make sure WebKit is not compiled using C++0x.
16153 https://bugs.webkit.org/show_bug.cgi?id=37867
16155 As the rest of Qt compiles in the C++0x mode, people might start
16156 compiling it in this mode. WebKit don't support this yet.
16158 Patch by Thiago Macieira <thiago.macieira@nokia.com>
16162 2010-04-27 Jeremy Orlow <jorlow@chromium.org>
16164 Unreviewed build fix.
16166 Revert 58274 and 58269 (WebSQLDatabase changes)
16167 https://bugs.webkit.org/show_bug.cgi?id=38191
16169 Chromium bots are hitting ASSERTS when running layout tests.
16171 * platform/sql/SQLiteDatabase.cpp:
16172 (WebCore::SQLiteDatabase::maximumSize):
16173 (WebCore::SQLiteDatabase::freeSpaceSize):
16174 * platform/sql/SQLiteDatabase.h:
16175 * platform/sql/SQLiteStatement.cpp:
16176 (WebCore::SQLiteStatement::prepare):
16177 * storage/Database.cpp:
16178 (WebCore::Database::performOpenAndVerify):
16179 * storage/Database.h:
16180 * storage/SQLTransaction.cpp:
16181 (WebCore::SQLTransaction::postflightAndCommit):
16183 2010-04-27 Yuzo Fujishima <yuzo@google.com>
16185 Unreviewed, fix build breakage by reverting r58299.
16187 * css/CSSGrammar.y:
16188 * css/CSSParser.cpp:
16189 (WebCore::CSSParser::CSSParser):
16190 (WebCore::CSSParser::clearProperties):
16192 * css/CSSSelector.cpp:
16193 (WebCore::CSSSelector::pseudoId):
16194 (WebCore::nameToPseudoTypeMap):
16195 (WebCore::CSSSelector::extractPseudoType):
16196 * css/CSSSelector.h:
16197 (WebCore::CSSSelector::):
16198 * css/tokenizer.flex:
16200 2010-04-27 Yuzo Fujishima <yuzo@google.com>
16202 Reviewed by Shinichiro Hamaji.
16204 WebCore::CSSSelector::RareData::parseNth doesn't check whether the search for '-' in the argument was successful.
16205 This results in incorrect parsing.
16206 For example, '3n' is parsed as if it were '3n-3'. The code has been working OK just accidentally.
16208 https://bugs.webkit.org/show_bug.cgi?id=37787
16210 No new tests are added because the original behavior is accidentally OK.
16212 * css/CSSSelector.cpp:
16213 (WebCore::CSSSelector::RareData::parseNth):
16215 2010-04-27 Yuzo Fujishima <yuzo@google.com>
16217 Reviewed by David Hyatt.
16219 Enhance CSS parser for Paged Media (Iteration 1)
16221 In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
16222 The contents of the methods should be implemented by other changes.
16224 https://bugs.webkit.org/show_bug.cgi?id=35329
16226 Test: fast/css/parsing-page-rule.html
16228 * css/CSSGrammar.y:
16229 * css/CSSParser.cpp:
16230 (WebCore::CSSParser::CSSParser):
16231 (WebCore::CSSParser::clearProperties):
16232 (WebCore::CSSParser::lex):
16233 (WebCore::CSSParser::text):
16234 (WebCore::CSSParser::createPageRule):
16235 (WebCore::CSSParser::createMarginAtRule):
16236 (WebCore::CSSParser::startDeclarationsForMarginBox):
16237 (WebCore::CSSParser::endDeclarationsForMarginBox):
16239 * css/CSSSelector.cpp:
16240 (WebCore::CSSSelector::extractPseudoType):
16241 * css/CSSSelector.h:
16242 (WebCore::CSSSelector::):
16243 * css/tokenizer.flex:
16245 2010-04-27 Adam Barth <abarth@webkit.org>
16247 Reviewed by Eric Seidel.
16249 Remove custom bindings for TreeWalker
16250 https://bugs.webkit.org/show_bug.cgi?id=38182
16252 This custom code is just CallWith=ScriptState.
16255 * bindings/js/JSTreeWalkerCustom.cpp:
16256 (WebCore::JSTreeWalker::markChildren):
16257 * bindings/scripts/CodeGeneratorJS.pm:
16258 * bindings/scripts/CodeGeneratorV8.pm:
16259 * bindings/scripts/test/TestObj.idl:
16260 * bindings/v8/custom/V8TreeWalkerCustom.cpp: Removed.
16261 * dom/TreeWalker.idl:
16263 2010-04-27 Eric Seidel <eric@webkit.org>
16265 Reviewed by Adam Barth.
16267 Move code out of GenerateImplementation to make it more smaller
16268 https://bugs.webkit.org/show_bug.cgi?id=38176
16270 * bindings/scripts/CodeGeneratorJS.pm:
16271 - Move some code into a new GenerateAttributesHashTable method.
16273 2010-04-26 Adam Barth <abarth@webkit.org>
16275 Reviewed by Eric Seidel.
16277 Add CallWith=DynamicFrame to CodeGenerator
16278 https://bugs.webkit.org/show_bug.cgi?id=38174
16280 I've only used this in one instance, but this is infrastructure that I
16281 think will help remove a bunch of custom bindings code. Also, added a
16282 few tests of tricky argument cases.
16284 * bindings/js/JSHTMLFormElementCustom.cpp:
16285 * bindings/scripts/CodeGeneratorJS.pm:
16286 * bindings/scripts/CodeGeneratorV8.pm:
16287 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
16288 (webkit_dom_test_obj_with_dynamic_frame):
16289 (webkit_dom_test_obj_with_dynamic_frame_and_arg):
16290 (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
16291 (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
16292 (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
16293 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
16294 * bindings/scripts/test/JS/JSTestObj.cpp:
16296 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
16297 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
16298 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
16299 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
16300 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
16301 * bindings/scripts/test/JS/JSTestObj.h:
16302 * bindings/scripts/test/ObjC/DOMTestObj.h:
16303 * bindings/scripts/test/ObjC/DOMTestObj.mm:
16304 (-[DOMTestObj withDynamicFrame]):
16305 (-[DOMTestObj withDynamicFrameAndArg:]):
16306 (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
16307 (-[DOMTestObj withDynamicFrameAndUserGesture:]):
16308 (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
16309 * bindings/scripts/test/TestObj.idl:
16310 * bindings/scripts/test/V8/V8TestObj.cpp:
16311 (WebCore::TestObjInternal::withDynamicFrameCallback):
16312 (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
16313 (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
16314 (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
16315 (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
16317 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
16318 * html/HTMLFormElement.idl:
16320 2010-04-26 Adam Barth <abarth@webkit.org>
16322 Unreviewed. Update comment to better reflect reality.
16324 * bindings/scripts/test/TestObj.idl:
16326 2010-04-26 Adam Barth <abarth@webkit.org>
16328 Reviewed by Eric Seidel.
16330 Add ObjC and GObject to run-bindings-test
16331 https://bugs.webkit.org/show_bug.cgi?id=38168
16333 Added expected results.
16335 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added.
16337 (webkit_dom_test_obj_void_method):
16338 (webkit_dom_test_obj_void_method_with_args):
16339 (webkit_dom_test_obj_int_method):
16340 (webkit_dom_test_obj_int_method_with_args):
16341 (webkit_dom_test_obj_obj_method):
16342 (webkit_dom_test_obj_obj_method_with_args):
16343 (webkit_dom_test_obj_method_with_exception):
16344 (webkit_dom_test_obj_method_with_optional_arg):
16345 (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
16346 (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
16347 (webkit_dom_test_obj_get_read_only_int_attr):
16348 (webkit_dom_test_obj_get_read_only_string_attr):
16349 (webkit_dom_test_obj_get_read_only_test_obj_attr):
16350 (webkit_dom_test_obj_get_int_attr):
16351 (webkit_dom_test_obj_set_int_attr):
16352 (webkit_dom_test_obj_get_string_attr):
16353 (webkit_dom_test_obj_set_string_attr):
16354 (webkit_dom_test_obj_get_test_obj_attr):
16355 (webkit_dom_test_obj_set_test_obj_attr):
16356 (webkit_dom_test_obj_get_attr_with_exception):
16357 (webkit_dom_test_obj_set_attr_with_exception):
16358 (webkit_dom_test_obj_get_attr_with_setter_exception):
16359 (webkit_dom_test_obj_set_attr_with_setter_exception):
16360 (webkit_dom_test_obj_get_attr_with_getter_exception):
16361 (webkit_dom_test_obj_set_attr_with_getter_exception):
16362 (WebKit::wrapTestObj):
16364 (webkit_dom_test_obj_finalize):
16365 (webkit_dom_test_obj_set_property):
16366 (webkit_dom_test_obj_get_property):
16367 (webkit_dom_test_obj_class_init):
16368 (webkit_dom_test_obj_init):
16369 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Added.
16370 * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h: Added.
16371 * bindings/scripts/test/ObjC/DOMTestObj.h: Added.
16372 * bindings/scripts/test/ObjC/DOMTestObj.mm: Added.
16373 (-[DOMTestObj dealloc]):
16374 (-[DOMTestObj finalize]):
16375 (-[DOMTestObj readOnlyIntAttr]):
16376 (-[DOMTestObj readOnlyStringAttr]):
16377 (-[DOMTestObj readOnlyTestObjAttr]):
16378 (-[DOMTestObj intAttr]):
16379 (-[DOMTestObj setIntAttr:]):
16380 (-[DOMTestObj stringAttr]):
16381 (-[DOMTestObj setStringAttr:]):
16382 (-[DOMTestObj testObjAttr]):
16383 (-[DOMTestObj setTestObjAttr:]):
16384 (-[DOMTestObj attrWithException]):
16385 (-[DOMTestObj setAttrWithException:]):
16386 (-[DOMTestObj attrWithSetterException]):
16387 (-[DOMTestObj setAttrWithSetterException:]):
16388 (-[DOMTestObj attrWithGetterException]):
16389 (-[DOMTestObj setAttrWithGetterException:]):
16390 (-[DOMTestObj customAttr]):
16391 (-[DOMTestObj setCustomAttr:]):
16392 (-[DOMTestObj voidMethod]):
16393 (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
16394 (-[DOMTestObj intMethod]):
16395 (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
16396 (-[DOMTestObj objMethod]):
16397 (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
16398 (-[DOMTestObj methodWithException]):
16399 (-[DOMTestObj customMethod]):
16400 (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
16401 (-[DOMTestObj methodWithOptionalArg:]):
16402 (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
16403 (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
16406 * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added.
16408 2010-04-26 Adam Barth <abarth@webkit.org>
16410 Reviewed by Eric Seidel.
16412 Add testing infrastructure for JSC bindings generator
16413 https://bugs.webkit.org/show_bug.cgi?id=38167
16415 This required moving the test files around a bit more.
16417 * bindings/scripts/test/JS/JSTestObj.cpp: Added.
16419 (WebCore::JSTestObjConstructor::JSTestObjConstructor):
16420 (WebCore::JSTestObjConstructor::classInfo):
16421 (WebCore::JSTestObjConstructor::createStructure):
16422 (WebCore::JSTestObjConstructor::getOwnPropertySlot):
16423 (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
16424 (WebCore::JSTestObjPrototype::self):
16425 (WebCore::JSTestObjPrototype::getOwnPropertySlot):
16426 (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
16427 (WebCore::JSTestObj::JSTestObj):
16428 (WebCore::JSTestObj::~JSTestObj):
16429 (WebCore::JSTestObj::createPrototype):
16430 (WebCore::JSTestObj::getOwnPropertySlot):
16431 (WebCore::JSTestObj::getOwnPropertyDescriptor):
16432 (WebCore::jsTestObjReadOnlyIntAttr):
16433 (WebCore::jsTestObjReadOnlyStringAttr):
16434 (WebCore::jsTestObjReadOnlyTestObjAttr):
16435 (WebCore::jsTestObjIntAttr):
16436 (WebCore::jsTestObjStringAttr):
16437 (WebCore::jsTestObjTestObjAttr):
16438 (WebCore::jsTestObjAttrWithException):
16439 (WebCore::jsTestObjAttrWithSetterException):
16440 (WebCore::jsTestObjAttrWithGetterException):
16441 (WebCore::jsTestObjCustomAttr):
16442 (WebCore::jsTestObjConstructor):
16443 (WebCore::JSTestObj::put):
16444 (WebCore::setJSTestObjIntAttr):
16445 (WebCore::setJSTestObjStringAttr):
16446 (WebCore::setJSTestObjTestObjAttr):
16447 (WebCore::setJSTestObjAttrWithException):
16448 (WebCore::setJSTestObjAttrWithSetterException):
16449 (WebCore::setJSTestObjAttrWithGetterException):
16450 (WebCore::setJSTestObjCustomAttr):
16451 (WebCore::JSTestObj::getConstructor):
16452 (WebCore::jsTestObjPrototypeFunctionVoidMethod):
16453 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
16454 (WebCore::jsTestObjPrototypeFunctionIntMethod):
16455 (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
16456 (WebCore::jsTestObjPrototypeFunctionObjMethod):
16457 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
16458 (WebCore::jsTestObjPrototypeFunctionMethodWithException):
16459 (WebCore::jsTestObjPrototypeFunctionCustomMethod):
16460 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
16461 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
16462 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
16463 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
16465 (WebCore::toTestObj):
16466 * bindings/scripts/test/JS/JSTestObj.h: Added.
16467 (WebCore::JSTestObj::classInfo):
16468 (WebCore::JSTestObj::createStructure):
16469 (WebCore::JSTestObj::impl):
16470 (WebCore::JSTestObjPrototype::classInfo):
16471 (WebCore::JSTestObjPrototype::createStructure):
16472 (WebCore::JSTestObjPrototype::JSTestObjPrototype):
16473 * bindings/scripts/test/TestObj.idl:
16474 * bindings/scripts/test/V8/V8TestObj.cpp: Renamed from WebCore/bindings/scripts/test/V8TestObj.cpp.
16476 (WebCore::TestObjInternal::V8_USE):
16477 (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
16478 (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
16479 (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
16480 (WebCore::TestObjInternal::intAttrAttrGetter):
16481 (WebCore::TestObjInternal::intAttrAttrSetter):
16482 (WebCore::TestObjInternal::stringAttrAttrGetter):
16483 (WebCore::TestObjInternal::stringAttrAttrSetter):
16484 (WebCore::TestObjInternal::testObjAttrAttrGetter):
16485 (WebCore::TestObjInternal::testObjAttrAttrSetter):
16486 (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
16487 (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
16488 (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
16489 (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
16490 (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
16491 (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
16492 (WebCore::TestObjInternal::voidMethodCallback):
16493 (WebCore::TestObjInternal::voidMethodWithArgsCallback):
16494 (WebCore::TestObjInternal::intMethodCallback):
16495 (WebCore::TestObjInternal::intMethodWithArgsCallback):
16496 (WebCore::TestObjInternal::objMethodCallback):
16497 (WebCore::TestObjInternal::objMethodWithArgsCallback):
16498 (WebCore::TestObjInternal::methodWithExceptionCallback):
16499 (WebCore::TestObjInternal::methodWithOptionalArgCallback):
16500 (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
16501 (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
16502 (WebCore::TestObjInternal::overloadedMethod1Callback):
16503 (WebCore::TestObjInternal::overloadedMethod2Callback):
16504 (WebCore::TestObjInternal::overloadedMethod3Callback):
16505 (WebCore::TestObjInternal::overloadedMethod4Callback):
16506 (WebCore::TestObjInternal::overloadedMethodCallback):
16507 (WebCore::ConfigureV8TestObjTemplate):
16508 (WebCore::V8TestObj::GetRawTemplate):
16509 (WebCore::V8TestObj::GetTemplate):
16510 (WebCore::V8TestObj::toNative):
16511 (WebCore::V8TestObj::HasInstance):
16512 (WebCore::V8TestObj::wrap):
16514 (WebCore::V8TestObj::derefObject):
16515 * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h.
16517 2010-04-26 Oliver Hunt <oliver@apple.com>
16519 Reviewed by Gavin Barraclough.
16521 Need to support more efficient dispatch of lightweight builtins
16522 https://bugs.webkit.org/show_bug.cgi?id=38155
16524 Update bindings generation to include new thunk generator field
16525 in the property map hash tables.
16527 * bindings/scripts/CodeGeneratorJS.pm:
16529 2010-04-26 Adam Barth <abarth@webkit.org>
16531 Reviewed by Eric Seidel.
16533 Move bindings test directory into the scripts directory
16534 https://bugs.webkit.org/show_bug.cgi?id=38161
16536 This test is really of the bindings scripts not of the bindings
16537 themselves. By moving the files into the scripts directory, we'll be
16538 able to test JSC as well.
16540 * bindings/scripts/test/TestObj.idl: Renamed from WebCore/bindings/v8/test/TestObj.idl.
16541 * bindings/scripts/test/V8TestObj.cpp: Renamed from WebCore/bindings/v8/test/V8TestObj.cpp.
16543 (WebCore::TestObjInternal::V8_USE):
16544 (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
16545 (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
16546 (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
16547 (WebCore::TestObjInternal::intAttrAttrGetter):
16548 (WebCore::TestObjInternal::intAttrAttrSetter):
16549 (WebCore::TestObjInternal::stringAttrAttrGetter):
16550 (WebCore::TestObjInternal::stringAttrAttrSetter):
16551 (WebCore::TestObjInternal::testObjAttrAttrGetter):
16552 (WebCore::TestObjInternal::testObjAttrAttrSetter):
16553 (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
16554 (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
16555 (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
16556 (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
16557 (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
16558 (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
16559 (WebCore::TestObjInternal::voidMethodCallback):
16560 (WebCore::TestObjInternal::voidMethodWithArgsCallback):
16561 (WebCore::TestObjInternal::intMethodCallback):
16562 (WebCore::TestObjInternal::intMethodWithArgsCallback):
16563 (WebCore::TestObjInternal::objMethodCallback):
16564 (WebCore::TestObjInternal::objMethodWithArgsCallback):
16565 (WebCore::TestObjInternal::methodWithExceptionCallback):
16566 (WebCore::TestObjInternal::methodWithOptionalArgCallback):
16567 (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
16568 (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
16569 (WebCore::TestObjInternal::overloadedMethod1Callback):
16570 (WebCore::TestObjInternal::overloadedMethod2Callback):
16571 (WebCore::TestObjInternal::overloadedMethod3Callback):
16572 (WebCore::TestObjInternal::overloadedMethod4Callback):
16573 (WebCore::TestObjInternal::overloadedMethodCallback):
16574 (WebCore::ConfigureV8TestObjTemplate):
16575 (WebCore::V8TestObj::GetRawTemplate):
16576 (WebCore::V8TestObj::GetTemplate):
16577 (WebCore::V8TestObj::toNative):
16578 (WebCore::V8TestObj::HasInstance):
16579 (WebCore::V8TestObj::wrap):
16581 (WebCore::V8TestObj::derefObject):
16582 * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h.
16584 2010-04-26 Daniel Cheng <dcheng@chromium.org>
16586 Reviewed by Jian Li.
16588 [chromium] Fix ChromiumDataObject::setURL to not populate its internal URL list with empty URLs.
16589 https://bugs.webkit.org/show_bug.cgi?id=38159
16593 * platform/chromium/ChromiumDataObject.h:
16594 (WebCore::ChromiumDataObject::setURL):
16596 2010-04-26 Daniel Cheng <dcheng@chromium.org>
16598 Reviewed by Jian Li.
16600 [Chromium] Don't make file paths available in text/uri-list when dragging files.
16601 https://bugs.webkit.org/show_bug.cgi?id=25882
16603 Test will be checked in with WebCore/platform/mac fix.
16605 * platform/chromium/ClipboardChromium.cpp:
16606 (WebCore::ClipboardChromium::getData):
16607 (WebCore::ClipboardChromium::types):
16609 2010-04-26 Maciej Stachowiak <mjs@apple.com>
16611 Reviewed by Darin Adler.
16613 REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
16614 https://bugs.webkit.org/show_bug.cgi?id=38131
16616 I did a number of separate optimizations which speed up style
16617 resolution enough to more than make up for the regression. This
16618 measures as a total PLT speedup of somewhere between 1.5% and
16621 Optimizations done:
16622 - Cache determineLinkState results, to avoid the need to repeatedly compute
16623 the visited link hash for the same element. This directly addresses much
16624 of the slowdown, since all elements get their style computed twice now.
16625 - Added a fast way to get the length of a CSSMutableStyleDeclaration, and use
16626 in CSSStyleSelector::matchRulesForList, since it was hot there.
16627 - Hoist some loop invariant code that's not detected by the compiler out of the
16628 main loop in matchRulesForList
16629 - inline CSSStyleSelector::initElement and locateSharedStyle,
16630 since there is only one call site in each case
16631 - Inline the common non-line fast case of determineLinkState, and split the rest into
16632 out-of-line determineLinkStateSlowCase.
16633 - Added inline versions of the functions called by
16634 visitedLinkHash (the version called by determineLinkState).
16636 * css/CSSMutableStyleDeclaration.cpp:
16637 (WebCore::CSSMutableStyleDeclaration::length): Implemented in terms of new
16638 inline nonvirtual mutableLength().
16639 * css/CSSMutableStyleDeclaration.h:
16640 (WebCore::CSSMutableStyleDeclaration::mutableLength): Added new nonvirtual
16641 inline way to get the length if you know you have a mutable style decl.
16642 * css/CSSStyleSelector.cpp:
16643 (WebCore::CSSStyleSelector::init): Clear cached link state.
16644 (WebCore::CSSStyleSelector::matchRulesForList): hoist some code out of the main
16645 loop and get style decl length more efficiently.
16646 (WebCore::CSSStyleSelector::initElement): inline (only one call site)
16647 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): Inline fast
16648 case, call slow case.
16649 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Split
16650 most of the above function into this slow case helper.
16651 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the cache-enabled
16652 way to get the current link state.
16653 (WebCore::CSSStyleSelector::locateSharedStyle): inline
16654 (WebCore::CSSStyleSelector::styleForElement): Use the cache-enabled way
16655 to get the current link state.
16656 * css/CSSStyleSelector.h:
16657 (WebCore::CSSStyleSelector::currentElementLinkState): inline way to
16658 get link state for the current element; manages the cache
16659 * platform/LinkHash.cpp:
16660 (WebCore::visitedLinkHashInline): inline version of below function
16661 (WebCore::visitedLinkHash): call the inline version
16662 (WebCore::visitedURLInline): inline version of below function
16663 (WebCore::visitedURL): call the inline version
16664 (WebCore::visitedURL): call inline versions of above two functions
16666 2010-04-26 Sam Weinig <sam@webkit.org>
16668 Reviewed by Alexey Proskuryakov.
16670 Remove last use of WEB_THREAD.
16672 * platform/mac/WebCoreObjCExtras.mm:
16673 (WebCoreObjCScheduleDeallocateOnMainThread): This can always use
16676 2010-04-26 Dumitru Daniliuc <dumi@chromium.org>
16678 Reviewed by Dimitri Glazkov.
16680 Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases, and
16681 vacuum all databases when the number of free pages is at least 10%
16682 of the number of total pages. Also, adding a guard against a bug
16683 that was fixed in SQLite only starting with version 3.6.16.
16685 https://bugs.webkit.org/show_bug.cgi?id=36251
16687 * platform/sql/SQLiteDatabase.cpp:
16688 (WebCore::SQLiteDatabase::totalSize):
16689 (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
16690 (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
16691 * platform/sql/SQLiteDatabase.h:
16692 * platform/sql/SQLiteStatement.cpp:
16693 (WebCore::SQLiteStatement::prepare):
16694 * storage/Database.cpp:
16695 (WebCore::Database::performOpenAndVerify):
16696 (WebCore::Database::incrementalVacuumIfNeeded):
16697 * storage/Database.h:
16698 * storage/SQLTransaction.cpp:
16699 (WebCore::SQLTransaction::postflightAndCommit):
16701 2010-04-26 Geoffrey Garen <ggaren@apple.com>
16703 Reviewed by Sam Weinig.
16705 <rdar://problem/7766413>
16707 Fixed a crash seen when using the JavaScriptCore API with WebKit.
16709 No layout test because DumpRenderTree doesn't use the JavaScriptCore API
16712 * bindings/js/JSEventListener.cpp:
16713 (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr.
16714 JavaScriptCore no longer allows this.
16716 * bindings/js/ScriptWrappable.h:
16717 (WebCore::ScriptWrappable::setWrapper): No need to initialize a WeakGCPtr
16718 to 0, or ASSERT a non-0 value before assigning to a WeakGCPtr -- both are
16721 2010-04-25 Sam Weinig <sam@webkit.org>
16723 Reviewed by Maciej Stachowiak.
16725 Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
16726 Disentangle initializing the main thread from initializing threading
16728 * WebCore.xcodeproj/project.pbxproj: Sort files.
16730 * accessibility/mac/AccessibilityObjectWrapper.mm: Remove unnessary
16731 +initialize method. The AccessibilityObjectWrapper has no data members
16732 that need to be derefed, so it does not need to be finalized on the main
16735 * bindings/js/ScriptController.cpp:
16736 (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
16737 * bindings/objc/WebScriptObject.mm:
16738 (+[WebScriptObject initialize]): Add call to initializeMainThreadToProcessMainThread.
16739 * bindings/v8/ScriptController.cpp:
16740 (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
16741 * platform/mac/SharedBufferMac.mm:
16742 (+[WebCoreSharedBufferData initialize]): Add call to initializeMainThreadToProcessMainThread.
16744 2010-04-26 Yongjun Zhang <yongjun_zhang@apple.com>
16746 Reviewed by Alexey Proskuryakov.
16748 https://bugs.webkit.org/show_bug.cgi?id=38128
16749 Don't add empty credential to CredentialStorage.
16751 An empty credential is currently regarded as a invalid login because it means a missing value in
16752 protectionSpaceToCredentialMap. This change makes it consistent with current WebCore's behavior
16753 by ignoring empty credentials.
16755 No new tests added since this only affects credential entered by user from credential dialog,
16756 which is not testable in DRT.
16758 * platform/network/mac/ResourceHandleMac.mm:
16759 (WebCore::ResourceHandle::receivedCredential):
16761 2010-04-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
16763 Reviewed by Simon Hausmann.
16765 [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately
16766 https://bugs.webkit.org/show_bug.cgi?id=38123
16768 HAVE_STDINT_H, and HAVE_PTHREAD_NP_H no longer needs to be defined
16769 for QtWebKit as JavaScriptCore is built separately. These defines are only
16770 used by JavaScriptCore and for JavaScriptCore these are already
16771 properly defined in JavaScriptCore/config.h.
16773 No new tests, no new functionality.
16777 2010-04-26 Roman Gershman <romange@google.com>
16779 Reviewed by Adam Barth.
16781 [Chromium] Font size in suggestions popup menu should be correlated with the font size of its text field.
16782 The following manual test checks for desired behavior.
16784 https://bugs.webkit.org/show_bug.cgi?id=37977
16786 * manual-tests/chromium/suggestions-popup-font-change.html: Added.
16788 2010-04-26 Luiz Agostini <luiz.agostini@openbossa.org>
16790 Reviewed by Kenneth Rohde Christiansen.
16792 View modes names in CSSValueKeywords.in
16793 https://bugs.webkit.org/show_bug.cgi?id=38125
16795 View mode names has changed in previous patch but CSSValueKeywords.in file was
16798 * css/CSSValueKeywords.in:
16800 2010-04-26 Simon Hausmann <simon.hausmann@nokia.com>
16802 Reviewed by Kenneth Rohde Christiansen.
16804 [Qt] Fix compilation with RVCT 4
16805 https://bugs.webkit.org/show_bug.cgi?id=37727
16807 Swap extern and declspec to fix visibility of symbol imported from QtGui.
16809 * page/qt/EventHandlerQt.cpp:
16811 2010-04-26 Ruben Van Boxem <vanboxem.ruben@gmail.com>
16813 Reviewed by Adam Roben.
16815 Fixes for Win64 compilation under gcc (mingw-w64)
16817 * WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298
16818 * WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems
16819 * WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath
16820 * WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath
16821 * WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath
16822 * WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath
16823 * WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64
16825 2010-04-26 Markus Goetz <Markus.Goetz@nokia.com>
16827 Reviewed by Simon Hausmann.
16829 [Qt] HTTP pipelining efficiency increase
16830 https://bugs.webkit.org/show_bug.cgi?id=38062
16832 Increase number of network requests that are fed into
16833 QNetworkAccessManager.
16835 * platform/network/qt/ResourceRequestQt.cpp:
16836 (WebCore::initializeMaximumHTTPConnectionCountPerHost):
16838 2010-04-26 Ilya Tikhonovsky <loislo@chromium.org>
16840 Reviewed by Yury Semikhatsky.
16842 Web Inspector: undefined shows up on inspector.
16843 https://bugs.webkit.org/show_bug.cgi?id=38120
16845 * inspector/front-end/ScriptsPanel.js:
16846 (WebInspector.ScriptsPanel.prototype.hide):
16847 * inspector/front-end/SourceFrame.js:
16848 (WebInspector.SourceFrame.prototype.set visible):
16850 2010-04-26 Bruno Schmidt <bruno.schmidt@gmail.com>
16852 Reviewed by Kenneth Rohde Christiansen.
16854 [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
16855 causes Segmentation Fault
16856 https://bugs.webkit.org/show_bug.cgi?id=34729
16858 If an QVariantMap containing QObjectStar is added to the to QtWebkit
16859 Javascript, it's use causes Segmentation Fault.
16860 It happens because, in the case QMetaType::QVariantMap, the "root"
16861 object that is inside of a PassRefPtr is passed recursively inside a
16862 loop to recover the content of the map, but the PassRefPtr semantics
16863 prohibit its use inside a loop, so the "root" object mus be passed
16864 using the method "PassRefPtr::get" in order to keep the current
16867 * bridge/qt/qt_runtime.cpp:
16868 (JSC::Bindings::convertValueToQVariant):
16869 (JSC::Bindings::convertQVariantToValue): change to root.get()
16871 2010-04-26 Pavel Feldman <pfeldman@chromium.org>
16873 Reviewed by Yury Semikhatsky.
16875 Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo".
16877 https://bugs.webkit.org/show_bug.cgi?id=38107
16879 * inspector/front-end/SummaryBar.js:
16880 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
16881 (WebInspector.SummaryBar.prototype._drawSummaryGraph):
16883 2010-04-26 Andreas Kling <andreas.kling@nokia.com>
16885 Reviewed by Tor Arne Vestbø.
16887 [Qt] Fix compilation against Qt 4.7
16889 Some QtMultimedia things have been moved into QtMediaServices
16890 https://bugs.webkit.org/show_bug.cgi?id=38111
16893 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
16894 (WebCore::MediaPlayerPrivate::supportsType):
16895 (WebCore::MediaPlayerPrivate::totalBytes):
16897 2010-04-26 Zoltan Herczeg <zherczeg@webkit.org>
16899 Reviewed by Dirk Schulze.
16901 Call setStrokeStyle in applyStrokeStyleToContext
16902 https://bugs.webkit.org/show_bug.cgi?id=37849
16904 Not all platforms set the stroke style to solid if they
16905 get an empty line dash array. Some just ignore the operation.
16907 * rendering/SVGRenderSupport.cpp:
16908 (WebCore::applyStrokeStyleToContext):
16910 2010-04-23 Ilya Tikhonovsky <loislo@chromium.org>
16912 Reviewed by Pavel Feldman.
16914 WebInspector: Aggregated stats of time spent in children records should be visible
16915 in the popup panel of parent record. Crash in pushGCEventRecord also was fixed.
16916 https://bugs.webkit.org/show_bug.cgi?id=37820
16918 * English.lproj/localizedStrings.js:
16919 * inspector/InspectorTimelineAgent.cpp:
16920 (WebCore::InspectorTimelineAgent::pushGCEventRecords):
16921 * inspector/front-end/TimelinePanel.js:
16922 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
16923 (WebInspector.TimelinePanel.prototype._createRootRecord):
16924 (WebInspector.TimelinePanel.prototype._showPopover):
16925 (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
16926 (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
16927 (WebInspector.TimelineRecordGraphRow):
16928 (WebInspector.TimelineRecordGraphRow.prototype.update):
16929 (WebInspector.TimelinePanel.FormattedRecord):
16930 (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
16931 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
16932 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
16933 (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
16934 * inspector/front-end/inspector.css:
16935 (.timeline-graph-bar.with-children):
16936 (.timeline-graph-bar.cpu):
16937 (.timeline-aggregated-category):
16938 (.timeline-loading):
16939 (.timeline-scripting):
16940 (.timeline-rendering):
16941 (.popover .timeline-aggregated-category.timeline-loading):
16942 (.timeline-details-title):
16944 2010-04-25 Kent Tamura <tkent@chromium.org>
16946 Reviewed by Darin Adler.
16948 WebKit crashes with deeply nested divs
16949 https://bugs.webkit.org/show_bug.cgi?id=18282
16951 The HTML parser caps a tree depth by MAX_DOM_TREE_DEPTH defined in
16952 TreeDepthLimit.h. This is performance-efficient, but does not work for
16953 DOM operations such as Node.appendChild().
16955 Test: fast/parser/element-nesting-cap.html
16958 * dom/XMLTokenizer.cpp:
16959 (WebCore::XMLTokenizer::pushCurrentNode):
16960 * html/HTMLParser.cpp:
16965 * WebCore.vcproj/WebCore.vcproj:
16966 * WebCore.xcodeproj/project.pbxproj:
16967 * dom/TreeDepthLimit.h:
16968 Added. Define MAX_DOM_TREE_DEPTH. The default value is 5000.
16969 * dom/XMLTokenizer.cpp: Use maxDOMTreeDepth.
16970 (WebCore::XMLTokenizer::pushCurrentNode):
16971 * html/HTMLParser.cpp:
16972 Introduce m_treeDepth, which counts the depth of the tree.
16973 Unlike m_blocksInStack, it contains the number of non-block nodes.
16974 (WebCore::HTMLParser::HTMLParser):
16975 (WebCore::HTMLParser::reset):
16976 (WebCore::HTMLParser::limitDepth):
16977 Renamed from limitBlockDepth. Add check for m_nodeDepth.
16978 (WebCore::HTMLParser::insertNodeAfterLimitDepth):
16979 Renamed from insertNodeAfterLimitBlockDepth.
16980 (WebCore::HTMLParser::parseToken):
16981 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
16982 (WebCore::HTMLParser::pushBlock):
16983 (WebCore::HTMLParser::popOneBlockCommon):
16984 (WebCore::HTMLParser::freeBlock):
16985 * html/HTMLParser.h:
16987 2010-04-25 Andrey Kosyakov <caseq@chromium.org>
16989 Reviewed by Adam Barth.
16991 Get context properly when event handler was created on
16993 https://bugs.webkit.org/show_bug.cgi?id=37947
16995 Test: http/tests/security/isolatedWorld/dispatchEvent.html
16997 * bindings/v8/WorldContextHandle.cpp:
16998 (WebCore::WorldContextHandle::adjustedContext):
17000 2010-04-25 yael aharon <yael.aharon@nokia.com>
17002 Reviewed by Adele Peterson.
17004 Allow styling of HTMLProgressElement.
17005 https://bugs.webkit.org/show_bug.cgi?id=37901
17007 Added a new pseudo element to represent the value portion of the progress element.
17008 Web developers can style this pseudo element separate from the rest of the progress element.
17010 Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
17012 * css/CSSPrimitiveValueMappings.h:
17013 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
17014 * css/CSSSelector.cpp:
17015 (WebCore::CSSSelector::pseudoId):
17016 (WebCore::nameToPseudoTypeMap):
17017 (WebCore::CSSSelector::extractPseudoType):
17018 * css/CSSSelector.h:
17019 * css/CSSValueKeywords.in:
17020 * platform/ThemeTypes.h:
17021 * rendering/RenderProgress.cpp:
17022 (WebCore::ProgressValueElement::isShadowNode):
17023 (WebCore::ProgressValueElement::shadowParentNode):
17024 (WebCore::ProgressValueElement::ProgressValueElement):
17025 (WebCore::RenderProgress::RenderProgress):
17026 (WebCore::RenderProgress::~RenderProgress):
17027 (WebCore::RenderProgress::layout):
17028 (WebCore::RenderProgress::styleDidChange):
17029 (WebCore::RenderProgress::updateFromElement):
17030 (WebCore::RenderProgress::updateValuePartState):
17031 (WebCore::RenderProgress::createStyleForValuePart):
17032 (WebCore::RenderProgress::updateAnimationState):
17033 * rendering/RenderTheme.cpp:
17034 (WebCore::RenderTheme::isControlStyled):
17035 * rendering/RenderProgress.h:
17036 * rendering/style/RenderStyleConstants.h:
17038 2010-04-24 Simon Fraser <simon.fraser@apple.com>
17040 Reviewed by Dan Bernstein.
17042 Don't propagate compositing out of iframes on Mac
17043 https://bugs.webkit.org/show_bug.cgi?id=38072
17045 Propagating compositing out of iframes caused too many regressions on Mac,
17046 so only do it for other platforms that may need to hook compositing layers
17047 together across iframe boundaries.
17049 * rendering/RenderLayerCompositor.cpp:
17050 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
17052 2010-04-24 Anton Muhin <antonm@chromium.org>
17054 Reviewed by Darin Adler.
17056 Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
17058 Former implementation attempted to use AtomicString(HashTableDeletedValue)
17059 however those values cannot be used that way: one cannot construct
17060 QualifiedNameImpl out of such AtomicString as we'll try to lookup this string
17061 in the table, for example.
17062 https://bugs.webkit.org/show_bug.cgi?id=37722
17064 * dom/QualifiedName.cpp:
17065 (WebCore::QualifiedName::deref): check that hash table deleted values never derefed
17066 * dom/QualifiedName.h:
17067 (WebCore::QualifiedName::QualifiedName): add a constructor to create hash table deleted values
17068 (WebCore::QualifiedName::isHashTableDeletedValue): add a check if given instance is hash table deleted value
17071 2010-04-24 Julien Chaffraix <jchaffraix@webkit.org>
17073 Reviewed by Alexey Proskuryakov.
17075 protocolHostAndPortEquals host check makes a wrong assumption
17076 https://bugs.webkit.org/show_bug.cgi?id=37777
17078 The host check assumed that both host started at the same position. This is true
17079 if both URL are the same but sometimes one has credential and the other does not.
17080 In this case, the method would compare invalid positions.
17082 Test: http/tests/appcache/credential-url.html
17084 * platform/KURL.cpp:
17085 (WebCore::protocolHostAndPortAreEqual):
17086 * platform/KURLGoogle.cpp:
17087 (WebCore::protocolHostAndPortAreEqual):
17088 Fix the host check to take both URL's credential into account.
17090 2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
17092 Not reviewed. Fix linkage on several bots (no idea, why it worked in a from-scratch rebuild on Leopard on my machine!) -> include NodeRenderStyle.h
17093 Having to include NodeRenderStyle.h just to pull in the renderStyle() is a crazy concept, but I see what it tries to avoid (including RenderObject.h in Node.h)
17095 * rendering/SVGRenderSupport.cpp:
17097 2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
17099 Not reviewed. Fix release builds, wrap resourceMode assertion in NDEBUG blocks, use UNUSED_PARAM() otherwhise.
17101 * rendering/RenderSVGResourceClipper.cpp:
17102 (WebCore::RenderSVGResourceClipper::applyResource):
17103 * rendering/RenderSVGResourceFilter.cpp:
17104 (WebCore::RenderSVGResourceFilter::applyResource):
17105 (WebCore::RenderSVGResourceFilter::postApplyResource):
17106 * rendering/RenderSVGResourceMasker.cpp:
17107 (WebCore::RenderSVGResourceMasker::applyResource):
17109 2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
17111 Reviewed by Dirk Schulze.
17113 SVGPaintServer needs to be converted to the new RenderSVGResource* system
17114 https://bugs.webkit.org/show_bug.cgi?id=37986
17116 Huge speedup for SVG painting using paint servers (gradient/patterns). Cache underlying
17117 WebCore::Gradient/Pattern datastructures, do not rebuild them on every painting. This marks
17118 the finish of the SVGResource -> RenderSVGResource transition.
17120 Outline of same key changes:
17121 - RenderSVGResource is an abstract base class now, and the previous class is now named RenderSVGResourceContainer
17122 All resources except RenderSVGResourceSolidColor now inherit from RenderSVGResourceContainer, as they are all
17123 associated with a SVG*Element class. RenderSVGResourceSolidColor inherits from RenderSVGResource, and is not
17124 associated with any SVG*Element class. RenderSVGResourceSolidColor is not a render tree object, despite its name.
17125 The reason for that is consistency with all other painting resources.
17126 - RenderSVGResourceSolidColor does not live in the render tree, and exists only as static object, which is shared
17127 and always used when filling/stroking with solid colors - just like the old SVGPaintServerSolid.
17128 - RenderSVGResourceGradient/RenderSVGResourcePattern now store the underlying WebCore::Gradient/Pattern object
17129 instead of rebuilding it everytime we're asked to paint -> this is the main difference with the old concept, leading
17130 to much faster speed.
17131 - SVGResource has vanished. All resources (clipper/filter/marker/masker/gradient/pattern) now share the same codepaths
17132 to handle updates and client invalidation - which is a huge benefit, and makes the code easier to understand.
17134 * Android.mk: Remove svg/graphics/SVGResource*, svg/graphics/SVGPaintServer.h from build.
17135 * GNUmakefile.am: Ditto.
17136 * WebCore.gypi: Ditto.
17137 * WebCore.pro: Ditto.
17138 * WebCore.vcproj/WebCore.vcproj: Ditto.
17139 * WebCore.xcodeproj/project.pbxproj: Ditto.
17140 * platform/graphics/Gradient.cpp: Add addColorStop() method taking a ColorStop const-reference.
17141 (WebCore::Gradient::addColorStop):
17142 * platform/graphics/Gradient.h: Ditto.
17143 * platform/graphics/TextRun.h: Rename SVGPaintServer to RenderSVGResource
17144 (WebCore::TextRun::TextRun):
17145 (WebCore::TextRun::activePaintingResource): Renamed from activePaintServer.
17146 (WebCore::TextRun::setActivePaintingResource): Renamed from setActivePaintServer.
17147 * platform/graphics/win/GraphicsContextWin.cpp: Remove references to SVGResourceImage, which was removed a long time ago.
17148 * rendering/RenderObject.cpp:
17149 (WebCore::RenderObject::toRenderSVGResourceContainer): Renamed from toRenderSVGResource().
17150 * rendering/RenderObject.h:
17151 (WebCore::RenderObject::isSVGGradientStop): Added.
17152 (WebCore::RenderObject::isSVGResourceContainer): Renamed from isSVGResource().
17153 * rendering/RenderPath.cpp: Utilize RenderSVGResource::fill/strokePaintingResource to request paint servers, instead of SVGPaintServer.
17154 (WebCore::RenderPath::fillContains): Adapt to new concept.
17155 (WebCore::RenderPath::strokeContains): Ditto.
17156 (WebCore::fillAndStrokePath): Ditto.
17157 (WebCore::RenderPath::paint): Ditto.
17158 * rendering/RenderSVGGradientStop.cpp:
17159 (WebCore::RenderSVGGradientStop::styleDidChange): Ditto.
17160 * rendering/RenderSVGGradientStop.h: Fixed indention.
17161 * rendering/RenderSVGResource.cpp: Refactored old SVGPaintServer code to request fill/stroke painting resources, splitted up in several methods to aid readability.
17162 (WebCore::registerPendingResource):
17163 (WebCore::adjustColorForPseudoRules):
17164 (WebCore::RenderSVGResource::fillPaintingResource):
17165 (WebCore::RenderSVGResource::strokePaintingResource):
17166 (WebCore::RenderSVGResource::sharedSolidPaintingResource):
17167 (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation):
17168 * rendering/RenderSVGResource.h: Make RenderSVGResource an abstract base class, see above for the reasoning.
17169 (WebCore::RenderSVGResource::RenderSVGResource):
17170 (WebCore::RenderSVGResource::~RenderSVGResource):
17171 (WebCore::RenderSVGResource::postApplyResource):
17172 * rendering/RenderSVGResourceClipper.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17173 (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
17174 (WebCore::RenderSVGResourceClipper::invalidateClient):
17175 (WebCore::RenderSVGResourceClipper::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
17176 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
17177 * rendering/RenderSVGResourceClipper.h:
17178 * rendering/RenderSVGResourceContainer.h: Added. Renamed from RenderSVGResource. Now inherits from RenderSVGHiddenContainer and RenderSVGResource.
17179 (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
17180 (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
17181 (WebCore::RenderSVGResourceContainer::idChanged):
17182 (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
17183 (WebCore::RenderSVGResourceContainer::drawsContents):
17184 (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
17185 (WebCore::getRenderSVGResourceContainerById):
17186 (WebCore::getRenderSVGResourceById):
17187 * rendering/RenderSVGResourceFilter.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17188 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
17189 (WebCore::RenderSVGResourceFilter::invalidateClient):
17190 (WebCore::RenderSVGResourceFilter::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
17191 (WebCore::RenderSVGResourceFilter::postApplyResource):
17192 * rendering/RenderSVGResourceFilter.h:
17193 * rendering/RenderSVGResourceGradient.cpp: Moved from SVGPaintServerGradient, cleaned up and refactored.
17194 (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
17195 (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient):
17196 (WebCore::RenderSVGResourceGradient::invalidateClients):
17197 (WebCore::RenderSVGResourceGradient::invalidateClient):
17198 (WebCore::createMaskAndSwapContextForTextGradient):
17199 (WebCore::clipToTextMask):
17200 (WebCore::RenderSVGResourceGradient::applyResource):
17201 * rendering/RenderSVGResourceGradient.h:
17202 (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
17203 * rendering/RenderSVGResourceLinearGradient.cpp: Moved from SVGPaintServerLinearGradient, cleaned up and refactored.
17204 (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient):
17205 (WebCore::RenderSVGResourceLinearGradient::~RenderSVGResourceLinearGradient):
17206 (WebCore::RenderSVGResourceLinearGradient::buildGradient):
17207 * rendering/RenderSVGResourceLinearGradient.h:
17208 (WebCore::RenderSVGResourceLinearGradient::renderName):
17209 (WebCore::RenderSVGResourceLinearGradient::resourceType):
17210 * rendering/RenderSVGResourceMarker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17211 (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
17212 (WebCore::RenderSVGResourceMarker::invalidateClient):
17213 * rendering/RenderSVGResourceMarker.h:
17214 (WebCore::RenderSVGResourceMarker::applyResource):
17215 * rendering/RenderSVGResourceMasker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17216 (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
17217 (WebCore::RenderSVGResourceMasker::invalidateClient):
17218 (WebCore::RenderSVGResourceMasker::applyResource):
17219 * rendering/RenderSVGResourceMasker.h:
17220 (WebCore::MaskerData::MaskerData):
17221 * rendering/RenderSVGResourcePattern.cpp: Moved from SVGPaintServerPattern, cleaned up and refactored.
17222 (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
17223 (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern):
17224 (WebCore::RenderSVGResourcePattern::invalidateClients):
17225 (WebCore::RenderSVGResourcePattern::invalidateClient):
17226 (WebCore::RenderSVGResourcePattern::applyResource):
17227 (WebCore::RenderSVGResourcePattern::postApplyResource):
17228 (WebCore::calculatePatternBoundaries):
17229 (WebCore::RenderSVGResourcePattern::calculatePatternBoundariesIncludingOverflow):
17230 (WebCore::RenderSVGResourcePattern::createTileImage):
17231 (WebCore::RenderSVGResourcePattern::buildPattern):
17232 * rendering/RenderSVGResourcePattern.h:
17233 (WebCore::RenderSVGResourcePattern::renderName):
17234 (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
17235 (WebCore::RenderSVGResourcePattern::resourceType):
17236 * rendering/RenderSVGResourceRadialGradient.cpp: Moved from SVGPaintServerRadialGradient, cleaned up and refactored.
17237 (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient):
17238 (WebCore::RenderSVGResourceRadialGradient::~RenderSVGResourceRadialGradient):
17239 (WebCore::RenderSVGResourceRadialGradient::buildGradient):
17240 * rendering/RenderSVGResourceRadialGradient.h:
17241 (WebCore::RenderSVGResourceRadialGradient::renderName):
17242 (WebCore::RenderSVGResourceRadialGradient::resourceType):
17243 * rendering/RenderSVGResourceSolidColor.cpp: Moved from SVGPaintServerSolid, cleaned up and refactored.
17244 (WebCore::RenderSVGResourceSolidColor::RenderSVGResourceSolidColor):
17245 (WebCore::RenderSVGResourceSolidColor::~RenderSVGResourceSolidColor):
17246 (WebCore::RenderSVGResourceSolidColor::applyResource):
17247 (WebCore::RenderSVGResourceSolidColor::postApplyResource):
17248 * rendering/RenderSVGResourceSolidColor.h:
17249 (WebCore::RenderSVGResourceSolidColor::invalidateClients):
17250 (WebCore::RenderSVGResourceSolidColor::invalidateClient):
17251 (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
17252 (WebCore::RenderSVGResourceSolidColor::resourceType):
17253 (WebCore::RenderSVGResourceSolidColor::color):
17254 (WebCore::RenderSVGResourceSolidColor::setColor):
17255 * rendering/RenderSVGText.cpp:
17256 (WebCore::RenderSVGText::paint): Early exit if painting is disabled.
17257 * rendering/RenderTreeAsText.cpp:
17258 (WebCore::write): Add RenderSVGGradientStop dumping.
17259 (WebCore::externalRepresentation): Remove SVGResource dumping.
17260 * rendering/SVGInlineTextBox.cpp: Adapt to SVGPaintServer changes (paint server request).
17261 (WebCore::SVGInlineTextBox::paintCharacters):
17262 (WebCore::SVGInlineTextBox::paintDecoration):
17263 * rendering/SVGInlineTextBox.h: Ditto.
17264 (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
17265 * rendering/SVGRenderSupport.cpp: Ditto.
17266 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
17267 (WebCore::SVGRenderBase::finishRenderSVGContent):
17268 (WebCore::invalidatePaintingResource):
17269 (WebCore::deregisterFromResources):
17270 (WebCore::dashArrayFromRenderingStyle): Moved here from SVGPaintServer.
17271 (WebCore::applyStrokeStyleToContext): Ditto.
17272 * rendering/SVGRenderSupport.h:
17273 * rendering/SVGRenderTreeAsText.cpp: Add new gradient/pattern dumping code. Stops are now properly dumped as well!
17274 (WebCore::operator<<):
17275 (WebCore::writeSVGPaintingResource):
17276 (WebCore::writeStyle):
17277 (WebCore::boundingBoxModeString):
17278 (WebCore::writeCommonGradientProperties):
17279 (WebCore::writeSVGResourceContainer):
17280 (WebCore::writeSVGGradientStop):
17281 * rendering/SVGRenderTreeAsText.h:
17282 * rendering/SVGRootInlineBox.cpp: Adapt to SVGPaintServer changes (paint server request).
17283 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
17284 (WebCore::SVGRootInlineBoxPaintWalker::~SVGRootInlineBoxPaintWalker):
17285 (WebCore::SVGRootInlineBoxPaintWalker::teardownFillPaintServer):
17286 (WebCore::SVGRootInlineBoxPaintWalker::teardownStrokePaintServer):
17287 (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
17288 (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
17289 (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
17290 (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
17291 (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
17292 (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
17293 (WebCore::SVGRootInlineBoxPaintWalker::activePaintingResource):
17294 (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
17295 * svg/GradientAttributes.h: Remove SVGGradientStop, use Gradient::ColorStop vector. Cleanup.
17296 (WebCore::GradientAttributes::stops):
17297 (WebCore::GradientAttributes::setStops):
17298 * svg/LinearGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
17299 * svg/PatternAttributes.h: Add missing includes and class forwards.
17300 * svg/RadialGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
17301 * svg/SVGClipPathElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17302 (WebCore::SVGClipPathElement::svgAttributeChanged):
17303 (WebCore::SVGClipPathElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17304 * svg/SVGClipPathElement.h:
17305 * svg/SVGDocumentExtensions.cpp: Change HashMaps to hash AtomicStrings instead of Strings. Rename RenderSVGResource to RenderSVGResourceContainer.
17306 (WebCore::SVGDocumentExtensions::addResource):
17307 (WebCore::SVGDocumentExtensions::removeResource):
17308 (WebCore::SVGDocumentExtensions::resourceById):
17309 (WebCore::SVGDocumentExtensions::addPendingResource):
17310 * svg/SVGDocumentExtensions.h:
17311 * svg/SVGElement.cpp:
17312 (WebCore::SVGElement::insertedIntoDocument): Remove reference to SVGResource::invalidateClients(), handled differently now.
17313 (WebCore::SVGElement::updateAnimatedSVGAttribute): Change assertion, that is incorrect now.
17314 * svg/SVGElement.h: Make updateAnimatedSVGAttribute() public.
17315 * svg/SVGFont.cpp: Adapt to SVGPaintServer changes (paint server request).
17316 (WebCore::Font::drawTextUsingSVGFont):
17317 * svg/SVGGElement.cpp: If style()->display() is NONE, create a RenderSVGHiddenContainer, removing hacks in SVGStopElement for pservers-grad-19-b.svg (yes, SVG is crazy.)
17318 (WebCore::SVGGElement::createRenderer):
17319 * svg/SVGGElement.h: Remove childrenChanged() method which _always_ called renderer->setNeedsLayout(true), which is completly wrong and unnecessary.
17320 (WebCore::SVGGElement::rendererIsNeeded): Always return true.
17321 * svg/SVGGradientElement.cpp: Adapt to new RenderSVGResourceGradient code.
17322 (WebCore::SVGGradientElement::svgAttributeChanged):
17323 (WebCore::SVGGradientElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17324 (WebCore::SVGGradientElement::buildStops):
17325 * svg/SVGGradientElement.h:
17326 * svg/SVGLinearGradientElement.cpp: Adapt to new RenderSVGResourceLinearGradient code.
17327 (WebCore::SVGLinearGradientElement::svgAttributeChanged):
17328 (WebCore::SVGLinearGradientElement::createRenderer):
17329 (WebCore::SVGLinearGradientElement::collectGradientProperties):
17330 (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
17331 * svg/SVGLinearGradientElement.h:
17332 * svg/SVGMarkerElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17333 (WebCore::SVGMarkerElement::svgAttributeChanged):
17334 (WebCore::SVGMarkerElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17335 (WebCore::SVGMarkerElement::setOrientToAuto):
17336 (WebCore::SVGMarkerElement::setOrientToAngle):
17337 * svg/SVGMaskElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17338 (WebCore::SVGMaskElement::svgAttributeChanged):
17339 (WebCore::SVGMaskElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17340 * svg/SVGPatternElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17341 (WebCore::SVGPatternElement::svgAttributeChanged):
17342 (WebCore::SVGPatternElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17343 (WebCore::SVGPatternElement::createRenderer):
17344 * svg/SVGPatternElement.h:
17345 * svg/SVGPolyElement.h: Remove unneded rendererIsNeeded() override.
17346 * svg/SVGRadialGradientElement.cpp: Adapt to new RenderSVGResourceRadialGradient code.
17347 (WebCore::SVGRadialGradientElement::svgAttributeChanged):
17348 (WebCore::SVGRadialGradientElement::createRenderer):
17349 (WebCore::SVGRadialGradientElement::collectGradientProperties):
17350 (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
17351 * svg/SVGRadialGradientElement.h:
17352 * svg/SVGStopElement.cpp: Clean up code, moved stop color calculation from SVGGradientElement to here, where it belongs.
17353 (WebCore::SVGStopElement::parseMappedAttribute):
17354 (WebCore::SVGStopElement::stopColorIncludingOpacity):
17355 * svg/SVGStopElement.h:
17356 * svg/SVGStyledElement.cpp:
17357 (WebCore::SVGStyledElement::~SVGStyledElement):
17358 (WebCore::SVGStyledElement::svgAttributeChanged): Only invalidateResourcesInAncestorChain()/deregisterFromResources() when we're not parsing.
17359 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): Early exit if we find a parent resources, there is no resource nesting.
17360 (WebCore::SVGStyledElement::invalidateResourceClients): Renamed from invalidateCanvasResources()
17361 (WebCore::SVGStyledElement::childrenChanged): Only invalidate SVGElementInstances when !changedByParser is set.
17362 * svg/SVGStyledElement.h: Remove canvasResource() logic, remove detach() method.
17363 * svg/SVGTextPathElement.h:
17364 * svg/graphics/SVGPaintServer.h: Removed.
17365 * svg/graphics/SVGResource.cpp: Removed.
17366 * svg/graphics/SVGResource.h: Removed.
17368 2010-04-23 Zhenyao Mo <zmo@google.com>
17370 Reviewed by Darin Fisher.
17372 Add isGLES2Compliant to GraphicsContext3D: make the method const.
17373 https://bugs.webkit.org/show_bug.cgi?id=37872
17375 * platform/graphics/GraphicsContext3D.h: Make isGLES2Compliant() const.
17376 * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
17377 (WebCore::GraphicsContext3D::isGLES2Compliant):
17379 2010-04-23 Qi Zhang <qi.2.zhang@nokia.com>
17381 Reviewed by Laszlo Gombos.
17383 [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
17384 https://bugs.webkit.org/show_bug.cgi?id=37276
17386 QPainterPath::contains doesn't count the point on the bound.
17388 * platform/graphics/qt/PathQt.cpp:
17389 (WebCore::isPointOnPathBorder):
17390 (WebCore::Path::contains):
17392 2010-04-23 Sam Weinig <sam@webkit.org>
17394 Reviewed by David Levin.
17396 Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
17397 Split up Threading.h
17399 Add necessary forwarding headers.
17401 * ForwardingHeaders/wtf/Atomics.h: Added.
17402 * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
17403 * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
17405 2010-04-23 Rafael Weinstein <rafaelw@grafaelw.sfo.corp.google.com>
17407 Reviewed by Darin Fisher.
17409 This patch adds a vector of additionalFeatures to WindowFeatures
17410 and populates it with any feature strings that evaluate to "yes"
17411 and aren't directly observed in WindowFeatures. This allows
17412 clients to capture experimental window features.
17414 https://bugs.webkit.org/show_bug.cgi?id=38013
17416 * page/WindowFeatures.cpp:
17417 (WebCore::WindowFeatures::setWindowFeature):
17418 * page/WindowFeatures.h:
17420 2010-04-23 Dan Bernstein <mitz@apple.com>
17422 Reviewed by Simon Fraser.
17424 <rdar://problem/7898436> :after content is duplicated
17426 Test: fast/css-generated-content/after-duplicated-after-split.html
17428 * rendering/RenderInline.cpp:
17429 (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list.
17431 2010-04-23 Adele Peterson <adele@apple.com>
17433 Fixing the Tiger build for real.
17435 * platform/graphics/mac/SimpleFontDataMac.mm:
17437 2010-04-23 Adele Peterson <adele@apple.com>
17439 Fixing the Tiger build.
17441 * platform/graphics/mac/SimpleFontDataMac.mm:
17442 (WebCore::SimpleFontData::platformBoundsForGlyph):
17444 2010-04-23 Jian Li <jianli@chromium.org>
17446 Reviewed by Dmitry Titov.
17448 Add FileError for File API.
17449 https://bugs.webkit.org/show_bug.cgi?id=37840
17451 The test will be added when implementing FileReader and FilerWriter.
17453 * Android.derived.jscbindings.mk:
17454 * Android.derived.v8bindings.mk:
17455 * DerivedSources.cpp:
17456 * DerivedSources.make:
17461 * WebCore.vcproj/WebCore.vcproj:
17462 * WebCore.xcodeproj/project.pbxproj:
17463 * dom/ExceptionCode.h:
17465 * html/FileError.h: Added.
17466 * html/FileError.idl: Added.
17467 * page/DOMWindow.idl:
17469 2010-04-23 Jian Li <jianli@chromium.org>
17471 Reviewed by Adam Barth.
17473 Improve code generator scripts to handle OR ('|') condition in the
17474 extended attributes.
17475 https://bugs.webkit.org/show_bug.cgi?id=37998
17477 * bindings/scripts/CodeGeneratorJS.pm:
17478 * bindings/scripts/CodeGeneratorObjC.pm:
17479 * bindings/scripts/CodeGeneratorV8.pm:
17480 * bindings/scripts/IDLStructure.pm:
17482 2010-04-23 Adele Peterson <adele@apple.com>
17484 Reviewed by Dan Bernstein.
17486 Fix for <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
17487 https://bugs.webkit.org/show_bug.cgi?id=37936
17489 This change breaks the GlyphMetricsMap into two maps - one for width and one for bounds, so that we don't store
17490 a FloatRect for the glyph bounds unless we need to.
17492 Covered by existing tests. This should not cause any change in functionality.
17494 Updated for removal of GlyphMetricsMap.cpp
17498 * WebCore.vcproj/WebCore.vcproj:
17499 * WebCore.xcodeproj/project.pbxproj:
17501 Made GlyphMetricsMap a template, so it can be used for separate width and bounds maps.
17502 * platform/graphics/GlyphMetricsMap.cpp: Removed.
17503 * platform/graphics/GlyphMetricsMap.h:
17504 (WebCore::GlyphMetricsMap::metricsForGlyph):
17505 (WebCore::GlyphMetricsMap::setMetricsForGlyph):
17506 (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
17507 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
17508 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
17509 (WebCore::::unknownMetrics):
17510 (WebCore::::locatePageSlowCase):
17512 * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
17513 Call boundsForGlyph instead of metricsForGlyph.
17514 * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
17516 * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit):
17517 Call setMetricsForGlyph for both glyph maps.
17519 Break getters and setters for metricsForGlyph into widthForGlyph and boundsForGlyph, maintaining present behavior.
17520 * platform/graphics/SimpleFontData.h:
17522 (WebCore::SimpleFontData::boundsForGlyph):
17523 (WebCore::SimpleFontData::widthForGlyph):
17524 * platform/graphics/cairo/SimpleFontDataCairo.cpp:
17525 (WebCore::SimpleFontData::platformBoundsForGlyph):
17526 (WebCore::SimpleFontData::platformWidthForGlyph):
17527 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
17528 (WebCore::SimpleFontData::platformBoundsForGlyph):
17529 (WebCore::SimpleFontData::platformWidthForGlyph):
17530 * platform/graphics/chromium/SimpleFontDataLinux.cpp:
17531 (WebCore::SimpleFontData::platformBoundsForGlyph):
17532 (WebCore::SimpleFontData::platformWidthForGlyph):
17533 * platform/graphics/gtk/SimpleFontDataPango.cpp:
17534 (WebCore::SimpleFontData::platformBoundsForGlyph):
17535 (WebCore::SimpleFontData::platformWidthForGlyph):
17536 * platform/graphics/mac/SimpleFontDataMac.mm:
17537 (WebCore::SimpleFontData::platformBoundsForGlyph):
17538 (WebCore::SimpleFontData::platformWidthForGlyph):
17539 * platform/graphics/win/SimpleFontDataCGWin.cpp:
17540 (WebCore::SimpleFontData::platformBoundsForGlyph):
17541 (WebCore::SimpleFontData::platformWidthForGlyph):
17542 * platform/graphics/win/SimpleFontDataCairoWin.cpp:
17543 (WebCore::SimpleFontData::platformBoundsForGlyph):
17544 * platform/graphics/win/SimpleFontDataWin.cpp:
17545 (WebCore::SimpleFontData::boundsForGDIGlyph):
17546 (WebCore::SimpleFontData::widthForGDIGlyph):
17547 * platform/graphics/wince/SimpleFontDataWince.cpp:
17548 (WebCore::SimpleFontData::platformBoundsForGlyph):
17549 * platform/graphics/wx/SimpleFontDataWx.cpp:
17550 (WebCore::SimpleFontData::platformBoundsForGlyph):
17551 (WebCore::SimpleFontData::platformWidthForGlyph):
17553 2010-04-23 Xiaomei Ji <xji@chromium.org>
17555 Reviewed by Dan Bernstein and Darin Adler
17557 Fix issue "caret does not paint after type in characters in right
17558 aligned div or after delete all characters in RTL div or
17559 0px right padding RTL textarea"
17560 https://bugs.webkit.org/show_bug.cgi?id=25319
17562 Test: editing/inserting/caret-position.html
17564 * rendering/RenderText.cpp:
17565 (WebCore::RenderText::localCaretRect):
17567 2010-04-23 No'am Rosenthal <noam.rosenthal@nokia.com>
17569 Reviewed by Kenneth Rohde Christiansen.
17571 [Qt] [Performance] GraphicsLayer: constructing the layers takes too long
17572 https://bugs.webkit.org/show_bug.cgi?id=36365
17574 The issue came from using QGraphicsView's cache as is. The problem is that
17575 several code-paths require re-rendering of the item, but not re-rendering
17576 of the web content into the cache.
17578 The way to solve it is by having GraphicsLayerQt manage the cache directly
17579 via QPixmapCache, instead of using QGraphicsItem cache modes.
17581 FPS measurement shows significant improvement (20FPS before, 40FPS after)
17582 on several use-cases, including blog-files/leaves on a desktop environment.
17584 * platform/graphics/qt/GraphicsLayerQt.cpp:
17585 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
17586 (WebCore::GraphicsLayerQtImpl::recache):
17587 (WebCore::GraphicsLayerQtImpl::paint):
17588 (WebCore::GraphicsLayerQtImpl::flushChanges):
17590 2010-04-23 James Robinson <jamesr@chromium.org>
17592 Reviewed by Dimitri Glazkov.
17594 Avoid marking symbols as dllexport in chromium win builds
17595 https://bugs.webkit.org/show_bug.cgi?id=38058
17601 2010-04-23 MORITA Hajime <morrita@google.com>
17603 Reviewed by Nikolas Zimmermann.
17605 https://bugs.webkit.org/show_bug.cgi?id=37187
17606 SVG <use href="foo"> is interpreted as <use href="#foo">
17608 getTarget() did return url parameter as is if doesn't have
17609 fragment identifier. So fixed to return empty string in such case
17610 because we need to distinguish "yyy.html" from "xxx.svg#yyy.html".
17612 Test: svg/custom/broken-internal-references.svg
17614 * svg/SVGElement.cpp:
17615 (WebCore::SVGElement::insertedIntoDocument):
17616 * svg/SVGURIReference.cpp:
17617 (WebCore::SVGURIReference::getTarget):
17619 2010-04-23 Simon Fraser <simon.fraser@apple.com>
17621 Reviewed by Dan Bernstein.
17623 ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com
17624 https://bugs.webkit.org/show_bug.cgi?id=38066
17626 When a layer goes into compositing mode because it has a negative z-index child that is going
17627 into compositing mode, then set willBeComposited to true. Also add another assertion to catch
17628 any other cases where the state of willBeComposited is mismanaged.
17630 Test: compositing/composited-negative-zindex-child.html
17632 * rendering/RenderLayerCompositor.cpp:
17633 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
17635 2010-04-23 Simon Fraser <simon.fraser@apple.com>
17637 Reviewed by Dan Bernstein.
17639 When webkitAnimationEnd event fires, on-screen rendering should show the last frame of animation
17640 https://bugs.webkit.org/show_bug.cgi?id=37955
17642 After r37484, animation and transition end events were fired on a timer, after the animation/transition
17643 ended. This opened up one event loop cycle in which the non-animating state of the element was visible
17644 before the event fired, resulting in flashes in content that reset style from the event handler.
17646 Fix by firing these events in the same event cycle as the animation end, once all animations
17647 have been updated. This also required moving the place that start animations are fixed until
17648 a later state in the state machine, so that animations have their start time set at the point
17649 the event is fired (to avoid an assertion when using the freeze API in DRT).
17651 Not testable, since the flash is very transitory and cannot be captured in a pixel test.
17653 * page/animation/AnimationBase.cpp:
17654 (WebCore::AnimationBase::updateStateMachine): Move the firing of 'start' events into the state
17655 where the start time is known.
17656 * page/animation/AnimationControllerPrivate.h:
17657 * page/animation/AnimationController.cpp:
17658 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): Call the new fireEventsAndUpdateStyle()
17660 (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): New method to share code that used to be in
17661 updateStyleIfNeededDispatcherFired().
17662 (WebCore::AnimationControllerPrivate::animationTimerFired): Call fireEventsAndUpdateStyle() once we've
17663 processed all animations.
17665 2010-04-23 Simon Fraser <simon.fraser@apple.com>
17667 Reviewed by Dan Bernstein.
17669 CompositeAnimation::updateKeyframeAnimations() can make a KeyframeAnimation for animation "none"
17670 https://bugs.webkit.org/show_bug.cgi?id=38017
17672 Check to see if the animation name is "none", and don't fire off a keyframe animation in
17675 * page/animation/CompositeAnimation.cpp:
17676 (WebCore::CompositeAnimation::updateKeyframeAnimations):
17678 2010-04-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
17680 Reviewed by Kenneth Rohde Christiansen.
17682 [Qt] Disable Netscape plugin support for minimal configuration
17683 https://bugs.webkit.org/show_bug.cgi?id=38026
17685 No new tests, as there is no new functionality.
17689 2010-04-23 Shinichiro Hamaji <hamaji@chromium.org>
17691 Reviewed by Darin Adler.
17693 Need borderAndPadding(Width|Height)
17694 https://bugs.webkit.org/show_bug.cgi?id=38046
17696 Refactoring only, so no new tests.
17698 * rendering/InlineBox.cpp:
17699 (WebCore::InlineBox::height):
17700 * rendering/RenderApplet.cpp:
17701 (WebCore::RenderApplet::createWidgetIfNecessary):
17702 * rendering/RenderBlock.cpp:
17703 (WebCore::RenderBlock::isSelfCollapsingBlock):
17704 (WebCore::RenderBlock::calcPrefWidths):
17705 * rendering/RenderBox.cpp:
17706 (WebCore::RenderBox::calcBorderBoxWidth):
17707 (WebCore::RenderBox::calcBorderBoxHeight):
17708 (WebCore::RenderBox::calcContentBoxWidth):
17709 (WebCore::RenderBox::calcContentBoxHeight):
17710 (WebCore::RenderBox::calcWidth):
17711 (WebCore::RenderBox::calcHeight):
17712 (WebCore::RenderBox::calcPercentageHeight):
17713 (WebCore::RenderBox::calcReplacedHeightUsing):
17714 (WebCore::RenderBox::availableHeightUsing):
17715 (WebCore::RenderBox::calcAbsoluteHorizontal):
17716 (WebCore::RenderBox::calcAbsoluteVertical):
17717 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
17718 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
17719 (WebCore::RenderBox::positionForPoint):
17720 * rendering/RenderBoxModelObject.h:
17721 (WebCore::RenderBoxModelObject::borderAndPaddingHeight):
17722 (WebCore::RenderBoxModelObject::borderAndPaddingWidth):
17723 * rendering/RenderDataGrid.cpp:
17724 (WebCore::RenderDataGrid::calcPrefWidths):
17725 * rendering/RenderFieldset.cpp:
17726 (WebCore::RenderFieldset::calcPrefWidths):
17727 * rendering/RenderFileUploadControl.cpp:
17728 (WebCore::RenderFileUploadControl::calcPrefWidths):
17729 * rendering/RenderFlexibleBox.cpp:
17730 (WebCore::RenderFlexibleBox::calcPrefWidths):
17731 (WebCore::RenderFlexibleBox::allowedChildFlex):
17732 * rendering/RenderImage.cpp:
17733 (WebCore::RenderImage::calcPrefWidths):
17734 * rendering/RenderLayer.cpp:
17735 (WebCore::RenderLayer::resize):
17736 * rendering/RenderListBox.cpp:
17737 (WebCore::RenderListBox::calcPrefWidths):
17738 (WebCore::RenderListBox::calcHeight):
17739 * rendering/RenderMenuList.cpp:
17740 (WebCore::RenderMenuList::calcPrefWidths):
17741 * rendering/RenderReplaced.cpp:
17742 (WebCore::RenderReplaced::calcPrefWidths):
17743 * rendering/RenderSVGRoot.cpp:
17744 (WebCore::RenderSVGRoot::calcPrefWidths):
17745 * rendering/RenderSlider.cpp:
17746 (WebCore::RenderSlider::calcPrefWidths):
17747 (WebCore::RenderSlider::layout):
17748 * rendering/RenderTableCell.cpp:
17749 (WebCore::RenderTableCell::styleOrColWidth):
17750 * rendering/RenderTextControl.cpp:
17751 (WebCore::RenderTextControl::textBlockHeight):
17752 (WebCore::RenderTextControl::textBlockWidth):
17753 (WebCore::RenderTextControl::calcHeight):
17754 (WebCore::RenderTextControl::calcPrefWidths):
17755 * rendering/RenderTextControlSingleLine.cpp:
17756 (WebCore::RenderTextControlSingleLine::layout):
17757 * rendering/RenderWidget.cpp:
17758 (WebCore::RenderWidget::updateWidgetPosition):
17760 2010-04-23 David Kilzer <ddkilzer@apple.com>
17762 Size mismatch between format string and argument in dumpTextEncodingNameMap()
17764 Reviewed by Darin Adler.
17766 See Bug 38030 and r58157.
17768 * platform/text/TextEncodingRegistry.cpp:
17769 (WebCore::dumpTextEncodingNameMap): Assigned
17770 textEncodingNameMap->size() to an unsigned variable before using
17771 it in the fprintf() statement.
17773 2010-04-23 David Kilzer <ddkilzer@apple.com>
17775 BUILD FIX: Attempt to fix Windows build after Bug 36187 landed in r58168
17777 * DerivedSources.cpp: Changed include of JSMedia.cpp to
17780 2010-04-23 David Kilzer <ddkilzer@apple.com>
17782 BUILD FIX: Fix Mac build after Bug 36187 landed in r58168
17784 * WebCore.xcodeproj/project.pbxproj: Renamed DOMMedia.h,
17785 DOMMedia.mm, DOMMediaInternal.h to DOMStyleMedia.h,
17786 DOMStyleMedia.mm, DOMStyleMediaInternal.h.
17788 2010-04-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
17790 Unreviewed build fix.
17792 Change Media to StyleMedia
17794 * DerivedSources.make:
17796 2010-04-23 Xan Lopez <xlopez@igalia.com>
17798 Try to fix the GTK+ bots.
17802 2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
17804 Reviewed by Laszlo Gombos.
17806 Rename window.media to window.styleMedia
17807 https://bugs.webkit.org/show_bug.cgi?id=36187
17809 Rename the interface Media to StyleMedia as required by the
17810 new CSSOM View spec.
17812 * Android.derived.jscbindings.mk:
17813 * Android.derived.v8bindings.mk:
17818 * WebCore.vcproj/WebCore.vcproj:
17819 * WebCore.xcodeproj/project.pbxproj:
17820 * css/Media.cpp: Removed.
17821 * css/Media.h: Removed.
17822 * css/Media.idl: Removed.
17823 * css/StyleMedia.cpp: Added.
17824 (WebCore::StyleMedia::StyleMedia):
17825 (WebCore::StyleMedia::type):
17826 (WebCore::StyleMedia::matchMedium):
17827 * css/StyleMedia.h: Added.
17828 (WebCore::StyleMedia::create):
17829 (WebCore::StyleMedia::disconnectFrame):
17830 * css/StyleMedia.idl: Added.
17831 * page/DOMWindow.cpp:
17832 (WebCore::DOMWindow::styleMedia):
17833 * page/DOMWindow.h:
17834 (WebCore::DOMWindow::optionalMedia):
17835 * page/DOMWindow.idl:
17837 2010-04-23 Yury Semikhatsky <yurys@chromium.org>
17839 Reviewed by Pavel Feldman.
17841 Web Inspector: provide JSC implementation for scopeType method on
17842 call frame and use same jsvascript code for JSC and v8 when collecting
17845 https://bugs.webkit.org/show_bug.cgi?id=37663
17847 * bindings/js/JSInjectedScriptHostCustom.cpp:
17848 (WebCore::JSInjectedScriptHost::currentCallFrame):
17849 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
17850 (WebCore::JSJavaScriptCallFrame::scopeType):
17851 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
17852 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
17853 * inspector/InjectedScriptHost.idl:
17854 * inspector/front-end/InjectedScript.js:
17855 (injectedScriptConstructor.):
17857 2010-04-23 Alexander Pavlov <apavlov@chromium.org>
17859 Reviewed by Pavel Feldman.
17861 Web Inspector: Audits (Image Dimensions): full image URLs are prefixed with the hosting page name
17862 https://bugs.webkit.org/show_bug.cgi?id=37988
17864 * inspector/front-end/AuditRules.js:
17865 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
17867 2010-04-23 Ilya Tikhonovsky <loislo@chromium.org>
17869 Reviewed by Yury Semikhatsky.
17871 WebInspector: Flaky Inspector tests.
17872 https://bugs.webkit.org/show_bug.cgi?id=36217
17874 * inspector/InspectorController.cpp:
17875 (WebCore::InspectorController::didCommitLoad):
17877 2010-04-23 Yaar Schnitman <yaar@chromium.org>
17879 Reviewed by Adam Barth.
17881 Auto-generate WebGLRenderingContext overloads in V8
17882 https://bugs.webkit.org/show_bug.cgi?id=37818
17884 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
17885 * html/canvas/WebGLRenderingContext.cpp: Added missing overloads for the following:.
17886 (WebCore::WebGLRenderingContext::texImage2D)
17887 (WebCore::WebGLRenderingContext::texSubImage2D)
17888 * html/canvas/WebGLRenderingContext.h: Added missing overloads.
17889 * html/canvas/WebGLRenderingContext.idl: IDL definition of overloads.
17891 2010-04-23 Jeff Schiller <codedread@gmail.com>
17893 Reviewed by Nikolas Zimmermann.
17895 Display tooltips when hovering over SVG elements, Bug 16854
17896 https://bugs.webkit.org/show_bug.cgi?id=16854
17898 Manual test added for verifying tooltips.
17900 * manual-tests/svg-tooltip.svg: Added.
17901 * svg/SVGAElement.cpp:
17902 (WebCore::SVGAElement::title): xlink:title takes precedence, otherwise SVGStyledElement::title() is used
17903 * svg/SVGStyledElement.cpp:
17904 (WebCore::SVGStyledElement::title): checks for a shadow parent and uses that title, otherwise uses the content's title
17905 * svg/SVGStyledElement.h: add title() method declaration
17907 2010-04-23 David Kilzer <ddkilzer@apple.com>
17909 <http://webkit.org/b/38032> No need to content sniff 304 responses
17910 <rdar://problem/7891726>
17912 Reviewed by Brady Eidson.
17914 * platform/network/mac/ResourceHandleMac.mm:
17915 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
17916 No need to adjust the MIME type on 304 responses since they're
17917 only used to determine if the resource needs to be refetched.
17919 2010-04-23 David Kilzer <ddkilzer@apple.com>
17921 <http://webkit.org/b/38030> Add WebCore::dumpTextEncodingNameMap() to dump text encoding map on debug builds
17923 Reviewed by Alexey Proskuryakov.
17925 * platform/text/TextEncodingRegistry.cpp:
17926 (WebCore::dumpTextEncodingNameMap): Added.
17927 * platform/text/TextEncodingRegistry.h:
17928 (WebCore::dumpTextEncodingNameMap): Added declaration.
17930 2010-04-22 Tony Chang <tony@chromium.org>
17932 Reviewed by Dan Bernstein.
17934 Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products
17935 https://bugs.webkit.org/show_bug.cgi?id=37950
17937 Test: editing/text-iterator/rtl-selection-crash.html
17939 * editing/TextIterator.cpp:
17940 (WebCore::TextIterator::handleTextNode):
17942 2010-04-22 Maciej Stachowiak <mjs@apple.com>
17944 Reviewed by Dan Bernstein and Beth Dakin.
17946 Links around blocks (e.g. divs) results in too many VoiceOver call outs
17947 https://bugs.webkit.org/show_bug.cgi?id=37079
17948 <rdar://problem/7234118>
17950 The basic change is to modify the AccessibilityRenderObject tree
17951 traversal methods to account for inline continuations in the
17952 render tree and make the accessibility tree look as if
17953 continuations didn't exist - the same as if CSS blocks could just
17954 sit in CSS inlines. This is slightly tricky code but creates a
17955 much saner accessibility tree.
17957 Tests: accessibility/image-link-inline-cont.html
17958 accessibility/image-link.html
17959 accessibility/inline-continuations.html
17961 * accessibility/AccessibilityRenderObject.cpp:
17962 (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations.
17963 (WebCore::firstChildInContinuation): ditto
17964 (WebCore::firstChildConsideringContinuation): ditto
17965 (WebCore::lastChildConsideringContinuation): ditto
17966 (WebCore::startOfContinuations): ditto
17967 (WebCore::endOfContinuations): ditto
17968 (WebCore::childBeforeConsideringContinuations): ditto
17969 (WebCore::firstChildIsInlineContinuation): ditto
17970 (WebCore::lastChildHasContinuation): ditto
17971 (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations.
17972 (WebCore::AccessibilityRenderObject::lastChild): ditto
17973 (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations
17974 and their anonymous block parents.
17975 (WebCore::AccessibilityRenderObject::nextSibling): ditto
17976 (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations.
17977 (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations.
17978 * rendering/RenderInline.h: Make RenderInline::inlineContinuation public.
17980 2010-04-22 Shinichiro Hamaji <hamaji@chromium.org>
17982 Reviewed by Darin Adler.
17984 REGRESSION: TextIterator may use freed memory
17985 https://bugs.webkit.org/show_bug.cgi?id=37973
17987 Added TextIterator::m_text to hold the returned String.
17989 No new tests because there are no behavior change, but
17990 copy-backslash-with-euc.html on chromium-win should test this.
17992 * editing/TextIterator.cpp:
17993 (WebCore::TextIterator::emitText):
17994 * editing/TextIterator.h:
17996 2010-04-22 Michael Forney <mforney@mforney.org>
17998 Reviewed by Adam Barth.
18000 https://bugs.webkit.org/show_bug.cgi?id=37761
18002 Only include JSDatabase.h and JSDatabaseCallback.h when database is
18003 enabled. This partially fixes building with --disable-database.
18005 * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around
18006 database-related headers.
18008 2010-04-22 Ray Rischpater <Raymond.Rischpater@Nokia.com>
18010 Reviewed by Darin Adler.
18012 In HTMLInputElement.cpp, shouldUseInputMethod does not return true for
18013 some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed
18014 this by changing shouldUseInputMethod to use internal methods to
18015 check that the field is a text field that isn't a password field.
18019 Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
18021 * html/HTMLInputElement.cpp:
18022 (WebCore::HTMLInputElement::shouldUseInputMethod):
18024 2010-04-22 Yaar Schnitman <yaar@chromium.org>
18026 Reviewed by Adam Barth.
18028 Integrate v8 testing utility with webkit tests
18029 https://bugs.webkit.org/show_bug.cgi?id=37731
18031 * bindings/v8/test/run_tests.py: Removed.
18033 2010-04-22 Zhenyao Mo <zmo@google.com>
18035 Reviewed by Darin Fisher.
18037 Add isGLES2Compliant to GraphicsContext3D
18038 https://bugs.webkit.org/show_bug.cgi?id=37872
18040 * html/canvas/WebGLRenderingContext.cpp: Add isGLES2Compliant().
18041 (WebCore::WebGLRenderingContext::isGLES2Compliant):
18042 * html/canvas/WebGLRenderingContext.h: Ditto.
18043 * platform/graphics/GraphicsContext3D.h: Ditto.
18044 * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
18045 (WebCore::GraphicsContext3D::isGLES2Compliant):
18047 2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
18049 Reviewed by Adam Barth.
18051 MD5 is required for WebSocket new protocol implementation
18052 https://bugs.webkit.org/show_bug.cgi?id=37913
18054 * ForwardingHeaders/wtf/MD5.h: Added.
18056 2010-04-22 Alexey Proskuryakov <ap@apple.com>
18058 Reviewed by Darin Adler.
18060 https://bugs.webkit.org/show_bug.cgi?id=38012
18061 REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard
18063 * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Also look at unmodified
18064 characters, to avoid falling through to virtual key code lookup for Roman characters.
18066 2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
18068 Reviewed by Darin Adler.
18070 Fix the MSVC 64bit build.
18071 https://bugs.webkit.org/show_bug.cgi?id=37980
18073 * platform/text/TextStream.cpp:
18074 * platform/text/TextStream.h:
18075 * plugins/win/PluginViewWin.cpp:
18076 (WebCore::PluginView::platformStart):
18078 2010-04-22 Dave Moore <davemoore@chromium.org>
18080 Reviewed by Dimitri Glazkov.
18082 Added notification when the favicons for a page are changed
18084 The Document object will notify the frame loader, which will
18085 notify the client. Implementations of FrameLoaderClient will
18086 have to add one method; dispatchDidChangeIcons().
18088 https://bugs.webkit.org/show_bug.cgi?id=33812
18090 Test: fast/dom/icon-url-property.html
18092 * dom/Document.cpp:
18093 (WebCore::Document::setIconURL):
18094 * loader/DocumentLoader.cpp:
18095 (WebCore::DocumentLoader::setIconURL):
18096 * loader/DocumentLoader.h:
18097 (WebCore::DocumentLoader::iconURL):
18098 * loader/EmptyClients.h:
18099 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
18100 * loader/FrameLoader.cpp:
18101 (WebCore::FrameLoader::setIconURL):
18102 (WebCore::FrameLoader::didChangeIcons):
18103 * loader/FrameLoader.h:
18104 * loader/FrameLoaderClient.h:
18106 2010-04-22 Xan Lopez <xlopez@igalia.com>
18108 Reviewed by Gustavo Noronha.
18110 [GTK] GObject DOM bindings
18111 https://bugs.webkit.org/show_bug.cgi?id=33590
18113 Extend the bindings to cover most of Document.idl
18116 * bindings/gobject/WebKitDOMBinding.cpp:
18117 (WebKit::createWrapper):
18119 * bindings/gobject/WebKitDOMBinding.h:
18120 * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Added.
18121 (WebKit::createAnchorWrapper):
18122 (WebKit::createAppletWrapper):
18123 (WebKit::createAreaWrapper):
18124 (WebKit::createBaseWrapper):
18125 (WebKit::createBaseFontWrapper):
18126 (WebKit::createBlockquoteWrapper):
18127 (WebKit::createBodyWrapper):
18128 (WebKit::createBRWrapper):
18129 (WebKit::createButtonWrapper):
18130 (WebKit::createCanvasWrapper):
18131 (WebKit::createTableCaptionWrapper):
18132 (WebKit::createTableColWrapper):
18133 (WebKit::createModWrapper):
18134 (WebKit::createDirectoryWrapper):
18135 (WebKit::createDivWrapper):
18136 (WebKit::createDListWrapper):
18137 (WebKit::createEmbedWrapper):
18138 (WebKit::createFieldSetWrapper):
18139 (WebKit::createFontWrapper):
18140 (WebKit::createFormWrapper):
18141 (WebKit::createFrameWrapper):
18142 (WebKit::createFrameSetWrapper):
18143 (WebKit::createHeadingWrapper):
18144 (WebKit::createHeadWrapper):
18145 (WebKit::createHRWrapper):
18146 (WebKit::createHtmlWrapper):
18147 (WebKit::createIFrameWrapper):
18148 (WebKit::createImageWrapper):
18149 (WebKit::createInputWrapper):
18150 (WebKit::createIsIndexWrapper):
18151 (WebKit::createLabelWrapper):
18152 (WebKit::createLegendWrapper):
18153 (WebKit::createLIWrapper):
18154 (WebKit::createLinkWrapper):
18155 (WebKit::createMapWrapper):
18156 (WebKit::createMarqueeWrapper):
18157 (WebKit::createMenuWrapper):
18158 (WebKit::createMetaWrapper):
18159 (WebKit::createObjectWrapper):
18160 (WebKit::createOListWrapper):
18161 (WebKit::createOptGroupWrapper):
18162 (WebKit::createOptionWrapper):
18163 (WebKit::createParagraphWrapper):
18164 (WebKit::createParamWrapper):
18165 (WebKit::createPreWrapper):
18166 (WebKit::createQuoteWrapper):
18167 (WebKit::createScriptWrapper):
18168 (WebKit::createSelectWrapper):
18169 (WebKit::createStyleWrapper):
18170 (WebKit::createTableWrapper):
18171 (WebKit::createTableSectionWrapper):
18172 (WebKit::createTableCellWrapper):
18173 (WebKit::createTextAreaWrapper):
18174 (WebKit::createTitleWrapper):
18175 (WebKit::createTableRowWrapper):
18176 (WebKit::createUListWrapper):
18177 (WebKit::createHTMLElementWrapper):
18178 * bindings/gobject/WebKitHTMLElementWrapperFactory.h: Added.
18179 * bindings/scripts/CodeGeneratorGObject.pm:
18182 2010-04-22 Eric Carlson <eric.carlson@apple.com>
18184 Reviewed by Simon Fraser.
18186 Do not pause movie when readyState drops below HAVE_FUTURE_DATA
18187 https://bugs.webkit.org/show_bug.cgi?id=37991
18188 <rdar://problem/7893937>
18190 No new tests, we don't have infrastructure in DRT to test with streamed
18193 * html/HTMLMediaElement.cpp:
18194 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_readyStateMaximum.
18195 (WebCore::HTMLMediaElement::prepareForLoad): Reset m_readyStateMaximum.
18196 (WebCore::HTMLMediaElement::setReadyState): Maintain m_readyStateMaximum.
18197 (WebCore::HTMLMediaElement::potentiallyPlaying): Also return true if the readyState was
18198 previously >= HAVE_FUTURE_DATA.
18199 * html/HTMLMediaElement.h:
18201 2010-04-22 Zhenyao Mo <zmo@google.com>
18203 Reviewed by Dimitri Glazkov.
18205 Regression: framebufferRenderbuffer crashes with null renderBuffer
18206 https://bugs.webkit.org/show_bug.cgi?id=37963
18208 * html/canvas/WebGLRenderingContext.cpp:
18209 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input.
18211 2010-04-22 Zhenyao Mo <zmo@google.com>
18213 Reviewed by Dimitri Glazkov.
18215 Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
18216 https://bugs.webkit.org/show_bug.cgi?id=37281
18218 * html/canvas/WebGLRenderingContext.cpp:
18219 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Remove error check because two enums are supported now.
18220 (WebCore::WebGLRenderingContext::getParameter): Add two enums.
18221 (WebCore::WebGLRenderingContext::readPixels): Fix a tiny bug.
18222 * platform/graphics/mac/GraphicsContext3DMac.cpp:
18223 (WebCore::GraphicsContext3D::getIntegerv): Emulate two enums.
18225 2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
18227 Reviewed by Xan Lopez.
18229 [GTK] Mute/unmute button on <video> elements are backwards
18230 https://bugs.webkit.org/show_bug.cgi?id=33967
18232 Fix mute/unmute buttons icons-action relation and explain why their
18233 variable names and corresponding icons seem to be misleading but are
18234 actually right. Original patch by Mike Hommey.
18236 * platform/gtk/RenderThemeGtk.cpp:
18237 (WebCore::RenderThemeGtk::initMediaStyling):
18239 2010-04-22 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
18241 Reviewed by Eric Seidel.
18243 Fix build if NPAPI support is disabled
18244 https://bugs.webkit.org/show_bug.cgi?id=36621
18246 No new tests, this is a build fix.
18247 Re-submit r58043 with fix for EFL.
18249 * plugins/PluginViewNone.cpp:
18251 2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
18253 Reviewed by Xan Lopez.
18255 [Gtk] Evaluate and create tests for all the AtkRole's implemented by
18257 https://bugs.webkit.org/show_bug.cgi?id=34449
18259 Implement ATK_ROLE_COMBO_BOX.
18261 * accessibility/gtk/AccessibilityObjectAtk.cpp:
18262 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
18263 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
18266 2010-04-22 Nikolas Zimmermann <nzimmermann@rim.com>
18268 Reviewed by Dirk Schulze.
18270 SVGPaintServer needs to be converted to the new RenderSVGResource* system
18271 https://bugs.webkit.org/show_bug.cgi?id=37986
18273 No functional changes, just move the SVGPaintServer* classes from svg/graphics/ to rendering/, the new location for the RenderSVGResource* classes.
18274 This is a preparation for the real patch which follows soon.
18276 * Android.mk: Rename files and move to the right location.
18277 * GNUmakefile.am: Ditto.
18278 * WebCore.gypi: Ditto.
18279 * WebCore.pro: Ditto.
18280 * WebCore.vcproj/WebCore.vcproj: Ditto.
18281 * WebCore.xcodeproj/project.pbxproj: Ditto.
18282 * rendering/RenderSVGResource.cpp: Copied from svg/graphics/SVGPaintServer.cpp.
18283 * rendering/RenderSVGResourceGradient.cpp: Copied from svg/graphics/SVGPaintServerGradient.cpp.
18284 * rendering/RenderSVGResourceGradient.h: Copied from svg/graphics/SVGPaintServerGradient.h.
18285 * rendering/RenderSVGResourceLinearGradient.cpp: Copied from svg/graphics/SVGPaintServerLinearGradient.cpp.
18286 * rendering/RenderSVGResourceLinearGradient.h: Copied from svg/graphics/SVGPaintServerLinearGradient.h.
18287 * rendering/RenderSVGResourcePattern.cpp: Copied from svg/graphics/SVGPaintServerPattern.cpp.
18288 * rendering/RenderSVGResourcePattern.h: Copied from svg/graphics/SVGPaintServerPattern.h.
18289 * rendering/RenderSVGResourceRadialGradient.cpp: Copied from svg/graphics/SVGPaintServerRadialGradient.cpp.
18290 * rendering/RenderSVGResourceRadialGradient.h: Copied from svg/graphics/SVGPaintServerRadialGradient.h.
18291 * rendering/RenderSVGResourceSolidColor.cpp: Copied from svg/graphics/SVGPaintServerSolid.cpp.
18292 * rendering/RenderSVGResourceSolidColor.h: Copied from svg/graphics/SVGPaintServerSolid.h.
18293 * rendering/SVGRenderTreeAsText.cpp: Change include file names.
18294 * svg/SVGFont.cpp: Ditto.
18295 * svg/SVGGradientElement.cpp: Ditto.
18296 * svg/SVGGradientElement.h: Ditto.
18297 * svg/SVGLinearGradientElement.cpp: Ditto.
18298 * svg/SVGPatternElement.cpp: Ditto.
18299 * svg/SVGPatternElement.h: Ditto.
18300 * svg/SVGRadialGradientElement.cpp: Ditto.
18301 * svg/graphics/SVGPaintServer.cpp: Removed.
18302 * svg/graphics/SVGPaintServerGradient.cpp: Removed.
18303 * svg/graphics/SVGPaintServerGradient.h: Removed.
18304 * svg/graphics/SVGPaintServerLinearGradient.cpp: Removed.
18305 * svg/graphics/SVGPaintServerLinearGradient.h: Removed.
18306 * svg/graphics/SVGPaintServerPattern.cpp: Removed.
18307 * svg/graphics/SVGPaintServerPattern.h: Removed.
18308 * svg/graphics/SVGPaintServerRadialGradient.cpp: Removed.
18309 * svg/graphics/SVGPaintServerRadialGradient.h: Removed.
18310 * svg/graphics/SVGPaintServerSolid.cpp: Removed.
18311 * svg/graphics/SVGPaintServerSolid.h: Removed.
18312 * svg/graphics/SVGResourceListener.h: Removed.
18314 2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
18316 Reviewed by Simon Hausmann.
18318 [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
18320 This prevents the dependent headers from being included by
18321 qt/include/QtWebKit/QtWebKit
18325 2010-04-22 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
18327 Reviewed by Adam Roben.
18329 EFL does not support PluginDatabase yet.
18330 http://webkit.org/b/37854
18332 No behavior changes, so no new tests were added.
18334 * loader/FrameLoader.cpp:
18335 (WebCore::FrameLoader::defaultObjectContentType):
18337 2010-04-22 Ilya Tikhonovsky <loislo@chromium.org>
18339 Reviewed by Yury Semikhatsky.
18341 Web Inspector: Timeline scrolling speed is slow if it has more than 1k timeline marks.
18342 https://bugs.webkit.org/show_bug.cgi?id=37924
18344 * inspector/front-end/TimelineGrid.js:
18345 (WebInspector.TimelineGrid.prototype.updateDividers):
18346 (WebInspector.TimelineGrid.prototype.addEventDividers):
18347 * inspector/front-end/TimelineOverviewPane.js:
18348 (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
18349 * inspector/front-end/TimelinePanel.js:
18350 (WebInspector.TimelinePanel.prototype._updateEventDividers):
18351 (WebInspector.TimelinePanel.prototype._refresh):
18353 2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
18355 Reviewed by Simon Fraser.
18357 Rename window.media to window.styleMedia
18358 https://bugs.webkit.org/show_bug.cgi?id=36187
18360 It has been defined that the AbstractView media extension
18361 defined in the CSSOM View spec should be renamed to styleMedia.
18362 This patch does that and updates the current layout tests
18365 * page/AbstractView.idl:
18366 * page/DOMWindow.cpp:
18367 (WebCore::DOMWindow::styleMedia):
18368 * page/DOMWindow.h:
18369 * page/DOMWindow.idl:
18371 2010-04-22 Anton Muhin <antonm@chromium.org>
18373 Reviewed by Adam Barth.
18375 [v8] Do not pass empty handle into SetHiddenValue which would crash.
18376 https://bugs.webkit.org/show_bug.cgi?id=37801
18378 * bindings/v8/V8AbstractEventListener.cpp:
18379 (WebCore::V8AbstractEventListener::handleEvent): add couple of asserts to check for unexpected paths
18380 (WebCore::V8AbstractEventListener::invokeEventHandler): bail out of jsEvent is empty handle
18382 2010-04-22 Stephan Aßmus <superstippi@gmx.de>
18384 Reviewed by David Levin.
18386 [Haiku] Implement ImageBuffer support
18387 https://bugs.webkit.org/show_bug.cgi?id=35288
18389 Covered by existing tests.
18391 Complete implementation of ImageBuffer for Haiku. Uses StillImage
18392 class to export a WebCore::Image and associated GraphicsContext
18393 to perform arbitrary drawing in the offscreen BBitmap buffer.
18395 * platform/graphics/haiku/ImageBufferData.h:
18396 * platform/graphics/haiku/ImageBufferHaiku.cpp,
18397 (WebCore::ImageBufferData::ImageBufferData),
18398 (WebCore::ImageBufferData::~ImageBufferData),
18399 (WebCore::ImageBuffer::ImageBuffer),
18400 (WebCore::ImageBuffer::~ImageBuffer),
18401 (WebCore::ImageBuffer::context),
18402 (WebCore::ImageBuffer::image):
18403 Implementation uses offscreen BBitmap and BView, wraps StillImage
18404 around those to provide WebCore::Image interface.
18405 (WebCore::ImageBuffer::platformTransformColorSpace):
18406 (WebCore::convertFromData):
18407 Method just performs BGRA <-> RGBA conversion.
18408 (WebCore::convertFromInternalData):
18409 Method just performs BGRA <-> RGBA conversion and handles
18410 pre-multiplying the color values if requested.
18411 (WebCore::convertToInternalData):
18412 Method just performs BGRA <-> RGBA conversion and handles
18413 de.multiplying the color values if requested.
18414 (WebCore::getImageData):
18415 Common code for the next two methods.
18416 (WebCore::ImageBuffer::getUnmultipliedImageData),
18417 (WebCore::ImageBuffer::getPremultipliedImageData):
18419 (WebCore::putImageData):
18420 Common code for the next two methods.
18421 (WebCore::ImageBuffer::putUnmultipliedImageData),
18422 (WebCore::ImageBuffer::putPremultipliedImageData):
18424 (WebCore::ImageBuffer::toDataURL):
18425 Uses Haiku "Translation Kit" to convert image data to data
18426 of the requested mime type.
18428 2010-04-22 Adam Barth <abarth@webkit.org>
18430 Unreviewed, rolling out r58069.
18431 http://trac.webkit.org/changeset/58069
18432 https://bugs.webkit.org/show_bug.cgi?id=27751
18434 Broke compile on Windows.
18436 * WebCore.base.exp:
18437 * editing/EditorCommand.cpp:
18438 (WebCore::supportedPaste):
18439 (WebCore::createCommandMap):
18440 * page/Settings.cpp:
18441 (WebCore::Settings::Settings):
18444 2010-04-22 Abhishek Arya <inferno@chromium.org>
18446 Reviewed by Adam Barth.
18448 Add support for controlling clipboard access from javascript.
18449 Clipboard access from javascript is disabled by default.
18450 https://bugs.webkit.org/show_bug.cgi?id=27751
18452 Test: editing/execCommand/clipboard-access.html
18454 * WebCore.base.exp:
18455 * editing/EditorCommand.cpp:
18456 (WebCore::supportedCopyCut):
18457 (WebCore::supportedPaste):
18458 (WebCore::createCommandMap):
18459 * page/Settings.cpp:
18460 (WebCore::Settings::Settings):
18461 (WebCore::Settings::setJavaScriptCanAccessClipboard):
18463 (WebCore::Settings::javaScriptCanAccessClipboard):
18465 2010-04-22 Stephan Aßmus <superstippi@gmx.de>
18467 Reviewed by David Levin.
18469 [Haiku] Improve SimpleFontDataHaiku
18470 https://bugs.webkit.org/show_bug.cgi?id=37411
18472 Covered by existing tests.
18474 * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
18475 - Cleaned up includes
18476 - Removed prototype "charUnicodeToUTF8HACK"
18477 (WebCore::SimpleFontData::platformInit):
18478 - Use const BFont pointer
18479 (WebCore::SimpleFontData::smallCapsFontData):
18480 - "fontPlatformData" was leaked. It is only
18481 used as the key for the font cache lookup.
18482 (WebCore::SimpleFontData::platformMetricsForGlyph):
18483 - Use existing WebCore encoding infrastructure
18484 instead of adding a hack for Haiku.
18486 2010-04-21 Steve Block <steveblock@google.com>
18488 Reviewed by Kenneth Rohde Christiansen.
18490 Replace Geolocation::suspend()/resume() which are required by Android.
18491 https://bugs.webkit.org/show_bug.cgi?id=37942
18493 These methods were removed in Bug 36255.
18495 Build fix only, no new tests.
18497 * page/Geolocation.cpp:
18498 (WebCore::Geolocation::suspend):
18499 (WebCore::Geolocation::resume):
18500 * page/Geolocation.h:
18502 2010-04-21 Ray Rischpater <Raymond.Rischpater@Nokia.com>
18504 In HTMLInputElement.cpp there are numerous style
18507 This patch includes style changes to fix existing style
18508 deviations in this file.
18510 Rubber stamped by Darin Adler.
18512 Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881>
18514 * html/HTMLInputElement.cpp:
18516 2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
18518 Reviewed by Adam Roben.
18520 Add missing EFL WebCore file.
18521 http://webkit.org/b/37854
18523 No behavior changes, so no new tests were added.
18525 * bindings/js/ScriptControllerEfl.cpp: Added.
18526 (WebCore::ScriptController::createScriptInstanceForWidget):
18528 2010-04-21 Simon Fraser <simon.fraser@apple.com>
18530 Reviewed by Dan Bernstein.
18532 Printing Core Animation-based plug-ins is broken
18533 https://bugs.webkit.org/show_bug.cgi?id=37967
18535 When we do a "flattening" paint because of printing, we need to stash
18536 the flattening flag in the FrameView's m_paintBehavior, because
18537 WebBaseNetscapePluginView needs to find it there to decide whether
18538 to grab a bitmap for printing, for CA plug-ins.
18540 * page/FrameView.cpp:
18541 (WebCore::FrameView::paintContents):
18543 2010-04-21 François Sausset <sausset@gmail.com>
18545 Reviewed by Kenneth Rohde Christiansen.
18547 Fix to take into account a change made in "StringImpl".
18548 https://bugs.webkit.org/show_bug.cgi?id=37763
18550 * mathml/RenderMathMLOperator.cpp:
18551 (WebCore::RenderMathMLOperator::updateFromElement):
18553 2010-04-21 Andy Estes <aestes@apple.com>
18555 Reviewed by Darin Adler.
18557 Create a template for creating reference-counted Windows GDI handles.
18558 Refactor RefCountedHFONT to use this template.
18560 https://bugs.webkit.org/show_bug.cgi?id=37952
18562 No change in behavior.
18564 * WebCore.vcproj/WebCore.vcproj: Add RefCountedHFONT.h
18565 * platform/graphics/cairo/FontPlatformData.h:
18566 (WebCore::FontPlatformData::hfont): Refactor to return m_hfont->handle() instead of m_hfont->hfont().
18567 * platform/graphics/cg/FontPlatformData.h:
18568 (WebCore::FontPlatformData::hfont): Same.
18569 * platform/graphics/win/FontPlatformDataCGWin.cpp:
18570 (WebCore::FontPlatformData::FontPlatformData): Instantiate m_hfont with a RefCountedGDIHandle<HFONT>.
18571 * platform/graphics/win/FontPlatformDataWin.cpp:
18572 (WebCore::FontPlatformData::FontPlatformData): Same.
18573 * platform/graphics/win/RefCountedGDIHandle.h: Added. Interface is identical to RefCountedHFONT with exception of renaming hfont() to handle().
18574 (WebCore::RefCountedGDIHandle::create):
18575 (WebCore::RefCountedGDIHandle::createDeleted):
18576 (WebCore::RefCountedGDIHandle::~RefCountedGDIHandle):
18577 (WebCore::RefCountedGDIHandle::handle): Return the GDI handle.
18578 (WebCore::RefCountedGDIHandle::hash):
18579 (WebCore::RefCountedGDIHandle::RefCountedGDIHandle):
18580 * platform/graphics/win/RefCountedHFONT.h: Removed.
18582 2010-04-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
18584 Reviewed by Darin Adler.
18586 Fix build if NPAPI support is disabled
18587 https://bugs.webkit.org/show_bug.cgi?id=36621
18589 No new tests, this is a build fix.
18590 Re-submit r56585 with fix for Chromium.
18592 * plugins/PluginView.cpp: Guard getValueStatic() with
18593 NETSCAPE_PLUGIN_API
18594 (WebCore::PluginView::getValue):
18595 * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
18596 * plugins/PluginViewNone.cpp: Guard platformGetValue() and
18597 platformGetValueStatic with NETSCAPE_PLUGIN_API;
18598 Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
18599 PLATFORM(MAC) or PLATFORM(CHROMIUM)
18601 2010-04-21 David Yonge-Mallo <davinci@chromium.org>
18603 Reviewed by Dan Bernstein.
18605 ZWNJ - Display non-printing, invisible character
18606 https://bugs.webkit.org/show_bug.cgi?id=16131
18608 Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path.
18610 Tests: fast/text/format-control.html
18611 fast/text/zero-width-characters.html
18613 * platform/graphics/Font.h:
18614 (WebCore::Font::operator!=):
18615 (WebCore::Font::treatAsZeroWidthSpace): treat ZWNJ and ZWJ as ZWSP.
18616 * platform/graphics/GlyphPageTreeNode.cpp:
18617 (WebCore::GlyphPageTreeNode::initializePage): added ZWNJ and ZWJ.
18618 * platform/text/CharacterNames.h: added ZWNJ and ZWJ.
18620 2010-04-21 Charles Wei <charles.wei@torchmobile.com.cn>
18622 Reviewed by George Staikos.
18624 Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for
18625 bug fix of 37175 , which seperates DocumentWriter from FrameLoader
18626 https://bugs.webkit.org/show_bug.cgi?id=37915
18628 No new tests since this only fixes the build problem.
18630 * dom/Document.cpp:
18631 (WebCore::Document::isXHTMLMPDocument):
18633 2010-04-21 Shinichiro Hamaji <hamaji@chromium.org>
18635 Reviewed by Darin Adler.
18637 Call sites of TextIterator constructor are difficult to read
18638 https://bugs.webkit.org/show_bug.cgi?id=37909
18640 Now we use enum parameters instead of boolean parameters and
18641 boolean version of constructors are eliminated.
18643 This change also changes the names of boolean members so they are
18644 now third person singular.
18646 No new tests because this is just a refactoring.
18648 * WebCore.base.exp:
18649 * editing/TextIterator.cpp:
18650 (WebCore::TextIterator::TextIterator):
18651 (WebCore::TextIterator::advance):
18652 (WebCore::TextIterator::handleReplacedElement):
18653 (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
18654 (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode):
18655 (WebCore::TextIterator::handleNonTextNode):
18656 (WebCore::TextIterator::exitNode):
18657 (WebCore::TextIterator::emitCharacter):
18658 (WebCore::TextIterator::emitText):
18659 (WebCore::CharacterIterator::CharacterIterator):
18660 (WebCore::TextIterator::rangeLength):
18661 (WebCore::TextIterator::rangeFromLocationAndLength):
18662 (WebCore::findPlainText):
18663 * editing/TextIterator.h:
18665 * editing/VisibleSelection.cpp:
18666 (WebCore::VisibleSelection::appendTrailingWhitespace):
18667 * editing/visible_units.cpp:
18668 (WebCore::nextBoundary):
18670 2010-04-21 Jesus Sanchez-Palencia <jesus@webkit.org>
18672 Reviewed by Kenneth Rohde Christiansen.
18674 Add PageClientQt files.
18676 [Qt] PageClientQt specific implementation for QWidget
18677 https://bugs.webkit.org/show_bug.cgi?id=37858
18681 2010-04-21 Diego Escalante Urrelo <descalante@igalia.com>
18683 Reviewed by Xan Lopez.
18685 [Gtk] Evaluate and create tests for all the AtkRole's implemented by
18687 https://bugs.webkit.org/show_bug.cgi?id=34449
18689 Implement ATK_ROLE_SEPARATOR.
18691 * accessibility/AccessibilityRenderObject.cpp:
18692 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
18693 * accessibility/gtk/AccessibilityObjectAtk.cpp:
18694 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
18696 2010-04-21 David Leong <david.leong@nokia.com>
18698 Reviewed by Simon Hausmann.
18700 [Qt] Symbian apps crash on exit due to a bad qObject_cast.
18702 https://bugs.webkit.org/show_bug.cgi?id=37303
18704 Added check for NULL to avoid the crash. Reworked to fix memory leak
18706 * plugins/symbian/PluginViewSymbian.cpp:
18707 (WebCore::PluginView::platformDestroy):
18709 2009-04-21 Chris Fleizach <cfleizach@apple.com>
18711 Reviewed by Alexey Proskuryakov.
18713 aria-liveregion-notifications.html fails on leopard release bot
18714 https://bugs.webkit.org/show_bug.cgi?id=37112
18716 Change the method that DRT uses to monitor AX notifications so that its robust
18717 by just sending out NSNotification that can be listened to by anyone, instead
18718 of keeping a static function pointer around.
18720 This change is aimed to avoid flakiness seen in DRT when the notification handlers
18721 are not being called at the appropriate time.
18723 Tests: platform/mac/accessibility/aria-liveregions-addedelement.html
18724 platform/mac/accessibility/aria-liveregions-changedalt.html
18725 platform/mac/accessibility/aria-liveregions-changedtext.html
18726 platform/mac/accessibility/aria-liveregions-removedelement.html
18728 * accessibility/mac/AccessibilityObjectWrapper.h:
18729 * accessibility/mac/AccessibilityObjectWrapper.mm:
18730 (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
18731 (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
18733 2010-04-21 Gavin Barraclough <barraclough@apple.com>
18735 Reviewed by NOBODY (Leopard build fix).
18736 Remove old exports.
18738 * WebCore.base.exp:
18740 2010-04-21 Gavin Barraclough <barraclough@apple.com>
18742 Reviewed by Darin Adler.
18744 Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings
18745 UString and String now have the same internal representation; Just re-wrap the internal impl.
18747 * bindings/js/JSDOMBinding.cpp:
18748 (WebCore::jsStringSlowCase):
18749 * bindings/js/JSDOMBinding.h:
18750 (WebCore::ustringToString):
18751 (WebCore::stringToUString):
18752 (WebCore::identifierToString):
18753 (WebCore::ustringToAtomicString):
18754 (WebCore::identifierToAtomicString):
18756 2010-04-21 Mark Rowe <mrowe@apple.com>
18758 Reviewed by Eric Carlson.
18760 <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
18762 A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's
18763 preference file on disk is often required to reproduce the bug.
18765 * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
18767 2010-04-21 Mark Rowe <mrowe@apple.com>
18769 Reviewed by Maciej Stachowiak.
18771 <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
18773 This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying
18774 a modal dialog on-screen.
18776 * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
18777 * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
18779 2010-04-21 Sam Weinig <sam@webkit.org>
18781 Reviewed by Geoffrey Garen.
18783 Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
18784 Wean JavaScriptCore off calls to isMainThread()
18786 No change in behavior.
18788 * bindings/js/JSDOMWindowBase.cpp:
18789 (WebCore::JSDOMWindowBase::commonJSGlobalData):
18790 Explicitly set a large stack type for the common JSGlobalData and
18791 set the currently running thread as the exclusive thread for its
18794 * bindings/js/WorkerScriptController.cpp:
18795 (WebCore::WorkerScriptController::WorkerScriptController):
18796 Explicitly set a small stack type for the workers JSGlobalData.
18798 2010-04-21 Gavin Barraclough <barraclough@apple.com>
18800 Reviewed by NOBODY (Qt build fix).
18804 * platform/text/qt/StringQt.cpp: Removed.
18806 2010-04-20 Gavin Barraclough <barraclough@apple.com>
18808 Reviewed by Oliver Hunt, Darin Adler.
18810 Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
18811 Add include for StringHash.h.
18813 * WebCore.xcodeproj/project.pbxproj:
18814 * bridge/c/c_class.cpp:
18816 2010-04-21 Alexey Proskuryakov <ap@apple.com>
18820 * platform/network/mac/ResourceHandleMac.mm:
18821 (WebCore::createNSURLConnection): Fixed a typo, named an argument.
18822 (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's
18823 now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger).
18825 2010-04-21 Alexey Proskuryakov <ap@apple.com>
18827 Reviewed by Adam Roben.
18831 * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
18832 for now, as it's mistakenly missing from WebKitSupportLibrary headers.
18834 2010-04-21 Dimitri Glazkov <dglazkov@chromium.org>
18836 Reviewed by Darin Adler.
18838 REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
18839 https://bugs.webkit.org/show_bug.cgi?id=37902
18841 The issue is due to MSVC creating enums as signed. The fix is to store the value
18844 Test: http://acid3.acidtests.org/
18846 * rendering/style/RenderStyle.h:
18847 (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
18849 2010-04-21 Alexey Proskuryakov <ap@apple.com>
18851 Reviewed by Brady Eidson.
18853 https://bugs.webkit.org/show_bug.cgi?id=37933
18854 <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
18856 Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
18858 This improves integration between ResourceHandle and Apple networking libraries.
18860 * platform/network/cf/ResourceHandleCFNet.cpp:
18861 (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary.
18862 (WebCore::ResourceHandle::start): Pass connection properties.
18863 (WebCore::WebCoreSynchronousLoader::load): Ditto.
18865 * platform/network/mac/ResourceHandleMac.mm:
18866 (WebCore::createNSURLConnection): Factor out OS version dependent code for creating
18867 NSURLConnection. Tell NSURLConnection about credential policy upfront.
18868 (WebCore::ResourceHandle::start): Use the new function.
18869 (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
18871 2010-04-21 Xiaomei Ji <xji@chromium.org>
18873 Reviewed by Dimitri Glazkov
18875 This patch fixes [chromium] RTL <select> dropdown box expands to right
18877 https://bugs.webkit.org/show_bug.cgi?id=37232
18879 No automatic test is possible.
18881 * manual-tests/select_dropdown_box_alignment.html: Added.
18882 * platform/chromium/PopupMenuChromium.cpp:
18883 (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box
18886 2010-04-21 anton muhin <antonm@google.com>
18888 Reviewed by Adam Barth.
18890 [v8] Bail out if fetching of Object.prototype fails.
18891 https://bugs.webkit.org/show_bug.cgi?id=37661
18893 If for any reason we failed to fetch Object.prototype, context cannot
18894 be properly initialized and we bail out.
18896 * bindings/v8/V8DOMWindowShell.cpp:
18897 (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed
18898 (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype
18899 * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed
18901 2010-04-21 Timothy Hatcher <timothy@apple.com>
18903 Make UserContentURLPattern correctly check for subdomains and the URL
18904 has the same suffix as the pattern. Also improve the parsing of the host.
18906 https://bugs.webkit.org/show_bug.cgi?id=37357
18908 Reviewed by Darin Adler.
18910 * page/UserContentURLPattern.cpp:
18911 (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to
18912 simply check for "*" only or a "*." prefix and then do a substring.
18913 (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the
18914 position before the suffix to ensure it a subdomain and not just a suffix match.
18916 2010-04-21 Xan Lopez <xlopez@igalia.com>
18918 Try to fix compilation on GTK+ debug bots.
18920 * bindings/gobject/WebKitDOMBinding.cpp:
18921 (WebKit::createWrapper):
18923 2010-04-21 Jakub Wieczorek <jwieczorek@webkit.org>
18925 Reviewed by Darin Adler.
18927 List item markers are not always updated after changes in the DOM.
18928 https://bugs.webkit.org/show_bug.cgi?id=37060
18930 In particular, they would not be updated when adding/removing an item
18931 that is not a direct child of the list element.
18933 Tests: fast/lists/ol-nested-items-dynamic-insert.html
18934 fast/lists/ol-nested-items-dynamic-remove.html
18935 fast/lists/ol-nested-items.html
18936 fast/lists/ol-nested-list-dynamic-insert.html
18937 fast/lists/ol-nested-list-dynamic-remove.html
18938 fast/lists/ol-nested-list.html
18940 * rendering/RenderListItem.cpp:
18941 (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item.
18942 * rendering/RenderListItem.h:
18943 * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
18944 (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency.
18945 * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
18946 (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling.
18947 (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling.
18948 (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling.
18949 * rendering/RenderTreeAsText.cpp:
18950 (WebCore::markerTextForListItem):
18952 2010-04-21 Xan Lopez <xlopez@igalia.com>
18954 Reviewed by Adam Barth.
18956 [GTK] GObject DOM bindings
18957 https://bugs.webkit.org/show_bug.cgi?id=33590
18959 Initial version of the GObject DOM bindings.
18961 Only bindings for Node.idl and a few of its dependencies are
18962 provided, without public API to access them at the
18963 moment. References to the Document interfaces and to
18964 EventListeners in Node.idl are ignored for GObject to make the
18965 initial patch as small as possible, but will be enabled in a
18969 * bindings/gobject/ConvertToUTF8String.cpp: Added.
18970 (convertToUTF8String):
18971 * bindings/gobject/ConvertToUTF8String.h: Added.
18972 * bindings/gobject/WebKitDOMBinding.cpp: Added.
18973 (WebKit::domObjects):
18974 (WebKit::DOMObjectCache::get):
18975 (WebKit::DOMObjectCache::put):
18976 (WebKit::DOMObjectCache::forget):
18977 (WebKit::createWrapper):
18979 * bindings/gobject/WebKitDOMBinding.h: Added.
18980 * bindings/gobject/WebKitDOMObject.cpp: Added.
18981 (webkit_dom_object_init):
18982 (webkit_dom_object_class_init):
18983 * bindings/gobject/WebKitDOMObject.h: Added.
18984 * bindings/scripts/CodeGeneratorGObject.pm: Added.
18985 * bindings/scripts/gobject-generate-headers.pl: Added.
18988 2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
18990 Reviewed by Xan Lopez.
18992 Wrong header being included in FontPlatformDataCairo.cpp
18993 https://bugs.webkit.org/show_bug.cgi?id=37829
18995 No behavior changes, so no new tests were added.
18997 * platform/graphics/cairo/FontPlatformDataCairo.cpp:
18999 2010-04-21 Adam Roben <aroben@apple.com>
19001 Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
19003 Fixes <http://webkit.org/b/37922>.
19005 Reviewed by Dave Hyatt.
19007 * rendering/RenderSVGResourceFilter.cpp:
19008 (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
19009 hold the heap-allocated FilterData object, so that we won't leak it
19010 when we bail out of this function on error.
19012 2010-04-21 Zoltan Herczeg <zherczeg@webkit.org>
19014 Reviewed by Kenneth Rohde Christiansen.
19016 [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
19017 https://bugs.webkit.org/show_bug.cgi?id=37844
19019 nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
19020 which is required by startAnimation() to detect frame and repetition counts.
19021 Hence, Image::drawTiled cannot start animations under Qt:
19022 <html><body background="animated.gif"></body></html> does not work
19024 * platform/graphics/qt/ImageDecoderQt.cpp:
19025 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
19027 2010-04-21 Benjamin Poulain <ikipou@gmail.com>
19029 Reviewed by Simon Fraser.
19031 Update of fixed elements is not made correctly when the page has been scrolled
19032 https://bugs.webkit.org/show_bug.cgi?id=36783
19034 When a fixed element was updated, the old geometry was not repainted correctly
19035 because the repaint rect was cached during the layout and not updated when
19038 The rect is now updated while scrolling so the region updated correspond to the
19039 region of the element on the screen.
19041 The method RenderLayer::updateRepaintRectsAfterScroll() updates
19042 the repaint rect of all fixed tree after scroll.
19044 Tests: fast/repaint/fixed-child-move-after-scroll.html
19045 fast/repaint/fixed-child-of-fixed-move-after-scroll.html
19046 fast/repaint/fixed-child-of-transformed-move-after-scroll.html
19047 fast/repaint/fixed-move-after-scroll.html
19049 * page/FrameView.cpp:
19050 (WebCore::FrameView::scrollPositionChanged):
19051 * rendering/RenderLayer.cpp:
19052 (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
19053 * rendering/RenderLayer.h:
19055 2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
19057 Reviewed by Adam Roben.
19059 Update EFL port to match recent API changes.
19060 http://webkit.org/b/37853
19062 No behavior changes, so no new tests were added.
19064 * platform/efl/FileSystemEfl.cpp:
19065 * platform/efl/LocalizedStringsEfl.cpp:
19066 (WebCore::missingPluginText):
19067 (WebCore::crashedPluginText):
19068 * platform/efl/MIMETypeRegistryEfl.cpp:
19069 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
19070 * platform/graphics/efl/ImageEfl.cpp:
19072 2010-04-21 Avi Drissman <avi@chromium.org>
19074 Reviewed by Simon Fraser.
19076 JPG images fail to print in Chromium
19077 https://bugs.webkit.org/show_bug.cgi?id=37796
19079 Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives.
19081 * platform/graphics/cg/ImageSourceCG.cpp:
19082 (WebCore::ImageSource::setData):
19084 2010-04-21 Marcus Bulach <bulach@chromium.org>
19086 Reviewed by Nate Chapin.
19088 EventSource needs to be marked as an ActiveDomType.
19089 https://bugs.webkit.org/show_bug.cgi?id=37857
19090 Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
19092 * bindings/scripts/CodeGeneratorV8.pm:
19093 * bindings/v8/V8DOMWrapper.cpp:
19094 * bindings/v8/custom/V8EventSourceConstructor.cpp:
19095 (WebCore::V8EventSource::constructorCallback):
19097 2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
19099 Reviewed by Nikolas Zimmermann.
19101 Add missing includes to platform/posix/FileSystemPOSIX.cpp
19102 https://bugs.webkit.org/show_bug.cgi?id=37861
19104 No behavior changes, so no new tests were added.
19106 * platform/posix/FileSystemPOSIX.cpp:
19108 2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
19110 Reviewed by Simon Fraser.
19112 [Qt] Fix or remove the runtime flag for accelerated compositing.
19114 This adds a way for a chrome client to disallow layers from becoming composited,
19115 even if the settings enable accelerated compositing. This is necessary for platforms
19116 where different views can be applied with the same settings to the same page.
19118 We enable an API through ChromeClient to ask the chrome-client whether or not
19119 it can render composited layers, which is taken into account when the compositor
19120 decides whether or not to start compositing.
19122 https://bugs.webkit.org/show_bug.cgi?id=37313
19124 Pages under LayoutTests/compositing now work under QWebView, even when
19125 QWebSettings::AcceleratedCompositingEnabled is on.
19127 * page/ChromeClient.h:
19128 (WebCore::ChromeClient::allowsAcceleratedCompositing):
19129 * platform/qt/QWebPageClient.h:
19130 (QWebPageClient::allowsAcceleratedCompositing):
19131 * rendering/RenderLayerCompositor.cpp:
19132 (WebCore::RenderLayerCompositor::canBeComposited):
19134 2010-04-21 Ryosuke Niwa <rniwa@webkit.org>
19136 No review. Spurious whitespace was removed from project file.
19138 * WebCore.xcodeproj/project.pbxproj:
19140 2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
19142 Reviewed by Eric Seidel.
19144 [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
19145 https://bugs.webkit.org/show_bug.cgi?id=37912
19147 Replaced the ternary operator by an if statement because GCC was confused by the use of
19148 ternary operator and producing warnings on Qt builds.
19150 * WebCore.xcodeproj/project.pbxproj:
19151 * editing/CompositeEditCommand.cpp:
19152 (WebCore::CompositeEditCommand::moveParagraphs):
19154 2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
19156 Reviewed by Justin Garcia.
19158 Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
19159 https://bugs.webkit.org/show_bug.cgi?id=19539
19161 Fixes a bug where two consecutive lists are not merged if they have been converted
19162 from ordered/unordered lists inside another list.
19164 The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
19165 list element and its neighbors. This patch adds code to doApply so that after inserting
19166 the list element, it updates previousList and nextList to the outermost list elements around
19167 insertionPos under the same enclosing list. Because the next and the previous list elements
19168 are not necessarily visually next to the newly inserted element before moveParagraph moves
19169 the paragraph into the new list element, doApply merges lists after moveParagraph is called.
19171 Test: editing/execCommand/insert-lists-inside-another-list.html
19173 * editing/InsertListCommand.cpp:
19174 (WebCore::InsertListCommand::doApply): Modified as described above
19175 * editing/htmlediting.cpp:
19176 (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
19177 which is a descendent of rootNode.
19178 * editing/htmlediting.h:
19180 2010-04-20 Alexey Proskuryakov <ap@apple.com>
19182 Reviewed by Darin Adler.
19184 https://bugs.webkit.org/show_bug.cgi?id=37776
19185 <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
19187 * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
19188 for Roman letters and punctuation.
19190 * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
19191 of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
19192 also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
19193 to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
19196 2010-04-20 Shinichiro Hamaji <hamaji@chromium.org>
19198 Reviewed by Darin Adler and Alexey Proskuryakov.
19200 A backslash in EUC-JP becomes to a yen sign when it is copied
19201 https://bugs.webkit.org/show_bug.cgi?id=36419
19203 Tests: editing/execCommand/transpose-backslash-with-euc.html
19204 editing/pasteboard/copy-backslash-with-euc.html
19206 * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
19207 (WebCore::Editor::addToKillRing):
19208 * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
19209 (WebCore::TextIterator::TextIterator):
19210 (WebCore::TextIterator::init):
19211 (WebCore::TextIterator::emitText):
19212 (WebCore::plainTextToMallocAllocatedBuffer):
19213 * editing/TextIterator.h:
19215 * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
19216 (WebCore::Pasteboard::writeSelection):
19217 * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
19218 * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
19219 (WebCore::RenderText::RenderText):
19220 (WebCore::RenderText::updateNeedsTranscoding):
19221 (WebCore::RenderText::styleDidChange):
19222 (WebCore::isInlineFlowOrEmptyText):
19223 (WebCore::RenderText::previousCharacter):
19224 (WebCore::RenderText::setTextInternal):
19225 (WebCore::RenderText::textWithoutTranscoding):
19226 (WebCore::RenderText::transformText):
19227 * rendering/RenderText.h:
19228 * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
19229 (WebCore::RenderTextControl::setInnerTextValue):
19230 (WebCore::RenderTextControl::finishText):
19231 * rendering/RenderTextFragment.cpp:
19232 (WebCore::RenderTextFragment::previousCharacter):
19233 * rendering/RenderTextFragment.h:
19235 2010-04-20 Nate Chapin <japhet@chromium.org>
19237 Reviewed by Dimitri Glazkov.
19239 https://bugs.webkit.org/show_bug.cgi?id=37367
19241 Fix style violations in code generated by CodeGeneratorV8.pm.
19243 * bindings/scripts/CodeGeneratorV8.pm:
19244 * bindings/v8/test/V8TestObj.cpp:
19245 * bindings/v8/test/V8TestObj.h:
19247 2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
19249 Unreviewed, rolling out r57924.
19250 http://trac.webkit.org/changeset/57924
19251 https://bugs.webkit.org/show_bug.cgi?id=37898
19253 It broke 3-4 test on all bot (Requested by Ossy on #webkit).
19255 * page/AbstractView.idl:
19256 * page/DOMWindow.cpp:
19257 (WebCore::DOMWindow::media):
19258 * page/DOMWindow.h:
19259 * page/DOMWindow.idl:
19261 2010-04-20 Gavin Barraclough <barraclough@apple.com>
19263 Reviewed by Oliver Hunt.
19265 Bug 37895 - Share common code from UStringImplBase with StringImpl
19266 Add forwarding header.
19268 * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
19270 2010-04-20 Adam Barth <abarth@webkit.org>
19272 Unreviewed build fix fro Chromium.
19274 * loader/DocumentWriter.cpp:
19276 2010-04-20 Pavel Feldman <pfeldman@chromium.org>
19278 Reviewed by Timothy Hatcher.
19280 Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
19282 https://bugs.webkit.org/show_bug.cgi?id=37820
19284 * inspector/front-end/ScriptsPanel.js:
19285 (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
19286 (WebInspector.ScriptsPanel.prototype.editScriptLine):
19287 * inspector/front-end/TextViewer.js:
19288 (WebInspector.TextViewer.prototype._handleDoubleClick):
19289 (WebInspector.TextViewer.prototype._cancelEditingLine):
19291 2010-04-20 Adam Barth <abarth@webkit.org>
19293 Reviewed by Eric Seidel.
19295 Factor DocumentWriter out of FrameLoader
19296 https://bugs.webkit.org/show_bug.cgi?id=37175
19298 This patch separates the begin/write/end cycle of decoding network
19299 bytes and putting them into a document from the rest of the loading
19300 machinery. The code and state required to write bytes into a document
19301 doesn't interact very much with the rest of the loading machinery.
19303 No tests because there is no behavior change (hopefully!).
19307 * WebCore.base.exp:
19310 * WebCore.vcproj/WebCore.vcproj:
19311 * WebCore.xcodeproj/project.pbxproj:
19312 * bindings/ScriptControllerBase.cpp:
19313 (WebCore::ScriptController::executeIfJavaScriptURL):
19314 * dom/Document.cpp:
19315 (WebCore::Document::close):
19316 * dom/ProcessingInstruction.cpp:
19317 (WebCore::ProcessingInstruction::checkStyleSheet):
19318 * dom/ScriptElement.cpp:
19319 (WebCore::ScriptElementData::scriptCharset):
19320 * html/HTMLLinkElement.cpp:
19321 (WebCore::HTMLLinkElement::process):
19322 * loader/DocLoader.cpp:
19323 (WebCore::DocLoader::requestPreload):
19324 * loader/DocumentLoader.cpp:
19325 (WebCore::DocumentLoader::finishedLoading):
19326 (WebCore::DocumentLoader::setupForReplaceByMIMEType):
19327 * loader/DocumentWriter.cpp: Added.
19328 * loader/DocumentWriter.h: Added.
19329 * loader/FrameLoader.cpp:
19330 (WebCore::FrameLoader::FrameLoader):
19331 (WebCore::FrameLoader::init):
19332 (WebCore::FrameLoader::clear):
19333 (WebCore::FrameLoader::receivedFirstData):
19334 (WebCore::FrameLoader::setURL):
19335 (WebCore::FrameLoader::didBeginDocument):
19336 (WebCore::FrameLoader::didEndDocument):
19337 (WebCore::FrameLoader::willSetEncoding):
19338 (WebCore::FrameLoader::addData):
19339 (WebCore::FrameLoader::transitionToCommitted):
19340 (WebCore::FrameLoader::open):
19341 (WebCore::FrameLoader::finishedLoadingDocument):
19342 (WebCore::FrameLoader::addExtraFieldsToRequest):
19343 * loader/FrameLoader.h:
19344 (WebCore::FrameLoader::writer):
19345 (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
19346 * loader/MediaDocument.cpp:
19347 (WebCore::MediaDocument::replaceMediaElementTimerFired):
19348 * loader/PluginDocument.cpp:
19349 (WebCore::PluginTokenizer::createDocumentStructure):
19350 * platform/network/FormDataBuilder.cpp:
19351 (WebCore::FormDataBuilder::dataEncoding):
19352 * svg/graphics/SVGImage.cpp:
19353 (WebCore::SVGImage::dataChanged):
19355 2010-04-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
19357 Reviewed by Simon Fraser.
19359 Rename window.media to window.styleMedia
19360 https://bugs.webkit.org/show_bug.cgi?id=36187
19362 It has been defined that the AbstractView media extension
19363 defined in the CSSOM View spec should be renamed to styleMedia.
19364 This patch does that and updates the current layout tests
19367 * page/AbstractView.idl:
19368 * page/DOMWindow.cpp:
19369 (WebCore::DOMWindow::styleMedia):
19370 * page/DOMWindow.h:
19371 * page/DOMWindow.idl:
19373 2010-04-20 Timothy Hatcher <timothy@apple.com>
19375 Fix matching of "file:///*" patterns by not trying to compare the host. The host is
19376 irrelevant for file URLs.
19378 Also fix comparisons to be case insensitive.
19380 https://bugs.webkit.org/show_bug.cgi?id=37889
19382 Reviewed by Dave Hyatt.
19384 * page/UserContentURLPattern.cpp:
19385 (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
19386 (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
19387 matchesHost if the scheme isn't "file".
19388 (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
19389 was already doing a case-insensitive compare, so existing tests worked though this path.
19391 2010-04-20 Justin Schuh <jschuh@chromium.org>
19393 Reviewed by Adam Barth.
19395 Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
19396 https://bugs.webkit.org/show_bug.cgi?id=37331
19398 Added a setting to enable/disable media per-page and have the SVGImage
19399 disable media for its dummy page. Also found and fixed a related bad
19400 cast in the V8 bindings (JSC had a custom wrapper for this already).
19402 Tests: media/svg-as-image-with-media-blocked.html
19404 * dom/make_names.pl: Added media enabled check and V8 cast wrapper
19405 * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
19406 (WebCore::Settings::Settings):
19407 (WebCore::Settings::setMediaEnabled):
19409 (WebCore::Settings::isMediaEnabled):
19410 * svg/graphics/SVGImage.cpp: Disables media in dummy page
19411 (WebCore::SVGImage::dataChanged):
19413 2010-04-19 Antonio Gomes <tonikitoo@webkit.org>
19415 Reviewed by Simon Fraser.
19417 Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
19418 https://bugs.webkit.org/show_bug.cgi?id=37802
19420 In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
19421 the method body. If after those bail out checks, no "best FocusCandidate" has been taken
19422 yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
19425 No behavior change, it is just a safe assignment shortcut.
19427 * page/FocusController.cpp:
19428 (WebCore::updateFocusCandidateIfCloser):
19430 2010-04-20 Simon Fraser <simon.fraser@apple.com>
19432 Reviewed by Dan Bernstein.
19434 Hook compositing layers together across iframes
19435 https://bugs.webkit.org/show_bug.cgi?id=37878
19437 First step: if an iframe's document goes into compositing mode, also throw the parent
19438 document into compositing mode (all the way up to the root). This is required both
19439 to preserve layering (since parent document content can obscure iframe content),
19440 and so that we can eventually hook the layer trees together.
19442 Test: compositing/iframes/composited-iframe.html
19444 * rendering/RenderIFrame.h:
19445 * rendering/RenderIFrame.cpp:
19446 (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
19447 a RenderLayer, so must return |true| from requiresLayer().
19448 (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
19449 is in compositing mode.
19450 (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
19451 if a renderer is an iframe.
19452 (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
19454 * rendering/RenderLayerCompositor.h:
19455 * rendering/RenderLayerCompositor.cpp:
19456 (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
19457 the compositing mode changes, so that the parent document can update its compositing status.
19458 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
19459 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
19460 wants to be composited.
19462 * rendering/RenderObject.h:
19463 (WebCore::RenderObject::isRenderIFrame): Base class returns false.
19465 * rendering/RenderView.h:
19466 * rendering/RenderView.cpp:
19467 (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
19468 its parent document that a recalcStyle is required, to update compositing state.
19470 2010-04-20 Gavin Barraclough <barraclough@apple.com>
19472 Reviewed by NOBODY (build fix).
19473 Speculative tiger build fix.
19475 * WebCore.NPAPI.exp:
19476 * WebCore.PluginHostProcess.exp:
19477 * WebCore.base.exp:
19479 2010-04-20 Pavel Feldman <pfeldman@chromium.org>
19481 Reviewed by Timothy Hatcher.
19483 Web Inspector: add basic script editing capabilities to the front-end.
19485 https://bugs.webkit.org/show_bug.cgi?id=37875
19487 * bindings/js/ScriptDebugServer.cpp:
19488 (WebCore::ScriptDebugServer::setBreakpoint):
19489 (WebCore::ScriptDebugServer::removeBreakpoint):
19490 * inspector/front-end/ScriptView.js:
19491 (WebInspector.ScriptView):
19492 (WebInspector.ScriptView.prototype._editLine):
19493 (WebInspector.ScriptView.prototype._editLineComplete):
19494 * inspector/front-end/ScriptsPanel.js:
19495 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
19496 (WebInspector.ScriptsPanel.prototype.canEditScripts):
19497 (WebInspector.ScriptsPanel.prototype.editScriptLine):
19498 * inspector/front-end/SourceFrame.js:
19499 (WebInspector.SourceFrame):
19500 (WebInspector.SourceFrame.prototype.updateContent):
19501 (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
19502 * inspector/front-end/TextEditorHighlighter.js:
19503 (WebInspector.TextEditorHighlighter):
19504 (WebInspector.TextEditorHighlighter.prototype.reset):
19505 * inspector/front-end/TextEditorModel.js:
19506 (WebInspector.TextEditorModel.prototype.copyRange):
19507 * inspector/front-end/TextViewer.js:
19508 (WebInspector.TextViewer):
19509 (WebInspector.TextViewer.prototype.set editCallback):
19510 (WebInspector.TextViewer.prototype._buildChunks):
19511 (WebInspector.TextViewer.prototype._handleKeyDown):
19512 (WebInspector.TextViewer.prototype._handleDoubleClick):
19513 (WebInspector.TextViewer.prototype._commitEditingLine):
19514 (WebInspector.TextViewer.prototype._cancelEditingLine):
19515 * inspector/front-end/inspector.js:
19516 (WebInspector.documentKeyDown):
19517 (WebInspector.log.logMessage):
19518 (WebInspector.log):
19519 (WebInspector.isEditingAnyField):
19520 (WebInspector.startEditing.cleanUpAfterEditing):
19522 2010-04-20 Gavin Barraclough <barraclough@apple.com>
19524 Reviewed by Geoff Garen.
19526 Add forwarding header.
19528 * ForwardingHeaders/runtime/RopeImpl.h: Added.
19530 2010-04-20 Gavin Barraclough <barraclough@apple.com>
19532 Reviewed by Geoff Garen.
19534 Bug 37828 - Move WebCore's String classes to WTF
19536 Move these classes up to WTF so they are available to all clients of WTF (in
19539 As a first patch, making the most minimal change possible, since this patch
19540 could easily grow rather large since we'll have to change every class forward
19541 declaration ( e.g. every "namespace WebCore { class String; }" much change to
19542 "namespace WTF { class String; }").
19544 Moving the files, but leaving the classes logically in the WebCore namespace -
19545 which is technically a layering violation - I'll come back and fix this up in a
19549 * ForwardingHeaders/wtf/StaticConstructors.h: Added.
19550 * ForwardingHeaders/wtf/text/AtomicString.h: Added.
19551 * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
19552 * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
19553 * ForwardingHeaders/wtf/text/StringHash.h: Added.
19554 * ForwardingHeaders/wtf/text/StringImpl.h: Added.
19555 * ForwardingHeaders/wtf/text/WTFString.h: Added.
19559 * WebCore.vcproj/WebCore.vcproj:
19560 * WebCore.xcodeproj/project.pbxproj:
19561 * css/MediaFeatureNames.cpp:
19562 * dom/QualifiedName.cpp:
19563 * dom/make_names.pl:
19564 * platform/StaticConstructors.h: Removed.
19565 * platform/text/AtomicString.cpp: Removed.
19566 * platform/text/AtomicString.h:
19567 * platform/text/AtomicStringImpl.h:
19568 * platform/text/PlatformString.h:
19569 * platform/text/String.cpp:
19570 * platform/text/StringHash.h:
19571 * platform/text/StringImpl.cpp: Removed.
19572 * platform/text/StringImpl.h:
19574 2010-04-20 Kent Tamura <tkent@chromium.org>
19576 Reviewed by Darin Adler.
19578 Change a parameter type of chooseIconForFiles()
19579 https://bugs.webkit.org/show_bug.cgi?id=37504
19581 Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
19582 to FileChooser*. Though an implementation of chooseIconForFiles()
19583 might have ownership of the FileChooser instance, we don't need to
19584 use PassRefPtr<> in this case.
19586 * loader/EmptyClients.h:
19587 (WebCore::EmptyChromeClient::chooseIconForFiles):
19589 (WebCore::Chrome::chooseIconForFiles):
19591 * page/ChromeClient.h:
19593 2010-04-20 Diego Escalante Urrelo <descalante@igalia.com>
19595 Reviewed by Xan Lopez.
19597 [Gtk] Evaluate and create tests for all the AtkRole's implemented by
19599 https://bugs.webkit.org/show_bug.cgi?id=34449
19601 Implement ATK_ROLE_FORM.
19603 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
19604 (webkit_accessible_get_role):
19606 2010-04-20 Martin Robinson <mrobinson@webkit.org>
19608 Reviewed by Gustavo Noronha Silva.
19610 [GTK] Enable DOM clipboard and drag-and-drop access
19611 https://bugs.webkit.org/show_bug.cgi?id=30623
19613 Move most of the PasteboardHelper logic into WebCore. This helps
19614 prepare for WebKit2 and leads to a clearer separation of concerns
19615 between the WebKit and WebCore layers.
19617 No new tests as functionality has not changed.
19619 * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
19620 * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
19621 * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
19622 (WebCore::clipboard_get_contents_cb): Ditto.
19623 (WebCore::Pasteboard::helper): Added, member is now private.
19624 (WebCore::Pasteboard::writeURL): Ditto.
19625 (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
19626 (WebCore::Pasteboard::plainText): Ditto.
19627 * platform/gtk/PasteboardHelper.cpp: Added.
19628 (WebCore::PasteboardHelper::PasteboardHelper): Added.
19629 (WebCore::PasteboardHelper::~PasteboardHelper): Added.
19630 (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
19631 (WebCore::widgetFromFrame): Added helper function.
19632 (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
19633 (WebCore::PasteboardHelper::getClipboard): Ditto.
19634 (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
19635 (WebCore::PasteboardHelper::targetList): Ditto.
19636 (WebCore::PasteboardHelper::fillSelectionData): Ditto.
19637 (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
19638 (WebCore::getClipboardContentsCallback): Ditto.
19639 (WebCore::clearClipboardContentsCallback): Ditto.
19640 (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
19641 * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
19643 2010-04-20 Simon Fraser <simon.fraser@apple.com>
19645 Reviewed by Anders Carlsson.
19647 backgroundColor is oddly indented in layer tree dump
19648 https://bugs.webkit.org/show_bug.cgi?id=37885
19650 The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
19651 to be written twice.
19653 * platform/graphics/GraphicsLayer.cpp:
19654 (WebCore::GraphicsLayer::dumpProperties):
19656 2010-04-20 Simon Fraser <simon.fraser@apple.com>
19658 Reviewed by Dimitri Glazkov.
19660 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
19661 https://bugs.webkit.org/show_bug.cgi?id=37741
19663 RenderPartObject is a useless intermediate class between RenderPart and
19664 RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
19665 applies to objects and embeds when the content is a FrameView, so can move
19666 to RenderEmbeddedObject.
19672 * WebCore.vcproj/WebCore.vcproj:
19673 * WebCore.xcodeproj/project.pbxproj:
19674 * rendering/RenderEmbeddedObject.cpp:
19675 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
19676 (WebCore::RenderEmbeddedObject::requiresLayer):
19677 (WebCore::RenderEmbeddedObject::paint):
19678 (WebCore::RenderEmbeddedObject::viewCleared):
19679 * rendering/RenderEmbeddedObject.h:
19680 * rendering/RenderFrameBase.h:
19681 * rendering/RenderPart.cpp:
19682 (WebCore::RenderPart::RenderPart):
19683 * rendering/RenderPart.h:
19684 * rendering/RenderPartObject.cpp: Removed.
19685 * rendering/RenderPartObject.h: Removed.
19687 2010-04-20 Robin Cao <robin.webkit@gmail.com>
19689 Reviewed by Dirk Schulze.
19691 SVG no AnimateColor for stroke or fill if they are set to none on target.
19692 https://bugs.webkit.org/show_bug.cgi?id=36718
19694 SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
19695 This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case
19696 the property type determined by base value may be different from the one determined by 'fromTo' values.
19698 No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
19699 Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
19701 * svg/SVGAnimateElement.cpp:
19702 (WebCore::SVGAnimateElement::calculateFromAndToValues):
19703 (WebCore::SVGAnimateElement::resetToBaseValue):
19705 2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
19707 Unreviewed, rolling out r57892.
19708 http://trac.webkit.org/changeset/57892
19709 https://bugs.webkit.org/show_bug.cgi?id=37864
19711 Caused an assertion in Mac builds (Requested by smfr on
19714 * WebCore.xcodeproj/project.pbxproj:
19715 * editing/Editor.cpp:
19716 (WebCore::Editor::insideVisibleArea):
19718 (WebCore::Frame::ownerRenderer):
19720 * page/FrameView.cpp:
19721 (WebCore::FrameView::~FrameView):
19722 (WebCore::FrameView::clear):
19723 (WebCore::FrameView::invalidateRect):
19724 (WebCore::FrameView::createScrollbar):
19725 * rendering/RenderFrameBase.h:
19726 * rendering/RenderObject.h:
19728 2010-04-20 Jakub Wieczorek <jwieczorek@webkit.org>
19730 Reviewed by Darin Adler.
19732 RenderListItem: change enclosingList() to only traverse the render tree.
19733 https://bugs.webkit.org/show_bug.cgi?id=37319
19735 This makes the function safe to use for items with nodes that are detached from
19736 the DOM tree and simplifies the code quite a bit.
19738 Covered by existing tests.
19740 * rendering/RenderListItem.cpp:
19741 (WebCore::enclosingList):
19742 (WebCore::previousListItem):
19743 (WebCore::RenderListItem::explicitValueChanged):
19745 2010-04-20 Simon Fraser <simon.fraser@apple.com>
19747 Reviewed by Dan Bernstein.
19749 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
19750 https://bugs.webkit.org/show_bug.cgi?id=37741
19752 Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
19753 RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
19755 * WebCore.xcodeproj/project.pbxproj:
19756 * editing/Editor.cpp:
19757 (WebCore::Editor::insideVisibleArea):
19759 (WebCore::Frame::ownerRenderer):
19761 * page/FrameView.cpp:
19762 (WebCore::FrameView::~FrameView):
19763 (WebCore::FrameView::clear):
19764 (WebCore::FrameView::invalidateRect):
19765 (WebCore::FrameView::createScrollbar):
19766 * rendering/RenderFrameBase.h:
19767 (WebCore::RenderFrameBase::isRenderFrameBase):
19768 (WebCore::toRenderFrameBase):
19769 * rendering/RenderObject.h:
19770 (WebCore::RenderObject::isRenderFrameBase):
19772 2010-04-20 Jay Civelli <jcivelli@chromium.org>
19774 Reviewed by Dimitri Glazkov.
19776 [chromium] Pressing tab now closes the select popup as it should.
19777 https://bugs.webkit.org/show_bug.cgi?id=37721
19779 * platform/chromium/PopupMenuChromium.cpp:
19780 (WebCore::PopupListBox::handleKeyEvent):
19782 2010-04-20 Yaar Schnitman <yaar@chromium.org>
19784 Reviewed by Nate Chapin.
19786 Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
19787 https://bugs.webkit.org/show_bug.cgi?id=37810
19789 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
19790 (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
19791 * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
19792 * bindings/v8/test/V8TestObj.cpp:
19793 (WebCore::TestObjInternal::overloadedMethodCallback):
19794 * html/canvas/CanvasRenderingContext2D.cpp:
19795 (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
19796 (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
19797 * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
19798 * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
19800 2010-04-20 Evan Stade <estade@chromium.org>
19802 Reviewed by David Levin.
19804 [chromium] crash when dragging images
19805 https://bugs.webkit.org/show_bug.cgi?id=37715
19807 NULL check the return value of nativeImageForCurrentFrame(),
19808 and NULL check Image just for good measure.
19810 Tested by new DragImageTest unit test.
19812 * platform/chromium/DragImageChromiumSkia.cpp:
19813 (WebCore::createDragImageFromImage):
19815 2010-04-20 Dirk Schulze <krit@webkit.org>
19817 Reviewed by Nikolas Zimmermann.
19819 SVGResourceFilter needs to be moved to under Renderers
19820 https://bugs.webkit.org/show_bug.cgi?id=35320
19822 This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
19823 from the SVGResources.
19824 A clean-up solves the dependencies between SVGFilterElement, the filter primitives
19825 and SVGResources. This shall make the filter code more readable and better maintable.
19826 The Filter primitives get dumped now, as long as they have externalRepresentation
19829 No behavior changes, so no new tests were added.
19835 * WebCore.vcproj/WebCore.vcproj:
19836 * WebCore.xcodeproj/project.pbxproj:
19837 * rendering/RenderPath.cpp:
19838 (WebCore::RenderPath::paint):
19839 * rendering/RenderSVGContainer.cpp:
19840 (WebCore::RenderSVGContainer::selfWillPaint):
19841 (WebCore::RenderSVGContainer::paint):
19842 * rendering/RenderSVGImage.cpp:
19843 (WebCore::RenderSVGImage::paint):
19844 * rendering/RenderSVGResource.h:
19846 (WebCore::RenderSVGResource::postApplyResource):
19847 * rendering/RenderSVGResourceClipper.cpp:
19848 (WebCore::RenderSVGResourceClipper::applyResource):
19849 * rendering/RenderSVGResourceClipper.h:
19850 * rendering/RenderSVGResourceFilter.cpp: Added.
19851 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
19852 (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
19853 (WebCore::RenderSVGResourceFilter::invalidateClients):
19854 (WebCore::RenderSVGResourceFilter::invalidateClient):
19855 (WebCore::RenderSVGResourceFilter::buildPrimitives):
19856 (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
19857 (WebCore::RenderSVGResourceFilter::applyResource):
19858 (WebCore::RenderSVGResourceFilter::postApplyResource):
19859 (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
19860 * rendering/RenderSVGResourceFilter.h: Added.
19861 (WebCore::FilterData::FilterData):
19862 (WebCore::RenderSVGResourceFilter::renderName):
19863 (WebCore::RenderSVGResourceFilter::filterUnits):
19864 (WebCore::RenderSVGResourceFilter::primitiveUnits):
19865 (WebCore::RenderSVGResourceFilter::resourceType):
19866 * rendering/RenderSVGResourceMarker.h:
19867 (WebCore::RenderSVGResourceMarker::applyResource):
19868 * rendering/RenderSVGResourceMasker.cpp:
19869 (WebCore::RenderSVGResourceMasker::applyResource):
19870 * rendering/RenderSVGResourceMasker.h:
19871 * rendering/RenderSVGRoot.cpp:
19872 (WebCore::RenderSVGRoot::selfWillPaint):
19873 (WebCore::RenderSVGRoot::paint):
19874 * rendering/RenderSVGText.cpp:
19875 * rendering/SVGRenderSupport.cpp:
19876 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
19877 (WebCore::SVGRenderBase::finishRenderSVGContent):
19878 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
19879 (WebCore::deregisterFromResources):
19880 * rendering/SVGRenderSupport.h:
19881 * rendering/SVGRenderTreeAsText.cpp:
19882 (WebCore::writeStyle):
19883 (WebCore::writeSVGResource):
19884 (WebCore::writeResources):
19885 (WebCore::writeRenderResources):
19886 * rendering/SVGRootInlineBox.cpp:
19887 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
19888 (WebCore::SVGRootInlineBox::paint):
19889 * svg/SVGFEBlendElement.cpp:
19890 (WebCore::SVGFEBlendElement::build):
19891 * svg/SVGFEBlendElement.h:
19892 * svg/SVGFEColorMatrixElement.cpp:
19893 (WebCore::SVGFEColorMatrixElement::build):
19894 * svg/SVGFEColorMatrixElement.h:
19895 * svg/SVGFEComponentTransferElement.cpp:
19896 (WebCore::SVGFEComponentTransferElement::build):
19897 * svg/SVGFEComponentTransferElement.h:
19898 * svg/SVGFECompositeElement.cpp:
19899 (WebCore::SVGFECompositeElement::build):
19900 * svg/SVGFECompositeElement.h:
19901 * svg/SVGFEDiffuseLightingElement.cpp:
19902 (WebCore::SVGFEDiffuseLightingElement::build):
19903 * svg/SVGFEDiffuseLightingElement.h:
19904 * svg/SVGFEDisplacementMapElement.cpp:
19905 (WebCore::SVGFEDisplacementMapElement::build):
19906 * svg/SVGFEDisplacementMapElement.h:
19907 * svg/SVGFEFloodElement.cpp:
19908 (WebCore::SVGFEFloodElement::build):
19909 * svg/SVGFEFloodElement.h:
19910 * svg/SVGFEGaussianBlurElement.cpp:
19911 (WebCore::SVGFEGaussianBlurElement::build):
19912 * svg/SVGFEGaussianBlurElement.h:
19913 * svg/SVGFEImageElement.cpp:
19914 (WebCore::SVGFEImageElement::build):
19915 * svg/SVGFEImageElement.h:
19916 * svg/SVGFEMergeElement.cpp:
19917 (WebCore::SVGFEMergeElement::build):
19918 * svg/SVGFEMergeElement.h:
19919 * svg/SVGFEMorphologyElement.cpp:
19920 (WebCore::SVGFEMorphologyElement::build):
19921 * svg/SVGFEMorphologyElement.h:
19922 * svg/SVGFEOffsetElement.cpp:
19923 (WebCore::SVGFEOffsetElement::build):
19924 * svg/SVGFEOffsetElement.h:
19925 * svg/SVGFESpecularLightingElement.cpp:
19926 (WebCore::SVGFESpecularLightingElement::build):
19927 * svg/SVGFESpecularLightingElement.h:
19928 * svg/SVGFETileElement.cpp:
19929 (WebCore::SVGFETileElement::build):
19930 * svg/SVGFETileElement.h:
19931 * svg/SVGFETurbulenceElement.cpp:
19932 (WebCore::SVGFETurbulenceElement::build):
19933 * svg/SVGFETurbulenceElement.h:
19935 * svg/SVGFilterElement.cpp:
19936 (WebCore::SVGFilterElement::createRenderer):
19937 * svg/SVGFilterElement.h:
19938 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
19939 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
19940 * svg/SVGFilterPrimitiveStandardAttributes.h:
19941 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
19942 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
19943 * svg/SVGStyledElement.cpp:
19944 (WebCore::SVGStyledElement::invalidateResources):
19945 * svg/graphics/SVGResource.cpp:
19946 * svg/graphics/SVGResource.h:
19948 (WebCore::SVGResource::isPaintServer):
19949 * svg/graphics/SVGResourceFilter.cpp: Removed.
19950 * svg/graphics/SVGResourceFilter.h: Removed.
19951 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
19952 (WebCore::FEDisplacementMap::externalRepresentation):
19953 * svg/graphics/filters/SVGFilterBuilder.h:
19954 (WebCore::SVGFilterBuilder::namedEffects):
19956 2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
19958 Unreviewed, rolling out r57880.
19959 http://trac.webkit.org/changeset/57880
19960 https://bugs.webkit.org/show_bug.cgi?id=37846
19962 Broke several bots, FEDisplacmentMap dumps includes pointers,
19963 no one noticed. Dirk will upload a new patch later. (Requested
19964 by WildFox on #webkit).
19970 * WebCore.vcproj/WebCore.vcproj:
19971 * WebCore.xcodeproj/project.pbxproj:
19972 * rendering/RenderPath.cpp:
19973 (WebCore::RenderPath::paint):
19974 * rendering/RenderSVGContainer.cpp:
19975 (WebCore::RenderSVGContainer::selfWillPaint):
19976 (WebCore::RenderSVGContainer::paint):
19977 * rendering/RenderSVGImage.cpp:
19978 (WebCore::RenderSVGImage::paint):
19979 * rendering/RenderSVGResource.h:
19981 * rendering/RenderSVGResourceClipper.cpp:
19982 (WebCore::RenderSVGResourceClipper::applyResource):
19983 * rendering/RenderSVGResourceClipper.h:
19984 * rendering/RenderSVGResourceFilter.cpp: Removed.
19985 * rendering/RenderSVGResourceFilter.h: Removed.
19986 * rendering/RenderSVGResourceMarker.h:
19987 (WebCore::RenderSVGResourceMarker::applyResource):
19988 * rendering/RenderSVGResourceMasker.cpp:
19989 (WebCore::RenderSVGResourceMasker::applyResource):
19990 * rendering/RenderSVGResourceMasker.h:
19991 * rendering/RenderSVGRoot.cpp:
19992 (WebCore::RenderSVGRoot::selfWillPaint):
19993 (WebCore::RenderSVGRoot::paint):
19994 * rendering/RenderSVGText.cpp:
19995 * rendering/SVGRenderSupport.cpp:
19996 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
19997 (WebCore::SVGRenderBase::finishRenderSVGContent):
19998 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
19999 (WebCore::deregisterFromResources):
20000 * rendering/SVGRenderSupport.h:
20001 * rendering/SVGRenderTreeAsText.cpp:
20002 (WebCore::writeStyle):
20003 (WebCore::writeSVGResource):
20004 (WebCore::writeResources):
20005 (WebCore::writeRenderResources):
20006 * rendering/SVGRootInlineBox.cpp:
20007 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
20008 (WebCore::SVGRootInlineBox::paint):
20009 * svg/SVGFEBlendElement.cpp:
20010 (WebCore::SVGFEBlendElement::build):
20011 * svg/SVGFEBlendElement.h:
20012 * svg/SVGFEColorMatrixElement.cpp:
20013 (WebCore::SVGFEColorMatrixElement::build):
20014 * svg/SVGFEColorMatrixElement.h:
20015 * svg/SVGFEComponentTransferElement.cpp:
20016 (WebCore::SVGFEComponentTransferElement::build):
20017 * svg/SVGFEComponentTransferElement.h:
20018 * svg/SVGFECompositeElement.cpp:
20019 (WebCore::SVGFECompositeElement::build):
20020 * svg/SVGFECompositeElement.h:
20021 * svg/SVGFEDiffuseLightingElement.cpp:
20022 (WebCore::SVGFEDiffuseLightingElement::build):
20023 * svg/SVGFEDiffuseLightingElement.h:
20024 * svg/SVGFEDisplacementMapElement.cpp:
20025 (WebCore::SVGFEDisplacementMapElement::build):
20026 * svg/SVGFEDisplacementMapElement.h:
20027 * svg/SVGFEFloodElement.cpp:
20028 (WebCore::SVGFEFloodElement::build):
20029 * svg/SVGFEFloodElement.h:
20030 * svg/SVGFEGaussianBlurElement.cpp:
20031 (WebCore::SVGFEGaussianBlurElement::build):
20032 * svg/SVGFEGaussianBlurElement.h:
20033 * svg/SVGFEImageElement.cpp:
20034 (WebCore::SVGFEImageElement::build):
20035 * svg/SVGFEImageElement.h:
20036 * svg/SVGFEMergeElement.cpp:
20037 (WebCore::SVGFEMergeElement::build):
20038 * svg/SVGFEMergeElement.h:
20039 * svg/SVGFEMorphologyElement.cpp:
20040 (WebCore::SVGFEMorphologyElement::build):
20041 * svg/SVGFEMorphologyElement.h:
20042 * svg/SVGFEOffsetElement.cpp:
20043 (WebCore::SVGFEOffsetElement::build):
20044 * svg/SVGFEOffsetElement.h:
20045 * svg/SVGFESpecularLightingElement.cpp:
20046 (WebCore::SVGFESpecularLightingElement::build):
20047 * svg/SVGFESpecularLightingElement.h:
20048 * svg/SVGFETileElement.cpp:
20049 (WebCore::SVGFETileElement::build):
20050 * svg/SVGFETileElement.h:
20051 * svg/SVGFETurbulenceElement.cpp:
20052 (WebCore::SVGFETurbulenceElement::build):
20053 * svg/SVGFETurbulenceElement.h:
20055 * svg/SVGFilterElement.cpp:
20056 (WebCore::SVGFilterElement::buildFilter):
20057 (WebCore::SVGFilterElement::canvasResource):
20058 * svg/SVGFilterElement.h:
20059 (WebCore::SVGFilterElement::rendererIsNeeded):
20060 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
20061 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
20062 * svg/SVGFilterPrimitiveStandardAttributes.h:
20063 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
20064 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
20065 * svg/SVGStyledElement.cpp:
20066 (WebCore::SVGStyledElement::invalidateResources):
20067 * svg/graphics/SVGResource.cpp:
20068 * svg/graphics/SVGResource.h:
20070 (WebCore::SVGResource::isFilter):
20071 * svg/graphics/SVGResourceFilter.cpp: Added.
20072 (WebCore::SVGResourceFilter::SVGResourceFilter):
20073 (WebCore::SVGResourceFilter::~SVGResourceFilter):
20074 (WebCore::SVGResourceFilter::filterBoundingBox):
20075 (WebCore::shouldProcessFilter):
20076 (WebCore::SVGResourceFilter::addFilterEffect):
20077 (WebCore::SVGResourceFilter::fitsInMaximumImageSize):
20078 (WebCore::SVGResourceFilter::prepareFilter):
20079 (WebCore::SVGResourceFilter::applyFilter):
20080 (WebCore::SVGResourceFilter::externalRepresentation):
20081 (WebCore::getFilterById):
20082 * svg/graphics/SVGResourceFilter.h: Added.
20083 (WebCore::SVGResourceFilter::create):
20084 (WebCore::SVGResourceFilter::resourceType):
20085 (WebCore::SVGResourceFilter::setFilterResolution):
20086 (WebCore::SVGResourceFilter::setHasFilterResolution):
20087 (WebCore::SVGResourceFilter::filterBoundingBoxMode):
20088 (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
20089 (WebCore::SVGResourceFilter::effectBoundingBoxMode):
20090 (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
20091 (WebCore::SVGResourceFilter::filterRect):
20092 (WebCore::SVGResourceFilter::setFilterRect):
20093 (WebCore::SVGResourceFilter::scaleX):
20094 (WebCore::SVGResourceFilter::scaleY):
20095 (WebCore::SVGResourceFilter::setFilterBoundingBox):
20096 (WebCore::SVGResourceFilter::builder):
20097 * svg/graphics/filters/SVGFilterBuilder.h:
20099 2010-04-20 Dirk Schulze <krit@webkit.org>
20101 Reviewed by Nikolas Zimmermann.
20103 SVGResourceFilter needs to be moved to under Renderers
20104 https://bugs.webkit.org/show_bug.cgi?id=35320
20106 This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
20107 from the SVGResources.
20108 A clean-up solves the dependencies between SVGFilterElement, the filter primitives
20109 and SVGResources. This shall make the filter code more readable and better maintable.
20110 The Filter primitives get dumped now, as long as they have externalRepresentation
20113 No behavior changes, so no new tests were added.
20119 * WebCore.vcproj/WebCore.vcproj:
20120 * WebCore.xcodeproj/project.pbxproj:
20121 * rendering/RenderPath.cpp:
20122 (WebCore::RenderPath::paint):
20123 * rendering/RenderSVGContainer.cpp:
20124 (WebCore::RenderSVGContainer::selfWillPaint):
20125 (WebCore::RenderSVGContainer::paint):
20126 * rendering/RenderSVGImage.cpp:
20127 (WebCore::RenderSVGImage::paint):
20128 * rendering/RenderSVGResource.h:
20130 * rendering/RenderSVGResourceClipper.cpp:
20131 (WebCore::RenderSVGResourceClipper::applyResource):
20132 * rendering/RenderSVGResourceClipper.h:
20133 * rendering/RenderSVGResourceFilter.cpp: Added.
20134 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
20135 (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
20136 (WebCore::RenderSVGResourceFilter::invalidateClients):
20137 (WebCore::RenderSVGResourceFilter::invalidateClient):
20138 (WebCore::RenderSVGResourceFilter::buildPrimitives):
20139 (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
20140 (WebCore::RenderSVGResourceFilter::applyResource):
20141 (WebCore::RenderSVGResourceFilter::postApplyResource):
20142 (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
20143 * rendering/RenderSVGResourceFilter.h: Added.
20144 (WebCore::FilterData::FilterData):
20145 (WebCore::RenderSVGResourceFilter::renderName):
20146 (WebCore::RenderSVGResourceFilter::filterUnits):
20147 (WebCore::RenderSVGResourceFilter::primitiveUnits):
20148 (WebCore::RenderSVGResourceFilter::resourceType):
20149 * rendering/RenderSVGResourceMarker.h:
20150 (WebCore::RenderSVGResourceMarker::applyResource):
20151 * rendering/RenderSVGResourceMasker.cpp:
20152 (WebCore::RenderSVGResourceMasker::applyResource):
20153 * rendering/RenderSVGResourceMasker.h:
20154 * rendering/RenderSVGRoot.cpp:
20155 (WebCore::RenderSVGRoot::selfWillPaint):
20156 (WebCore::RenderSVGRoot::paint):
20157 * rendering/RenderSVGText.cpp:
20158 * rendering/SVGRenderSupport.cpp:
20159 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
20160 (WebCore::SVGRenderBase::finishRenderSVGContent):
20161 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
20162 (WebCore::deregisterFromResources):
20163 * rendering/SVGRenderSupport.h:
20164 * rendering/SVGRenderTreeAsText.cpp:
20165 (WebCore::writeStyle):
20166 (WebCore::writeSVGResource):
20167 (WebCore::writeResources):
20168 (WebCore::writeRenderResources):
20169 * rendering/SVGRootInlineBox.cpp:
20170 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
20171 (WebCore::SVGRootInlineBox::paint):
20172 * svg/SVGFEBlendElement.cpp:
20173 (WebCore::SVGFEBlendElement::build):
20174 * svg/SVGFEBlendElement.h:
20175 * svg/SVGFEColorMatrixElement.cpp:
20176 (WebCore::SVGFEColorMatrixElement::build):
20177 * svg/SVGFEColorMatrixElement.h:
20178 * svg/SVGFEComponentTransferElement.cpp:
20179 (WebCore::SVGFEComponentTransferElement::build):
20180 * svg/SVGFEComponentTransferElement.h:
20181 * svg/SVGFECompositeElement.cpp:
20182 (WebCore::SVGFECompositeElement::build):
20183 * svg/SVGFECompositeElement.h:
20184 * svg/SVGFEDiffuseLightingElement.cpp:
20185 (WebCore::SVGFEDiffuseLightingElement::build):
20186 * svg/SVGFEDiffuseLightingElement.h:
20187 * svg/SVGFEDisplacementMapElement.cpp:
20188 (WebCore::SVGFEDisplacementMapElement::build):
20189 * svg/SVGFEDisplacementMapElement.h:
20190 * svg/SVGFEFloodElement.cpp:
20191 (WebCore::SVGFEFloodElement::build):
20192 * svg/SVGFEFloodElement.h:
20193 * svg/SVGFEGaussianBlurElement.cpp:
20194 (WebCore::SVGFEGaussianBlurElement::build):
20195 * svg/SVGFEGaussianBlurElement.h:
20196 * svg/SVGFEImageElement.cpp:
20197 (WebCore::SVGFEImageElement::build):
20198 * svg/SVGFEImageElement.h:
20199 * svg/SVGFEMergeElement.cpp:
20200 (WebCore::SVGFEMergeElement::build):
20201 * svg/SVGFEMergeElement.h:
20202 * svg/SVGFEMorphologyElement.cpp:
20203 (WebCore::SVGFEMorphologyElement::build):
20204 * svg/SVGFEMorphologyElement.h:
20205 * svg/SVGFEOffsetElement.cpp:
20206 (WebCore::SVGFEOffsetElement::build):
20207 * svg/SVGFEOffsetElement.h:
20208 * svg/SVGFESpecularLightingElement.cpp:
20209 (WebCore::SVGFESpecularLightingElement::build):
20210 * svg/SVGFESpecularLightingElement.h:
20211 * svg/SVGFETileElement.cpp:
20212 (WebCore::SVGFETileElement::build):
20213 * svg/SVGFETileElement.h:
20214 * svg/SVGFETurbulenceElement.cpp:
20215 (WebCore::SVGFETurbulenceElement::build):
20216 * svg/SVGFETurbulenceElement.h:
20218 * svg/SVGFilterElement.cpp:
20219 (WebCore::SVGFilterElement::createRenderer):
20220 * svg/SVGFilterElement.h:
20221 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
20222 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
20223 * svg/SVGFilterPrimitiveStandardAttributes.h:
20224 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
20225 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
20226 * svg/SVGStyledElement.cpp:
20227 (WebCore::SVGStyledElement::invalidateResources):
20228 * svg/graphics/SVGResource.cpp:
20229 * svg/graphics/SVGResource.h:
20231 (WebCore::SVGResource::isPaintServer):
20232 * svg/graphics/SVGResourceFilter.cpp: Removed.
20233 * svg/graphics/SVGResourceFilter.h: Removed.
20234 * svg/graphics/filters/SVGFilterBuilder.h:
20235 (WebCore::SVGFilterBuilder::namedEffects):
20237 2010-04-20 Gavin Barraclough <barraclough@apple.com>
20239 Rubber stamped by Maciej Stachowiak (relanding r57829).
20240 Added missing JS_EXPORTDATA
20242 * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h.
20243 * platform/ThreadGlobalData.cpp:
20244 (WebCore::ThreadGlobalData::ThreadGlobalData):
20245 (WebCore::ThreadGlobalData::~ThreadGlobalData):
20246 * platform/ThreadGlobalData.h:
20247 (WebCore::ThreadGlobalData::eventNames):
20248 * platform/text/AtomicString.cpp:
20249 (WebCore::AtomicStringTable::create):
20250 (WebCore::AtomicStringTable::table):
20251 (WebCore::AtomicStringTable::destroy):
20252 (WebCore::stringTable):
20254 2010-04-20 No'am Rosenthal <noam.rosenthal@nokia.com>
20256 Reviewed by Antti Koivisto.
20258 [Qt] GraphicsLayer: support fill-modes
20259 https://bugs.webkit.org/show_bug.cgi?id=36216
20260 Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
20261 enables a key-frame animation to go to the animation's starting point before the delay,
20262 and/or to stay at the animation's ending point after its ended, without reverting to the default
20264 We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
20265 and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
20267 * platform/graphics/qt/GraphicsLayerQt.cpp:
20268 (WebCore::AnimationQtBase::AnimationQtBase):
20269 (WebCore::TransformAnimationQt::~TransformAnimationQt):
20270 (WebCore::TransformAnimationQt::applyFrame):
20271 (WebCore::GraphicsLayerQt::addAnimation):
20273 2010-04-19 Leandro Pereira <leandro@profusion.mobi>
20275 Reviewed by David Hyatt.
20277 Add missing dummy implementations in PluginPackageNone and PluginViewNone.
20278 http://webkit.org/b/37478
20280 * plugins/PluginPackageNone.cpp:
20281 (WebCore::PluginPackage::NPVersion): Add dummy implementation.
20282 * plugins/PluginViewNone.cpp:
20283 (WebCore::PluginView::handleFocusInEvent): Add dummy implementation.
20284 (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation.
20286 2010-04-19 Simon Fraser <simon.fraser@apple.com>
20288 Reviewed by Geoff Garen.
20290 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
20291 https://bugs.webkit.org/show_bug.cgi?id=37741
20293 Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
20294 since it's only used for <object> fallback.
20296 * rendering/RenderEmbeddedObject.cpp:
20297 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
20298 * rendering/RenderEmbeddedObject.h:
20299 (WebCore::RenderEmbeddedObject::hasFallbackContent):
20300 * rendering/RenderPart.cpp:
20301 (WebCore::RenderPart::RenderPart):
20302 * rendering/RenderPart.h:
20304 2010-04-19 Simon Fraser <simon.fraser@apple.com>
20306 Reviewed by Darin Adler.
20308 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
20309 https://bugs.webkit.org/show_bug.cgi?id=37741
20311 Add a new renderer for iframes, named RenderIFrame. Add a new shared base class
20312 between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase),
20313 and move code from RenderPart and RenderPartObject into these new classes.
20315 There should be no functionality difference with this change, so no new tests.
20317 Fixing up renderer names in the layout tests will be done in a later pass.
20319 Fix build systems to include the new files.
20325 * WebCore.vcproj/WebCore.vcproj:
20326 * WebCore.xcodeproj/project.pbxproj:
20327 * html/HTMLIFrameElement.cpp:
20328 (WebCore::HTMLIFrameElement::createRenderer):
20329 * rendering/RenderEmbeddedObject.h:
20330 * rendering/RenderFrame.cpp:
20331 (WebCore::RenderFrame::RenderFrame):
20332 * rendering/RenderFrame.h:
20333 * rendering/RenderFrameBase.cpp: Added.
20334 (WebCore::RenderFrameBase::RenderFrameBase):
20335 (WebCore::RenderFrameBase::layoutWithFlattening):
20336 * rendering/RenderFrameBase.h: Added.
20337 * rendering/RenderIFrame.cpp: Added.
20338 (WebCore::RenderIFrame::RenderIFrame):
20339 (WebCore::RenderIFrame::calcHeight):
20340 (WebCore::RenderIFrame::calcWidth):
20341 (WebCore::RenderIFrame::flattenFrame):
20342 (WebCore::RenderIFrame::layout):
20343 * rendering/RenderIFrame.h: Added.
20344 (WebCore::RenderIFrame::renderName):
20345 * rendering/RenderPart.cpp:
20346 * rendering/RenderPart.h:
20347 * rendering/RenderPartObject.cpp:
20348 * rendering/RenderPartObject.h:
20350 2010-04-19 Dumitru Daniliuc <dumi@chromium.org>
20352 Reviewed by Geoffrey Garen.
20355 https://bugs.webkit.org/show_bug.cgi?id=37833
20357 Move some WebSQLDatabases logic out of the bindings into
20358 DOMWindow.cpp where it should be.
20360 * bindings/js/JSDOMWindowCustom.cpp:
20361 (WebCore::JSDOMWindow::openDatabase):
20362 * bindings/v8/custom/V8DOMWindowCustom.cpp:
20363 (WebCore::V8DOMWindow::openDatabaseCallback):
20364 * page/DOMWindow.cpp:
20365 (WebCore::DOMWindow::openDatabase):
20367 2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
20369 Fix the Mac builders for now by restoring the keepAlive function.
20371 * plugins/PluginViewNone.cpp:
20372 (WebCore::PluginView::keepAlive):
20374 2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
20376 [wx] Build fix, remove a method that has been moved to PluginView.cpp.
20378 * plugins/PluginViewNone.cpp:
20380 2010-04-19 Gavin Barraclough <barraclough@apple.com>
20382 Reviewed by NOBODY (rolling out r57829).
20383 This broke windows.
20385 * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
20386 * platform/ThreadGlobalData.cpp:
20387 (WebCore::ThreadGlobalData::ThreadGlobalData):
20388 (WebCore::ThreadGlobalData::~ThreadGlobalData):
20389 * platform/ThreadGlobalData.h:
20390 (WebCore::ThreadGlobalData::atomicStringTable):
20391 * platform/text/AtomicString.cpp:
20392 (WebCore::stringTable):
20394 2010-04-19 Mark Rowe <mrowe@apple.com>
20398 * platform/graphics/mac/GraphicsContext3DMac.cpp:
20400 2010-04-19 Chris Fleizach <cfleizach@apple.com>
20402 Reviewed by Beth Dakin.
20404 AX: aria-haspopup needs to be exposed
20405 https://bugs.webkit.org/show_bug.cgi?id=37808
20407 Test: platform/mac/accessibility/element-haspopup.html
20409 * accessibility/AccessibilityObject.h:
20410 (WebCore::AccessibilityObject::ariaHasPopup):
20411 * accessibility/AccessibilityRenderObject.cpp:
20412 (WebCore::AccessibilityRenderObject::ariaHasPopup):
20413 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
20414 * accessibility/AccessibilityRenderObject.h:
20415 * accessibility/mac/AccessibilityObjectWrapper.mm:
20416 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
20417 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
20419 2010-04-19 Anders Carlsson <andersca@apple.com>
20421 Reviewed by Sam Weinig.
20423 Fix a crash when rendering <select> elements with WebKit2.
20425 * rendering/RenderThemeMac.mm:
20426 (WebCore::RenderThemeMac::paintMenuList):
20427 Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
20428 could point to a CGContext whose memory has been freed.
20430 2010-04-08 Dimitri Glazkov <dglazkov@chromium.org>
20432 Reviewed by Darin Adler.
20434 Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
20435 https://bugs.webkit.org/show_bug.cgi?id=36031
20437 Changes the logic of appending/inserting document fragment to first stashing all of its children
20438 to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
20439 events mucking with the document fragment while it's being appended/inserted.
20441 Test: fast/dom/Node/fragment-mutation.html
20443 * dom/ContainerNode.cpp:
20444 (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
20445 inserting/appending operation.
20446 (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
20447 (WebCore::ContainerNode::appendChild): Ditto.
20449 (WebCore::Node::checkReplaceChild): Cleaned up comments.
20450 (WebCore::Node::checkAddChild): Ditto.
20452 2010-04-19 Eric Carlson <eric.carlson@apple.com>
20454 Reviewed by Simon Fraser.
20456 Fix regression introduced in r57820.
20458 * html/HTMLMediaElement.cpp:
20459 (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
20460 just setting a URL on the one used for the previous <source> element. This restores
20461 the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
20463 2010-04-19 Gavin Barraclough <barraclough@apple.com>
20465 Reviewed by Sam Weinig.
20467 https://bugs.webkit.org/show_bug.cgi?id=37745
20468 Move string uniquing tables to (new) WTFThreadData class.
20470 Remove AtomicString's dependency on ThreadGlobalData so that we can move
20471 WebCore's string classes up to WTF.
20473 * ForwardingHeaders/wtf/WTFThreadData.h: Added.
20474 * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
20475 (WebCore::ThreadGlobalData::ThreadGlobalData):
20476 (WebCore::ThreadGlobalData::~ThreadGlobalData):
20477 * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
20478 (WebCore::ThreadGlobalData::eventNames):
20479 * platform/text/AtomicString.cpp:
20480 (WebCore::AtomicStringTable::create):
20481 (WebCore::AtomicStringTable::table):
20482 (WebCore::AtomicStringTable::destroy):
20483 (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
20485 2010-04-19 Ada Chan <adachan@apple.com>
20487 Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
20488 in #if ENABLE(DOM_STORAGE).
20490 * page/Settings.cpp:
20491 (WebCore::Settings::Settings):
20494 2010-04-19 Dave Moore <davemoore@chromium.org>
20496 Reviewed by Dimitri Glazkov.
20498 Added notification when the favicons for a page are changed
20500 The Document object will notify the frame loader, which will
20501 notify the client. Implementations of FrameLoaderClient will
20502 have to add one method; dispatchDidChangeIcons().
20504 https://bugs.webkit.org/show_bug.cgi?id=33812
20506 Test: fast/dom/icon-url-property.html
20508 * dom/Document.cpp:
20509 (WebCore::Document::setIconURL):
20510 * loader/DocumentLoader.cpp:
20511 (WebCore::DocumentLoader::setIconURL):
20512 * loader/DocumentLoader.h:
20513 (WebCore::DocumentLoader::iconURL):
20514 * loader/EmptyClients.h:
20515 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
20516 * loader/FrameLoader.cpp:
20517 (WebCore::FrameLoader::setIconURL):
20518 (WebCore::FrameLoader::didChangeIcons):
20519 * loader/FrameLoader.h:
20520 * loader/FrameLoaderClient.h:
20522 2010-04-19 Ada Chan <adachan@apple.com>
20524 Reviewed by Jeremy Orlow.
20526 https://bugs.webkit.org/show_bug.cgi?id=37717
20527 Allow clients concerned with memory consumption to set a quota on session storage
20528 since the memory used won't be released until the Page is destroyed.
20529 The default is noQuota, which matches the current behavior.
20531 * WebCore.base.exp: Export Settings::setSessionStorageQuota().
20533 (WebCore::Page::sessionStorage):
20534 * page/Settings.cpp:
20535 (WebCore::Settings::Settings):
20536 (WebCore::Settings::setSessionStorageQuota):
20538 (WebCore::Settings::sessionStorageQuota):
20539 * storage/StorageNamespace.cpp:
20540 (WebCore::StorageNamespace::sessionStorageNamespace):
20541 * storage/StorageNamespace.h:
20542 * storage/StorageNamespaceImpl.cpp:
20543 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
20544 * storage/StorageNamespaceImpl.h:
20546 2010-04-19 Eric Carlson <eric.carlson@apple.com>
20548 Reviewed by Simon Fraser.
20550 Setting media element 'src' attribute should trigger immediate load
20551 https://bugs.webkit.org/show_bug.cgi?id=37728
20553 * html/HTMLMediaElement.cpp:
20554 (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
20555 changes unless it is missing.
20556 (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
20557 (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
20558 (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
20559 so the previously loading file, if any, is cancelled there.
20561 2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
20563 Reviewed by Simon Hausmann.
20565 [Qt] Fix compilation against namespaced Qt.
20567 * platform/graphics/GraphicsLayer.h:
20568 * platform/graphics/Tile.h:
20569 * platform/graphics/qt/MediaPlayerPrivateQt.h:
20570 * platform/network/qt/NetworkStateNotifierPrivate.h:
20572 2010-04-19 Balazs Kelemen <kb@inf.u-szeged.hu>
20574 Reviewed by Kenneth Rohde Christiansen.
20576 [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
20578 To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
20579 has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
20580 We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
20581 into the SharedTimerQt instance.
20583 https://bugs.webkit.org/show_bug.cgi?id=36832
20585 No functional change so no new tests.
20587 * platform/qt/SharedTimerQt.cpp:
20588 (WebCore::SharedTimerQt::SharedTimerQt):
20589 (WebCore::SharedTimerQt::destroy):
20590 (WebCore::SharedTimerQt::inst):
20592 2010-04-19 Dan Bernstein <mitz@apple.com>
20594 Reviewed by Darin Adler.
20596 Make the fix for <rdar://problem/7873647> from r57759 more robust.
20598 * rendering/RenderLayer.cpp:
20599 (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
20601 2010-04-19 Yury Semikhatsky <yurys@chromium.org>
20603 Unreviewed. Chromium build fix.
20605 * bindings/v8/JavaScriptCallFrame.h:
20607 2010-04-19 Yury Semikhatsky <yurys@chromium.org>
20609 Reviewed by Pavel Feldman.
20611 Web Inspector: implement JavaScriptCallFrame that works for v8.
20612 Implementing this binding for v8 allows to make evaluations on
20613 call frames and protects access to the debugger context from
20616 https://bugs.webkit.org/show_bug.cgi?id=37755
20618 * WebCore.gyp/WebCore.gyp:
20620 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
20621 (WebCore::JSJavaScriptCallFrame::scopeType):
20622 * bindings/v8/JavaScriptCallFrame.cpp: Added.
20623 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
20624 (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
20625 (WebCore::JavaScriptCallFrame::caller):
20626 (WebCore::JavaScriptCallFrame::sourceID):
20627 (WebCore::JavaScriptCallFrame::line):
20628 (WebCore::JavaScriptCallFrame::functionName):
20629 (WebCore::JavaScriptCallFrame::scopeChain):
20630 (WebCore::JavaScriptCallFrame::scopeType):
20631 (WebCore::JavaScriptCallFrame::thisObject):
20632 (WebCore::JavaScriptCallFrame::evaluate):
20633 * bindings/v8/JavaScriptCallFrame.h: Added.
20634 (WebCore::JavaScriptCallFrame::create):
20635 * bindings/v8/ScriptDebugServer.cpp:
20636 (WebCore::ScriptDebugServer::currentCallFrame):
20637 * bindings/v8/ScriptDebugServer.h:
20638 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
20639 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
20640 * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
20641 (WebCore::V8JavaScriptCallFrame::evaluateCallback):
20642 (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
20643 (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
20644 (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
20645 (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
20646 * inspector/JavaScriptCallFrame.idl:
20647 * inspector/front-end/InjectedScript.js:
20648 (injectedScriptConstructor.):
20650 2010-04-19 Jessie Berlin <jberlin@webkit.org>
20652 Rubber Stamped by Adam Roben
20654 Chromium Release Build Fix.
20656 * css/CSSSelector.cpp:
20657 (WebCore::CSSSelector::pseudoId):
20658 In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
20660 2010-04-19 Jessie Berlin <jberlin@webkit.org>
20662 Reviewed by Dave Hyatt.
20664 First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
20665 https://bugs.webkit.org/show_bug.cgi?id=24021
20667 Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
20668 This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated.
20669 Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers.
20671 Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
20673 * WebCore.base.exp:
20674 * css/CSSComputedStyleDeclaration.cpp:
20675 (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
20676 Parse the and store the pseudo-element specifier from the string provided by the user.
20677 (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
20678 Get the computed style for the pseudo-element if it has been specified.
20679 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
20680 Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation.
20681 (WebCore::CSSComputedStyleDeclaration::length):
20682 Get the computed style for the pseudo-element if it has been specified.
20683 (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
20685 * css/CSSComputedStyleDeclaration.h:
20686 (WebCore::computedStyle):
20687 Take into consideration the pseudo-element.
20689 * css/CSSSelector.cpp:
20690 (WebCore::CSSSelector::pseudoId):
20691 Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
20692 (WebCore::nameToPseudoTypeMap):
20693 Create and return the mapping between string names and PseudoTypes.
20694 (WebCore::CSSSelector::parsePseudoType):
20695 Parse and the given string into a PseudoType.
20696 (WebCore::CSSSelector::extractPseudoType):
20697 Refactored to use parsePseudoType.
20698 * css/CSSSelector.h:
20700 * css/CSSStyleSelector.cpp:
20701 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
20702 Refactored to use pseudoId.
20705 (WebCore::Element::computedStyle):
20706 If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element.
20708 (WebCore::Element::virtualComputedStyle):
20709 Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient.
20712 (WebCore::Node::computedStyle):
20715 (WebCore::Node::virtualComputedStyle):
20716 Get the computed style for the pseudo-element if it has been specified.
20718 * page/DOMWindow.cpp:
20719 (WebCore::DOMWindow::getComputedStyle):
20722 2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
20724 Reviewed by Laszlo Gombos.
20726 [Qt] Fix JavaScriptCore's include path for WinCE builds
20728 https://bugs.webkit.org/show_bug.cgi?id=36751
20732 2010-04-17 Alexey Proskuryakov <ap@apple.com>
20734 Reviewed by Adam Barth.
20736 https://bugs.webkit.org/show_bug.cgi?id=37720
20737 <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
20738 crashes on SnowLeopard Release
20741 * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
20742 * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
20744 * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
20745 listeners set via document.body. The body wrapper can go away if nothing else references it.
20747 * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
20748 because we need to use window object as a wrapper, not the element. Marked all window event
20749 listeners as such for code generator.
20751 * html/HTMLFrameSetElement.idl: Ditto.
20753 2010-04-17 Juan C. Montemayor <jmonte03@cs.tufts.edu>
20755 Reviewed by Joseph Pecoraro.
20757 Databases pane doesn't recognize table creation/deletion
20758 https://bugs.webkit.org/show_bug.cgi?id=20219
20760 * inspector/front-end/DatabaseQueryView.js:
20761 (WebInspector.DatabaseQueryView.prototype._queryFinished):
20763 2010-04-17 Yaar Schnitman <yaar@chromium.org>
20765 Reviewed by Adam Barth.
20767 Auto-generate V8 bindings for canvas.* overloads
20768 https://bugs.webkit.org/show_bug.cgi?id=37453
20770 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
20771 * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
20772 * html/canvas/CanvasRenderingContext2D.cpp:
20773 (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
20774 * html/canvas/CanvasRenderingContext2D.h:
20775 * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
20777 2010-04-17 Yury Semikhatsky <yurys@chromium.org>
20779 Reviewed by Pavel Feldman.
20781 Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
20783 https://bugs.webkit.org/show_bug.cgi?id=37740
20788 * WebCore.vcproj/WebCore.vcproj:
20789 * WebCore.xcodeproj/project.pbxproj:
20790 * bindings/js/JSBindingsAllInOne.cpp:
20791 * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
20792 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
20793 (WebCore::JavaScriptCallFrame::caller):
20794 (WebCore::JavaScriptCallFrame::scopeChain):
20795 (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
20796 (WebCore::JavaScriptCallFrame::functionName):
20797 (WebCore::JavaScriptCallFrame::type):
20798 (WebCore::JavaScriptCallFrame::thisObject):
20799 (WebCore::JavaScriptCallFrame::evaluate):
20800 * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
20801 (WebCore::JavaScriptCallFrame::create):
20802 (WebCore::JavaScriptCallFrame::invalidate):
20803 (WebCore::JavaScriptCallFrame::isValid):
20804 (WebCore::JavaScriptCallFrame::sourceID):
20805 (WebCore::JavaScriptCallFrame::line):
20806 (WebCore::JavaScriptCallFrame::update):
20807 * inspector/InjectedScriptHost.h:
20808 * inspector/InspectorController.h:
20810 2010-04-17 Vangelis Kokkevis <vangelis@chromium.org>
20812 Reviewed by Dimitri Glazkov.
20814 Adding definition of GLES2Context class.
20815 https://bugs.webkit.org/show_bug.cgi?id=37541
20817 No new functionality implemented yet, no tests.
20819 * WebCore.gypi: Added GLES2Context.h
20820 * platform/chromium/GLES2Context.h: Added.
20822 2010-04-17 Julien Chaffraix <jchaffraix@webkit.org>
20824 Reviewed by Darin Adler.
20826 Crash while handling SVG font in the wrong namespace imported with @font-face
20827 https://bugs.webkit.org/show_bug.cgi?id=18862
20829 Test: fast/invalid/invalidSVGFont.html
20831 * loader/CachedFont.cpp:
20832 (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
20833 getElementsByNameNS: the element factory chooses which element to create based on both
20834 localName and namespace.
20836 2010-04-16 Sheriff Bot <webkit.review.bot@gmail.com>
20838 Unreviewed, rolling out r57770.
20839 http://trac.webkit.org/changeset/57770
20840 https://bugs.webkit.org/show_bug.cgi?id=37746
20842 8 test cases crashed (Requested by Ossy on #webkit).
20844 * platform/graphics/qt/GraphicsLayerQt.cpp:
20845 (WebCore::AnimationQtBase::AnimationQtBase):
20846 (WebCore::TransformAnimationQt::~TransformAnimationQt):
20847 (WebCore::TransformAnimationQt::applyFrame):
20848 (WebCore::OpacityAnimationQt::applyFrame):
20849 (WebCore::GraphicsLayerQt::addAnimation):
20851 2010-04-16 Daniel Bates <dbates@rim.com>
20853 Reviewed by Adam Treat.
20855 https://bugs.webkit.org/show_bug.cgi?id=36312
20857 Adds support for the viewport meta tag. The code is largely derived in whole
20858 or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
20859 source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
20861 * Android.mk: Added file ViewportArguments.cpp.
20862 * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
20863 * WebCore.gypi: Ditto.
20864 * WebCore.pro: Ditto.
20865 * WebCore.vcproj/WebCore.vcproj: Ditto.
20866 * WebCore.xcodeproj/project.pbxproj: Ditto.
20867 * dom/Document.cpp:
20868 (WebCore::isSeparator): Added.
20869 (WebCore::Document::processArguments): Added.
20870 (WebCore::Document::processViewport): Added.
20872 * dom/ViewportArguments.cpp: Added.
20873 (WebCore::setViewportFeature):
20874 (WebCore::viewportErrorMessageTemplate):
20875 (WebCore::viewportErrorMessageLevel):
20876 (WebCore::reportViewportWarning):
20877 * dom/ViewportArguments.h: Added.
20879 (WebCore::ViewportArguments::):
20880 (WebCore::ViewportArguments::ViewportArguments):
20881 (WebCore::ViewportArguments::hasCustomArgument):
20882 * html/HTMLMetaElement.cpp:
20883 (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
20884 * page/ChromeClient.h:
20885 (WebCore::ChromeClient::didReceiveViewportArguments): Added.
20887 2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
20889 Reviewed by Antti Koivisto.
20891 [Qt] GraphicsLayer: support fill-modes
20892 https://bugs.webkit.org/show_bug.cgi?id=36216
20893 Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
20894 enables a key-frame animation to go to the animation's starting point before the delay,
20895 and/or to stay at the animation's ending point after its ended, without reverting to the default
20897 We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
20898 and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
20900 * platform/graphics/qt/GraphicsLayerQt.cpp:
20901 (WebCore::AnimationQtBase::AnimationQtBase):
20902 (WebCore::TransformAnimationQt::~TransformAnimationQt):
20903 (WebCore::TransformAnimationQt::applyFrame):
20904 (WebCore::GraphicsLayerQt::addAnimation):
20906 2010-04-16 Gavin Barraclough <barraclough@apple.com>
20908 Reviewed by NOBODY (arm build fix).
20910 * bindings/js/JSDesktopNotificationsCustom.cpp:
20911 (WebCore::JSNotification::addEventListener):
20912 (WebCore::JSNotification::removeEventListener):
20914 2010-04-16 Dmitry Titov <dimich@chromium.org>
20916 Reviewed by Yury Semikhatsky.
20918 [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
20919 https://bugs.webkit.org/show_bug.cgi?id=37691
20921 Existing worker-close.html will now work in Chromium.
20923 * bindings/v8/V8Utilities.cpp:
20924 (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
20925 * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
20926 * bindings/v8/WorkerScriptController.h:
20927 (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
20929 2010-04-16 Gavin Barraclough <barraclough@apple.com>
20931 Reviewed by Sam Weinig.
20933 https://bugs.webkit.org/show_bug.cgi?id=37735
20934 Remove JSC specific code from WebCore::AtomicString
20936 Add generic constructor/add/find methods that take a UChar* & length, along
20937 with a known existing hash for the string.
20938 This removes the remaining JSC specific code from platform/text.
20940 * bindings/js/JSAbstractWorkerCustom.cpp:
20941 (WebCore::JSAbstractWorker::addEventListener):
20942 (WebCore::JSAbstractWorker::removeEventListener):
20943 * bindings/js/JSDOMApplicationCacheCustom.cpp:
20944 (WebCore::JSDOMApplicationCache::addEventListener):
20945 (WebCore::JSDOMApplicationCache::removeEventListener):
20946 * bindings/js/JSDOMBinding.cpp:
20947 (WebCore::ustringToAtomicString):
20948 (WebCore::identifierToAtomicString):
20949 (WebCore::findAtomicString):
20950 * bindings/js/JSDOMBinding.h:
20951 * bindings/js/JSDOMWindowCustom.cpp:
20952 (WebCore::childFrameGetter):
20953 (WebCore::JSDOMWindow::getOwnPropertySlot):
20954 (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
20955 (WebCore::JSDOMWindow::open):
20956 (WebCore::JSDOMWindow::addEventListener):
20957 (WebCore::JSDOMWindow::removeEventListener):
20958 * bindings/js/JSElementCustom.cpp:
20959 (WebCore::JSElement::setAttribute):
20960 (WebCore::JSElement::setAttributeNS):
20961 * bindings/js/JSEventSourceCustom.cpp:
20962 (WebCore::JSEventSource::addEventListener):
20963 (WebCore::JSEventSource::removeEventListener):
20964 * bindings/js/JSHTMLAllCollectionCustom.cpp:
20965 (WebCore::getNamedItems):
20966 (WebCore::JSHTMLAllCollection::canGetItemsForName):
20967 * bindings/js/JSHTMLCollectionCustom.cpp:
20968 (WebCore::getNamedItems):
20969 (WebCore::JSHTMLCollection::canGetItemsForName):
20970 * bindings/js/JSHTMLDocumentCustom.cpp:
20971 (WebCore::JSHTMLDocument::canGetItemsForName):
20972 * bindings/js/JSHTMLFormElementCustom.cpp:
20973 (WebCore::JSHTMLFormElement::canGetItemsForName):
20974 (WebCore::JSHTMLFormElement::nameGetter):
20975 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
20976 (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
20977 (WebCore::JSHTMLFrameSetElement::nameGetter):
20978 * bindings/js/JSMessageEventCustom.cpp:
20979 (WebCore::JSMessageEvent::initMessageEvent):
20980 * bindings/js/JSMessagePortCustom.cpp:
20981 (WebCore::JSMessagePort::addEventListener):
20982 (WebCore::JSMessagePort::removeEventListener):
20983 * bindings/js/JSMimeTypeArrayCustom.cpp:
20984 (WebCore::JSMimeTypeArray::canGetItemsForName):
20985 (WebCore::JSMimeTypeArray::nameGetter):
20986 * bindings/js/JSNodeCustom.cpp:
20987 (WebCore::JSNode::addEventListener):
20988 (WebCore::JSNode::removeEventListener):
20989 * bindings/js/JSNodeListCustom.cpp:
20990 (WebCore::JSNodeList::canGetItemsForName):
20991 (WebCore::JSNodeList::nameGetter):
20992 * bindings/js/JSPluginArrayCustom.cpp:
20993 (WebCore::JSPluginArray::canGetItemsForName):
20994 (WebCore::JSPluginArray::nameGetter):
20995 * bindings/js/JSPluginCustom.cpp:
20996 (WebCore::JSPlugin::canGetItemsForName):
20997 (WebCore::JSPlugin::nameGetter):
20998 * bindings/js/JSPopStateEventCustom.cpp:
20999 (WebCore::JSPopStateEvent::initPopStateEvent):
21000 * bindings/js/JSSVGElementInstanceCustom.cpp:
21001 (WebCore::JSSVGElementInstance::addEventListener):
21002 (WebCore::JSSVGElementInstance::removeEventListener):
21003 * bindings/js/JSWebSocketCustom.cpp:
21004 (WebCore::JSWebSocket::addEventListener):
21005 (WebCore::JSWebSocket::removeEventListener):
21006 * bindings/js/JSWorkerContextCustom.cpp:
21007 (WebCore::JSWorkerContext::addEventListener):
21008 (WebCore::JSWorkerContext::removeEventListener):
21009 * bindings/js/JSXMLHttpRequestCustom.cpp:
21010 (WebCore::JSXMLHttpRequest::setRequestHeader):
21011 (WebCore::JSXMLHttpRequest::getResponseHeader):
21012 (WebCore::JSXMLHttpRequest::addEventListener):
21013 (WebCore::JSXMLHttpRequest::removeEventListener):
21014 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
21015 (WebCore::JSXMLHttpRequestUpload::addEventListener):
21016 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
21017 * platform/text/AtomicString.cpp:
21018 (WebCore::AtomicString::add):
21019 (WebCore::AtomicString::find):
21020 * platform/text/AtomicString.h:
21021 (WebCore::AtomicString::AtomicString):
21023 2010-04-16 Fumitoshi Ukai <ukai@chromium.org>
21025 Reviewed by Alexey Proskuryakov.
21027 WebSocket crash when it receives bad header.
21028 https://bugs.webkit.org/show_bug.cgi?id=37682
21030 If name or value is not valid UTF-8, nameStr or valueStr would be
21031 null string, so crashed in headers->add(nameStr, valueStr).
21032 Check both nameStr and valueStr are not null string.
21033 Otherwise handshake will fail.
21035 Test: websocket/tests/bad-handshake-crash.html
21037 * websockets/WebSocketHandshake.cpp:
21038 (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
21040 2010-04-16 Dan Bernstein <mitz@apple.com>
21042 Reviewed by Simon Fraser.
21044 <rdar://problem/7873647> Crash when updating hover state
21046 Test: fast/dynamic/hover-style-recalc-crash.html
21048 Updating the hover state of an element caused the document to need style
21049 recalc, and then updating the hover state of a link caused style recalc,
21050 which changed the render tree while updateHoverActiveState() was iterating
21051 over it, leading to a crash.
21053 * rendering/RenderLayer.cpp:
21054 (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
21055 updated into vectors, then update their active and hover states.
21057 2010-04-16 Dumitru Daniliuc <dumi@chromium.org>
21059 Reviewed by Alexey Proskuryakov.
21061 Make Safari correctly allocate 5MB of DB storage to all new
21063 https://bugs.webkit.org/show_bug.cgi?id=36671
21065 Eric fixed the same problem in
21066 DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
21067 to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
21069 * storage/DatabaseTracker.cpp:
21070 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
21072 2010-04-16 Kinuko Yasuda <kinuko@chromium.org>
21074 Reviewed by Jian Li.
21076 Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
21077 https://bugs.webkit.org/show_bug.cgi?id=37218
21079 No new tests; tests will be added when we add upper layer implementations.
21084 * WebCore.vcproj/WebCore.vcproj:
21085 * WebCore.xcodeproj/project.pbxproj:
21086 * html/FileStream.cpp:
21087 (WebCore::FileStream::stop):
21088 * html/FileStream.h:
21089 * html/FileStreamClient.h:
21090 (WebCore::FileStreamClient::didStop):
21091 * html/FileStreamProxy.cpp: Added
21092 * html/FileStreamProxy.h: Added
21093 * html/FileThreadTask.h: Added
21095 2010-04-16 Gavin Barraclough <barraclough@apple.com>
21097 Reviewed by Oliver Hunt.
21099 Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
21100 (Following on from bug #37675).
21102 Remove ustring() method, and constructor passed a UString.
21104 * WebCore.base.exp:
21105 * bindings/js/JSDOMBinding.cpp:
21106 (WebCore::stringimplToUString):
21107 (WebCore::jsStringSlowCase):
21108 (WebCore::ustringToString):
21109 (WebCore::stringToUString):
21110 (WebCore::identifierToString):
21111 * bindings/js/JSDOMBinding.h:
21112 (WebCore::jsString):
21113 * platform/text/AtomicString.cpp:
21114 (WebCore::AtomicString::operator UString):
21115 * platform/text/StringImpl.cpp:
21116 (WebCore::StringImpl::create):
21117 * platform/text/StringImpl.h:
21119 2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
21121 Reviewed by Simon Hausmann.
21123 [Qt] WebGL is not visible when QGLWidget viewport is used
21124 https://bugs.webkit.org/show_bug.cgi?id=37070
21126 Added HostWindow parameter to the constructor of GraphicsContext3D.
21127 Shared OpenGL context is initialized with parent QGLWidget.
21129 * html/canvas/WebGLRenderingContext.cpp:
21130 (WebCore::WebGLRenderingContext::create):
21131 * platform/graphics/GraphicsContext3D.h:
21132 * platform/graphics/mac/GraphicsContext3DMac.cpp:
21133 (WebCore::GraphicsContext3D::create):
21134 (WebCore::GraphicsContext3D::GraphicsContext3D):
21135 * platform/graphics/qt/GraphicsContext3DQt.cpp:
21136 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
21137 (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
21138 (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
21139 (WebCore::GraphicsContext3D::create):
21140 (WebCore::GraphicsContext3D::GraphicsContext3D):
21142 2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
21144 Reviewed by Simon Hausmann.
21146 [Qt] WebKit compilation fails with --3d-canvas
21147 https://bugs.webkit.org/show_bug.cgi?id=37699
21149 API for readPixels() has been changed.
21151 * platform/graphics/qt/GraphicsContext3DQt.cpp:
21152 (WebCore::GraphicsContext3D::readPixels):
21154 2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
21156 Reviewed by Antti Koivisto.
21158 [Qt]QtLauncher crash on page with CSS 3D transform
21159 https://bugs.webkit.org/show_bug.cgi?id=36859
21161 Added a neccessary null-pointer check, lack of which created the crash circumstances.
21163 Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
21165 * platform/graphics/qt/GraphicsLayerQt.cpp:
21166 (WebCore::GraphicsLayerQtImpl::flushChanges):
21168 2010-04-16 Anders Carlsson <andersca@apple.com>
21170 Reviewed by Sam Weinig.
21172 Make sure to update the current graphics context when calling out to AppKit.
21174 * platform/mac/ThemeMac.mm:
21175 (WebCore::paintCheckbox):
21176 (WebCore::paintRadio):
21178 2010-04-15 Gavin Barraclough <barraclough@apple.com>
21180 Reviewed by Sam Weinig & Oliver Hunt.
21182 https://bugs.webkit.org/show_bug.cgi?id=37675
21183 Remove casts/constructors to/from JSC::UString type from WebCore::String
21185 WebCore's strings should not know about JSC::UString, this should be abstracted
21186 away in the bindings. Add explicit conversion methods rather than relying on
21187 overloaded cast operators / constructors being implicitly called.
21189 This patch only changes the class String, once this has landed StringImpl, and
21190 hopefully AtomicString too, should follow suit.
21193 WebCore::identifierToString
21194 WebCore::ustringToString
21195 WebCore::stringToUString
21197 - to JSDOMBindings.h, and updates code to call these methods.
21199 * WebCore.base.exp:
21201 * bindings/js/CachedScriptSourceProvider.h:
21202 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
21203 * bindings/js/JSAudioConstructor.cpp:
21204 (WebCore::constructAudio):
21205 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
21206 (WebCore::JSCSSStyleDeclaration::nameGetter):
21207 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21208 (WebCore::toHTMLCanvasStyle):
21209 (WebCore::JSCanvasRenderingContext2D::setFillColor):
21210 (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
21211 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
21212 (WebCore::JSCanvasRenderingContext2D::setShadow):
21213 (WebCore::JSCanvasRenderingContext2D::fillText):
21214 (WebCore::JSCanvasRenderingContext2D::strokeText):
21215 * bindings/js/JSClipboardCustom.cpp:
21216 (WebCore::JSClipboard::types):
21217 (WebCore::JSClipboard::clearData):
21218 (WebCore::JSClipboard::getData):
21219 (WebCore::JSClipboard::setData):
21220 * bindings/js/JSCustomXPathNSResolver.cpp:
21221 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
21222 * bindings/js/JSDOMBinding.cpp:
21223 (WebCore::identifierToString):
21224 (WebCore::ustringToString):
21225 (WebCore::stringToUString):
21226 (WebCore::valueToStringWithNullCheck):
21227 (WebCore::valueToStringWithUndefinedOrNullCheck):
21228 (WebCore::reportException):
21229 * bindings/js/JSDOMBinding.h:
21230 * bindings/js/JSDOMFormDataCustom.cpp:
21231 (WebCore::JSDOMFormData::append):
21232 * bindings/js/JSDOMWindowCustom.cpp:
21233 (WebCore::namedItemGetter):
21234 (WebCore::JSDOMWindow::setLocation):
21235 (WebCore::JSDOMWindow::openDatabase):
21236 * bindings/js/JSDatabaseCustom.cpp:
21237 (WebCore::JSDatabase::changeVersion):
21238 * bindings/js/JSDocumentCustom.cpp:
21239 (WebCore::JSDocument::setLocation):
21240 * bindings/js/JSEventListener.cpp:
21241 (WebCore::JSEventListener::handleEvent):
21242 * bindings/js/JSEventSourceConstructor.cpp:
21243 (WebCore::constructEventSource):
21244 * bindings/js/JSHTMLAllCollectionCustom.cpp:
21245 (WebCore::callHTMLAllCollection):
21246 * bindings/js/JSHTMLCanvasElementCustom.cpp:
21247 (WebCore::JSHTMLCanvasElement::getContext):
21248 * bindings/js/JSHTMLCollectionCustom.cpp:
21249 (WebCore::callHTMLCollection):
21250 * bindings/js/JSHTMLDocumentCustom.cpp:
21251 (WebCore::JSHTMLDocument::nameGetter):
21252 (WebCore::documentWrite):
21253 * bindings/js/JSInjectedScriptHostCustom.cpp:
21254 (WebCore::InjectedScriptHost::createInjectedScript):
21255 * bindings/js/JSInspectorFrontendHostCustom.cpp:
21256 (WebCore::JSInspectorFrontendHost::showContextMenu):
21257 * bindings/js/JSLazyEventListener.cpp:
21258 (WebCore::JSLazyEventListener::initializeJSFunction):
21259 * bindings/js/JSLocationCustom.cpp:
21260 (WebCore::JSLocation::setHref):
21261 (WebCore::JSLocation::setProtocol):
21262 (WebCore::JSLocation::setHost):
21263 (WebCore::JSLocation::setHostname):
21264 (WebCore::JSLocation::setPathname):
21265 (WebCore::JSLocation::setSearch):
21266 (WebCore::JSLocation::setHash):
21267 (WebCore::JSLocation::replace):
21268 (WebCore::JSLocation::assign):
21269 * bindings/js/JSMessageEventCustom.cpp:
21270 (WebCore::JSMessageEvent::initMessageEvent):
21271 * bindings/js/JSNamedNodeMapCustom.cpp:
21272 (WebCore::JSNamedNodeMap::canGetItemsForName):
21273 (WebCore::JSNamedNodeMap::nameGetter):
21274 * bindings/js/JSOptionConstructor.cpp:
21275 (WebCore::constructHTMLOptionElement):
21276 * bindings/js/JSSQLResultSetRowListCustom.cpp:
21277 (WebCore::JSSQLResultSetRowList::item):
21278 * bindings/js/JSSQLTransactionCustom.cpp:
21279 (WebCore::JSSQLTransaction::executeSql):
21280 * bindings/js/JSSharedWorkerConstructor.cpp:
21281 (WebCore::constructSharedWorker):
21282 * bindings/js/JSStorageCustom.cpp:
21283 (WebCore::JSStorage::canGetItemsForName):
21284 (WebCore::JSStorage::nameGetter):
21285 (WebCore::JSStorage::deleteProperty):
21286 (WebCore::JSStorage::getOwnPropertyNames):
21287 (WebCore::JSStorage::putDelegate):
21288 * bindings/js/JSStyleSheetListCustom.cpp:
21289 (WebCore::JSStyleSheetList::canGetItemsForName):
21290 (WebCore::JSStyleSheetList::nameGetter):
21291 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
21292 (WebCore::constructWebKitCSSMatrix):
21293 * bindings/js/JSWebSocketConstructor.cpp:
21294 (WebCore::constructWebSocket):
21295 * bindings/js/JSWebSocketCustom.cpp:
21296 (WebCore::JSWebSocket::send):
21297 * bindings/js/JSWorkerConstructor.cpp:
21298 (WebCore::constructWorker):
21299 * bindings/js/JSWorkerContextCustom.cpp:
21300 (WebCore::JSWorkerContext::importScripts):
21301 * bindings/js/JSXMLHttpRequestCustom.cpp:
21302 (WebCore::JSXMLHttpRequest::open):
21303 (WebCore::JSXMLHttpRequest::setRequestHeader):
21304 (WebCore::JSXMLHttpRequest::send):
21305 (WebCore::JSXMLHttpRequest::overrideMimeType):
21306 * bindings/js/JSXSLTProcessorCustom.cpp:
21307 (WebCore::JSXSLTProcessor::setParameter):
21308 (WebCore::JSXSLTProcessor::getParameter):
21309 (WebCore::JSXSLTProcessor::removeParameter):
21310 * bindings/js/ScheduledAction.cpp:
21311 (WebCore::ScheduledAction::create):
21312 * bindings/js/ScriptCallFrame.cpp:
21313 (WebCore::ScriptCallFrame::ScriptCallFrame):
21314 * bindings/js/ScriptController.cpp:
21315 (WebCore::ScriptController::evaluateInWorld):
21316 * bindings/js/ScriptDebugServer.cpp:
21317 (WebCore::ScriptDebugServer::hasBreakpoint):
21318 (WebCore::ScriptDebugServer::dispatchDidParseSource):
21319 (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
21320 (WebCore::ScriptDebugServer::sourceParsed):
21321 * bindings/js/ScriptEventListener.cpp:
21322 (WebCore::getEventListenerHandlerBody):
21323 * bindings/js/ScriptFunctionCall.cpp:
21324 (WebCore::ScriptFunctionCall::appendArgument):
21325 (WebCore::ScriptFunctionCall::call):
21326 (WebCore::ScriptFunctionCall::construct):
21327 * bindings/js/ScriptObject.cpp:
21328 (WebCore::ScriptObject::set):
21329 * bindings/js/ScriptProfiler.cpp:
21330 (WebCore::ScriptProfiler::start):
21331 (WebCore::ScriptProfiler::stop):
21332 * bindings/js/ScriptString.h:
21333 (WebCore::ScriptString::operator String):
21334 (WebCore::ScriptString::ustring):
21335 (WebCore::ScriptString::operator+=):
21336 * bindings/js/ScriptValue.cpp:
21337 (WebCore::ScriptValue::getString):
21338 * bindings/js/ScriptValue.h:
21339 (WebCore::ScriptValue::toString):
21340 * bindings/js/SerializedScriptValue.cpp:
21341 (WebCore::SerializedObject::set):
21342 (WebCore::SerializingTreeWalker::convertIfTerminal):
21343 (WebCore::DeserializingTreeWalker::putProperty):
21344 * bindings/js/StringSourceProvider.h:
21345 (WebCore::StringSourceProvider::StringSourceProvider):
21346 * bindings/objc/WebScriptObject.mm:
21347 (-[WebScriptObject callWebScriptMethod:withArguments:]):
21348 (-[WebScriptObject setValue:forKey:]):
21349 (-[WebScriptObject valueForKey:]):
21350 (-[WebScriptObject removeWebScriptKey:]):
21351 * bindings/scripts/CodeGeneratorJS.pm:
21352 * bridge/IdentifierRep.cpp:
21353 (WebCore::IdentifierRep::get):
21354 * bridge/c/c_utility.cpp:
21355 (JSC::Bindings::identifierFromNPIdentifier):
21356 * inspector/InspectorController.cpp:
21357 (WebCore::InspectorController::scriptImported):
21358 (WebCore::InspectorController::addProfileFinishedMessageToConsole):
21359 (WebCore::InspectorController::createProfileHeader):
21360 * inspector/InspectorResource.cpp:
21361 (WebCore::InspectorResource::sourceString):
21362 * inspector/JavaScriptCallFrame.cpp:
21363 (WebCore::JavaScriptCallFrame::functionName):
21365 (WebCore::KURL::operator const String&):
21366 * platform/text/AtomicString.cpp:
21367 (WebCore::AtomicString::operator UString):
21368 * platform/text/AtomicString.h:
21369 * platform/text/PlatformString.h:
21370 * platform/text/String.cpp:
21372 2010-04-16 Anders Carlsson <andersca@apple.com>
21374 Reviewed by David Hyatt.
21376 Always pass a view to the AppKit drawing functions.
21377 https://bugs.webkit.org/show_bug.cgi?id=37724
21379 * platform/mac/ThemeMac.mm:
21380 (WebCore::paintCheckbox):
21381 (WebCore::paintRadio):
21382 * rendering/RenderThemeMac.mm:
21383 (WebCore::RenderThemeMac::paintMenuList):
21384 (WebCore::RenderThemeMac::paintSliderThumb):
21385 (WebCore::RenderThemeMac::paintSearchField):
21386 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
21387 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
21388 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
21390 2010-04-16 Alexey Proskuryakov <ap@apple.com>
21392 Reviewed by Dan Bernstein.
21394 https://bugs.webkit.org/show_bug.cgi?id=37718
21395 Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
21397 Test: fast/events/recorded-keydown-event.html
21399 * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
21402 2010-04-16 Jian Li <jianli@chromium.org>
21404 Reviewed by Dmitry Titov.
21406 Update FormDataList to fix style violations in old code.
21407 https://bugs.webkit.org/show_bug.cgi?id=37689
21409 * html/FormDataList.h:
21410 (WebCore::FormDataList::appendData):
21411 (WebCore::FormDataList::appendBlob):
21413 2010-04-16 Anders Carlsson <andersca@apple.com>
21417 * WebCore.base.exp:
21419 2010-04-16 Jay Civelli <jcivelli@chromium.org>
21421 Reviewed by Dimitri Glazkov.
21423 [chromium] Fix Mac build.
21424 https://bugs.webkit.org/show_bug.cgi?id=37436
21426 * platform/chromium/PopupMenuChromium.h:
21428 2010-04-16 Jay Civelli <jcivelli@chromium.org>
21430 Reviewed by Dimitri Glazkov.
21432 [chromium] Select popups would assert when destroyed.
21433 https://bugs.webkit.org/show_bug.cgi?id=37436
21436 * platform/chromium/PopupMenuChromium.cpp:
21437 (WebCore::PopupContainer::PopupContainer):
21438 (WebCore::PopupContainer::showPopup):
21439 (WebCore::PopupContainer::notifyPopupHidden):
21440 * platform/chromium/PopupMenuChromium.h:
21442 2010-04-16 Antonio Gomes <tonikitoo@webkit.org>
21444 Unreviewed QtWebKit (with Qt 4.7) build fix.
21446 Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
21447 renamed the variable used.
21449 * platform/graphics/qt/FontPlatformDataQt.cpp:
21450 (WebCore::FontPlatformData::FontPlatformData):
21452 2010-04-16 Noam Rosenthal <noam.rosenthal@nokia.com>
21454 Reviewed by Kenneth Rohde Christiansen.
21456 Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
21457 This aligns our implementation with the Safari implementation - layers are always uploaded
21458 to textures in item units, and WebCore is responsible for the heuristics.
21460 [Qt] GraphicsLayer: performance optimizations
21461 https://bugs.webkit.org/show_bug.cgi?id=35393
21463 No new tests. Still no FPS benchmarks available (on any platform)
21464 but animations are noticably better.
21466 * platform/graphics/qt/GraphicsLayerQt.cpp:
21467 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
21468 (WebCore::GraphicsLayerQtImpl::paint):
21469 (WebCore::GraphicsLayerQtImpl::flushChanges):
21470 (WebCore::TransformAnimationQt::updateState):
21472 2010-04-16 Simon Hausmann <simon.hausmann@nokia.com>
21474 Reviewed by Kenneth Rohde Christiansen.
21476 [Qt] WebCore::Font::font() causes a QFont detach
21477 https://bugs.webkit.org/show_bug.cgi?id=37683
21479 Moved the setStyleStrategy call to FontPlatformData
21480 to avoid the detach.
21482 Thanks to Holger for spotting this.
21484 * platform/graphics/qt/FontPlatformDataQt.cpp:
21485 (WebCore::FontPlatformData::FontPlatformData):
21486 * platform/graphics/qt/FontQt.cpp:
21487 (WebCore::Font::font):
21489 2010-04-15 Matt Perry <mpcomplete@chromium.org>
21491 Reviewed by Adam Barth.
21493 Remove the check for the main frame's scheme when deciding which
21494 v8 extensions to add to a script context. Instead, Chromium will
21495 handle that check elsewhere to allow finer-grained control over
21496 what APIs we expose to web pages.
21497 https://bugs.webkit.org/show_bug.cgi?id=37681
21499 * bindings/v8/V8DOMWindowShell.cpp:
21500 (WebCore::V8DOMWindowShell::createNewContext):
21502 2010-04-15 Luiz Agostini <luiz.agostini@openbossa.org>
21504 Reviewed by Antti Koivisto.
21506 No default selection for <select multiple> menu lists.
21507 https://bugs.webkit.org/show_bug.cgi?id=37530
21509 Manual test: manual-tests/no-listbox-rendering.html
21511 For menu lists, if the selection is not indicated by the html file, the first <option> will be
21512 selected after loading the page or reseting the form. On the other hand listboxes may have no
21513 element selected after loading the page or reseting the form.
21515 When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
21516 that did not have selected elements, now being menu lists, will have the first <option>
21517 selected. That is the behavior difference that this patch corrects.
21519 When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
21520 be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
21521 by (!multiple && size <= 1) where initial selection is considered.
21523 * dom/SelectElement.cpp:
21524 (WebCore::SelectElement::recalcListItems):
21525 (WebCore::SelectElement::reset):
21526 * manual-tests/no-listbox-rendering.html: Added.
21528 2010-04-15 Zhenyao Mo <zmo@google.com>
21530 Reviewed by Dimitri Glazkov.
21532 Index validation code validates too many vertex attributes
21533 https://bugs.webkit.org/show_bug.cgi?id=31892
21535 * html/canvas/WebGLProgram.cpp:
21536 (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
21537 (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
21538 (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
21539 * html/canvas/WebGLProgram.h: Add attribute locations member.
21540 * html/canvas/WebGLRenderingContext.cpp:
21541 (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
21542 (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
21544 2010-04-16 Adam Roben <aroben@apple.com>
21546 Don't assert when soft-linked libraries can't be found
21548 In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
21549 to be able to be found in all cases. So we shouldn't assert that they're always found.
21551 Reviewed by Sam Weinig.
21553 * platform/win/SoftLinking.h:
21554 (SOFT_LINK): Don't assert when LoadLibrary fails.
21556 2010-04-15 Dmitry Titov <dimich@chromium.org>
21558 Unreviewed, rolling out r57688.
21559 http://trac.webkit.org/changeset/57688
21560 https://bugs.webkit.org/show_bug.cgi?id=34992
21562 Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
21564 * bindings/js/JSWorkerContextCustom.cpp:
21565 * bindings/v8/custom/V8WorkerContextCustom.cpp:
21566 * storage/Database.idl:
21567 * storage/SQLError.idl:
21568 * storage/SQLResultSet.idl:
21569 * storage/SQLResultSetRowList.idl:
21570 * storage/SQLTransaction.idl:
21571 * workers/WorkerContext.cpp:
21572 (WebCore::WorkerContext::openDatabase):
21573 * workers/WorkerContext.h:
21574 (WebCore::WorkerContext::databaseExceededQuota):
21575 * workers/WorkerContext.idl:
21577 2010-04-15 Yury Semikhatsky <yurys@google.com>
21579 Reviewed by Pavel Feldman.
21581 Support basic debugging capabilities including step in/over/out in v8
21582 implementation of ScriptDebugServer.
21584 https://bugs.webkit.org/show_bug.cgi?id=37604
21586 * bindings/js/JSInjectedScriptHostCustom.cpp:
21587 (WebCore::InjectedScriptHost::createInjectedScript):
21588 * bindings/v8/ScriptDebugServer.cpp:
21589 (WebCore::ScriptDebugServer::ScriptDebugServer):
21590 (WebCore::ScriptDebugServer::setDebuggerScriptSource):
21591 (WebCore::ScriptDebugServer::addListener):
21592 (WebCore::ScriptDebugServer::removeListener):
21593 (WebCore::ScriptDebugServer::setBreakpoint):
21594 (WebCore::ScriptDebugServer::removeBreakpoint):
21595 (WebCore::ScriptDebugServer::clearBreakpoints):
21596 (WebCore::ScriptDebugServer::setBreakpointsActivated):
21597 (WebCore::ScriptDebugServer::continueProgram):
21598 (WebCore::ScriptDebugServer::stepIntoStatement):
21599 (WebCore::ScriptDebugServer::stepOverStatement):
21600 (WebCore::ScriptDebugServer::stepOutOfFunction):
21601 (WebCore::ScriptDebugServer::currentCallFrameState):
21602 (WebCore::ScriptDebugServer::currentCallFrameV8):
21603 (WebCore::ScriptDebugServer::onV8DebugMessage):
21604 (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
21605 (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
21606 (WebCore::ScriptDebugServer::handleV8DebugMessage):
21607 (WebCore::ScriptDebugServer::dispatchDidParseSource):
21608 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
21609 (WebCore::ScriptDebugServer::didResume):
21610 * bindings/v8/ScriptDebugServer.h:
21611 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
21612 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
21613 (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
21614 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
21615 (WebCore::InjectedScriptHost::createInjectedScript):
21616 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
21617 (WebCore::V8InjectedScriptHost::isActivationCallback):
21618 * inspector/front-end/InjectedScript.js:
21619 (injectedScriptConstructor):
21620 (injectedScriptConstructor.):
21621 * inspector/front-end/ScriptsPanel.js:
21622 (WebInspector.ScriptsPanel):
21624 2010-04-15 Jian Li <jianli@chromium.org>
21626 Reviewed by Dmitry Titov.
21628 Support using FormData to send a sliced file via XHR.
21629 https://bugs.webkit.org/show_bug.cgi?id=36678
21631 Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
21634 (WebCore::Blob::isFile):
21635 * html/DOMFormData.cpp:
21636 (WebCore::DOMFormData::append):
21638 (WebCore::File::isFile):
21639 * html/FormDataList.h:
21640 (WebCore::FormDataList::appendBlob):
21641 (WebCore::FormDataList::Item::Item):
21642 (WebCore::FormDataList::Item::blob):
21643 * html/HTMLInputElement.cpp:
21644 (WebCore::HTMLInputElement::appendFormData):
21645 * platform/network/FormData.cpp:
21646 (WebCore::FormData::appendDOMFormData):
21647 * platform/network/mac/FormDataStreamMac.mm:
21648 (WebCore::closeCurrentStream):
21650 2010-04-15 Zhenyao Mo <zmo@google.com>
21652 Reviewed by Dimitri Glazkov.
21654 Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
21655 https://bugs.webkit.org/show_bug.cgi?id=37178
21657 Test: fast/canvas/webgl/point-size.html
21659 * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
21660 (WebCore::GraphicsContext3D::GraphicsContext3D):
21662 2010-04-15 Eric Uhrhane <ericu@chromium.org>
21664 Reviewed by Dmitry Titov.
21666 Add bindings for async DB API in Workers.
21667 https://bugs.webkit.org/show_bug.cgi?id=34992
21669 Tests: storage/change-version-handle-reuse-worker.html
21670 storage/execute-sql-args-worker.html
21672 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
21673 (WebCore::JSWorkerContext::openDatabase):
21675 * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
21676 (WebCore::V8WorkerContext::openDatabaseCallback):
21678 Add NoStaticTables flags to all objects now shared with workers.
21679 * storage/Database.idl:
21680 * storage/SQLError.idl:
21681 * storage/SQLResultSet.idl:
21682 * storage/SQLResultSetRowList.idl:
21683 * storage/SQLTransaction.idl:
21685 * workers/WorkerContext.h: Add databaseExceededQuota.
21686 * workers/WorkerContext.cpp:
21687 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
21688 (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
21690 Add the IDL for the call to openDatabase.
21691 * workers/WorkerContext.idl:
21693 2010-04-15 Nicolas Weber <thakis@chromium.org>
21695 Reviewed by Dimitri Glazkov.
21697 Fix drag image thumbnails for indexed images.
21698 https://bugs.webkit.org/show_bug.cgi?id=37621
21700 * platform/chromium/DragImageChromiumMac.cpp:
21701 (WebCore::scaleDragImage): Always use RGB color space.
21702 (WebCore::dissolveDragImageToFraction): Always use RGB color space.
21704 2010-04-15 Adam Roben <aroben@apple.com>
21706 Expose UserContentURLPattern as WebKit SPI
21708 Fixes <http://webkit.org/b/37354>.
21710 Reviewed by Tim Hatcher.
21712 * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
21715 * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
21718 * page/UserContentURLPattern.h:
21719 (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
21720 default constructor.
21721 (WebCore::UserContentURLPattern::isValid): Added this getter.
21723 2010-04-15 Chris Fleizach <cfleizach@apple.com>
21725 Reviewed by Beth Dakin.
21727 AXHelp is being appended from ancestors incorrectly
21728 https://bugs.webkit.org/show_bug.cgi?id=37659
21730 Test: platform/mac/accessibility/unexpected-help-text.html
21732 * accessibility/AccessibilityRenderObject.cpp:
21733 (WebCore::AccessibilityRenderObject::helpText):
21735 2010-04-15 David Hyatt <hyatt@apple.com>
21737 Reviewed by Anders Carlsson.
21739 https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
21742 Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo. The existing model gets
21743 confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
21744 style). I changed the style cache to be a Vector instead.
21746 Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
21747 you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
21749 * css/CSSStyleSelector.cpp:
21750 (WebCore::CSSStyleSelector::styleForElement):
21751 (WebCore::CSSStyleSelector::pseudoStyleForElement):
21753 (WebCore::Element::pseudoStyleCacheIsInvalid):
21754 * rendering/style/RenderStyle.cpp:
21755 (WebCore::RenderStyle::getCachedPseudoStyle):
21756 (WebCore::RenderStyle::addCachedPseudoStyle):
21757 * rendering/style/RenderStyle.h:
21759 (WebCore::InheritedFlags::cachedPseudoStyles):
21761 2010-04-15 Albert J. Wong <ajwong@chromium.org>
21763 Unreviewed, rolling out r57660.
21764 http://trac.webkit.org/changeset/57660
21765 https://bugs.webkit.org/show_bug.cgi?id=37604
21767 Broke a large number of inspector layout tests in chromium.
21769 * bindings/js/JSInjectedScriptHostCustom.cpp:
21770 (WebCore::InjectedScriptHost::createInjectedScript):
21771 * bindings/v8/ScriptDebugServer.cpp:
21772 * bindings/v8/ScriptDebugServer.h:
21773 (WebCore::ScriptDebugServer::addListener):
21774 (WebCore::ScriptDebugServer::removeListener):
21775 (WebCore::ScriptDebugServer::setBreakpoint):
21776 (WebCore::ScriptDebugServer::removeBreakpoint):
21777 (WebCore::ScriptDebugServer::clearBreakpoints):
21778 (WebCore::ScriptDebugServer::setBreakpointsActivated):
21779 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
21780 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
21781 (WebCore::ScriptDebugServer::continueProgram):
21782 (WebCore::ScriptDebugServer::stepIntoStatement):
21783 (WebCore::ScriptDebugServer::stepOverStatement):
21784 (WebCore::ScriptDebugServer::stepOutOfFunction):
21785 (WebCore::ScriptDebugServer::currentCallFrameState):
21786 (WebCore::ScriptDebugServer::ScriptDebugServer):
21787 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
21788 (WebCore::InjectedScriptHost::createInjectedScript):
21789 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
21790 (WebCore::V8InjectedScriptHost::isActivationCallback):
21791 * inspector/front-end/InjectedScript.js:
21792 (injectedScriptConstructor):
21793 * inspector/front-end/ScriptsPanel.js:
21794 (WebInspector.ScriptsPanel):
21796 2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
21798 Reviewed by Dimitri Glazkov.
21800 DatabaseTracker refactoring: remove the dependency on
21801 OriginQuotaManager from DatabaseTracker.h
21802 https://bugs.webkit.org/show_bug.cgi?id=31482
21804 * storage/DatabaseTracker.cpp:
21805 (WebCore::DatabaseTracker::DatabaseTracker):
21806 (WebCore::DatabaseTracker::~DatabaseTracker):
21807 (WebCore::DatabaseTracker::canEstablishDatabase):
21808 (WebCore::DatabaseTracker::hasEntryForOrigin):
21809 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
21810 (WebCore::DatabaseTracker::databaseChanged):
21811 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
21812 (WebCore::DatabaseTracker::fullPathForDatabase):
21813 (WebCore::DatabaseTracker::populateOrigins):
21814 (WebCore::DatabaseTracker::origins):
21815 (WebCore::DatabaseTracker::databaseNamesForOrigin):
21816 (WebCore::DatabaseTracker::addOpenDatabase):
21817 (WebCore::DatabaseTracker::removeOpenDatabase):
21818 (WebCore::DatabaseTracker::usageForOriginNoLock):
21819 (WebCore::DatabaseTracker::usageForOrigin):
21820 (WebCore::DatabaseTracker::quotaForOrigin):
21821 (WebCore::DatabaseTracker::setQuota):
21822 (WebCore::DatabaseTracker::deleteOrigin):
21823 (WebCore::DatabaseTracker::deleteDatabase):
21824 (WebCore::DatabaseTracker::deleteDatabaseFile):
21825 * storage/DatabaseTracker.h:
21826 * storage/SQLTransactionClient.cpp:
21827 (WebCore::SQLTransactionClient::didExecuteStatement):
21829 2010-04-15 Zhenyao Mo <zmo@google.com>
21831 Reviewed by Adam Barth.
21833 Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
21834 This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
21835 https://bugs.webkit.org/show_bug.cgi?id=36908
21837 * platform/graphics/mac/GraphicsContext3DMac.cpp:
21838 (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
21839 (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
21841 2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
21843 Reviewed by Simon Fraser.
21845 Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
21846 https://bugs.webkit.org/show_bug.cgi?id=37635
21848 absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
21849 So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
21851 * page/SpatialNavigation.cpp:
21852 (WebCore::hasOffscreenRect):
21854 2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
21856 Reviewed by Simon Fraser.
21858 Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
21859 https://bugs.webkit.org/show_bug.cgi?id=37634
21861 This assignment line is not longer needed after r57061, bug that refactored all
21862 assignment logic to happen lines below in the method.
21864 * page/FocusController.cpp:
21865 (WebCore::updateFocusCandidateIfCloser):
21867 2010-04-15 Yury Semikhatsky <yurys@google.com>
21869 Reviewed by Pavel Feldman.
21871 Support basic debugging capabilities including step in/over/out in v8
21872 implementation of ScriptDebugServer.
21874 https://bugs.webkit.org/show_bug.cgi?id=37604
21876 * bindings/js/JSInjectedScriptHostCustom.cpp:
21877 (WebCore::InjectedScriptHost::createInjectedScript):
21878 * bindings/v8/ScriptDebugServer.cpp:
21879 (WebCore::ScriptDebugServer::ScriptDebugServer):
21880 (WebCore::ScriptDebugServer::setDebuggerScriptSource):
21881 (WebCore::ScriptDebugServer::addListener):
21882 (WebCore::ScriptDebugServer::removeListener):
21883 (WebCore::ScriptDebugServer::setBreakpoint):
21884 (WebCore::ScriptDebugServer::removeBreakpoint):
21885 (WebCore::ScriptDebugServer::clearBreakpoints):
21886 (WebCore::ScriptDebugServer::setBreakpointsActivated):
21887 (WebCore::ScriptDebugServer::continueProgram):
21888 (WebCore::ScriptDebugServer::stepIntoStatement):
21889 (WebCore::ScriptDebugServer::stepOverStatement):
21890 (WebCore::ScriptDebugServer::stepOutOfFunction):
21891 (WebCore::ScriptDebugServer::currentCallFrameState):
21892 (WebCore::ScriptDebugServer::currentCallFrameV8):
21893 (WebCore::ScriptDebugServer::onV8DebugMessage):
21894 (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
21895 (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
21896 (WebCore::ScriptDebugServer::handleV8DebugMessage):
21897 (WebCore::ScriptDebugServer::dispatchDidParseSource):
21898 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
21899 (WebCore::ScriptDebugServer::didResume):
21900 * bindings/v8/ScriptDebugServer.h:
21901 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
21902 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
21903 (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
21904 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
21905 (WebCore::InjectedScriptHost::createInjectedScript):
21906 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
21907 (WebCore::V8InjectedScriptHost::isActivationCallback):
21908 * inspector/front-end/InjectedScript.js:
21909 (injectedScriptConstructor):
21910 (injectedScriptConstructor.):
21911 * inspector/front-end/ScriptsPanel.js:
21912 (WebInspector.ScriptsPanel):
21914 2010-04-15 Nikolas Zimmermann <nzimmermann@rim.com>
21916 Reviewed by Beth Dakin.
21918 RenderSVGResource <-> id mapping should be cached
21919 https://bugs.webkit.org/show_bug.cgi?id=37575
21921 Test: svg/custom/clip-path-id-changes.svg
21923 * rendering/RenderSVGResource.h:
21924 (WebCore::RenderSVGResource::RenderSVGResource):
21925 (WebCore::RenderSVGResource::~RenderSVGResource):
21926 (WebCore::RenderSVGResource::idChanged):
21927 (WebCore::getRenderSVGResourceById):
21928 * svg/SVGDocumentExtensions.cpp:
21929 (WebCore::SVGDocumentExtensions::addResource):
21930 (WebCore::SVGDocumentExtensions::removeResource):
21931 (WebCore::SVGDocumentExtensions::resourceById):
21932 * svg/SVGDocumentExtensions.h:
21933 * svg/SVGStyledElement.cpp:
21934 (WebCore::SVGStyledElement::svgAttributeChanged):
21936 2010-04-15 Justin Schuh <jschuh@chromium.org>
21938 Reviewed by Dimitri Glazkov.
21940 LayoutTest breakage in V8 bindings after r57627
21941 https://bugs.webkit.org/show_bug.cgi?id=37660
21943 Fixes breakage of the following tests due to an error in V8 bindings for
21945 hc_namednodemapinuseattributeerr.html
21946 hc_namednodemapsetnameditemreturnvalue.html
21947 hc_namednodemapwrongdocumenterr.html
21948 hc_namednodemapinvalidtype1.html
21949 NamedNodeMap-setNamedItem-crash.html
21951 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
21952 (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
21953 (WebCore::V8NamedNodeMap::setNamedItemCallback):
21955 2010-04-15 David Hyatt <hyatt@apple.com>
21957 Reviewed by Anders Carlsson.
21959 https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color. Make sure
21960 that the pseudo style caching allows visited link styles to hang off other pseudo styles.
21962 * rendering/RenderBlock.cpp:
21963 (WebCore::RenderBlock::updateFirstLetter):
21964 * rendering/style/RenderStyle.cpp:
21965 (WebCore::RenderStyle::getCachedPseudoStyle):
21967 2010-04-15 Ben Murdoch <benm@google.com>
21969 Unreviewed, rolling out r57652.
21970 http://trac.webkit.org/changeset/57652
21971 https://bugs.webkit.org/show_bug.cgi?id=37609
21973 Caused a build break on Chromium Mac and Layout Test fail on
21976 * platform/PlatformTouchPoint.h:
21977 (WebCore::PlatformTouchPoint::):
21978 * platform/qt/PlatformTouchPointQt.cpp:
21979 (WebCore::PlatformTouchPoint::PlatformTouchPoint):
21981 2010-04-15 Yaar Schnitman <yaar@chromium.org>
21983 Reviewed by Nate Chapin.
21985 Overloads auto-generation in V8
21986 https://bugs.webkit.org/show_bug.cgi?id=37373
21988 This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments.
21990 Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments).
21992 * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
21993 * bindings/v8/test/TestObj.idl: Overloads sample.
21994 * bindings/v8/test/V8TestObj.cpp: Output change.
21996 2010-04-15 Ben Murdoch <benm@google.com>
21998 Reviewed by Kenneth Rohde Christiansen.
22000 The TouchStationary state of WebCore::PlatformTouchPoint
22001 is not handled inside the touch event handler.
22002 https://bugs.webkit.org/show_bug.cgi?id=37609
22004 After discussions at the WebKit contributors meeting, we decided
22005 that this is a currently unused state without a good future use
22006 case in the Touch API and thus decided to remove it. This patch
22007 actions that decision.
22009 As the TouchStationary state is not handled in the EventHandler,
22010 there is no change in functionality so no new tests are required.
22012 * platform/PlatformTouchPoint.h:
22013 (WebCore::PlatformTouchPoint::): Remove TouchStationary.
22014 * platform/qt/PlatformTouchPointQt.cpp:
22015 (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
22017 2010-04-15 Steve Falkenburg <sfalken@apple.com>
22019 Reviewed by Adam Roben.
22021 Use a lower-overhead mechanism for plug-in message throttling
22022 https://bugs.webkit.org/show_bug.cgi?id=37642
22023 <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
22025 GMail has an instance of Flash that loads on the main mail page.
22026 This Flash content sends us a constant stream of WM_USER+1 messsages.
22028 There was already code in PluginMessageThrottlerWin to queue and process these
22029 excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
22030 problems with this code:
22032 - The timer used to process the excess messages had a very low timeout (1ms).
22033 Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
22034 while still maintaining good Flash frame rate.
22036 - The overhead involved in generating a constant stream of 5ms timers still swamped
22037 the CPU, resulting in continued high CPU utilization.
22039 To fix this, I changed the throttling code to:
22041 - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
22042 This allows us to avoid the overhead of a timer.
22044 - Process remaining delayed WM_USER+1 messages on a 16ms timer.
22046 This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
22047 I also verified the frame rate for Flash content wasn't reduced with this change.
22049 * plugins/win/PluginMessageThrottlerWin.cpp:
22050 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
22051 (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
22052 (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
22053 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
22054 * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
22056 2010-04-15 Shinichiro Hamaji <hamaji@chromium.org>
22058 Reviewed by David Levin.
22060 LEAK: in ThreadableWebSocketChannel::create()
22061 https://bugs.webkit.org/show_bug.cgi?id=37584
22063 No new tests because this change just fixes a leak.
22065 * websockets/WorkerThreadableWebSocketChannel.cpp:
22066 (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
22067 * websockets/WorkerThreadableWebSocketChannel.h:
22068 (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
22070 2010-04-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
22072 Reviewed by Eric Seidel.
22074 Duplicated patches related to wml were pushed to trunk. So, one of
22075 the patches should be reverted.
22076 https://bugs.webkit.org/show_bug.cgi?id=37542
22078 * wml/WMLOptionElement.h:
22079 * wml/WMLSelectElement.h:
22081 2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com>
22083 Reviewed by Kenneth Rohde Christiansen.
22085 [Qt] Null QObjects properties cause Segmentation Fault
22086 https://bugs.webkit.org/show_bug.cgi?id=34730
22088 QObjects exported to the QWebkit javascript with properties that are
22089 a null "QObject*" cause Segmentation Fault.
22091 If an QObject is added to the javascript context and it contains
22092 properties of the type QObject* with NULL value, calling the property
22093 causes Segmentation Fault.
22094 So now the code below properly checks for null pointers:
22096 * bridge/qt/qt_instance.cpp:
22097 (JSC::Bindings::QtInstance::getClass): may return NULL
22098 (JSC::Bindings::QtInstance::getMethod): may return jsNull()
22099 (JSC::Bindings::QtInstance::stringValue): may return jsNull()
22100 (JSC::Bindings::QtInstance::booleanValue): may return false
22101 * bridge/qt/qt_runtime.cpp:
22102 (JSC::Bindings::convertValueToQVariant):
22103 (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
22105 2010-04-14 Simon Fraser <simon.fraser@apple.com>
22107 Reviewed by Dan Bernstein.
22109 Repaint of fixed, transformed element is broken
22110 https://bugs.webkit.org/show_bug.cgi?id=37637
22112 RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
22113 for elements that had both fixed position and a transform. If the element has
22114 a transform, 'fixed' should only remain true if the element itself is fixed
22117 Also cache style()->position() in a local variable for performance.
22119 Test: fast/repaint/fixed-tranformed.html
22121 * rendering/RenderBox.cpp:
22122 (WebCore::RenderBox::computeRectForRepaint):
22124 2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
22126 Reviewed by Kenneth Rohde Christiansen.
22128 Changing view mode names due to specification changes
22129 https://bugs.webkit.org/show_bug.cgi?id=37615
22131 test: fast/media/media-feature-wgt-view-mode.html
22133 specification: http://dev.w3.org/2006/waf/widgets-vmmf/
22135 * css/MediaQueryEvaluator.cpp:
22136 (WebCore::view_modeMediaFeatureEval):
22137 * page/ChromeClient.h:
22138 (WebCore::ChromeClient::isWindowed):
22139 (WebCore::ChromeClient::isMaximized):
22140 (WebCore::ChromeClient::isMinimized):
22142 2010-04-14 Adam Barth <abarth@webkit.org>
22144 Unreviewed attempt to fix Qt build.
22146 * bindings/js/JSNodeCustom.cpp:
22148 2010-04-14 Justin Schuh <jschuh@chromium.org>
22150 Reviewed by Adam Barth.
22152 Javascript URL can be set as iframe.src via multiple DOM aliases
22153 https://bugs.webkit.org/show_bug.cgi?id=37031
22155 Moved frame/iframe checks from Attr to Node on inherited members.
22156 Node child manipulation methods now return NOT_SUPPORTED_ERR if used
22157 on a frame/iframe src attribute.
22158 NamedNodeMap set methods now perform frame/iframe src checks.
22159 Moved allowSettingSrcToJavascriptURL static helper function from
22160 JSElementCustom.cpp to exported function in JSDOMBinding.h.
22162 * bindings/js/JSAttrCustom.cpp:
22163 (WebCore::JSAttr::setValue):
22164 * bindings/js/JSDOMBinding.cpp:
22165 (WebCore::allowSettingSrcToJavascriptURL):
22166 * bindings/js/JSDOMBinding.h:
22167 * bindings/js/JSElementCustom.cpp:
22168 * bindings/js/JSNamedNodeMapCustom.cpp:
22169 (WebCore::JSNamedNodeMap::setNamedItem):
22170 (WebCore::JSNamedNodeMap::setNamedItemNS):
22171 * bindings/js/JSNodeCustom.cpp:
22172 (WebCore::isAttrFrameSrc):
22173 (WebCore::JSNode::setNodeValue):
22174 (WebCore::JSNode::setTextContent):
22175 (WebCore::JSNode::insertBefore):
22176 (WebCore::JSNode::replaceChild):
22177 (WebCore::JSNode::removeChild):
22178 (WebCore::JSNode::appendChild):
22179 * bindings/v8/custom/V8AttrCustom.cpp:
22180 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
22181 (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
22182 (WebCore::V8NamedNodeMap::setNamedItemCallback):
22184 * bindings/v8/custom/V8NodeCustom.cpp:
22185 (WebCore::isFrameSrc):
22186 (WebCore::V8Node::textContentAccessorSetter):
22187 (WebCore::V8Node::nodeValueAccessorSetter):
22188 (WebCore::V8Node::insertBeforeCallback):
22189 (WebCore::V8Node::replaceChildCallback):
22190 (WebCore::V8Node::removeChildCallback):
22191 (WebCore::V8Node::appendChildCallback):
22193 * dom/NamedNodeMap.idl:
22196 2010-04-14 Alejandro G. Castro <alex@igalia.com>
22198 Reviewed by Xan Lopez.
22200 We have to check if the resource handler is cancelled before
22201 checking the client, other case it could crash.
22203 * platform/network/soup/ResourceHandleSoup.cpp:
22204 (WebCore::parseDataUrl):
22206 2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
22208 Unreviewed, rolling out r57609.
22209 http://trac.webkit.org/changeset/57609
22210 https://bugs.webkit.org/show_bug.cgi?id=37614
22212 "Broke multiple builders. Probably needs new test results,
22213 but may be an Inspector bug." (Requested by eseidel on
22216 * inspector/InspectorController.cpp:
22217 (WebCore::InspectorController::didReceiveResponse):
22218 (WebCore::InspectorController::didFailLoading):
22219 * inspector/front-end/Resource.js:
22220 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
22221 * inspector/front-end/ResourcesPanel.js:
22222 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
22224 2010-04-14 Steve Falkenburg <sfalken@apple.com>
22226 Reviewed by Dan Bernstein.
22228 Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
22229 https://bugs.webkit.org/show_bug.cgi?id=37599
22231 * platform/graphics/win/FontCacheWin.cpp:
22232 (WebCore::fontDataFromDescriptionAndLogFont):
22233 (WebCore::FontCache::getLastResortFallbackFont):
22235 2010-04-14 Andrey Kosyakov <caseq@chromium.ru>
22237 Reviewed by Timothy Hatcher.
22239 Log error message to inspector console if a resource fails to load.
22240 Disable checking of mime-type consistency for failed resources.
22241 https://bugs.webkit.org/show_bug.cgi?id=37215
22243 Test: inspector/console-resource-errors.html
22245 * inspector/InspectorController.cpp:
22246 (WebCore::InspectorController::didReceiveResponse):
22247 (WebCore::InspectorController::didFailLoading):
22248 * inspector/front-end/Resource.js:
22249 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
22250 * inspector/front-end/ResourcesPanel.js:
22251 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
22253 2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
22255 Unreviewed, rolling out r57599.
22256 http://trac.webkit.org/changeset/57599
22257 https://bugs.webkit.org/show_bug.cgi?id=37605
22259 "Broke Chromium build" (Requested by dglazkov on #webkit).
22261 * platform/chromium/PopupMenuChromium.cpp:
22262 (WebCore::PopupContainer::PopupContainer):
22263 (WebCore::PopupContainer::showPopup):
22264 (WebCore::PopupContainer::notifyPopupHidden):
22265 * platform/chromium/PopupMenuChromium.h:
22267 2010-04-14 Aaron Boodman <aa@chromium.org>
22269 Reviewed by David Levin.
22271 Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
22272 the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
22273 unsupported. Fixed by resolving the relative URL first.
22275 https://bugs.webkit.org/show_bug.cgi?id=36623
22277 Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
22279 * notifications/Notification.cpp:
22280 (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
22281 * notifications/Notification.h:
22282 (WebCore::Notification::create): Ditto.
22283 (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
22284 * notifications/NotificationCenter.h:
22285 (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
22286 (WebCore::NotificationCenter::createNotification): Ditto.
22287 * notifications/NotificationContents.h:
22288 (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
22289 (WebCore::NotificationContents::icon): Return resolved URL.
22291 2010-04-14 Anders Carlsson <andersca@apple.com>
22293 Reviewed by Sam Weinig.
22295 Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
22296 https://bugs.webkit.org/show_bug.cgi?id=37601
22298 * platform/mac/ThemeMac.h:
22299 * platform/mac/ThemeMac.mm:
22300 (-[WebCoreFlippedView isFlipped]):
22301 (WebCore::paintButton):
22302 (WebCore::ThemeMac::ensuredView):
22304 2010-04-14 Jay Civelli <jcivelli@chromium.org>
22306 Reviewed by Dimitri Glazkov.
22308 [chromium] Select popups would assert when destroyed.
22309 https://bugs.webkit.org/show_bug.cgi?id=37436
22311 * platform/chromium/PopupMenuChromium.cpp:
22312 (WebCore::PopupContainer::PopupContainer):
22313 (WebCore::PopupContainer::showPopup):
22314 (WebCore::PopupContainer::notifyPopupHidden):
22315 * platform/chromium/PopupMenuChromium.h:
22318 2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
22320 Reviewed by Jian Li.
22322 Remove an incorrect ASSERT in UniscribeHelper::draw().
22323 https://bugs.webkit.org/show_bug.cgi?id=37533
22325 * platform/graphics/chromium/UniscribeHelper.cpp:
22326 (WebCore::UniscribeHelper::draw):
22328 2010-04-14 Pavel Feldman <pfeldman@chromium.org>
22330 Reviewed by Timothy Hatcher.
22332 Web Inspector: readline shortcuts don't work in Chromium.
22334 * inspector/front-end/TextPrompt.js:
22335 (WebInspector.TextPrompt.prototype._onKeyDown):
22336 (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
22338 2010-04-14 Alexander Pavlov <apavlov@chromium.org>
22340 Reviewed by Timothy Hatcher.
22342 Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
22343 https://bugs.webkit.org/show_bug.cgi?id=37582
22345 * inspector/front-end/TextPrompt.js:
22346 (WebInspector.TextPrompt.prototype.complete):
22347 (WebInspector.TextPrompt.prototype._completionsReady):
22348 (WebInspector.TextPrompt.prototype._tabKeyPressed):
22350 2010-04-14 Jeff Schiller <codedread@gmail.com>
22352 Reviewed by Dirk Schulze.
22354 Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
22356 * svg/SVGParserUtilities.cpp:
22357 (WebCore::SVGPathSegListBuilder::build):
22359 2010-04-14 Alexander Pavlov <apavlov@chromium.org>
22361 Reviewed by Joseph Pecoraro.
22363 Web Inspector: Ctrl-L (Clear History) does nothing on Windows
22364 https://bugs.webkit.org/show_bug.cgi?id=37579
22366 * inspector/front-end/ConsoleView.js:
22367 (WebInspector.ConsoleView):
22369 2010-04-14 Anton Muhin <antonm@chromium.org>
22371 Not review, build fix.
22373 Add <limits.h> include to bring UINT_MAX.
22375 * html/canvas/WebGLArray.h:
22377 2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
22379 Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
22381 * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
22383 2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
22385 Reviewed by Dirk Schulze.
22387 SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
22388 https://bugs.webkit.org/show_bug.cgi?id=37568
22390 Cleanup SVGRenderStyle / SVGRenderStyleDefs:
22391 - use copy constructors in initialization list to initialize members, instead of assignment operators in the body
22392 - fix style issues (misplaced references, abbrevations)
22393 - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData
22394 - move filter property in StyleResourceData
22395 - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData
22396 - unify naming schemes for all resources (filter/clipper/masker/markers)
22397 - clipPath() -> clipperResource()
22398 - maskElement() -> maskerResource()
22399 - startMarker() -> markerStartResource()
22400 - midMarker() -> markerMidResource()
22401 - endMarker() -> markerEndResource()
22402 - filter() -> filterResource()
22404 Adapt all callsites to the renames above.
22405 No new tests, as this doesn't affect anything except memory overhead.
22407 * css/SVGCSSComputedStyleDeclaration.cpp:
22408 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
22409 * css/SVGCSSStyleSelector.cpp:
22410 (WebCore::CSSStyleSelector::applySVGProperty):
22411 * rendering/RenderPath.cpp:
22412 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
22413 * rendering/RenderSVGContainer.cpp:
22414 (WebCore::RenderSVGContainer::selfWillPaint):
22415 * rendering/RenderSVGRoot.cpp:
22416 (WebCore::RenderSVGRoot::selfWillPaint):
22417 * rendering/SVGRenderSupport.cpp:
22418 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
22419 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
22420 (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
22421 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
22422 (WebCore::deregisterFromResources):
22423 * rendering/SVGRenderTreeAsText.cpp:
22424 (WebCore::writeStyle):
22425 (WebCore::writeResources):
22426 * rendering/style/SVGRenderStyle.cpp:
22427 (WebCore::SVGRenderStyle::SVGRenderStyle):
22428 (WebCore::SVGRenderStyle::operator==):
22429 (WebCore::SVGRenderStyle::inheritedNotEqual):
22430 (WebCore::SVGRenderStyle::inheritFrom):
22431 * rendering/style/SVGRenderStyle.h:
22432 * rendering/style/SVGRenderStyleDefs.cpp:
22433 (WebCore::StyleFillData::StyleFillData):
22434 (WebCore::StyleFillData::operator==):
22435 (WebCore::StyleStrokeData::StyleStrokeData):
22436 (WebCore::StyleStrokeData::operator==):
22437 (WebCore::StyleStopData::StyleStopData):
22438 (WebCore::StyleStopData::operator==):
22439 (WebCore::StyleTextData::StyleTextData):
22440 (WebCore::StyleMiscData::StyleMiscData):
22441 (WebCore::StyleMiscData::operator==):
22442 (WebCore::StyleShadowSVGData::StyleShadowSVGData):
22443 (WebCore::StyleShadowSVGData::operator==):
22444 (WebCore::StyleResourceData::StyleResourceData):
22445 (WebCore::StyleResourceData::operator==):
22446 (WebCore::StyleInheritedResourceData::StyleInheritedResourceData):
22447 (WebCore::StyleInheritedResourceData::operator==):
22448 * rendering/style/SVGRenderStyleDefs.h:
22449 (WebCore::StyleFillData::operator!=):
22450 (WebCore::StyleStopData::operator!=):
22451 (WebCore::StyleMiscData::create):
22452 (WebCore::StyleMiscData::copy):
22453 (WebCore::StyleMiscData::operator!=):
22454 (WebCore::StyleShadowSVGData::create):
22455 (WebCore::StyleShadowSVGData::copy):
22456 (WebCore::StyleShadowSVGData::operator!=):
22457 (WebCore::StyleResourceData::create):
22458 (WebCore::StyleResourceData::copy):
22459 (WebCore::StyleResourceData::operator!=):
22460 (WebCore::StyleInheritedResourceData::create):
22461 (WebCore::StyleInheritedResourceData::copy):
22462 (WebCore::StyleInheritedResourceData::operator!=):
22463 * svg/SVGDocumentExtensions.cpp:
22464 (WebCore::SVGDocumentExtensions::addResource):
22465 (WebCore::SVGDocumentExtensions::removeResource):
22466 * svg/SVGDocumentExtensions.h:
22467 * svg/SVGStyledElement.cpp:
22468 (WebCore::SVGStyledElement::invalidateResources):
22470 2010-04-14 Zhenyao Mo <zmo@google.com>
22472 Reviewed by Dimitri Glazkov.
22474 readPixels must take PACK_ALIGNMENT into account
22475 https://bugs.webkit.org/show_bug.cgi?id=34718
22477 Test: fast/canvas/webgl/read-pixels.html
22479 * html/canvas/WebGLRenderingContext.cpp:
22480 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment.
22481 (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment.
22482 (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment.
22483 * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment.
22484 * platform/graphics/GraphicsContext3D.h: Refactor readPixels.
22485 * platform/graphics/mac/GraphicsContext3DMac.cpp:
22486 (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels.
22488 2010-04-13 Dirk Schulze <krit@webkit.org>
22490 Reviewed by Eric Seidel.
22492 REGRESSION(r57511): many new graphics / svg related leaks
22493 https://bugs.webkit.org/show_bug.cgi?id=37527
22495 The content of a HashMap was not correctly deleted. Fixed this
22496 in the DTor and in invalidateClient of RenderSVGResourceClipper.
22498 * rendering/RenderSVGResourceClipper.cpp:
22499 (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
22500 (WebCore::RenderSVGResourceClipper::invalidateClient):
22502 2010-04-13 Zhenyao Mo <zmo@google.com>
22504 Reviewed by Oliver Hunt.
22506 Fix a potential integer overflow in WebGL*Array::slice()
22507 https://bugs.webkit.org/show_bug.cgi?id=37466
22509 * html/canvas/WebGLArray.h:
22510 (WebCore::WebGLArray::clampOffsetAndNumElements): Input parameter "offset"'s semantic changed from in bytes from buffer to in elements from array view; calculate offset in bytes from buffer inside the function, avoiding overflow.
22511 * html/canvas/WebGLByteArray.cpp:
22512 (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements.
22513 * html/canvas/WebGLFloatArray.cpp:
22514 (WebCore::WebGLFloatArray::slice): Ditto.
22515 * html/canvas/WebGLIntArray.cpp:
22516 (WebCore::WebGLIntArray::slice): Ditto.
22517 * html/canvas/WebGLShortArray.cpp:
22518 (WebCore::WebGLShortArray::slice): Ditto.
22519 * html/canvas/WebGLUnsignedByteArray.cpp:
22520 (WebCore::WebGLUnsignedByteArray::slice): Ditto.
22521 * html/canvas/WebGLUnsignedIntArray.cpp:
22522 (WebCore::WebGLUnsignedIntArray::slice): Ditto.
22523 * html/canvas/WebGLUnsignedShortArray.cpp:
22524 (WebCore::WebGLUnsignedShortArray::slice): Ditto.
22526 2010-04-13 Darin Fisher <darin@chromium.org>
22528 Reviewed by Brady Eidson.
22530 If the browsing context's session history contains only one Document,
22531 and that was the about:blank Document created when the browsing context
22532 was created, then the navigation must be done with replacement enabled.
22534 https://bugs.webkit.org/show_bug.cgi?id=37126
22536 Tests: fast/loader/frame-location-change-not-added-to-history.html
22537 fast/loader/frame-src-change-not-added-to-history.html
22539 * loader/FrameLoader.cpp:
22540 (WebCore::FrameLoader::clientRedirected):
22541 (WebCore::FrameLoader::findFrameForNavigation):
22542 * loader/HistoryController.cpp:
22543 (WebCore::HistoryController::currentItemShouldBeReplaced):
22544 * loader/HistoryController.h:
22546 2010-04-13 Geoffrey Garen <ggaren@apple.com>
22548 Reviewed by Oliver Hunt.
22550 Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
22551 its own lifetime, so a DOMWrapperWorld's controller can throw away
22552 its wrappers even before its refcount reaches 0.
22554 * WebCore.base.exp:
22555 * bindings/js/DOMWrapperWorld.cpp:
22556 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
22557 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
22558 (WebCore::DOMWrapperWorld::registerWorld):
22559 (WebCore::DOMWrapperWorld::unregisterWorld):
22560 * bindings/js/DOMWrapperWorld.h: Factored out DOMWrapperWorld registration
22561 and unregistration into helper functions, so unregistering could be done manually.
22563 * bindings/js/ScriptController.cpp:
22564 (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match
22567 2010-04-13 Chang Shu <chang.shu@nokia.com>
22569 Reviewed by Darin Fisher.
22571 https://bugs.webkit.org/show_bug.cgi?id=34653
22573 Based on W3C spec and Firefox behavior, while invoking XHR Send with parameter
22574 as String, the charset in Content-Type should be forced to set to UTF-8.
22576 Test: http/tests/xmlhttprequest/request-encoding2.html
22578 * platform/network/HTTPParsers.cpp:
22579 (WebCore::extractCharsetFromMediaType):
22580 (WebCore::findCharsetInMediaType):
22581 * platform/network/HTTPParsers.h:
22582 * xml/XMLHttpRequest.cpp:
22583 (WebCore::setCharsetInMediaType):
22584 (WebCore::XMLHttpRequest::send):
22586 2010-04-12 Timothy Hatcher <timothy@apple.com>
22588 SecurityOrigin needs a way to remove individual OriginAccessEntries
22589 https://bugs.webkit.org/show_bug.cgi?id=37449
22591 Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html
22593 Reviewed by Dave Hyatt.
22595 * WebCore.base.exp: Added SecurityOrigin::removeOriginAccessWhitelistEntry.
22596 * page/OriginAccessEntry.h:
22597 (WebCore::OriginAccessEntry::protocol): Added. Returns m_protocol.
22598 (WebCore::OriginAccessEntry::host): Added. Returns m_host.
22599 (WebCore::OriginAccessEntry::subdomainSettings): Added. Returns m_subdomainSettings.
22600 (WebCore::operator==): Added. Compares OriginAccessEntry.
22601 (WebCore::operator!=): Ditto.
22602 * page/SecurityOrigin.cpp:
22603 (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): Use the add method to prevent a
22604 second hash lookup.
22605 (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry): Added. Find a matching
22606 OriginAccessEntry and remove it.
22607 * page/SecurityOrigin.h: Added removeOriginAccessWhitelistEntry.
22609 2010-04-13 Timothy Hatcher <timothy@apple.com>
22611 Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
22612 And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
22614 SecurityOrigin needs a way to remove individual OriginAccessEntries
22615 https://bugs.webkit.org/show_bug.cgi?id=37449
22617 Reviewed by Dave Hyatt.
22619 * WebCore.base.exp:
22620 * page/SecurityOrigin.cpp:
22621 (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
22622 (WebCore::SecurityOrigin::resetOriginAccessWhitelists):
22623 * page/SecurityOrigin.h:
22625 2010-04-13 Geoffrey Garen <ggaren@apple.com>
22627 Reviewed by Mark Rowe.
22629 Tidied up some more DOMWrapperWorld lifetime issues.
22631 Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them.
22633 * bindings/js/DOMWrapperWorld.cpp:
22634 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
22635 * bindings/js/DOMWrapperWorld.h:
22636 (WebCore::DOMWrapperWorld::didCreateWindowShell):
22637 (WebCore::DOMWrapperWorld::didDestroyWindowShell): Functionality for
22638 tracking window shells that reference a given DOMWrapperWorld.
22640 * bindings/js/ScriptController.cpp:
22641 (WebCore::ScriptController::~ScriptController):
22642 (WebCore::ScriptController::destroyWindowShell):
22643 (WebCore::ScriptController::createWindowShell):
22644 (WebCore::ScriptController::clearWindowShell):
22645 (WebCore::ScriptController::initScript):
22646 * bindings/js/ScriptController.h: Refactored to update a DOMWrapperWorld
22647 when adding or removing a JSDOMWindowShell.
22649 * dom/Document.cpp:
22650 (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(),
22651 which is slightly faster and simpler than iterator comparison.
22653 2010-04-13 Dumitru Daniliuc <dumi@chromium.org>
22655 Reviewed by Adam Barth.
22657 Make all HTML5 DB callbacks run in the correct context.
22658 https://bugs.webkit.org/show_bug.cgi?id=27698
22660 Tests: storage/statement-error-callback-isolated-world.html
22661 storage/statement-success-callback-isolated-world.html
22662 storage/transaction-callback-isolated-world.html
22663 storage/transaction-error-callback-isolated-world.html
22665 * bindings/js/JSCustomSQLStatementCallback.cpp:
22666 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
22667 (WebCore::JSCustomSQLStatementCallback::handleEvent):
22668 * bindings/js/JSCustomSQLStatementCallback.h:
22669 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22670 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
22671 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22672 * bindings/js/JSCustomSQLStatementErrorCallback.h:
22673 * bindings/js/JSCustomSQLTransactionCallback.cpp:
22674 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
22675 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22676 * bindings/js/JSCustomSQLTransactionCallback.h:
22677 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22678 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
22679 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22680 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
22681 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
22682 (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
22683 (WebCore::V8CustomSQLStatementCallback::handleEvent):
22684 * bindings/v8/custom/V8CustomSQLStatementCallback.h:
22685 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
22686 (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
22687 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
22688 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
22689 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
22690 (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
22691 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
22692 * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
22693 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
22694 (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
22695 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
22696 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
22697 * storage/SQLStatement.cpp:
22698 (WebCore::SQLStatement::performCallback):
22699 * storage/SQLStatementCallback.h:
22700 * storage/SQLStatementErrorCallback.h:
22701 * storage/SQLTransaction.cpp:
22702 (WebCore::SQLTransaction::deliverTransactionCallback):
22703 (WebCore::SQLTransaction::deliverTransactionErrorCallback):
22704 * storage/SQLTransactionCallback.h:
22705 * storage/SQLTransactionErrorCallback.h:
22706 (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
22708 2010-04-13 Mikhail Naganov <mnaganov@chromium.org>
22710 Reviewed by Pavel Feldman.
22712 Fix search behavior in Profiles tab.
22714 https://bugs.webkit.org/show_bug.cgi?id=37498
22716 * inspector/front-end/ProfileView.js:
22717 (WebInspector.CPUProfileView.profileCallback):
22718 (WebInspector.CPUProfileView):
22720 2010-04-13 David Hyatt <hyatt@apple.com>
22722 Reviewed by Oliver Hunt.
22724 https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it.
22726 * rendering/style/RenderStyle.cpp:
22727 (WebCore::RenderStyle::RenderStyle):
22728 (WebCore::RenderStyle::operator==):
22729 (WebCore::RenderStyle::diff):
22730 * rendering/style/RenderStyle.h:
22732 (WebCore::InheritedFlags::width):
22733 (WebCore::InheritedFlags::height):
22734 (WebCore::InheritedFlags::minWidth):
22735 (WebCore::InheritedFlags::maxWidth):
22736 (WebCore::InheritedFlags::minHeight):
22737 (WebCore::InheritedFlags::maxHeight):
22738 (WebCore::InheritedFlags::verticalAlignLength):
22739 (WebCore::InheritedFlags::boxSizing):
22740 (WebCore::InheritedFlags::setWidth):
22741 (WebCore::InheritedFlags::setHeight):
22742 (WebCore::InheritedFlags::setMinWidth):
22743 (WebCore::InheritedFlags::setMaxWidth):
22744 (WebCore::InheritedFlags::setMinHeight):
22745 (WebCore::InheritedFlags::setMaxHeight):
22746 (WebCore::InheritedFlags::setVerticalAlignLength):
22747 (WebCore::InheritedFlags::hasAutoZIndex):
22748 (WebCore::InheritedFlags::setHasAutoZIndex):
22749 (WebCore::InheritedFlags::zIndex):
22750 (WebCore::InheritedFlags::setZIndex):
22751 (WebCore::InheritedFlags::setBoxSizing):
22752 * rendering/style/StyleBoxData.cpp:
22753 (WebCore::StyleBoxData::StyleBoxData):
22754 (WebCore::StyleBoxData::operator==):
22755 * rendering/style/StyleBoxData.h:
22756 (WebCore::StyleBoxData::width):
22757 (WebCore::StyleBoxData::height):
22758 (WebCore::StyleBoxData::minWidth):
22759 (WebCore::StyleBoxData::minHeight):
22760 (WebCore::StyleBoxData::maxWidth):
22761 (WebCore::StyleBoxData::maxHeight):
22762 (WebCore::StyleBoxData::verticalAlign):
22763 (WebCore::StyleBoxData::zIndex):
22764 (WebCore::StyleBoxData::hasAutoZIndex):
22765 (WebCore::StyleBoxData::boxSizing):
22767 2010-04-12 yael aharon <yael.aharon@nokia.com>
22769 Reviewed by Tor Arne Vestbo.
22771 Minor fix to pass RenderProgress instead of RenderObject
22772 https://bugs.webkit.org/show_bug.cgi?id=37481
22774 * accessibility/AXObjectCache.cpp:
22775 (WebCore::AXObjectCache::getOrCreate):
22776 * accessibility/AccessibilityProgressIndicator.cpp:
22777 (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
22778 (WebCore::AccessibilityProgressIndicator::create):
22779 * accessibility/AccessibilityProgressIndicator.h:
22781 2010-04-13 David Hyatt <hyatt@apple.com>
22783 Reviewed by Oliver Hunt.
22785 https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData
22787 * rendering/style/RenderStyle.cpp:
22788 (WebCore::RenderStyle::RenderStyle):
22789 (WebCore::RenderStyle::operator==):
22790 (WebCore::RenderStyle::diff):
22791 * rendering/style/RenderStyle.h:
22793 (WebCore::InheritedFlags::hasBackground):
22794 (WebCore::InheritedFlags::hasBackgroundImage):
22795 (WebCore::InheritedFlags::hasFixedBackgroundImage):
22796 (WebCore::InheritedFlags::outlineWidth):
22797 (WebCore::InheritedFlags::outlineStyle):
22798 (WebCore::InheritedFlags::outlineStyleIsAuto):
22799 (WebCore::InheritedFlags::outlineColor):
22800 (WebCore::InheritedFlags::backgroundColor):
22801 (WebCore::InheritedFlags::backgroundImage):
22802 (WebCore::InheritedFlags::backgroundRepeatX):
22803 (WebCore::InheritedFlags::backgroundRepeatY):
22804 (WebCore::InheritedFlags::backgroundComposite):
22805 (WebCore::InheritedFlags::backgroundAttachment):
22806 (WebCore::InheritedFlags::backgroundClip):
22807 (WebCore::InheritedFlags::backgroundOrigin):
22808 (WebCore::InheritedFlags::backgroundXPosition):
22809 (WebCore::InheritedFlags::backgroundYPosition):
22810 (WebCore::InheritedFlags::backgroundSizeType):
22811 (WebCore::InheritedFlags::backgroundSizeLength):
22812 (WebCore::InheritedFlags::accessBackgroundLayers):
22813 (WebCore::InheritedFlags::backgroundLayers):
22814 (WebCore::InheritedFlags::outlineOffset):
22815 (WebCore::InheritedFlags::resetOutline):
22816 (WebCore::InheritedFlags::setBackgroundColor):
22817 (WebCore::InheritedFlags::setBackgroundXPosition):
22818 (WebCore::InheritedFlags::setBackgroundYPosition):
22819 (WebCore::InheritedFlags::setBackgroundSize):
22820 (WebCore::InheritedFlags::setBackgroundSizeLength):
22821 (WebCore::InheritedFlags::setOutlineWidth):
22822 (WebCore::InheritedFlags::setOutlineStyle):
22823 (WebCore::InheritedFlags::setOutlineColor):
22824 (WebCore::InheritedFlags::clearBackgroundLayers):
22825 (WebCore::InheritedFlags::inheritBackgroundLayers):
22826 (WebCore::InheritedFlags::setOutlineOffset):
22827 * rendering/style/StyleBackgroundData.h:
22828 (WebCore::StyleBackgroundData::background):
22829 (WebCore::StyleBackgroundData::color):
22830 (WebCore::StyleBackgroundData::outline):
22832 2010-04-13 Stephan Aßmus <superstippi@gmx.de>
22834 Reviewed by David Levin.
22836 [Haiku] Use the system clipboard instead of a private clipboard.
22837 Fix various problems in the previous implementation.
22839 https://bugs.webkit.org/show_bug.cgi?id=37421
22841 No new tests needed.
22843 * platform/haiku/PasteboardHaiku.cpp:
22844 (WebCore::Pasteboard::~Pasteboard):
22845 (WebCore::Pasteboard::generalPasteboard):
22846 - Don't leak the pasteboard at program exit.
22847 (WebCore::AutoClipboardLocker::AutoClipboardLocker):
22848 (WebCore::AutoClipboardLocker::~AutoClipboardLocker):
22849 (WebCore::AutoClipboardLocker::isLocked):
22850 - helper class for locking a BClipboard.
22851 (WebCore::Pasteboard::writeSelection):
22852 - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
22853 - Make sure we don't end up with unwanted UTF-8 characters for
22854 regular line breaks.
22855 (WebCore::Pasteboard::writePlainText):
22856 - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
22857 (WebCore::Pasteboard::plainText):
22858 - Use FindData(B_MIME_TYPE) as required by clipboard protocol.
22859 (WebCore::Pasteboard::documentFragment):
22861 (WebCore::Pasteboard::writeURL):
22862 - Needs to use AddData(B_MIME_TYPE) instead of AddString().
22863 (WebCore::Pasteboard::clear):
22865 2010-04-13 Stephan Aßmus <superstippi@gmx.de>
22867 Reviewed by David Levin.
22869 [Haiku] Fix bridging Widget to native top-level BView.
22870 https://bugs.webkit.org/show_bug.cgi?id=37419
22872 In the Haiku port, there is no mapping between native widgets
22873 and WebCore Widget instances. There is only a top-level BView
22874 which renders a web page into a bitmap. For certain WebCore widget
22875 functionality, we need to access this BView, like for setting the
22876 current cursor or forcing focus. On the other hand, setting a
22877 platform widget pointer on Widget results into completely different
22878 behavior, like ScrollView tries to forward everything instead of
22879 handling stuff itself. To make this work, the pointer to a "top-level"
22880 BView is stored in every Widget for the Haiku port.
22882 No new tests needed.
22884 * platform/Widget.h:
22885 - Added the m_topLevelPlatformWidget member for the Haiku platform.
22886 (WebCore::Widget::setPlatformWidget):
22887 (WebCore::Widget::topLevelPlatformWidget):
22888 (WebCore::Widget::setTopLevelPlatformWidget):
22889 * platform/haiku/WidgetHaiku.cpp:
22890 (WebCore::AutoPlatformWidgetLocker::AutoPlatformWidgetLocker):
22891 (WebCore::AutoPlatformWidgetLocker::~AutoPlatformWidgetLocker):
22892 (WebCore::AutoPlatformWidgetLocker::isLocked):
22893 - helper class for locking the BView looper thread with a timeout
22894 (WebCore::Widget::Widget):
22895 (WebCore::Widget::setFocus):
22896 - Make sure the top-level view receives keyboard input.
22897 (WebCore::Widget::setCursor):
22898 - Set the cursor on the top-level view.
22899 (WebCore::Widget::show):
22900 (WebCore::Widget::hide):
22901 - Don't show/hide the top-level view, but make the code correct
22902 for whenever we would map an individual BView per Widget.
22903 - Use setSelfVisible() and isParentVisible() like in other ports.
22905 2010-04-13 Jeremy Moskovich <jeremy@chromium.org>
22907 Reviewed by David Levin.
22909 Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
22911 https://bugs.webkit.org/show_bug.cgi?id=36426
22913 No new tests as there is no new functionality.
22915 * loader/FrameLoader.cpp:
22916 (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
22918 2010-04-13 Abhishek Arya <inferno@chromium.org>
22920 Reviewed by Adam Barth.
22922 Add a null ptr check for m_popupClient.
22924 * platform/chromium/PopupMenuChromium.cpp:
22925 (WebCore::PopupListBox::abandon): Add a null ptr check
22927 2010-04-13 Stephan Aßmus <superstippi@gmx.de>
22929 Reviewed by David Levin.
22931 [Haiku] Use the system's default font family as last fall back font.
22932 https://bugs.webkit.org/show_bug.cgi?id=37501
22934 No new tests needed.
22936 * platform/graphics/haiku/FontCacheHaiku.cpp:
22937 (WebCore::FontCache::getLastResortFallbackFont):
22938 - Use the system's default font family (from be_plain_font global).
22940 2010-04-13 Eskil Blomfeldt <eblomfel@trolltech.com>, Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
22942 Reviewed by Simon Hausmann.
22944 [Qt] Use integer pixel metric QFont API to fix rounding errors in text rendering on the Mac
22945 https://bugs.webkit.org/show_bug.cgi?id=36532
22947 * platform/graphics/qt/FontQt.cpp:
22948 (WebCore::Font::floatWidthForComplexText):
22949 (WebCore::Font::font):
22951 2010-04-13 Alexander Pavlov <apavlov@chromium.org>
22953 Reviewed by Pavel Feldman.
22955 Web Inspector: Cannot effectively delete properties in the Styles sidebar pane
22956 https://bugs.webkit.org/show_bug.cgi?id=37499
22958 * inspector/InspectorDOMAgent.cpp:
22959 (WebCore::InspectorDOMAgent::applyStyleText):
22961 2010-04-13 Stephan Aßmus <superstippi@gmx.de>
22963 Reviewed by David Levin.
22965 Use the Haiku MIME type data base as a fall back for unknown file extensions.
22966 https://bugs.webkit.org/show_bug.cgi?id=34686
22968 Covered by existing tests.
22970 * platform/haiku/MIMETypeRegistryHaiku.cpp:
22972 - fixed coding style issues
22973 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
22974 - fall back to the system MIME database for unknown types.
22975 - return empty String as last resort, this is used
22976 elsewhere as indicator for unknown types.
22978 2010-04-13 Stephan Aßmus <superstippi@gmx.de>
22980 Reviewed by David Levin.
22982 [Haiku] Use all the new system cursors available in recent Haiku revisions.
22983 <https://bugs.webkit.org/show_bug.cgi?id=37385>
22985 Covered by existing tests.
22987 * platform/haiku/CursorHaiku.cpp:
22988 (WebCore::Cursor::Cursor):
22989 (WebCore::Cursor::~Cursor):
22990 (WebCore::Cursor::operator=):
22991 - Adapted to maintain an owned BCursor instance.
22992 (WebCore::createCursorByID):
22993 - helper function to create a Cursor instance by BCursorID constant.
22994 (WebCore::pointerCursor):
22995 - NULL BCursor triggers using the system cursor.
22996 (WebCore::moveCursor):
22997 (WebCore::crossCursor):
22998 (WebCore::handCursor):
22999 (WebCore::iBeamCursor):
23000 (WebCore::waitCursor):
23001 (WebCore::helpCursor):
23002 (WebCore::eastResizeCursor):
23003 (WebCore::northResizeCursor):
23004 (WebCore::northEastResizeCursor):
23005 (WebCore::northWestResizeCursor):
23006 (WebCore::southResizeCursor):
23007 (WebCore::southEastResizeCursor):
23008 (WebCore::southWestResizeCursor):
23009 (WebCore::westResizeCursor):
23010 (WebCore::northSouthResizeCursor):
23011 (WebCore::eastWestResizeCursor):
23012 (WebCore::northEastSouthWestResizeCursor):
23013 (WebCore::northWestSouthEastResizeCursor):
23014 (WebCore::columnResizeCursor):
23015 (WebCore::rowResizeCursor):
23016 (WebCore::verticalTextCursor):
23017 (WebCore::cellCursor):
23018 (WebCore::contextMenuCursor):
23019 (WebCore::noDropCursor):
23020 (WebCore::copyCursor):
23021 (WebCore::progressCursor):
23022 (WebCore::aliasCursor):
23023 (WebCore::noneCursor):
23024 (WebCore::notAllowedCursor):
23025 (WebCore::zoomInCursor):
23026 (WebCore::zoomOutCursor):
23027 (WebCore::grabCursor):
23028 (WebCore::grabbingCursor):
23029 - Use the new system cursors.
23031 2010-04-13 Dirk Schulze <krit@webkit.org>
23033 Reviewed by Nikolas Zimmermann.
23035 <clipPath> doesn't correctly handle <text> elements
23036 https://bugs.webkit.org/show_bug.cgi?id=12571
23038 Adds support for text elements as clipPath, heterogenous clip rules, as well
23039 as clipping of clipPath.
23040 A fast code path let platforms clip simple shapes directly. All other variants
23041 are drawn to a seperate ImageBuffer, which is used as a mask. This happens the same
23042 way we like we do it on SVG Masking. This needs temporary changes to the RenderStyle
23043 of clipPath childs. Values like stroke, resources, opacity have to be ignored.
23045 Tests: svg/clip-path/clip-path-child-clipped.svg
23046 svg/clip-path/clip-path-childs-clipped.svg
23047 svg/clip-path/clip-path-clipped-evenodd-twice.svg
23048 svg/clip-path/clip-path-clipped-no-content.svg
23049 svg/clip-path/clip-path-clipped-nonzero.svg
23050 svg/clip-path/clip-path-clipped.svg
23051 svg/clip-path/clip-path-evenodd-nonzero.svg
23052 svg/clip-path/clip-path-evenodd.svg
23053 svg/clip-path/clip-path-nonzero-evenodd.svg
23054 svg/clip-path/clip-path-nonzero.svg
23055 svg/clip-path/clip-path-objectBoundingBox.svg
23056 svg/clip-path/clip-path-on-clipped-use.svg
23057 svg/clip-path/clip-path-on-g-and-child.svg
23058 svg/clip-path/clip-path-on-g.svg
23059 svg/clip-path/clip-path-on-svg-and-child.svg
23060 svg/clip-path/clip-path-on-svg.svg
23061 svg/clip-path/clip-path-recursive-call-by-child.svg
23062 svg/clip-path/clip-path-recursive-call.svg
23063 svg/clip-path/clip-path-text-and-shape.svg
23064 svg/clip-path/clip-path-text-and-stroke.svg
23065 svg/clip-path/clip-path-text.svg
23066 svg/clip-path/clip-path-use-as-child.svg
23067 svg/clip-path/clip-path-use-as-child2.svg
23068 svg/clip-path/clip-path-use-as-child3.svg
23069 svg/clip-path/clip-path-use-as-child4.svg
23070 svg/clip-path/clip-path-use-as-child5.svg
23071 svg/clip-path/clip-path-userSpaceOnUse.svg
23072 svg/clip-path/clip-path-with-container.svg
23073 svg/clip-path/clip-path-with-different-unittypes.svg
23074 svg/clip-path/clip-path-with-different-unittypes2.svg
23075 svg/clip-path/clip-path-with-invisibile-child.svg
23076 svg/clip-path/clip-path-with-text-clipped.svg
23078 * rendering/RenderObject.h:
23079 (WebCore::RenderObject::isSVGShadowTreeRootContainer): identify use-element renderer
23080 * rendering/RenderSVGResourceClipper.cpp:
23081 (WebCore::RenderSVGResourceClipper::invalidateClients):
23082 (WebCore::RenderSVGResourceClipper::invalidateClient):
23083 (WebCore::RenderSVGResourceClipper::applyResource):
23084 (WebCore::RenderSVGResourceClipper::pathOnlyClipping): direct clipping for simple shapes
23085 (WebCore::RenderSVGResourceClipper::applyClippingToContext): direct clipping or maskImage?
23086 (WebCore::RenderSVGResourceClipper::createClipData): creates maskImage for clipping
23087 (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
23088 * rendering/RenderSVGResourceClipper.h:
23089 * rendering/RenderSVGShadowTreeRootContainer.h: identify use-Element by renderer
23090 (WebCore::RenderSVGShadowTreeRootContainer::isSVGShadowTreeRootContainer):
23091 * rendering/SVGRenderSupport.cpp:
23092 (WebCore::renderSubtreeToImage): hack to get texts working on clipping (masks and pattern)
23093 * svg/SVGUseElement.cpp:
23094 (WebCore::SVGUseElement::rendererClipChild): get renderer of referenced object
23095 * svg/SVGUseElement.h:
23097 2010-04-13 Nikolas Zimmermann <nzimmermann@rim.com>
23099 Reviewed by Dirk Schulze.
23101 SVG renderers should track transform/path changes, instead of pulling every time from SVG DOM
23102 https://bugs.webkit.org/show_bug.cgi?id=15389
23104 RenderPath caches repaint rectangles (fill/stroke bbox etc.) though this caching
23105 was effectively useless because every layout() call caused them to be reset to empty rects.
23106 Furthermore RenderPath::layout() queried the SVG DOM upon every invocation to retrieve
23107 the Path object, instead of only doing it when necessary. Even the TransformationMatrix
23108 was polled everytime from the SVG DOM.
23110 Move the knownledge wheter we need to update path/transform into the render tree and
23111 only update when necessary. This should result in a huge performance increase, with
23112 the drawback of adding slightly more memory, because we need to add booleans indicating
23113 the status of path/transform (is dirty?).
23115 Doesn't affect any tests, only performance.
23117 * rendering/RenderForeignObject.cpp:
23118 (WebCore::RenderForeignObject::RenderForeignObject):
23119 (WebCore::RenderForeignObject::layout):
23120 * rendering/RenderForeignObject.h:
23121 (WebCore::RenderForeignObject::setNeedsTransformUpdate):
23122 * rendering/RenderObject.h:
23123 (WebCore::RenderObject::setNeedsTransformUpdate):
23124 (WebCore::RenderObject::setNeedsBoundariesUpdate):
23125 * rendering/RenderPath.cpp:
23126 (WebCore::RenderPath::RenderPath):
23127 (WebCore::RenderPath::layout):
23128 (WebCore::RenderPath::invalidateCachedBoundaries):
23129 (WebCore::RenderPath::styleWillChange):
23130 * rendering/RenderPath.h:
23131 (WebCore::RenderPath::setNeedsBoundariesUpdate):
23132 (WebCore::RenderPath::setNeedsPathUpdate):
23133 (WebCore::RenderPath::setNeedsTransformUpdate):
23134 (WebCore::RenderPath::localToParentTransform):
23135 (WebCore::RenderPath::localTransform):
23136 * rendering/RenderSVGImage.cpp:
23137 (WebCore::RenderSVGImage::RenderSVGImage):
23138 (WebCore::RenderSVGImage::layout):
23139 * rendering/RenderSVGImage.h:
23140 (WebCore::RenderSVGImage::setNeedsTransformUpdate):
23141 * rendering/RenderSVGResourceClipper.cpp:
23142 (WebCore::RenderSVGResourceClipper::invalidateClients):
23143 * rendering/RenderSVGResourceMarker.cpp:
23144 (WebCore::RenderSVGResourceMarker::invalidateClients):
23145 * rendering/RenderSVGResourceMasker.cpp:
23146 (WebCore::RenderSVGResourceMasker::invalidateClients):
23147 * rendering/RenderSVGText.cpp:
23148 (WebCore::RenderSVGText::RenderSVGText):
23149 (WebCore::RenderSVGText::layout):
23150 * rendering/RenderSVGText.h:
23151 (WebCore::RenderSVGText::setNeedsTransformUpdate):
23152 * rendering/RenderSVGTransformableContainer.cpp:
23153 (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
23154 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
23155 * rendering/RenderSVGTransformableContainer.h:
23156 (WebCore::RenderSVGTransformableContainer::localToParentTransform):
23157 (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
23158 (WebCore::RenderSVGTransformableContainer::localTransform):
23159 * svg/SVGAnimateMotionElement.cpp:
23160 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
23161 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
23162 * svg/SVGAnimateTransformElement.cpp:
23163 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
23164 * svg/SVGCircleElement.cpp:
23165 (WebCore::SVGCircleElement::svgAttributeChanged):
23166 * svg/SVGEllipseElement.cpp:
23167 (WebCore::SVGEllipseElement::svgAttributeChanged):
23168 * svg/SVGForeignObjectElement.cpp:
23169 (WebCore::SVGForeignObjectElement::svgAttributeChanged):
23170 * svg/SVGGElement.cpp:
23171 (WebCore::SVGGElement::svgAttributeChanged):
23172 * svg/SVGImageElement.cpp:
23173 (WebCore::SVGImageElement::svgAttributeChanged):
23174 * svg/SVGLineElement.cpp:
23175 (WebCore::SVGLineElement::svgAttributeChanged):
23176 * svg/SVGPathElement.cpp:
23177 (WebCore::SVGPathElement::svgAttributeChanged):
23178 * svg/SVGPolyElement.cpp:
23179 (WebCore::SVGPolyElement::svgAttributeChanged):
23180 * svg/SVGRectElement.cpp:
23181 (WebCore::SVGRectElement::svgAttributeChanged):
23182 * svg/SVGTextElement.cpp:
23183 (WebCore::SVGTextElement::svgAttributeChanged):
23184 * svg/SVGUseElement.cpp:
23185 (WebCore::SVGUseElement::svgAttributeChanged):
23187 2010-04-13 Mikhail Naganov <mnaganov@chromium.org>
23189 Unreviewed Qt build fix: add new .idl files to WebCore.pri
23193 2010-04-12 Mikhail Naganov <mnaganov@chromium.org>
23195 Reviewed by Yury Semikhatsky.
23197 Replace hand-written JavaScriptProfile* bindings with idl-based, and
23198 in Chromium port, bind them to the new V8's profiler API that is
23201 https://bugs.webkit.org/show_bug.cgi?id=37448
23203 * DerivedSources.cpp:
23204 * DerivedSources.make:
23208 * WebCore.vcproj/WebCore.vcproj:
23209 * WebCore.xcodeproj/project.pbxproj:
23210 * bindings/js/JSBindingsAllInOne.cpp:
23211 * bindings/js/JSConsoleCustom.cpp:
23212 * bindings/js/JSScriptProfileNodeCustom.cpp: Added.
23213 (WebCore::JSScriptProfileNode::callUID):
23214 (WebCore::JSScriptProfileNode::children):
23215 * bindings/js/JavaScriptProfile.cpp: Removed.
23216 * bindings/js/JavaScriptProfile.h: Removed.
23217 * bindings/js/JavaScriptProfileNode.cpp: Removed.
23218 * bindings/js/JavaScriptProfileNode.h: Removed.
23219 * bindings/js/ScriptProfileNode.h: Added.
23220 * bindings/scripts/CodeGeneratorJS.pm:
23221 * bindings/scripts/CodeGeneratorV8.pm:
23222 * bindings/v8/ScriptProfile.cpp: Added.
23223 (WebCore::ScriptProfile::title):
23224 (WebCore::ScriptProfile::uid):
23225 (WebCore::ScriptProfile::head):
23226 * bindings/v8/ScriptProfile.h:
23227 (WebCore::ScriptProfile::create):
23228 (WebCore::ScriptProfile::ScriptProfile):
23229 * bindings/v8/ScriptProfileNode.cpp: Added.
23230 (WebCore::ScriptProfileNode::functionName):
23231 (WebCore::ScriptProfileNode::url):
23232 (WebCore::ScriptProfileNode::lineNumber):
23233 (WebCore::ScriptProfileNode::totalTime):
23234 (WebCore::ScriptProfileNode::selfTime):
23235 (WebCore::ScriptProfileNode::numberOfCalls):
23236 (WebCore::ScriptProfileNode::children):
23237 (WebCore::ScriptProfileNode::visible):
23238 (WebCore::ScriptProfileNode::callUID):
23239 * bindings/v8/ScriptProfileNode.h: Added.
23240 (WebCore::ScriptProfileNode::create):
23241 (WebCore::ScriptProfileNode::~ScriptProfileNode):
23242 (WebCore::ScriptProfileNode::ScriptProfileNode):
23243 * bindings/v8/ScriptProfiler.cpp:
23244 (WebCore::ScriptProfiler::start):
23245 (WebCore::ScriptProfiler::stop):
23246 * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
23247 (WebCore::V8Console::profilesAccessorGetter):
23248 * bindings/v8/custom/V8ScriptProfileCustom.cpp: Added.
23250 * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Added.
23251 (WebCore::V8ScriptProfileNode::childrenAccessorGetter):
23252 (WebCore::V8ScriptProfileNode::callUIDAccessorGetter):
23254 * inspector/InspectorController.cpp:
23255 (WebCore::InspectorController::getProfile):
23256 * inspector/ScriptProfile.idl: Added.
23257 * inspector/ScriptProfileNode.idl: Added.
23258 * inspector/front-end/InspectorBackendStub.js:
23259 (.WebInspector.InspectorBackendStub.prototype.getProfile):
23260 * inspector/front-end/ProfilesPanel.js:
23261 (WebInspector.ProfilesPanel.prototype.populateInterface):
23262 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
23263 * page/Console.idl:
23264 * platform/android/TemporaryLinkStubs.cpp:
23266 2010-04-12 Antonio Gomes <tonikitoo@webkit.org>
23268 Reviewed by Simon Fraser.
23270 Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
23271 https://bugs.webkit.org/show_bug.cgi?id=37461
23273 getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when
23274 the node is currently offscreen in an scroll overflowed content.
23276 Test: fast/events/spatial-navigation/snav-simple-content-overflow.html
23278 * page/SpatialNavigation.cpp:
23279 (WebCore::renderRectRelativeToRootDocument):
23281 2010-04-12 Antonio Gomes <tonikitoo@webkit.org>
23283 Unreviewed style fix.
23285 * page/FocusController.cpp:
23286 (WebCore::updateFocusCandidateIfCloser):
23288 2010-04-08 yael aharon <yael.aharon@nokia.com>
23290 Reviewed by Darin Adler.
23292 Accessibility support for progress element
23293 https://bugs.webkit.org/show_bug.cgi?id=37275
23295 Implement AccessibilityProgressIndicator to hook up progress element to accessibility framework.
23297 Test: platform/mac/accessibility/progressbar.html
23302 * WebCore.vcproj/WebCore.vcproj:
23303 * WebCore.xcodeproj/project.pbxproj:
23304 * accessibility/AXObjectCache.cpp:
23305 (WebCore::AXObjectCache::getOrCreate):
23306 * accessibility/AccessibilityProgressIndicator.cpp: Added.
23307 (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
23308 (WebCore::AccessibilityProgressIndicator::create):
23309 (WebCore::AccessibilityProgressIndicator::accessibilityIsIgnored):
23310 (WebCore::AccessibilityProgressIndicator::valueForRange):
23311 (WebCore::AccessibilityProgressIndicator::maxValueForRange):
23312 (WebCore::AccessibilityProgressIndicator::minValueForRange):
23313 (WebCore::AccessibilityProgressIndicator::element):
23314 * accessibility/AccessibilityProgressIndicator.h: Added.
23315 (WebCore::AccessibilityProgressIndicator::roleValue):
23316 (WebCore::AccessibilityProgressIndicator::isProgressIndicator):
23317 * rendering/RenderProgress.cpp:
23318 (WebCore::RenderProgress::updateFromElement):
23319 (WebCore::RenderProgress::progressElement):
23320 * rendering/RenderProgress.h:
23322 2010-04-12 Dumitru Daniliuc <dumi@chromium.org>
23324 Reviewed by Dimitri Glazkov.
23326 Throwing a SECURITY_ERR when openDatabase() cannot open a database
23327 for whatever reason, as required by the spec.
23328 https://bugs.webkit.org/show_bug.cgi?id=33916
23330 * bindings/js/JSDOMWindowCustom.cpp:
23331 (WebCore::JSDOMWindow::openDatabase):
23332 * bindings/v8/custom/V8DOMWindowCustom.cpp:
23333 (WebCore::V8DOMWindow::openDatabaseCallback):
23335 2010-04-12 Steve Falkenburg <sfalken@apple.com>
23337 Reviewed by Dan Bernstein.
23339 WebKit should have more robust last-chance font fallback on Windows
23340 https://bugs.webkit.org/show_bug.cgi?id=37473
23341 <rdar://problem/7789438> Crash in FontFallbackList::determinePitch
23342 <rdar://problem/7233762> Crash in FontFallbackList::fontDataAt
23344 Look harder for a suitable last-resort font. Previously, we checked for
23345 "Times New Roman" followed by DEFAULT_GUI_FONT.
23348 - Typically installed Unicode-capable fonts, in order of coverage
23350 - SPI_GETNONCLIENTMETRICS fonts
23352 * platform/graphics/win/FontCacheWin.cpp:
23353 (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
23354 (WebCore::FontCache::getLastResortFallbackFont):
23356 2010-04-12 David Hyatt <hyatt@apple.com>
23358 Reviewed by Dan Bernstein.
23360 https://bugs.webkit.org/show_bug.cgi?id=37469, clean up ShadowData to be encapsulated properly.
23362 * css/CSSComputedStyleDeclaration.cpp:
23363 (WebCore::CSSComputedStyleDeclaration::valueForShadow):
23364 * page/animation/AnimationBase.cpp:
23365 (WebCore::blendFunc):
23366 (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
23367 (WebCore::PropertyWrapperShadow::equals):
23368 (WebCore::PropertyWrapperShadow::blend):
23369 * page/mac/FrameMac.mm:
23370 (WebCore::Frame::fontAttributesForSelectionStart):
23371 * rendering/EllipsisBox.cpp:
23372 (WebCore::EllipsisBox::paint):
23373 * rendering/InlineFlowBox.cpp:
23374 (WebCore::InlineFlowBox::placeBoxesHorizontally):
23375 (WebCore::InlineFlowBox::computeVerticalOverflow):
23376 (WebCore::InlineFlowBox::paintTextDecorations):
23377 * rendering/InlineTextBox.cpp:
23378 (WebCore::paintTextWithShadows):
23379 (WebCore::InlineTextBox::paint):
23380 (WebCore::InlineTextBox::paintDecoration):
23381 * rendering/InlineTextBox.h:
23382 * rendering/RenderBoxModelObject.cpp:
23383 (WebCore::RenderBoxModelObject::paintBoxShadow):
23384 * rendering/RenderLayer.cpp:
23385 (WebCore::RenderLayer::calculateRects):
23386 * rendering/RenderObject.cpp:
23387 (WebCore::RenderObject::adjustRectForOutlineAndShadow):
23388 * rendering/SVGInlineTextBox.cpp:
23389 (WebCore::SVGInlineTextBox::paintCharacters):
23390 * rendering/SVGRenderSupport.cpp:
23391 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
23392 * rendering/style/RenderStyle.cpp:
23393 (WebCore::RenderStyle::setTextShadow):
23394 (WebCore::RenderStyle::setBoxShadow):
23395 (WebCore::RenderStyle::getBoxShadowExtent):
23396 (WebCore::RenderStyle::getBoxShadowHorizontalExtent):
23397 (WebCore::RenderStyle::getBoxShadowVerticalExtent):
23398 * rendering/style/RenderStyle.h:
23399 (WebCore::InheritedFlags::textShadow):
23400 (WebCore::InheritedFlags::boxShadow):
23401 * rendering/style/SVGRenderStyle.cpp:
23402 (WebCore::getSVGShadowExtent):
23403 * rendering/style/ShadowData.cpp:
23404 (WebCore::ShadowData::ShadowData):
23405 (WebCore::ShadowData::operator==):
23406 * rendering/style/ShadowData.h:
23407 (WebCore::ShadowData::ShadowData):
23408 (WebCore::ShadowData::~ShadowData):
23409 (WebCore::ShadowData::x):
23410 (WebCore::ShadowData::y):
23411 (WebCore::ShadowData::blur):
23412 (WebCore::ShadowData::spread):
23413 (WebCore::ShadowData::style):
23414 (WebCore::ShadowData::color):
23415 (WebCore::ShadowData::next):
23416 (WebCore::ShadowData::setNext):
23418 2010-04-12 David Hyatt <hyatt@apple.com>
23420 Reviewed by Mark Rowe.
23422 https://bugs.webkit.org/show_bug.cgi?id=37463, clean up NinePieceImage.
23424 * css/CSSComputedStyleDeclaration.cpp:
23425 (WebCore::valueForNinePieceImage):
23426 * css/CSSStyleSelector.cpp:
23427 (WebCore::CSSStyleSelector::mapNinePieceImage):
23428 * rendering/RenderBoxModelObject.cpp:
23429 (WebCore::RenderBoxModelObject::paintNinePieceImage):
23430 * rendering/style/NinePieceImage.h:
23431 (WebCore::NinePieceImage::setImage):
23432 (WebCore::NinePieceImage::slices):
23433 (WebCore::NinePieceImage::setSlices):
23434 (WebCore::NinePieceImage::setHorizontalRule):
23435 (WebCore::NinePieceImage::verticalRule):
23436 (WebCore::NinePieceImage::setVerticalRule):
23438 2010-04-12 David Hyatt <hyatt@apple.com>
23440 Reviewed by Sam Weinig.
23442 https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids.
23444 Added fast/history/multiple-classes-visited.html.
23446 * css/CSSStyleSelector.cpp:
23447 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
23449 2010-04-12 Dirk Schulze <krit@webkit.org>
23451 Unreviewed build fix.
23453 Make comma/whitespace around arc flags optional in SVG path syntax
23454 https://bugs.webkit.org/show_bug.cgi?id=37431
23458 * svg/SVGParserUtilities.cpp:
23459 (WebCore::parseArcFlag):
23461 2010-04-12 Jeff Schiller <codedread@gmail.com>
23463 Reviewed by Dirk Schulze.
23465 Make comma/whitespace around arc flags optional in SVG path syntax and ensure flags are
23466 either 0 or 1: https://bugs.webkit.org/show_bug.cgi?id=37431
23468 * svg/SVGParserUtilities.cpp:
23469 (WebCore::parseArcFlag): function to read in a 0 or 1 for largeArcFlag and sweepFlag
23470 (WebCore::SVGPathParser::parseSVG): modify/simplify arc parsing by using parseArcFlag()
23472 2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
23474 Unreviewed, rolling out r57468.
23475 http://trac.webkit.org/changeset/57468
23476 https://bugs.webkit.org/show_bug.cgi?id=37433
23478 Broke the world... Must have applied the patch wrong
23479 (Requested by abarth on #webkit).
23483 * WebCore.base.exp:
23486 * WebCore.vcproj/WebCore.vcproj:
23487 * WebCore.xcodeproj/project.pbxproj:
23488 * bindings/ScriptControllerBase.cpp:
23489 (WebCore::ScriptController::executeIfJavaScriptURL):
23490 * dom/Document.cpp:
23491 (WebCore::Document::close):
23492 * dom/ProcessingInstruction.cpp:
23493 (WebCore::ProcessingInstruction::checkStyleSheet):
23494 * dom/ScriptElement.cpp:
23495 (WebCore::ScriptElementData::scriptCharset):
23496 * html/HTMLLinkElement.cpp:
23497 (WebCore::HTMLLinkElement::process):
23498 * loader/DocLoader.cpp:
23499 (WebCore::DocLoader::requestPreload):
23500 * loader/DocumentLoader.cpp:
23501 (WebCore::DocumentLoader::finishedLoading):
23502 (WebCore::DocumentLoader::setupForReplaceByMIMEType):
23503 * loader/DocumentWriter.cpp: Removed.
23504 * loader/DocumentWriter.h: Removed.
23505 * loader/FrameLoader.cpp:
23506 (WebCore::canReferToParentFrameEncoding):
23507 (WebCore::FrameLoader::FrameLoader):
23508 (WebCore::FrameLoader::init):
23509 (WebCore::FrameLoader::replaceDocument):
23510 (WebCore::FrameLoader::clear):
23511 (WebCore::FrameLoader::receivedFirstData):
23512 (WebCore::FrameLoader::responseMIMEType):
23513 (WebCore::FrameLoader::setResponseMIMEType):
23514 (WebCore::FrameLoader::begin):
23515 (WebCore::FrameLoader::write):
23516 (WebCore::FrameLoader::end):
23517 (WebCore::FrameLoader::endIfNotLoadingMainResource):
23518 (WebCore::FrameLoader::encoding):
23519 (WebCore::FrameLoader::setEncoding):
23520 (WebCore::FrameLoader::addData):
23521 (WebCore::FrameLoader::transitionToCommitted):
23522 (WebCore::FrameLoader::open):
23523 (WebCore::FrameLoader::finishedLoadingDocument):
23524 (WebCore::FrameLoader::addExtraFieldsToRequest):
23525 * loader/FrameLoader.h:
23526 * loader/MediaDocument.cpp:
23527 (WebCore::MediaDocument::replaceMediaElementTimerFired):
23528 * loader/PluginDocument.cpp:
23529 (WebCore::PluginTokenizer::createDocumentStructure):
23530 * platform/network/FormDataBuilder.cpp:
23531 (WebCore::FormDataBuilder::dataEncoding):
23532 * svg/graphics/SVGImage.cpp:
23533 (WebCore::SVGImage::dataChanged):
23535 2010-04-11 Adam Barth <abarth@webkit.org>
23537 Reviewed by Eric Seidel.
23539 Factor DocumentWriter out of FrameLoader
23540 https://bugs.webkit.org/show_bug.cgi?id=37175
23542 This patch separates the begin/write/end cycle of decoding network
23543 bytes and putting them into a document from the rest of the loading
23544 machinery. The code and state required to write bytes into a document
23545 doesn't interact very much with the rest of the loading machinery.
23547 No tests because there is no behavior change (hopefully!).
23551 * WebCore.base.exp:
23554 * WebCore.vcproj/WebCore.vcproj:
23555 * WebCore.xcodeproj/project.pbxproj:
23556 * bindings/ScriptControllerBase.cpp:
23557 (WebCore::ScriptController::executeIfJavaScriptURL):
23558 * dom/Document.cpp:
23559 (WebCore::Document::close):
23560 * dom/ProcessingInstruction.cpp:
23561 (WebCore::ProcessingInstruction::checkStyleSheet):
23562 * dom/ScriptElement.cpp:
23563 (WebCore::ScriptElementData::scriptCharset):
23564 * html/HTMLLinkElement.cpp:
23565 (WebCore::HTMLLinkElement::process):
23566 * loader/DocLoader.cpp:
23567 (WebCore::DocLoader::requestPreload):
23568 * loader/DocumentLoader.cpp:
23569 (WebCore::DocumentLoader::finishedLoading):
23570 (WebCore::DocumentLoader::setupForReplaceByMIMEType):
23571 * loader/DocumentWriter.cpp: Added.
23572 * loader/DocumentWriter.h: Added.
23573 * loader/FrameLoader.cpp:
23574 (WebCore::FrameLoader::FrameLoader):
23575 (WebCore::FrameLoader::init):
23576 (WebCore::FrameLoader::clear):
23577 (WebCore::FrameLoader::receivedFirstData):
23578 (WebCore::FrameLoader::setURL):
23579 (WebCore::FrameLoader::didBeginDocument):
23580 (WebCore::FrameLoader::didEndDocument):
23581 (WebCore::FrameLoader::willSetEncoding):
23582 (WebCore::FrameLoader::addData):
23583 (WebCore::FrameLoader::transitionToCommitted):
23584 (WebCore::FrameLoader::open):
23585 (WebCore::FrameLoader::finishedLoadingDocument):
23586 (WebCore::FrameLoader::addExtraFieldsToRequest):
23587 * loader/FrameLoader.h:
23588 (WebCore::FrameLoader::writer):
23589 (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
23590 * loader/MediaDocument.cpp:
23591 (WebCore::MediaDocument::replaceMediaElementTimerFired):
23592 * loader/PluginDocument.cpp:
23593 (WebCore::PluginTokenizer::createDocumentStructure):
23594 * platform/network/FormDataBuilder.cpp:
23595 (WebCore::FormDataBuilder::dataEncoding):
23596 * svg/graphics/SVGImage.cpp:
23597 (WebCore::SVGImage::dataChanged):
23599 2010-04-07 Tony Chang <tony@chromium.org>
23601 Reviewed by Eric Seidel.
23603 [chromium] implement getData('text/html') for paste and drop events
23604 https://bugs.webkit.org/show_bug.cgi?id=37193
23606 Tests: editing/pasteboard/onpaste-text-html.html
23607 fast/events/ondrop-text-html.html
23609 * platform/chromium/ClipboardChromium.cpp:
23611 (WebCore::clipboardTypeFromMIMEType): add html type
23612 (WebCore::ClipboardChromium::clearData): implement clear text/html
23613 (WebCore::ClipboardChromium::getData): implement get text/html (similar to text/plain)
23614 (WebCore::ClipboardChromium::setData): implement set text/html
23616 2010-04-10 Adam Barth <abarth@webkit.org>
23618 Unreviewed. Rename m_forceSandboxFlags to m_forcedSandoxFlags, as
23619 requested by Darin Adler.
23621 * loader/FrameLoader.cpp:
23622 (WebCore::FrameLoader::FrameLoader):
23623 (WebCore::FrameLoader::updateSandboxFlags):
23624 * loader/FrameLoader.h:
23625 (WebCore::FrameLoader::setForcedSandboxFlags):
23626 * svg/graphics/SVGImage.cpp:
23627 (WebCore::SVGImage::dataChanged):
23629 2010-04-10 Mark Rowe <mrowe@apple.com>
23631 Reviewed by Dan Bernstein.
23633 <rdar://problem/7845305> Further adoption of formal protocols for delegates.
23635 Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
23637 * WebCore.xcodeproj/project.pbxproj:
23638 * platform/mac/EmptyProtocolDefinitions.h: Renamed from WebKit/mac/Misc/EmptyProtocolDefinitions.h.
23639 * platform/network/mac/ResourceHandleMac.mm:
23641 2010-04-10 Chris Evans <cevans@chromium.org>
23643 Reviewed by Adam Barth.
23645 Defense in depth: make sure an SVG document in the <img> context has
23648 https://bugs.webkit.org/show_bug.cgi?id=37392
23650 * svg/graphics/SVGImage.cpp:
23651 (WebCore::SVGImage::dataChanged):
23652 Force the temporary rendering context into a unique origin.
23653 * loader/FrameLoader.h:
23654 (WebCore::FrameLoader::setForceSandboxFlags):
23655 Support for setting sandbox flags that will always be applied.
23656 * loader/FrameLoader.cpp:
23657 (WebCore::FrameLoader::updateSandboxFlags):
23658 Always apply any forced flags.
23660 2010-04-10 Vangelis Kokkevis <vangelis@chromium.org>
23662 Reviewed by Dimitri Glazkov.
23664 Moving files associated with the GPU compositor from platform/graphics/skia to platform/graphics/chromium. Class
23665 rename was done in a previous CL, this CL does the file move and rename.
23666 https://bugs.webkit.org/show_bug.cgi?id=37231
23668 No new functionality, no new tests.
23671 * platform/graphics/chromium/GraphicsLayerChromium.cpp: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.cpp.
23672 * platform/graphics/chromium/GraphicsLayerChromium.h: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.h.
23673 * platform/graphics/chromium/LayerChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerSkia.cpp.
23674 * platform/graphics/chromium/LayerChromium.h: Copied from WebCore/platform/graphics/skia/LayerSkia.h.
23675 * platform/graphics/chromium/LayerRendererChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.cpp.
23676 * platform/graphics/chromium/LayerRendererChromium.h: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.h.
23677 * platform/graphics/skia/GraphicsLayerSkia.cpp: Removed.
23678 * platform/graphics/skia/GraphicsLayerSkia.h: Removed.
23679 * platform/graphics/skia/LayerRendererSkia.cpp: Removed.
23680 * platform/graphics/skia/LayerRendererSkia.h: Removed.
23681 * platform/graphics/skia/LayerSkia.cpp: Removed.
23682 * platform/graphics/skia/LayerSkia.h: Removed.
23684 2010-04-10 Robert Hogan <robert@webkit.org>
23686 Reviewed by Kenneth Rohde Christiansen.
23688 Refactor Qt DRT support in QtWebKit
23690 https://bugs.webkit.org/show_bug.cgi?id=35844
23692 * WebCore.pro: Add DumpRenderTreeSupportQt.cpp
23694 2010-04-10 Joseph Pecoraro <joepeck@webkit.org>
23696 Reviewed by David Kilzer.
23698 Missing CONTEXT_MENUS Guards
23699 https://bugs.webkit.org/show_bug.cgi?id=37398
23701 Added missing ENABLE(CONTEXT_MENUS) guards.
23703 * bindings/js/JSInspectorFrontendHostCustom.cpp:
23704 (WebCore::JSInspectorFrontendHost::showContextMenu):
23705 * inspector/InspectorFrontendHost.cpp:
23706 (WebCore::InspectorFrontendHost::InspectorFrontendHost):
23707 (WebCore::InspectorFrontendHost::disconnectClient):
23708 * inspector/InspectorFrontendHost.h:
23710 2010-04-10 Stephan Aßmus <superstippi@gmx.de>
23712 Reviewed by Eric Seidel.
23714 [Haiku] Fix crash in Gradient::fill()
23715 https://bugs.webkit.org/show_bug.cgi?id=37386
23717 Covered by existing tests.
23719 * platform/graphics/haiku/GradientHaiku.cpp:
23720 (WebCore::Gradient::fill):
23721 - Make sure the platform gradient is already cached before
23722 dereferencing its pointer.
23724 2010-04-10 Stephan Aßmus <superstippi@gmx.de>
23726 Reviewed by Eric Seidel.
23728 [Haiku] Fix build of ImageHaiku.cpp
23729 <https://bugs.webkit.org/show_bug.cgi?id=37384>
23731 No new tests needed.
23733 * platform/graphics/haiku/ImageHaiku.cpp:
23734 (WebCore::Image::drawPattern):
23735 - include SharedBuffer.h
23736 - changed parameter name to be in line with other ports,
23737 the code I landed in an earlier commit was already using
23740 2010-04-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
23742 Reviewed by Kenneth Rohde Christiansen.
23744 [Qt] Implement Desktop Notifications API for QtWebKit
23745 https://bugs.webkit.org/show_bug.cgi?id=35503
23747 No new tests enabled as notification DRT tests are
23748 disabled at the moment.
23750 * WebCore.pri: Add files to the build system and turn
23751 on the feature by default.
23753 * WebCore.pro: Add files to the build system
23755 * bindings/js/JSDesktopNotificationsCustom.cpp:
23756 (WebCore::JSNotificationCenter::requestPermission):
23757 (WebCore::JSNotification::addEventListener):
23758 (WebCore::JSNotification::removeEventListener):
23759 Fix build regresssion.
23761 2010-04-09 Pavel Feldman <pfeldman@chromium.org>
23763 Reviewed by Joseph Pecoraro.
23765 Web Inspector: Console with two recursive arrays causes infinite loop trying to display.
23766 https://bugs.webkit.org/show_bug.cgi?id=37133
23768 * inspector/front-end/ConsoleView.js:
23769 (WebInspector.ConsoleView.prototype._printArray):
23770 (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
23771 * inspector/front-end/InjectedScript.js:
23772 (injectedScriptConstructor):
23774 2010-04-09 Kevin Watters <kevinwatters@gmail.com>
23776 Reviewed by Eric Seidel.
23778 [wx] Basic implementation of SVG support for wx port.
23780 * css/CSSFontFaceSource.cpp:
23781 * platform/graphics/wx/FontPlatformData.h:
23782 (WebCore::FontPlatformData::FontPlatformData):
23783 (WebCore::FontPlatformData::size):
23784 * platform/graphics/wx/FontPlatformDataWx.cpp:
23785 (WebCore::FontPlatformData::FontPlatformData):
23786 * platform/graphics/wx/GraphicsContextWx.cpp:
23787 (WebCore::GraphicsContext::GraphicsContext):
23788 (WebCore::GraphicsContext::clipPath):
23789 (WebCore::GraphicsContext::getCTM):
23790 (WebCore::GraphicsContext::beginPath):
23791 (WebCore::GraphicsContext::addPath):
23792 (WebCore::GraphicsContext::concatCTM):
23793 (WebCore::GraphicsContext::fillPath):
23794 (WebCore::GraphicsContext::strokePath):
23795 (WebCore::GraphicsContext::setLineDash):
23796 * platform/graphics/wx/ImageBufferWx.cpp:
23797 (WebCore::ImageBuffer::platformTransformColorSpace):
23798 * platform/graphics/wx/PathWx.cpp:
23799 (WebCore::Path::strokeContains):
23800 (WebCore::Path::debugString):
23801 (WebCore::Path::operator=):
23802 (WebCore::Path::isEmpty):
23803 * rendering/RenderSVGResourceMasker.cpp:
23806 2010-04-09 Evan Martin <evan@chromium.org>
23808 Reviewed by Darin Adler.
23810 StorageEvent destructor should be in StorageEvent.cpp
23811 https://bugs.webkit.org/show_bug.cgi?id=37356
23813 Because Storage is forward-declared in StorageEvent.h, we need to define
23814 the StorageEvent destructor in the .cpp file so that the RefPtr<Storage>
23815 destructor has a complete type for Storage.
23817 * storage/StorageEvent.cpp:
23818 (WebCore::StorageEvent::~StorageEvent):
23819 * storage/StorageEvent.h:
23821 2010-04-09 Young Han Lee <joybro@company100.net>
23823 Reviewed by Eric Seidel.
23825 [WINCE] Add forwarding header for UnicodeWince.h
23826 https://bugs.webkit.org/show_bug.cgi?id=37224
23828 * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Added.
23830 2010-04-09 Geoffrey Garen <ggaren@apple.com>
23832 Reviewed by Sam "R the K!" Weinig.
23834 Tidied up some more DOMWrapperWorld lifetime issues.
23836 * bindings/js/DOMWrapperWorld.cpp:
23837 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Notify the document that
23838 we're going away instead of deleting its data, since deleting other
23839 objects' data is error-prone and, more importantly, rude.
23841 * bindings/js/DOMWrapperWorld.h:
23842 (WebCore::DOMWrapperWorld::didCreateWrapperCache):
23843 (WebCore::DOMWrapperWorld::didDestroyWrapperCache): A few renames for
23846 * bindings/js/JSDOMBinding.cpp:
23847 * bindings/js/JSDOMBinding.h: Converted forgetAllDOMNodesForDocument
23848 to a Document member function, for the same reason.
23850 * dom/Document.cpp:
23851 (WebCore::Document::~Document):
23852 (WebCore::Document::createWrapperCache):
23853 (WebCore::Document::destroyWrapperCache):
23854 (WebCore::Document::destroyAllWrapperCaches):
23855 * dom/Document.h: Added a destroyWrapperCache function to balance
23856 createWrapperCache, so it's clear who allocates and deletes these wrapper
23859 2010-04-09 Chris Marrin <cmarrin@apple.com>
23861 Reviewed by Simon Fraser.
23863 Fixed bug where animation time was not updated when dynamically loading a style sheet
23864 https://bugs.webkit.org/show_bug.cgi?id=37352
23866 A dynamically loaded style sheet kicks off its own styleRecalc cycle. This was not
23867 bracketed with a beginAnimationUpdate/endAnimationUpdate which wasn't resetting the
23868 animation time. In some time-dependent cases this was causing a negative elapsedTime
23869 to be sent to the keyframe animator. This is an invalid case which destroys the
23870 animation prematurely. I not only added the brackets, but I also added an assert
23871 and protection for when the elapsedTime comes up negative.
23873 Test: animations/dynamic-stylesheet-loading.html
23875 * dom/Document.cpp: Added brackets
23876 (WebCore::Document::updateStyleSelector):
23877 * page/animation/KeyframeAnimation.cpp: Added assert and protection
23878 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
23880 2010-04-09 Jaime Yap <jaimeyap@google.com>
23882 Reviewed by Pavel Feldman.
23884 Web Inspector: Fixes "wrong parent" for GCEvents that come at the end of a
23885 timeline record node.
23886 https://bugs.webkit.org/show_bug.cgi?id=37340
23888 * inspector/InspectorTimelineAgent.cpp:
23889 (WebCore::InspectorTimelineAgent::didInstallTimer):
23890 (WebCore::InspectorTimelineAgent::didRemoveTimer):
23891 (WebCore::InspectorTimelineAgent::didMarkTimeline):
23892 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
23893 (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
23894 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
23895 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
23897 2010-04-09 Abhishek Arya <inferno@chromium.org>
23899 Reviewed by Adam Barth.
23901 Prevent HTTP responses served with JSON content type from being rendered as HTML.
23903 Test: http/tests/security/xss-DENIED-mime-type-execute-as-html.html
23905 * dom/DOMImplementation.cpp:
23906 (WebCore::DOMImplementation::isTextMIMEType): Render application/json as text/plain.
23907 * platform/MIMETypeRegistry.cpp:
23908 (WebCore::initializeSupportedNonImageMimeTypes): Add a compile assert to prevent addition of new mime types in non-image types.
23910 2010-04-09 Shinichiro Hamaji <hamaji@chromium.org>
23912 Reviewed by Eric Seidel.
23914 Prevent wrong use of PrintContext
23915 https://bugs.webkit.org/show_bug.cgi?id=37194
23917 No new tests because this doesn't change the behavior.
23919 * page/PrintContext.cpp:
23920 (WebCore::PrintContext::PrintContext):
23921 (WebCore::PrintContext::~PrintContext):
23922 (WebCore::PrintContext::begin):
23923 (WebCore::PrintContext::end):
23924 * page/PrintContext.h:
23926 2010-04-09 Vitaly Repeshko <vitalyr@chromium.org>
23928 Reviewed by Darin Fisher.
23930 [V8] SerializedScriptValue value doesn't follow the spec for DOM objects and files
23931 https://bugs.webkit.org/show_bug.cgi?id=37094
23933 This patch adds support for file-related types.
23935 * bindings/v8/SerializedScriptValue.cpp:
23937 (WebCore::Writer::writeString):
23938 (WebCore::Writer::writeWebCoreString):
23939 (WebCore::Writer::writeBlob):
23940 (WebCore::Writer::writeFile):
23941 (WebCore::Writer::writeFileList):
23942 (WebCore::Writer::doWriteString):
23943 (WebCore::Writer::doWriteWebCoreString):
23944 (WebCore::Serializer::writeBlob):
23945 (WebCore::Serializer::writeFile):
23946 (WebCore::Serializer::writeFileList):
23947 (WebCore::Serializer::doSerialize):
23948 (WebCore::Reader::read):
23949 (WebCore::Reader::readWebCoreString):
23950 (WebCore::Reader::readBlob):
23951 (WebCore::Reader::readFile):
23952 (WebCore::Reader::readFileList):
23953 (WebCore::SerializedScriptValue::SerializedScriptValue):
23955 2010-04-09 Geoffrey Garen <ggaren@apple.com>
23957 Reviewed by Cameron Zwarich.
23959 Tidied up some DOMWrapperWorld lifetime issues.
23961 * bindings/js/DOMWrapperWorld.cpp:
23962 (WebCore::DOMWrapperWorld::DOMWrapperWorld): Made DOMWrapperWorld wholly
23963 responsible for managing its presence in WebCoreJSClientData's world set.
23964 This is simpler and more encapsulated than making its clients sometimes
23965 responsible for managing that set and sometimes not.
23967 * bindings/js/DOMWrapperWorld.h:
23968 (WebCore::DOMWrapperWorld::create): Made isNormal default to false,
23969 removing one of the reasons for the IsolatedWorld class to exist, so I
23970 could remove that class.
23972 * bindings/js/JSDOMWindowBase.cpp:
23973 (WebCore::JSDOMWindowBase::commonJSGlobalData): Used the work-around below.
23975 * bindings/js/ScriptController.cpp:
23976 (WebCore::ScriptController::createWorld): Nixed IsolatedWorld, which is
23979 * bindings/js/WebCoreJSClientData.h:
23980 (WebCore::initNormalWorldClientData): Added a work-around for the fact
23981 that WebCoreJSClientData must be set as globalData->clientData before
23982 the DOMWrapperWorld constructor runs. This removed the other reason
23983 for the IsolatedWorld class to exist, so I could remove that class.
23985 2010-04-09 Yaar Schnitman <yaar@chromium.org>
23987 Reviewed by Nate Chapin.
23989 Testing utility for CodeGeneratorV8.pm
23990 https://bugs.webkit.org/show_bug.cgi?id=37286
23992 * bindings/v8/test: Added.
23993 * bindings/v8/test/TestObj.idl: Contains basic IDL definitions for testing purposes.
23994 * bindings/v8/test/V8TestObj.cpp: Expected output.
23995 * bindings/v8/test/V8TestObj.h: Expected output.
23996 * bindings/v8/test/run_tests.py: Tool for generating the above h/cpp files from the idl file.
23998 2010-04-09 Darin Adler <darin@apple.com>
24000 Reviewed by Maciej Stachowiak.
24002 https://bugs.webkit.org/show_bug.cgi?id=37370
24003 Division by 0 in RenderBoxModelObject::calculateFillTileSize
24005 Test: fast/backgrounds/background-fill-zero-area-crash.html
24007 * rendering/RenderBoxModelObject.cpp:
24008 (WebCore::RenderBoxModelObject::calculateFillTileSize): Added checks for
24009 zero before doing division. These come up when the area to fill is zero.
24011 2010-04-09 Alexey Proskuryakov <ap@apple.com>
24013 Reviewed by Maciej Stachowiak.
24015 https://bugs.webkit.org/show_bug.cgi?id=24572
24016 XMLHttpRequest.statusText returns always "OK" on Mac
24018 Covered by existing tests, which now pass.
24020 * WebCore.base.exp:
24021 * platform/mac/WebCoreSystemInterface.h:
24022 * platform/mac/WebCoreSystemInterface.mm:
24023 Added a WebKitSystemInterface method to fetch status line.
24025 * platform/network/HTTPParsers.cpp: (WebCore::extractReasonPhraseFromHTTPStatusLine):
24026 * platform/network/HTTPParsers.h:
24027 * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
24028 Moved code for parsing status line to HTTPHeaders, as it's used for both Mac and CF now.
24030 * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
24031 Use the actual reason phrase when available, and "OK" otherwise. Synthesizing a reson when
24032 there isn't one is misleading, so we'll stick to our old broken behavior on Tiger, rather than
24033 introduce a new broken one.
24035 2010-04-09 David Hyatt <hyatt@apple.com>
24037 Reviewed by Oliver Hunt.
24039 https://bugs.webkit.org/show_bug.cgi?id=37361, clean up FillLayer.
24041 * css/CSSComputedStyleDeclaration.cpp:
24042 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24043 * rendering/style/FillLayer.h:
24044 (WebCore::FillLayer::sizeType):
24045 * rendering/style/RenderStyle.h:
24046 (WebCore::InheritedFlags::backgroundImage):
24047 (WebCore::InheritedFlags::backgroundRepeatX):
24048 (WebCore::InheritedFlags::backgroundRepeatY):
24049 (WebCore::InheritedFlags::backgroundComposite):
24050 (WebCore::InheritedFlags::backgroundAttachment):
24051 (WebCore::InheritedFlags::backgroundClip):
24052 (WebCore::InheritedFlags::backgroundOrigin):
24053 (WebCore::InheritedFlags::backgroundXPosition):
24054 (WebCore::InheritedFlags::backgroundYPosition):
24055 (WebCore::InheritedFlags::backgroundSizeType):
24056 (WebCore::InheritedFlags::backgroundSizeLength):
24057 (WebCore::InheritedFlags::maskImage):
24058 (WebCore::InheritedFlags::maskRepeatX):
24059 (WebCore::InheritedFlags::maskRepeatY):
24060 (WebCore::InheritedFlags::maskComposite):
24061 (WebCore::InheritedFlags::maskAttachment):
24062 (WebCore::InheritedFlags::maskClip):
24063 (WebCore::InheritedFlags::maskOrigin):
24064 (WebCore::InheritedFlags::maskXPosition):
24065 (WebCore::InheritedFlags::maskYPosition):
24066 (WebCore::InheritedFlags::maskSizeType):
24067 (WebCore::InheritedFlags::maskSizeLength):
24069 2010-04-09 Sam Weinig <sam@webkit.org>
24071 Add another missing export to fix the build.
24073 * WebCore.base.exp:
24075 2010-04-09 David Hyatt <hyatt@apple.com>
24077 Reviewed by Adam Roben.
24079 https://bugs.webkit.org/show_bug.cgi?id=37353, clean up cursors used by RenderStyles.
24081 * css/CSSComputedStyleDeclaration.cpp:
24082 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24083 * page/EventHandler.cpp:
24084 (WebCore::EventHandler::selectCursor):
24085 * rendering/style/CursorData.h:
24086 (WebCore::CursorData::CursorData):
24087 (WebCore::CursorData::operator==):
24088 (WebCore::CursorData::image):
24089 (WebCore::CursorData::hotSpot):
24090 * rendering/style/RenderStyle.cpp:
24091 (WebCore::RenderStyle::addCursor):
24093 2010-04-09 David Hyatt <hyatt@apple.com>
24095 Reviewed by Adam Roben.
24097 https://bugs.webkit.org/show_bug.cgi?id=37349, RenderStyle cleanup. Working from the outside in to
24098 bring some style consistency to RenderStyle and its associated classes. This patch cleans up the
24099 border and outline classes.
24101 * rendering/RenderTable.cpp:
24102 (WebCore::RenderTable::calcBorderLeft):
24103 (WebCore::RenderTable::calcBorderRight):
24104 (WebCore::RenderTable::outerBorderTop):
24105 (WebCore::RenderTable::outerBorderBottom):
24106 (WebCore::RenderTable::outerBorderLeft):
24107 (WebCore::RenderTable::outerBorderRight):
24108 * rendering/RenderTableCell.cpp:
24109 (WebCore::compareBorders):
24110 * rendering/RenderTableSection.cpp:
24111 (WebCore::RenderTableSection::calcOuterBorderTop):
24112 (WebCore::RenderTableSection::calcOuterBorderBottom):
24113 (WebCore::RenderTableSection::calcOuterBorderLeft):
24114 (WebCore::RenderTableSection::calcOuterBorderRight):
24115 * rendering/style/BorderData.h:
24116 (WebCore::BorderData::hasBorder):
24117 (WebCore::BorderData::hasBorderRadius):
24118 (WebCore::BorderData::borderLeftWidth):
24119 (WebCore::BorderData::borderRightWidth):
24120 (WebCore::BorderData::borderTopWidth):
24121 (WebCore::BorderData::borderBottomWidth):
24122 (WebCore::BorderData::operator==):
24123 (WebCore::BorderData::left):
24124 (WebCore::BorderData::right):
24125 (WebCore::BorderData::top):
24126 (WebCore::BorderData::bottom):
24127 (WebCore::BorderData::image):
24128 (WebCore::BorderData::topLeft):
24129 (WebCore::BorderData::topRight):
24130 (WebCore::BorderData::bottomLeft):
24131 (WebCore::BorderData::bottomRight):
24132 * rendering/style/BorderValue.h:
24133 (WebCore::BorderValue::BorderValue):
24134 (WebCore::BorderValue::nonZero):
24135 (WebCore::BorderValue::isTransparent):
24136 (WebCore::BorderValue::operator==):
24137 (WebCore::BorderValue::color):
24138 (WebCore::BorderValue::width):
24139 (WebCore::BorderValue::style):
24140 * rendering/style/CollapsedBorderValue.h:
24141 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
24142 (WebCore::CollapsedBorderValue::width):
24143 (WebCore::CollapsedBorderValue::style):
24144 (WebCore::CollapsedBorderValue::exists):
24145 (WebCore::CollapsedBorderValue::color):
24146 (WebCore::CollapsedBorderValue::isTransparent):
24147 (WebCore::CollapsedBorderValue::precedence):
24148 (WebCore::CollapsedBorderValue::operator==):
24149 * rendering/style/OutlineValue.h:
24150 (WebCore::OutlineValue::OutlineValue):
24151 (WebCore::OutlineValue::operator==):
24152 (WebCore::OutlineValue::offset):
24153 (WebCore::OutlineValue::isAuto):
24154 * rendering/style/RenderStyle.cpp:
24155 (WebCore::RenderStyle::getBorderRadiiForRect):
24156 * rendering/style/RenderStyle.h:
24157 (WebCore::InheritedFlags::borderLeft):
24158 (WebCore::InheritedFlags::borderRight):
24159 (WebCore::InheritedFlags::borderTop):
24160 (WebCore::InheritedFlags::borderBottom):
24161 (WebCore::InheritedFlags::borderImage):
24162 (WebCore::InheritedFlags::borderTopLeftRadius):
24163 (WebCore::InheritedFlags::borderTopRightRadius):
24164 (WebCore::InheritedFlags::borderBottomLeftRadius):
24165 (WebCore::InheritedFlags::borderBottomRightRadius):
24166 (WebCore::InheritedFlags::borderLeftStyle):
24167 (WebCore::InheritedFlags::borderLeftColor):
24168 (WebCore::InheritedFlags::borderLeftIsTransparent):
24169 (WebCore::InheritedFlags::borderRightStyle):
24170 (WebCore::InheritedFlags::borderRightColor):
24171 (WebCore::InheritedFlags::borderRightIsTransparent):
24172 (WebCore::InheritedFlags::borderTopStyle):
24173 (WebCore::InheritedFlags::borderTopColor):
24174 (WebCore::InheritedFlags::borderTopIsTransparent):
24175 (WebCore::InheritedFlags::borderBottomStyle):
24176 (WebCore::InheritedFlags::borderBottomColor):
24177 (WebCore::InheritedFlags::borderBottomIsTransparent):
24178 (WebCore::InheritedFlags::outlineWidth):
24179 (WebCore::InheritedFlags::outlineStyleIsAuto):
24180 (WebCore::InheritedFlags::outlineColor):
24181 (WebCore::InheritedFlags::outlineOffset):
24182 (WebCore::InheritedFlags::columnRuleColor):
24183 (WebCore::InheritedFlags::resetBorderTop):
24184 (WebCore::InheritedFlags::resetBorderRight):
24185 (WebCore::InheritedFlags::resetBorderBottom):
24186 (WebCore::InheritedFlags::resetBorderLeft):
24187 (WebCore::InheritedFlags::resetBorderImage):
24188 (WebCore::InheritedFlags::resetBorderTopLeftRadius):
24189 (WebCore::InheritedFlags::resetBorderTopRightRadius):
24190 (WebCore::InheritedFlags::resetBorderBottomLeftRadius):
24191 (WebCore::InheritedFlags::resetBorderBottomRightRadius):
24192 (WebCore::InheritedFlags::setBorderImage):
24193 (WebCore::InheritedFlags::setBorderTopLeftRadius):
24194 (WebCore::InheritedFlags::setBorderTopRightRadius):
24195 (WebCore::InheritedFlags::setBorderBottomLeftRadius):
24196 (WebCore::InheritedFlags::setBorderBottomRightRadius):
24197 (WebCore::InheritedFlags::setBorderLeftWidth):
24198 (WebCore::InheritedFlags::setBorderLeftStyle):
24199 (WebCore::InheritedFlags::setBorderLeftColor):
24200 (WebCore::InheritedFlags::setBorderRightWidth):
24201 (WebCore::InheritedFlags::setBorderRightStyle):
24202 (WebCore::InheritedFlags::setBorderRightColor):
24203 (WebCore::InheritedFlags::setBorderTopWidth):
24204 (WebCore::InheritedFlags::setBorderTopStyle):
24205 (WebCore::InheritedFlags::setBorderTopColor):
24206 (WebCore::InheritedFlags::setBorderBottomWidth):
24207 (WebCore::InheritedFlags::setBorderBottomStyle):
24208 (WebCore::InheritedFlags::setBorderBottomColor):
24209 (WebCore::InheritedFlags::setOutlineWidth):
24210 (WebCore::InheritedFlags::setOutlineStyle):
24211 (WebCore::InheritedFlags::setOutlineColor):
24212 (WebCore::InheritedFlags::setOutlineOffset):
24213 (WebCore::InheritedFlags::setColumnRuleColor):
24214 (WebCore::InheritedFlags::setColumnRuleWidth):
24215 * rendering/style/StyleMultiColData.h:
24216 (WebCore::StyleMultiColData::ruleWidth):
24218 2010-04-09 Andrey Kosyakov <caseq@chromium.org>
24220 Reviewed by Darin Adler.
24222 Fixed ResourceError::failingURL() and ResourceResponse::httpStatusText()
24223 to return meaningful values.
24224 https://bugs.webkit.org/show_bug.cgi?id=37274
24226 * platform/network/mac/ResourceErrorMac.mm:
24227 (WebCore::ResourceError::platformLazyInit):
24228 * platform/network/mac/ResourceResponseMac.mm:
24229 (WebCore::ResourceResponse::platformLazyInit):
24231 2010-04-09 Jeremy Orlow <jorlow@chromium.org>
24233 Reviewed by Darin Adler.
24235 Move the IDB::open ExceptionCode paramter to be last
24236 https://bugs.webkit.org/show_bug.cgi?id=37277
24238 Move the ExceptionCode paramter to the last position in
24239 IndexedDatabaseRequest::open and friends. It should definitely
24240 go after the callbacks to keep the parameters that come directly
24241 from javascript together. And having output parameters appear
24242 last is done often in the code base, so it makes sense to push
24243 it past the Frame* param as well.
24245 No functional change.
24247 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
24248 (WebCore::V8IndexedDatabaseRequest::openCallback):
24249 * storage/IndexedDatabase.h:
24250 * storage/IndexedDatabaseImpl.cpp:
24251 (WebCore::IndexedDatabaseImpl::open):
24252 * storage/IndexedDatabaseImpl.h:
24253 * storage/IndexedDatabaseRequest.cpp:
24254 (WebCore::IndexedDatabaseRequest::open):
24255 * storage/IndexedDatabaseRequest.h:
24257 2010-04-09 Dmitry Titov <dimich@chromium.org>
24259 Reviewed by Darin Adler.
24261 WebCore: WorkerGlobalScope.close() should let the currently running script complete execution, then terminate the worker.
24262 https://bugs.webkit.org/show_bug.cgi?id=37053
24264 Test: fast/workers/worker-close-more.html
24266 * bindings/js/WorkerScriptController.cpp:
24267 (WebCore::WorkerScriptController::forbidExecution):
24268 (WebCore::WorkerScriptController::):
24269 * bindings/v8/WorkerScriptController.cpp:
24270 (WebCore::WorkerScriptController::forbidExecution):
24271 * bindings/v8/WorkerScriptController.h:
24272 (WebCore::WorkerScriptController::):
24273 Added option parameter to forbidExecution (both JCS and V8 versions) that specifies whether currently running
24274 script should be immediately terminated or left executed until the end.
24276 * bindings/js/WorkerScriptController.h:
24277 (WebCore::WorkerScriptController::workerContextWrapper):
24278 This method now can return 0 instead of context if the further execution of JS is forbidden. Since any JS execution requires
24279 fetching JS global object first, returning 0 here is a good way to prevent re-entry into JS once worker started termination.
24280 V8 version does similar thing already in WorkerScriptController::proxy().
24282 * workers/DedicatedWorkerContext.cpp:
24283 (WebCore::DedicatedWorkerContext::postMessage):
24284 Removed check that immediately disables postMessage from WorkerContext after close().
24286 * workers/WorkerContext.cpp:
24287 (WebCore::CloseWorkerContextTask::create):
24288 (WebCore::CloseWorkerContextTask::performTask):
24289 (WebCore::CloseWorkerContextTask::isCleanupTask):
24290 (WebCore::WorkerContext::close):
24291 Use new forbidExecution(LetRunningScriptFinish) to avoid termination of script until it executes and exits.
24292 Post a task to actually terminate the worker once the currently executing JS fragment exits.
24294 * workers/WorkerThread.cpp:
24295 (WebCore::WorkerThread::workerThread):
24296 (WebCore::WorkerThread::stop):
24297 Use new forbidExecution(TerminateRunningScript) to immediately terminate the JS.
24299 2010-04-09 Kent Tamura <tkent@chromium.org>
24301 Reviewed by Darin Adler.
24303 Implement interactive validation for forms.
24304 https://bugs.webkit.org/show_bug.cgi?id=34930
24306 - HTMLFormControlElement::checkValidity() supports unhandled invalid control list
24307 - HTMLFormElement::validateInteractively() called from prepareSubmit()
24308 prevents the submission if neither noValidate nor formNoValidate is
24309 specified, and focuses on the first invalid control of which "invalid"
24310 event is not canceled.
24312 Tests: fast/forms/checkValidity-cancel.html
24313 fast/forms/interactive-validation-cancel.html
24314 fast/forms/interactive-validation-formnovalidate.html
24315 fast/forms/interactive-validation-novalidate.html
24316 fast/forms/interactive-validation-prevented.html
24317 fast/forms/interactive-validation-remove-node-in-handler.html
24319 * html/HTMLFormControlElement.cpp:
24320 (WebCore::HTMLFormControlElement::checkValidity):
24321 If the control is invalid and the "invalid" is not canceled,
24322 push the control to the specified vector.
24323 * html/HTMLFormControlElement.h:
24324 * html/HTMLFormElement.cpp:
24325 (WebCore::HTMLFormElement::validateInteractively):
24326 The main part of the interactive validation.
24327 (WebCore::HTMLFormElement::prepareSubmit):
24328 Calls validateInteractively().
24329 (WebCore::HTMLFormElement::checkValidity):
24330 Uses collectUnhandledInvalidControls().
24331 (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
24332 * html/HTMLFormElement.h:
24334 2010-04-09 Sam Weinig <sam@webkit.org>
24336 Fix the mac WebKit2 build.
24338 * WebCore.base.exp:
24340 2010-04-08 Alexey Proskuryakov <ap@apple.com>
24342 Reviewed by Darin Adler.
24344 https://bugs.webkit.org/show_bug.cgi?id=37181
24345 <rdar://problem/7835374> REGRESSION (r54400): Hangs when doing AJAX update with large amount of data
24347 Test: fast/events/gc-freeze-with-attribute-listeners.html
24349 The problem was that we were creating JS wrappers for nodes with attribute event listeners,
24350 and GC is very slow if there are nodes with wrappers in a detached tree whose root does not
24353 * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Don't create
24354 wrappers for attribute event listeners - if there is a node, JSLazyEventListener::initializeJSFunction()
24357 * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the problem
24358 we are stepping around now.
24360 2010-04-09 Xan Lopez <xlopez@igalia.com>
24362 Reviewed by Gustavo Noronha.
24364 WebGtk GLib-CRITICAL Segmentation fault
24365 https://bugs.webkit.org/show_bug.cgi?id=34937
24367 Do not crash if a plugin does not return anything in
24368 NP_GetMIMEDescription. This can happen, and other ports gracefully
24369 handle the situation.
24371 * plugins/gtk/PluginPackageGtk.cpp:
24372 (WebCore::PluginPackage::fetchInfo):
24374 2010-04-09 Pavel Feldman <pfeldman@chromium.org>
24376 Reviewed by Yury Semikhatsky.
24378 Web Inspector: Cannot select elements within iframes with the magnifying glass.
24380 https://bugs.webkit.org/show_bug.cgi?id=31732
24382 * inspector/InspectorController.cpp:
24383 (WebCore::InspectorController::inspect):
24384 (WebCore::InspectorController::handleMousePress):
24385 * inspector/InspectorController.h:
24386 * page/EventHandler.cpp:
24387 (WebCore::EventHandler::handleMousePressEvent):
24389 2010-04-09 Tasuku Suzuki <tasuku.suzuki@nokia.com>
24391 Reviewed by Simon Hausmann.
24393 [Qt]Fix compile error with QT_NO_PROPERTIES
24394 https://bugs.webkit.org/show_bug.cgi?id=36526
24396 Disable dynamic properties when QT_NO_PROPERTIES is defined.
24398 * bridge/qt/qt_class.cpp:
24399 (JSC::Bindings::QtClass::fieldNamed):
24400 * bridge/qt/qt_instance.cpp:
24401 (JSC::Bindings::QtInstance::getPropertyNames):
24402 (JSC::Bindings::QtField::name):
24403 (JSC::Bindings::QtField::valueFromInstance):
24404 (JSC::Bindings::QtField::setValueToInstance):
24405 * bridge/qt/qt_runtime.h:
24406 (JSC::Bindings::QtField::):
24408 2010-04-09 David Leong <david.leong@nokia.com>
24410 Reviewed by Simon Hausmann.
24412 [Qt] Symbian apps crash on exit due to a bad qObject_cast.
24414 https://bugs.webkit.org/show_bug.cgi?id=37303
24416 Added check for NULL to avoid the crash.
24418 * plugins/symbian/PluginViewSymbian.cpp:
24419 (WebCore::PluginView::platformDestroy):
24421 2010-04-09 Mark Rowe <mrowe@apple.com>
24423 Reviewed by Oliver Hunt.
24425 <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
24427 * WebCore.xcodeproj/project.pbxproj: Wire up the script. Remove the three inappropriate
24428 files from the Copy Bundle Resources build phase.
24430 2010-04-09 Zhenyao Mo <zmo@google.com>
24432 Reviewed by Darin Fisher.
24434 Passing null WebGLObjects should synthesize INVALID_VALUE error
24435 https://bugs.webkit.org/show_bug.cgi?id=37047
24437 * html/canvas/WebGLRenderingContext.cpp: Synthesize INVALID_VALUE error when input object is 0.
24438 (WebCore::WebGLRenderingContext::bindAttribLocation):
24439 (WebCore::WebGLRenderingContext::compileShader):
24440 (WebCore::WebGLRenderingContext::detachShader):
24441 (WebCore::WebGLRenderingContext::validateWebGLObject):
24442 (WebCore::WebGLRenderingContext::getActiveAttrib):
24443 (WebCore::WebGLRenderingContext::getActiveUniform):
24444 (WebCore::WebGLRenderingContext::getProgramParameter):
24445 (WebCore::WebGLRenderingContext::getProgramInfoLog):
24446 (WebCore::WebGLRenderingContext::getShaderParameter):
24447 (WebCore::WebGLRenderingContext::getShaderInfoLog):
24448 (WebCore::WebGLRenderingContext::getShaderSource):
24449 (WebCore::WebGLRenderingContext::getUniform):
24450 (WebCore::WebGLRenderingContext::getUniformLocation):
24451 (WebCore::WebGLRenderingContext::linkProgram):
24452 (WebCore::WebGLRenderingContext::shaderSource):
24453 * html/canvas/WebGLRenderingContext.h: Add helper function to validate webgl object input parameters.
24455 2010-04-09 Zhenyao Mo <zmo@google.com>
24457 Reviewed by Dimitri Glazkov.
24459 Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D
24460 https://bugs.webkit.org/show_bug.cgi?id=37174
24462 Test: fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
24464 * platform/graphics/mac/GraphicsContext3DMac.cpp: resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D.
24465 (WebCore::GraphicsContext3D::copyTexImage2D):
24466 (WebCore::GraphicsContext3D::copyTexSubImage2D):
24468 2010-04-09 Evan Stade <estade@chromium.org>
24470 Reviewed by Dimitri Glazkov.
24472 [chromium] <select> dropdowns don't die when an item is selected
24473 https://bugs.webkit.org/show_bug.cgi?id=37243
24475 * platform/chromium/PopupMenuChromium.cpp:
24476 (WebCore::PopupContainer::hidePopup):
24477 (WebCore::PopupContainer::notifyPopupHidden):
24478 (WebCore::PopupListBox::hidePopup): inform container that popup is closing
24479 * platform/chromium/PopupMenuChromium.h:
24481 2010-04-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
24483 Reviewed by Simon Hausmann.
24485 [Qt] Fix crashes with package builds in release
24487 * WebCore.pro: Don't add NDEBUG to the defines here, add it from JavaScriptCore.pri
24489 2010-04-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
24491 Reviewed by Simon Fraser.
24493 Remove "all" value from the view-mode media feature (as agreed on
24494 1-Apr-2010) in the Widgets voice conf.
24496 * css/CSSValueKeywords.in:
24497 * css/MediaQueryEvaluator.cpp:
24498 (WebCore::view_modeMediaFeatureEval):
24500 2010-04-09 Sheriff Bot <webkit.review.bot@gmail.com>
24502 Unreviewed, rolling out r57286.
24503 http://trac.webkit.org/changeset/57286
24504 https://bugs.webkit.org/show_bug.cgi?id=37312
24506 "Caused intermittent test failures on all Mac bots."
24507 (Requested by eseidel on #webkit).
24509 * storage/DatabaseTracker.cpp:
24510 (WebCore::DatabaseTracker::originQuotaManagerNoLock):
24511 (WebCore::DatabaseTracker::originQuotaManager):
24512 (WebCore::DatabaseTracker::DatabaseTracker):
24513 (WebCore::DatabaseTracker::canEstablishDatabase):
24514 (WebCore::DatabaseTracker::hasEntryForOrigin):
24515 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
24516 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
24517 (WebCore::DatabaseTracker::fullPathForDatabase):
24518 (WebCore::DatabaseTracker::populateOrigins):
24519 (WebCore::DatabaseTracker::origins):
24520 (WebCore::DatabaseTracker::databaseNamesForOrigin):
24521 (WebCore::DatabaseTracker::addOpenDatabase):
24522 (WebCore::DatabaseTracker::removeOpenDatabase):
24523 (WebCore::DatabaseTracker::usageForOriginNoLock):
24524 (WebCore::DatabaseTracker::usageForOrigin):
24525 (WebCore::DatabaseTracker::quotaForOrigin):
24526 (WebCore::DatabaseTracker::setQuota):
24527 (WebCore::DatabaseTracker::deleteOrigin):
24528 (WebCore::DatabaseTracker::deleteDatabase):
24529 (WebCore::DatabaseTracker::deleteDatabaseFile):
24530 * storage/DatabaseTracker.h:
24531 * storage/SQLTransactionClient.cpp:
24532 (WebCore::SQLTransactionClient::didExecuteStatement):
24534 2010-04-09 Andras Becsi <abecsi@webkit.org>
24536 Reviewed by Simon Hausmann.
24538 [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
24539 https://bugs.webkit.org/show_bug.cgi?id=37296
24541 Do not use moc to preprocess user agent style sheets because it removes at-symbols
24542 and hexadecimal colours from declarations.
24543 Remove unneeded preprocessor usage from make-css-file-arrays.pl since the script
24544 processes default css files using regular expressions therefore preprocessing is redundant.
24546 * WebCore.pri: remove --preprocessor usage
24547 * css/make-css-file-arrays.pl: remove gcc dependency
24549 2010-04-08 Chris Evans <cevans@chromium.org>
24551 Reviewed by Sam Weinig.
24553 Use the new UserGestureIndictor for _blank POST requests.
24555 https://bugs.webkit.org/show_bug.cgi?id=34541
24557 Test: fast/events/popup-blocked-to-post-blank.html
24559 * bindings/v8/ScriptController.cpp:
24560 (WebCore::ScriptController::processingUserGesture):
24561 Use UserGestureIndicator in more cases.
24562 * page/EventHandler.cpp:
24563 (WebCore::EventHandler):
24564 Impact from UserGestureIndicator API change.
24565 (WebCore::FrameLoader::submitForm):
24566 Block the load immediately if popups are not allowed and it would
24568 * loader/RedirectScheduler.cpp:
24569 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
24570 Note the UserGestureIndicator status at the time of submission.
24571 (WebCore::ScheduledFormSubmission::fire):
24572 Use the stored UserGestureIndicator status in the asynchronous
24574 * dom/UserGestureIndicator.h:
24575 * dom/UserGestureIndicator.cpp:
24576 (WebCore::UserGestureIndicator::UserGestureIndicator):
24577 Add ability to store a negative indication.
24579 2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
24581 Reviewed by Simon Fraser.
24583 Spatial Navigation: proper handle negative x or y coordinates
24584 https://bugs.webkit.org/show_bug.cgi?id=36773
24586 In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument,
24587 sometimes negative x() or y() values are got, and the current algorithm bails out in
24590 However, when a node is in a scrollable content (content overflow <div>) and
24591 this scrollable container scrolled up, element gets offscreen, and gets negative values
24592 for y(), for example. In such cases, they are still valid to be used in Spatial Navigation
24595 Test: fast/events/spatial-navigation/snav-offscreen-content.html
24597 * page/SpatialNavigation.cpp:
24598 (WebCore::distanceDataForNode):
24599 (WebCore::checkNegativeCoordsForNode):
24601 2010-04-08 Dumitru Daniliuc <dumi@chromium.org>
24603 Reviewed by Geoffrey Garen.
24605 Create the creation callback is the current world.
24606 https://bugs.webkit.org/show_bug.cgi?id=37290
24608 * bindings/js/JSDatabaseCallback.cpp:
24609 (WebCore::JSDatabaseCallback::JSDatabaseCallback):
24611 2010-04-08 David Hyatt <hyatt@apple.com>
24613 Reviewed by Oliver Hunt.
24615 Followup optimization to bug 24300, don't leak history info via CSS :visited. If a Web
24616 site uses document colors that are the same for link and vlink in HTML and also doesn't
24617 specify any :link or :visited rules, then don't waste time resolving visited styles.
24619 There is a further optimization that could be done to detect when :link and :visited are
24620 used together in the same rule to specify a color, and this is how most sites turn off
24621 visited link colors, but this fix doesn't address that. It just restores the optimization
24622 that existed prior to the patch in 24300 landing.
24624 * css/CSSGrammar.y:
24625 * css/CSSStyleSelector.cpp:
24626 (WebCore::CSSStyleSelector::styleForElement):
24627 * dom/Document.cpp:
24628 (WebCore::Document::Document):
24630 (WebCore::Document::usesLinkRules):
24631 (WebCore::Document::setUsesLinkRules):
24633 2010-04-08 David Hyatt <hyatt@apple.com>
24635 Reviewed by Oliver Hunt.
24637 Caught by pixel tests. I missed patching the borderRightColor() call for fieldset border painting so the
24638 border stopped showing up.
24640 * rendering/RenderFieldset.cpp:
24641 (WebCore::RenderFieldset::paintBorderMinusLegend):
24643 2010-04-07 David Hyatt <hyatt@apple.com>
24645 Reviewed by Oliver Hunt.
24647 https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited.
24649 This patch implements the policy described by David Baron here:
24651 http://dbaron.org/mozilla/visited-privacy
24653 Added new tests in fast/history.
24655 * WebCore.base.exp:
24656 Expose functions needed for the WebKit SPI used by layout tests.
24658 * WebCore.xcodeproj/project.pbxproj:
24659 * accessibility/AccessibilityRenderObject.cpp:
24660 (WebCore::AccessibilityRenderObject::isVisited):
24661 Make sure accessibility objects still return visited information.
24663 * css/CSSComputedStyleDeclaration.cpp:
24664 (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
24665 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24666 * css/CSSComputedStyleDeclaration.h:
24667 (WebCore::computedStyle):
24668 Add a boolean to computed style declarations that - if set - causes the computed style
24669 to still return :visited information. For normal Web pages, this will be false. It is set
24670 to true for the Web Inspector and by the WebKit SPI used by the layout tests.
24672 * css/CSSStyleSelector.cpp:
24673 (WebCore::CSSStyleSelector::initElement):
24674 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
24675 (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
24676 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
24677 (WebCore::CSSStyleSelector::canShareStyleWithElement):
24678 (WebCore::CSSStyleSelector::styleForElement):
24679 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
24680 (WebCore::CSSStyleSelector::pseudoStyleForElement):
24681 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
24682 (WebCore::CSSStyleSelector::checkSelector):
24683 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
24684 (WebCore::CSSStyleSelector::applyPropertyToStyle):
24685 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
24686 * css/CSSStyleSelector.h:
24687 Rework the style selector to resolve two styles instead of one. The first forces the link to
24688 be unvisited, and the second forces the link to be visited. The real state of the link is
24689 cached on the principal (unvisited) style. The visited style hangs off the principal style
24690 as a pseudo style (VISITED_LINK).
24693 (WebCore::Element::pseudoStyleCacheIsInvalid):
24694 Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed.
24696 * inspector/InspectorDOMAgent.cpp:
24697 (WebCore::InspectorDOMAgent::getStyles):
24698 Let the Web Inspector see :visited computed styles by default.
24700 * platform/LinkHash.cpp:
24701 (WebCore::visitedURL):
24702 Fix an issue where <a href=""> is not hashed properly to the document's base URI, so it wasn't
24703 correctly reported as :visited.
24705 * rendering/InlineFlowBox.cpp:
24706 (WebCore::InlineFlowBox::paintBoxDecorations):
24707 (WebCore::InlineFlowBox::paintTextDecorations):
24708 * rendering/InlineTextBox.cpp:
24709 (WebCore::InlineTextBox::paint):
24710 (WebCore::InlineTextBox::paintSelection):
24711 * rendering/RenderBlock.cpp:
24712 (WebCore::RenderBlock::paintColumnRules):
24713 (WebCore::RenderBlock::paintObject):
24714 * rendering/RenderBoxModelObject.cpp:
24715 (WebCore::RenderBoxModelObject::paintBorder):
24716 * rendering/RenderFieldset.cpp:
24717 (WebCore::RenderFieldset::paintBorderMinusLegend):
24718 * rendering/RenderImage.cpp:
24719 (WebCore::RenderImage::paintFocusRings):
24720 * rendering/RenderInline.cpp:
24721 (WebCore::RenderInline::paintOutline):
24722 (WebCore::RenderInline::paintOutlineForLine):
24723 * rendering/RenderObject.cpp:
24724 (WebCore::RenderObject::drawLineForBoxSide):
24725 (WebCore::RenderObject::drawArcForBoxSide):
24726 (WebCore::RenderObject::paintOutline):
24727 (WebCore::decorationColor):
24728 (WebCore::RenderObject::getTextDecorationColors):
24729 * rendering/RenderObject.h:
24730 * rendering/RenderPath.cpp:
24731 (WebCore::RenderPath::paint):
24732 * rendering/RenderReplaced.cpp:
24733 (WebCore::RenderReplaced::paint):
24734 * rendering/RenderSVGContainer.cpp:
24735 (WebCore::RenderSVGContainer::paint):
24736 * rendering/RenderSVGImage.cpp:
24737 (WebCore::RenderSVGImage::paint):
24738 * rendering/RenderSVGRoot.cpp:
24739 (WebCore::RenderSVGRoot::paint):
24740 * rendering/RenderTableCell.cpp:
24741 (WebCore::RenderTableCell::collapsedLeftBorder):
24742 (WebCore::RenderTableCell::collapsedRightBorder):
24743 (WebCore::RenderTableCell::collapsedTopBorder):
24744 (WebCore::RenderTableCell::collapsedBottomBorder):
24745 (WebCore::RenderTableCell::paintCollapsedBorder):
24746 * rendering/style/CollapsedBorderValue.h:
24747 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
24748 (WebCore::CollapsedBorderValue::color):
24749 (WebCore::CollapsedBorderValue::operator==):
24750 Patch painting code to fetch visitedDependentColors from the RenderStyle. Properties that
24751 are honored include background-color, color, border colors, outline color, column rules,
24752 and fill and stroke (both SVG and our custom versions).
24754 * rendering/style/RenderStyle.cpp:
24755 (WebCore::RenderStyle::RenderStyle):
24756 (WebCore::RenderStyle::diff):
24757 (WebCore::borderStyleForColorProperty):
24758 (WebCore::colorIncludingFallback):
24759 (WebCore::RenderStyle::visitedDependentColor):
24760 * rendering/style/RenderStyle.h:
24762 (WebCore::InheritedFlags::NonInheritedFlags::operator==):
24763 (WebCore::InheritedFlags::setBitDefaults):
24764 (WebCore::InheritedFlags::insideLink):
24765 (WebCore::InheritedFlags::isLink):
24766 (WebCore::InheritedFlags::setInsideLink):
24767 (WebCore::InheritedFlags::setIsLink):
24768 * rendering/style/RenderStyleConstants.h:
24769 Change how link information is stored. The noninherited flags now have a bit set for if you're a link
24770 or not. The inherited flags now cache whether you're inside a visited or unvisited link (or no link at
24774 * svg/graphics/SVGPaintServer.cpp:
24775 (WebCore::SVGPaintServer::fillPaintServer):
24776 (WebCore::SVGPaintServer::strokePaintServer):
24777 Patch SVG fill/stroke painting to honor :visited.
24779 2010-04-08 Benjamin Otte <otte@gnome.org>
24781 Reviewed by Gustavo Noronha.
24783 Fix build with MathML enabled.
24787 2010-04-08 Daniel Bates <dbates@rim.com>
24789 No review, rolling out 56655.
24790 http://trac.webkit.org/changeset/56655
24791 https://bugs.webkit.org/show_bug.cgi?id=9268
24793 Rolling out the change committed in change set 56655
24794 because it caused a regression in some of the mozilla
24795 and mozilla expected failure test cases, such as:
24796 tables/mozilla/marvin/backgr_simple-table-row.html, and
24797 tables/mozilla/marvin/backgr_simple-table-row-group.html.
24799 We need to look into this issue some more.
24801 * rendering/RenderBoxModelObject.cpp:
24802 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24803 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
24804 * rendering/RenderBoxModelObject.h:
24805 * rendering/RenderObject.h:
24806 * rendering/RenderTableCell.cpp:
24807 * rendering/RenderTableCell.h:
24809 2010-03-30 Dumitru Daniliuc <dumi@chromium.org>
24811 Reviewed by Dimitri Glazkov.
24813 Refactor DatabaseTracker, part 1: Remove the dependency on
24814 OriginQuotaManager from DatabaseTracker.h.
24816 https://bugs.webkit.org/show_bug.cgi?id=31482
24818 * storage/DatabaseTracker.cpp:
24819 (originQuotaManager):
24820 (WebCore::DatabaseTracker::DatabaseTracker):
24821 (WebCore::DatabaseTracker::canEstablishDatabase):
24822 (WebCore::DatabaseTracker::hasEntryForOrigin):
24823 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
24824 (WebCore::DatabaseTracker::databaseChanged):
24825 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
24826 (WebCore::DatabaseTracker::fullPathForDatabase):
24827 (WebCore::DatabaseTracker::populateOrigins):
24828 (WebCore::DatabaseTracker::origins):
24829 (WebCore::DatabaseTracker::databaseNamesForOrigin):
24830 (WebCore::DatabaseTracker::removeOpenDatabase):
24831 (WebCore::DatabaseTracker::usageForOriginNoLock):
24832 (WebCore::DatabaseTracker::usageForOrigin):
24833 (WebCore::DatabaseTracker::quotaForOrigin):
24834 (WebCore::DatabaseTracker::setQuota):
24835 (WebCore::DatabaseTracker::deleteOrigin):
24836 (WebCore::DatabaseTracker::deleteDatabase):
24837 (WebCore::DatabaseTracker::deleteDatabaseFile):
24838 * storage/DatabaseTracker.h:
24839 * storage/SQLTransactionClient.cpp:
24840 (WebCore::SQLTransactionClient::didExecuteStatement):
24842 2010-04-08 Kwang Yul Seo <skyul@company100.net>
24844 Reviewed by Simon Hausmann.
24846 [WINCE] Replace max with std::max
24847 https://bugs.webkit.org/show_bug.cgi?id=37201
24849 std::max is preferred.
24851 * platform/wince/FileSystemWince.cpp:
24852 (WebCore::makeAllDirectories):
24853 (WebCore::pathGetFileName):
24855 2010-04-08 Antonio Gomes <tonikitoo@webkit.org>
24857 Reviewed by Laszlo Gombos.
24859 [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility
24860 https://bugs.webkit.org/show_bug.cgi?id=36405
24862 * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp.
24863 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24865 2010-04-08 Pavel Feldman <pfeldman@chromium.org>
24867 Reviewed by Yury Semikhatsky.
24869 Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.
24871 https://bugs.webkit.org/show_bug.cgi?id=37267
24873 * English.lproj/localizedStrings.js:
24874 * inspector/InspectorController.cpp:
24875 (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
24876 (WebCore::InspectorController::mainResourceFiredLoadEvent):
24877 * inspector/InspectorController.h:
24878 * inspector/InspectorTimelineAgent.cpp:
24879 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
24880 (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
24881 * inspector/InspectorTimelineAgent.h:
24883 * inspector/front-end/ResourcesPanel.js:
24884 (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
24885 * inspector/front-end/TimelineAgent.js:
24886 * inspector/front-end/TimelineGrid.js:
24887 (WebInspector.TimelineGrid.prototype.removeEventDividers):
24888 * inspector/front-end/TimelinePanel.js:
24889 (WebInspector.TimelinePanel):
24890 (WebInspector.TimelinePanel.prototype.get _recordStyles):
24891 (WebInspector.TimelinePanel.prototype._updateMarks):
24892 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
24893 (WebInspector.TimelinePanel.prototype._clearPanel):
24894 (WebInspector.TimelinePanel.prototype._refresh):
24895 (WebInspector.TimelinePanel.prototype._refreshRecords):
24896 (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
24897 (WebInspector.TimelineRecordGraphRow.prototype.update):
24898 * inspector/front-end/inspector.css:
24899 (.resources-event-divider):
24900 (.resources-red-divider):
24901 (.resources-blue-divider):
24902 (.resources-orange-divider):
24904 2010-04-01 Antonio Gomes <tonikitoo@webkit.org>
24906 Reviewed by David Hyatt.
24908 [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
24909 https://bugs.webkit.org/show_bug.cgi?id=29431
24911 Test: fast/overflow/scrollbar-restored-and-then-locked.html
24913 Patch introduces a lock scrollbars concept to ScrollView, as in WebDynamicScrollBarsView.mm/h
24914 on WebKit/mac. It is needed because in QtWebKit, we have Api for setting both vertical and
24915 horizontal scrollbars on/off/auto. When it is set to off, for example, it should remain
24916 as such, unless unset.
24918 For the locking concept, optional 'lock' parameters were added to setScrollbarModes,
24919 setHorizontalScrollbarMode and setVerticalScrollbarMode methods of ScrollView. As these
24920 are all optional, any previous code calling them do not need modification.
24922 Two optional parameters were also added to Frame's createView method, for horizontal and vertical
24923 lock state persistence cross page loads.
24926 (WebCore::Frame::createView):
24927 * platform/ScrollView.cpp:
24928 (WebCore::ScrollView::ScrollView):
24929 (WebCore::ScrollView::setScrollbarModes):
24930 (WebCore::ScrollView::setHorizontalScrollbarMode):
24931 (WebCore::ScrollView::setVerticalScrollbarMode):
24932 * platform/ScrollView.h:
24933 (WebCore::ScrollView::setHorizontalScrollbarLock):
24934 (WebCore::ScrollView::isHorizontalScrollbarLocked):
24935 (WebCore::ScrollView::setVerticalScrollbarLock):
24936 (WebCore::ScrollView::isVerticalScrollbarLocked):
24937 (WebCore::ScrollView::setScrollingModesLocked):
24939 2010-04-08 Yury Semikhatsky <yurys@chromium.org>
24941 Reviewed by Pavel Feldman.
24943 Correctly save number of properties when object being serialized
24944 have properties in its prorotype.
24946 https://bugs.webkit.org/show_bug.cgi?id=37263
24948 * bindings/v8/SerializedScriptValue.cpp:
24949 (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
24950 (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
24952 2010-04-08 Jeremy Orlow <jorlow@chromium.org>
24954 Reviewed by Yury Semikhatsky.
24956 IDB callbacks should fire asynchronously
24957 https://bugs.webkit.org/show_bug.cgi?id=37265
24959 Fix the firing behavior of the callbacks to not be synchronous.
24961 There's still a major bug that I'm trying to track down that is keeping
24962 us from testing this stuff. Promise lots of tests ASAP.
24964 * bindings/v8/custom/V8CustomIDBCallbacks.h:
24965 (WebCore::V8CustomIDBCallbacks::onSuccessAsync):
24966 (WebCore::V8CustomIDBCallbacks::onErrorAsync):
24967 * storage/IDBCallbacks.h:
24968 (WebCore::IDBCallbacks::IDBCallbacks):
24969 (WebCore::IDBCallbacks::onSuccess):
24970 (WebCore::IDBCallbacks::onError):
24971 (WebCore::IDBCallbacks::timerFired):
24972 * storage/IndexedDatabaseRequest.cpp:
24974 2010-04-08 Kent Tamura <tkent@chromium.org>
24976 Reviewed by Darin Adler.
24978 willValidate doesn't need to check existence of a form element and a name attribute.
24979 https://bugs.webkit.org/show_bug.cgi?id=34733
24981 Remove checks against m_form and m_hasName in
24982 HTMLFormControlElement::willValidate(), and remove the code to
24983 track their updates.
24985 Test: fast/forms/willvalidate.html
24987 * html/HTMLFormControlElement.cpp:
24988 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
24989 (WebCore::HTMLFormControlElement::parseMappedAttribute):
24990 (WebCore::HTMLFormControlElement::insertedIntoTree):
24991 (WebCore::HTMLFormControlElement::removedFromTree):
24992 (WebCore::HTMLFormControlElement::recalcWillValidate):
24993 (WebCore::HTMLFormControlElement::willValidate):
24994 (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
24995 * html/HTMLFormControlElement.h:
24996 (WebCore::HTMLFormControlElement::formDestroyed):
24997 * html/HTMLInputElement.cpp:
24998 (WebCore::HTMLInputElement::setInputType):
24999 setNeedsWillValidateCheck() should be called before
25000 setAttribute(valueAttr, ...) is called.
25002 2010-04-08 Young Han Lee <joybro@company100.net>
25004 Reviewed by Simon Hausmann.
25006 [WINCE] Add missing headers
25007 https://bugs.webkit.org/show_bug.cgi?id=37199
25009 Include missing headers.
25011 * platform/graphics/wince/FontCustomPlatformData.cpp:
25012 * platform/graphics/wince/FontPlatformData.cpp:
25013 * platform/graphics/wince/GraphicsContextWince.cpp:
25014 * platform/graphics/wince/ImageBufferWince.cpp:
25015 * platform/graphics/wince/PlatformPathWince.h:
25016 * platform/wince/FileSystemWince.cpp:
25018 2010-04-08 Kwang Yul Seo <skyul@company100.net>
25020 Reviewed by Simon Hausmann.
25022 [WINCE] Use WebCore::instanceHandle()
25023 https://bugs.webkit.org/show_bug.cgi?id=37202
25025 Page::instanceHandle() is moved to WebCore::instanceHandle().
25027 * platform/wince/PasteboardWince.cpp:
25028 (WebCore::Pasteboard::Pasteboard):
25029 * platform/wince/SharedTimerWince.cpp:
25030 (WebCore::initializeOffScreenTimerWindow):
25032 2010-04-08 Vitaly Repeshko <vitalyr@chromium.org>
25034 Reviewed by Dimitri Glazkov.
25036 [V8] Fix crash in NodeFilterCondition in detached iframe
25037 https://bugs.webkit.org/show_bug.cgi?id=37234
25039 Test: fast/dom/node-filter-detached-iframe-crash.html
25041 * bindings/v8/V8NodeFilterCondition.cpp:
25042 (WebCore::V8NodeFilterCondition::acceptNode): Switched to using
25043 callFunctionWithoutFrame.
25044 * bindings/v8/V8Proxy.cpp:
25045 (WebCore::V8Proxy::callFunctionWithoutFrame): Added a function to
25046 call V8 with no current frame.
25047 * bindings/v8/V8Proxy.h:
25049 2010-04-08 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
25051 Reviewed by Simon Hausmann.
25053 [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp
25054 https://bugs.webkit.org/show_bug.cgi?id=37226
25056 * platform/graphics/qt/GraphicsContext3DQt.cpp:
25057 (WebCore::GraphicsContext3D::shaderSource):
25059 2010-04-08 Chris Evans <cevans@chromium.org>
25061 Reviewed by Adam Barth.
25063 Sanity: apply a max node depth to XML parsing.
25065 https://bugs.webkit.org/show_bug.cgi?id=37247
25067 Test: fast/images/svg-nested.html
25069 * dom/XMLTokenizer.cpp:
25070 (WebCore::XMLTokenizer::pushCurrentNode):
25071 Error out the parse upon a really large node depth.
25073 2010-04-07 Dumitru Daniliuc <dumi@chromium.org>
25075 Reviewed by Jeremy Orlow.
25077 Fix Chromium's HTML5 DB support in --single-process mode.
25078 https://bugs.webkit.org/show_bug.cgi?id=37186.
25080 Always register and use Chromium's SQLite VFS for
25081 WebSQLDatabases. Keep using the default VFS in all other
25082 cases. This change should allow Chromium to support
25083 WebSQLDatabases in --single-process mode.
25085 Also, cleaning up a bit SQLiteFileSystemChromium and getting rid
25086 of the SQLITE_OPEN_FULLMUTEX flag: we use sqlite DB handles only
25087 on the DB thread, so we don't need multi-threaded support.
25089 * platform/sql/SQLiteDatabase.cpp:
25090 (WebCore::SQLiteDatabase::open):
25091 * platform/sql/SQLiteDatabase.h:
25092 * platform/sql/SQLiteFileSystem.cpp:
25093 (WebCore::SQLiteFileSystem::openDatabase):
25094 * platform/sql/SQLiteFileSystem.h:
25095 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
25096 (WebCore::SQLiteFileSystem::openDatabase):
25097 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
25098 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
25099 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
25100 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
25101 * storage/Database.cpp:
25102 (WebCore::Database::performOpenAndVerify):
25104 2010-04-07 Chris Marrin <cmarrin@apple.com>
25106 Reviewed by Steve Falkenburg.
25108 Remove QuartzCoreInterface from the build
25110 No longer needed since QuartzCore.dll is now included in the latest Safari release (4.0.5).
25111 This gets rid of all the function shims from the clients of QuartzCore.dll.
25113 * platform/graphics/win/GraphicsLayerCACF.cpp:
25114 (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
25115 * platform/graphics/win/WKCACFLayer.cpp:
25116 (WebCore::toCACFLayerType):
25117 (WebCore::toCACFContentsGravityType):
25118 (WebCore::fromCACFContentsGravityType):
25119 (WebCore::toCACFFilterType):
25120 (WebCore::fromCACFFilterType):
25121 (WebCore::WKCACFLayer::isTransformLayer):
25122 * platform/graphics/win/WKCACFLayerRenderer.cpp:
25123 (WebCore::WKCACFLayerRenderer::createRenderer):
25125 2010-04-07 Sheriff Bot <webkit.review.bot@gmail.com>
25127 Unreviewed, rolling out r57178.
25128 http://trac.webkit.org/changeset/57178
25129 https://bugs.webkit.org/show_bug.cgi?id=37240
25131 Caused chromium browser_test and ui_test regressions
25132 (Requested by ojan on #webkit).
25134 * bindings/v8/ScriptController.cpp:
25135 (WebCore::ScriptController::processingUserGesture):
25137 2010-04-07 Jian Li <jianli@chromium.org>
25139 Reviewed by Adam Barth and Dmitry Titov.
25141 Add the comment and assert that we're generating version 4 random number
25143 https://bugs.webkit.org/show_bug.cgi?id=36472
25145 * platform/UUID.cpp:
25146 (WebCore::createCanonicalUUIDString):
25149 2010-04-07 Erik Arvidsson <arv@chromium.org>
25151 Reviewed by Adam Barth.
25153 Allow white listing access from origin to local origin.
25154 https://bugs.webkit.org/show_bug.cgi?id=37228
25156 This makes it possible to load a local resource from a non local
25157 origin if the access has previously been white listed by calling
25158 SecurityOrigin::whiteListAccessFromOrigin.
25160 Test: http/tests/security/local-image-from-remote-whitelisted.html
25162 * page/OriginAccessEntry.cpp:
25163 (WebCore::OriginAccessEntry::OriginAccessEntry): Removed assert that only the http and https protocol are valid.
25164 * page/SecurityOrigin.cpp:
25165 (WebCore::SecurityOrigin::canRequest): Use isAccessWhiteListed
25166 (WebCore::SecurityOrigin::isAccessWhiteListed): Extracted code that goes through the originAccessMap to do the origin matching.
25167 (WebCore::SecurityOrigin::canLoad): Check if access has been white listed.
25168 * page/SecurityOrigin.h: Add private function isAccessWhiteListed
25170 2010-04-07 Luiz Agostini <luiz.agostini@openbossa.org>
25172 Reviewed by Darin Adler.
25174 Adding static method zero() to classes IntPoint and FloatPoint.
25175 https://bugs.webkit.org/show_bug.cgi?id=37220
25177 Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler.
25179 * platform/graphics/FloatPoint.h:
25180 (WebCore::FloatPoint::zero):
25181 * platform/graphics/IntPoint.h:
25182 (WebCore::IntPoint::zero):
25183 (WebCore::IntPoint::clampNegativeToZero):
25185 2010-04-07 Alexey Proskuryakov <ap@apple.com>
25187 * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment.
25189 2010-04-07 Alexey Proskuryakov <ap@apple.com>
25191 Reviewed by Darin Adler.
25193 https://bugs.webkit.org/show_bug.cgi?id=37230
25194 <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when
25195 authenticating to Windows IIS Server
25197 * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added
25198 a constant for ProtectionSpaceAuthenticationSchemeUnknown.
25200 * platform/network/cf/AuthenticationCF.cpp: (WebCore::core):
25201 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod):
25202 Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
25204 * platform/network/mac/AuthenticationMac.mm:
25205 (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from
25206 NSURLConnection, even though there was no public constant.
25207 (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
25209 2010-04-07 Jaime Yap <jaimeyap@google.com>
25211 Reviewed by Pavel Feldman.
25213 Adds the ability to get the function symbol name when looking up the call location
25214 for records sent by the InspectorTimelineAgent.
25215 https://bugs.webkit.org/show_bug.cgi?id=36839
25219 * bindings/js/ScriptCallStack.cpp:
25220 (WebCore::ScriptCallStack::callLocation):
25221 * bindings/js/ScriptCallStack.h:
25222 * bindings/v8/ScriptCallStack.cpp:
25223 (WebCore::ScriptCallStack::create):
25224 (WebCore::ScriptCallStack::callLocation):
25225 (WebCore::ScriptCallStack::ScriptCallStack):
25226 * bindings/v8/ScriptCallStack.h:
25227 * bindings/v8/ScriptDebugServer.cpp:
25228 (WebCore::ScriptDebugServer::createUtilityContext):
25229 (WebCore::ScriptDebugServer::topStackFrame):
25230 * bindings/v8/ScriptDebugServer.h:
25231 (WebCore::ScriptDebugServer::utilityContext):
25232 * bindings/v8/V8Proxy.cpp:
25233 * bindings/v8/V8Proxy.h:
25234 * inspector/TimelineRecordFactory.cpp:
25235 (WebCore::TimelineRecordFactory::createGenericRecord):
25237 2010-04-07 Jay Civelli <jcivelli@chromium.org>
25239 Reviewed by Jian Li.
25241 [chromium] Fixing a NULL pointer being dereferenced in some cases.
25242 https://bugs.webkit.org/show_bug.cgi?id=37141
25244 Test: platform/chromium/fast/forms/search-popup-crasher.html
25246 * platform/chromium/PopupMenuChromium.cpp:
25247 (WebCore::PopupMenu::~PopupMenu):
25249 2010-04-07 Kinuko Yasuda <kinuko@chromium.org>
25251 Reviewed by Jian Li.
25253 Add skeleton FileStream module for providing sync file operations for FileAPI
25254 https://bugs.webkit.org/show_bug.cgi?id=37217
25256 For now the module just defines an interface and is almost empty.
25257 Implementation will be added.
25259 No new tests; will be added when we have complete implementation.
25264 * WebCore.vcproj/WebCore.vcproj:
25265 * WebCore.xcodeproj/project.pbxproj:
25266 * html/FileStream.cpp: Added.
25267 * html/FileStream.h: Added.
25268 * html/FileStreamClient.h: Added.
25269 * html/FileThread.cpp:
25270 (WebCore::SameFilePredicate::SameFilePredicate):
25271 (WebCore::SameFilePredicate::operator()):
25272 (WebCore::FileThread::unscheduleTasks):
25273 * html/FileThread.h:
25274 (WebCore::FileThread::Task::stream):
25275 (WebCore::FileThread::Task::Task):
25277 2010-04-07 Oliver Hunt <oliver@apple.com>
25279 Reviewed by Darin Adler.
25281 Remove some unnecessary uses of commonJSGlobalData
25282 https://bugs.webkit.org/show_bug.cgi?id=37229
25284 Pass the ExecState down to identifierFromNPIdentifier and update call sites
25286 * bridge/NP_jsobject.cpp:
25288 (_NPN_GetProperty):
25289 (_NPN_SetProperty):
25290 (_NPN_RemoveProperty):
25291 (_NPN_HasProperty):
25293 * bridge/c/c_instance.cpp:
25294 (JSC::Bindings::CInstance::getPropertyNames):
25295 * bridge/c/c_utility.cpp:
25296 (JSC::Bindings::identifierFromNPIdentifier):
25297 * bridge/c/c_utility.h:
25299 2010-04-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
25301 Reviewed by Darin Adler.
25303 Poor rendering on lala.com with frame flattening
25304 https://bugs.webkit.org/show_bug.cgi?id=37164
25306 Do not flatten offscreen iframes.
25308 Test: fast/frames/flattening/iframe-flattening-offscreen.html
25310 * rendering/RenderPartObject.cpp:
25311 (WebCore::RenderPartObject::flattenFrame):
25312 * rendering/RenderPartObject.h:
25314 2010-04-07 Abhishek Arya <inferno@chromium.org>
25316 Reviewed by Adam Barth.
25318 [V8] Add a missing check for constructor call in WebKitPointConstructor.
25319 https://bugs.webkit.org/show_bug.cgi?id=37210
25321 Test: fast/constructors/constructor-as-function-crash.html
25323 * bindings/v8/custom/V8WebKitPointConstructor.cpp:
25324 (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call.
25326 2010-04-07 Enrica Casucci <enrica@apple.com>
25328 Reviewed by Darin Adler.
25330 https://bugs.webkit.org/show_bug.cgi?id=37219
25332 This change disables text caret for the iPhone platflorm.
25333 Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0.
25335 * editing/SelectionController.cpp:
25336 (WebCore::SelectionController::recomputeCaretRect):
25337 (WebCore::SelectionController::paintCaret):
25339 (WebCore::Frame::paintDragCaret):
25341 2010-04-07 Enrica Casucci <enrica@apple.com>
25343 Reviewed by Dave Hyatt.
25345 Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274).
25346 <rdar://problem/6649734>
25347 <https://bugs.webkit.org/show_bug.cgi?id=6274>
25349 In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store
25350 the bounding box for the glyph instead of the simply caching the glyph width.
25351 Retrieving the bounding box for the glyph is expensive, therefore we do it only
25352 when we are rendering text using the complex text path to minimize the performance impact.
25353 To support characters with stacked diacritics, the method canUseGlyphCache has been modified to
25354 return false for the range of characters with stacked diacritics.
25355 The glyph cache has been also updated to allow storing the glyph bounding box together with the
25356 horizontal width. The bounding box is populated only for complex text.
25358 The original version of this patch has been written by Dan Bernstein.
25360 Test: fast/repaint/stacked-diacritics.html
25362 * Android.mk: File name change.
25363 * GNUmakefile.am: File name change.
25364 * WebCore.base.exp: Added parameter in exported function.
25365 * WebCore.gypi: File name change.
25366 * WebCore.vcproj/WebCore.vcproj: File name change.
25367 * WebCore.xcodeproj/project.pbxproj: File name change.
25368 * platform/graphics/Font.cpp:
25369 (WebCore::Font::floatWidth): Added glyphOverflow parameter.
25370 * platform/graphics/Font.h:
25371 (WebCore::GlyphOverflow::GlyphOverflow): Added.
25372 (WebCore::Font::width): Added glyphOverflow parameter.
25373 * platform/graphics/FontFastPath.cpp:
25374 (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path.
25375 * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp.
25376 (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics.
25377 * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h.
25378 (WebCore::GlyphMetricsMap::GlyphMetricsMap):
25379 (WebCore::GlyphMetricsMap::~GlyphMetricsMap):
25380 (WebCore::GlyphMetricsMap::metricsForGlyph):
25381 (WebCore::GlyphMetricsMap::widthForGlyph):
25382 (WebCore::GlyphMetricsMap::setMetricsForGlyph):
25383 (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
25384 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
25385 (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
25386 (WebCore::GlyphMetricsMap::locatePage):
25387 * platform/graphics/GlyphWidthMap.cpp: Removed.
25388 * platform/graphics/GlyphWidthMap.h: Removed.
25389 * platform/graphics/SimpleFontData.cpp:
25390 (WebCore::SimpleFontData::platformGlyphInit):
25391 * platform/graphics/SimpleFontData.h:
25393 (WebCore::SimpleFontData::widthForGlyph):
25394 (WebCore::SimpleFontData::metricsForGlyph):
25395 * platform/graphics/cairo/SimpleFontDataCairo.cpp:
25396 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25397 * platform/graphics/chromium/FontChromiumWin.cpp:
25398 (WebCore::Font::floatWidthForComplexText): Added parameter.
25399 * platform/graphics/chromium/FontLinux.cpp:
25400 (WebCore::Font::floatWidthForComplexText): Added parameter.
25401 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
25402 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25403 * platform/graphics/chromium/SimpleFontDataLinux.cpp:
25404 (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange
25405 * platform/graphics/efl/FontEfl.cpp:
25406 (WebCore::Font::floatWidthForComplexText): Name and signature change.
25407 * platform/graphics/gtk/SimpleFontDataPango.cpp:
25408 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25409 * platform/graphics/haiku/FontHaiku.cpp:
25410 (WebCore::Font::floatWidthForComplexText): Added parameter.
25411 * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
25412 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25413 * platform/graphics/mac/ComplexTextController.cpp:
25414 (WebCore::ComplexTextController::ComplexTextController):
25415 (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
25416 * platform/graphics/mac/ComplexTextController.h:
25417 (WebCore::ComplexTextController::minGlyphBoundingBoxX):
25418 (WebCore::ComplexTextController::maxGlyphBoundingBoxX):
25419 (WebCore::ComplexTextController::minGlyphBoundingBoxY):
25420 (WebCore::ComplexTextController::maxGlyphBoundingBoxY):
25421 * platform/graphics/mac/FontComplexTextMac.cpp:
25422 (WebCore::Font::floatWidthForComplexText): Added paramter.
25423 * platform/graphics/mac/SimpleFontDataMac.mm:
25424 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25425 * platform/graphics/qt/FontQt.cpp:
25426 (WebCore::Font::floatWidthForComplexText): Added paramter.
25427 * platform/graphics/win/FontWin.cpp:
25428 (WebCore::Font::floatWidthForComplexText): Added parameter.
25429 * platform/graphics/win/SimpleFontDataCGWin.cpp:
25430 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25431 * platform/graphics/win/SimpleFontDataWin.cpp:
25432 (WebCore::SimpleFontData::metricsForGDIGlyph):
25433 * platform/graphics/win/UniscribeController.cpp:
25434 (WebCore::UniscribeController::UniscribeController):
25435 (WebCore::UniscribeController::shapeAndPlaceItem):
25436 * platform/graphics/win/UniscribeController.h:
25437 (WebCore::UniscribeController::minGlyphBoundingBoxX):
25438 (WebCore::UniscribeController::maxGlyphBoundingBoxX):
25439 (WebCore::UniscribeController::minGlyphBoundingBoxY):
25440 (WebCore::UniscribeController::maxGlyphBoundingBoxY):
25441 * platform/graphics/wince/FontWince.cpp:
25442 (WebCore::Font::floatWidthForComplexText): Added parameter.
25443 * platform/graphics/wx/FontWx.cpp:
25444 (WebCore::Font::floatWidthForComplexText): Added parameter.
25445 * platform/graphics/wx/SimpleFontDataWx.cpp:
25446 (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25447 * rendering/InlineFlowBox.cpp:
25448 (WebCore::InlineFlowBox::placeBoxesHorizontally):
25449 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
25450 (WebCore::InlineFlowBox::computeVerticalOverflow):
25451 * rendering/InlineTextBox.cpp:
25452 (WebCore::InlineTextBox::setFallbackFonts):
25453 (WebCore::InlineTextBox::fallbackFonts):
25454 (WebCore::InlineTextBox::setGlyphOverflow):
25455 (WebCore::InlineTextBox::glyphOverflow):
25456 * rendering/InlineTextBox.h:
25457 (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added.
25458 * rendering/RenderBlockLineLayout.cpp:
25459 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
25460 (WebCore::RenderBlock::layoutInlineChildren):
25461 * rendering/RenderText.cpp:
25462 (WebCore::RenderText::RenderText):
25463 (WebCore::RenderText::styleDidChange):
25464 (WebCore::RenderText::widthFromCache):
25465 (WebCore::RenderText::trimmedPrefWidths):
25466 (WebCore::RenderText::calcPrefWidths):
25467 (WebCore::RenderText::setText):
25468 (WebCore::RenderText::width):
25469 * rendering/RenderText.h:
25471 2010-04-07 Joseph Pecoraro <joepeck@webkit.org>
25473 Reviewed by Darin Adler.
25475 Fix incorrect white-space in WebGLRenderingContext.idl
25476 https://bugs.webkit.org/show_bug.cgi?id=31339
25478 * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace.
25480 2010-04-07 Rodrigo Belem <rodrigo.belem@openbossa.org>
25482 Reviewed by Simon Hausmann.
25484 [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc)
25485 https://bugs.webkit.org/show_bug.cgi?id=37173
25487 This patch sets the correct path to the classheaders.pri and then
25488 fixes the installation of the generated headers.
25492 2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
25494 Reviewed by Kenneth Christiansen.
25496 Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable
25497 https://bugs.webkit.org/show_bug.cgi?id=37135
25499 It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to
25500 current focus candidate's. It means that current candidate is not in direction, or not
25501 a valid target node.
25503 * page/FocusController.cpp:
25504 (WebCore::FocusController::findFocusableNodeInDirection):
25506 2010-04-07 Andrey Kosyakov <caseq@chromium.org>
25508 Reviewed by Yury Semikhatsky.
25510 Removed inspector methods from ScriptExecutionContext and derived classes.
25511 Removed MessageDestination parameter from console-related calls (we now always
25512 log to the same destination(s)).
25513 Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
25514 https://bugs.webkit.org/show_bug.cgi?id=36949
25516 * dom/Document.cpp:
25517 (WebCore::Document::reportException):
25518 (WebCore::Document::addMessage):
25520 * dom/ScriptExecutionContext.h:
25521 * loader/EmptyClients.h:
25522 (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
25523 * loader/FrameLoaderClient.h:
25524 * loader/ResourceLoadNotifier.cpp:
25525 * loader/ResourceLoadNotifier.h:
25526 * websockets/WebSocket.cpp:
25527 (WebCore::WebSocket::connect):
25528 * websockets/WebSocketChannel.cpp:
25529 (WebCore::WebSocketChannel::didOpen):
25530 (WebCore::WebSocketChannel::appendToBuffer):
25531 * websockets/WebSocketHandshake.cpp:
25532 (WebCore::WebSocketHandshake::readServerHandshake):
25533 (WebCore::WebSocketHandshake::readHTTPHeaders):
25534 (WebCore::WebSocketHandshake::checkResponseHeaders):
25535 * workers/DefaultSharedWorkerRepository.cpp:
25536 (WebCore::postConsoleMessageTask):
25537 (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
25538 * workers/WorkerContext.cpp:
25539 (WebCore::WorkerContext::importScripts):
25540 (WebCore::WorkerContext::addMessage):
25541 * workers/WorkerContext.h:
25542 * workers/WorkerMessagingProxy.cpp:
25543 (WebCore::postConsoleMessageTask):
25544 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
25545 * workers/WorkerMessagingProxy.h:
25546 * workers/WorkerReportingProxy.h:
25547 * xml/XMLHttpRequest.cpp:
25548 (WebCore::reportUnsafeUsage):
25549 (WebCore::XMLHttpRequest::didFinishLoading):
25551 2010-04-07 Dawit Alemayehu <adawit@kde.org>
25553 Reviewed by Simon Hausmann.
25555 https://bugs.webkit.org/show_bug.cgi?id=36827
25557 Replaced the 'shouldTreatAsAttachment' function with a more generic
25558 function that returns the content disposition type.
25560 See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
25562 * platform/network/HTTPParsers.cpp:
25563 (WebCore::contentDispositionType):
25564 * platform/network/HTTPParsers.h:
25567 2010-04-07 Vitaly Repeshko <vitalyr@chromium.org>
25569 Reviewed by Yury Semikhatsky.
25571 [V8] Throw exception in SerializedScriptValue on input errors
25572 https://bugs.webkit.org/show_bug.cgi?id=37160
25574 When cycles are detected SerializedScriptValue should throw
25575 NOT_SUPPORTED_ERR. See
25576 http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone
25578 * bindings/scripts/CodeGeneratorV8.pm: Custom processing for
25579 function arguments of type SerializedScriptValue.
25581 * bindings/v8/SerializedScriptValue.cpp:
25582 (WebCore::SerializedScriptValue::SerializedScriptValue):
25583 * bindings/v8/SerializedScriptValue.h:
25584 (WebCore::SerializedScriptValue::create): Added a constructor
25585 function with an extra paratemer to check whether an exception was
25588 SerializedScriptValue::create callers updated to check for
25590 * bindings/v8/custom/V8DOMWindowCustom.cpp:
25591 (WebCore::V8DOMWindow::postMessageCallback):
25592 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
25593 (WebCore::V8DedicatedWorkerContext::postMessageCallback):
25594 * bindings/v8/custom/V8HistoryCustom.cpp:
25595 (WebCore::V8History::pushStateCallback):
25596 (WebCore::V8History::replaceStateCallback):
25597 * bindings/v8/custom/V8MessagePortCustom.cpp:
25598 (WebCore::V8MessagePort::postMessageCallback):
25599 * bindings/v8/custom/V8PopStateEventCustom.cpp:
25600 (WebCore::V8PopStateEvent::initPopStateEventCallback):
25601 * bindings/v8/custom/V8WorkerCustom.cpp:
25602 (WebCore::V8Worker::postMessageCallback):
25604 2010-04-07 Alexander Pavlov <apavlov@chromium.org>
25606 Reviewed by Pavel Feldman.
25608 Web Inspector: Provide a placeholder for resources with no content available
25609 https://bugs.webkit.org/show_bug.cgi?id=37142
25611 * English.lproj/localizedStrings.js:
25612 * inspector/front-end/ImageView.js:
25613 (WebInspector.ImageView):
25614 (WebInspector.ImageView.prototype.contentTabSelected):
25615 * inspector/front-end/ResourceView.js:
25616 (WebInspector.ResourceView.prototype._innerSelectContentTab):
25617 (WebInspector.ResourceView.prototype.contentTabSelected):
25618 * inspector/front-end/inspector.css:
25619 (.resource-content-unavailable):
25621 2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
25623 Reviewed by Laszlo Gombos.
25625 https://bugs.webkit.org/show_bug.cgi?id=36750
25627 [Qt] Package build without touch support is broken
25629 Use the conditional attribute instead of #ifdefs in the idl file for the
25630 touch specific properties, to make the generated files compile with and
25631 without the touch events enabled.
25633 * dom/Document.idl: Use conditional instead of #ifdef.
25634 * dom/Element.idl: Ditto.
25635 * page/DOMWindow.idl: Ditto.
25637 2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
25639 Reviewed by Holger Freyther.
25641 Add the touch event related IDL files to the idl generation, so that
25642 they can be safely included from generated JS bindings files. The
25643 generated files have #ifdef feature guards.
25645 * DerivedSources.cpp:
25646 * DerivedSources.make:
25649 2010-04-06 Jeremy Orlow <jorlow@chromium.org>
25651 Reviewed by Adam Barth.
25653 V8CustomIDBCallbacks<> should not hold a reference to the frame
25654 https://bugs.webkit.org/show_bug.cgi?id=37154
25656 Don't hold on to a Frame reference.
25657 Instead, be an ActiveDOMObject and use scriptExecutionContext()
25658 to get the v8 context.
25659 Factor the guts of onSuccess and onError out.
25661 Doesn't work enough to test yet.
25663 * bindings/v8/custom/V8CustomIDBCallbacks.h:
25664 (WebCore::V8CustomIDBCallbacks::create):
25665 (WebCore::V8CustomIDBCallbacks::onSuccess):
25666 (WebCore::V8CustomIDBCallbacks::onError):
25667 (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
25668 (WebCore::V8CustomIDBCallbacks::onEvent):
25669 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
25670 (WebCore::V8IndexedDatabaseRequest::openCallback):
25671 * storage/IDBCallbacks.h:
25672 (WebCore::IDBCallbacks::IDBCallbacks):
25674 2010-04-07 Sheriff Bot <webkit.review.bot@gmail.com>
25676 Unreviewed, rolling out r57196.
25677 http://trac.webkit.org/changeset/57196
25678 https://bugs.webkit.org/show_bug.cgi?id=37196
25680 Multiple layout test failures on Chromium (Requested by yurys
25683 * bindings/js/ScriptCallStack.cpp:
25684 (WebCore::ScriptCallStack::callLocation):
25685 * bindings/js/ScriptCallStack.h:
25686 * bindings/v8/ScriptCallStack.cpp:
25687 (WebCore::ScriptCallStack::create):
25688 (WebCore::ScriptCallStack::callLocation):
25689 (WebCore::ScriptCallStack::ScriptCallStack):
25690 * bindings/v8/ScriptCallStack.h:
25691 * bindings/v8/ScriptDebugServer.cpp:
25692 * bindings/v8/ScriptDebugServer.h:
25693 * bindings/v8/V8Proxy.cpp:
25694 (WebCore::V8Proxy::createUtilityContext):
25695 (WebCore::V8Proxy::sourceLineNumber):
25696 (WebCore::V8Proxy::sourceName):
25697 * bindings/v8/V8Proxy.h:
25698 (WebCore::V8Proxy::utilityContext):
25699 * inspector/TimelineRecordFactory.cpp:
25700 (WebCore::TimelineRecordFactory::createGenericRecord):
25702 2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
25704 Unreviewed, rolling out r57199.
25705 http://trac.webkit.org/changeset/57199
25706 https://bugs.webkit.org/show_bug.cgi?id=36750
25708 Breaks non-touch enabled build
25710 * dom/Document.idl:
25712 * page/DOMWindow.idl:
25714 2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
25716 Reviewed by Laszlo Gombos.
25718 https://bugs.webkit.org/show_bug.cgi?id=36750
25720 [Qt] Package build without touch support is broken
25722 Use the conditional attribute instead of #ifdefs in the idl file for the
25723 touch specific properties, to make the generated files compile with and
25724 without the touch events enabled.
25726 * dom/Document.idl: Use conditional instead of #ifdef.
25727 * dom/Element.idl: Ditto.
25728 * page/DOMWindow.idl: Ditto.
25730 2010-04-07 Jaime Yap <jaimeyap@google.com>
25732 Reviewed by Yury Semikhatsky.
25734 Adds the ability to get the function symbol name when looking up the call location
25735 for records sent by the InspectorTimelineAgent.
25736 https://bugs.webkit.org/show_bug.cgi?id=36839
25740 * bindings/js/ScriptCallStack.cpp:
25741 (WebCore::ScriptCallStack::callLocation):
25742 * bindings/js/ScriptCallStack.h:
25743 * bindings/v8/ScriptCallStack.cpp:
25744 (WebCore::ScriptCallStack::create):
25745 (WebCore::ScriptCallStack::callLocation):
25746 (WebCore::ScriptCallStack::ScriptCallStack):
25747 * bindings/v8/ScriptCallStack.h:
25748 * bindings/v8/ScriptDebugServer.cpp:
25749 (WebCore::ScriptDebugServer::createUtilityContext):
25750 (WebCore::ScriptDebugServer::lastCallFrame):
25751 * bindings/v8/ScriptDebugServer.h:
25752 (WebCore::ScriptDebugServer::utilityContext):
25753 * bindings/v8/V8Proxy.cpp:
25754 * bindings/v8/V8Proxy.h:
25755 * inspector/TimelineRecordFactory.cpp:
25756 (WebCore::TimelineRecordFactory::createGenericRecord):
25758 2010-04-06 Greg Bolsinga <bolsinga@apple.com>
25760 Reviewed by Darin Adler.
25762 https://bugs.webkit.org/show_bug.cgi?id=37188
25763 WebCore::page::Geolocation::m_shouldClearCache is not used.
25765 * page/Geolocation.cpp:
25766 (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
25767 * page/Geolocation.h:
25768 (WebCore::Geolocation::): Ditto.
25770 2010-04-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
25772 Reviewed by Eric Seidel.
25774 Remove obsolete MOBILE flag
25775 https://bugs.webkit.org/show_bug.cgi?id=37125
25777 The MOBILE flag is no longer used by any of the ports.
25778 The flag use to control some tokenizer defaults that
25779 can be changed runtime.
25781 No new tests as there is no new functionality.
25784 * html/HTMLTokenizer.cpp:
25786 2010-04-06 Adam Barth <abarth@webkit.org>
25788 Reviewed by Eric Seidel.
25790 REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
25791 https://bugs.webkit.org/show_bug.cgi?id=36646
25793 Cause the worker code to swallow termination exceptions because these
25794 need not be reported to the user because they are an implementation
25795 detail of how we terminate worker execution.
25797 Test: fast/workers/worker-terminate-forever.html
25799 * bindings/js/JSDOMBinding.cpp:
25800 (WebCore::reportException):
25801 - Refuse to report termination exceptions to the user because they
25802 are an implementation detail.
25803 * bindings/js/WorkerScriptController.cpp:
25804 (WebCore::WorkerScriptController::forbidExecution):
25805 - Instead of using timeouts to stop run away workers, use our fancy
25806 new Terminator object.
25808 2010-04-06 Kinuko Yasuda <kinuko@chromium.org>
25810 Reviewed by Jian Li.
25812 Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
25813 https://bugs.webkit.org/show_bug.cgi?id=36938
25815 No new tests; will be added when we implement upper layers.
25817 * platform/FileSystem.h:
25819 * platform/posix/FileSystemPOSIX.cpp:
25820 (WebCore::openFile):
25821 (WebCore::closeFile):
25822 (WebCore::seekFile):
25823 (WebCore::truncateFile):
25824 (WebCore::writeToFile):
25825 (WebCore::readFromFile):
25827 2010-04-06 Nicolas Weber <thakis@chromium.org>
25829 Reviewed by Dimitri Glazkov.
25831 Implement DragImage functionality for chromium/mac.
25832 https://bugs.webkit.org/show_bug.cgi?id=37069
25834 * page/chromium/DragControllerChromium.cpp:
25835 (WebCore::DragController::maxDragImageSize):
25836 Use a max size of 400x400 on OS X.
25837 * platform/chromium/DragImageChromiumMac.cpp:
25838 (WebCore::dragImageSize): Implement.
25839 (WebCore::deleteDragImage): Implement.
25840 (WebCore::scaleDragImage): Implement.
25841 (WebCore::dissolveDragImageToFraction): Implement.
25842 (WebCore::createDragImageFromImage): Implement.
25843 * platform/chromium/DragImageRef.h:
25844 Use CGImageRefs as DragImageRef on OS X.
25846 2010-04-06 Chris Evans <cevans@chromium.org>
25848 Reviewed by Adam Barth.
25850 Use the new UserGestureIndictor to process javascript:window.open()
25852 https://bugs.webkit.org/show_bug.cgi?id=37138
25854 * bindings/v8/ScriptController.cpp
25855 (WebCore::ScriptController::processingUserGesture):
25856 Use the new UserGestureIndicator when processing a
25857 javascript:window.open()
25859 2010-04-06 Vangelis Kokkevis <vangelis@chromium.org>
25861 Reviewed by Dimitri Glazkov.
25863 Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific
25864 data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia
25865 in a subsequent CL.
25866 https://bugs.webkit.org/show_bug.cgi?id=37116
25868 No new functionality so no new tests.
25870 * platform/graphics/GraphicsLayer.h:
25871 * platform/graphics/skia/GraphicsLayerSkia.cpp:
25872 (WebCore::setLayerBorderColor):
25873 (WebCore::clearBorderColor):
25874 (WebCore::setLayerBackgroundColor):
25875 (WebCore::clearLayerBackgroundColor):
25876 (WebCore::GraphicsLayer::create):
25877 (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
25878 (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
25879 (WebCore::GraphicsLayerChromium::setName):
25880 (WebCore::GraphicsLayerChromium::nativeLayer):
25881 (WebCore::GraphicsLayerChromium::setChildren):
25882 (WebCore::GraphicsLayerChromium::addChild):
25883 (WebCore::GraphicsLayerChromium::addChildAtIndex):
25884 (WebCore::GraphicsLayerChromium::addChildBelow):
25885 (WebCore::GraphicsLayerChromium::addChildAbove):
25886 (WebCore::GraphicsLayerChromium::replaceChild):
25887 (WebCore::GraphicsLayerChromium::removeFromParent):
25888 (WebCore::GraphicsLayerChromium::setPosition):
25889 (WebCore::GraphicsLayerChromium::setAnchorPoint):
25890 (WebCore::GraphicsLayerChromium::setSize):
25891 (WebCore::GraphicsLayerChromium::setTransform):
25892 (WebCore::GraphicsLayerChromium::setChildrenTransform):
25893 (WebCore::GraphicsLayerChromium::setPreserves3D):
25894 (WebCore::GraphicsLayerChromium::setMasksToBounds):
25895 (WebCore::GraphicsLayerChromium::setDrawsContent):
25896 (WebCore::GraphicsLayerChromium::setBackgroundColor):
25897 (WebCore::GraphicsLayerChromium::clearBackgroundColor):
25898 (WebCore::GraphicsLayerChromium::setContentsOpaque):
25899 (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
25900 (WebCore::GraphicsLayerChromium::setOpacity):
25901 (WebCore::GraphicsLayerChromium::setNeedsDisplay):
25902 (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
25903 (WebCore::GraphicsLayerChromium::setContentsRect):
25904 (WebCore::GraphicsLayerChromium::setContentsToImage):
25905 (WebCore::GraphicsLayerChromium::setContentsToVideo):
25906 (WebCore::GraphicsLayerChromium::setGeometryOrientation):
25907 (WebCore::GraphicsLayerChromium::hostLayerForSublayers):
25908 (WebCore::GraphicsLayerChromium::layerForSuperlayer):
25909 (WebCore::GraphicsLayerChromium::platformLayer):
25910 (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
25911 (WebCore::GraphicsLayerChromium::setDebugBorder):
25912 (WebCore::GraphicsLayerChromium::updateSublayerList):
25913 (WebCore::GraphicsLayerChromium::updateLayerPosition):
25914 (WebCore::GraphicsLayerChromium::updateLayerSize):
25915 (WebCore::GraphicsLayerChromium::updateAnchorPoint):
25916 (WebCore::GraphicsLayerChromium::updateTransform):
25917 (WebCore::GraphicsLayerChromium::updateChildrenTransform):
25918 (WebCore::GraphicsLayerChromium::updateMasksToBounds):
25919 (WebCore::GraphicsLayerChromium::updateContentsOpaque):
25920 (WebCore::GraphicsLayerChromium::updateBackfaceVisibility):
25921 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
25922 (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
25923 (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
25924 (WebCore::GraphicsLayerChromium::updateContentsImage):
25925 (WebCore::GraphicsLayerChromium::updateContentsVideo):
25926 (WebCore::GraphicsLayerChromium::updateContentsRect):
25927 (WebCore::GraphicsLayerChromium::updateGeometryOrientation):
25928 (WebCore::GraphicsLayerChromium::setupContentsLayer):
25929 (WebCore::GraphicsLayerChromium::updateOpacityOnLayer):
25930 * platform/graphics/skia/GraphicsLayerSkia.h:
25931 (WebCore::GraphicsLayerChromium::primaryLayer):
25932 (WebCore::GraphicsLayerChromium::contentsLayer):
25933 * platform/graphics/skia/LayerRendererSkia.cpp:
25934 (WebCore::LayerRendererChromium::create):
25935 (WebCore::LayerRendererChromium::LayerRendererChromium):
25936 (WebCore::LayerRendererChromium::~LayerRendererChromium):
25937 (WebCore::LayerRendererChromium::updateLayerContents):
25938 (WebCore::LayerRendererChromium::drawLayersInCanvas):
25939 (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive):
25940 (WebCore::LayerRendererChromium::updateLayerContentsRecursive):
25941 * platform/graphics/skia/LayerRendererSkia.h:
25942 (WebCore::LayerRendererChromium::setRootLayer):
25943 (WebCore::LayerRendererChromium::rootLayer):
25944 * platform/graphics/skia/LayerSkia.cpp:
25945 (WebCore::LayerChromium::create):
25946 (WebCore::LayerChromium::LayerChromium):
25947 (WebCore::LayerChromium::~LayerChromium):
25948 (WebCore::LayerChromium::updateGraphicsContext):
25949 (WebCore::LayerChromium::updateContents):
25950 (WebCore::LayerChromium::drawDebugBorder):
25951 (WebCore::LayerChromium::setNeedsCommit):
25952 (WebCore::LayerChromium::addSublayer):
25953 (WebCore::LayerChromium::insertSublayer):
25954 (WebCore::LayerChromium::removeFromSuperlayer):
25955 (WebCore::LayerChromium::removeSublayer):
25956 (WebCore::LayerChromium::indexOfSublayer):
25957 (WebCore::LayerChromium::setBackingStoreRect):
25958 (WebCore::LayerChromium::setBounds):
25959 (WebCore::LayerChromium::setFrame):
25960 (WebCore::LayerChromium::rootLayer):
25961 (WebCore::LayerChromium::removeAllSublayers):
25962 (WebCore::LayerChromium::setSublayers):
25963 (WebCore::LayerChromium::setSuperlayer):
25964 (WebCore::LayerChromium::superlayer):
25965 (WebCore::LayerChromium::setNeedsDisplay):
25966 * platform/graphics/skia/LayerSkia.h:
25967 (WebCore::LayerChromium::setAnchorPoint):
25968 (WebCore::LayerChromium::anchorPoint):
25969 (WebCore::LayerChromium::borderWidth):
25970 (WebCore::LayerChromium::bounds):
25971 (WebCore::LayerChromium::frame):
25972 (WebCore::LayerChromium::setPosition):
25973 (WebCore::LayerChromium::position):
25974 (WebCore::LayerChromium::zPosition):
25975 (WebCore::LayerChromium::getSublayers):
25976 (WebCore::LayerChromium::setSublayerTransform):
25977 (WebCore::LayerChromium::sublayerTransform):
25978 (WebCore::LayerChromium::setTransform):
25979 (WebCore::LayerChromium::transform):
25981 2010-04-06 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
25983 Reviewed by Laszlo Gombos.
25985 [Qt] WebKit does not build on Windows with --3d-canvas
25986 https://bugs.webkit.org/show_bug.cgi?id=37026
25988 * platform/graphics/GraphicsContext3D.h:
25989 * platform/graphics/qt/GraphicsContext3DQt.cpp:
25990 (WebCore::GraphicsContext3D::getActiveAttrib):
25991 (WebCore::GraphicsContext3D::getActiveUniform):
25993 2010-04-06 Abhinav Mithal <abhinav.mithal@nokia.com>
25995 Reviewed by Laszlo Gombos.
25997 [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found
25998 https://bugs.webkit.org/show_bug.cgi?id=34614
26000 Do not define XP_WIN if WebKit is compiled for Symbian.
26002 No new tests as there is no new functionality.
26006 2010-04-06 Chris Fleizach <cfleizach@apple.com>
26008 Reviewed by Beth Dakin.
26010 aria-label doesn't work on image map area
26011 https://bugs.webkit.org/show_bug.cgi?id=36977
26013 Test: platform/mac/accessibility/area-with-aria-label.html
26015 * accessibility/AccessibilityImageMapLink.cpp:
26016 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
26018 2010-04-06 James Robinson <jamesr@chromium.org>
26020 Reviewed by Simon Fraser.
26022 Reverts the incorrect fixed position fastpath scrolling logic
26023 https://bugs.webkit.org/show_bug.cgi?id=33150
26025 This code does not properly handle overflow or transforms on fixed
26026 position elements, causing repaint bugs on scroll.
26030 * page/FrameView.cpp:
26031 (WebCore::FrameView::addFixedObject):
26032 (WebCore::FrameView::removeFixedObject):
26033 * page/FrameView.h:
26034 * platform/ScrollView.cpp:
26035 (WebCore::ScrollView::scrollContents):
26036 * platform/ScrollView.h:
26037 * rendering/RenderObject.cpp:
26038 (WebCore::RenderObject::styleWillChange):
26040 2010-04-06 Kevin Ollivier <kevino@theolliviers.com>
26042 [wx] Build fix for wxMac / Cocoa on wx trunk.
26044 * platform/wx/wxcode/mac/carbon/fontprops.mm:
26045 (wxFontContainsCharacters):
26047 2010-04-06 Simon Hausmann <simon.hausmann@nokia.com>
26049 Reviewed by Darin Adler.
26051 JS code generator does not support feature conditional attributes that are writable
26052 https://bugs.webkit.org/show_bug.cgi?id=37149
26054 Write out the feature #ifdef not only for the getter, but also for the setter
26057 * bindings/scripts/CodeGeneratorJS.pm:
26059 2010-04-06 Evan Stade <estade@chromium.org>
26061 Reviewed by Dimitri Glazkov.
26063 [chromium] need DragImage implementation
26064 https://bugs.webkit.org/show_bug.cgi?id=35811
26066 Use the DragImageRef that the DragController passes to us.
26068 This was previously committed but rolled back for breaking layout
26069 tests. The fix is on the WebKit/chromium side.
26071 * WebCore.gyp/WebCore.gyp:
26073 * platform/chromium/DragImageChromium.cpp: Removed.
26074 * platform/chromium/DragImageChromiumMac.cpp: Added.
26075 (WebCore::dragImageSize):
26076 (WebCore::deleteDragImage):
26077 (WebCore::scaleDragImage):
26078 (WebCore::dissolveDragImageToFraction):
26079 (WebCore::createDragImageFromImage):
26080 (WebCore::createDragImageIconForCachedImage):
26081 * platform/chromium/DragImageChromiumSkia.cpp: Added.
26082 (WebCore::dragImageSize):
26083 (WebCore::deleteDragImage):
26084 (WebCore::scaleDragImage):
26085 (WebCore::dissolveDragImageToFraction):
26086 (WebCore::createDragImageFromImage):
26087 (WebCore::createDragImageIconForCachedImage):
26088 * platform/chromium/DragImageRef.h:
26090 2010-04-01 Yuzo Fujishima <yuzo@google.com>
26092 Reviewed by Darin Adler.
26094 Fix bug: CSS3 :not selector with ID simple selector sequence test fails
26095 As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument.
26096 WebKit was accepting a simple selector *sequence*.
26097 This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple.
26098 The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not().
26099 https://bugs.webkit.org/show_bug.cgi?id=36276
26101 Test: fast/css/invalid-not-with-simple-selector-sequence.html
26103 * css/CSSGrammar.y:
26104 * css/CSSSelector.cpp:
26105 (WebCore::CSSSelector::isSimple):
26106 * css/CSSSelector.h:
26108 2010-04-06 Andy Estes <aestes@apple.com>
26110 Rubber-stamped by Dan Bernstein.
26112 Remove non-ASCII characters from license headers to fix build errors on
26115 https://bugs.webkit.org/show_bug.cgi?id=37008
26117 * dom/UserGestureIndicator.cpp:
26118 * dom/UserGestureIndicator.h:
26120 2010-04-06 Andrei Popescu <andreip@google.com>
26122 Reviewed by Dimitri Glazkov.
26124 [V8][Android] PageCache crashes when JavaScript is disabled
26125 https://bugs.webkit.org/show_bug.cgi?id=37150
26127 This patch ensures that saving and restoration of the script
26128 state only happens when JS is enabled and each frame has a
26131 No new tests: existing tests show the feature is working
26132 when JS is enabled. When JS is disabled, manual testing
26135 * bindings/v8/ScriptCachedFrameData.cpp:
26136 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
26137 (WebCore::ScriptCachedFrameData::restore):
26139 2010-04-06 Ilya Tikhonovsky <loislo@chromium.org>
26141 Unreviewed build fix.
26143 Web Inspector: missed files were added.
26147 * bindings/js/ScriptGCEvent.h: Added.
26148 (WebCore::ScriptGCEvent::addEventListener):
26149 (WebCore::ScriptGCEvent::removeEventListener):
26150 (WebCore::ScriptGCEvent::getHeapSize):
26151 * bindings/v8/ScriptGCEvent.cpp: Added.
26152 (WebCore::ScriptGCEvent::addEventListener):
26153 (WebCore::ScriptGCEvent::removeEventListener):
26154 (WebCore::ScriptGCEvent::getHeapSize):
26155 (WebCore::ScriptGCEvent::getUsedHeapSize):
26156 (WebCore::ScriptGCEvent::gcPrologueCallback):
26157 (WebCore::ScriptGCEvent::gcEpilogueCallback):
26158 * bindings/v8/ScriptGCEvent.h: Added.
26159 * inspector/ScriptGCEventListener.h: Added.
26160 (WebCore::ScriptGCEventListener::~ScriptGCEventListener):
26162 2010-04-06 Ilya Tikhonovsky <loislo@chromium.org>
26164 Reviewed by Pavel Feldman.
26166 Web Inspector: The JS code can be not optimal from memory usage point of view.
26167 As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
26168 GC event will show us these moments. Also each event can show us how much memory is in use.
26169 https://bugs.webkit.org/show_bug.cgi?id=37025
26173 * inspector/InspectorTimelineAgent.cpp:
26174 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
26175 (WebCore::InspectorTimelineAgent::pushGCEventRecords):
26176 (WebCore::InspectorTimelineAgent::didGC):
26177 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
26178 (WebCore::InspectorTimelineAgent::didInstallTimer):
26179 (WebCore::InspectorTimelineAgent::didRemoveTimer):
26180 (WebCore::InspectorTimelineAgent::willSendResourceRequest):
26181 (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
26182 (WebCore::InspectorTimelineAgent::didMarkTimeline):
26183 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
26184 (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
26185 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
26186 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
26187 * inspector/InspectorTimelineAgent.h:
26189 (WebCore::InspectorTimelineAgent::instanceCount):
26190 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
26191 (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
26192 * inspector/TimelineRecordFactory.cpp:
26193 (WebCore::TimelineRecordFactory::createGCEventData):
26194 * inspector/TimelineRecordFactory.h:
26195 * inspector/front-end/Popover.js:
26196 (WebInspector.PopoverHelper.prototype._mouseHover):
26197 * inspector/front-end/TimelineAgent.js:
26198 * inspector/front-end/TimelinePanel.js:
26199 (WebInspector.TimelinePanel.prototype.get _recordStyles):
26200 (WebInspector.TimelinePanel.FormattedRecord):
26201 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
26202 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
26204 2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
26206 Reviewed by Laszlo Gombos.
26208 Remove unused DIRECTIONAL_PAD_NAVIGATION
26209 https://bugs.webkit.org/show_bug.cgi?id=37134
26211 Android browser was planning to have a "directional pad navigation" available on
26212 trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to
26213 https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped.
26215 However bug 23163 landed some code relying on the build flag supposedly to be added,
26216 and is now dead code in trunk.
26219 (WebCore::Element::updateFocusAppearance):
26221 2010-04-06 Mattias Nissler <mnissler@chromium.org>
26223 Reviewed by Pavel Feldman.
26225 Rework inspector docking to issue a request call from the frontend
26226 whenever the user triggers to (un)dock the inspector window. Doing so
26227 enables InspectorFrontendHost implementations to asynchronously decide
26228 whether the window is docked or not. The old canAttachWindow() is not
26229 required anymore, remove it.
26230 https://bugs.webkit.org/show_bug.cgi?id=36944
26232 * inspector/InspectorFrontendClient.h:
26233 * inspector/InspectorFrontendClientLocal.cpp:
26234 (WebCore::InspectorFrontendClientLocal::requestAttachWindow):
26235 * inspector/InspectorFrontendClientLocal.h:
26236 * inspector/InspectorFrontendHost.cpp:
26237 (WebCore::InspectorFrontendHost::requestAttachWindow):
26238 * inspector/InspectorFrontendHost.h:
26239 * inspector/InspectorFrontendHost.idl:
26240 * inspector/front-end/inspector.js:
26241 (WebInspector.toggleAttach):
26243 2010-04-06 Vitaly Repeshko <vitalyr@chromium.org>
26245 Reviewed by Yury Semikhatsky.
26247 [V8] Extend the set of types supported by SerializedScriptValue
26248 https://bugs.webkit.org/show_bug.cgi?id=37052
26250 New types include sparse arrays, Uint32, Date, and ImageData.
26252 Serialization process became more flexible. A state can either
26253 directly write primitive values (instead of returning them like
26254 iterator) or construct a new state for serializing complex values
26255 that will return to the current state when done.
26257 Deserialization process now avoids exposing the tags using a set
26258 of factory functions for complex objects instead.
26260 Internal buffer type changed to uint8_t to be independent of
26261 whether char is signed or not.
26263 * bindings/v8/SerializedScriptValue.cpp:
26265 (WebCore::Writer::Writer):
26266 (WebCore::Writer::writeString):
26267 (WebCore::Writer::writeUint32):
26268 (WebCore::Writer::writeDate):
26269 (WebCore::Writer::writeNumber):
26270 (WebCore::Writer::writeImageData):
26271 (WebCore::Writer::writeArray):
26272 (WebCore::Writer::writeObject):
26273 (WebCore::Writer::writeSparseArray):
26274 (WebCore::Writer::doWriteUint32):
26275 (WebCore::Writer::doWriteNumber):
26276 (WebCore::Writer::append):
26277 (WebCore::Writer::fillHole):
26278 (WebCore::Writer::byteAt):
26279 (WebCore::Serializer::Serializer):
26280 (WebCore::Serializer::serialize):
26281 (WebCore::Serializer::writeArray):
26282 (WebCore::Serializer::writeObject):
26283 (WebCore::Serializer::writeSparseArray):
26284 (WebCore::Serializer::StateBase::StateBase):
26285 (WebCore::Serializer::ErrorState::ErrorState):
26286 (WebCore::Serializer::ErrorState::advance):
26287 (WebCore::Serializer::State::composite):
26288 (WebCore::Serializer::State::State):
26289 (WebCore::Serializer::ArrayState::ArrayState):
26290 (WebCore::Serializer::ArrayState::advance):
26291 (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
26292 (WebCore::Serializer::AbstractObjectState::advance):
26293 (WebCore::Serializer::ObjectState::ObjectState):
26294 (WebCore::Serializer::ObjectState::objectDone):
26295 (WebCore::Serializer::SparseArrayState::SparseArrayState):
26296 (WebCore::Serializer::SparseArrayState::objectDone):
26297 (WebCore::Serializer::push):
26298 (WebCore::Serializer::pop):
26299 (WebCore::Serializer::handleError):
26300 (WebCore::Serializer::checkComposite):
26301 (WebCore::Serializer::writeString):
26302 (WebCore::Serializer::writeImageData):
26303 (WebCore::Serializer::newArrayState):
26304 (WebCore::Serializer::newObjectState):
26305 (WebCore::Serializer::doSerialize):
26306 (WebCore::Reader::Reader):
26307 (WebCore::Reader::read):
26308 (WebCore::Reader::readString):
26309 (WebCore::Reader::readUint32):
26310 (WebCore::Reader::readDate):
26311 (WebCore::Reader::readNumber):
26312 (WebCore::Reader::readImageData):
26313 (WebCore::Reader::doReadUint32):
26314 (WebCore::Reader::doReadNumber):
26315 (WebCore::Deserializer::Deserializer):
26316 (WebCore::Deserializer::createArray):
26317 (WebCore::Deserializer::createObject):
26318 (WebCore::Deserializer::createSparseArray):
26319 (WebCore::Deserializer::initializeObject):
26320 (WebCore::Deserializer::doDeserialize):
26321 (WebCore::Deserializer::stackDepth):
26322 (WebCore::SerializedScriptValue::deserialize):
26324 2010-04-06 Csaba Osztrogonác <ossy@webkit.org>
26326 Unreviewed buildfix for --minimal build.
26327 Buildfix after r57134. Add ENABLE(WORKERS) guard.
26329 original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
26331 * bindings/js/JSWorkerContextErrorHandler.cpp:
26333 2010-04-06 Dirk Schulze <krit@webkit.org>
26335 Reviewed by Oliver Hunt.
26337 SVG/SMIL parse failure on attribute keySplines
26338 https://bugs.webkit.org/show_bug.cgi?id=37071
26340 Test: svg/animations/animate-keySplines.html
26342 The String in 'keySplines' can have multiple spaces between numbers
26343 and delimiters. The parsing code is inspired by SVGParserUtilities
26346 * svg/SVGAnimationElement.cpp:
26347 (WebCore::parseKeySplines):
26349 2010-04-06 Yury Semikhatsky <yurys@chromium.org>
26351 Reviewed by Pavel Feldman.
26353 Refactored error reporting mechanizm on Worker Global Objects.
26354 Unlike other event listeners which accept single argument(Event)
26355 onerror handler on worker global object should be a function
26356 accepting three arguments. This error reporting was implementedas
26357 EventListener::reportError method which had custom implementations
26358 for v8 and JSC. This patch removes EventListener::reportError and
26359 moves its functionality into custom bindings(V8WorkerContextErrorHandler
26360 and JSWorkerContextErrorHandler) that implement EventListener inerface
26361 for the onerror handler.
26363 This patch also makes uncaught exceptions that happen in the onerror
26364 listener be reported to the Worker's onerror handler.
26366 https://bugs.webkit.org/show_bug.cgi?id=36375
26368 * Android.jscbindings.mk:
26372 * WebCore.vcproj/WebCore.vcproj:
26373 * WebCore.xcodeproj/project.pbxproj:
26374 * bindings/js/JSBindingsAllInOne.cpp:
26375 * bindings/js/JSEventListener.cpp:
26376 * bindings/js/JSEventListener.h:
26377 * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
26378 (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
26379 (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
26380 (WebCore::JSWorkerContextErrorHandler::handleEvent):
26381 * bindings/js/JSWorkerContextErrorHandler.h: Added.
26382 (WebCore::JSWorkerContextErrorHandler::create):
26383 (WebCore::createJSWorkerContextErrorHandler):
26384 * bindings/scripts/CodeGeneratorJS.pm:
26385 * bindings/scripts/CodeGeneratorV8.pm:
26386 * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
26387 (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
26388 (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
26389 * bindings/v8/V8WorkerContextErrorHandler.h: Added.
26390 (WebCore::V8WorkerContextErrorHandler::create):
26391 * bindings/v8/V8WorkerContextEventListener.cpp:
26392 * bindings/v8/V8WorkerContextEventListener.h:
26393 * dom/EventListener.h:
26394 * workers/WorkerContext.cpp:
26395 (WebCore::WorkerContext::WorkerContext):
26396 (WebCore::WorkerContext::reportException):
26397 * workers/WorkerContext.h:
26399 2010-04-06 Pavel Feldman <pfeldman@chromium.org>
26401 Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
26403 2010-04-05 MORITA Hajime <morrita@google.com>
26405 Reviewed by Darin Adler.
26407 RenderProgress.cpp is missing CurrentTime.h
26408 https://bugs.webkit.org/show_bug.cgi?id=37080
26410 No new tests. just fixed compilation error.
26412 * rendering/RenderProgress.cpp:
26415 2010-04-05 Eric Uhrhane <ericu@chromium.org>
26417 Reviewed by Brady Eidson.
26419 window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5
26420 https://bugs.webkit.org/show_bug.cgi?id=36671
26422 The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
26426 * storage/DatabaseTracker.cpp:
26427 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
26429 2010-04-05 Anthony Ricaud <rik@webkit.org>
26431 Reviewed by Timothy Hatcher.
26433 Web Inspector: Audits launcher view is unusable with a small height window
26434 https://bugs.webkit.org/show_bug.cgi?id=37109
26436 Use flex box instead of absolute positioning to avoid overlapping elements.
26438 * inspector/front-end/AuditLauncherView.js:
26439 (WebInspector.AuditLauncherView.prototype._createLauncherUI):
26440 * inspector/front-end/audits.css:
26441 (.audit-launcher-view .audit-launcher-view-content):
26442 (.audit-launcher-view div.button-container):
26443 (.audit-launcher-view .flexible-space):
26445 2010-04-05 Luiz Agostini <luiz.agostini@openbossa.org>
26447 Reviewed by Kenneth Rohde Christiansen.
26449 [Qt] Maemo5 theme - wrong spelling
26450 https://bugs.webkit.org/show_bug.cgi?id=37110
26452 Correcting wrong spelling in RenderThemeQt.cpp.
26454 * platform/qt/RenderThemeQt.cpp:
26456 2010-04-05 Leandro Pereira <leandro@profusion.mobi>
26458 Reviewed by Kenneth Rohde Christiansen.
26460 Add EFL-specific code to platform/Platform*Event.h.
26461 http://webkit.org/b/36309
26463 * platform/PlatformWheelEvent.h:
26464 * platform/PlatformMouseEvent.h:
26465 * platform/PlatformKeyboardEvent.h:
26467 2010-04-05 Leandro Pereira <leandro@profusion.mobi>
26469 Reviewed by Kenneth Rohde Christiansen.
26471 Add EFL-specific code to platform/graphics/*.h.
26472 http://webkit.org/b/36308
26474 * platform/graphics/Icon.h:
26475 * platform/graphics/IntRect.h:
26476 * platform/graphics/FloatRect.h:
26477 * platform/graphics/IntPoint.h:
26479 2010-04-05 Robert Hogan <robert@webkit.org>
26481 Reviewed by Kenneth Rohde Christiansen.
26483 [Qt] Fix infinite redirection loop in QNetworkReplyHandler
26485 Put a maximum on consecutive redirections so we don't have to
26486 worry about whether it's the same url or not.
26488 Tolerate up to 10 consecutive redirections, anything beyond
26489 that is considered a potentially infinite recursion in the
26490 redirection requests. This is the same behaviour as Firefox.
26492 https://bugs.webkit.org/show_bug.cgi?id=37097
26494 * platform/network/qt/QNetworkReplyHandler.cpp:
26495 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
26496 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
26497 * platform/network/qt/QNetworkReplyHandler.h:
26499 2010-04-05 Dimitri Glazkov <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
26501 Reviewed by Darin Adler and Dimitri Glazkov.
26503 Style update done due to mutation event dispatching in textarea can be
26504 used to corrupt the render tree.
26505 https://bugs.webkit.org/show_bug.cgi?id=36864
26507 Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
26508 fast/forms/select-change-popup-to-listbox-roundtrip.html
26509 fast/forms/textarea-and-mutation-events.html
26511 * dom/Document.cpp:
26512 (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
26513 call to ensure that object loads start before firing window load.
26515 (WebCore::Node::dispatchGenericEvent): Removed invocation of
26516 Document::updateStyleForAllDocuments
26517 * html/HTMLSelectElement.cpp:
26518 (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
26519 recalc to ensure accuracy of representation, especially for
26520 menuList/listBox switches.
26522 2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
26524 Reviewed by Laszlo Gombos.
26526 Cleaned up spatial-navigation-test-cases.html by removing the wrongly
26527 used <frameset> tag.
26529 Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
26531 * manual-tests/spatial-navigation/frameset.html: Added.
26532 * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
26534 2010-04-05 Mark Rowe <mrowe@apple.com>
26536 Reviewed by Adele Peterson.
26538 Roll out r56989 as it introduced crashes in Mail.
26539 <http://webkit.org/b/37115> / <rdar://problem/7829331>
26541 * dom/Position.cpp:
26542 (WebCore::Position::isCandidate):
26543 * dom/PositionIterator.cpp:
26544 (WebCore::PositionIterator::isCandidate):
26546 2010-04-05 Darin Adler <darin@apple.com>
26548 Reviewed by Sam Weinig.
26550 Images must re-load when an image-holding element moves into a new document
26551 https://bugs.webkit.org/show_bug.cgi?id=37127
26553 Test: fast/images/move-image-to-new-document.html
26555 * html/HTMLImageElement.cpp:
26556 (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's
26557 elementWillMoveToNewOwnerDocument function.
26558 * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument.
26559 * html/HTMLInputElement.cpp:
26560 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto.
26561 * html/HTMLPlugInImageElement.cpp:
26562 (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto.
26563 * html/HTMLPlugInImageElement.h: Ditto.
26564 * html/HTMLVideoElement.cpp:
26565 (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto.
26566 * html/HTMLVideoElement.h: Ditto.
26567 * svg/SVGImageElement.cpp:
26568 (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto.
26569 * svg/SVGImageElement.h: Ditto.
26571 * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
26572 so it can be called by HTMLVideoElement.cpp.
26574 * loader/ImageLoader.cpp:
26575 (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added.
26576 Resets the loader by clearing out the cached image.
26577 * loader/ImageLoader.h: Added it.
26579 2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
26581 Reviewed by Kenneth Rohde Christiansen.
26583 [Symbian] Consolidate Symbian WINSCW environment configuration
26584 https://bugs.webkit.org/show_bug.cgi?id=37100
26586 Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
26587 to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
26589 No new tests as there is no new functionality.
26593 2010-04-05 Leandro Pereira <leandro@profusion.mobi>
26595 Reviewed by Kenneth Rohde Christiansen.
26597 Add missing ClipboardEfl.h to platform/efl.
26598 http://webkit.org/b/36242
26600 * platform/efl/ClipboardEfl.h: Added.
26602 2010-04-05 Yuta Kitamura <yutak@chromium.org>
26604 Reviewed by Darin Adler.
26606 Escape control characters in CSS string value when it is serialilzed.
26608 When WebKit serializes a CSS string value that contains binary characters
26609 ('\0\1\2' for example), it did not escape these characters. As a result,
26610 users got (invisible) control characters through scripts. This change fixes
26613 As a side effect, two separate codes for escaping CSS strings are merged, and
26614 become a public function (quoteCSSString).
26616 CSS string value is not correctly serialized when it contains binary characters
26617 https://bugs.webkit.org/show_bug.cgi?id=28938
26619 Test: fast/css/string-quote-binary.html
26621 * css/CSSParser.cpp:
26622 (WebCore::isCSSTokenizerIdentifier):
26623 (WebCore::isCSSTokenizerURL):
26624 (WebCore::quoteCSSString):
26625 (WebCore::quoteCSSStringIfNeeded):
26626 (WebCore::quoteCSSURLIfNeeded):
26628 * css/CSSPrimitiveValue.cpp:
26629 (WebCore::CSSPrimitiveValue::cssText):
26630 * css/FontFamilyValue.cpp:
26631 (WebCore::FontFamilyValue::cssText):
26633 2010-04-05 John Gregg <johnnyg@google.com>
26635 Reviewed by Darin Adler.
26637 Notifications should not resolve an empty icon parameter as a relative URL
26638 https://bugs.webkit.org/show_bug.cgi?id=36862
26640 * notifications/Notification.cpp:
26641 (WebCore::Notification::Notification):
26643 2010-04-05 Darin Adler <darin@apple.com>
26645 Reviewed by Mark Rowe.
26647 Removed some unneeded type casts.
26649 * css/CSSPrimitiveValue.cpp:
26650 (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast.
26651 * page/Location.cpp:
26652 (WebCore::Location::host): Removed unneeded parentheses and cast.
26653 (WebCore::Location::port): Ditto.
26654 * platform/KURLGoogle.cpp:
26655 (WebCore::KURL::setPort): Ditto.
26656 * workers/WorkerLocation.cpp:
26657 (WebCore::WorkerLocation::host): Ditto.
26658 (WebCore::WorkerLocation::port): Ditto.
26660 2010-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
26662 Unreviewed, rolling out r57081.
26663 http://trac.webkit.org/changeset/57081
26664 https://bugs.webkit.org/show_bug.cgi?id=37121
26666 We think it triggered two tests to fail on Tiger because of
26667 race conditions (Requested by abarth on #webkit).
26670 (WebCore::Node::dispatchGenericEvent):
26671 * html/HTMLSelectElement.cpp:
26672 (WebCore::HTMLSelectElement::parseMappedAttribute):
26674 2010-04-05 Brady Eidson <beidson@apple.com>
26676 Reviewed by Oliver Hunt.
26678 ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups
26679 <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120
26681 No new tests. (No behavior change)
26683 * storage/StorageNamespaceImpl.cpp:
26684 (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
26686 2010-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
26688 Unreviewed, rolling out r57030.
26689 http://trac.webkit.org/changeset/57030
26690 https://bugs.webkit.org/show_bug.cgi?id=37114
26692 Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
26693 chromium port (Requested by jamesr on #webkit).
26695 * rendering/RenderBlock.h:
26696 * rendering/RenderBlockLineLayout.cpp:
26697 (WebCore::RenderBlock::layoutInlineChildren):
26699 2010-04-05 Alexey Proskuryakov <ap@apple.com>
26701 Reviewed by Darin Adler.
26703 https://bugs.webkit.org/show_bug.cgi?id=37111
26704 <rdar://problem/7790327> Draw replacement text when plug-in host crashes
26706 * page/mac/WebCoreViewFactory.h:
26707 * platform/LocalizedStrings.h:
26708 * platform/mac/LocalizedStringsMac.mm:
26709 * platform/gtk/LocalizedStringsGtk.cpp:
26710 * platform/qt/Localizations.cpp:
26711 * platform/wx/LocalizedStringsWx.cpp:
26712 Added a localizable string for plug-in failure (only used on Mac at the moment).
26714 * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
26715 since it's now used from WebKit.
26717 * rendering/RenderEmbeddedObject.cpp:
26718 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
26720 (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed
26721 m_showsMissingPluginIndicator.
26722 (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText.
26723 (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto.
26724 (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed
26725 m_showsMissingPluginIndicator.
26726 (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText
26727 insted of just "Missing Plug-in". Renamed constants and variables accordingly.
26729 * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
26730 actual replacement text.
26732 * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
26733 setShowsMissingPluginIndicator(), which no longer takes an argument.
26735 * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
26737 2010-04-05 Chris Fleizach <cfleizach@apple.com>
26739 Reviewed by Darin Adler.
26741 Bug 37040 - AX: need to send selected children change notification when aria-selected changed
26742 https://bugs.webkit.org/show_bug.cgi?id=37040
26744 When aria-selected is changed in the DOM, it will trigger a selected children change notification.
26746 Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
26748 * accessibility/AXObjectCache.cpp:
26749 (WebCore::AXObjectCache::selectedChildrenChanged):
26750 * accessibility/AXObjectCache.h:
26751 * accessibility/AccessibilityMediaControls.cpp:
26752 (WebCore::AccessibilityMediaControl::controlType):
26753 Remove extra whitespace before comment (webkit-style).
26754 * accessibility/AccessibilityRenderObject.cpp:
26755 (WebCore::AccessibilityRenderObject::observableObject):
26756 Allowed a listBox to be an observable object.
26757 (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
26758 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
26759 Updated and streamlined existing code.
26761 (WebCore::Element::updateAfterAttributeChanged):
26763 2010-04-05 Adam Treat <atreat@rim.com>
26765 Reviewed by Darin Adler.
26767 Fix regression in pixel test for animated svg background images.
26769 https://bugs.webkit.org/show_bug.cgi?id=37027
26771 * svg/graphics/SVGImage.cpp:
26772 (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
26774 2010-04-05 Robert Hogan <robert@webkit.org>
26776 Reviewed by Kenneth Rohde-Christiansen.
26778 [Qt] Fix infinite redirection loop in QNetworkReplyHandler
26780 Qt enters an infinite loop if a redirect response redirects to itself.
26782 Fixes http/tests/xmlhttprequest/connection-error-sync.html
26784 https://bugs.webkit.org/show_bug.cgi?id=37097
26786 * platform/network/qt/QNetworkReplyHandler.cpp:
26787 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
26789 2010-04-05 Yury Semikhatsky <yurys@chromium.org>
26791 Unreviewed, revert r57078.
26793 * Android.jscbindings.mk:
26797 * WebCore.vcproj/WebCore.vcproj:
26798 * WebCore.xcodeproj/project.pbxproj:
26799 * bindings/js/JSEventListener.cpp:
26800 (WebCore::JSEventListener::reportError):
26801 * bindings/js/JSEventListener.h:
26802 * bindings/js/JSWorkerContextErrorHandler.cpp: Removed.
26803 * bindings/js/JSWorkerContextErrorHandler.h: Removed.
26804 * bindings/scripts/CodeGeneratorJS.pm:
26805 * bindings/scripts/CodeGeneratorV8.pm:
26806 * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed.
26807 * bindings/v8/V8WorkerContextErrorHandler.h: Removed.
26808 * bindings/v8/V8WorkerContextEventListener.cpp:
26809 (WebCore::V8WorkerContextEventListener::reportError):
26810 * bindings/v8/V8WorkerContextEventListener.h:
26811 * dom/EventListener.h:
26812 (WebCore::EventListener::reportError):
26813 * workers/WorkerContext.cpp:
26814 (WebCore::WorkerContext::WorkerContext):
26815 (WebCore::WorkerContext::reportException):
26816 * workers/WorkerContext.h:
26818 2010-04-05 Dimitri Glazkov <dglazkov@chromium.org>
26820 Reviewed by Darin Adler.
26822 Style update done due to mutation event dispatching in textarea can be
26823 used to corrupt the render tree.
26824 https://bugs.webkit.org/show_bug.cgi?id=36864
26826 Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
26827 fast/forms/select-change-popup-to-listbox-roundtrip.html
26828 fast/forms/textarea-and-mutation-events.html
26831 (WebCore::Node::dispatchGenericEvent): Removed invocation of
26832 Document::updateStyleForAllDocuments
26833 * html/HTMLSelectElement.cpp:
26834 (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
26835 recalc to ensure accuracy of representation, especially for
26836 menuList/listBox switches.
26838 2010-04-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
26840 Reviewed by Dave Hyatt.
26842 iframe flattening doesn't flatten
26843 https://bugs.webkit.org/show_bug.cgi?id=36798
26845 Fixed to the iframe flattening code so that the iframes on
26846 http://www.samisite.com/test-csb2nf/id43.htm are actually
26849 Covered by current tests.
26851 * page/FrameView.cpp: Propagate contents changes of iframes
26852 and subframes in framesets to the parent so that it is relayouted
26853 (WebCore::FrameView::setContentsSize):
26854 (WebCore::FrameView::adjustViewSize):
26855 (WebCore::FrameView::scheduleRelayout):
26856 * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from
26857 HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct
26858 the use of inset border values. Avoid a sometimes unnecessary
26860 (WebCore::RenderPart::layoutWithFlattening):
26861 * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth
26862 return the right values, considering scrolling and fixed width/height
26863 (WebCore::RenderPartObject::flattenFrame):
26864 (WebCore::RenderPartObject::calcHeight):
26865 (WebCore::RenderPartObject::calcWidth):
26866 (WebCore::RenderPartObject::layout):
26868 2010-04-05 Vitaly Repeshko <vitalyr@chromium.org>
26870 Reviewed by Yury Semikhatsky.
26872 [V8] Extend the set of types supported by SerializedScriptValue
26873 https://bugs.webkit.org/show_bug.cgi?id=37052
26875 New types include sparse arrays, Uint32, Date, and ImageData.
26877 Serialization process became more flexible. A state can either
26878 directly write primitive values (instead of returning them like
26879 iterator) or construct a new state for serializing complex values
26880 that will return to the current state when done.
26882 Deserialization process now avoids exposing the tags using a set
26883 of factory functions for complex objects instead.
26885 Internal buffer type changed to uint8_t to be independent of
26886 whether char is signed or not.
26888 * bindings/v8/SerializedScriptValue.cpp:
26890 (WebCore::Writer::Writer):
26891 (WebCore::Writer::writeString):
26892 (WebCore::Writer::writeUint32):
26893 (WebCore::Writer::writeDate):
26894 (WebCore::Writer::writeNumber):
26895 (WebCore::Writer::writeImageData):
26896 (WebCore::Writer::writeArray):
26897 (WebCore::Writer::writeObject):
26898 (WebCore::Writer::writeSparseArray):
26899 (WebCore::Writer::doWriteUint32):
26900 (WebCore::Writer::doWriteNumber):
26901 (WebCore::Writer::append):
26902 (WebCore::Writer::fillHole):
26903 (WebCore::Writer::byteAt):
26904 (WebCore::Serializer::Serializer):
26905 (WebCore::Serializer::serialize):
26906 (WebCore::Serializer::writeArray):
26907 (WebCore::Serializer::writeObject):
26908 (WebCore::Serializer::writeSparseArray):
26909 (WebCore::Serializer::StateBase::StateBase):
26910 (WebCore::Serializer::ErrorState::ErrorState):
26911 (WebCore::Serializer::ErrorState::advance):
26912 (WebCore::Serializer::State::composite):
26913 (WebCore::Serializer::State::State):
26914 (WebCore::Serializer::ArrayState::ArrayState):
26915 (WebCore::Serializer::ArrayState::advance):
26916 (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
26917 (WebCore::Serializer::AbstractObjectState::advance):
26918 (WebCore::Serializer::ObjectState::ObjectState):
26919 (WebCore::Serializer::ObjectState::objectDone):
26920 (WebCore::Serializer::SparseArrayState::SparseArrayState):
26921 (WebCore::Serializer::SparseArrayState::objectDone):
26922 (WebCore::Serializer::push):
26923 (WebCore::Serializer::pop):
26924 (WebCore::Serializer::handleError):
26925 (WebCore::Serializer::checkComposite):
26926 (WebCore::Serializer::writeString):
26927 (WebCore::Serializer::writeImageData):
26928 (WebCore::Serializer::newArrayState):
26929 (WebCore::Serializer::newObjectState):
26930 (WebCore::Serializer::doSerialize):
26931 (WebCore::Reader::Reader):
26932 (WebCore::Reader::read):
26933 (WebCore::Reader::readString):
26934 (WebCore::Reader::readUint32):
26935 (WebCore::Reader::readDate):
26936 (WebCore::Reader::readNumber):
26937 (WebCore::Reader::readImageData):
26938 (WebCore::Reader::doReadUint32):
26939 (WebCore::Reader::doReadNumber):
26940 (WebCore::Deserializer::Deserializer):
26941 (WebCore::Deserializer::createArray):
26942 (WebCore::Deserializer::createObject):
26943 (WebCore::Deserializer::createSparseArray):
26944 (WebCore::Deserializer::initializeObject):
26945 (WebCore::Deserializer::doDeserialize):
26946 (WebCore::Deserializer::stackDepth):
26947 (WebCore::SerializedScriptValue::deserialize):
26949 2010-04-05 Yury Semikhatsky <yurys@chromium.org>
26951 Reviewed by Pavel Feldman.
26953 Refactored error reporting mechanizm on Worker Global Objects.
26954 Unlike other event listeners which accept single argument(Event)
26955 onerror handler on worker global object should be a function
26956 accepting three arguments. This error reporting was implementedas
26957 EventListener::reportError method which had custom implementations
26958 for v8 and JSC. This patch removes EventListener::reportError and
26959 moves its functionality into custom bindings(V8WorkerContextErrorHandler
26960 and JSWorkerContextErrorHandler) that implement EventListener inerface
26961 for the onerror handler.
26963 This patch also makes uncaught exceptions that happen in the onerror
26964 listener be reported to the Worker's onerror handler.
26966 https://bugs.webkit.org/show_bug.cgi?id=36375
26970 * WebCore.xcodeproj/project.pbxproj:
26971 * bindings/js/JSEventListener.cpp:
26972 * bindings/js/JSEventListener.h:
26973 * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
26974 (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
26975 (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
26976 (WebCore::JSWorkerContextErrorHandler::handleEvent):
26977 * bindings/js/JSWorkerContextErrorHandler.h: Added.
26978 (WebCore::JSWorkerContextErrorHandler::create):
26979 (WebCore::createJSWorkerContextErrorHandler):
26980 * bindings/scripts/CodeGeneratorJS.pm:
26981 * bindings/scripts/CodeGeneratorV8.pm:
26982 * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
26983 (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
26984 (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
26985 * bindings/v8/V8WorkerContextErrorHandler.h: Added.
26986 (WebCore::V8WorkerContextErrorHandler::create):
26987 * bindings/v8/V8WorkerContextEventListener.cpp:
26988 * bindings/v8/V8WorkerContextEventListener.h:
26989 * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors.
26990 * workers/WorkerContext.cpp:
26991 (WebCore::WorkerContext::WorkerContext):
26992 (WebCore::WorkerContext::reportException):
26993 * workers/WorkerContext.h:
26995 2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
26997 Reviewed by Darin Adler.
26999 Fix some "explicit braces to avoid ambiguous 'else'" warnings
27000 https://bugs.webkit.org/show_bug.cgi?id=37088
27003 (WebCore::Node::dispatchGenericEvent):
27004 * page/DOMWindow.cpp:
27005 (WebCore::DOMWindow::dispatchEvent):
27007 2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
27009 Reviewed by Kenneth Rohde Christiansen.
27011 Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
27013 Instead of defining and undefining it later, let's not
27014 define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
27016 No new tests as there is no new functionality.
27020 2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
27022 Reviewed by Kenneth Rohde Christiansen.
27024 [Qt] [Symbian] Remove obsolete build flags for Symbian
27025 https://bugs.webkit.org/show_bug.cgi?id=37083
27027 Symbian port of QtWebKit port does not use icu, so it does
27028 not need U_HAVE_* defines.
27030 Symbian now has inttypes.h as part of OpenC.
27032 stdio.h, limits.h and MathExtras.h are already included in
27033 more appropriate locations.
27035 No new tests as there is no new functionality.
27039 2010-04-05 Pavel Feldman <pfeldman@chromium.org>
27041 Not reviewed: chromium build fix.
27043 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
27044 (WebCore::V8InspectorFrontendHost::platformCallback):
27045 (WebCore::V8InspectorFrontendHost::portCallback):
27047 2010-04-05 Pavel Feldman <pfeldman@chromium.org>
27049 Reviewed by Yury Semikhatsky.
27051 Web Inspector: [REGRESSION] platform detection in Chromium
27052 has regressed to unknown.
27054 https://bugs.webkit.org/show_bug.cgi?id=37081
27056 * bindings/js/JSInspectorFrontendHostCustom.cpp:
27057 (WebCore::JSInspectorFrontendHost::platform):
27058 (WebCore::JSInspectorFrontendHost::port):
27059 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
27060 (WebCore::V8InspectorFrontendHost::platform):
27061 (WebCore::V8InspectorFrontendHost::port):
27062 * inspector/InspectorFrontendHost.cpp:
27063 * inspector/InspectorFrontendHost.h:
27064 * inspector/InspectorFrontendHost.idl:
27066 2010-04-05 Andrey Kosyakov <caseq@chromium.org>
27068 Reviewed by Yury Semikhatsky.
27070 Remove logging of successful XHR and worker's importScript()
27071 to inspector console
27072 https://bugs.webkit.org/show_bug.cgi?id=37078
27074 * bindings/js/JSWorkerContextCustom.cpp:
27075 (WebCore::JSWorkerContext::importScripts):
27076 * bindings/v8/custom/V8WorkerContextCustom.cpp:
27077 (WebCore::V8WorkerContext::importScriptsCallback):
27078 * workers/DedicatedWorkerContext.cpp:
27079 (WebCore::DedicatedWorkerContext::importScripts):
27080 * workers/DedicatedWorkerContext.h:
27081 * workers/WorkerContext.cpp:
27082 (WebCore::WorkerContext::importScripts):
27083 * workers/WorkerContext.h:
27084 * xml/XMLHttpRequest.cpp:
27085 (WebCore::XMLHttpRequest::didFinishLoading):
27087 2010-04-04 Pavel Feldman <pfeldman@chromium.org>
27089 Not reviewed. Rolling out chromium changes r57028 and r57032
27090 for breaking chromium layout tests.
27092 * WebCore.gyp/WebCore.gyp:
27094 * platform/chromium/DragImageChromium.cpp: Added.
27095 (WebCore::dragImageSize):
27096 (WebCore::deleteDragImage):
27097 (WebCore::scaleDragImage):
27098 (WebCore::dissolveDragImageToFraction):
27099 (WebCore::createDragImageFromImage):
27100 (WebCore::createDragImageIconForCachedImage):
27101 * platform/chromium/DragImageChromiumMac.cpp: Removed.
27102 * platform/chromium/DragImageChromiumSkia.cpp: Removed.
27103 * platform/chromium/DragImageRef.h:
27105 2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
27107 Reviewed by Simon Fraser.
27108 Patch by Antonio Gomes <tonikitoo@webkit.org>
27110 Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
27112 WebCore::distanceInDirection method was handling much of the logic not
27113 strictly only related to the distance between nodes acquisition. This
27114 method was simplified and renamed to 'WebCore::distanceDataForNode'.
27115 The latter is now responsible for only getting the distance and alignment
27116 data, while all assignement logic previously in distanceInDirection method
27117 was moved place to updateFocusCandidateIfCloser.
27119 Parent document distance and alignment acquisitions, in turn, have also
27120 changed location: they are both got from deepFindFocusableNodeInDirection,
27121 and passed in a recursive call to findFocusableNodeInDirection via the
27122 candidateParent variable (optional parameter). In addition, the need for
27123 the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
27124 was removed, making the code much cleaner.
27126 No behaviour change at this point. Mostly moving code around to the place
27127 where it should live in.
27129 * page/FocusController.cpp:
27130 (WebCore::FocusController::advanceFocusDirectionally):
27131 (WebCore::updateFocusCandidateIfCloser):
27132 (WebCore::FocusController::findFocusableNodeInDirection):
27133 (WebCore::FocusController::deepFindFocusableNodeInDirection):
27134 * page/FocusController.h:
27135 * page/SpatialNavigation.cpp:
27136 (WebCore::distanceDataForNode):
27137 (WebCore::renderRectRelativeToRootDocument):
27138 * page/SpatialNavigation.h:
27140 2010-04-04 Pavel Feldman <pfeldman@chromium.org>
27142 Reviewed by Timothy Hatcher.
27144 Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
27146 https://bugs.webkit.org/show_bug.cgi?id=37072
27148 * inspector/front-end/StylesSidebarPane.js:
27149 (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
27151 2010-04-03 yael aharon <yael.aharon@nokia.com>
27153 Reviewed by Darin Adler.
27155 Enable HTMLProgressElement for Safari on OSX
27156 https://bugs.webkit.org/show_bug.cgi?id=36961
27158 * Configurations/FeatureDefines.xcconfig:
27159 * WebCore.xcodeproj/project.pbxproj:
27160 * rendering/RenderThemeMac.h:
27161 * rendering/RenderThemeMac.mm:
27162 (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
27163 (WebCore::RenderThemeMac::animationDurationForProgressBar):
27164 (WebCore::RenderThemeMac::adjustProgressBarStyle):
27165 (WebCore::RenderThemeMac::paintProgressBar):
27167 2010-04-03 Jakub Wieczorek <jwieczorek@webkit.org>
27171 Fix debug build with GCC >= 4.3.
27173 * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
27175 2010-04-03 Kenneth Russell <kbr@google.com>
27177 Reviewed by Darin Fisher.
27179 Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
27180 https://bugs.webkit.org/show_bug.cgi?id=36574
27182 Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
27183 points causing them to throw exceptions rather than synthesize GL
27184 errors. Fixed the implementations to synthesize INVALID_VALUE
27185 rather than INVALID_OPERATION to comply to the WebGL spec. Updated
27186 uniform-location-expected.txt to incorporate the correct error.
27187 Tested in Safari and Chromium.
27189 Test: fast/canvas/webgl/null-uniform-location.html
27191 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
27192 (WebCore::V8WebGLRenderingContext::getUniformCallback):
27193 (WebCore::vertexAttribAndUniformHelperf):
27194 (WebCore::uniformHelperi):
27195 (WebCore::uniformMatrixHelper):
27196 * html/canvas/WebGLRenderingContext.cpp:
27197 (WebCore::WebGLRenderingContext::uniform1f):
27198 (WebCore::WebGLRenderingContext::uniform1fv):
27199 (WebCore::WebGLRenderingContext::uniform1i):
27200 (WebCore::WebGLRenderingContext::uniform1iv):
27201 (WebCore::WebGLRenderingContext::uniform2f):
27202 (WebCore::WebGLRenderingContext::uniform2fv):
27203 (WebCore::WebGLRenderingContext::uniform2i):
27204 (WebCore::WebGLRenderingContext::uniform2iv):
27205 (WebCore::WebGLRenderingContext::uniform3f):
27206 (WebCore::WebGLRenderingContext::uniform3fv):
27207 (WebCore::WebGLRenderingContext::uniform3i):
27208 (WebCore::WebGLRenderingContext::uniform3iv):
27209 (WebCore::WebGLRenderingContext::uniform4f):
27210 (WebCore::WebGLRenderingContext::uniform4fv):
27211 (WebCore::WebGLRenderingContext::uniform4i):
27212 (WebCore::WebGLRenderingContext::uniform4iv):
27213 (WebCore::WebGLRenderingContext::uniformMatrix2fv):
27214 (WebCore::WebGLRenderingContext::uniformMatrix3fv):
27215 (WebCore::WebGLRenderingContext::uniformMatrix4fv):
27217 2010-04-02 Andy Estes <aestes@apple.com>
27219 Reviewed by Adam Barth.
27221 The previous mechanism for testing whether an event was due to a user
27222 gesture only checked the event type, not the source of the event. This
27223 allowed scripts to defeat popup blocking by programatically emitting
27224 certain types of events.
27226 Change the user gesture detection to check for a flag that is only set
27227 when the event in question was generated through the platform and not
27230 https://bugs.webkit.org/show_bug.cgi?id=37008
27232 Tests: fast/events/popup-allowed-from-gesture-initiated-event.html
27233 fast/events/popup-blocked-from-fake-button-click.html
27234 fast/events/popup-blocked-from-fake-focus.html
27236 * Android.mk: Add UserGestureIndicator.{cpp, h}.
27237 * GNUmakefile.am: Same.
27238 * WebCore.gypi: Same.
27239 * WebCore.pro: Same.
27240 * WebCore.vcproj/WebCore.vcproj: Same.
27241 * WebCore.xcodeproj/project.pbxproj: Same.
27242 * bindings/v8/ScriptController.cpp:
27243 (WebCore::ScriptController::processingUserGesture): Check the value of
27244 UserGesureIndicator::processingUserGesture().
27245 * dom/Document.cpp:
27246 (WebCore::Document::createEvent): Remove call to
27247 Event::setCreatedByDOM().
27249 (WebCore::Event::Event): Remove initializers for m_createdByDOM.
27250 (WebCore::Event::fromUserGesture): Check the value of
27251 UserGestureIndicator::processingUserGesture().
27252 * dom/Event.h: Remove m_createdByDOM.
27253 * dom/UserGestureIndicator.cpp: Added.
27254 (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous
27255 value of s_processingUserGesture before setting it to true.
27256 (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore
27257 s_processingUserGesture to its previous value.
27258 * dom/UserGestureIndicator.h: Added.
27259 (WebCore::UserGestureIndicator::processingUserGesture): Return the value
27260 of s_processingUserGesture.
27261 * page/EventHandler.cpp:
27262 (WebCore::EventHandler::handleMousePressEvent): Instantiate a
27263 UserGestureIndicator object on the stack to indicate a user gesture is
27265 (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
27266 (WebCore::EventHandler::handleMouseReleaseEvent): Same.
27267 (WebCore::EventHandler::keyEvent): Same.
27268 (WebCore::EventHandler::handleTouchEvent): Same.
27270 2010-04-02 Justin Schuh <jschuh@chromium.org>
27272 Reviewed by Alexey Proskuryakov.
27274 XHR allows arbitrary XSRF across domains
27275 https://bugs.webkit.org/show_bug.cgi?id=36843
27277 Added a one-line change to prevent bypassing the XDC check on
27278 synchronous preflighted requests. Added layout tests to cover
27279 variations of this problem.
27281 Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html
27282 http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html
27283 http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html
27284 http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html
27286 * loader/DocumentThreadableLoader.cpp:
27287 (WebCore::DocumentThreadableLoader::preflightFailure):
27289 2010-04-02 Nayan Kumar K <nayankk@gmail.com>
27291 Reviewed by Eric Seidel.
27293 Fix for WML enabled build failure.
27295 https://bugs.webkit.org/show_bug.cgi?id=36648
27297 * wml/WMLOptionElement.cpp:
27298 (WebCore::WMLOptionElement::disabled):
27299 * wml/WMLOptionElement.h:
27300 * wml/WMLSelectElement.cpp:
27301 (WebCore::WMLSelectElement::listBoxSelectItem):
27302 * wml/WMLSelectElement.h:
27304 2010-04-02 MORITA Hajime <morrita@google.com>
27306 Reviewed by Alexey Proskuryakov.
27308 https://bugs.webkit.org/show_bug.cgi?id=37011
27309 Position::primaryDirection() should not use its own accessor.
27311 No new tests. This is small clenaup with no behaviour change.
27313 * dom/Position.cpp:
27314 (WebCore::Position::primaryDirection):
27316 2010-04-02 Eric Uhrhane <ericu@chromium.org>
27318 Reviewed by Brady Eidson.
27320 window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5. This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991].
27321 https://bugs.webkit.org/show_bug.cgi?id=36671
27323 No new tests. Requires testing on Safari on Windows.
27325 * storage/DatabaseTracker.cpp:
27326 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case.
27328 2010-04-02 Michael Nordman <michaeln@google.com>
27330 Reviewed by Nate Chapin.
27332 Set the close policy used by the DatabaseCloseTask in a constructor argument
27333 instead of hard coding it.
27334 https://bugs.webkit.org/show_bug.cgi?id=37037
27336 No new tests, new new functionality.
27338 * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior.
27339 (WebCore::Database::markAsDeletedAndClose):
27340 * storage/DatabaseTask.cpp:
27341 (WebCore::DatabaseCloseTask::DatabaseCloseTask):
27342 (WebCore::DatabaseCloseTask::doPerformTask):
27343 * storage/DatabaseTask.h:
27344 (WebCore::DatabaseCloseTask::create):
27346 2010-04-02 James Robinson <jamesr@chromium.org>
27348 Reviewed by Simon Fraser.
27350 Remove an ASSERT that sometimes flakes due to time dependent animations
27351 https://bugs.webkit.org/show_bug.cgi?id=37048
27353 The outline repaint rectangle for a layer might change between two calls
27354 if there are animations involved, even if nothing in the DOM has actually
27355 changed between the calls.
27357 No change in behavior, no new tests.
27359 * rendering/RenderLayer.cpp:
27360 (WebCore::RenderLayer::updateLayerPositions):
27362 2010-04-02 Evan Stade <estade@chromium.org>
27364 Reviewed by Adam Barth.
27366 [chromium] need DragImage implementation
27367 https://bugs.webkit.org/show_bug.cgi?id=35811
27369 Add two files that failed to get added in my previous patch.
27371 * platform/chromium/DragImageChromiumMac.cpp: Added.
27372 (WebCore::dragImageSize):
27373 (WebCore::deleteDragImage):
27374 (WebCore::scaleDragImage):
27375 (WebCore::dissolveDragImageToFraction):
27376 (WebCore::createDragImageFromImage):
27377 (WebCore::createDragImageIconForCachedImage):
27378 * platform/chromium/DragImageChromiumSkia.cpp: Added.
27379 (WebCore::dragImageSize):
27380 (WebCore::deleteDragImage):
27381 (WebCore::scaleDragImage):
27382 (WebCore::dissolveDragImageToFraction):
27383 (WebCore::createDragImageFromImage):
27384 (WebCore::createDragImageIconForCachedImage):
27386 2010-04-02 Jer Noble <jer.noble@apple.com>
27388 Reviewed by Eric Carlson.
27390 Configure multi-language movies: when QuickTime has sufficiently loaded
27391 the movie, call into wkQTMovieSelectPreferredAlternates to select the
27392 movie's alternate tracks according to the user's language preferences.
27394 https://bugs.webkit.org/show_bug.cgi?id=36624
27396 * WebCore.base.exp:
27397 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
27398 (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded,
27399 call wkQTMovieSelectPreferredAlternates to set up the alternate tracks.
27400 * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates.
27401 * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates.
27403 2010-04-02 James Robinson <jamesr@chromium.org>
27405 Reviewed by Darin Adler.
27407 Splits RenderBlock::layoutInline into smaller functions
27408 https://bugs.webkit.org/show_bug.cgi?id=36921
27410 RenderBlock::layoutInlineChildren is 351 lines long and very difficult
27411 to comprehend or edit safely. This patch splits it up into a few
27412 slightly smaller functions. Most of the code is now in the 241 line
27413 layoutRunsAndFloats() which is a slight improvement.
27415 Perf neutral on the page cyclers. This doesn't introduce any function
27416 calls into the hottest layout paths inside layoutRunsAndFloats and
27419 No change in behavior, no new tests.
27421 * rendering/RenderBlock.h:
27422 (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
27423 * rendering/RenderBlockLineLayout.cpp:
27424 (WebCore::RenderBlock::layoutReplacedElements):
27425 (WebCore::RenderBlock::createLineBoxesForResolver):
27426 (WebCore::RenderBlock::layoutRunsAndFloats):
27427 (WebCore::RenderBlock::layoutInlineChildren):
27429 2010-04-02 Evan Stade <estade@chromium.org>
27431 Reviewed by Eric Seidel.
27433 [chromium] need DragImage implementation
27434 https://bugs.webkit.org/show_bug.cgi?id=35811
27436 Basic implementation using SkBitmap. Transformations are not supported
27437 yet. No implementation for mac.
27439 * WebCore.gyp/WebCore.gyp:
27441 * platform/chromium/DragImageChromium.cpp:
27442 * platform/chromium/DragImageRef.h:
27444 2010-04-02 Evan Martin <evan@chromium.org>
27446 Reviewed by Eric Seidel.
27448 [chromium] font fallback for generic fonts picks wrong font
27449 https://bugs.webkit.org/show_bug.cgi?id=37033
27451 When a page specifies the generic "monospace" font and the user's
27452 browser-configured monospace font doesn't exist, we previously relied
27453 on getLastResortFallbackFont to eventually pick a monospace font for us.
27455 But that doesn't quite work: WebKit first falls back to the user's
27456 "preferred standard font" before hitting the last resort code path.
27457 So if the above conditions hold but this font exists, we'll end up
27458 never hitting the last resort codepath.
27460 The fix is to allow OS-level font fallback when first attempting to
27461 resolve monospace. The existing code tried to do this, but the logic
27462 was wrong. We would eventually fall back to the correct font anyway
27463 so we didn't notice the logic was wrong.
27465 This code is all handling cases where particular fonts aren't installed,
27466 so I can't think of a way to test it; existing tests should still pass.
27468 * platform/graphics/chromium/FontCacheLinux.cpp:
27469 (WebCore::FontCache::createFontPlatformData):
27471 2010-04-02 Andrew Scherkus <scherkus@chromium.org>
27473 Reviewed by Eric Carlson and Eric Seidel.
27475 Don't stop the playback event timer when media resource loading has suspended.
27476 https://bugs.webkit.org/show_bug.cgi?id=37003
27478 When a user agent decides to suspend media resource loading and enters the
27479 NETWORK_IDLE state we are supposed to only stop the progress event timer but
27480 keep the playback timer running.
27482 Test: http/tests/media/video-play-suspend.html
27484 * html/HTMLMediaElement.cpp:
27485 (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
27487 2010-04-02 Darin Adler <darin@apple.com>
27489 Fix mispelling that broke the build.
27491 * html/canvas/CanvasRenderingContext2D.cpp:
27492 * html/canvas/CanvasRenderingContext2D.h:
27493 Dashbard -> Dashboard.
27495 2010-04-02 David Levin <levin@chromium.org>
27497 Reviewed by Darin Adler.
27499 (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
27500 https://bugs.webkit.org/show_bug.cgi?id=36906
27502 * dom/CanvasSurface.cpp: Added methods for items that depended on
27503 CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage
27504 can be dealt with in one place.
27505 (WebCore::CanvasSurface::securityOrigin): Only used by methods that are
27506 only run in the document context.
27507 (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context.
27508 (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for
27509 the worker context.
27510 (WebCore::CanvasSurface::styleSelector): Ditto.
27511 * dom/CanvasSurface.h:
27512 * html/HTMLCanvasElement.cpp:
27513 (WebCore::HTMLCanvasElement::getContext): Passing in information into
27514 the CanvasRenderingContext2D constructor to eliminate some uses of document
27515 inside of the CanvasRenderingContext2D class.
27516 * html/HTMLCanvasElement.h:
27517 (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the
27518 two parent class versions of the method.
27519 (WebCore::HTMLCanvasElement::computedStyle): Ditto.
27520 * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about
27521 removing document usage either by using a bool that is set in the constructor or
27522 by calling one of the new methods added to CanvasSurface.
27523 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
27524 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
27525 (WebCore::CanvasRenderingContext2D::checkOrigin):
27526 (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
27527 (WebCore::CanvasRenderingContext2D::createPattern):
27528 (WebCore::CanvasRenderingContext2D::setFont):
27529 (WebCore::CanvasRenderingContext2D::drawTextInternal):
27530 * html/canvas/CanvasRenderingContext2D.h:
27531 * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes.
27532 (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox
27533 as it may become slightly more expensive in the future.
27534 (WebCore::WebGLRenderingContext::reshape): Ditto.
27536 2010-04-02 Zhenyao Mo <zmo@google.com>
27538 Reviewed by Eric Seidel.
27540 Implement and test new framebuffer object attachment behavior.
27541 https://bugs.webkit.org/show_bug.cgi?id=35611
27543 Test: fast/canvas/webgl/framebuffer-object-attachment.html
27545 * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer.
27546 (WebCore::WebGLFramebuffer::WebGLFramebuffer):
27547 (WebCore::WebGLFramebuffer::setIsAttached):
27548 * html/canvas/WebGLFramebuffer.h: Ditto.
27549 (WebCore::WebGLFramebuffer::isDepthAttached):
27550 (WebCore::WebGLFramebuffer::isStencilAttached):
27551 (WebCore::WebGLFramebuffer::isDepthStencilAttached):
27552 * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat.
27553 (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
27554 * html/canvas/WebGLRenderbuffer.h: Ditto.
27555 (WebCore::WebGLRenderbuffer::setInternalformat):
27556 (WebCore::WebGLRenderbuffer::getInternalformat):
27557 * html/canvas/WebGLRenderingContext.cpp:
27558 (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts.
27559 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case.
27560 (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat.
27561 (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums.
27562 * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums.
27563 * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums.
27564 (WebCore::GraphicsContext3D::):
27565 * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format.
27566 (WebCore::GraphicsContext3D::framebufferRenderbuffer):
27567 (WebCore::GraphicsContext3D::renderbufferStorage):
27568 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
27570 2010-04-02 Kent Tamura <tkent@chromium.org>
27572 Reviewed by Darin Adler.
27574 Form control state shouldn't be restored for hidden inputs.
27575 https://bugs.webkit.org/show_bug.cgi?id=26241
27577 To fix this issue, we don't save values if it is not changed from
27580 Updating the value IDL attribute of some controls such as
27581 type=hidden also updates the value content attribute, and it's
27582 impossible to distinguish the initial value and the current
27583 value. The values of such controls are not saved. It won't be a
27584 problem because we want to save and restore user-edited values.
27586 Test: fast/forms/state-restore-to-non-edited-controls.html
27588 * html/HTMLInputElement.cpp:
27589 (WebCore::HTMLInputElement::saveFormControlState):
27590 Do not save the value if it is same as the default value.
27591 * html/HTMLTextAreaElement.cpp:
27592 (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
27594 2010-04-02 Kent Tamura <tkent@chromium.org>
27596 Reviewed by Darin Adler.
27598 Forms with autocomplete=off should not consume saved state
27599 https://bugs.webkit.org/show_bug.cgi?id=36762
27601 Introduce Element::shouldSaveAndRestoreFormControlState() to check
27602 if we should save and restore control state.
27604 Test: fast/forms/state-restore-to-non-autocomplete-form.html
27606 * dom/Document.cpp:
27607 (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState().
27609 (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true.
27610 * html/HTMLFormControlElement.cpp:
27611 (WebCore::HTMLFormControlElementWithState::autoComplete):
27612 Added. It return autocomplete state of the form.
27613 (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
27614 Added. It returns the result of autoComplete().
27615 (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
27616 Do not restore state if shouldSaveAndRestoreFormControlState() is false.
27617 * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods.
27618 * html/HTMLInputElement.cpp:
27619 (WebCore::HTMLInputElement::autoComplete):
27620 Reduce code by using autoComplete() of the parent class.
27621 (WebCore::HTMLInputElement::saveFormControlState):
27622 Remove the autoComplete() check. Document::formElementsState() does equivalent check.
27624 2010-04-02 Simon Fraser <simon.fraser@apple.com>
27626 Reviewed by Darin Adler.
27628 Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/
27629 https://bugs.webkit.org/show_bug.cgi?id=36978
27631 When we update compositing layers (which can happen on scrolling, when there are fixed position elements
27632 on the page), we can end up redundantly setting images as layer contents if we have to color-correct
27633 the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image
27636 Avoid this by storing a reference to the original uncorrected image, which is used to then
27637 avoid work if the image does not change.
27639 * platform/graphics/mac/GraphicsLayerCA.h:
27640 * platform/graphics/mac/GraphicsLayerCA.mm:
27641 (WebCore::GraphicsLayerCA::setContentsToImage):
27643 2010-04-02 Simon Fraser <simon.fraser@apple.com>
27645 Reviewed by Darin Adler.
27647 Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements
27648 https://bugs.webkit.org/show_bug.cgi?id=36994
27650 r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can
27651 use this to avoid updating widget positions, and compositing layer positions when possible.
27653 * page/FrameView.cpp:
27654 (WebCore::FrameView::scrollPositionChanged):
27655 * page/FrameView.h:
27656 (WebCore::FrameView::hasFixedObjects):
27658 2010-04-02 Nate Chapin <japhet@chromium.org>
27660 Rubber-stamped by Dimitri Glazkov.
27662 http://trac.webkit.org/changeset/57004 caused
27663 fast/dom/console-log-stack-overflow.html to fail for Chromium.
27664 Add check for empty wrappers before using them to create a hidden reference.
27666 * bindings/scripts/CodeGeneratorV8.pm:
27668 2010-04-01 Nate Chapin <japhet@chromium.org>
27670 Reviewed by Dimitri Glazkov.
27672 [V8] Generalize (and generate!) the creation of hidden references
27673 between JS wrappers.
27675 https://bugs.webkit.org/show_bug.cgi?id=36777
27677 * Android.v8bindings.mk:
27679 * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in
27681 * bindings/v8/V8DOMWrapper.cpp:
27682 (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference
27683 (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a
27684 hidden reference on a global object.
27685 (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs.
27686 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement.
27687 * bindings/v8/V8DOMWrapper.h:
27688 * bindings/v8/WrapperTypeInfo.h:
27689 * bindings/v8/custom/V8BarInfoCustom.cpp: Removed.
27690 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
27692 * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed.
27693 * bindings/v8/custom/V8HistoryCustom.cpp:
27694 * bindings/v8/custom/V8LocationCustom.cpp:
27695 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
27696 (WebCore::V8MessageChannel::constructorCallback):
27697 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
27699 * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
27700 * bindings/v8/custom/V8ScreenCustom.cpp: Removed.
27701 * bindings/v8/custom/V8StyleSheetCustom.cpp:
27703 * loader/appcache/DOMApplicationCache.h:
27704 (WebCore::DOMApplicationCache::frame): Add frame() accessor.
27707 2010-04-01 Pavel Feldman <pfeldman@chromium.org>
27709 Reviewed by Timothy Hatcher.
27711 Web Inspector: start editing DOM and styles on click-and-pause.
27713 https://bugs.webkit.org/show_bug.cgi?id=36965
27715 * inspector/front-end/ElementsTreeOutline.js:
27716 (WebInspector.ElementsTreeElement.prototype.onattach):
27717 (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
27718 (WebInspector.ElementsTreeElement.prototype.ondblclick):
27719 (WebInspector.ElementsTreeElement.prototype._handleClickAndPause):
27720 (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
27721 (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
27722 (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
27723 (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
27724 (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
27725 * inspector/front-end/StylesSidebarPane.js:
27726 (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
27727 (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
27728 (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause):
27729 (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
27730 (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent):
27731 (WebInspector.StylePropertyTreeElement.prototype.onattach):
27732 (WebInspector.StylePropertyTreeElement.prototype):
27733 * inspector/front-end/inspector.css:
27734 * inspector/front-end/inspector.js:
27735 * inspector/front-end/treeoutline.js:
27736 (TreeElement.prototype._attach):
27737 (TreeElement.treeElementMouseDown):
27738 (TreeElement.prototype.selectOnMouseDown):
27740 2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
27742 Unreviewed build fix when building --no-svg.
27744 Build fix after r56941. Add ENABLE(SVG) guard.
27746 * rendering/RenderLayer.cpp:
27747 (WebCore::RenderLayer::updateLayerPositions):
27749 2010-04-02 Yury Semikhatsky <yurys@chromium.org>
27751 Reviewed by Pavel Feldman.
27753 Implement InspectorFrontendHost::showContextMenu for Chromium.
27755 Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent.
27757 https://bugs.webkit.org/show_bug.cgi?id=36817
27759 * WebCore.Inspector.exp:
27760 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
27761 (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
27762 * inspector/InspectorFrontendClient.h:
27763 * inspector/InspectorFrontendClientLocal.cpp:
27764 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
27765 (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
27766 (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
27767 * inspector/InspectorFrontendClientLocal.h:
27768 * inspector/InspectorFrontendHost.cpp:
27769 (WebCore::FrontendMenuProvider::create):
27770 (WebCore::FrontendMenuProvider::disconnect):
27771 (WebCore::FrontendMenuProvider::FrontendMenuProvider):
27772 (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
27773 (WebCore::FrontendMenuProvider::populateContextMenu):
27774 (WebCore::FrontendMenuProvider::contextMenuItemSelected):
27775 (WebCore::FrontendMenuProvider::contextMenuCleared):
27776 (WebCore::InspectorFrontendHost::InspectorFrontendHost):
27777 (WebCore::InspectorFrontendHost::disconnectClient):
27778 (WebCore::InspectorFrontendHost::showContextMenu):
27779 * inspector/InspectorFrontendHost.h:
27780 (WebCore::InspectorFrontendHost::create):
27782 2010-04-02 Ilya Tikhonovsky <loislo@chromium.org>
27784 Reviewed by Pavel Feldman.
27786 WebInspector: Timeline Overview pane should support short records filtering.
27787 https://bugs.webkit.org/show_bug.cgi?id=37020
27789 * English.lproj/localizedStrings.js:
27790 * inspector/front-end/TimelineOverviewPane.js:
27791 (WebInspector.TimelineOverviewPane.prototype.update.markTimeline):
27792 (WebInspector.TimelineOverviewPane.prototype.update):
27793 * inspector/front-end/TimelinePanel.js:
27794 (WebInspector.TimelinePanel):
27795 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
27796 (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
27797 (WebInspector.TimelinePanel.prototype._refresh):
27798 (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
27799 (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong):
27801 2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
27803 Reviewed by Eric Seidel.
27805 Accept XHTML-MP content type as XHTML content
27806 https://bugs.webkit.org/show_bug.cgi?id=34262
27808 Enable processing XHTML-MP mime type as an XHTML document
27809 even if XHTML-MP support is not enabled.
27811 * platform/MIMETypeRegistry.cpp:
27812 (WebCore::initializeSupportedNonImageMimeTypes):
27814 2010-04-02 Adam Barth <abarth@webkit.org>
27816 Reviewed by Daniel Bates.
27818 Make XSSAuditor go fast with large POST data
27819 https://bugs.webkit.org/show_bug.cgi?id=36694
27821 There were two things slowing down this bechmark:
27823 1) Searching the large POST data for each inline event handler. To
27824 make this faster, we now use a suffix tree to fast-reject strings
27825 that don't appear as substrings of the POST data.
27827 2) The next largest cost was flattening the form data into a string.
27828 To make this fater, we now use the form data object itself as a key
27829 and only flatten once.
27833 * WebCore.vcproj/WebCore.vcproj:
27834 * WebCore.xcodeproj/project.pbxproj:
27835 * page/XSSAuditor.cpp:
27836 (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL):
27837 (WebCore::XSSAuditor::CachingURLCanonicalizer::clear):
27838 (WebCore::XSSAuditor::XSSAuditor):
27839 (WebCore::XSSAuditor::findInRequest):
27840 * page/XSSAuditor.h:
27841 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
27842 (WebCore::XSSAuditor::CachingURLCanonicalizer::generation):
27843 * platform/text/SuffixTree.h: Added.
27844 (WebCore::UnicodeCodebook::codeWord):
27845 (WebCore::UnicodeCodebook::):
27846 (WebCore::ASCIICodebook::codeWord):
27847 (WebCore::ASCIICodebook::):
27848 (WebCore::SuffixTree::SuffixTree):
27849 (WebCore::SuffixTree::mightContain):
27850 (WebCore::SuffixTree::Node::Node):
27851 (WebCore::SuffixTree::Node::~Node):
27852 (WebCore::SuffixTree::Node::at):
27853 (WebCore::SuffixTree::build):
27855 2010-04-02 Roland Steiner <rolandsteiner@chromium.org>
27857 Reviewed by Eric Seidel.
27859 Bug 36741 - Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate()
27860 https://bugs.webkit.org/show_bug.cgi?id=36741
27862 Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version.
27863 Update PositionIterator::isCandidate() to mirror Position::isCandidate().
27865 Rationale: PositionIterator::isCandidate() is called in a tight loop within
27866 next/previousCandidate(). Also, creation of a PositionIterator from a Position
27867 is cheaper than vice-versa.
27869 Tests: ran all tests in 'editing'.
27871 * dom/Position.cpp:
27872 (WebCore::Position::isCandidate):
27873 * dom/PositionIterator.cpp:
27874 (WebCore::PositionIterator::isCandidate):
27876 2010-04-02 Steve Falkenburg <sfalken@apple.com>
27878 Reviewed by Dan Bernstein.
27880 Database code falsely returns errors due to errant pointer check
27881 https://bugs.webkit.org/show_bug.cgi?id=37014
27883 r56943 introduced a check to see if there were any unprocessed
27884 SQL commands after calling sqlite3_prepare16_v2.
27886 Accessing the remaining data via pointer wasn't possible since
27887 the query string is deallocated immediately after the
27888 query runs. The String returned from strippedWhiteSpace
27889 goes out of scope at that point.
27891 Fix is to store the strippedWhiteSpace in a temporary String
27892 so we can access it via character ptr later in the function.
27894 * platform/sql/SQLiteStatement.cpp:
27895 (WebCore::SQLiteStatement::prepare):
27897 2010-04-01 MORITA Hajime <morrita@google.com>
27899 Reviewed by Darin Adler.
27901 setting document.title doesn't change document.title value
27902 https://bugs.webkit.org/show_bug.cgi?id=36802
27904 An entity of "value" argument on HTMLTitleElement::setTitle() could be
27905 Document::m_title and be changed during HTMLTitleElement::setText().
27906 Fix copying the argument to keep the original value.
27908 Test: fast/dom/Document/title-with-multiple-children.html
27910 * html/HTMLTitleElement.cpp:
27911 (WebCore::HTMLTitleElement::setText):
27913 2010-04-01 Luiz Agostini <luiz.agostini@openbossa.org>
27915 Reviewed by Kenneth Rohde Christiansen.
27917 [Qt] Maemo5 theme - <select multiple> custom rendering
27918 https://bugs.webkit.org/show_bug.cgi?id=36369
27920 Customizing rendering of <select multiple> elements in Maemo5.
27922 * platform/qt/Maemo5Webstyle.cpp:
27923 (Maemo5WebStyle::drawMultipleComboButton):
27924 (Maemo5WebStyle::drawSimpleComboButton):
27925 (Maemo5WebStyle::getButtonImageSize):
27926 (Maemo5WebStyle::findComboButton):
27927 (Maemo5WebStyle::drawComplexControl):
27928 * platform/qt/Maemo5Webstyle.h:
27930 2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
27932 Reviewed by Dmitry Titov.
27934 Add FileThread for async file operation support in FileReader and FileWriter
27935 https://bugs.webkit.org/show_bug.cgi?id=36896
27937 Add FileThread for async file operation support for FileReader and
27938 FileWriter. The patch also adds ENABLE_FILE_READER or
27939 ENABLE_FILE_WRITER build flags/defines. Both flags are disabled
27942 No new tests, will add ones when after adding modules which use the thread.
27944 * Configurations/FeatureDefines.xcconfig:
27948 * WebCore.vcproj/WebCore.vcproj:
27949 * WebCore.xcodeproj/project.pbxproj:
27950 * dom/ScriptExecutionContext.cpp:
27951 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
27952 (WebCore::ScriptExecutionContext::fileThread):
27953 * dom/ScriptExecutionContext.h:
27954 * html/FileThread.cpp: Added.
27955 (WebCore::FileThread::FileThread):
27956 (WebCore::FileThread::~FileThread):
27957 (WebCore::FileThread::start):
27958 (WebCore::FileThread::stop):
27959 (WebCore::FileThread::postTask):
27960 (WebCore::SameFilePredicate::SameFilePredicate):
27961 (WebCore::SameFilePredicate::operator()):
27962 (WebCore::FileThread::removeTask):
27963 (WebCore::FileThread::fileThreadStart):
27964 (WebCore::FileThread::runLoop):
27965 * html/FileThread.h: Added.
27966 (WebCore::FileThread::create):
27967 (WebCore::FileThread::Task::Task):
27968 (WebCore::FileThread::Task::~Task):
27969 (WebCore::FileThread::Task::fileHandle):
27970 * platform/Logging.cpp:
27972 (WebCore::getChannelFromName):
27973 * platform/Logging.h:
27975 2010-04-01 Sheriff Bot <webkit.review.bot@gmail.com>
27977 Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
27978 https://bugs.webkit.org/show_bug.cgi?id=36977
27980 * accessibility/AccessibilityImageMapLink.cpp:
27981 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
27983 2010-04-01 MORITA Hajime <morrita@google.com>
27985 Reviewed by Darin Adler.
27987 WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer
27988 https://bugs.webkit.org/show_bug.cgi?id=31680
27989 Ownerless nodes leads a crash on DOMSelection APIs
27990 https://bugs.webkit.org/show_bug.cgi?id=36800
27992 Added guards nodes from foreign documents to DOMSelection APIs.
27994 Tests: editing/selection/DOMSelection-DocumentType.html
27995 editing/selection/DOMSelection-crossing-document.html
27997 * editing/VisiblePosition.cpp:
27998 (WebCore::VisiblePosition::canonicalPosition):
27999 * page/DOMSelection.cpp:
28000 (WebCore::DOMSelection::collapse):
28001 (WebCore::DOMSelection::setBaseAndExtent):
28002 (WebCore::DOMSelection::setPosition):
28003 (WebCore::DOMSelection::extend):
28004 (WebCore::DOMSelection::containsNode):
28005 (WebCore::DOMSelection::isValidForPosition):
28006 * page/DOMSelection.h:
28008 2010-04-01 Chris Evans <cevans@chromium.org>
28010 Reviewed by Adam Barth.
28012 Fix a NULL pointer crash if @import fails to load a stylesheet.
28014 https://bugs.webkit.org/show_bug.cgi?id=36804
28016 Test: fast/xsl/xslt-bad-import-uri.html
28018 * xml/XSLStyleSheetLibxslt.cpp:
28019 (WebCore::XSLStyleSheet::parseString):
28020 Handle an empty string gracefully. An empty string has a NULL
28021 buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns
28022 NULL if it is passed a NULL buffer.
28023 In the top-level XSL case, the current code does not crash "by luck"
28024 because the other APIs used can handle a NULL argument. In the
28025 @import case, additional code runs which will deference the NULL.
28027 2010-04-01 Alexey Proskuryakov <ap@apple.com>
28029 Reviewed by Darin Adler.
28031 https://bugs.webkit.org/show_bug.cgi?id=36854
28032 <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response
28033 is prepended to the actual response body
28035 Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html
28036 http/tests/xmlhttprequest/access-control-response-with-body.html
28038 * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
28039 Don't send data to the client when handling a preflight request.
28041 2010-04-01 Ada Chan <adachan@apple.com>
28043 Reviewed by Darin Adler.
28045 Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
28046 Ditto for DatabaseTracker::deleteDatabase().
28048 https://bugs.webkit.org/show_bug.cgi?id=36988
28050 * storage/DatabaseTracker.cpp:
28051 (WebCore::DatabaseTracker::deleteOrigin):
28052 (WebCore::DatabaseTracker::deleteDatabase):
28053 * storage/DatabaseTracker.h:
28055 2010-04-01 Simon Fraser <simon.fraser@apple.com>
28059 Remove some casts that I indended to remove before committing r56948.
28061 * rendering/RenderTreeAsText.cpp:
28062 (WebCore::writeRenderObject):
28065 2010-04-01 Simon Fraser <simon.fraser@apple.com>
28067 Reviewed by Darin Adler.
28069 Assertion failure (willBeComposited == needsToBeComposited(layer)) in
28070 RenderLayerCompositor::computeCompositingRequirements() on hulu.com
28071 https://bugs.webkit.org/show_bug.cgi?id=36516
28073 Fix assertions added in r56017. That changed replaced calls to needsToBeComposited()
28074 with use of the local 'willBeComposited' variable, but that fails to take into
28075 account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer().
28077 Fix by adding a canBeComposited() method that we call before testing
28078 whether the layer should go into compositing mode.
28080 Test: compositing/self-painting-layers2.html
28082 * rendering/RenderLayerCompositor.cpp:
28083 (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer()
28084 with a call to canBeComposited().
28085 (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure
28086 that we only toggle 'willBeComposited' for layers that can.
28087 (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited().
28088 (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether
28089 the layer is self-painting.
28090 * rendering/RenderLayerCompositor.h: Add canBeComposited().
28092 2010-04-01 Simon Fraser <simon.fraser@apple.com>
28094 Reviewed by Darin Adler.
28096 https://bugs.webkit.org/show_bug.cgi?id=36980
28097 Add object addresses to debug showLayerTree() output.
28099 Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree()
28102 * platform/text/TextStream.cpp:
28103 (WebCore::TextStream::operator<<):
28104 * platform/text/TextStream.h:
28105 * rendering/RenderLayer.cpp:
28107 * rendering/RenderTreeAsText.cpp:
28108 (WebCore::writeRenderObject):
28110 * rendering/RenderTreeAsText.h:
28112 2010-03-29 Dumitru Daniliuc <dumi@chromium.org>
28114 Reviewed by Dimitri Glazkov.
28116 Changing SQLiteStatement::prepare() to return an error when it's
28117 given a string that has more than one statement in it. Currently,
28118 everything past the first statement is silently ignored.
28120 Test: storage/executesql-accepts-only-one-statement.html
28122 * platform/sql/SQLiteStatement.cpp:
28123 (WebCore::SQLiteStatement::prepare):
28125 2010-04-01 James Robinson <jamesr@chromium.org>
28127 Reviewed by Simon Fraser.
28129 Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions
28130 https://bugs.webkit.org/show_bug.cgi?id=33520
28132 RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each.
28133 These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk
28134 up to the repaint container. This patch keeps track of the offset to the root and uses that offset instead of walking back up to
28135 the root every time.
28137 Tests: fast/layers/nested-layers-1.html
28138 fast/layers/nested-layers-2.html
28139 fast/layers/nested-layers-3.html
28140 fast/layers/nested-layers-4.html
28142 * page/FrameView.cpp:
28143 (WebCore::FrameView::layout):
28144 * rendering/RenderBox.cpp:
28145 (WebCore::RenderBox::outlineBoundsForRepaint):
28146 * rendering/RenderBox.h:
28147 * rendering/RenderLayer.cpp:
28148 (WebCore::RenderLayer::updateLayerPositions):
28149 * rendering/RenderLayer.h:
28150 * rendering/RenderObject.h:
28151 (WebCore::RenderObject::outlineBoundsForRepaint):
28152 * rendering/RenderSVGModelObject.cpp:
28153 (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
28154 * rendering/RenderSVGModelObject.h:
28156 2010-04-01 Daniel Bates <dbates@rim.com>
28158 Reviewed by Darin Adler.
28160 https://bugs.webkit.org/show_bug.cgi?id=36901
28162 Removed functions Range::operator == and Range::operator != as they
28163 were using C++ code that was not sound and hence may have undefined
28166 Test case: manual-tests/crash-on-find-with-no-selection.html
28169 (WebCore::areRangesEqual): Added.
28171 * editing/markup.cpp:
28172 (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
28173 * manual-tests/crash-on-find-with-no-selection.html: Added.
28175 (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
28177 2010-04-01 Geoffrey Garen <ggaren@apple.com>
28179 Reviewed by Sam Weinig.
28181 Synchronous rendering when setting form control values slows down JavaScript
28182 https://bugs.webkit.org/show_bug.cgi?id=36967
28184 This patch basically reverts http://trac.webkit.org/changeset/19006.
28186 Dan asked me to investigate why 19006 is no longer needed. I have two answers:
28188 (1) I was also able to remove the synchronous call to updateFromElement().
28189 That call was the proximate cause of the crash that 19006 fixed.
28191 (2) updateFromElement() no longer calls HTMLElement::setInnerText()
28192 in the way that it used to. (However, it doesn't seem prudent to
28193 rely on this happy coincidence.)
28195 * html/HTMLInputElement.cpp:
28196 (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved
28197 setNeedsValidityCheck() outside of individual 'if' clauses, since they all
28200 Removed call to updateStyleIfNeeded(), which does rendering synchronously,
28201 since that was the performance problem. (setNeedsStyleRecalc() ensures
28202 that rendering will happen asynchronously.) Also removed comment about
28203 ordering dangers introduced by updateStyleIfNeeded().
28205 Removed call to updateFromElement(), since it's dangerous and also a minor
28206 performance problem. (setNeedsStyleRecalc() ensures that updateFromElement()
28207 will happen asynchronously, too.)
28209 * html/HTMLTextAreaElement.cpp:
28210 (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to
28211 add a call to setNeedsStyleRecalc(), since there wasn't one before.
28213 2010-04-01 Ilya Tikhonovsky <loislo@chromium.org>
28215 Reviewed by Pavel Feldman.
28217 Web Inspector: Sometimes js code can detach page from it's frame and in that case
28218 Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will
28219 appear at frontend.
28220 https://bugs.webkit.org/show_bug.cgi?id=36890
28222 * bindings/v8/V8Proxy.cpp:
28223 (WebCore::V8Proxy::callFunction):
28225 (WebCore::Node::dispatchGenericEvent):
28226 * page/DOMWindow.cpp:
28227 (WebCore::DOMWindow::dispatchEvent):
28229 2010-04-01 Chris Fleizach <cfleizach@apple.com>
28231 Reviewed by Beth Dakin.
28233 Bug 36977 - aria-label doesn't work on image map area
28234 https://bugs.webkit.org/show_bug.cgi?id=36977
28236 Test: platform/mac/accessibility/area-with-aria-label.html
28238 * accessibility/AccessibilityImageMapLink.cpp:
28239 (WebCore::AccessibilityImageMapLink::accessibilityDescription):
28241 2010-04-01 Simon Fraser <simon.fraser@apple.com>
28243 Reviewed by Dan Bernstein.
28245 Assertion failure: !repaintContainer || repaintContainer == this
28246 https://bugs.webkit.org/show_bug.cgi?id=36672
28248 RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock()
28249 to get the renderer to use for computing the repaint rect. However, the renderer returned
28250 by containingBlock() may be an ancestor of the repaintContainer, and containingBlock()
28251 doesn't have the 'repaintContainerSkipped' logic that container() has.
28253 So in this case, check to see whether repaintContainer is actually a descendant of the
28254 containing block, and in that case just repaint the entire repaintContainer.
28256 Test: compositing/repaint/inline-repaint-container.html
28258 * rendering/RenderText.cpp:
28259 (WebCore::RenderText::clippedOverflowRectForRepaint):
28261 2010-04-01 Csaba Osztrogonác <ossy@webkit.org>
28263 Reviewed by Jian Li.
28265 [Qt] REGRESSION(r56869): Windows build is broken
28266 https://bugs.webkit.org/show_bug.cgi?id=36929
28268 * WebCore.pro: LIBS += -lOle32 added.
28269 * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before.
28271 2010-04-01 Chris Fleizach <cfleizach@apple.com>
28273 Reviewed by Beth Dakin.
28275 Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const
28276 https://bugs.webkit.org/show_bug.cgi?id=36968
28278 Test: accessibility/crash-with-noelement-selectbox.html
28280 When a <select> element had no options, the selectedIndex == -1 and that was being
28281 used to index into an empty array.
28283 * accessibility/AccessibilityRenderObject.cpp:
28284 (WebCore::AccessibilityRenderObject::stringValue):
28286 2010-04-01 MORITA Hajime <morrita@google.com>
28288 Reviewed by Shinichiro Hamaji.
28290 https://bugs.webkit.org/show_bug.cgi?id=36948
28291 Refactoring: Position::primaryDirection() should be extracted.
28293 No new tests. No functinal change.
28295 * dom/Position.cpp:
28296 (WebCore::Position::getInlineBoxAndOffset):
28297 (WebCore::Position::primaryDirection): Added
28299 * editing/VisiblePosition.cpp:
28300 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
28301 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
28303 2010-04-01 Alexander Pavlov <apavlov@chromium.org>
28305 Reviewed by Pavel Feldman.
28307 Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
28308 https://bugs.webkit.org/show_bug.cgi?id=36952
28310 * inspector/front-end/AuditRules.js:
28311 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
28313 2010-03-31 Jeremy Orlow <jorlow@chromium.org>
28315 Reviewed by Nate Chapin.
28317 Misc IndexedDatabase cleanup
28318 https://bugs.webkit.org/show_bug.cgi?id=36889
28320 No functional changes.
28322 * bindings/v8/custom/V8CustomIDBCallbacks.h:
28323 (WebCore::V8CustomIDBCallbacks::onSuccess):
28324 (WebCore::V8CustomIDBCallbacks::onError):
28325 (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
28326 Get rid of 2 largely redundant bools
28328 * storage/IndexedDatabase.h:
28329 * storage/IndexedDatabaseImpl.cpp:
28330 (WebCore::IndexedDatabaseImpl::open):
28331 * storage/IndexedDatabaseImpl.h:
28332 * storage/IndexedDatabaseRequest.cpp:
28333 (WebCore::IndexedDatabaseRequest::open):
28334 * storage/IndexedDatabaseRequest.h:
28335 Plumb the Frame* and style cleanups.
28337 2010-03-31 Nikolas Zimmermann <nzimmermann@rim.com>
28339 Reviewed by Dirk Schulze.
28341 REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
28342 https://bugs.webkit.org/show_bug.cgi?id=27183
28344 Rewrite getCTM() / getScreenCTM() handling in an iterative way, fixing all known problems/limitations.
28345 The bug mentioned above is actually not a regression, getScreenCTM() only worked before, because we
28346 did not handle non-SVG CSS box parents properly. When support was added to handle those cases, the
28347 getScreenCTM() handling was completly off, causing a lot of trouble in real-life SVG applications (carto.net for instance)
28349 Tests: svg/custom/svgsvgelement-ctm.xhtml (fixed typo, missing unit identifier in CSS 'height' property, leading to incorrect results)
28350 svg/custom/svgsvgelement-ctm2.xhtml
28351 svg/custom/svgsvgelement-ctm3.xhtml
28352 svg/custom/svgsvgelement-ctm4.xhtml
28353 svg/custom/svgsvgelement-ctm5.xhtml
28355 * svg/SVGLocatable.cpp:
28356 (WebCore::SVGLocatable::getBBox):
28357 (WebCore::SVGLocatable::computeCTM):
28358 * svg/SVGLocatable.h:
28359 (WebCore::SVGLocatable::localCoordinateSpaceTransform):
28360 * svg/SVGSVGElement.cpp:
28361 (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
28362 (WebCore::SVGSVGElement::createRenderer):
28363 * svg/SVGSVGElement.h:
28364 * svg/SVGStyledElement.cpp:
28365 (WebCore::SVGStyledElement::localCoordinateSpaceTransform):
28366 * svg/SVGStyledElement.h:
28367 * svg/SVGStyledLocatableElement.cpp:
28368 (WebCore::SVGStyledLocatableElement::getCTM):
28369 (WebCore::SVGStyledLocatableElement::getScreenCTM):
28370 * svg/SVGStyledLocatableElement.h:
28371 (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
28372 * svg/SVGStyledTransformableElement.cpp:
28373 (WebCore::SVGStyledTransformableElement::getCTM):
28374 (WebCore::SVGStyledTransformableElement::getScreenCTM):
28375 * svg/SVGStyledTransformableElement.h:
28376 (WebCore::SVGStyledTransformableElement::localCoordinateSpaceTransform):
28377 * svg/SVGTextElement.cpp:
28378 (WebCore::SVGTextElement::getCTM):
28379 (WebCore::SVGTextElement::getScreenCTM):
28380 * svg/SVGTextElement.h:
28381 (WebCore::SVGTextElement::localCoordinateSpaceTransform):
28382 * svg/SVGTransformable.cpp:
28383 (WebCore::SVGTransformable::SVGTransformable):
28384 * svg/SVGTransformable.h:
28385 (WebCore::SVGTransformable::localCoordinateSpaceTransform):
28387 2010-04-01 Vitaly Repeshko <vitalyr@chromium.org>
28389 Reviewed by Darin Fisher.
28391 [V8] Quick fix for failure in SerializedScriptValue
28392 https://bugs.webkit.org/show_bug.cgi?id=36943
28394 This allows the web worker layout tests to pass again.
28396 * bindings/v8/SerializedScriptValue.h:
28397 (WebCore::SerializedScriptValue::deserializeAndSetProperty):
28399 2010-03-31 MORITA Hajime <morrita@google.com>
28401 Reviewed by Darin Adler.
28403 Crash when writing into a detached TITLE element
28404 https://bugs.webkit.org/show_bug.cgi?id=25567
28406 Document::setTitle() invoked HTMLTitleElement::setText(), which
28407 contains DOM tree modification, even when setTitle() is called
28408 from HTMLTitleElement::childrenChanged(). Fix to skip setText()
28409 when setTitle() is called childrenChanged() to avoid cascading
28410 DOM mutations between Document and HTMLTitleElement.
28412 Test: fast/dom/title-content-write-set.html
28414 * dom/Document.cpp:
28415 (WebCore::Document::setTitle):
28417 2010-04-01 Roland Steiner <rolandsteiner@chromium.org>
28419 Reviewed by Darin Adler.
28421 Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
28422 https://bugs.webkit.org/show_bug.cgi?id=36803
28424 Don't use ruby rendering if the underlying 'display' property has been
28425 changed into a value other than 'inline' or 'block' (such as 'inline-table').
28427 Test: fast/ruby/ruby-inline-table.html
28429 * rendering/RenderObject.cpp:
28430 (WebCore::RenderObject::createObject):
28432 2010-03-31 Geoffrey Garen <ggaren@apple.com>
28434 Reviewed by Darin Adler.
28436 Crash submitting display:none textarea in a form
28437 https://bugs.webkit.org/show_bug.cgi?id=36905
28439 Test: fast/forms/textarea-submit-crash.html
28441 * html/HTMLTextAreaElement.cpp:
28442 (WebCore::HTMLTextAreaElement::appendFormData): Do update layout before
28443 asking our renderer for its text, since we can't rely on our renderer's
28444 text if layout is needed.
28446 * rendering/RenderTextControl.cpp:
28447 (WebCore::RenderTextControl::textWithHardLineBreaks): Don't update layout
28448 while being asked for our text, since doing so may delete us, causing a crash.
28450 2010-03-31 Chris Fleizach <cfleizach@apple.com>
28452 Reviewed by Darin Adler.
28454 Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
28455 https://bugs.webkit.org/show_bug.cgi?id=36845
28457 Provide a way through WebKit to set an accessible label that describes the web area.
28459 Test: platform/mac/accessibility/html-with-aria-label.html
28461 * accessibility/AccessibilityObject.h:
28462 (WebCore::AccessibilityObject::setAccessibleName):
28463 * accessibility/AccessibilityRenderObject.cpp:
28464 (WebCore::AccessibilityRenderObject::accessibilityDescription):
28465 (WebCore::AccessibilityRenderObject::setAccessibleName):
28466 * accessibility/AccessibilityRenderObject.h:
28468 2010-03-31 Mark Rowe <mrowe@apple.com>
28470 Reviewed by Darin Adler.
28472 <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"
28474 * platform/KURL.cpp:
28475 (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with
28476 no port number before the path. This is handled in the same manner as the colon and port being omitted completely.
28478 2010-03-31 Gavin Barraclough <barraclough@apple.com>
28480 Reviewed by Oliver Hunt.
28482 Remove dependency on TextBreakIterator from StringImpl.cpp,
28483 and from member methods of String.
28485 Make 'numGraphemeClusters' & 'numCharactersInGraphemeClusters'
28486 global function defined in PlatformString.h, rather than
28487 member methods on String (these can be implemented purely
28488 using the characters() and length() public interface),
28489 and make 'makeCapitalized' a static function in RenderText.cpp.
28491 * dom/InputElement.cpp:
28492 (WebCore::InputElement::sanitizeUserInputValue):
28493 (WebCore::InputElement::handleBeforeTextInsertedEvent):
28494 * html/HTMLInputElement.cpp:
28495 (WebCore::HTMLInputElement::tooLong):
28496 * html/HTMLTextAreaElement.cpp:
28497 (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
28498 (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
28499 (WebCore::HTMLTextAreaElement::tooLong):
28500 * platform/text/PlatformString.h:
28501 (WebCore::String::makeSecure):
28502 * platform/text/String.cpp:
28503 (WebCore::numGraphemeClusters):
28504 (WebCore::numCharactersInGraphemeClusters):
28505 * platform/text/StringImpl.cpp:
28506 * platform/text/StringImpl.h:
28507 * rendering/RenderText.cpp:
28508 (WebCore::makeCapitalized):
28509 (WebCore::RenderText::setTextInternal):
28511 2010-03-31 Vitaly Repeshko <vitalyr@chromium.org>
28513 Reviewed by David Levin.
28515 [V8] SerializedScriptValue must be deserialized only once and in the right context
28516 https://bugs.webkit.org/show_bug.cgi?id=36892
28518 See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the
28519 corresponding JSC change.
28521 General idea: SerializedScriptValue must be deserialized only once
28522 and in the context of the intended MessageEvent recepient. The
28523 approach we take for now is to eagerly deserialize when a
28524 JavaScript wrapper for MessageEvent is created.
28526 A better fix would be to keep a reference to the context in
28527 MessageEvent and use it when lazily deserializing. It's harder to
28528 do since the API doesn't have a clean method to have such a reference.
28530 Tested by fast/dom/Window/window-postmessage-clone-frames.html. This
28531 test still fails but only for the types which we can't serialize yet.
28533 * bindings/scripts/CodeGeneratorV8.pm:
28534 * bindings/v8/SerializedScriptValue.h:
28535 (WebCore::SerializedScriptValue::deserializeAndSetProperty):
28536 * bindings/v8/custom/V8MessageEventCustom.cpp:
28537 (WebCore::V8MessageEvent::initMessageEventCallback):
28539 2010-03-31 Adam Barth <abarth@webkit.org>
28541 Reviewed by Darin Fisher.
28543 Cleanup RedirectScheduler
28544 https://bugs.webkit.org/show_bug.cgi?id=36874
28546 Removed the nutty ScheduledRedirection struct in favor of a hierarchy
28547 of classes to represent the various kinds of scheduled redirects.
28548 Doing this lets us get rid of the pseudo RTTI switch statements on
28549 "type" in favour of calling virtual functions.
28551 No new tests because this change should be API identical with the
28552 existing RedirectScheduler.
28554 * loader/RedirectScheduler.cpp:
28555 (WebCore::ScheduledNavigation::ScheduledNavigation):
28556 (WebCore::ScheduledNavigation::~ScheduledNavigation):
28557 (WebCore::ScheduledNavigation::isLocationChange):
28558 (WebCore::ScheduledNavigation::shouldStartTimer):
28559 (WebCore::ScheduledNavigation::didStartTimer):
28560 (WebCore::ScheduledNavigation::didStopTimer):
28561 (WebCore::ScheduledNavigation::delay):
28562 (WebCore::ScheduledNavigation::lockHistory):
28563 (WebCore::ScheduledNavigation::lockBackForwardList):
28564 (WebCore::ScheduledNavigation::wasDuringLoad):
28565 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
28566 (WebCore::ScheduledURLNavigation::fire):
28567 (WebCore::ScheduledURLNavigation::didStartTimer):
28568 (WebCore::ScheduledURLNavigation::didStopTimer):
28569 (WebCore::ScheduledURLNavigation::url):
28570 (WebCore::ScheduledURLNavigation::referrer):
28571 (WebCore::ScheduledURLNavigation::wasUserGesture):
28572 (WebCore::ScheduledRedirect::ScheduledRedirect):
28573 (WebCore::ScheduledRedirect::isLocationChange):
28574 (WebCore::ScheduledRedirect::shouldStartTimer):
28575 (WebCore::ScheduledLocationChange::ScheduledLocationChange):
28576 (WebCore::ScheduledRefresh::ScheduledRefresh):
28577 (WebCore::ScheduledRefresh::fire):
28578 (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
28579 (WebCore::ScheduledHistoryNavigation::fire):
28580 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
28581 (WebCore::ScheduledFormSubmission::fire):
28582 (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
28583 (WebCore::RedirectScheduler::clear):
28584 (WebCore::RedirectScheduler::scheduleRedirect):
28585 (WebCore::RedirectScheduler::mustLockBackForwardList):
28586 (WebCore::RedirectScheduler::scheduleLocationChange):
28587 (WebCore::RedirectScheduler::scheduleFormSubmission):
28588 (WebCore::RedirectScheduler::scheduleRefresh):
28589 (WebCore::RedirectScheduler::locationChangePending):
28590 (WebCore::RedirectScheduler::scheduleHistoryNavigation):
28591 (WebCore::RedirectScheduler::timerFired):
28592 (WebCore::RedirectScheduler::schedule):
28593 (WebCore::RedirectScheduler::startTimer):
28594 (WebCore::RedirectScheduler::cancel):
28595 * loader/RedirectScheduler.h:
28597 2010-03-31 Zhenyao Mo <zmo@google.com>
28599 Reviewed by Darin Fisher.
28601 Hook up WebGLContextAttributes to OpenGL context creation code
28602 https://bugs.webkit.org/show_bug.cgi?id=33416
28604 Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
28606 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
28607 (WebCore::V8HTMLCanvasElement::getContextCallback):
28608 * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
28609 * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
28610 * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
28611 (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
28612 * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
28613 (WebCore::GraphicsContext3D::GraphicsContext3D):
28614 (WebCore::GraphicsContext3D::~GraphicsContext3D):
28615 (WebCore::GraphicsContext3D::validateAttributes):
28616 (WebCore::GraphicsContext3D::reshape):
28617 (WebCore::GraphicsContext3D::prepareTexture):
28618 (WebCore::GraphicsContext3D::bindFramebuffer):
28619 (WebCore::GraphicsContext3D::readPixels):
28620 * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
28621 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
28623 2010-03-31 Jian Li <jianli@chromium.org>
28625 Reviewed by Dmitry Titov.
28627 Add support to create UUID string.
28628 https://bugs.webkit.org/show_bug.cgi?id=36472
28633 * WebCore.vcproj/WebCore.vcproj:
28634 * WebCore.xcodeproj/project.pbxproj:
28635 * platform/UUID.cpp: Added.
28636 (WebCore::createCanonicalUUIDString):
28637 * platform/UUID.h: Added.
28639 2010-03-31 Darin Adler <darin@apple.com>
28641 * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings.
28643 2010-03-31 Luiz Agostini <luiz.agostini@openbossa.org>
28645 Reviewed by Kenneth Rohde Christiansen.
28647 [Qt] Maemo5 theme - form controls style
28648 https://bugs.webkit.org/show_bug.cgi?id=36370
28650 Adjusting Mameo5 form elements rendering.
28654 * css/themeQtMaemo5.css: Added.
28658 (select:active:disabled):
28660 (textarea:disabled):
28662 * platform/qt/Maemo5Webstyle.cpp: Added.
28663 (Maemo5WebStyle::Maemo5WebStyle):
28664 (drawRectangularControlBackgorund):
28665 (Maemo5WebStyle::drawChecker):
28666 (Maemo5WebStyle::findChecker):
28667 (Maemo5WebStyle::drawRadio):
28668 (Maemo5WebStyle::findRadio):
28669 (Maemo5WebStyle::drawControl):
28670 (Maemo5WebStyle::drawComplexControl):
28671 * platform/qt/Maemo5Webstyle.h: Added.
28672 * platform/qt/RenderThemeQt.cpp:
28673 (WebCore::RenderThemeQt::RenderThemeQt):
28674 (WebCore::RenderThemeQt::isControlStyled):
28675 (WebCore::RenderThemeQt::popupInternalPaddingBottom):
28676 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
28677 (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
28678 * platform/qt/RenderThemeQt.h:
28680 2010-03-31 Alexey Proskuryakov <ap@apple.com>
28682 https://bugs.webkit.org/show_bug.cgi?id=36897
28683 <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
28685 Addressing additional review comments.
28687 * rendering/RenderWidget.cpp: Removed an unneeded include.
28688 * rendering/RenderWidget.h: Reworded the new comment.
28690 2010-03-31 Alexey Proskuryakov <ap@apple.com>
28692 Reviewed by Dan Bernstein.
28694 https://bugs.webkit.org/show_bug.cgi?id=36897
28695 <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
28697 * manual-tests/plugin-in-iframe-scroll.html: Added.
28698 * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added.
28700 * rendering/RenderWidget.cpp:
28701 (WebCore::RenderWidget::setWidgetGeometry): This method isn't called when an iframe containing
28702 the widget moves, so we should store a value that is not dependent on current scroll offset.
28703 (WebCore::RenderWidget::windowClipRect): Apply scroll offset and window clip now.
28705 * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer
28706 in window coordinates.
28708 * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline.
28710 2010-03-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
28712 Unreviewed crash fix.
28714 Crash with frame flattening on after r56854
28715 https://bugs.webkit.org/show_bug.cgi?id=36894
28717 Solution tested by Greg Bolsinga, thanks.
28719 * page/FrameView.cpp:
28720 (WebCore::FrameView::avoidScrollbarCreation):
28721 * platform/ScrollView.cpp:
28722 (WebCore::ScrollView::setHasHorizontalScrollbar):
28723 (WebCore::ScrollView::setHasVerticalScrollbar):
28725 2010-03-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
28727 Reviewed by Antti Koivisto.
28729 iframe flattening doesn't flatten
28730 https://bugs.webkit.org/show_bug.cgi?id=36798
28732 Do not draw scrollbars for subframes when frame flattening is
28733 enabled. Implemented using a virtual method in ScrollView as
28734 suggested by Dave Hyatt.
28736 Do not suppress scrollbars as that is wrong according to
28739 Covered by current tests.
28741 * page/FrameView.cpp:
28742 (WebCore::FrameView::avoidScrollbarCreation):
28743 * page/FrameView.h:
28744 * platform/ScrollView.cpp:
28745 (WebCore::ScrollView::setHasHorizontalScrollbar):
28746 (WebCore::ScrollView::setHasVerticalScrollbar):
28747 * platform/ScrollView.h:
28748 (WebCore::ScrollView::avoidScrollbarCreation):
28749 * rendering/RenderPart.cpp:
28750 (WebCore::RenderPart::layoutWithFlattening):
28752 2010-03-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
28754 Reviewed by Antti Koivisto.
28756 iframe flattening doesn't flatten
28757 https://bugs.webkit.org/show_bug.cgi?id=36798
28759 Fix wrongly reversing logic in frame flattening check.
28762 fast/frames/flattening/iframe-flattening-fixed-height.html
28763 fast/frames/flattening/iframe-flattening-fixed-width.html
28764 fast/frames/flattening/iframe-flattening-fixed-width-and-height.html
28765 fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html
28767 * rendering/RenderPartObject.cpp:
28768 (WebCore::RenderPartObject::flattenFrame):
28770 2010-03-31 Marcus Bulach <bulach@chromium.org>
28772 Reviewed by Jeremy Orlow.
28774 Implements cancelGeolocationPermissionRequestForFrame.
28775 Similar to requestGeolocationPermissionForFrame(), passes Geolocation* to cancelGeolocationPermissionRequestForFrame(),
28776 so that the embedder can identify which Geolocation object is cancelling the pending permission request.
28777 Calls cancelGeolocationPermissionRequestForFrame() before stopUpdating() so it better matches the startUpdating() / requestPermission() flow.
28778 https://bugs.webkit.org/show_bug.cgi?id=35031
28780 * loader/EmptyClients.h:
28781 (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame):
28783 (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame):
28785 * page/ChromeClient.h:
28786 * page/Geolocation.cpp:
28787 (WebCore::Geolocation::disconnectFrame):
28789 2010-03-31 Yael Aharon <yael.aharon@nokia.com>
28791 Reviewed by Antti Koivisto.
28793 Add animation to progress element
28794 https://bugs.webkit.org/show_bug.cgi?id=36664
28796 Add a timer to control the animation. The timer is started after painting
28797 or a state change in the progress bar, to prevent animation from running
28798 when the progress bar is not visible.
28800 * html/HTMLProgressElement.cpp:
28801 (WebCore::HTMLProgressElement::createRenderer):
28802 * manual-tests/dom: Added.
28803 * manual-tests/dom/progressbar.html: Added.
28804 * platform/qt/RenderThemeQt.cpp:
28805 (WebCore::RenderThemeQt::animationRepeatIntervalForProgressBar):
28806 (WebCore::RenderThemeQt::animationDurationForProgressBar):
28807 (WebCore::RenderThemeQt::paintProgressBar):
28808 * platform/qt/RenderThemeQt.h:
28809 * rendering/RenderProgress.cpp:
28810 (WebCore::RenderProgress::RenderProgress):
28811 (WebCore::RenderProgress::layout):
28812 (WebCore::RenderProgress::updateFromElement):
28813 (WebCore::RenderProgress::animationProgress):
28814 (WebCore::RenderProgress::animationTimerFired):
28815 (WebCore::RenderProgress::paint):
28816 (WebCore::RenderProgress::updateAnimationState):
28817 * rendering/RenderProgress.h:
28818 * rendering/RenderTheme.cpp:
28819 (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
28820 (WebCore::RenderTheme::animationDurationForProgressBar):
28821 * rendering/RenderTheme.h:
28823 2010-03-31 Pavel Feldman <pfeldman@chromium.org>
28825 Not reviewed. Rolling out r56829 since it broke chromium layout tests.
28827 [REGRESSION] Inspector tests started crashing since r56829
28828 https://bugs.webkit.org/show_bug.cgi?id=36888
28830 * bindings/scripts/CodeGeneratorV8.pm:
28831 * bindings/v8/V8Utilities.cpp:
28832 * bindings/v8/V8Utilities.h:
28833 * loader/FrameLoaderClient.h:
28835 2010-03-31 Pavel Feldman <pfeldman@chromium.org>
28837 Reviewed by Timothy Hatcher.
28839 Web Inspector: creating new style bugfixing.
28841 https://bugs.webkit.org/show_bug.cgi?id=36884
28843 - InspectorDOMAgent should clear internal state upon reset (we are re-using
28844 single dom agent instance throughout entire inspector controller lifetime)
28845 - Brought back blank style 'refresh' processing logic - remove it by mistake earlier
28846 - Blocked couple of click handlers so that double-click to edit was not
28847 expanding / collapsing the pane
28848 - There is no need to reach out for matched rules upon 'refresh' update -
28849 getting computed style is sufficient.
28851 * css/CSSStyleSelector.cpp:
28852 (WebCore::CSSStyleSelector::matchRulesForList):
28853 * inspector/InspectorDOMAgent.cpp:
28854 (WebCore::InspectorDOMAgent::discardBindings):
28855 * inspector/front-end/StylesSidebarPane.js:
28856 (WebInspector.StylesSidebarPane.prototype.update.getStylesCallback):
28857 (WebInspector.StylesSidebarPane.prototype.update.getComputedStyleCallback):
28858 (WebInspector.StylesSidebarPane.prototype.update):
28859 (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
28860 (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
28861 (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
28862 (WebInspector.StylesSidebarPane.prototype.addBlankSection):
28863 (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace):
28864 (WebInspector.StylePropertiesSection.prototype._clickSelector):
28866 2010-03-31 Yury Semikhatsky <yurys@chromium.org>
28868 Unreviewed. Chromium build fix: create missing v8::HandleScope.
28870 https://bugs.webkit.org/show_bug.cgi?id=36828
28872 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
28873 (WebCore::InjectedScriptHost::canAccessInspectedWindow):
28875 2010-03-31 Yury Semikhatsky <yurys@chromium.org>
28877 Reviewed by Pavel Feldman.
28879 Check that injected script can still access inspected window object when wrapping console object. When the window cannot be access serialize objects as strings. Also don't call InjectedScript.dispatch if the window cannot be accessed (due to frame navigation).
28881 https://bugs.webkit.org/show_bug.cgi?id=36828
28883 * bindings/js/JSInjectedScriptHostCustom.cpp:
28884 (WebCore::InjectedScriptHost::canAccessInspectedWindow):
28885 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
28886 (WebCore::InjectedScriptHost::canAccessInspectedWindow):
28887 * inspector/InjectedScript.cpp:
28888 (WebCore::InjectedScript::wrapForConsole):
28889 * inspector/InjectedScriptHost.h:
28890 * inspector/front-end/InjectedScript.js:
28891 (injectedScriptConstructor):
28893 2010-03-31 Mattias Nissler <mnissler@google.com>
28895 Reviewed by Pavel Feldman.
28897 Allow generic resource URLs for cookie handling in the inspector. This
28898 enables display of all cookies, not only those that are associated
28899 with resources accessed through http, https or file.
28900 https://bugs.webkit.org/show_bug.cgi?id=36877
28902 * inspector/front-end/CookieItemsView.js:
28903 (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
28904 * inspector/front-end/DOMAgent.js:
28905 (WebInspector.Cookies.cookieMatchesResourceURL):
28906 * inspector/front-end/inspector.js:
28907 (WebInspector.updateResource):
28909 2010-03-30 Jeremy Orlow <jorlow@chromium.org>
28911 Reviewed by Nate Chapin.
28913 IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest
28914 https://bugs.webkit.org/show_bug.cgi?id=36830
28916 Still not enough hooked up to test. Soon!
28919 * bindings/v8/custom/V8CustomIDBCallback.h: Removed.
28920 * bindings/v8/custom/V8CustomIDBCallbacks.h: Added.
28921 (WebCore::V8CustomIDBCallbacks::create):
28922 (WebCore::V8CustomIDBCallbacks::~V8CustomIDBCallbacks):
28923 (WebCore::V8CustomIDBCallbacks::onSuccess):
28924 (WebCore::V8CustomIDBCallbacks::onError):
28925 (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
28926 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
28927 (WebCore::V8IndexedDatabaseRequest::openCallback):
28928 * storage/IDBDatabaseRequest.cpp: Added.
28929 (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
28930 (WebCore::IDBDatabaseRequest::~IDBDatabaseRequest):
28931 * storage/IDBDatabaseRequest.h:
28932 (WebCore::IDBDatabaseRequest::create):
28933 * storage/IndexedDatabaseRequest.cpp:
28934 (WebCore::IndexedDatabaseRequest::open):
28935 * storage/IndexedDatabaseRequest.h:
28937 2010-03-31 Zhenyao Mo <zmo@google.com>
28939 Reviewed by Darin Fisher.
28941 Implement memmove behavior for WebGLArray set()
28942 https://bugs.webkit.org/show_bug.cgi?id=35619
28944 New test cases are added to fast/canvas/webgl/array-setters.html.
28946 * html/canvas/WebGLArray.cpp: Use memmove instead of memcpy; with memmove, copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap.
28947 (WebCore::WebGLArray::setImpl):
28949 2010-03-31 Benjamin Poulain <benjamin.poulain@nokia.com>
28951 Reviewed by Darin Adler.
28953 tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual
28954 https://bugs.webkit.org/show_bug.cgi?id=36810
28956 Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox
28958 * rendering/RenderBox.h:
28959 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
28960 * rendering/RenderObject.h:
28962 2010-03-31 John Gregg <johnnyg@google.com>
28964 Reviewed by Darin Fisher.
28966 [chromium] add logging of cross-frame property accesses for site isolation
28967 https://bugs.webkit.org/show_bug.cgi?id=35773
28969 No new tests as no new functionality.
28971 * bindings/scripts/CodeGeneratorV8.pm:
28972 * bindings/v8/V8Utilities.cpp:
28973 (WebCore::logPropertyAccess):
28974 * bindings/v8/V8Utilities.h:
28975 * loader/FrameLoaderClient.h:
28976 (WebCore::FrameLoaderClient::logCrossFramePropertyAccess):
28978 2010-03-30 Gavin Barraclough <barraclough@apple.com>
28980 Rubber stamped by Sam Weinig.
28982 https://bugs.webkit.org/show_bug.cgi?id=36866
28983 Move CString to WTF
28986 * ForwardingHeaders/wtf/text: Added.
28987 * ForwardingHeaders/wtf/text/CString.h: Added.
28989 * WebCore.base.exp:
28993 * WebCore.vcproj/WebCore.vcproj:
28994 * WebCore.xcodeproj/project.pbxproj:
28995 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
28996 * bindings/js/JSDOMWindowBase.cpp:
28997 * bindings/js/ScheduledAction.cpp:
28998 * bindings/js/ScriptController.cpp:
28999 * bindings/v8/ScriptController.cpp:
29000 * bindings/v8/V8Binding.cpp:
29001 * bindings/v8/V8DOMWindowShell.cpp:
29002 * bridge/jni/JNIBridge.cpp:
29003 * bridge/jni/v8/JavaStringV8.h:
29004 (JSC::Bindings::JavaStringImpl::init):
29005 * css/CSSParser.cpp:
29006 * dom/CharacterData.cpp:
29007 * dom/Document.cpp:
29010 * dom/Position.cpp:
29013 * dom/XMLTokenizer.cpp:
29014 * dom/XMLTokenizerLibxml2.cpp:
29015 * dom/XMLTokenizerQt.cpp:
29016 * editing/SelectionController.cpp:
29017 * editing/VisiblePosition.cpp:
29018 * editing/VisibleSelection.cpp:
29019 * history/CachedFrame.cpp:
29020 * history/HistoryItem.cpp:
29021 * history/qt/HistoryItemQt.cpp:
29022 * html/FormDataList.h:
29023 (WebCore::FormDataList::appendData):
29024 (WebCore::FormDataList::Item::Item):
29025 (WebCore::FormDataList::Item::data):
29026 * html/HTMLDocument.cpp:
29027 * html/PreloadScanner.cpp:
29028 * inspector/InspectorController.cpp:
29029 * inspector/InspectorDOMAgent.cpp:
29030 * loader/DocLoader.cpp:
29031 * loader/FTPDirectoryDocument.cpp:
29032 * loader/FrameLoader.cpp:
29033 * loader/HistoryController.cpp:
29034 * loader/ProgressTracker.cpp:
29035 * loader/appcache/ApplicationCacheStorage.cpp:
29036 * loader/archive/cf/LegacyWebArchive.cpp:
29037 * loader/icon/wince/IconDatabaseWince.cpp:
29038 * loader/loader.cpp:
29039 * page/Console.cpp:
29040 * page/DOMWindow.cpp:
29041 * page/SecurityOrigin.cpp:
29042 * page/XSSAuditor.cpp:
29043 * page/animation/AnimationBase.cpp:
29044 * platform/ContextMenu.cpp:
29045 * platform/FileSystem.h:
29046 * platform/KURL.cpp:
29047 * platform/KURLGoogle.cpp:
29048 * platform/KURLGooglePrivate.h:
29049 * platform/Pasteboard.h:
29050 * platform/android/FileSystemAndroid.cpp:
29051 * platform/android/TemporaryLinkStubs.cpp:
29052 * platform/brew/KURLBrew.cpp:
29053 * platform/cf/FileSystemCF.cpp:
29054 * platform/chromium/MIMETypeRegistryChromium.cpp:
29055 * platform/efl/FileSystemEfl.cpp:
29056 * platform/efl/PasteboardEfl.cpp:
29057 * platform/efl/PlatformKeyboardEventEfl.cpp:
29058 * platform/efl/PlatformScreenEfl.cpp:
29059 * platform/efl/RenderThemeEfl.cpp:
29060 * platform/efl/ScrollbarEfl.cpp:
29061 * platform/efl/SharedBufferEfl.cpp:
29062 * platform/efl/WidgetEfl.cpp:
29063 * platform/graphics/GlyphPageTreeNode.cpp:
29064 * platform/graphics/cairo/FontPlatformDataCairo.cpp:
29065 * platform/graphics/cg/ImageBufferCG.cpp:
29066 * platform/graphics/chromium/FontCacheLinux.cpp:
29067 * platform/graphics/chromium/FontPlatformDataLinux.h:
29068 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
29069 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
29070 * platform/graphics/gtk/FontPlatformDataPango.cpp:
29071 * platform/graphics/gtk/IconGtk.cpp:
29072 * platform/graphics/gtk/ImageGtk.cpp:
29073 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
29074 * platform/graphics/mac/GraphicsContext3DMac.cpp:
29075 * platform/graphics/mac/GraphicsLayerCA.mm:
29076 * platform/graphics/qt/GraphicsContext3DQt.cpp:
29077 * platform/graphics/qt/ImageBufferQt.cpp:
29078 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
29079 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
29080 * platform/graphics/skia/GraphicsLayerSkia.cpp:
29081 * platform/graphics/win/GraphicsLayerCACF.cpp:
29082 * platform/graphics/win/WKCACFLayer.cpp:
29083 * platform/graphics/wx/FontPlatformData.h:
29084 * platform/gtk/ClipboardGtk.cpp:
29085 * platform/gtk/ContextMenuItemGtk.cpp:
29086 * platform/gtk/DataObjectGtk.h:
29087 * platform/gtk/FileChooserGtk.cpp:
29088 * platform/gtk/FileSystemGtk.cpp:
29089 * platform/gtk/GeolocationServiceGtk.cpp:
29090 * platform/gtk/KURLGtk.cpp:
29091 * platform/gtk/Language.cpp:
29092 * platform/gtk/LocalizedStringsGtk.cpp:
29093 * platform/gtk/PasteboardGtk.cpp:
29094 * platform/gtk/PopupMenuGtk.cpp:
29095 * platform/gtk/RenderThemeGtk.cpp:
29096 * platform/gtk/SharedBufferGtk.cpp:
29097 * platform/haiku/FileSystemHaiku.cpp:
29098 * platform/haiku/PlatformKeyboardEventHaiku.cpp:
29099 * platform/network/CredentialStorage.cpp:
29100 * platform/network/FormData.cpp:
29101 * platform/network/FormData.h:
29102 * platform/network/FormDataBuilder.cpp:
29103 * platform/network/FormDataBuilder.h:
29104 * platform/network/HTTPParsers.cpp:
29105 * platform/network/android/ResourceHandleAndroid.cpp:
29106 * platform/network/cf/FormDataStreamCFNet.cpp:
29107 * platform/network/cf/ResourceHandleCFNet.cpp:
29108 * platform/network/chromium/ResourceResponse.h:
29109 * platform/network/curl/FormDataStreamCurl.cpp:
29110 * platform/network/curl/ResourceHandleManager.cpp:
29111 * platform/network/curl/ResourceHandleManager.h:
29112 * platform/network/mac/FormDataStreamMac.mm:
29113 * platform/network/mac/ResourceHandleMac.mm:
29114 * platform/network/qt/QNetworkReplyHandler.cpp:
29115 * platform/network/soup/CookieJarSoup.cpp:
29116 * platform/network/soup/ResourceHandleSoup.cpp:
29117 * platform/network/soup/ResourceRequestSoup.cpp:
29118 * platform/network/soup/ResourceResponseSoup.cpp:
29119 * platform/network/win/ResourceHandleWin.cpp:
29120 * platform/posix/FileSystemPOSIX.cpp:
29121 * platform/qt/FileSystemQt.cpp:
29122 * platform/qt/KURLQt.cpp:
29123 * platform/qt/TemporaryLinkStubs.cpp:
29124 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
29125 * platform/text/CString.cpp: Removed.
29126 * platform/text/CString.h: Removed.
29127 * platform/text/PlatformString.h:
29128 * platform/text/String.cpp:
29129 * platform/text/StringImpl.cpp:
29130 * platform/text/TextCodec.h:
29131 * platform/text/TextCodecICU.cpp:
29132 * platform/text/TextCodecLatin1.cpp:
29133 * platform/text/TextCodecUTF16.cpp:
29134 * platform/text/TextCodecUserDefined.cpp:
29135 * platform/text/TextEncoding.cpp:
29136 * platform/text/TextEncoding.h:
29137 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
29138 * platform/text/gtk/TextCodecGtk.cpp:
29139 * platform/text/haiku/StringHaiku.cpp:
29140 * platform/text/mac/TextCodecMac.cpp:
29141 * platform/text/qt/TextCodecQt.cpp:
29142 * platform/text/wx/StringWx.cpp:
29143 * platform/win/ClipboardUtilitiesWin.cpp:
29144 * platform/win/ClipboardWin.cpp:
29145 * platform/win/ContextMenuItemWin.cpp:
29146 * platform/win/ContextMenuWin.cpp:
29147 * platform/win/FileSystemWin.cpp:
29148 * platform/win/GDIObjectCounter.cpp:
29149 * platform/win/Language.cpp:
29150 * platform/win/PasteboardWin.cpp:
29151 * platform/wince/FileSystemWince.cpp:
29152 * platform/wince/KeygenWince.cpp:
29153 * platform/wince/PasteboardWince.cpp:
29154 * platform/wx/FileSystemWx.cpp:
29155 * platform/wx/LoggingWx.cpp:
29156 * plugins/PluginDebug.h:
29157 * plugins/PluginPackage.cpp:
29158 * plugins/PluginStream.cpp:
29159 * plugins/PluginStream.h:
29160 * plugins/PluginView.h:
29161 * plugins/gtk/PluginPackageGtk.cpp:
29162 * plugins/mac/PluginPackageMac.cpp:
29163 * plugins/qt/PluginPackageQt.cpp:
29164 * plugins/symbian/PluginPackageSymbian.cpp:
29165 * plugins/win/PluginPackageWin.cpp:
29166 * rendering/RenderLayer.cpp:
29167 * rendering/RenderLayerCompositor.cpp:
29168 * rendering/RenderTreeAsText.cpp:
29169 * storage/Database.cpp:
29170 * storage/SQLTransactionCoordinator.cpp:
29171 * storage/SQLTransactionCoordinator.h:
29172 * storage/StorageAreaSync.cpp:
29173 * storage/StorageSyncManager.cpp:
29174 * storage/chromium/DatabaseTrackerChromium.cpp:
29175 * storage/chromium/QuotaTracker.cpp:
29176 * storage/chromium/QuotaTracker.h:
29177 * svg/SVGFontFaceElement.cpp:
29178 * svg/SVGStyledElement.cpp:
29179 * svg/SVGUseElement.cpp:
29180 * websockets/WebSocket.cpp:
29181 * websockets/WebSocketChannel.cpp:
29182 * websockets/WebSocketHandshake.cpp:
29183 * wml/WMLErrorHandling.cpp:
29184 * wml/WMLGoElement.cpp:
29185 * wml/WMLPageState.cpp:
29186 * wml/WMLPostfieldElement.cpp:
29187 * wml/WMLSelectElement.cpp:
29188 * xml/XMLHttpRequest.cpp:
29189 * xml/XSLStyleSheetLibxslt.cpp:
29190 * xml/XSLTProcessorLibxslt.cpp:
29192 2010-03-30 Kent Tamura <tkent@chromium.org>
29194 Reviewed by Brady Eidson.
29196 REGRESSION (r56439) - Crash when a renderer for a file upload control
29197 with a selected file is recreated
29198 https://bugs.webkit.org/show_bug.cgi?id=36723
29200 RenderFileUploadControl::chooseIconForFiles was called before
29201 m_fileChooser was initialized.
29203 * platform/FileChooser.cpp:
29204 (WebCore::FileChooser::FileChooser): Introduce m_isInitializing flag to
29205 avoid FileChooserClient::repaint() call.
29206 (WebCore::FileChooser::loadIcon):
29207 (WebCore::FileChooser::iconLoaded):
29208 * platform/FileChooser.h: Add a FielChooser parameter to
29209 FileChooserClient::chooseIconForFiles().
29210 * rendering/RenderFileUploadControl.cpp:
29211 (WebCore::RenderFileUploadControl::chooseIconForFiles):
29212 (WebCore::RenderFileUploadControl::paintObject): Add an assertion.
29213 * rendering/RenderFileUploadControl.h:
29215 2010-03-30 Stanislav Paltis <Stanislav.Paltis@nokia.com>
29217 Reviewed by Laszlo Gombos.
29219 [Qt] qmake/symbian build failure
29220 https://bugs.webkit.org/show_bug.cgi?id=36745
29222 Fix build break in Symbian build introduced in r56714,
29223 by modifying comment escape character from ";" to "#".
29227 2010-03-30 Kevin Ollivier <kevino@theolliviers.com>
29229 [wx] Build fix after new localized string addition.
29231 * platform/wx/LocalizedStringsWx.cpp:
29232 (WebCore::missingPluginText):
29234 2010-03-30 Sam Weinig <sam@webkit.org>
29236 Reviewed by Anders Carlsson.
29238 Add missing export.
29240 * WebCore.base.exp:
29242 2010-03-30 Enrica Casucci <enrica@apple.com>
29244 Reviewed by Darin Adler.
29246 Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33.
29247 <rdar://problem/7810749>
29248 https://bugs.webkit.org/show_bug.cgi?id=36858
29250 Test: fast/text/multiglyph-characters.html
29252 Characters with multiple glyph were not supported correctly.
29253 Computing the advance width was producing a division by zero.
29255 * platform/graphics/mac/ComplexTextController.cpp:
29256 (WebCore::ComplexTextController::advance):
29258 2010-03-30 Chris Evans <cevans@chromium.org>
29260 Reviewed by Adam Barth.
29262 Taint the canvas if an SVG-derived pattern is rendered into it.
29264 https://bugs.webkit.org/show_bug.cgi?id=36838
29266 Test: fast/canvas/svg-taint.html
29268 * html/canvas/CanvasRenderingContext2D.cpp:
29269 (WebCore::CanvasRenderingContext2D::createPattern):
29270 Take into account the image's hasSingleSecurityOrigin() property.
29272 2010-03-30 Alexey Proskuryakov <ap@apple.com>
29274 Reviewed by Darin Adler.
29276 https://bugs.webkit.org/show_bug.cgi?id=36616
29277 Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
29279 https://bugs.webkit.org/show_bug.cgi?id=36797
29280 For non-Roman layouts, keydown Event.keyCode is always 0
29282 * platform/cocoa/KeyEventCocoa.mm:
29283 (WebCore::windowsKeyCodeForKeyCode): This is now the primary function for determining
29284 Windows key code - there is no reason to round trip a virtual key code via character code to
29285 get Windows virtual key code, and this can't work for non-Roman alphabets.
29286 (WebCore::windowsKeyCodeForCharCode): Removed keys that are now handled in windowsKeyCodeForKeyCode(),
29287 only keeping those for which we don't have known key codes (yet?).
29289 * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Added comments.
29291 2010-03-30 Marcus Bulach <bulach@chromium.org>
29293 Reviewed by Darin Fisher.
29295 Rename / tidy up Geolocation bridge
29296 Uses Geoposition instead of individual params for setLastPosition.
29297 https://bugs.webkit.org/show_bug.cgi?id=36535
29299 * platform/chromium/GeolocationServiceChromium.cpp:
29300 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
29301 (WebCore::GeolocationServiceChromium::setIsAllowed):
29302 (WebCore::GeolocationServiceChromium::setLastPosition):
29303 * platform/chromium/GeolocationServiceChromium.h:
29305 2010-03-30 Adam Langley <agl@chromium.org>
29307 Reviewed by David Levin.
29309 [chromium] linux: prefer the "hinting" fontconfig preference.
29311 fontconfig can give contradictory hinting information, setting
29312 "hinting" to zero and "hintstyle" to non-zero. In this case we
29313 should take the "hinting" preference.
29315 https://bugs.webkit.org/show_bug.cgi?id=36602
29317 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
29318 (WebCore::FontPlatformData::setupPaint):
29320 2010-03-30 Pavel Feldman <pfeldman@chromium.org>
29322 Reviewed by Timothy Hatcher.
29324 Web Inspector: Copying from the Content tab in Resources includes line numbers.
29326 https://bugs.webkit.org/show_bug.cgi?id=35104
29328 * inspector/front-end/TextViewer.js:
29329 (WebInspector.TextViewer):
29330 (WebInspector.TextViewer.prototype._beforeCopy):
29331 (WebInspector.TextViewer.prototype._copy):
29333 2010-03-30 Pavel Feldman <pfeldman@chromium.org>
29335 Reviewed by Timothy Hatcher.
29337 Web Inspector: Do not send empty matching rules for pseudo elements to frontend.
29339 https://bugs.webkit.org/show_bug.cgi?id=36834
29341 * inspector/InspectorDOMAgent.cpp:
29342 (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
29343 * inspector/front-end/StylesSidebarPane.js:
29344 (WebInspector.StylesSidebarPane.prototype._update):
29346 2010-03-30 Dirk Schulze <krit@webkit.org>
29348 Reviewed by Nikolas Zimmermann.
29350 Cannot animate "points" attribute for <svg:polygon>
29351 https://bugs.webkit.org/show_bug.cgi?id=21371
29353 Add animation support for 'points' on polygons in SVG.
29355 Test: svg/animations/animate-points.html
29357 * svg/SVGAnimateElement.cpp:
29358 (WebCore::SVGAnimateElement::determinePropertyType):
29359 (WebCore::SVGAnimateElement::calculateAnimatedValue):
29360 (WebCore::SVGAnimateElement::calculateFromAndToValues):
29361 (WebCore::SVGAnimateElement::resetToBaseValue):
29362 (WebCore::SVGAnimateElement::applyResultsToTarget):
29363 * svg/SVGAnimateElement.h:
29364 (WebCore::SVGAnimateElement::): added PropertyType PointsProperty
29365 * svg/SVGPointList.cpp:
29366 (WebCore::blendFunc):
29367 (WebCore::SVGPointList::createAnimated): calculates animated PointList
29368 * svg/SVGPointList.h:
29370 2010-03-30 Alexander Pavlov <apavlov@chromium.org>
29372 Reviewed by Pavel Feldman.
29374 Web Inspector: Audits: bad CSS selector results in exception inside evaluated code
29375 https://bugs.webkit.org/show_bug.cgi?id=36821
29377 * inspector/front-end/AuditRules.js:
29378 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
29379 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
29381 2010-03-29 Janne Koskinen <janne.p.koskinen@digia.com>
29383 Reviewed by Simon Hausmann.
29385 [Qt] Package build fixes for Symbian
29387 * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option
29389 qtlibinfix adds possibility having multiple versions of Qt in Symbian devices.
29390 Fix also allows unfrozen DLL exports during development.
29392 * Removed heap size configuration. DLLs don't have a heap.
29394 * Removed enforcement to def files for package builds. Instead inherit the setting from
29395 Qt's qconfig.pri whether to use def files or not. It's still possible to override this
29396 also at qmake time by passing CONFIG+=def_files.
29400 2010-03-30 Ilya Tikhonovsky <loislo@chromium.org>
29402 Reviewed by Pavel Feldman.
29404 Web Inspector: Title for show/hide short records button was adjusted.
29405 Some unused code was removed.
29406 https://bugs.webkit.org/show_bug.cgi?id=36823
29408 * inspector/front-end/TimelinePanel.js:
29409 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
29410 (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
29411 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
29413 2010-03-30 Adam Roben <aroben@apple.com>
29415 Enable extra Direct3D debugging information in Debug builds
29417 This makes it easier to track down memory leaks and misuses of the D3D
29418 APIs in Debug builds.
29420 Fixes <http://webkit.org/b/36820>
29422 Reviewed by John Sullivan.
29424 * platform/graphics/win/WKCACFLayerRenderer.cpp: Define D3D_DEBUG_INFO
29425 in Debug builds before #including d3d9.h so that extra D3D debugging
29426 information will be enabled.
29428 2010-03-30 Luiz Agostini <luiz.agostini@openbossa.org>
29430 Reviewed by Kenneth Rohde Christiansen.
29432 [Qt] Maemo5 theme - QtMaemoWebPopup class
29433 https://bugs.webkit.org/show_bug.cgi?id=36790
29435 Moving maemo5 theme related code from WebCore.pri to WebCore.pro and adding
29436 new maemo menu lists popup class source and header to the project.
29438 The code was in .pri file because of a theme css that was conditionally included.
29439 As the css file is been included unconditionally there is no need to this
29440 code to be kept in webcore.pri.
29445 2010-03-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
29447 Reviewed by David Kilzer.
29449 Guard Geolocation files with ENABLE_GEOLOCATION
29450 https://bugs.webkit.org/show_bug.cgi?id=25756
29452 The intent is to guard the Geolocation implementation files
29453 and minimize the impact on on clients/call sites.
29455 * DerivedSources.make:
29456 * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION
29458 * WebCore.base.exp:
29459 * bindings/js/JSCustomPositionCallback.cpp:
29460 * bindings/js/JSCustomPositionErrorCallback.cpp:
29461 * bindings/js/JSGeolocationCustom.cpp:
29462 * page/Geolocation.cpp:
29463 (WebCore::Geolocation::disconnectFrame): Stub implementation if
29464 GEOLOCATION is turned off.
29465 (WebCore::Geolocation::Geolocation): Ditto.
29466 (WebCore::Geolocation::~Geolocation): Ditto.
29467 (WebCore::Geolocation::setIsAllowed): Ditto.
29468 * page/Geolocation.h:
29469 * page/Geolocation.idl:
29470 * page/GeolocationPositionCache.cpp:
29471 * page/Geoposition.idl:
29472 * page/PositionError.idl:
29473 * platform/GeolocationService.cpp:
29474 * platform/mock/GeolocationServiceMock.cpp:
29476 2010-03-30 Andrey Kosyakov <caseq@chromium.org>
29478 Reviewed by Pavel Feldman.
29480 Support EventTarget interface in fake workers (both for Worker object
29481 and WorkerContext). Use MessagePort to implement message passing to
29482 support passing ports in PostMessage.
29483 https://bugs.webkit.org/show_bug.cgi?id=36763
29485 * inspector/front-end/InjectedFakeWorker.js:
29486 (InjectedFakeWorker.Worker.onmessageGetter):
29487 (InjectedFakeWorker.Worker.onmessageSetter):
29488 (InjectedFakeWorker.Worker):
29489 (InjectedFakeWorker.FakeWorker):
29490 (InjectedFakeWorker.FakeWorker.prototype.postMessage):
29491 (InjectedFakeWorker.FakeWorker.prototype.terminate):
29492 (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
29493 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageGetter):
29494 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageSetter):
29495 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
29496 (InjectedFakeWorker.FakeWorker.prototype._addEventListener):
29497 (InjectedFakeWorker.FakeWorker.prototype._removeEventListener):
29498 (InjectedFakeWorker.FakeWorker.prototype._callbackWrapper):
29499 (InjectedFakeWorker.FakeWorker.prototype._handleException):
29501 2010-03-30 Kristian Monsen <kristianm@google.com>
29503 Reviewed by David Levin.
29505 [v8] Add if ENABLE guard for Worker specific code.
29506 https://bugs.webkit.org/show_bug.cgi?id=36597
29508 Build fix only, no new tests.
29510 * bindings/v8/V8DOMWrapper.h:
29512 2010-03-29 Jeremy Orlow <jorlow@chromium.org>
29514 Reviewed by Darin Fisher.
29516 More IndexedDB work
29517 https://bugs.webkit.org/show_bug.cgi?id=36770
29519 Add the "singleton" IndexedDatabase object to PageGroup
29520 IndexedDatabase now has a create() method since PageGroup can own the instance (at least for now)
29521 Rip out the IDBRequest stuff (now obsolete).
29522 DOMWindow now can instantiate indexedDatabase objects on demand.
29524 New layout tests starting with the next patch (which should make indexedDB.open() "work").
29527 * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
29528 * page/DOMWindow.cpp:
29529 (WebCore::DOMWindow::indexedDB):
29530 * page/DOMWindow.h:
29531 * page/PageGroup.cpp:
29532 (WebCore::PageGroup::indexedDatabase):
29533 * page/PageGroup.h:
29534 * storage/IDBDatabase.cpp:
29535 * storage/IDBDatabaseRequest.h:
29536 (WebCore::IDBDatabaseRequest::createObjectStore):
29537 * storage/IDBDatabaseRequest.idl:
29538 * storage/IDBRequest.cpp: Removed.
29539 * storage/IDBRequest.h: Removed.
29540 * storage/IDBRequest.idl: Removed.
29541 * storage/IndexedDatabase.cpp:
29542 (WebCore::IndexedDatabase::create):
29543 * storage/IndexedDatabase.h:
29544 * storage/IndexedDatabaseImpl.cpp:
29545 (WebCore::IndexedDatabaseImpl::create):
29546 (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
29547 (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
29548 * storage/IndexedDatabaseImpl.h:
29549 * storage/IndexedDatabaseRequest.cpp:
29550 (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
29551 * storage/IndexedDatabaseRequest.h:
29552 (WebCore::IndexedDatabaseRequest::create):
29553 * storage/IndexedDatabaseRequest.idl:
29554 * storage/chromium/IndexedDatabase.cpp:
29555 (WebCore::IndexedDatabase::create):
29557 2010-03-30 Dirk Schulze <krit@webkit.org>
29559 Reviewed by Nikolas Zimmermann.
29561 SVG Glyph transformations wrong on use of SVGFont
29562 https://bugs.webkit.org/show_bug.cgi?id=36731
29564 Kerning on SVGFonts should be applied to the userSpace of the current Char
29565 and not to the userSpace of the viewport. This means scaling the kerning
29566 to match the current userSpace.
29568 Test: svg/custom/glyph-transformation-with-hkern.svg
29570 * rendering/SVGRootInlineBox.cpp:
29571 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
29573 2010-03-30 Dirk Schulze <krit@webkit.org>
29575 Reviewed by Nikolas Zimmermann.
29577 SVG Animation doesn't respect 'currentColor'
29578 https://bugs.webkit.org/show_bug.cgi?id=36695
29580 Test: svg/custom/animation-currentColor.svg
29582 SVG Animation can't handle currentColor at the moment. This patch catches the
29583 color value of the target element and replaces 'currentColor' with it's color string.
29585 * svg/SVGAnimationElement.cpp:
29586 (WebCore::adjustForCurrentColor):
29587 (WebCore::SVGAnimationElement::startedActiveInterval):
29589 2010-03-30 Ilya Tikhonovsky <loislo@chromium.org>
29591 Reviewed by Pavel Feldman.
29593 Web Inspector: Visible/captured records counter should be implemented in Timeline panel.
29594 https://bugs.webkit.org/show_bug.cgi?id=36708
29596 * English.lproj/localizedStrings.js:
29597 * inspector/front-end/TimelinePanel.js:
29598 (WebInspector.TimelinePanel.prototype.get statusBarItems):
29599 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
29600 (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
29601 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
29602 (WebInspector.TimelinePanel.prototype._createRootRecord):
29603 (WebInspector.TimelinePanel.prototype._refresh):
29604 (WebInspector.TimelinePanel.prototype._filterRecords):
29605 * inspector/front-end/inspector.css:
29606 (.timeline-records-counter):
29608 2010-03-30 Philippe Normand <pnormand@igalia.com>
29610 [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
29611 https://bugs.webkit.org/show_bug.cgi?id=36653
29613 Unreviewed, don't define the bool variable with
29614 DEFINE_STATIC_LOCAL, it makes sense only for objects which have a
29615 destructor. Thanks to Dan Bernstein for spotting this.
29617 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
29618 (WebCore::mimeTypeCache):
29620 2010-03-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
29622 Reviewed by Eric Seidel.
29624 There is a build break due to the disabled() when wml feature is
29625 enabled. This break comes from the Bug 35056 - Disabled menu options
29626 are still submitted.(https://bugs.webkit.org/show_bug.cgi?id=35056)
29627 The WMLOptionElement.h needs to define the disabled() as well.
29628 And, there is an additional break due to Bug 36177 - Multiselect Popup
29629 - Listbox click simulation. (https://bugs.webkit.org/show_bug.cgi?id=36177)
29630 virtual void listBoxSelectItem() should be added to WMLSelectElement.h as well.
29632 https://bugs.webkit.org/show_bug.cgi?id=36698
29634 * wml/WMLOptionElement.h:
29635 (WebCore::WMLOptionElement::disabled):
29636 * wml/WMLSelectElement.h:
29637 (WebCore::WMLSelectElement::listBoxSelectItem):
29639 2010-03-29 Shinichiro Hamaji <hamaji@chromium.org>
29641 Reviewed by David Hyatt.
29643 No vertical scrollbar after the CSS class change
29644 https://bugs.webkit.org/show_bug.cgi?id=36461
29646 Don't suppress scrollbar change for non-first layouts.
29647 In the first layout, the scrollbar change will happen in later
29648 adjustViewSize() call, but in other layouts, adjustViewSize() may
29649 not be called when the size of contents doesn't change.
29651 * page/FrameView.cpp:
29652 (WebCore::FrameView::layout):
29654 2010-03-29 Chris Evans <cevans@chromium.org>
29656 Reviewed by Adam Barth.
29658 Don't use unique domains for file:// separation: it breaks local
29659 databases, and access to your own same-origin iframes. Instead, use
29660 path-based access checks.
29662 https://bugs.webkit.org/show_bug.cgi?id=36692
29664 Test: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
29666 * dom/Document.cpp:
29667 (WebCore::Document::initSecurityContext): renamed API.
29668 * page/SecurityOrigin.h:
29669 * page/SecurityOrigin.cpp:
29670 (WebCore::SecurityOrigin::SecurityOrigin):
29671 Initialize new flag. Take note of file:// path.
29672 Copy new fields in copy constructor.
29673 (WebCore::SecurityOrigin::canAccess):
29674 Take into account path-based origin separation for file://
29675 (WebCore::SecurityOrigin::enforceFilePathSeparation):
29676 New method to enable file:// path origin separation.
29677 (WebCore::SecurityOrigin::toString):
29678 Return a null domain for an isolated file origin.
29679 (WebCore::SecurityOrigin::isSameSchemeHostPort):
29680 Take into account path-based origin separation for file://
29681 (WebCore::SecurityOrigin::passesFileCheck):
29682 Abstraction of common logic for file:// access checks.
29684 2010-03-29 Rafael Weinstein <rafaelw@chromium.org>
29686 Reviewed by Adam Barth.
29688 Change NotificationPresenter::checkPermission() to take the source frames full KURL,
29689 rather than its SecurityOrigin. This will aid chromium in having more fine grained
29690 permissions to control notification spam.
29692 * notifications/Notification.cpp:
29693 (WebCore::Notification::Notification):
29694 * notifications/NotificationCenter.cpp:
29695 (WebCore::NotificationCenter::checkPermission):
29696 * notifications/NotificationPresenter.h:
29698 2010-03-29 Luiz Agostini <luiz.agostini@openbossa.org>
29700 Reviewed by Kenneth Rohde Christiansen.
29702 [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup
29703 https://bugs.webkit.org/show_bug.cgi?id=36769
29705 Adding method itemIsSelected() to QtAbstractWebPopup.
29707 * platform/qt/QtAbstractWebPopup.h:
29708 (WebCore::QtAbstractWebPopup::itemIsSelected):
29710 2010-03-29 Dawit Alemayehu <adawit@kde.org>
29712 Reviewed by Simon Hausmann.
29714 Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.*
29716 https://bugs.webkit.org/show_bug.cgi?id=36395
29718 This function, which was moved from WebKit/chromium/src/FrameClientImpl.cpp,
29719 is used to check whether or not a request is supposed to be rendered or
29720 simply downloaded based on the "Content-Disposition" header sent by the
29721 web server. The intent of code refactoring is to avoid code duplication
29722 so that this piece of code can be used by other implementations such as
29725 * platform/network/HTTPParsers.cpp:
29726 (WebCore::shouldTreatAsAttachment):
29727 * platform/network/HTTPParsers.h:
29729 2010-03-29 Chris Fleizach <cfleizach@apple.com>
29731 Reviewed by Beth Dakin.
29733 Bug 36735 - Live regions don't send out notifications when the element changing is the live region
29734 https://bugs.webkit.org/show_bug.cgi?id=36735
29736 Test: platform/mac/accessibility/aria-liveregion-on-image.html
29738 * accessibility/AccessibilityRenderObject.cpp:
29739 (WebCore::AccessibilityRenderObject::contentChanged):
29741 2010-03-29 Stephen White <senorblanco@chromium.org>
29743 Reviewed by Dave Hyatt.
29745 In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
29746 this CL caches the String result. When m_value is changed, the
29747 cached string is cleared. This gives a good speedup on benchmarks
29748 which do a lot of CSS property gets, such as Peacekeeper.
29749 The processing cost should be negligible, since the strings are
29750 refcounted. The memory cost is an additional 4 bytes per
29751 CSSPrimitiveValue, and the extended lifetime of the computed string
29752 (potentially, the same as the lifetime of the CSSPrimitiveValue).
29754 https://bugs.webkit.org/show_bug.cgi?id=36556
29756 Covered by fast/css/cssText-cache.html, and more.
29758 * css/CSSPrimitiveValue.cpp:
29759 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
29760 (WebCore::CSSPrimitiveValue::cleanup):
29761 (WebCore::CSSPrimitiveValue::cssText):
29762 * css/CSSPrimitiveValue.h:
29764 2010-03-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
29766 Reviewed by Simon Fraser.
29768 Add support for Widgets 1.0: View Mode Media Feature
29769 https://bugs.webkit.org/show_bug.cgi?id=35446
29771 When enabling Web Widgets, add support for the view-mode media
29772 feature (http://www.w3.org/TR/widgets-vmmf/).
29774 Test: fast/media/media-feature-wgt-view-mode.html
29776 * css/CSSValueKeywords.in:
29777 * css/MediaFeatureNames.h:
29778 * css/MediaQueryEvaluator.cpp:
29779 (WebCore::view_modeMediaFeatureEval):
29780 * page/ChromeClient.h:
29781 (WebCore::ChromeClient::isDocked):
29782 (WebCore::ChromeClient::isFloating):
29783 (WebCore::ChromeClient::isApplication):
29784 (WebCore::ChromeClient::isFullscreen):
29786 2010-03-29 Kenneth Russell <kbr@google.com>
29788 Reviewed by Darin Fisher.
29790 Eliminate use of GL_BGRA in GraphicsContext3DSkia.cpp
29791 https://bugs.webkit.org/show_bug.cgi?id=36737
29793 No new tests; ran WebGL demos in Chromium on Windows to verify fix.
29795 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
29796 (WebCore::GraphicsContext3D::getImageData):
29798 2010-03-29 Alexander Pavlov <apavlov@chromium.org>
29800 Reviewed by Pavel Feldman.
29802 Web Inspector: Cover the Audits panel with tests
29803 https://bugs.webkit.org/show_bug.cgi?id=36613
29805 Sort results, add a few drive-by fixes and refactorings to improve testability.
29807 Test: inspector/audits-panel-functional.html
29809 * English.lproj/localizedStrings.js:
29810 * inspector/front-end/AuditResultView.js:
29811 (WebInspector.AuditResultView):
29812 (WebInspector.AuditCategoryResultPane.ruleSorter):
29813 (WebInspector.AuditCategoryResultPane):
29814 * inspector/front-end/AuditRules.js:
29815 (WebInspector.AuditRules.GzipRule.prototype.doRun):
29816 (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
29817 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
29818 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
29819 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
29820 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
29821 * inspector/front-end/AuditsPanel.js:
29822 (WebInspector.AuditRuleResult.linkifyDisplayName):
29823 (WebInspector.AuditRuleResult.resourceDomain):
29824 (WebInspector.AuditRuleResult.prototype.addURL):
29825 * inspector/front-end/inspector.js:
29826 (WebInspector.displayNameForURL):
29828 2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
29830 Reviewed by nobody, build fix.
29832 [Qt] Fix build break introduced in r56724.
29836 2010-03-29 Alexander Pavlov <apavlov@chromium.org>
29838 Reviewed by Pavel Feldman.
29840 Web Inspector should highlight when clicking a node's closing tag
29841 https://bugs.webkit.org/show_bug.cgi?id=16258
29843 * inspector/front-end/ElementsTreeOutline.js:
29844 (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect):
29845 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
29846 (WebInspector.ElementsTreeOutline.prototype._keyDown):
29847 (WebInspector.ElementsTreeOutline.prototype._onmousemove):
29848 (WebInspector.ElementsTreeElement):
29849 (WebInspector.ElementsTreeElement.prototype.showChild):
29850 (WebInspector.ElementsTreeElement.prototype.onpopulate):
29851 (WebInspector.ElementsTreeElement.prototype.updateChildren):
29852 (WebInspector.ElementsTreeElement.prototype.insertChildElement):
29853 (WebInspector.ElementsTreeElement.prototype.moveChild):
29854 (WebInspector.ElementsTreeElement.prototype._updateChildren):
29855 (WebInspector.ElementsTreeElement.prototype.onexpand):
29856 (WebInspector.ElementsTreeElement.prototype.oncollapse):
29857 (WebInspector.ElementsTreeElement.prototype.onselect):
29858 (WebInspector.ElementsTreeElement.prototype.ondblclick):
29861 2010-03-29 Marcus Bulach <bulach@chromium.org>
29863 Reviewed by Jeremy Orlow.
29865 https://bugs.webkit.org/show_bug.cgi?id=36315
29867 Remove obsolete Geolocation::m_currentPosition
29868 (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676)
29870 * page/Geolocation.cpp:
29871 (WebCore::Geolocation::positionChanged):
29872 (WebCore::Geolocation::makeSuccessCallbacks):
29873 * page/Geolocation.h:
29874 * platform/chromium/GeolocationServiceChromium.cpp:
29875 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
29877 2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
29879 Reviewed by Simon Hausmann.
29881 [Qt] Do not generate INSTALLS for webkit when building inside Qt.
29882 Qt will do this for us.
29886 2010-03-29 Antti Koivisto <koivisto@iki.fi>
29888 Reviewed by Kenneth Rohde Christiansen.
29890 https://bugs.webkit.org/show_bug.cgi?id=36703
29891 Timer restart loop during page loading
29893 Fix regression introduced in http://trac.webkit.org/changeset/54526.
29894 Restarting the request timer unconditionally from the timer callback is a bad idea.
29895 Instead, start the timer when a non-cached request completes.
29897 * loader/loader.cpp:
29898 (WebCore::Loader::Host::nonCacheRequestComplete):
29899 (WebCore::Loader::Host::servePendingRequests):
29901 2010-03-29 Thomas Zander <t.zander@nokia.com>
29903 Reviewed by Simon Hausmann.
29905 [Qt] Shadowbuilds of WebCore with Qt on Symbian fails.
29907 https://bugs.webkit.org/show_bug.cgi?id=36749
29909 Doing a 'make sis' expects the dll in the libdir, so place it
29910 there. This fixes out-of-source building to always put the dll
29911 in the expected dir.
29913 * WebCore.pro: Fix for shadow builds inside Qt.
29915 2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
29917 Reviewed by Antti Koivisto.
29919 Implement flattening for iframes.
29921 Refactoring of frameset flattening code to reuse it for
29924 Tests: fast/frames/flattening/iframe-flattening-simple.html
29926 * WebCore.base.exp:
29927 * page/FrameView.cpp:
29928 (WebCore::FrameView::layout):
29929 (WebCore::FrameView::scheduleRelayout):
29930 * page/Settings.cpp:
29931 (WebCore::Settings::Settings):
29932 (WebCore::Settings::setFrameFlatteningEnabled):
29934 (WebCore::Settings::frameFlatteningEnabled):
29935 * rendering/RenderFrame.cpp:
29936 * rendering/RenderFrame.h:
29937 * rendering/RenderFrameSet.cpp:
29938 (WebCore::RenderFrameSet::flattenFrameSet):
29939 * rendering/RenderFrameSet.h:
29940 * rendering/RenderPart.cpp:
29941 (WebCore::RenderPart::layoutWithFlattening):
29942 * rendering/RenderPart.h:
29943 * rendering/RenderPartObject.cpp:
29944 (WebCore::RenderPartObject::flattenFrame):
29945 (WebCore::RenderPartObject::calcHeight):
29946 (WebCore::RenderPartObject::calcWidth):
29947 (WebCore::RenderPartObject::layout):
29948 * rendering/RenderPartObject.h:
29950 2010-03-29 Andrei Popescu <andreip@google.com>
29952 Reviewed by Adam Barth.
29954 Page Cache does not work on Android with V8
29955 https://bugs.webkit.org/show_bug.cgi?id=36665
29957 No new tests, existing tests should suffice, this is platform code.
29959 This implementation simply saves the context and the global object
29960 just before the frame is navigated to a new url. At restore time,
29961 the global object is reattached to the context and the context
29962 is attached to the window shell of the frame.
29964 Note that isolated worlds are not taken into account in any way,
29965 as Android does not use them.
29967 * bindings/v8/ScriptCachedFrameData.cpp: Added.
29968 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
29969 (WebCore::ScriptCachedFrameData::domWindow):
29970 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
29971 (WebCore::ScriptCachedFrameData::restore):
29972 (WebCore::ScriptCachedFrameData::clear):
29973 * bindings/v8/ScriptCachedFrameData.h:
29974 * bindings/v8/V8DOMWindowShell.cpp:
29975 (WebCore::V8DOMWindowShell::setContext):
29976 * bindings/v8/V8DOMWindowShell.h:
29978 2010-03-29 Thomas Zander <t.zander@nokia.com>
29980 Reviewed by Simon Hausmann.
29982 [Qt] Make it possible to build using both Windows and Linux for Symbian
29983 https://bugs.webkit.org/show_bug.cgi?id=36748
29985 * WebCore.pro: don't assume Windows buildsystem is the only one
29986 and exclude the windows-only setters from the linux builds.
29988 2010-03-29 Thomas Zander <t.zander@nokia.com>
29990 Reviewed by Simon Hausmann.
29992 https://bugs.webkit.org/show_bug.cgi?id=36745
29994 [Qt] Fix def file builds with Qt 4.7.
29996 Switched to using DEF_FILE, which is the official variable.
29998 * WebCore.pro: Use DEF_FILE
30000 2010-03-24 Jeremy Orlow <jorlow@chromium.org>
30002 Reviewed by Darin Fisher.
30004 A few more steps towards IndexedDB
30005 https://bugs.webkit.org/show_bug.cgi?id=36546
30007 Add a callback interface to be used by all async methods.
30008 Add the first fragments of IDBDatabase.
30009 Clean up on IDBDatabaseError.
30010 Flesh out IndexedDatabase further.
30012 Not enough hooked up yet to test. Soon though...
30015 * storage/IDBCallbacks.h: Added.
30016 (WebCore::IDBCallbacks::~IDBCallbacks):
30017 * storage/IDBDatabase.cpp: Added.
30018 * storage/IDBDatabase.h: Added.
30019 (WebCore::IDBDatabase::~IDBDatabase):
30020 * storage/IDBDatabaseError.h:
30021 (WebCore::IDBDatabaseError::create):
30022 (WebCore::IDBDatabaseError::message):
30023 (WebCore::IDBDatabaseError::IDBDatabaseError):
30024 * storage/IndexedDatabase.h:
30025 * storage/IndexedDatabaseImpl.cpp:
30026 (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
30027 (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
30028 (WebCore::IndexedDatabaseImpl::open):
30029 * storage/IndexedDatabaseImpl.h:
30030 * storage/IndexedDatabaseRequest.cpp:
30031 (WebCore::IndexedDatabaseRequest::open):
30033 2010-03-29 Mikhail Naganov <mnaganov@chromium.org>
30035 Reviewed by Pavel Feldman.
30037 Remove a possibility of confusion from Profiles panel Welcome screen
30038 by turning buttons into non-clickable glyphs. Also, span instructions
30039 alongside panel width.
30041 https://bugs.webkit.org/show_bug.cgi?id=34319
30043 * English.lproj/localizedStrings.js:
30044 * inspector/front-end/ProfileView.js:
30045 (WebInspector.CPUProfileType.prototype.get welcomeMessage):
30046 * inspector/front-end/ProfilesPanel.js:
30047 (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
30048 * inspector/front-end/inspector.css:
30049 (.panel-enabler-view.welcome .instructions):
30050 (.panel-enabler-view.welcome button.status-bar-item):
30052 2010-03-26 Philippe Normand <pnormand@igalia.com>
30054 Reviewed by Eric Seidel.
30056 [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
30057 https://bugs.webkit.org/show_bug.cgi?id=36653
30059 Defined the static variables using DEFINE_STATIC_GLOBAL.
30061 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
30062 (WebCore::mimeTypeCache):
30064 2010-03-26 Philippe Normand <pnormand@igalia.com>
30066 Reviewed by Eric Seidel.
30068 [GStreamer] player header cleanups
30069 https://bugs.webkit.org/show_bug.cgi?id=36656
30071 Destructor made private and added missing
30072 mediaPlayerPrivateMuteChangedCallback declaration.
30074 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
30076 2010-03-29 Yury Semikhatsky <yurys@chromium.org>
30078 Reviewed by Pavel Feldman.
30080 Protect global object from being GC'ed if there are messages written to console from the iframe with that global object.
30082 Whent serializing objects in the injected script check that global object properties are still defined before using them as arguments. The may become undefined if owning frame navigated to a different domain.
30084 https://bugs.webkit.org/show_bug.cgi?id=36612
30086 Test: http/tests/inspector-enabled/console-log-before-frame-navigation.html
30088 * bindings/js/ScriptState.h:
30089 (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
30090 (WebCore::ScriptStateProtectedPtr::get):
30091 * bindings/v8/ScriptState.h:
30092 (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
30093 (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
30094 (WebCore::ScriptStateProtectedPtr::get):
30095 * inspector/ConsoleMessage.cpp:
30096 (WebCore::ConsoleMessage::addToFrontend):
30097 * inspector/ConsoleMessage.h:
30098 * inspector/front-end/InjectedScript.js:
30099 (injectedScriptConstructor):
30100 (injectedScriptConstructor.):
30102 2010-03-26 Philippe Normand <pnormand@igalia.com>
30104 Reviewed by Eric Carlson.
30106 It should be possible to use GStreamer in addition to another media engine
30107 https://bugs.webkit.org/show_bug.cgi?id=36654
30109 Renamed gstreamer player and added a WTF_USE_GSTREAMER
30110 define. Made the MediaPlayer register the GStreamer backend only
30111 if it's enabled (true by default on WebKitGTK+).
30114 * platform/graphics/MediaPlayer.cpp:
30115 (WebCore::installedMediaEngines):
30116 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
30117 (WebCore::mediaPlayerPrivateMessageCallback):
30118 (WebCore::mediaPlayerPrivateSourceChangedCallback):
30119 (WebCore::mediaPlayerPrivateVolumeChangedCallback):
30120 (WebCore::mediaPlayerPrivateMuteChangedCallback):
30121 (WebCore::mediaPlayerPrivateRepaintCallback):
30122 (WebCore::MediaPlayerPrivateGStreamer::create):
30123 (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
30124 (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
30125 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
30126 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
30127 (WebCore::MediaPlayerPrivateGStreamer::load):
30128 (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
30129 (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
30130 (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
30131 (WebCore::MediaPlayerPrivateGStreamer::play):
30132 (WebCore::MediaPlayerPrivateGStreamer::pause):
30133 (WebCore::MediaPlayerPrivateGStreamer::duration):
30134 (WebCore::MediaPlayerPrivateGStreamer::currentTime):
30135 (WebCore::MediaPlayerPrivateGStreamer::seek):
30136 (WebCore::MediaPlayerPrivateGStreamer::startEndPointTimerIfNeeded):
30137 (WebCore::MediaPlayerPrivateGStreamer::cancelSeek):
30138 (WebCore::MediaPlayerPrivateGStreamer::endPointTimerFired):
30139 (WebCore::MediaPlayerPrivateGStreamer::paused):
30140 (WebCore::MediaPlayerPrivateGStreamer::seeking):
30141 (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
30142 (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
30143 (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
30144 (WebCore::MediaPlayerPrivateGStreamer::setVolume):
30145 (WebCore::MediaPlayerPrivateGStreamer::volumeChangedTimerFired):
30146 (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
30147 (WebCore::MediaPlayerPrivateGStreamer::setRate):
30148 (WebCore::MediaPlayerPrivateGStreamer::networkState):
30149 (WebCore::MediaPlayerPrivateGStreamer::readyState):
30150 (WebCore::MediaPlayerPrivateGStreamer::buffered):
30151 (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
30152 (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
30153 (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
30154 (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
30155 (WebCore::MediaPlayerPrivateGStreamer::bytesLoaded):
30156 (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
30157 (WebCore::MediaPlayerPrivateGStreamer::cancelLoad):
30158 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
30159 (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
30160 (WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
30161 (WebCore::MediaPlayerPrivateGStreamer::loadStateChanged):
30162 (WebCore::MediaPlayerPrivateGStreamer::sizeChanged):
30163 (WebCore::MediaPlayerPrivateGStreamer::timeChanged):
30164 (WebCore::MediaPlayerPrivateGStreamer::didEnd):
30165 (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
30166 (WebCore::MediaPlayerPrivateGStreamer::supportsMuting):
30167 (WebCore::MediaPlayerPrivateGStreamer::setMuted):
30168 (WebCore::MediaPlayerPrivateGStreamer::muteChangedTimerFired):
30169 (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
30170 (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
30171 (WebCore::MediaPlayerPrivateGStreamer::setSize):
30172 (WebCore::MediaPlayerPrivateGStreamer::setVisible):
30173 (WebCore::MediaPlayerPrivateGStreamer::repaint):
30174 (WebCore::MediaPlayerPrivateGStreamer::paint):
30175 (WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
30176 (WebCore::MediaPlayerPrivateGStreamer::supportsType):
30177 (WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin):
30178 (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
30179 (WebCore::MediaPlayerPrivateGStreamer::setPreload):
30180 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
30181 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
30183 2010-03-28 Alexey Proskuryakov <ap@apple.com>
30185 Reviewed by Sam Weinig.
30187 https://bugs.webkit.org/show_bug.cgi?id=36733
30188 Use a common header for Windows virtual key codes on all platforms
30190 No change in functionality, so no new tests.
30192 * platform/WindowsKeyboardCodes.h: Added. Define VK_* key codes as macros, matching Windows.
30194 * platform/KeyboardCodes.h: Removed.
30195 * platform/android/KeyboardCodes.h: Removed.
30196 * platform/chromium/KeyboardCodesPosix.h: Removed.
30197 * platform/chromium/KeyboardCodesWin.h: Removed.
30198 * platform/haiku/KeyboardCodes.h: Removed.
30199 * platform/wx/KeyboardCodes.h: Removed.
30200 Removed platform specific attempts to do the same thing. In fact, platform/KeyboardCodes.h
30201 was supposed to be cross-platform, but it didn't have a sufficiently descriptive name, and
30202 its name was the same as platform-specific versions, so I chose a new one.
30204 * platform/chromium/KeyboardCodes.h: Copied from WebCore/platform/chromium/KeyboardCodesWin.h.
30205 Chromium redefines Windows constants to different names; keeping the header doing that to
30206 avoid breaking Chromium code.
30210 Replaced KeyboardCodes.h with WindowsKeyboardCodes.h.
30212 * WebCore.xcodeproj/project.pbxproj:
30213 * platform/cocoa/KeyEventCocoa.mm:
30214 (WebCore::windowsKeyCodeForKeyCode):
30215 (WebCore::windowsKeyCodeForCharCode):
30216 Mac used to hardcode the key codes; changed to use VK_* macros.
30218 * config.h: Removed a hack to include KeyboardCodes.h, it shouldn't be necessary any more.
30220 * platform/android/KeyEventAndroid.cpp:
30221 * platform/brew/PlatformKeyboardEventBrew.cpp:
30222 * platform/efl/PlatformKeyboardEventEfl.cpp:
30223 * platform/gtk/KeyEventGtk.cpp:
30224 * platform/haiku/PlatformKeyboardEventHaiku.cpp:
30225 * platform/qt/PlatformKeyboardEventQt.cpp:
30226 * platform/wx/KeyboardEventWx.cpp:
30227 Changed to include WindowsKeyboardCodes.h.
30229 2010-03-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
30231 Reviewed by Simon Hausmann.
30233 [Qt] Remove the definition of WTF_CHANGES guards from the build system
30234 https://bugs.webkit.org/show_bug.cgi?id=31670
30236 No new tests as there is no new functionality.
30238 * WebCore.pri: Remove the definition of WTF_CHANGES
30239 as it is already defined in config.h
30241 2010-03-28 Sam Weinig <sam@webkit.org>
30243 Reviewed by Dan Bernstein.
30245 Clean up the Xcode project a bit.
30247 * WebCore.xcodeproj/project.pbxproj:
30249 2010-03-28 Pavel Feldman <pfeldman@chromium.org>
30251 Reviewed by Timothy Hatcher.
30253 Web Inspector: Toggling style properties on/off does not always work.
30255 https://bugs.webkit.org/show_bug.cgi?id=36720
30257 * inspector/InspectorController.cpp:
30258 * inspector/InspectorDOMAgent.cpp:
30259 (WebCore::InspectorDOMAgent::toggleStyleEnabled):
30260 (WebCore::InspectorDOMAgent::buildObjectForStyle):
30261 (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
30262 * inspector/InspectorDOMAgent.h:
30263 * inspector/front-end/DOMAgent.js:
30264 (WebInspector.CSSStyleDeclaration):
30266 2010-03-28 Pavel Feldman <pfeldman@chromium.org>
30268 Reviewed by Timothy Hatcher.
30270 Web Inspector: resource links should navigate to resource panel enabler when resource tracking is off.
30272 https://bugs.webkit.org/show_bug.cgi?id=36722
30274 * English.lproj/localizedStrings.js:
30275 * inspector/front-end/inspector.js:
30276 (WebInspector.documentMouseOver):
30277 (WebInspector.documentClick.followLink):
30278 (WebInspector.documentClick):
30280 2010-03-28 Dirk Schulze <krit@webkit.org>
30282 Unreviewed build-fix for chromium linux.
30284 SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
30285 https://bugs.webkit.org/show_bug.cgi?id=36185
30287 * svg/SVGStyledElement.cpp:
30288 (WebCore::SVGStyledElement::invalidateResources):
30290 2010-03-28 Dirk Schulze <krit@webkit.org>
30292 Reviewed by Nikolas Zimmermann.
30294 SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
30295 https://bugs.webkit.org/show_bug.cgi?id=36185
30297 This moves SVGResourceMarker to RenderersSVGResourceMarker. This follows other
30298 SVG resources like masker and clipper and makes DRT results more readable and
30299 adds additonal informations.
30300 Some marker specific code also moved out from RenderSVGViewportContainer to
30301 RenderersSVGResourceMarker.
30307 * WebCore.vcproj/WebCore.vcproj:
30308 * WebCore.xcodeproj/project.pbxproj:
30309 * rendering/RenderPath.cpp:
30310 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
30311 * rendering/RenderSVGImage.cpp:
30312 (WebCore::RenderSVGImage::destroy):
30313 * rendering/RenderSVGResource.h:
30315 * rendering/RenderSVGResourceMarker.cpp: Added.
30316 (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
30317 (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker):
30318 (WebCore::RenderSVGResourceMarker::layout):
30319 (WebCore::RenderSVGResourceMarker::addClient):
30320 (WebCore::RenderSVGResourceMarker::invalidateClients):
30321 (WebCore::RenderSVGResourceMarker::invalidateClient):
30322 (WebCore::RenderSVGResourceMarker::applyViewportClip):
30323 (WebCore::RenderSVGResourceMarker::markerBoundaries):
30324 (WebCore::RenderSVGResourceMarker::localToParentTransform):
30325 (WebCore::RenderSVGResourceMarker::referencePoint):
30326 (WebCore::RenderSVGResourceMarker::angle):
30327 (WebCore::RenderSVGResourceMarker::markerTransformation):
30328 (WebCore::RenderSVGResourceMarker::draw):
30329 (WebCore::RenderSVGResourceMarker::markerContentTransformation):
30330 (WebCore::RenderSVGResourceMarker::viewportTransform):
30331 (WebCore::RenderSVGResourceMarker::calcViewport):
30332 * rendering/RenderSVGResourceMarker.h: Added.
30333 (WebCore::RenderSVGResourceMarker::renderName):
30334 (WebCore::RenderSVGResourceMarker::applyResource):
30335 (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
30336 (WebCore::RenderSVGResourceMarker::markerUnits):
30337 (WebCore::RenderSVGResourceMarker::resourceType):
30338 * rendering/RenderSVGViewportContainer.cpp:
30339 (WebCore::RenderSVGViewportContainer::calcViewport):
30340 (WebCore::RenderSVGViewportContainer::viewportTransform):
30341 * rendering/RenderSVGViewportContainer.h:
30342 * rendering/SVGMarkerData.h:
30343 (WebCore::SVGMarkerData::SVGMarkerData):
30344 (WebCore::SVGMarkerData::marker):
30345 (WebCore::SVGMarkerData::updateTypeAndMarker):
30346 * rendering/SVGMarkerLayoutInfo.cpp:
30347 (WebCore::processStartAndMidMarkers):
30348 (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
30349 (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker):
30350 * rendering/SVGMarkerLayoutInfo.h:
30351 (WebCore::MarkerLayout::MarkerLayout):
30352 (WebCore::SVGMarkerLayoutInfo::midMarker):
30353 * rendering/SVGRenderSupport.cpp:
30354 (WebCore::deregisterFromResources):
30355 * rendering/SVGRenderSupport.h:
30356 * rendering/SVGRenderTreeAsText.cpp:
30357 (WebCore::operator<<):
30358 (WebCore::writeSVGResource):
30359 * svg/SVGMarkerElement.cpp:
30360 (WebCore::SVGMarkerElement::svgAttributeChanged):
30361 (WebCore::SVGMarkerElement::childrenChanged):
30362 (WebCore::SVGMarkerElement::setOrientToAuto):
30363 (WebCore::SVGMarkerElement::setOrientToAngle):
30364 (WebCore::SVGMarkerElement::createRenderer):
30365 * svg/SVGMarkerElement.h:
30366 (WebCore::SVGMarkerElement::):
30367 * svg/SVGStyledElement.cpp:
30368 (WebCore::SVGStyledElement::invalidateResources):
30369 * svg/graphics/SVGResource.h:
30371 (WebCore::SVGResource::isFilter):
30372 * svg/graphics/SVGResourceMarker.cpp: Removed.
30373 * svg/graphics/SVGResourceMarker.h: Removed.
30375 2010-03-28 Joseph Pecoraro <joepeck@webkit.org>
30377 Reviewed by Pavel Feldman.
30379 Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation
30380 https://bugs.webkit.org/show_bug.cgi?id=36719
30382 Consolidates the generation of Element Tree Hierarchy attribute code
30383 generation to a single function: _attributeHTML.
30385 * inspector/front-end/ElementsTreeOutline.js:
30386 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): convert to use attributeHTML.
30387 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): convert to use attributeHTML.
30388 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
30389 (WebInspector.ElementsTreeElement.prototype._attributeHTML): a single point for generating the html for attributes.
30391 2010-03-28 Joseph Pecoraro <joepeck@webkit.org>
30393 Reviewed by Pavel Feldman.
30395 Web Inspector: Edit Tag Names
30396 https://bugs.webkit.org/show_bug.cgi?id=36481
30398 Ensure blacklisting happens by checking it in _startEditingTagName
30399 instead of all the possible entry points.
30401 * inspector/front-end/ElementsTreeOutline.js:
30402 (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): don't check blacklist here.
30403 (WebInspector.ElementsTreeElement.prototype._startEditingTagName): check blacklist here.
30405 2010-03-28 Kim Grönholm <kim.gronholm@nomovok.com>
30407 Reviewed by Simon Hausmann.
30409 [Qt] GraphicsLayer: Timing functions don't work with transitions
30410 https://bugs.webkit.org/show_bug.cgi?id=36589
30412 If the animation value doesn't have timing function set, we need to
30413 use the animation's timing function.
30415 Fixed also a bug in passing the duration to solveCubicBezierFunction.
30416 The duration was divided two times by 1000 and meanwhile casted to int.
30417 It needs to be kept as double and divided by 1000 only once.
30419 Test case: https://bugs.webkit.org/attachment.cgi?id=51619
30421 * platform/graphics/qt/GraphicsLayerQt.cpp:
30422 (WebCore::applyTimingFunction):
30423 (WebCore::AnimationQt:::AnimationQtBase):
30424 (WebCore::AnimationQt::updateCurrentTime):
30426 2010-03-27 Joseph Pecoraro <joepeck@webkit.org>
30428 Reviewed by Pavel Feldman.
30430 Web Inspector: Edit Tag Names
30431 https://bugs.webkit.org/show_bug.cgi?id=36481
30433 Allow tabbing back and forth between the tag name and element
30434 attributes when editing. Also, fixed a number of minor issues with
30435 editing attributes and tabbing.
30437 * inspector/front-end/ElementsTreeOutline.js:
30438 (WebInspector.ElementsTreeElement.prototype._startEditingTagName): find the tag name if it wasn't provided.
30439 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): fix tabbing issues, enable tab to tag name.
30440 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): cleanup styles when tabbing.
30441 * inspector/front-end/inspector.css: do not display <br>s while editing
30443 2010-03-27 Joseph Pecoraro <joepeck@webkit.org>
30445 Reviewed by Pavel Feldman.
30447 Web Inspector: Edit Tag Names
30448 https://bugs.webkit.org/show_bug.cgi?id=36481
30450 Allow editing an Element's Tag Name by double clicking
30451 on the tag name in the Element's Tree Hierarchy.
30453 The usual asynchronous InspectorBackend, InspectorDOMAgent, InspectorFrontend flow.
30455 * inspector/InspectorBackend.cpp: moved DOM manipulation to InspectorDOMAgent
30456 (WebCore::InspectorBackend::removeNode):
30457 (WebCore::InspectorBackend::changeTagName):
30458 * inspector/InspectorBackend.h:
30459 * inspector/InspectorBackend.idl:
30460 * inspector/InspectorDOMAgent.cpp:
30461 (WebCore::InspectorDOMAgent::removeNode):
30462 (WebCore::InspectorDOMAgent::changeTagName):
30463 * inspector/InspectorDOMAgent.h:
30464 * inspector/InspectorFrontend.cpp:
30465 (WebCore::InspectorFrontend::didChangeTagName):
30466 * inspector/InspectorFrontend.h:
30468 * inspector/front-end/DOMAgent.js:
30470 Handle the UI for editing an Element's tag name.
30472 * inspector/front-end/ElementsTreeOutline.js:
30473 (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): allow editing from double click.
30474 (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener): update the closing tag
30475 (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted): remove extra listener and commit
30476 (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled): remove extra listener and cancel
30477 (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
30478 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel):
30479 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
30480 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.editTagNameCallback):
30481 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
30482 (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement): get the closing tag for an opening tag
30483 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): wrap the tagName in span.webkit-html-tag-name
30485 Miscellaneous updates.
30487 * inspector/front-end/treeoutline.js: fixed a typo.
30489 2010-03-27 Dmitry Gorbik <socket.h@gmail.com>
30491 Reviewed by Pavel Feldman.
30493 Fix the regression caused by r28078: a global variable
30494 definition masks a local one in an inspector console
30495 https://bugs.webkit.org/show_bug.cgi?id=32442
30497 * inspector/front-end/InjectedScript.js:
30498 (injectedScriptConstructor):
30500 2010-03-27 Dan Bernstein <mitz@apple.com>
30502 Reviewed by Darin Adler.
30504 <rdar://problem/7801598> REGRESSION (r56182): iWeb shadow drawn around image rectangle, not around opaque part of the image
30505 https://bugs.webkit.org/show_bug.cgi?id=36700
30507 * css/CSSPrimitiveValue.cpp:
30508 (WebCore::CSSPrimitiveValue::createColor): Reverted to returning an RGB color value rather than an
30509 identifier for the transparent color.
30511 2010-03-26 Joseph Pecoraro <joepeck@webkit.org>
30513 Reviewed by Pavel Feldman.
30515 Web Inspector: Converge Inspector ids to be long, not ints
30516 https://bugs.webkit.org/show_bug.cgi?id=36706
30518 Part 1: Converge on `long` for callIds, nodeIds, and other Ids.
30520 * inspector/InspectorController.cpp:
30521 * inspector/InspectorController.h:
30522 * inspector/InspectorDOMAgent.cpp:
30523 * inspector/InspectorFrontend.cpp:
30524 * inspector/InspectorFrontend.h:
30526 2010-03-27 Pavel Feldman <pfeldman@chromium.org>
30528 Reviewed by Timothy Hatcher.
30530 Web Inspector: add layout test for styles panel.
30532 https://bugs.webkit.org/show_bug.cgi?id=36699
30534 Test: inspector/elements-panel-styles.html
30536 * inspector/front-end/inspector.css:
30537 (#elements-content):
30538 (#elements-sidebar):
30539 * inspector/front-end/inspector.js:
30540 (WebInspector.displayNameForURL):
30541 * inspector/front-end/utilities.js:
30542 (String.prototype.trimURL):
30544 2010-03-27 Mark Rowe <mrowe@apple.com>
30546 Reviewed by Darin Adler.
30548 CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type.
30549 <http://webkit.org/b/36680> / <rdar://problem/7801016>
30551 Test: fast/dom/setPrimitiveValue-exceptions.html
30553 * css/CSSPrimitiveValue.cpp:
30554 (WebCore::CSSPrimitiveValue::setFloatValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
30555 type is not a numeric type.
30556 (WebCore::CSSPrimitiveValue::setStringValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
30557 type is not a string type.
30559 2010-03-27 Robert Hogan <robert@webkit.org>
30561 Reviewed by nobody, fix typo in previous commit.
30563 Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
30564 when pluginsEnabled is false
30566 Fix parentheses typo in r56661. This happened while rebasing and was not present
30567 in the reviewed patch, so committing unreviewed.
30569 https://bugs.webkit.org/attachment.cgi?id=49515
30571 * loader/FrameLoader.cpp:
30572 (WebCore::FrameLoader::requestObject):
30574 2010-03-26 Robert Hogan <robert@roberthogan.net>
30576 Reviewed by Simon Hausmann.
30578 Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
30579 when pluginsEnabled is false.
30581 The purpose of disabling plugins is to prevent the execution of third-party code
30582 that may be untrustworthy. Qt plugins are implemented by the client rather than
30583 loaded from an external source, so the client should have the opportunity to
30584 consider them separately from other plugins.
30586 Add a function MimeTypeRegistry::isApplicationPluginMIMEType() that WebKit
30587 uses in conjunction with arePluginsEnabled() to determine if it should attempt
30588 to load a plugin. If isApplicationPluginMIMEType() returns true, WebKit will load
30589 the plugin even if arePluginsEnabled() is false.
30591 Currently, only Qt has application-implemented plugins: these use the mimetype
30592 'x-qt-plugin' and 'x-qt-styled-widget'. This patch permits Qt clients'
30593 reimplementation of QWebPage::createPlugin() to decide whether or not
30594 to create a Qt plugin, even when arePluginsEnabled is false.
30596 For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.
30598 https://bugs.webkit.org/show_bug.cgi?id=32196
30600 Test: plugins/application-plugin-plugins-disabled.html
30602 * loader/FrameLoader.cpp:
30603 (WebCore::FrameLoader::requestObject):
30604 * platform/MIMETypeRegistry.h:
30605 * platform/brew/MIMETypeRegistryBrew.cpp:
30606 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30607 * platform/chromium/MIMETypeRegistryChromium.cpp:
30608 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30609 * platform/gtk/MIMETypeRegistryGtk.cpp:
30610 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30611 * platform/haiku/MIMETypeRegistryHaiku.cpp:
30612 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30613 * platform/mac/MIMETypeRegistryMac.mm:
30614 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30615 * platform/qt/MIMETypeRegistryQt.cpp:
30616 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30617 * platform/win/MIMETypeRegistryWin.cpp:
30618 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30619 * platform/wince/MIMETypeRegistryWince.cpp:
30620 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30621 * platform/wx/MimeTypeRegistryWx.cpp:
30622 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30624 2010-03-27 Dan Bernstein <mitz@apple.com>
30626 Reviewed by Mark Rowe.
30628 Fix Acid3 text-shadow rendering regression introduced in r56597.
30630 * platform/graphics/mac/FontMac.mm:
30631 (WebCore::Font::drawGlyphs): Revert to using the simple shadow logic for zero-blur shadows,
30632 except for color bitmap fonts.
30634 2010-03-26 Daniel Bates <dbates@rim.com>
30636 Reviewed by Beth Dakin.
30638 https://bugs.webkit.org/show_bug.cgi?id=9268
30640 As per sections 14.2 (http://www.w3.org/TR/CSS2/colors.html#background)
30641 and 17.5.1 (http://www.w3.org/TR/CSS2/tables.html#table-layers) of the
30642 CSS 2.1 spec., the background-image of a table-row should span the
30643 entire area of the table-row (i.e cover all the <td>'s). Moreover,
30644 fixes background image painting with respect to row-groups, columns
30645 and column-groups (*).
30647 Currently, the background-image of a table row, row-group, and column-group
30648 is inherited by the table cells. This directly contradicts section 14.2.
30649 Instead, the background-image should cover the entire area of the table row,
30650 row-group, column, or column-group, respectively as described in section 17.5.1.
30652 (*) A follow up patch to compute the absolute content box of a column, and
30653 column-group is needed so that background image positioning for these table
30654 elements works. See bug #36104.
30656 Tests: fast/table/table-background.html
30657 fast/table/table-cell-border-draws-on-top-of-col-background.html
30658 fast/table/table-cell-border-draws-on-top-of-col-group-background.html
30659 fast/table/table-cell-border-draws-on-top-of-row-background.html
30660 fast/table/table-cell-border-draws-on-top-of-row-group-background.html
30661 fast/table/table-cell-overrides-row-background.html
30662 fast/table/table-col-background.html
30663 fast/table/table-col-group-background.html
30664 fast/table/table-col-group-col-span-background.html
30665 fast/table/table-col-group-span-background.html
30666 fast/table/table-col-span-background.html
30667 fast/table/table-row-background-left-50px.html
30668 fast/table/table-row-background-right-100percent.html
30669 fast/table/table-row-background-right-50px.html
30670 fast/table/table-row-background.html
30671 fast/table/table-row-group-background-positioned.html
30672 fast/table/table-row-group-background.html
30674 * rendering/RenderBoxModelObject.cpp:
30675 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
30676 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Modified
30677 to call RenderObject::adjustBackgroundImagePosition.
30678 * rendering/RenderBoxModelObject.h:
30679 * rendering/RenderObject.h:
30680 (WebCore::RenderObject::adjustBackgroundImagePosition): Added.
30681 * rendering/RenderTableCell.cpp:
30682 (WebCore::RenderTableCell::adjustBackgroundImagePosition): Added.
30683 * rendering/RenderTableCell.h:
30685 2010-03-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
30687 Unreviewed, minor build fix.
30689 [Gtk] Guard defined but not used function
30691 Eliminate the "defined but not used" warning after r52684.
30692 No new tests as there is no new functionality.
30694 * platform/ContextMenu.cpp:
30696 2010-03-26 Justin Schuh <jschuh@chromium.org>
30698 Reviewed by Adam Barth.
30700 Security: iFrame.src accepts JavaScript URL via nodeValue or textContent
30701 https://bugs.webkit.org/show_bug.cgi?id=36502
30703 Overrode inherited nodeValue and textContent in Attr.idl so they proxy
30704 to value, which performs a security check.
30706 Test: http/tests/security/xss-DENIED-iframe-src-alias.html
30708 * bindings/js/JSAttrCustom.cpp:
30709 (WebCore::JSAttr::nodeValue):
30710 (WebCore::JSAttr::setNodeValue):
30711 (WebCore::JSAttr::textContent):
30712 (WebCore::JSAttr::setTextContent):
30713 * bindings/v8/custom/V8AttrCustom.cpp:
30714 (WebCore::V8Attr::nodeValueAccessorSetter):
30715 (WebCore::V8Attr::nodeValueAccessorGetter):
30716 (WebCore::V8Attr::textContentAccessorSetter):
30717 (WebCore::V8Attr::textContentAccessorGetter):
30720 2010-03-26 Eric Carlson <eric.carlson@apple.com>
30722 <rdar://problem/7320584>
30723 https://bugs.webkit.org/show_bug.cgi?id=36681
30724 "new Audio()" doesn't work with plug-in backed media engine.
30726 Don't require plug-in backed <video> and <audio> elements to be in the document to play.
30728 * html/HTMLMediaElement.cpp:
30729 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_proxyWidget
30730 (WebCore::HTMLMediaElement::createRenderer): Set renderer widget if it has already been
30732 (WebCore::HTMLMediaElement::scheduleLoad): Call createMediaPlayerProxy to make sure we
30733 have a plug-in proxy.
30734 (WebCore::HTMLMediaElement::loadResource): Ditto.
30735 (WebCore::HTMLMediaElement::ensureMediaPlayer): Allocate media player.
30736 (WebCore::HTMLMediaElement::setMediaPlayerProxy): Call ensureMediaPlayer.
30737 (WebCore::HTMLMediaElement::getPluginProxyParams): New, return the url and params vectors.
30738 (WebCore::HTMLMediaElement::finishParsingChildren): Call createMediaPlayerProxy.
30739 (WebCore::HTMLMediaElement::createMediaPlayerProxy): New, allocate the proxy widget if necessary.
30740 * html/HTMLMediaElement.h:
30742 * loader/EmptyClients.h:
30743 (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Add declaration.
30745 * loader/FrameLoader.cpp:
30746 (WebCore::toPlugInElement): Don't allow an audio or video element to be cast to a plug-in element.
30747 (WebCore::FrameLoader::loadPlugin):
30748 (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): New, allocate a media player proxy plug-in.
30750 * loader/FrameLoader.h: Declare loadMediaPlayerProxyPlugin.
30752 * loader/FrameLoaderClient.h: Declare createMediaPlayerProxyPlugin.
30754 * rendering/RenderEmbeddedObject.cpp:
30755 (WebCore::RenderEmbeddedObject::updateWidget): Call loadMediaPlayerProxyPlugin when passed an
30756 audio or video node.
30758 * rendering/RenderLayerCompositor.cpp:
30759 (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
30761 * rendering/RenderVideo.cpp:
30762 (WebCore::RenderVideo::RenderVideo): Get default width and height from defaultSize.
30763 (WebCore::RenderVideo::defaultSize): New, return the spec defined default width and height.
30764 * rendering/RenderVideo.h:
30766 2010-03-26 Simon Fraser <simon.fraser@apple.com>
30768 Reviewed by Dan Bernstein, Darin Adler.
30770 Re-entrant layout via plug-ins may cause crashes with bad RenderWidgets
30771 https://bugs.webkit.org/show_bug.cgi?id=36675
30772 <rdar://problem/7787617>
30774 Fix two places in the code where RenderWidgets can get destroyed while being iterated over.
30775 This can happen when plug-ins execute script from NPP_SetWindow, and that script makes a change
30776 to the page that destroys a RenderWidget.
30778 Tests: plugins/reentrant-update-widget-positions.html
30779 plugins/update-widgets-crash.html
30781 * page/FrameView.cpp:
30782 (WebCore::FrameView::updateWidgets): ref() the RenderEmbeddedObjects that are put into the
30783 vector before iterating of them, and deref() them at the end. Rather than checking the m_widgetUpdateSet
30784 to see if the RenderWidget is still live, test object->node().
30786 * rendering/RenderView.cpp:
30787 (WebCore::RenderView::RenderView): Initialize some data members to make it more obvious in the debugger
30788 that the object is not garbage.
30789 (WebCore::RenderView::updateWidgetPositions): Use a Vector of RenderWidget* to keep the RenderWidgets
30790 alive during iteration, by reffing and dereffing them.
30791 * rendering/RenderWidget.h:
30792 (WebCore::RenderWidget::ref): Make this and deref() public.
30794 2010-03-26 Beth Dakin <bdakin@apple.com>
30796 Reviewed by Darin Adler.
30798 Partial fix for https://bugs.webkit.org/show_bug.cgi?id=36564
30799 Performance regression for setting content of <text> in SVG
30800 -and corresponding-
30801 <rdar://problem/7693963>
30803 toClipPath() is extremely inefficient, so this patch removes the
30804 call to it from RenderSVGResourceClipper::resourceBoundingBox()
30805 which is very hot code in SVG with clip-paths. It is sufficient to
30806 call unite with the objectBoundingBox(), which will return early if
30807 objectBoundingBox() is empty.
30809 * rendering/RenderSVGResourceClipper.cpp:
30810 (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
30812 2010-03-26 Joseph Pecoraro <joepeck@webkit.org>
30814 Reviewed by Dave Hyatt.
30816 Generated run-in Content is Mistakenly Getting Deleted
30817 https://bugs.webkit.org/show_bug.cgi?id=36505
30818 <rdar://problem/7767161>
30820 Test: fast/runin/generated2.html
30821 Test: fast/runin/generated3.html
30822 Test: fast/runin/generated4.html
30824 Do not destroy :before/:after generated content with display run-in
30825 when relaying out different nodes. Have their real owners correctly
30828 * rendering/RenderObjectChildList.cpp:
30829 (WebCore::RenderObjectChildList::updateBeforeAfterContent): simplified logic
30830 (WebCore::RenderObjectChildList::beforeAfterContainer): skip generated run-ins when checking children, check for them in grandchildren
30832 2010-03-25 Ojan Vafai <ojan@chromium.org>
30834 Reviewed by Darin Adler.
30836 shift+home/end and cmd+shift+left/right don't extend the selection correctly
30837 https://bugs.webkit.org/show_bug.cgi?id=36539
30839 * WebCore.base.exp:
30840 * editing/SelectionController.cpp:
30841 (WebCore::SelectionController::modify):
30842 * editing/SelectionController.h:
30844 2010-03-26 Janne Koskinen <janne.p.koskinen@digia.com>
30846 Reviewed by Laszlo Gombos.
30848 Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets.
30849 https://bugs.webkit.org/show_bug.cgi?id=34081
30851 Defining StringImpl instances as globals will cause a crash on process exit as
30852 StringImpl::Remove expects TLS which was already deleted at time of exiting main and ends up
30853 constructing one exiting thread.
30857 2010-03-26 Andrey Kosyakov <caseq@chromium.org>
30859 Reviewed by Pavel Feldman.
30862 Send worker resource content to inspector to enable display of web
30863 workers in inspector's resource tab.
30864 https://bugs.webkit.org/show_bug.cgi?id=36658
30866 * inspector/InspectorController.cpp:
30867 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
30868 (WebCore::InspectorController::scriptImported):
30869 * inspector/InspectorResource.cpp:
30870 (WebCore::InspectorResource::type):
30871 (WebCore::InspectorResource::setOverrideContent):
30872 (WebCore::InspectorResource::sourceString):
30873 * inspector/InspectorResource.h:
30874 * workers/DefaultSharedWorkerRepository.cpp:
30875 (WebCore::SharedWorkerScriptLoader::notifyFinished):
30876 * workers/Worker.cpp:
30877 (WebCore::Worker::notifyFinished):
30879 2010-03-26 Yael Aharon <yael.aharon@nokia.com>
30881 Reviewed by Antti Koivisto.
30883 Fix the rendering of HTMLProgressElement
30884 https://bugs.webkit.org/show_bug.cgi?id=36206
30886 Update the rendering and css to conform to
30887 http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0.
30888 Updated the tests and the expected results accordingly.
30892 * rendering/RenderProgress.cpp:
30893 (WebCore::RenderProgress::RenderProgress):
30894 (WebCore::RenderProgress::updateFromElement):
30895 * rendering/RenderProgress.h:
30896 (WebCore::RenderProgress::isProgress):
30898 2010-03-26 Julien Chaffraix <jchaffraix@webkit.org>
30900 Unreviewed build fix.
30902 FontPlatformDataPango.cpp: prototype for
30903 'WebCore::FontPlatformData::FontPlatformData(cairo_font_face_t*, int, bool, bool)'
30904 does not match any in class
30905 https://bugs.webkit.org/show_bug.cgi?id=36496
30907 * platform/graphics/gtk/FontPlatformDataPango.cpp:
30908 (WebCore::FontPlatformData::FontPlatformData): The 'size' parameter
30909 should be a float to match the declaration and the other definitions.
30911 2010-03-26 Shu Chang <chang.shu@nokia.com>
30913 Reviewed by Eric Seidel.
30915 [Qt] Prevent referring d->m_job in the future because calling abort()
30916 deletes the instance itself.
30917 https://bugs.webkit.org/show_bug.cgi?id=36618
30919 Test: http/tests/appcache/fallback.html
30921 * platform/network/qt/ResourceHandleQt.cpp:
30922 (WebCore::ResourceHandle::cancel):
30924 2010-03-26 Stephen White <senorblanco@chromium.org>
30926 Unreviewed; build fix.
30928 Rolling out 56620; too many layout test failures.
30930 Covered by fast/css/*.
30932 * css/CSSPrimitiveValue.cpp:
30933 (WebCore::CSSPrimitiveValue::cleanup):
30934 (WebCore::CSSPrimitiveValue::cssText):
30935 * css/CSSPrimitiveValue.h:
30936 (WebCore::CSSPrimitiveValue::):
30938 2010-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
30940 Reviewed by Simon Hausmann.
30942 [Qt] Build JavaScriptCore as a static library.
30943 https://bugs.webkit.org/show_bug.cgi?id=36590
30945 This patch takes what was left of the unused JavaScriptCore.pro
30946 and moved the compilation logic from JavaScriptCore.pri to
30947 JavaScriptCore.pro.
30951 2010-03-26 Olivier Goffart <ogoffart@trolltech.com>
30953 Reviewed by Simon Hausmann.
30955 [Qt] Fix compilation on Windows
30957 For some reason, the MSVC compiler choose the
30958 operator+(const QString &, const QString &) instead of
30959 operator+(const WebCore::String &, const WebCore::String &)
30960 resulting in errors when QT_USE_FAST_OPERATOR_PLUS is used.
30962 * dom/XMLTokenizerQt.cpp:
30963 (WebCore::handleElementNamespaces):
30965 2010-03-24 Stephen White <senorblanco@chromium.org>
30967 Reviewed by Darin Adler.
30969 In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
30970 this CL caches the String result. When m_value is changed, the
30971 cached string is cleared. This gives a good speedup on benchmarks
30972 which do a lot of CSS property gets, such as Peacekeeper.
30973 The processing cost should be negligible, since the strings are
30974 refcounted. The memory cost is an additional 4 bytes per
30975 CSSPrimitiveValue, and the extended lifetime of the computed string
30976 (potentially, the same as the lifetime of the CSSPrimitiveValue).
30978 https://bugs.webkit.org/show_bug.cgi?id=36556
30980 Covered by fast/css/large-number-round-trip.html, and more.
30982 * css/CSSPrimitiveValue.cpp:
30983 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30984 (WebCore::CSSPrimitiveValue::cleanup):
30985 (WebCore::CSSPrimitiveValue::cssText):
30986 * css/CSSPrimitiveValue.h:
30988 2010-03-26 Qi Zhang <qi.2.zhang@nokia.com>
30990 Reviewed by Laszlo Gombos.
30992 [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed
30993 https://bugs.webkit.org/show_bug.cgi?id=35005
30995 To support negative width or height at context.drawImage
30997 * platform/graphics/qt/StillImageQt.cpp:
30998 (WebCore::StillImage::draw):
31000 2010-03-08 Philippe Normand <pnormand@igalia.com>
31002 Reviewed by Gustavo Noronha.
31004 [GStreamer] soften dependency on libsoup in the http src element
31005 https://bugs.webkit.org/show_bug.cgi?id=35864
31007 Replaced SoupURI calls with KURL and pause/resume internal soup
31008 messages only if the element is compiled for a port depending on
31011 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
31012 (webkit_web_src_init):
31013 (webKitWebSrcSetUri):
31014 (webKitWebSrcNeedDataMainCb):
31015 (webKitWebSrcEnoughDataMainCb):
31017 2010-03-25 Ilya Tikhonovsky <loislo@chromium.org>
31019 Reviewed by Pavel Feldman.
31021 Web Inspector: Shot record filter is implemented in Timeline Panel.
31022 https://bugs.webkit.org/show_bug.cgi?id=36606
31024 * English.lproj/localizedStrings.js:
31025 * inspector/front-end/TimelinePanel.js:
31026 (WebInspector.TimelinePanel):
31027 (WebInspector.TimelinePanel.prototype.get statusBarItems):
31028 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
31029 (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
31030 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
31031 (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
31032 (WebInspector.TimelineRecordGraphRow.prototype.update):
31033 (WebInspector.TimelinePanel.FormattedRecord.prototype.get _isLongEvent):
31034 * inspector/front-end/inspector.css:
31036 2010-03-25 Pavel Feldman <pfeldman@chromium.org>
31038 Reviewed by Timothy Hatcher.
31040 Web Inspector: Implement CSSStyleSelector::pseudoStyleForElement and use it in the InspectorDOMAgent.
31042 https://bugs.webkit.org/show_bug.cgi?id=36509
31044 This change provides pseudo elements information into the inspector styles sidebar pane.
31046 - CSSStyleSelector::pseudoStyleRulesForElement implemented. I changed the signature to accept
31047 PseudoId instead of a String since it better reflected the needs;
31048 - Accompanied elementStyle checks with m_collectRulesOnly checks;
31049 - Removed pseudoStyleRulesForElement usage from DOMWindow::getMatchedCSSRules. It was anyways
31050 returning 0, while I would need to convert String to PseudoId in order to leave the call in place;
31051 - Needed to introduce AFTER_LAST_INTERNAL_PSEUDOID marker const in RenderStyleConstants' PseudoId enum
31052 - InspectorDOMAgent is now iterating over all pseudo ids to get all styles (including internal ones).
31053 - Brushed up front-end code so that proper overriding took place locally within pseudo id categories.
31055 * English.lproj/localizedStrings.js:
31056 * css/CSSStyleSelector.cpp:
31057 (WebCore::CSSStyleSelector::styleRulesForElement):
31058 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
31059 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
31060 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
31061 * css/CSSStyleSelector.h:
31062 * inspector/InspectorDOMAgent.cpp:
31063 (WebCore::InspectorDOMAgent::getStyles):
31064 (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
31065 (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
31066 (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
31067 * inspector/InspectorDOMAgent.h:
31068 * inspector/front-end/StylesSidebarPane.js:
31069 (WebInspector.StylesSidebarPane.prototype.update.callback):
31070 (WebInspector.StylesSidebarPane.prototype.update):
31071 (WebInspector.StylesSidebarPane.prototype._update):
31072 (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
31073 (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.insertInheritedNodeSeparator):
31074 (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
31075 (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
31076 (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
31077 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
31078 (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
31079 (WebInspector.StylesSidebarPane.prototype.addBlankSection):
31080 (WebInspector.StylesSidebarPane.prototype.removeSection):
31081 * inspector/front-end/inspector.css:
31082 (.styles-sidebar-separator):
31083 * page/DOMWindow.cpp:
31084 (WebCore::DOMWindow::getMatchedCSSRules):
31085 * rendering/style/RenderStyleConstants.h:
31088 2010-03-25 Charlie Reis <creis@chromium.org>
31090 Reviewed by Adam Barth.
31092 onbeforeunload not called at window close + frame or iframe focused
31093 https://bugs.webkit.org/show_bug.cgi?id=27481
31095 Test: fast/events/onbeforeunload-focused-iframe.html
31097 Replaces initial manual tests with a layout test.
31099 * manual-tests/onbeforeunload-focused-iframe.html: Removed.
31100 * manual-tests/resources/focused-iframe.html: Removed.
31102 2010-03-25 Eric Uhrhane <ericu@chromium.org>
31104 Reviewed by David Levin.
31106 Missing lock in call to doneCreatingDatabase
31107 https://bugs.webkit.org/show_bug.cgi?id=36473
31109 Added new test storage/open-database-over-quota.html.
31111 * storage/DatabaseTracker.cpp:
31112 (WebCore::DatabaseTracker::canEstablishDatabase): Added missing lock call.
31114 2010-03-25 Ojan Vafai <ojan@chromium.org>
31116 Reviewed by Eric Seidel.
31118 [chromium] REGRESSION: Some LayoutTests fail after r56567
31119 https://bugs.webkit.org/show_bug.cgi?id=36630
31121 Fix boolean logic goofup. This was a last minute code review
31122 change that didn't get tested on Windows before commit.
31124 * editing/SelectionController.cpp:
31125 (WebCore::SelectionController::setIsDirectional):
31127 2010-03-25 Dan Bernstein <mitz@apple.com>
31129 Reviewed by Darin Adler.
31131 <rdar://problem/7728903> Support color bitmap fonts
31133 Test: platform/mac/fonts/color-bitmap.html
31135 * platform/graphics/mac/FontMac.mm:
31136 (WebCore::showGlyphsWithAdvances): Added. Calls CGContextShowGlyphsWithAdvances()
31137 or CTFontShowGlyphs() depending on whether the font is a color bitmap font.
31138 (WebCore::Font::drawGlyphs): Use showGlyphsWithAdvances(). Don’t include the font’s matrix in
31139 the context’s text matrix when drawing with a color bitmap font, because CTFontShowGlyphs()
31141 * platform/graphics/mac/FontPlatformData.h:
31142 (WebCore::FontPlatformData::FontPlatformData): Added m_isColorBitmapFont member
31143 and initialized it in constructors.
31144 (WebCore::FontPlatformData::isColorBitmapFont): Added this getter.
31145 * platform/graphics/mac/FontPlatformDataMac.mm:
31146 (WebCore::FontPlatformData::FontPlatformData): Initialize m_isColorBitmapFont.
31147 (WebCore::FontPlatformData::operator=): Copy m_isColorBitmapFont.
31148 (WebCore::FontPlatformData::setFont): Set m_isColorBitmapFont.
31150 2010-03-25 Adam Barth <abarth@webkit.org>
31152 Reviewed by Sam Weinig.
31154 Implement allow-top-navigation for HTML5 sandbox attribute
31155 https://bugs.webkit.org/show_bug.cgi?id=36549
31157 Tests: fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html
31158 fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html
31159 fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html
31160 fast/frames/sandboxed-iframe-navigation-top-by-name.html
31161 fast/frames/sandboxed-iframe-navigation-top-denied.html
31162 fast/frames/sandboxed-iframe-navigation-top.html
31164 * bindings/generic/BindingDOMWindow.h:
31165 (WebCore::::createWindow):
31166 * bindings/js/JSDOMWindowCustom.cpp:
31167 (WebCore::createWindow):
31168 Moved the security check to FrameLoader because we need to allow
31169 window.open navigation to succeed sometimes when the
31170 SandboxNavigation bit is set.
31171 * html/HTMLIFrameElement.cpp:
31172 (WebCore::parseSandboxAttribute):
31173 Added allow-top-navigation to the parser.
31174 * loader/FrameLoader.cpp:
31175 (WebCore::FrameLoader::createWindow):
31176 The SandboxNavigation check now occurs after we search for the frame
31177 by name. Notice that the named frame navigation case is caught by
31178 the generic navigation access check.
31179 (WebCore::FrameLoader::shouldAllowNavigation):
31180 Update the navigation access check to allow navigating of top unless
31182 * loader/FrameLoaderTypes.h:
31183 Introduce a bit for SandboxedTopNavigation.
31186 2010-03-25 Dumitru Daniliuc <dumi@chromium.org>
31188 Unreviewed, Chromium build fix.
31190 V8CustomVoidCallback should not check if a return value is a
31191 boolean. It should only convert the value to a boolean.
31193 * bindings/v8/custom/V8CustomVoidCallback.cpp:
31194 (WebCore::invokeCallback):
31196 2010-03-25 Dmitry Titov <dimich@chromium.org>
31198 No review, rolling out r56585.
31199 http://trac.webkit.org/changeset/56585
31200 https://bugs.webkit.org/show_bug.cgi?id=36621
31202 Broke Chromium builds on waterfall
31204 * plugins/PluginView.cpp:
31205 (WebCore::PluginView::getValue):
31206 * plugins/PluginView.h:
31207 * plugins/PluginViewNone.cpp:
31208 (WebCore::PluginView::setJavaScriptPaused):
31210 2010-03-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
31212 Reviewed by Darin Adler.
31214 Fix build if NPAPI support is disabled
31215 https://bugs.webkit.org/show_bug.cgi?id=36621
31217 No new tests, this is a build fix.
31219 * plugins/PluginView.cpp: Guard getValueStatic() with
31220 NETSCAPE_PLUGIN_API
31221 (WebCore::PluginView::getValue):
31222 * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
31223 * plugins/PluginViewNone.cpp: Guard platformGetValue() and
31224 platformGetValueStatic with NETSCAPE_PLUGIN_API;
31225 Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
31228 2010-03-25 Drew Wilson <atwilson@chromium.org>
31230 Reviewed by Nate Chapin.
31232 [v8] Error in getScriptExecutionContext() when worker context is terminating.
31233 https://bugs.webkit.org/show_bug.cgi?id=36565
31235 Removed WorkerScriptExecutionProxy::retrieve() and added WorkerScriptController::controllerForContext(). This allows
31236 callers to differentiate between "the current context is shutting down" vs "the current context is not a worker context".
31238 Test: Existing worker tests suffice.
31240 * bindings/v8/V8DOMWrapper.cpp:
31241 (WebCore::V8DOMWrapper::getConstructor):
31242 Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
31243 * bindings/v8/V8Utilities.cpp:
31244 (WebCore::getScriptExecutionContext):
31245 Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
31246 * bindings/v8/WorkerContextExecutionProxy.cpp:
31247 Removed WorkerScriptExecutionProxy::retrieve().
31248 * bindings/v8/WorkerContextExecutionProxy.h:
31249 Removed WorkerScriptExecutionProxy::retrieve().
31250 * bindings/v8/WorkerScriptController.cpp:
31251 (WebCore::WorkerScriptController::controllerForContext):
31252 Added helper function to get the WorkerScriptController for the current context.
31253 * bindings/v8/WorkerScriptController.h:
31254 Added declaration for controllerForContext().
31256 2010-03-25 Simon Hausmann <simon.hausmann@nokia.com>
31258 Reviewed by Kenneth Rohde Christiansen.
31260 [Qt] Fix the package build on Maemo 5
31262 https://bugs.webkit.org/show_bug.cgi?id=36607
31264 Always embed the stylesheet for the no-listbox rendering. This way it'll be
31265 included in the generated files for the package generation.
31269 2010-03-24 Dumitru Daniliuc <dumi@chromium.org>
31271 Reviewed by Dimitri Glazkov.
31273 Changing the V8 and JSC implementations of
31274 SQLStatementErrorCallback to interpret as false all results that
31275 could be converted to a false boolean. Pretty much a revert of
31278 https://bugs.webkit.org/show_bug.cgi?id=36569
31280 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
31281 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
31282 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
31283 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
31284 * bindings/v8/custom/V8CustomVoidCallback.cpp:
31285 (WebCore::invokeCallback):
31286 * bindings/v8/custom/V8CustomVoidCallback.h:
31288 2010-03-25 Dmitry Titov <dimich@chromium.org>
31290 Unreviewed, fix Chromium tests.
31292 Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that
31293 have unspecified port to return invalidPortNumber from KURL::port().
31295 * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports.
31296 (WebCore::KURL::port):
31298 2010-03-25 Dirk Schulze <krit@webkit.org>
31300 Reviewed by Nikolas Zimmermann.
31302 This is a follow up of:
31303 https://bugs.webkit.org/show_bug.cgi?id=30055
31304 Bad DOM performance in large SVG files
31306 Just save and restore the GraphicsContext, if we realy modify it.
31307 (Cairo)Path::contains checks if a point is in the boundingBox
31308 as a heuristic. The intention was to make the process faster for
31309 points outside of this rect, but it rather causes the
31312 No new test cases added. No change in functionality.
31314 * platform/graphics/cairo/PathCairo.cpp:
31315 (WebCore::Path::contains):
31316 * rendering/RenderPath.cpp:
31317 (WebCore::RenderPath::paint):
31319 2010-03-25 Ojan Vafai <ojan@chromium.org>
31321 Reviewed by David Levin.
31323 mouse-based selections are always directional on Windows/Linux
31324 https://bugs.webkit.org/show_bug.cgi?id=25195
31326 Change m_lastChangeWasHorizontalExtension to m_isDirectional
31327 and make m_isDirectional always be true for Windows/Linux.
31329 * editing/SelectionController.cpp:
31330 (WebCore::SelectionController::SelectionController):
31331 (WebCore::SelectionController::setSelection):
31332 (WebCore::SelectionController::setIsDirectional):
31333 (WebCore::SelectionController::willBeModified):
31334 When double-clicking, the base/extent will be in the middle
31335 of the selection instead of the start/end of it. Changed to
31336 maintain that modifications after double-click still move the
31337 start/end of the selection, not the base/extent.
31338 (WebCore::SelectionController::modify):
31339 * editing/SelectionController.h:
31340 * page/EventHandler.cpp:
31341 (WebCore::EventHandler::handleMousePressEventSingleClick):
31342 (WebCore::EventHandler::updateSelectionForMouseDrag):
31344 2010-03-25 Simon Fraser <simon.fraser@apple.com>
31346 Revert r56565 which was based on an incorrect premise.
31348 * page/animation/CompositeAnimation.cpp:
31349 (WebCore::CompositeAnimation::clearRenderer):
31350 (WebCore::CompositeAnimation::updateKeyframeAnimations):
31351 (WebCore::CompositeAnimation::getAnimatedStyle):
31352 (WebCore::CompositeAnimation::setAnimating):
31353 (WebCore::CompositeAnimation::timeToNextService):
31354 (WebCore::CompositeAnimation::getAnimationForProperty):
31355 (WebCore::CompositeAnimation::suspendAnimations):
31356 (WebCore::CompositeAnimation::resumeAnimations):
31357 (WebCore::CompositeAnimation::isAnimatingProperty):
31358 (WebCore::CompositeAnimation::pauseAnimationAtTime):
31359 (WebCore::CompositeAnimation::numberOfActiveAnimations):
31361 2010-03-25 Simon Fraser <simon.fraser@apple.com>
31363 Reviewed by Eric Carlson.
31365 Make calls to m_keyframeAnimations.checkConsistency() debug-only
31366 https://bugs.webkit.org/show_bug.cgi?id=36555
31368 Remove lots of calls to m_keyframeAnimations.checkConsistency(); which were left after some earlier
31369 debugging. Leave one in CompositeAnimation::animate() to catch any future issues, which is OK since
31370 these calls are no-ops in release builds.
31372 * page/animation/CompositeAnimation.cpp:
31373 (WebCore::CompositeAnimation::clearRenderer):
31374 (WebCore::CompositeAnimation::updateKeyframeAnimations):
31375 (WebCore::CompositeAnimation::getAnimatedStyle):
31376 (WebCore::CompositeAnimation::setAnimating):
31377 (WebCore::CompositeAnimation::timeToNextService):
31378 (WebCore::CompositeAnimation::getAnimationForProperty):
31379 (WebCore::CompositeAnimation::suspendAnimations):
31380 (WebCore::CompositeAnimation::resumeAnimations):
31381 (WebCore::CompositeAnimation::isAnimatingProperty):
31382 (WebCore::CompositeAnimation::pauseAnimationAtTime):
31383 (WebCore::CompositeAnimation::numberOfActiveAnimations):
31385 2010-03-25 Simon Fraser <simon.fraser@apple.com>
31387 Reviewed by Geoffrey Garen.
31389 https://bugs.webkit.org/show_bug.cgi?id=36557
31390 Animations use the wrong timing-function sometimes
31392 Fix an issue where animations picked the wrong style for their "unanimated" value.
31394 Previously, the "unanimated" style was considered to be the style before the animation
31395 was applied. This caused us to pick up stale values for animation timing functions, for
31396 blending when a property is missing from the first keyframe, and for resuming transitions
31397 once an animation ends.
31399 Instead, we need to use the "current" style, which is the one that causes the animation
31402 Tests: animations/longhand-timing-function.html
31403 animations/transition-and-animation-3.html
31404 animations/unanimated-style.html
31406 * page/animation/CompositeAnimation.cpp:
31407 (WebCore::CompositeAnimation::updateKeyframeAnimations):
31409 2010-03-25 Gavin Barraclough <barraclough@apple.com>
31411 Reviewed by Geoff Garen.
31413 Bug 36611 - Cleanup JSC::CString
31414 Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
31415 remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
31417 * bridge/NP_jsobject.cpp:
31419 * bridge/c/c_utility.cpp:
31420 (JSC::Bindings::convertValueToNPVariant):
31421 * bridge/jni/jsc/JNIBridgeJSC.cpp:
31422 (JavaField::valueFromInstance):
31423 (JavaField::setValueToInstance):
31424 * bridge/jni/jsc/JavaInstanceJSC.cpp:
31425 (JavaInstance::invokeMethod):
31426 * bridge/jni/jsc/JavaStringJSC.h:
31427 (JSC::Bindings::JavaStringImpl::UTF8String):
31429 2010-03-25 Jakub Wieczorek <jwieczorek@webkit.org>
31431 Reviewed by Eric Seidel.
31433 [Qt] RenderTheme: fix size adjustment for text fields
31434 https://bugs.webkit.org/show_bug.cgi?id=36413
31436 To match other ports, remove the hardcoded dimensions for text fields so that
31437 the default ones from WebCore can be used.
31438 Properly apply the correct padding to text areas - this fixes their appearance
31439 with the Oxygen style.
31441 * platform/qt/RenderThemeQt.cpp:
31442 (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
31444 2010-03-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
31446 Reviewed by Simon Hausmann.
31448 [Qt] Implement ChromeClient::windowResizerRect()
31450 https://bugs.webkit.org/show_bug.cgi?id=21300
31452 The helper function geometryRelativeToOwnerWidget() in the page
31453 client is used to clip the resize rect to the actual size of the
31454 viewport, not the size of the QGraphicsView.
31456 * platform/qt/QWebPageClient.h:
31458 2010-03-25 Joseph Pecoraro <joepeck@webkit.org>
31460 Reviewed by Pavel Feldman.
31462 Web Inspector: reloading debug target window with cmd-R from inspector window produces beep.
31463 https://bugs.webkit.org/show_bug.cgi?id=36554
31465 * inspector/front-end/inspector.js:
31466 (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep.
31468 2010-03-25 Jochen Eisinger <jochen@chromium.org>
31470 Reviewed by Jeremy Orlow.
31472 Forward DatabaseTracker::canEstablishDatabase to chromium layer.
31473 https://bugs.webkit.org/show_bug.cgi?id=36595
31475 * storage/chromium/DatabaseObserver.h:
31476 * storage/chromium/DatabaseTrackerChromium.cpp:
31477 (WebCore::DatabaseTracker::canEstablishDatabase):
31479 2010-03-25 yael aharon <yael.aharon@nokia.com>
31481 Reviewed by Laszlo Gombos.
31483 [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian
31484 https://bugs.webkit.org/show_bug.cgi?id=35112
31486 Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView.
31488 * plugins/symbian/PluginContainerSymbian.cpp:
31489 (PluginContainerSymbian::PluginContainerSymbian):
31490 (PluginContainerSymbian::focusInEvent):
31491 * plugins/symbian/PluginContainerSymbian.h:
31492 (WebCore::PluginContainerSymbian::proxy):
31493 * plugins/symbian/PluginViewSymbian.cpp:
31494 (WebCore::PluginView::updatePluginWidget):
31495 (WebCore::PluginView::platformStart):
31496 (WebCore::PluginView::platformDestroy):
31498 2010-03-25 Simon Fraser <simon.fraser@apple.com>
31500 Reviewed by Adele Peterson.
31502 https://bugs.webkit.org/show_bug.cgi?id=35714
31503 Computed style on delayed transform animations is incorrect
31505 When fetching computed style while a delayed accelerated animation is in effect,
31506 we would get the value form the first keyframe, rather than getting the current
31509 Fix by checking to see whether we've in the delay phase (with no backwards-fill)
31510 in KeyframeAnimation::getAnimatedStyle().
31512 Test: compositing/animation/computed-style-during-delay.html
31514 * page/animation/KeyframeAnimation.cpp:
31515 (WebCore::KeyframeAnimation::getAnimatedStyle):
31517 2010-03-25 Yury Semikhatsky <yurys@chromium.org>
31519 Reviewed by Pavel Feldman.
31521 Initialize Web Inspector title with inspected page URL when opening Web Inspector.
31523 https://bugs.webkit.org/show_bug.cgi?id=36534
31525 * inspector/InspectorController.cpp:
31526 (WebCore::InspectorController::setFrontend):
31528 2010-03-25 Antti Koivisto <koivisto@iki.fi>
31530 Reviewed by Kenneth Rohde Christiansen.
31532 https://bugs.webkit.org/show_bug.cgi?id=36316
31533 Tiles of selected content do not update if not in viewport
31535 Don't clip repaints to viewport when tiling is enabled.
31538 (WebCore::Frame::setView):
31539 (WebCore::Frame::setTiledBackingStoreEnabled):
31541 2010-03-25 Diego Gonzalez <diego.gonzalez@openbossa.org>
31543 Reviewed by Eric Seidel.
31545 Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
31548 [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
31549 https://bugs.webkit.org/show_bug.cgi?id=36547
31553 2010-03-25 Pavel Feldman <pfeldman@chromium.org>
31555 Reviewed by Timothy Hatcher.
31557 Web Inspector: Expect console object wrapping to fail.
31559 https://bugs.webkit.org/show_bug.cgi?id=36587
31561 * inspector/front-end/InjectedScript.js:
31562 (injectedScriptConstructor):
31564 2010-03-25 Joanmarie Diggs <joanmarie.diggs@gmail.com>
31566 Reviewed by Eric Seidel.
31568 https://bugs.webkit.org/show_bug.cgi?id=36371
31569 [Gtk] Elements with a title attribute should not be ignored
31571 * accessibility/AccessibilityRenderObject.cpp:
31572 (AccessibilityRenderObject::accessibilityIsIgnored):
31574 2010-03-24 Steve Block <steveblock@google.com>
31576 Reviewed by David Levin.
31578 Adds a missing ENABLE(WORKERS) guards to the V8 bindings.
31579 https://bugs.webkit.org/show_bug.cgi?id=36550
31581 Build fix only, no new tests.
31583 * bindings/v8/V8DOMWrapper.cpp:
31584 (WebCore::V8DOMWrapper::instantiateV8Object):
31586 2010-03-25 Leandro Pereira <leandro@profusion.mobi>
31588 Reviewed by Eric Seidel.
31590 Add EFL-specific code to platform/ScrollView.cpp and
31591 platform/Scrollbar.cpp.
31592 http://webkit.org/b/36305
31594 * platform/ScrollView.cpp:
31595 * platform/Scrollbar.cpp:
31597 2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
31599 Reviewed by Eric Seidel.
31601 [Qt]Fix compile error with QT_NO_LIBRARY
31602 https://bugs.webkit.org/show_bug.cgi?id=36533
31604 * platform/FileSystem.h:
31605 * platform/qt/FileSystemQt.cpp:
31606 (WebCore::unloadModule):
31608 2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
31610 Reviewed by Eric Seidel.
31612 [Qt]Fix compile error with QT_NO_ANIMATION
31613 https://bugs.webkit.org/show_bug.cgi?id=36526
31615 * platform/graphics/qt/GraphicsLayerQt.cpp:
31616 (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
31617 * platform/graphics/qt/GraphicsLayerQt.h:
31619 2010-03-25 Tony Chang <tony@chromium.org>
31621 Reviewed by Eric Seidel.
31623 https://bugs.webkit.org/show_bug.cgi?id=33697
31624 Have dragOpFromIEOp("move") return DragOperationGeneric | DragOperationMove
31625 because only returning Generic doesn't work for platforms that don't
31626 have a generic operation.
31628 Covered by existing tests (fast/events/drag-and-drop.html).
31630 * dom/Clipboard.cpp:
31631 (WebCore::dragOpFromIEOp):
31632 (WebCore::Clipboard::destinationOperation):
31633 (WebCore::Clipboard::setDestinationOperation):
31635 2010-03-25 Fumitoshi Ukai <ukai@chromium.org>
31637 Reviewed by Eric Seidel.
31639 [Qt] websocket/tests/long-invalid-header.html fails
31640 https://bugs.webkit.org/show_bug.cgi?id=36492
31642 trim message at most 128 bytes from the current position.
31643 I believe it's enough data to investigate the error reason and
31644 it makes test not depend on buffered size.
31646 * websockets/WebSocketHandshake.cpp:
31647 (WebCore::trimConsoleMessage):
31648 (WebCore::WebSocketHandshake::readServerHandshake):
31649 (WebCore::WebSocketHandshake::readHTTPHeaders):
31651 2010-03-24 Jon Honeycutt <jhoneycutt@apple.com>
31653 <rdar://problem/7780798> Missing plug-ins should be represented by text
31654 only, instead of lego block
31656 https://bugs.webkit.org/show_bug.cgi?id=36583
31658 Reviewed by Dan Bernstein.
31660 * rendering/RenderEmbeddedObject.cpp:
31661 (WebCore::RenderEmbeddedObject::paintReplaced):
31662 Set the font rendering mode and the computed size, so that the text will
31663 draw properly on Windows.
31665 2010-03-24 Vangelis Kokkevis <vangelis@chromium.org>
31667 Reviewed by Dimitri Glazkov.
31669 Removing unecessary redraws of LayerSkia contents:
31670 https://bugs.webkit.org/show_bug.cgi?id=36470
31672 Test: No new functionality added, no tests.
31674 * platform/graphics/skia/LayerRendererSkia.cpp:
31675 (WebCore::LayerRendererSkia::drawLayerInCanvasRecursive):
31676 Debug borders now rendered at composite time rather than update time.
31677 * platform/graphics/skia/LayerSkia.cpp:
31678 (WebCore::LayerSkia::updateContents):
31679 (WebCore::LayerSkia::drawDebugBorder):
31680 Debug border drawing removed from updateContents and split into a separate method that
31681 can be called at composite time.
31682 (WebCore::LayerSkia::setBounds):
31683 Resetting the bounds causes the layer to redraw its contents.
31684 (WebCore::LayerSkia::setNeedsDisplay):
31685 * platform/graphics/skia/LayerSkia.h:
31686 Added declaration for drawDebugBorders method.
31688 2010-03-24 Mark Rowe <mrowe@apple.com>
31690 Revert the portion of r56489 that dealt with port zero as it introduced some test failures.
31692 * platform/KURL.cpp:
31693 (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether
31694 it was able to successfully parse the string as an unsigned integer, rather than relying on
31695 the fact it returned zero when it failed.
31697 2010-03-24 Gavin Barraclough <barraclough@apple.com>
31699 Reviewed by Sam Weinig.
31701 * platform/text/String.cpp:
31702 (WebCore::putUTF8Triple): Correct capitalization of function name.
31703 (WebCore::String::utf8): Fix C-style casts.
31704 (WebCore::String::fromUTF8): Remove unnecessary newline.
31705 (WebCore::String::fromUTF8WithLatin1Fallback): Use early return.
31707 2010-03-24 Mark Rowe <mrowe@apple.com>
31709 Reviewed by Darin Adler.
31711 WebKit should treat port numbers outside the valid range as being blacklisted
31712 <http://webkit.org/b/36571> / <rdar://problem/7790908>
31714 * platform/KURL.cpp:
31715 (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber.
31716 (WebCore::portAllowed): Add invalidPortNumber to the blacklist.
31717 * platform/KURLGoogle.cpp: invalid port numbers to invalidPortNumber.
31718 (WebCore::KURL::port): Add invalidPortNumber to the blacklist.
31719 Also bring this in to sync with KURL. Having this identical code in two places is stupid.
31721 2010-03-24 Sam Weinig <sam@webkit.org>
31723 Reviewed by Mark Rowe.
31725 Add some missing exports.
31727 * WebCore.base.exp:
31729 2010-03-24 Gavin Barraclough <barraclough@apple.com>
31731 Reviewed by Sam Weinig.
31733 Switch String::latin1, String::utf8, String::fromUTF8 to
31734 use WTF's Unicode conversion methods rather than TextEncoder.
31735 These methods only perform simple conversion, and don't need
31736 really require TextEncoder's full capability (to look up arbitrary
31737 encodings by name), switching to only be dependent on WTF will
31738 make it easier if we chose to move WebCore::String to WTF.
31740 * platform/text/String.cpp:
31741 (WebCore::String::latin1):
31742 (WebCore::putUTF8triple):
31743 (WebCore::String::utf8):
31744 (WebCore::String::fromUTF8):
31746 2010-03-24 Dmitry Titov <dimich@chromium.org>
31748 No review, rolling out r56453.
31749 http://trac.webkit.org/changeset/56453
31750 https://bugs.webkit.org/show_bug.cgi?id=36426
31752 In Chromium port, it broke invalid-image-data-standalone.html
31753 invalid-image-data.html multipart-wait-before-boundary.html
31754 stop-crash.html win-boundary-crash.html
31756 * loader/FrameLoader.cpp:
31757 (WebCore::FrameLoader::finishedLoadingDocument):
31759 2010-03-24 Ilya Tikhonovsky <loislo@chromium.org>
31761 Reviewed by Pavel Feldman.
31763 Web Inspector: Significant scroll speed degradation if Timeline has
31764 an expanded record with significant number of children.
31765 https://bugs.webkit.org/show_bug.cgi?id=36543
31768 * inspector/front-end/TimelinePanel.js:
31769 (WebInspector.TimelinePanel.prototype._updateBoundaries):
31770 (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
31771 (WebInspector.TimelinePanel.prototype._filterRecords):
31772 (WebInspector.TimelinePanel.prototype._refreshRecords):
31774 2010-03-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
31776 Reviewed by Eric Carlson.
31778 [GStreamer] Fails to go to Loaded state because of floating point discrepancies
31779 https://bugs.webkit.org/show_bug.cgi?id=35891
31781 Use the m_fillStatus variable, which is more reliable, instead of
31782 using the calculation, for the completed case.
31784 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
31785 (WebCore::MediaPlayerPrivate::fillTimerFired):
31787 2010-03-24 Dmitry Titov <dimich@chromium.org>
31789 Unreviewed, Chromium test fix.
31791 Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots.
31792 Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*)
31793 and was substituting toV8(Event*).
31795 Fixing test fast/events/custom-event.html
31797 * bindings/v8/custom/V8EventCustom.cpp:
31799 2010-03-24 MORITA Hajime <morrita@google.com>
31801 Reviewed by Darin Adler.
31803 Refactoring: HTMLFormControlElement should not have redundant null check
31804 https://bugs.webkit.org/show_bug.cgi?id=36487
31806 No new tests as there is no new functionality.
31808 * html/HTMLFormControlElement.cpp:
31809 (WebCore::HTMLFormControlElement::dispatchFocusEvent):
31810 (WebCore::HTMLFormControlElement::dispatchBlurEvent):
31812 2010-03-24 Eric Uhrhane <ericu@chromium.org>
31814 Reviewed by Alexey Proskuryakov.
31816 DOMCoreException needs NoStaticTables modifier
31817 https://bugs.webkit.org/show_bug.cgi?id=36458
31819 No new tests, but this shows up in tests of Database accesses from the
31820 Worker thread that I'll be checking in soon. The symptom is that
31821 DOMCoreException.toString() returns [object DOMException] instead of
31822 something more helpful.
31824 * dom/DOMCoreException.idl: Added NoStaticTables.
31826 2010-03-24 Drew Wilson <atwilson@chromium.org>
31828 Reviewed by Dmitry Titov.
31830 Failed assertion in V8Proxy::setDOMException() if worker is shutting down.
31831 https://bugs.webkit.org/show_bug.cgi?id=36514
31833 Test: none (existing worker tests suffice)
31835 * bindings/v8/V8Proxy.cpp:
31836 (WebCore::V8Proxy::setDOMException):
31837 Updated setDOMException() to check for an empty exception (due to no active context) and avoid throwing in that case.
31839 2010-03-23 Evan Martin <evan@chromium.org>
31841 Reviewed by Dmitry Titov.
31843 [chromium] use integral glyph widths
31844 https://bugs.webkit.org/show_bug.cgi?id=36510
31846 Despite WebKit (and Skia, to an extent) supporting non-integral
31847 glyph widths, the font code path we hit in Skia only supports
31848 integral glyph positions. This means that we would accumulate
31849 offsets when drawing a sequence up non-integer-width glyphs
31850 which would cause gaps when snapped to the pixel grid when drawing.
31852 * platform/graphics/chromium/SimpleFontDataLinux.cpp:
31853 (WebCore::SimpleFontData::platformWidthForGlyph):
31854 round glyph widths to integers.
31856 2010-03-24 Dean Jackson <dino@apple.com>
31858 Reviewed by Kevin Decker.
31860 <rdar://problem/7785305>
31861 Fix regression caused by r55576. It turned out that ensuring
31862 CoreAnimation always gets a correct fill parameter caused flashing
31863 as non-filled animations ended (CA briefly showed the initial animation
31864 value before the style system set the final value).
31866 * platform/graphics/mac/GraphicsLayerCA.mm:
31867 (WebCore::GraphicsLayerCA::setupAnimation):
31869 2010-03-24 Hayato Ito <hayato@chromium.org>
31871 Reviewed by Shinichiro Hamaji.
31873 Refactor computePageRects so that Mac can make use of it.
31874 https://bugs.webkit.org/show_bug.cgi?id=36159
31876 Refactoring only, so no new tests.
31878 * WebCore.base.exp:
31879 * page/PrintContext.cpp:
31880 (WebCore::PrintContext::computePageRects):
31881 (WebCore::PrintContext::computePageRectsWithPageSize):
31882 (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
31883 (WebCore::PrintContext::pageNumberForElement):
31884 (WebCore::PrintContext::numberOfPages):
31885 * page/PrintContext.h:
31887 2010-03-24 Jeremy Moskovich <jeremy@chromium.org>
31889 Reviewed by Jeremy Orlow.
31891 Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
31893 https://bugs.webkit.org/show_bug.cgi?id=36426
31895 No new tests as there is no new functionality.
31897 * loader/FrameLoader.cpp:
31898 (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
31900 2010-03-24 Anton Muhin <antonm@chromium.org>
31902 Reviewed by Nate Chapin.
31904 Use newly introduced SetPrototype method to deal with global objects.
31905 https://bugs.webkit.org/show_bug.cgi?id=36497
31907 No new tests, should be covered by the current test infrastructure.
31909 * bindings/v8/V8DOMWindowShell.cpp:
31910 (WebCore::V8DOMWindowShell::installDOMWindow):
31911 * bindings/v8/V8DOMWrapper.cpp:
31912 (WebCore::V8DOMWrapper::getConstructor):
31913 * bindings/v8/WorkerContextExecutionProxy.cpp:
31914 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
31916 2010-03-24 Dmitry Titov <dimich@chromium.org>
31918 Unreviewed, Chromium build fix.
31920 * platform/chromium/PopupMenuChromium.cpp:
31921 (WebCore::PopupContainer::PopupContainer): Fix order of initializers.
31922 (WebCore::PopupContainer::layout): Remove unused variable.
31924 2010-03-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
31926 Reviewed by Simon Hausmann.
31928 Add a way to check if the page client is making use of
31931 * platform/qt/QWebPageClient.h:
31932 (QWebPageClient::isQWidgetClient):
31934 2010-03-24 Jay Campan <jcampan@google.com>
31936 Reviewed by Darin Fisher.
31938 Making Chromium select popups not steal activation from the browser.
31939 Select popups are now like autocomplete popups, shown in non-activated
31941 https://bugs.webkit.org/show_bug.cgi?id=36062
31943 * page/chromium/ChromeClientChromium.h:
31944 * platform/chromium/PopupMenuChromium.cpp:
31946 (WebCore::PopupListBox::setMaxHeight):
31947 (WebCore::PopupListBox::disconnectClient):
31948 (WebCore::PopupListBox::PopupListBox):
31949 (WebCore::PopupContainer::create):
31950 (WebCore::PopupContainer::PopupContainer):
31951 (WebCore::PopupContainer::showPopup):
31952 (WebCore::PopupContainer::showExternal):
31953 (WebCore::PopupContainer::hidePopup):
31954 (WebCore::PopupContainer::layout):
31955 (WebCore::PopupContainer::chromeClientChromium):
31956 (WebCore::PopupListBox::hidePopup):
31957 (WebCore::PopupListBox::layout):
31958 (WebCore::PopupMenu::~PopupMenu):
31959 (WebCore::PopupMenu::show):
31960 * platform/chromium/PopupMenuChromium.h:
31961 (WebCore::PopupItem::):
31962 (WebCore::PopupItem::PopupItem):
31963 (WebCore::PopupContainerSettings::):
31964 (WebCore::PopupContainer::):
31965 (WebCore::PopupContainer::listBox):
31966 (WebCore::PopupContainer::popupType):
31968 2010-03-10 David Levin <levin@chromium.org>
31970 Reviewed by Oliver Hunt.
31972 Need to move items that CanvasRenderingContext2D depends on into CanvasSurface.
31973 https://bugs.webkit.org/show_bug.cgi?id=35453
31975 Prepartory changes to allow for an OffscreenCanvas which may be used in a worker
31976 or outside of the DOM.
31978 No change in functionality, so new tests.
31980 * dom/CanvasSurface.cpp: Moved functionality that CanvasRenderingContext2D depends on
31981 into this class (and removed dependencies on document/html element).
31982 (WebCore::CanvasSurface::CanvasSurface):
31983 (WebCore::CanvasSurface::~CanvasSurface): Put the desctructor in the cpp file
31984 to avoid needing access to ~ImageBuffer in the header file.
31985 (WebCore::CanvasSurface::setSurfaceSize): Does basic items needed
31986 when the size changes. It is protected to force outside callers to go
31987 through HTMLCanvasElement::setSize.
31988 (WebCore::CanvasSurface::toDataURL): Just moved from HTMLCanvasElement and
31989 made a note about a method to fix for worker usage.
31990 (WebCore::CanvasSurface::willDraw): Made this virtual to allow an overide
31991 which uses the renderbox and tracks a dirtyRect.
31992 (WebCore::CanvasSurface::convertLogicalToDevice): Moved and changed to
31993 rely on a member variable for page scale (to avoid using the document).
31994 (WebCore::CanvasSurface::createImageBuffer):
31995 (WebCore::CanvasSurface::drawingContext): Simple move from HTMLCanvasElement.
31996 (WebCore::CanvasSurface::buffer): Ditto.
31997 (WebCore::CanvasSurface::baseTransform): Ditto.
31998 * dom/CanvasSurface.h:
31999 (WebCore::CanvasSurface::width): Simple move from HTMLCanvasElement.
32000 (WebCore::CanvasSurface::height): Ditto.
32001 (WebCore::CanvasSurface::size): Ditto.
32002 (WebCore::CanvasSurface::setOriginTainted): Ditto.
32003 (WebCore::CanvasSurface::originClean): Ditto.
32004 (WebCore::CanvasSurface::hasCreatedImageBuffer): Ditto (with small name change).
32005 * html/HTMLCanvasElement.cpp:
32006 (WebCore::HTMLCanvasElement::HTMLCanvasElement): Pass in the scale factor to CanvasSurface
32007 so it doesn't need the document.
32008 (WebCore::HTMLCanvasElement::willDraw): Moved the relevant portion to CanvasSurface.
32009 (WebCore::HTMLCanvasElement::reset): Small changes due to refactoring.
32010 (WebCore::HTMLCanvasElement::paint): Ditto.
32011 * html/HTMLCanvasElement.h:
32012 (WebCore::HTMLCanvasElement::setSize): Ditto.
32013 * platform/MIMETypeRegistry.cpp:
32014 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): Added assert
32015 to verify that this is only called on the main thread.
32016 * platform/graphics/Image.cpp:
32017 (WebCore::Image::nullImage): Ditto.
32018 * platform/graphics/cg/ImageBufferCG.cpp:
32019 (WebCore::utiFromMIMEType): Ditto.
32021 2010-03-24 Alexander Pavlov <apavlov@chromium.org>
32023 Reviewed by Pavel Feldman.
32025 Inspector: XML Tags should not be converted to lowercase
32026 https://bugs.webkit.org/show_bug.cgi?id=28600
32028 * inspector/front-end/ElementsPanel.js:
32029 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
32030 (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
32031 * inspector/front-end/ElementsTreeOutline.js:
32032 (WebInspector.ElementsTreeOutline.prototype.nodeNameToCorrectCase):
32033 (WebInspector.ElementsTreeElement.prototype._updateChildren):
32034 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
32036 2010-03-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
32038 Reviewed by Antti Koivisto.
32040 Add support for DOM Level 3 Custom Event
32041 http://www.w3.org/TR/DOM-Level-3-Events
32043 V8 Generator change by Nate Chapin <japhet@chromium.org>, Thanks!
32045 Test: fast/events/custom-event.html
32047 * DerivedSources.cpp:
32052 * WebCore/DerivedSources.make:
32053 * WebCore.vcproj/WebCore.vcproj:
32054 * WebCore.xcodeproj/project.pbxproj:
32055 * bindings/js/JSEventCustom.cpp:
32057 * bindings/scripts/CodeGeneratorJS.pm:
32058 * bindings/scripts/CodeGeneratorV8.pm:
32059 * dom/CustomEvent.cpp: Added.
32060 (WebCore::CustomEvent::CustomEvent):
32061 (WebCore::CustomEvent::initCustomEvent):
32062 (WebCore::CustomEvent::isCustomEvent):
32063 * dom/CustomEvent.h: Added.
32064 (WebCore::CustomEvent::create):
32065 (WebCore::CustomEvent::detail):
32066 * dom/Document.cpp:
32067 (WebCore::Document::createEvent):
32069 (WebCore::Event::isCustomEvent):
32072 2010-03-24 Alexander Pavlov <apavlov@chromium.org>
32074 Reviewed by Pavel Feldman.
32076 Web Inspector: Error when highlighting JavaScript with an invalid mime type
32077 https://bugs.webkit.org/show_bug.cgi?id=36530
32079 * inspector/front-end/SourceTokenizer.js:
32080 (WebInspector.SourceTokenizer.Registry):
32081 * inspector/front-end/SourceView.js:
32082 (WebInspector.SourceView.prototype._contentLoaded):
32083 (WebInspector.SourceView.prototype._canonicalMimeType):
32084 * inspector/front-end/TextEditorHighlighter.js:
32085 (WebInspector.TextEditorHighlighter):
32087 2010-03-24 Pavel Feldman <pfeldman@chromium.org>
32089 Not reviewed. Chromium test fix: added a frameCount check to the
32090 debugger function call.
32092 * bindings/v8/V8Proxy.cpp:
32093 (WebCore::V8Proxy::createUtilityContext):
32095 2010-03-19 Miikka Heikkinen <miikka.heikkinen@digia.com>
32097 Reviewed by Simon Hausmann.
32099 [Qt] Support for QT_LIBINFIX in Symbian builds
32101 Configuring Qt with -qtlibinfix parameter will enable installing
32102 an alternate version of Qt on devices that already have it on ROM.
32103 This patch provides support for infixed builds of Webkit.
32107 2010-03-24 Kent Tamura <tkent@chromium.org>
32109 Reviewed by Darin Adler.
32111 Make Icon::createIconForFiles() optional.
32112 https://bugs.webkit.org/show_bug.cgi?id=35072
32114 r54923 made Icon::createIconForFiles() deprecated. However moving
32115 existing icon loading code to outside of WebCore is not good. So,
32117 - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is
32118 the primary API to load icons.
32119 - Icon::createIconForFiles() is an optional API to help
32120 implementing ChromeClient::iconForFiles().
32122 This patch removes a call to Icon::createIconForFiles() from
32123 FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of
32124 non-Chromium ports calls Icon::createIconForFiles().
32126 * WebCore.base.exp: Export FileChooser::iconLoaded(),
32127 Icon::createIconForFiles(), and Icon::~Icon().
32128 * WebCore.xcodeproj/project.pbxproj: Export Icon.h
32129 * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles().
32130 * page/Chrome.cpp: ditto.
32131 * page/Chrome.h: ditto.
32132 * page/ChromeClient.h: ditto.
32133 * platform/FileChooser.cpp:
32134 (WebCore::FileChooser::loadIcon):
32135 * platform/graphics/Icon.h: Remove a comment on createIconForFiles().
32136 * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles().
32137 * platform/graphics/chromium/IconChromiumMac.cpp: ditto.
32138 * platform/graphics/chromium/IconChromiumWin.cpp: ditto.
32139 * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles().
32140 * rendering/RenderFileUploadControl.h: ditto.
32142 2010-03-23 Dan Bernstein <mitz@apple.com>
32146 * manual-tests/plugin-visible-rect-change.html:
32148 2010-03-23 Dan Bernstein <mitz@apple.com>
32150 Reviewed by John Sullivan.
32153 <rdar://problem/7197736> Plug-in clip rect does not update when overflow
32155 https://bugs.webkit.org/show_bug.cgi?id=36479.
32157 * manual-tests/plugin-visible-rect-change.html: Added.
32158 * platform/mac/WidgetMac.mm:
32159 (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect.
32160 (WebCore::Widget::setFrameRect): If the visible rect changed but the
32161 frame rect did not, send a -visibleRectDidChange message to the view,
32162 if it responds to it.
32163 (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect.
32164 * rendering/RenderWidget.cpp:
32165 (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect
32166 imposed by the enclosing layer. Call Widget::setFrameRect when it changes,
32167 even if the frame rect did not.
32168 * rendering/RenderWidget.h:
32169 (WebCore::RenderWidget::windowClipRect): Added this accessor.
32171 2010-03-23 Simon Fraser <simon.fraser@apple.com>
32173 Reviewed by Dan Bernstein.
32175 Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
32176 https://bugs.webkit.org/show_bug.cgi?id=34065
32178 Fix another cause of assertions related to the clip rects root. Embeds
32179 with zero size caused the overlap testing to fail, yet we require them to work
32180 for correct compositing, so when the composited bounds is empty, use a 1x1 rect
32181 for overlap testing.
32183 Test: compositing/geometry/empty-embed-rects.html
32185 * rendering/RenderLayerCompositor.cpp:
32186 (WebCore::RenderLayerCompositor::addToOverlapMap):
32187 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
32189 2010-03-23 David Levin <levin@chromium.org>
32191 Reviewed by Nate Chapin.
32193 [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
32194 https://bugs.webkit.org/show_bug.cgi?id=36506
32196 Test: http/tests/xmlhttprequest/send-undefined-and-null.html
32198 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
32199 (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method.
32200 (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send.
32201 This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because
32202 the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty
32205 2010-03-23 Chris Evans <cevans@chromium.org>
32207 Reviewed by Darin Adler.
32209 Fix hard-to-see crash due to incorrect libxml API usage.
32211 https://bugs.webkit.org/show_bug.cgi?id=36000
32213 Test: fast/text/bad-encoding.html
32215 * dom/XMLTokenizerLibxml2.cpp:
32216 (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context.
32218 2010-03-23 Nate Chapin <japhet@chromium.org>
32220 Unreviewed, revert r56376.
32222 This revision introduced a crash in a couple of layout tests
32225 * page/chromium/ChromeClientChromium.h:
32226 * platform/chromium/PopupMenuChromium.cpp:
32228 (WebCore::PopupContainer::create):
32229 (WebCore::PopupContainer::PopupContainer):
32230 (WebCore::PopupContainer::showPopup):
32231 (WebCore::PopupContainer::showExternal):
32232 (WebCore::PopupContainer::hidePopup):
32233 (WebCore::PopupMenu::show):
32234 * platform/chromium/PopupMenuChromium.h:
32235 (WebCore::PopupItem::):
32236 (WebCore::PopupItem::PopupItem):
32237 (WebCore::PopupContainerSettings::):
32238 (WebCore::PopupContainer::listBox):
32240 2010-03-23 David Hyatt <hyatt@apple.com>
32242 Reviewed by Simon Fraser and Darin Adler.
32244 https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted.
32246 Added fast/css/nth-child-implied-step.html
32248 * css/CSSGrammar.y:
32249 * css/tokenizer.flex:
32251 2010-03-23 Darin Adler <darin@apple.com>
32253 Reviewed by Sam Weinig.
32255 Reduce and straighten internal use of DOMImplementation
32256 https://bugs.webkit.org/show_bug.cgi?id=36501
32258 * WebCore.xcodeproj/project.pbxproj: Xcode decided to
32261 * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h.
32263 * dom/DOMImplementation.cpp: Removed unneeded createDocument and
32264 createHTMLDocument functions. These should be done directly instead
32265 of involving the DOMImplementation class.
32266 * dom/DOMImplementation.h: Ditto.
32268 * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h.
32270 * html/HTMLViewSourceDocument.cpp:
32271 (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a
32272 DOMImplementation object just to use a class member function.
32274 * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h.
32276 * xml/XMLHttpRequest.cpp:
32277 (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a
32278 new document instead of involving DOMImplementation.
32279 * xml/XSLTProcessor.cpp:
32280 (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case
32281 where we do need to call DOMImplementation to interpret the MIME type,
32282 don't allocate a DOMImplementation object just to use a class member
32285 2010-03-23 Luiz Agostini <luiz.agostini@openbossa.org>
32287 Reviewed by Kenneth Rohde Christiansen.
32289 [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists.
32290 https://bugs.webkit.org/show_bug.cgi?id=36367
32292 Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5.
32296 2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
32298 Reviewed by David Kilzer.
32300 Upstream iPhone KeyEvent platform code and share with Mac platform
32301 https://bugs.webkit.org/show_bug.cgi?id=35870
32303 * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif.
32304 * platform/iphone/KeyEventIPhone.mm: Fixed headers.
32306 2010-03-23 David Hyatt <hyatt@apple.com>
32308 Reviewed by Jeremy Orlow.
32310 https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative
32313 Added fast/css/nth-child-unary-prefix.html
32315 * css/tokenizer.flex:
32317 2010-03-23 Andrey Kosyakov <caseq@chromium.org>
32319 Reviewed by Dmitry Titov.
32321 Change notification sent to inspector frontend on workers creation / destruction
32322 to be posted asynchronously to avoid JS reenterability problems. Also, renamed
32323 willDestroyWorker to didDestroyWorker to reflect that it gets called later and got
32324 rid of explicit IDs for workers (use addresses instead).
32325 https://bugs.webkit.org/show_bug.cgi?id=36213
32327 * inspector/InjectedScriptHost.cpp:
32328 (WebCore::InjectedScriptHost::didDestroyWorker):
32329 * inspector/InjectedScriptHost.h:
32330 * inspector/InjectedScriptHost.idl:
32331 * inspector/InspectorController.cpp:
32332 (WebCore::PostWorkerNotificationToFrontendTask::create):
32333 (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
32334 (WebCore::PostWorkerNotificationToFrontendTask::performTask):
32335 (WebCore::InspectorController::postWorkerNotificationToFrontend):
32336 (WebCore::InspectorController::didCreateWorker):
32337 (WebCore::InspectorController::didDestroyWorker):
32338 * inspector/InspectorController.h:
32339 (WebCore::InspectorController::):
32340 * inspector/InspectorFrontend.cpp:
32341 (WebCore::InspectorFrontend::didDestroyWorker):
32342 * inspector/InspectorFrontend.h:
32343 * inspector/InspectorWorkerResource.h:
32344 (WebCore::InspectorWorkerResource::create):
32345 (WebCore::InspectorWorkerResource::id):
32346 (WebCore::InspectorWorkerResource::InspectorWorkerResource):
32347 * inspector/front-end/InjectedFakeWorker.js:
32348 (InjectedFakeWorker.FakeWorker.prototype.terminate):
32349 * inspector/front-end/WorkersSidebarPane.js:
32350 (WebInspector.didDestroyWorker):
32351 * workers/AbstractWorker.cpp:
32352 (WebCore::AbstractWorker::AbstractWorker):
32353 (WebCore::AbstractWorker::onDestroyWorker):
32354 * workers/AbstractWorker.h:
32355 (WebCore::AbstractWorker::asID):
32356 * workers/SharedWorker.cpp:
32357 (WebCore::SharedWorker::SharedWorker):
32358 * workers/Worker.cpp:
32359 (WebCore::Worker::Worker):
32361 2010-03-22 David Hyatt <hyatt@apple.com>
32363 Reviewed by Sam Weinig.
32365 https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events. Add support for
32366 IE onfocusin/onfocusout extensions to HTML. The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported).
32368 Added fast/events/focusinout.html
32370 * dom/Document.cpp:
32371 (WebCore::Document::setFocusedNode):
32373 (WebCore::Event::aliasedType):
32374 (WebCore::Event::hasAliasedType):
32376 * dom/EventNames.h:
32377 * dom/EventTarget.cpp:
32378 (WebCore::EventTarget::fireEventListeners):
32379 * dom/EventTarget.h:
32381 (WebCore::Node::dispatchUIEvent):
32382 * html/HTMLAttributeNames.in:
32383 * html/HTMLButtonElement.cpp:
32384 (WebCore::HTMLButtonElement::parseMappedAttribute):
32385 * html/HTMLElement.cpp:
32386 (WebCore::HTMLElement::parseMappedAttribute):
32387 * html/HTMLFormControlElement.cpp:
32388 (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
32389 * html/HTMLFrameSetElement.cpp:
32390 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
32391 * html/HTMLSelectElement.cpp:
32392 (WebCore::HTMLSelectElement::parseMappedAttribute):
32393 * svg/SVGElement.cpp:
32394 (WebCore::SVGElement::parseMappedAttribute):
32396 2010-03-23 MORITA Hajime <morrita@google.com>
32398 Reviewed by Alexey Proskuryakov.
32400 WebCore::SelectionController::setSelection NULL pointer
32401 https://bugs.webkit.org/show_bug.cgi?id=31545
32403 Added missing NULL-check that other APIs have.
32405 Test: svg/dom/frame-related-api-during-load.html
32407 * svg/SVGSVGElement.cpp:
32408 (WebCore::SVGSVGElement::deselectAll):
32410 2010-03-23 Qi Zhang <qi.2.zhang@nokia.com>
32412 Reviewed by Simon Hausmann.
32414 [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
32415 https://bugs.webkit.org/show_bug.cgi?id=36444
32417 Handle duplicated or unsorted colorStop at platformDestory
32419 * platform/graphics/qt/GradientQt.cpp:
32420 (WebCore::Gradient::platformGradient):
32422 2010-03-23 Julien Chaffraix <jchaffraix@webkit.org>
32424 Unreviewed build fix.
32426 Try to make the window buildbot happy.
32428 * xml/XMLHttpRequestProgressEventThrottle.cpp:
32429 * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the
32430 static const in the cpp file.
32432 2010-03-23 Pavel Feldman <pfeldman@chromium.org>
32434 Reviewed by Timothy Hatcher.
32436 Web Inspector: make gear menu appear on styles panel at all times.
32438 https://bugs.webkit.org/show_bug.cgi?id=36490
32440 * inspector/front-end/inspector.css:
32442 2010-03-23 Pavel Feldman <pfeldman@chromium.org>
32444 Reviewed by Timothy Hatcher.
32446 Web Inspector: render nodes in inherited style bars as links.
32448 https://bugs.webkit.org/show_bug.cgi?id=36486
32450 * English.lproj/localizedStrings.js:
32451 * inspector/front-end/BreakpointsSidebarPane.js:
32452 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
32453 (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
32454 * inspector/front-end/StylesSidebarPane.js:
32455 (WebInspector.StylesSidebarPane.prototype._update.else.insertInheritedNodeSeparator):
32456 (WebInspector.StylesSidebarPane.prototype._update):
32457 (WebInspector.StylesSidebarPane.prototype._selectNode):
32458 * inspector/front-end/inspector.js:
32460 2010-03-23 Julien Chaffraix <jchaffraix@webkit.org>
32462 Reviewed by Alexey Proskuryakov.
32464 [XHR] onProgress event needs to be dispatched according to what the specification states
32465 https://bugs.webkit.org/show_bug.cgi?id=18654
32467 Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
32473 * WebCore.vcproj/WebCore.vcproj:
32474 * WebCore.xcodeproj/project.pbxproj:
32475 Added XMLHttpRequestProgressEventThrottle to the build systems.
32477 * xml/XMLHttpRequest.cpp:
32478 (WebCore::XMLHttpRequest::XMLHttpRequest): Created the throttle.
32479 (WebCore::XMLHttpRequest::callReadyStateChangeListener): The 'readyState' event are
32480 dispatched using the XMLHttpRequestProgressEventThrottle now. For the DONE state, we
32481 need to flush any pending progress event as we do not want it to be dispatched after
32482 the DONE readyState event.
32483 (WebCore::XMLHttpRequest::createRequest): Made this event use the
32484 XMLHttpRequestProgressEventThrottle for event dispatching.
32485 (WebCore::XMLHttpRequest::abort): Ditto.
32486 (WebCore::XMLHttpRequest::networkError): Ditto.
32487 (WebCore::XMLHttpRequest::abortError): Ditto.
32488 (WebCore::XMLHttpRequest::didReceiveData): Ditto. Also fixed a potential warning.
32489 (WebCore::XMLHttpRequest::suspend):
32490 (WebCore::XMLHttpRequest::resume): Implemented the logic for suspend / resume.
32491 * xml/XMLHttpRequest.h:
32492 * xml/XMLHttpRequestProgressEventThrottle.cpp: Added.
32493 (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
32494 (WebCore::XMLHttpRequestProgressEventThrottle::~XMLHttpRequestProgressEventThrottle):
32495 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Implemented the bulk
32496 of the event throttling here: we use a timer to do so, as long as the timer is active it means
32497 that events are coming faster than the throttling time and we coalesce them.
32498 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): Generic method to dispatch an event.
32499 (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): Called when we want to dispatch
32500 any pending events and stopping any further dispatching.
32501 (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent): Used to dispatch the event
32502 that was queued due to the object being suspended.
32503 (WebCore::XMLHttpRequestProgressEventThrottle::fired): Used to dispatch any coalesced event.
32504 (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch): Used to check if we have
32505 an event to dispatch.
32506 (WebCore::XMLHttpRequestProgressEventThrottle::suspend): Marked the object as suspended.
32507 (WebCore::XMLHttpRequestProgressEventThrottle::resume): Dispatched the event that was queued.
32508 * xml/XMLHttpRequestProgressEventThrottle.h: Added.
32510 (WebCore::XMLHttpRequestProgressEventThrottle::suspended):
32512 2010-03-23 Pavel Feldman <pfeldman@chromium.org>
32514 Reviewed by Timothy Hatcher.
32516 Web Inspector: Element inspector search funtion: Error dispatching: performSearch.
32518 https://bugs.webkit.org/show_bug.cgi?id=36488
32520 Test: inspector/elements-panel-search.html
32522 * inspector/front-end/ElementsPanel.js:
32523 (WebInspector.ElementsPanel.prototype.performSearch):
32524 (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
32525 * inspector/front-end/InjectedScript.js:
32526 (injectedScriptConstructor.):
32527 (injectedScriptConstructor):
32529 2010-03-23 Qi Zhang <qi.2.zhang@nokia.com>
32531 Reviewed by Simon Hausmann.
32533 [Qt] fast/canvas/patternfill-repeat.html failed.
32534 https://bugs.webkit.org/show_bug.cgi?id=34477
32536 Change Pattern to expose the repeatX and repeatY
32537 At GraphicsContextQt to apply repeatX and repeatY
32539 * platform/graphics/Pattern.h:
32540 (WebCore::Pattern::repeatX):
32541 (WebCore::Pattern::repeatY):
32542 * platform/graphics/qt/GraphicsContextQt.cpp:
32543 (WebCore::GraphicsContext::drawLine):
32544 (WebCore::GraphicsContext::fillRect):
32545 (WebCore::GraphicsContext::rotate):
32547 2010-03-23 Alex Milowski <alex@milowski.com>
32549 Reviewed by Kenneth Rohde Christiansen.
32551 Removed the use of beta STIX fonts.
32555 2010-03-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
32557 Reviewed by Holger Freyther.
32559 [GTK] Does not build with latest GTK+ development release
32560 https://bugs.webkit.org/show_bug.cgi?id=36398
32562 Fix building with newest GTK+ versions.
32565 * platform/gtk/GtkPluginWidget.cpp:
32566 (WebCore::GtkPluginWidget::invalidateRect):
32567 (WebCore::GtkPluginWidget::paint):
32568 * platform/gtk/GtkVersioning.h: Added.
32569 * platform/gtk/PlatformScreenGtk.cpp:
32570 (WebCore::getVisual):
32571 (WebCore::screenRect):
32572 (WebCore::screenAvailableRect):
32573 * platform/gtk/ScrollbarGtk.cpp:
32574 (ScrollbarGtk::paint):
32575 * plugins/gtk/gtk2xtbin.c:
32576 (gtk_xtbin_set_position):
32577 (gtk_xtbin_unrealize):
32579 2010-03-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
32581 Reviewed by Kenneth Rohde Christiansen.
32583 [Qt] Remove support for Qt v4.4
32584 https://bugs.webkit.org/show_bug.cgi?id=36389
32586 No new tests as there is no new functionality.
32590 * platform/network/qt/ResourceHandleQt.cpp:
32591 (WebCore::ResourceHandle::willLoadFromCache):
32592 * platform/qt/CookieJarQt.cpp:
32593 (WebCore::setCookies):
32594 (WebCore::cookies):
32595 * platform/qt/KURLQt.cpp:
32596 (WebCore::KURL::operator QUrl):
32597 * platform/qt/ScrollbarThemeQt.cpp:
32598 (WebCore::ScrollbarThemeQt::paintScrollCorner):
32599 * plugins/mac/PluginViewMac.cpp:
32601 2010-03-23 Kent Tamura <tkent@chromium.org>
32603 Reviewed by Adam Barth.
32605 Add checks if setNeedsWillValidateCheck() and
32606 setNeedsValidityCheck() are called correctly.
32607 https://bugs.webkit.org/show_bug.cgi?id=34924
32609 Introduce HTMLFormControlElement::m_willValidate and
32610 m_isValid. They are the caches of willValidate() and
32611 isValidFormControlElement(). setNeedsWillValidateCheck() updates
32612 m_willValidate and setNeedsValidityCheck() updates m_isValid.
32614 willValidate() and isValidFormControlElement() have assertions to
32615 check m_willvalidate or m_isValid has the correct state. If
32616 setNeedsWillValidateCheck() or setNeedsValidityCheck() is needed
32617 to be called and is not called, these assertions fail.
32619 * html/HTMLButtonElement.h:
32620 (WebCore::HTMLButtonElement::recalcWillValidate):
32621 * html/HTMLFieldSetElement.h:
32622 (WebCore::HTMLFieldSetElement::recalcWillValidate):
32623 * html/HTMLFormControlElement.cpp:
32624 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
32625 (WebCore::HTMLFormControlElement::parseMappedAttribute):
32626 (WebCore::HTMLFormControlElement::recalcWillValidate):
32627 (WebCore::HTMLFormControlElement::willValidate):
32628 (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
32629 (WebCore::HTMLFormControlElement::validationMessage):
32630 (WebCore::HTMLFormControlElement::isValidFormControlElement):
32631 (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
32632 * html/HTMLFormControlElement.h:
32633 * html/HTMLInputElement.cpp:
32634 (WebCore::HTMLInputElement::setInputType):
32635 (WebCore::HTMLInputElement::parseMappedAttribute):
32636 (WebCore::HTMLInputElement::setValue):
32637 (WebCore::HTMLInputElement::recalcWillValidate):
32638 * html/HTMLInputElement.h:
32639 * html/HTMLTextAreaElement.cpp:
32640 (WebCore::HTMLTextAreaElement::setNonDirtyValue):
32642 2010-03-22 Pavel Feldman <pfeldman@chromium.org>
32644 Reviewed by Dave Hyatt.
32646 Web Inspector: display CSS selector source line in the styles sidebar pane.
32648 https://bugs.webkit.org/show_bug.cgi?id=36414
32650 This change adds a sourceLine field into the CSSStyleRule that is populated
32651 from within the parser. CSSParser is now keeping track of the line numbers
32652 and last selector line number that is being used while creating CSSStyleRules.
32654 Test: inspector/styles-source-lines.html
32656 * css/CSSGrammar.y:
32657 * css/CSSParser.cpp:
32658 (WebCore::CSSParser::CSSParser):
32659 (WebCore::CSSParser::lex):
32660 (WebCore::CSSParser::countLines):
32661 (WebCore::CSSParser::createStyleRule):
32663 (WebCore::CSSParser::updateLastSelectorLine):
32664 * css/CSSStyleRule.cpp:
32665 (WebCore::CSSStyleRule::CSSStyleRule):
32666 * css/CSSStyleRule.h:
32667 (WebCore::CSSStyleRule::create):
32668 (WebCore::CSSStyleRule::sourceLine):
32669 * css/tokenizer.flex:
32670 * inspector/InspectorDOMAgent.cpp:
32671 (WebCore::InspectorDOMAgent::buildObjectForRule):
32672 * inspector/front-end/DOMAgent.js:
32673 (WebInspector.CSSStyleDeclaration.parseRule):
32674 * inspector/front-end/StylesSidebarPane.js:
32675 (WebInspector.StylePropertiesSection):
32677 2010-03-22 Qi Zhang <qi.2.zhang@nokia.com>
32679 Reviewed by Laszlo Gombos.
32681 [Qt] Fix arc function in canvas
32682 https://bugs.webkit.org/show_bug.cgi?id=36296
32684 Based on HTLM5 spec (4.8.10.1.8 Complex shapes), arc function should draw a line to previous point, not only the arc.
32686 * platform/graphics/qt/PathQt.cpp:
32687 (WebCore::Path::addArc):
32689 2010-03-19 Abhishek Arya <inferno@chromium.org>
32691 Reviewed by Adam Barth.
32693 https://bugs.webkit.org/show_bug.cgi?id=36339
32694 Off-by-one memory corruption fix for long invalid websockets upgrade header
32696 Test: websocket/tests/long-invalid-header.html
32698 * websockets/WebSocketHandshake.cpp:
32699 (WebCore::WebSocketHandshake::readServerHandshake):
32701 2010-03-22 Fumitoshi Ukai <ukai@chromium.org>
32703 Unreviewed build fix for Chromim Mac at r56376
32705 Fix initializer order of PopupContainer.
32707 * platform/chromium/PopupMenuChromium.cpp:
32708 (WebCore::PopupContainer::PopupContainer):
32710 2010-03-22 Jay Campan <jcampan@google.com>
32712 Reviewed by Darin Fisher.
32714 Making Chromium select popups not steal activation from the browser.
32715 Select popups are now like autocomplete popups, shown in non-activated
32717 https://bugs.webkit.org/show_bug.cgi?id=36062
32719 * page/chromium/ChromeClientChromium.h:
32720 * platform/chromium/PopupMenuChromium.cpp:
32722 (WebCore::PopupContainer::create):
32723 (WebCore::PopupContainer::PopupContainer):
32724 (WebCore::PopupContainer::~PopupContainer):
32725 (WebCore::PopupContainer::showPopup):
32726 (WebCore::PopupContainer::showExternal):
32727 (WebCore::PopupContainer::hidePopup):
32728 (WebCore::PopupMenu::show):
32729 * platform/chromium/PopupMenuChromium.h:
32730 (WebCore::PopupContainer::):
32731 (WebCore::PopupContainer::popupType):
32733 2010-03-22 Dmitry Titov <dimich@chromium.org>
32735 Reviewed by Nate Chapin.
32737 [v8] Crash if the worker is terminated before its initial script is executed.
32738 https://bugs.webkit.org/show_bug.cgi?id=36336
32740 Test: fast/workers/termination-early.html
32742 * bindings/v8/WorkerContextExecutionProxy.cpp:
32743 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Check for 0 context. When terminated, the v8 heap initialization returns 0.
32744 (WebCore::WorkerContextExecutionProxy::evaluate): Don't execute script if initialization failed.
32745 * bindings/v8/WorkerContextExecutionProxy.h:
32747 2010-03-22 Andrey Kosyakov <caseq@chromium.org>
32749 Reviewed by Pavel Feldman.
32751 Support creation of fake workers before document is loaded by deferring
32752 attaching of fake workers iframe until document is loaded and buffering all
32753 messages addressed to worker.
32754 https://bugs.webkit.org/show_bug.cgi?id=36445
32756 * inspector/front-end/InjectedFakeWorker.js:
32757 (InjectedFakeWorker.FakeWorker.prototype.postMessage):
32758 (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
32759 (InjectedFakeWorker.FakeWorker.prototype._attachWorkerFrameToDocument):
32760 (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
32762 2010-03-22 Darin Fisher <darin@chromium.org>
32764 Reviewed by Brady Eidson.
32766 HistoryController::replaceState() should modify m_currentItem
32767 instead of the current HistoryItem of the BackForwardList.
32769 https://bugs.webkit.org/show_bug.cgi?id=36435
32771 Test: fast/loader/stateobjects/replacestate-in-iframe.html
32773 * loader/HistoryController.cpp:
32774 (WebCore::HistoryController::replaceState):
32776 2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
32778 Reviewed by David Kilzer.
32780 Upstream Part of the iPhone Platform sharing code with the Mac Platform
32781 https://bugs.webkit.org/show_bug.cgi?id=35870
32782 <rdar://problem/7707283> and <rdar://problem/7707318>
32784 Part 3 of 3: Shared code between iphone and mac. The shared code was
32785 refactored to be usable by both platforms without platform specific
32786 typing, meaning no NSEvent versus WebEvent special cases.
32788 Shared code usable by either mac or iphone platforms.
32790 * platform/cocoa/KeyEventCocoa.h:
32791 * platform/cocoa/KeyEventCocoa.mm:
32792 (WebCore::keyIdentifierForCharCode):
32793 (WebCore::windowsKeyCodeForKeyCode):
32794 (WebCore::windowsKeyCodeForCharCode):
32796 Make use of the shared code. Keep anything platform specific in the
32797 original file before calling the shared code.
32799 * platform/iphone/KeyEventIPhone.mm:
32800 (WebCore::keyIdentifierForKeyEvent):
32801 * platform/mac/KeyEventMac.mm:
32802 (WebCore::keyIdentifierForKeyEvent):
32803 (WebCore::windowsKeyCodeForKeyEvent):
32805 2010-03-22 Kevin Decker <kdecker@apple.com>
32807 Reviewed by Simon Fraser.
32809 https://bugs.webkit.org/show_bug.cgi?id=36328
32811 * rendering/RenderEmbeddedObject.cpp:
32812 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Fix a find/repalce mistake from my earlier patch.
32813 Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator.
32814 (WebCore::RenderEmbeddedObject::updateWidget): Don't update the widget if we're showing
32815 the missing plug-in indicator.
32816 (WebCore::RenderEmbeddedObject::paint):Fix a find/repalce mistake from my earlier patch.
32817 Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator.
32818 (WebCore::RenderEmbeddedObject::paintReplaced): Ditto.
32819 * rendering/RenderEmbeddedObject.h: Ditto.
32820 (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Ditto.
32821 (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): Ditto.
32823 2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
32825 Reviewed by David Kilzer.
32827 Upstream Part of the iPhone Platform sharing code with the Mac Platform
32828 https://bugs.webkit.org/show_bug.cgi?id=35870
32829 <rdar://problem/7707283>
32831 Part 2 of 3: No changes other than moving code around.
32832 Copied KeyEvent function from platform/mac to a platform/cocoa shared directory.
32834 * WebCore.xcodeproj/project.pbxproj: Added cocoa group and new files.
32835 * platform/cocoa/KeyEventCocoa.h: Added.
32836 * platform/cocoa/KeyEventCocoa.mm: Copied from WebCore/platform/mac/KeyEventMac.mm.
32837 (WebCore::keyIdentifierForKeyEvent):
32838 (WebCore::windowsKeyCodeForKeyEvent): Include the shared code.
32839 * platform/mac/KeyEventMac.mm:
32841 2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
32843 Reviewed by David Kilzer.
32845 Part 1 of 3: Upstream iPhone KeyEvent platform code and share with Mac platform
32846 https://bugs.webkit.org/show_bug.cgi?id=35870
32847 <rdar://problem/7707283>
32849 * WebCore.xcodeproj/project.pbxproj: Added iphone group and new files.
32850 * platform/iphone: Added.
32851 * platform/iphone/KeyEventCodesIPhone.h: Added.
32852 * platform/iphone/KeyEventIPhone.mm: Added. Ensure PLATFORM(IPHONE)
32853 * platform/mac/KeyEventMac.mm: Ensure PLATFORM(MAC)
32855 2010-03-22 Kevin Decker <kdecker@apple.com>
32857 Attempt to fix the Leopard build.
32858 * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants.
32860 2010-03-22 Justin Schuh <jschuh@chromium.org>
32862 Reviewed by Dirk Schulze.
32864 Out of bounds read in SVG feColorMatrix filter
32865 https://bugs.webkit.org/show_bug.cgi?id=32714
32867 Prevents an invalid read when a valid values attribute is not
32868 supplied for an feColorMatrix SVG filter. Also fixes general
32869 handling of missing or invalid values attribute.
32871 Tests: svg/filters/feColorMatrix-invalid-value.svg
32872 svg/filters/feColorMatrix-values.svg
32874 * svg/SVGFEColorMatrixElement.cpp:
32875 (WebCore::SVGFEColorMatrixElement::build):
32877 2010-03-22 Philippe Normand <pnormand@igalia.com>
32879 Reviewed by Eric Carlson.
32881 [GStreamer] Use ImageBuffer API to do painting
32882 https://bugs.webkit.org/show_bug.cgi?id=35783
32884 New ImageGStreamer class abstracting the conversion of GStreamer
32885 buffers to cairo surfaces. Using this makes the painting code of
32886 the player more generic.
32889 * platform/graphics/gstreamer/ImageGStreamer.h: Added.
32890 (WebCore::ImageGStreamer::image):
32891 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Added.
32892 (ImageGStreamer::createImage):
32893 (ImageGStreamer::ImageGStreamer):
32894 (ImageGStreamer::~ImageGStreamer):
32895 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
32896 (WebCore::MediaPlayerPrivate::paint):
32897 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
32899 2010-03-22 Beth Dakin <bdakin@apple.com>
32901 Reviewed by Darin Adler.
32903 Fix for <rdar://problem/7766437> With Web Inspector opened, a crash
32904 occurs at Webcore:getMatchedCSSRules() when navigating to a
32907 defaultView() can legitimately by null (as it is in this case), so
32908 it must be null-checked.
32910 * inspector/InspectorDOMAgent.cpp:
32911 (WebCore::InspectorDOMAgent::getStyles):
32912 (WebCore::InspectorDOMAgent::getComputedStyle):
32913 (WebCore::InspectorDOMAgent::getMatchedCSSRules):
32915 2010-03-22 Kevin Decker <kdecker@apple.com>
32919 https://bugs.webkit.org/show_bug.cgi?id=36328
32921 * loader/FrameLoader.cpp:
32922 (WebCore::FrameLoader::loadPlugin): Call setShowsMissingPluginIndicator(true) in cases that fail
32923 to generate a widget.
32924 * rendering/RenderEmbeddedObject.cpp: Added new missing plug-in related static constants
32925 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Initialize newly boolean to false.
32926 (WebCore::RenderEmbeddedObject::paint): Added.
32927 (WebCore::RenderEmbeddedObject::paintReplaced): Added. Draws a subtle rounded rectangle
32928 containing the text "Missing Plug-in".
32929 * rendering/RenderEmbeddedObject.h: Added the following two methods below.
32930 (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
32931 (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
32932 * rendering/RenderWidget.h: Moved paint(PaintInfo&, int, int) from private to protected.
32934 2010-03-22 Jakub Wieczorek <faw217@gmail.com>
32936 Reviewed by Kenneth Rohde Christiansen.
32938 [Qt] Phonon media backend: expose supported MIME types to WebCore
32940 https://bugs.webkit.org/show_bug.cgi?id=33453
32942 MediaPlayerPrivate should expose the MIME types that are supported
32943 by the underlying backend in Phonon.
32945 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
32946 (WebCore::MediaPlayerPrivate::supportedTypesCache):
32947 (WebCore::MediaPlayerPrivate::getSupportedTypes):
32948 (WebCore::MediaPlayerPrivate::supportsType):
32949 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
32951 2010-03-22 Alexander Pavlov <apavlov@chromium.org>
32953 Reviewed by Pavel Feldman.
32955 Web Inspector: AuditRules still use getMatchedCSSRules as a part of the img-related audit.
32956 https://bugs.webkit.org/show_bug.cgi?id=36424
32958 * inspector/front-end/AuditRules.js:
32959 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
32960 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
32961 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
32962 * inspector/front-end/InjectedScript.js:
32963 (injectedScriptConstructor):
32965 2010-03-22 Darin Adler <darin@apple.com>
32967 Reviewed by Dan Bernstein.
32969 TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
32970 https://bugs.webkit.org/show_bug.cgi?id=36381
32972 * platform/text/TextBreakIteratorICU.cpp:
32973 (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying
32974 on conversion to void*.
32975 (WebCore::textBreakFirst): Ditto.
32976 (WebCore::textBreakLast): Ditto.
32977 (WebCore::textBreakNext): Ditto.
32978 (WebCore::textBreakPrevious): Ditto.
32979 (WebCore::textBreakPreceding): Ditto.
32980 (WebCore::textBreakFollowing): Ditto.
32981 (WebCore::textBreakCurrent): Ditto.
32982 (WebCore::isTextBreak): Ditto.
32983 (WebCore::setUpIteratorWithRules): Ditto.
32985 2010-03-22 Eric Carlson <eric.carlson@apple.com>
32987 Reviewed by Sam Weinig.
32989 Typo in GPL license text
32990 https://bugs.webkit.org/show_bug.cgi?id=36442
32992 Fix typo - "aint with this library" -> "along with this library".
32994 * bindings/scripts/CodeGenerator.pm:
32995 * bindings/scripts/CodeGeneratorJS.pm:
32996 * bindings/scripts/CodeGeneratorObjC.pm:
32997 * bindings/scripts/CodeGeneratorV8.pm:
32998 * bindings/scripts/IDLParser.pm:
32999 * bindings/scripts/IDLStructure.pm:
33000 * bindings/scripts/generate-bindings.pl:
33002 2010-03-22 Jakub Wieczorek <jwieczorek@webkit.org>
33004 Reviewed by Simon Hausmann.
33006 [Qt] Don't construct a QLineEdit every time when painting a text field
33007 https://bugs.webkit.org/show_bug.cgi?id=36373
33009 Instead, keep one instance per RenderTheme around.
33011 * platform/qt/RenderThemeQt.cpp:
33012 (WebCore::findFrameLineWidth):
33014 2010-03-22 Luiz Agostini <luiz.agostini@openbossa.org>
33016 Reviewed by Kenneth Rohde Christiansen.
33018 [Qt] Multiselect Popup - adjusting QtAbstractWebPopup
33019 https://bugs.webkit.org/show_bug.cgi?id=36186
33021 QtAbstractWebPopup must provide new methods to be used by its descendants that
33022 wish to handle <select multiple> elements.
33024 * platform/qt/QtAbstractWebPopup.cpp:
33025 (WebCore::QtAbstractWebPopup::selectItem):
33026 (WebCore::QtAbstractWebPopup::multiple):
33027 * platform/qt/QtAbstractWebPopup.h:
33029 2010-03-22 Alex Milowski <alex@milowski.com>
33031 Reviewed by Kenneth Rohde Christiansen.
33033 Added basic support for mfrac (fractions)
33035 Test: mathml/presentation/fractions.xhtml
33037 * WebCore.xcodeproj/project.pbxproj:
33038 * mathml/MathMLInlineContainerElement.cpp:
33039 (WebCore::MathMLInlineContainerElement::createRenderer):
33040 * mathml/RenderMathMLFraction.cpp: Added.
33041 (WebCore::RenderMathMLFraction::RenderMathMLFraction):
33042 (WebCore::RenderMathMLFraction::updateFromElement):
33043 (WebCore::RenderMathMLFraction::addChild):
33044 * mathml/RenderMathMLFraction.h: Added.
33046 2010-03-22 Kevin Decker <kdecker@apple.com>
33048 Reviewed by John Sullivan.
33050 https://bugs.webkit.org/show_bug.cgi?id=36328
33052 * page/mac/WebCoreViewFactory.h: Added -missingPluginText method
33053 * platform/LocalizedStrings.h: Added missingPluginText()
33054 * platform/gtk/LocalizedStringsGtk.cpp: Likewise.
33055 * platform/mac/LocalizedStringsMac.mm: Same here.
33056 * platform/qt/Localizations.cpp: Ditto.
33058 2010-03-22 Yury Semikhatsky <yurys@chromium.org>
33060 Reviewed by Pavel Feldman.
33062 Handle worker exceptions in V8MessageHandler like it's done in regular documents. This way all worker exceptions will be logged in the console not only those which happen in event listeners.
33064 https://bugs.webkit.org/show_bug.cgi?id=31171
33066 * bindings/v8/V8AbstractEventListener.cpp:
33067 (WebCore::V8AbstractEventListener::invokeEventHandler): Removed explicit call to reportException.
33068 * bindings/v8/V8Utilities.cpp: reportException function was removed since it's not used.
33069 (WebCore::getScriptExecutionContext):
33070 * bindings/v8/V8Utilities.h:
33071 * bindings/v8/WorkerContextExecutionProxy.cpp:
33072 (WebCore::v8MessageHandler):
33073 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Setup message handler when first worker context is created.
33075 2010-03-22 Leandro Pereira <leandro@profusion.mobi>
33077 Reviewed by Simon Hausmann.
33079 Add EFL-specific code to page/EventHandler.cpp.
33080 http://webkit.org/b/36306
33082 * page/EventHandler.cpp:
33084 2010-03-22 Leandro Pereira <leandro@profusion.mobi>
33086 Reviewed by Simon Hausmann.
33088 Add EFL-specific code to platform/DragImage.h and
33089 platform/DragData.h.
33090 http://webkit.org/b/36310
33092 * platform/DragImage.h:
33093 * platform/DragData.h:
33095 2010-03-22 Leandro Pereira <leandro@profusion.mobi>
33097 Reviewed by Simon Hausmann.
33099 Add EFL-specific code to platform/FileSystem.h.
33100 http://webkit.org/b/36313
33102 * platform/FileSystem.h:
33104 2010-03-22 Leandro Pereira <leandro@profusion.mobi>
33106 Reviewed by Simon Hausmann.
33108 Add EFL-specific code to platform/Cursor.h.
33109 http://webkit.org/b/36319
33111 * platform/Cursor.h:
33113 2010-03-22 Leandro Pereira <leandro@profusion.mobi>
33115 Reviewed by Simon Hausmann.
33117 Add EFL-specific code to platform/NotImplemented.h.
33118 http://webkit.org/b/36320
33120 * platform/NotImplemented.h:
33122 2010-03-21 Kim Grönholm <kim.gronholm@nomovok.com>
33124 Reviewed by Simon Hausmann.
33126 [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly
33127 https://bugs.webkit.org/show_bug.cgi?id=35520
33129 The case where the list of source and target transform operations are
33130 not the same but have the same size needs to be special-cased in
33131 GraphicsLayerQt, as well as the case where the source or target
33132 operation list is empty. The URLs listed here render correctly after
33133 applying the patch.
33135 Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890
33136 https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889
33139 * platform/graphics/qt/GraphicsLayerQt.cpp:
33140 (WebCore::TransformAnimationQt::applyFrame):
33142 2010-03-21 Dmitry Gorbik <socket.h@gmail.com>
33144 <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell
33146 Reviewed by David Kilzer.
33148 Fixed width calculation for cells with span when <col> is defined.
33150 Test: fast/table/col-width-span-expand.html
33152 * rendering/RenderTableCell.cpp:
33153 (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width
33154 in case of <col> defined and span > 1.
33156 2010-03-20 Antonio Gomes <tonikitoo@webkit.org>
33158 Reviewed by Kenneth Christiansen.
33159 Patch by Antonio Gomes <tonikitoo@webkit.org>
33161 Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I)
33162 https://bugs.webkit.org/show_bug.cgi?id=36168
33164 Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167.
33165 No functionalty change.
33167 * page/FocusController.cpp:
33168 (WebCore::updateFocusCandidateIfCloser):
33169 * page/SpatialNavigation.cpp:
33170 (WebCore::distanceInDirection):
33172 2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
33174 [wx] Build fixes after recent changes.
33176 * platform/graphics/wx/ImageWx.cpp:
33179 2010-03-20 Joseph Pecoraro <joepeck@webkit.org>
33181 Reviewed by David Kilzer.
33183 Assertion failure in media/video-controls-with-mutation-event-handler.html
33184 https://bugs.webkit.org/show_bug.cgi?id=36376
33186 Test: media/video-controls-with-mutation-event-handler.html
33188 Break early (when not attached) in the defaultEventHandler before the
33189 slider is completely set up.
33191 * rendering/MediaControlElements.cpp:
33192 (WebCore::MediaControlTimelineElement::defaultEventHandler):
33193 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
33194 * rendering/RenderMedia.cpp:
33195 (WebCore::RenderMedia::createVolumeSlider):
33197 2010-03-19 Shinichiro Hamaji <hamaji@chromium.org>
33199 Reviewed by Dan Bernstein.
33201 WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c)
33202 https://bugs.webkit.org/show_bug.cgi?id=34641
33204 Don't dig into buttons and menu lists when finding which element
33205 should be modified by :first-letter pseudo class. Even before
33206 this change, we didn't dig into inline buttons and menu lists as
33207 they are replaced so this issue wasn't found long time.
33209 Test: fast/css/first-letter-block-form-controls-crash.html
33211 * rendering/RenderBlock.cpp:
33212 (WebCore::RenderBlock::updateFirstLetter):
33214 2010-03-19 Adam Barth <abarth@webkit.org>
33216 Reviewed by Daniel Bates.
33218 Change XSSAuditor block syntax
33219 https://bugs.webkit.org/show_bug.cgi?id=34436
33221 Update our blocking syntax to something more reasonable. Also,
33222 implemented a way for a web site to disable the filter.
33224 Tests: http/tests/security/xssAuditor/no-protection-script-tag.html
33225 http/tests/security/xssAuditor/xss-protection-parsing-01.html
33227 * page/XSSAuditor.cpp:
33228 (WebCore::XSSAuditor::xssProtection):
33229 (WebCore::XSSAuditor::findInRequest):
33230 * page/XSSAuditor.h:
33231 * platform/network/HTTPParsers.cpp:
33232 (WebCore::skipToken):
33233 (WebCore::parseXSSProtectionHeader):
33234 * platform/network/HTTPParsers.h:
33237 2010-03-19 Eric Uhrhane <ericu@chromium.org>
33239 Reviewed by Dmitry Titov.
33241 Refactor DatabaseTracker.cpp for thread safety
33242 https://bugs.webkit.org/show_bug.cgi?id=34991
33244 This enables calling into DatabaseTracker from multiple context threads,
33245 as will happen once Workers can access the Database. It required a fair
33246 amount of reshuffling of locks. I ended up splitting the public
33247 interface [calls that take locks and call private functions] from the
33248 implementations [calls that assert that locks are already held] in order
33249 to avoid lock conflicts. I also had to make sure we weren't sharing
33250 Strings or SecurityOrigins across threads.
33254 Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it.
33256 * platform/sql/SQLiteDatabase.cpp:
33257 (WebCore::SQLiteDatabase::SQLiteDatabase):
33258 (WebCore::SQLiteDatabase::disableThreadingChecks):
33259 * platform/sql/SQLiteDatabase.h:
33260 (WebCore::SQLiteDatabase::sqlite3Handle):
33261 (WebCore::SQLiteDatabase::disableThreadingChecks):
33263 Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic.
33265 * storage/Database.cpp:
33266 (WebCore::Database::markAsDeletedAndClose):
33267 (WebCore::Database::close):
33268 * storage/Database.h:
33269 (WebCore::Database::):
33270 * storage/DatabaseDetails.h:
33271 (WebCore::DatabaseDetails::DatabaseDetails):
33272 (WebCore::DatabaseDetails::thread):
33273 * storage/DatabaseTask.cpp:
33274 (WebCore::DatabaseCloseTask::doPerformTask):
33275 * storage/DatabaseThread.cpp:
33276 (WebCore::DatabaseThread::databaseThread):
33278 Any Strings that get stored in DatabaseTracker, and any Strings returned from DatabaseTracker, are now threadsafeCopies.
33279 Public functions now take all needed locks, then generally call only private functions [there are a few exceptions: deletion functions and origins()].
33280 Private functions no longer take locks.
33281 m_quotaMapGuard becomes m_databaseGuard, and now protects m_database, m_quotaMap, m_proposedDatabases, m_databaseDirectoryPath, m_originsBeingDeleted, m_beingCreated, and m_beingDeleted.
33282 m_proposedDatabases replaces m_proposedDatabase, to account for reentrancy.
33284 * storage/DatabaseTracker.h:
33285 * storage/DatabaseTracker.cpp:
33286 (WebCore::DatabaseTracker::originQuotaManagerNoLock):
33287 (WebCore::DatabaseTracker::originQuotaManager):
33288 (WebCore::DatabaseTracker::DatabaseTracker):
33289 (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
33290 (WebCore::DatabaseTracker::databaseDirectoryPath):
33291 (WebCore::DatabaseTracker::trackerDatabasePath):
33292 (WebCore::DatabaseTracker::openTrackerDatabase):
33293 (WebCore::DatabaseTracker::canEstablishDatabase):
33294 (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
33295 (WebCore::DatabaseTracker::hasEntryForOrigin):
33296 (WebCore::DatabaseTracker::hasEntryForDatabase):
33297 (WebCore::DatabaseTracker::originPath):
33298 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
33299 (WebCore::DatabaseTracker::fullPathForDatabase):
33300 (WebCore::DatabaseTracker::populateOrigins):
33301 (WebCore::DatabaseTracker::origins):
33302 (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
33303 (WebCore::DatabaseTracker::databaseNamesForOrigin):
33304 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
33305 (WebCore::DatabaseTracker::setDatabaseDetails):
33306 (WebCore::DatabaseTracker::usageForDatabase):
33307 (WebCore::DatabaseTracker::addOpenDatabase):
33308 (WebCore::DatabaseTracker::removeOpenDatabase):
33309 (WebCore::DatabaseTracker::usageForOriginNoLock):
33310 (WebCore::DatabaseTracker::usageForOrigin):
33311 (WebCore::DatabaseTracker::quotaForOriginNoLock):
33312 (WebCore::DatabaseTracker::quotaForOrigin):
33313 (WebCore::DatabaseTracker::setQuota):
33314 (WebCore::DatabaseTracker::addDatabase):
33315 (WebCore::DatabaseTracker::deleteAllDatabases):
33316 (WebCore::DatabaseTracker::deleteOrigin):
33317 (WebCore::DatabaseTracker::deleteDatabase):
33318 (WebCore::DatabaseTracker::deleteDatabaseFile):
33319 (WebCore::DatabaseTracker::setClient):
33320 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
33321 (WebCore::DatabaseTracker::notifyDatabasesChanged):
33323 These functions keep track of in-progress deletions and creations, so that we can make sure nobody every deletes a database file while a live database is using it.
33324 (WebCore::DatabaseTracker::canCreateDatabase):
33325 (WebCore::DatabaseTracker::recordCreatingDatabase):
33326 (WebCore::DatabaseTracker::doneCreatingDatabase):
33327 (WebCore::DatabaseTracker::creatingDatabase):
33328 (WebCore::DatabaseTracker::canDeleteDatabase):
33329 (WebCore::DatabaseTracker::recordDeletingDatabase):
33330 (WebCore::DatabaseTracker::doneDeletingDatabase):
33331 (WebCore::DatabaseTracker::deletingDatabase):
33332 (WebCore::DatabaseTracker::canDeleteOrigin):
33333 (WebCore::DatabaseTracker::deletingOrigin):
33334 (WebCore::DatabaseTracker::recordDeletingOrigin):
33335 (WebCore::DatabaseTracker::doneDeletingOrigin):
33337 Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs. There's a new tryLock() function in addition to the existing lock().
33339 * storage/OriginQuotaManager.cpp:
33340 (WebCore::OriginQuotaManager::tryLock):
33341 (WebCore::OriginQuotaManager::trackOrigin):
33342 * storage/OriginQuotaManager.h:
33344 * page/SecurityOrigin.cpp:
33345 (WebCore::SecurityOrigin::databaseIdentifier):
33346 Removed DEFINE_STATIC_LOCAL wrapper on a local variable; it appears to have been a small optimization, but it's not thread-safe.
33348 2010-03-19 Luiz Agostini <luiz.agostini@openbossa.org>
33350 Reviewed by Antti Koivisto.
33352 Multiselect popups - rendering
33353 https://bugs.webkit.org/show_bug.cgi?id=36006
33355 The objective of this patch is to create a compile time flag that can be used
33356 to force all <select> elements to be rendered as menu lists.
33358 Theme stylesheet mechanism has been used to change the appearance of the elements.
33360 Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects
33361 the needed information to render <select multiple> comboboxes.
33365 * css/themeQtNoListboxes.css: Added.
33366 (select[size][multiple]):
33367 * dom/SelectElement.h:
33368 (WebCore::SelectElementData::usesMenuList):
33369 * platform/qt/QtStyleOptionWebComboBox.h: Added.
33370 (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
33371 (WebCore::QtStyleOptionWebComboBox::multiple):
33372 (WebCore::QtStyleOptionWebComboBox::checkMultiple):
33373 * platform/qt/RenderThemeQt.cpp:
33374 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
33375 (WebCore::RenderThemeQt::paintMenuList):
33376 (WebCore::RenderThemeQt::paintMenuListButton):
33377 * platform/qt/RenderThemeQt.h:
33379 2010-03-19 Zhenyao Mo <zmo@google.com>
33381 Reviewed by Oliver Hunt.
33383 Update WebGLArray.slice() to new spec
33384 https://bugs.webkit.org/show_bug.cgi?id-35612
33386 * bindings/js/JSWebGLArrayCustom.cpp: Adding support for default inputs.
33387 (WebCore::JSWebGLArray::slice):
33388 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Ditto.
33389 (WebCore::V8WebGLArray::sliceCallback):
33390 * html/canvas/WebGLArray.cpp: Map start/end to offset/length.
33391 (WebCore::WebGLArray::calculateOffsetAndLength):
33392 * html/canvas/WebGLArray.h: Modified slice parameters.
33393 * html/canvas/WebGLArray.idl: Define custom binding for slice().
33394 * html/canvas/WebGLByteArray.cpp: Modified slice parameters.
33395 (WebCore::WebGLByteArray::slice):
33396 * html/canvas/WebGLByteArray.h: Ditto.
33397 * html/canvas/WebGLFloatArray.cpp: Ditto.
33398 (WebCore::WebGLFloatArray::slice):
33399 * html/canvas/WebGLFloatArray.h: Ditto.
33400 * html/canvas/WebGLIntArray.cpp: Ditto.
33401 (WebCore::WebGLIntArray::slice):
33402 * html/canvas/WebGLIntArray.h: Ditto.
33403 * html/canvas/WebGLShortArray.cpp: Ditto.
33404 (WebCore::WebGLShortArray::slice):
33405 * html/canvas/WebGLShortArray.h: Ditto.
33406 * html/canvas/WebGLUnsignedByteArray.cpp: Ditto.
33407 (WebCore::WebGLUnsignedByteArray::slice):
33408 * html/canvas/WebGLUnsignedByteArray.h: Ditto.
33409 * html/canvas/WebGLUnsignedIntArray.cpp: Ditto.
33410 (WebCore::WebGLUnsignedIntArray::slice):
33411 * html/canvas/WebGLUnsignedIntArray.h: Ditto.
33412 * html/canvas/WebGLUnsignedShortArray.cpp: Ditto.
33413 (WebCore::WebGLUnsignedShortArray::slice):
33414 * html/canvas/WebGLUnsignedShortArray.h: Ditto.
33416 2010-03-19 Yong Li <yong.li@torchmobile.com> and Andy Estes <aestes@apple.com>
33418 Reviewed by Darin Adler.
33420 Ensure the segments inside SharedBuffer are merged before constructing
33423 https://bugs.webkit.org/show_bug.cgi?id=50843
33425 * manual-tests/WebKitSite.webarchive: Added.
33426 * manual-tests/webarchive-test.html: Added.
33427 * platform/cf/SharedBufferCF.cpp:
33428 (WebCore::SharedBuffer::createCFData):
33430 2010-03-19 Justin Schuh <jschuh@chromium.org>
33432 Reviewed by Oliver Hunt.
33434 Security: ReadAV@NULL for negative feMorphology filter radius
33435 https://bugs.webkit.org/show_bug.cgi?id=34566
33437 Prevents building the filter if either radius is negative.
33438 Catches negative radii resulting from conversions.
33440 Test: svg/filters/feMorphology-invalid-radius.svg
33442 * svg/SVGFEMorphologyElement.cpp:
33443 (WebCore::SVGFEMorphologyElement::build):
33444 * svg/graphics/filters/SVGFEMorphology.cpp:
33445 (WebCore::FEMorphology::apply):
33447 2010-03-19 Chris Marrin <cmarrin@apple.com>
33449 Reviewed by Simon Fraser.
33451 Fixed a crash with AnimationController getting deleted out from under itself.
33453 It's possible for the Frame that owns an AnimationController to get deleted
33454 in the EndTransitionEvent (or other animation events) to get deleted in the
33455 event handler. Normally this case is protected against by preventing the Frame
33456 from getting deleted until the end of the runloop. But native uses of the
33457 WebView can subvert this protection. So I added a protector to the
33458 animation event dispatcher to protect it in those cases.
33460 Test: transitions/transition-end-event-destroy-iframe.html
33462 * page/animation/AnimationController.cpp:
33463 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
33465 2010-03-19 Luiz Agostini <luiz.agostini@openbossa.org>
33467 Reviewed by Antti Koivisto.
33469 Multiselect Popup - PopupMenuClient extension
33470 https://bugs.webkit.org/show_bug.cgi?id=36178
33472 PopupMenuClient class is the interface used by combobox popup implementations.
33473 It needs to be extended to handle <select multiple> needs.
33475 A new interface named ListPopupMenuClient that inherits from PopupMenuClient was created.
33476 The use of this new class instead of adding methods to PopupMenuClient avoids changes
33477 in other non related implementations of PopupMenuClient.
33479 RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient
33480 and to have the new methods implemented.
33482 * platform/PopupMenuClient.h:
33483 * rendering/RenderMenuList.cpp:
33484 (WebCore::RenderMenuList::listBoxSelectItem):
33485 (WebCore::RenderMenuList::multiple):
33486 * rendering/RenderMenuList.h:
33488 2010-03-19 Simon Fraser <simon.fraser@apple.com>
33490 Reviewed by Dimitri Glazkov.
33492 https://bugs.webkit.org/show_bug.cgi?id=36387
33493 REGRESSION: Can "uncheck" radio buttons by clicking on them
33495 My change in r56174 caused radio buttons and checkboxes to go down the same code path by virtue
33496 of allowsIndeterminate(), but this broke save/restore behavior on radio buttons.
33498 Fix by saving and restoring both the intermediate and checked state for radio buttons
33499 and checkboxes, as well as the "current radio button" state.
33501 Test: fast/forms/radio-checkbox-restore-indeterminate.html
33503 * html/HTMLInputElement.cpp:
33504 (WebCore::EventHandlingState::EventHandlingState): New struct to hold state between preDispatchEventHandler()
33505 and postDispatchEventHandler().
33506 (WebCore::HTMLInputElement::preDispatchEventHandler): Store intermedate and checked state
33507 and the current radio button.
33508 (WebCore::HTMLInputElement::postDispatchEventHandler): Restore state as appropriate.
33509 * html/HTMLInputElement.h: Add a comment to clarify how 'intermediate' interacts with 'checked', according
33512 2010-03-19 Alexander Pavlov <apavlov@chromium.org>
33514 Reviewed by Pavel Feldman.
33516 Web Inspector: caret moves past prompt in javascript console
33517 https://bugs.webkit.org/show_bug.cgi?id=26602
33519 Having noticed any Element children besides a leading <br> (which are empty
33520 text nodes), WebCore editing facility thinks it should delete the <br>,
33521 thus clearing away the text prompt contents.
33523 * inspector/front-end/TextPrompt.js:
33524 (WebInspector.TextPrompt.prototype.clearAutoComplete):
33525 (WebInspector.TextPrompt.prototype._completionsReady):
33526 * inspector/front-end/utilities.js:
33527 (Element.prototype.pruneEmptyTextNodes):
33529 2010-03-19 Adam Roben <aroben@apple.com>
33531 Windows clean build fix after r56192
33533 * WebCore.vcproj/WebCore.vcproj: Copy headers from
33534 platform/graphics/cg to $WebKitOutputDir as part of the post-build
33535 event so that WebKit can use them. (The only one we currently require
33536 is FontPlatformData.h.)
33538 * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a
33541 2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
33543 Reviewed by David Kilzer.
33545 Assertion failure in media/video-controls-with-mutation-event-handler.html
33546 https://bugs.webkit.org/show_bug.cgi?id=36376
33548 Fix crashing test. Underlying the media element's volume slider is a
33549 range input, which sanitizes values before expected on the media control.
33551 * rendering/RenderMedia.cpp:
33552 (WebCore::RenderMedia::createVolumeSlider):
33554 2010-03-19 Brady Eidson <beidson@apple.com>
33556 Reviewed by Darin Adler.
33558 3 of the new HTML5 loading events need to be asynchronous.
33560 Laying the groundwork for:
33561 https://bugs.webkit.org/show_bug.cgi?id=36201
33562 https://bugs.webkit.org/show_bug.cgi?id=36202
33563 https://bugs.webkit.org/show_bug.cgi?id=36334
33564 https://bugs.webkit.org/show_bug.cgi?id=36335
33566 Document already had an asynchronous event delivery mechanism for storage events, so
33567 we can repurpose that for all async events.
33569 No new tests. (No change in behavior)
33571 * dom/Document.cpp:
33572 (WebCore::Document::Document):
33573 (WebCore::Document::implicitClose): Use Document::schedule* for the related events.
33574 (WebCore::Document::enqueueEvent): Renamed from enqueueStorageEvent
33575 (WebCore::Document::pendingEventTimerFired): Renamed from "storageEventTimerFired"
33576 (WebCore::Document::statePopped): Use Document::schedulePopstateEvent
33577 (WebCore::Document::enqueuePageshowEvent): All Pageshow events are piped through here.
33578 This will be made asynchronous in a separate patch.
33579 (WebCore::Document::enqueueHashchangeEvent): All Hashchange events are piped through here.
33580 This will be made asynchronous in a separate patch.
33581 (WebCore::Document::enqueuePopstateEvent): All Popstate events are piped through here.
33582 This will be made asynchronous in a separate patch.
33586 * history/CachedFrame.cpp:
33587 (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent
33589 * loader/FrameLoader.cpp:
33590 (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent
33592 * storage/StorageEventDispatcher.cpp:
33593 (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent
33595 2010-03-19 Kevin Decker <kdecker@apple.com>
33597 Reviewed by Darin Adler and Brady Eidson.
33600 https://bugs.webkit.org/show_bug.cgi?id=36328
33602 This is the first step torward eliminating the WebKit WebNullPluginView class. The responsibility for this will soon
33603 be in platform-independent code in WebCore. The plan is to change RenderEmbeddedObject and give it the capability of
33604 drawing the missing plug-in text.
33606 * loader/FrameLoader.cpp:
33607 (WebCore::FrameLoader::requestObject): Renamed the renderer parameter to requestEmbeddedObject and made it
33608 a RenderEmbeddedObject.
33609 (WebCore::FrameLoader::loadPlugin): Likewise.
33610 * loader/FrameLoader.h: Updated loadPlugin() and requestObject() method signatures accordingly.
33612 2010-03-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
33614 Reviewed by Simon Hausmann.
33616 [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6
33617 https://bugs.webkit.org/show_bug.cgi?id=36348
33619 Backing store implementation for QtWebKit requires at least Qt
33622 No new tests as there is no new functionality.
33626 2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
33628 Reviewed by David Kilzer.
33630 <input type=range> does not validate correctly without a renderer and the tests are incorrect
33631 https://bugs.webkit.org/show_bug.cgi?id=36259
33633 Setting value attribute on an <input type=range> to an out-of-range value fires oninput
33634 https://bugs.webkit.org/show_bug.cgi?id=16990
33636 Part 2 of 2: When setting the range element's value, overflows and underflows
33637 are automatically sanitized to valid values. Moved the general case
33638 sanitization code out of the Renderer into HTMLInputElement::sanitizeValue.
33640 * html/HTMLInputElement.cpp:
33641 (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided
33642 (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints
33643 * html/StepRange.cpp:
33644 (WebCore::StepRange::StepRange): allow const element in the constructor
33645 (WebCore::StepRange::clampValue): clamp from a String value
33646 * html/StepRange.h:
33647 (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints
33648 * rendering/RenderSlider.cpp:
33649 (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer
33651 2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
33653 Reviewed by David Kilzer.
33655 <input type=range> does not validate correctly without a renderer and the tests are incorrect
33656 https://bugs.webkit.org/show_bug.cgi?id=36259
33658 Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider
33659 into a more appropriate place. Changed the named to StepRange. Changed
33660 from a struct to a class.
33662 Added new files to the build.
33667 * WebCore.vcproj/WebCore.vcproj:
33668 * WebCore.xcodeproj/project.pbxproj:
33670 Renamed and moved class SliderRange to StepRange.
33672 * html/StepRange.cpp: Added.
33673 (WebCore::StepRange::StepRange):
33674 (WebCore::StepRange::clampValue):
33675 (WebCore::StepRange::valueFromElement):
33676 (WebCore::sliderPosition):
33677 * html/StepRange.h: Added.
33678 (WebCore::StepRange::proportionFromValue):
33679 (WebCore::StepRange::valueFromProportion):
33680 * rendering/RenderSlider.cpp:
33681 (WebCore::RenderSlider::updateFromElement): updated to use StepRange
33682 (WebCore::RenderSlider::setValueForPosition): updated to use StepRange
33684 2010-03-19 Antti Koivisto <koivisto@iki.fi>
33686 Reviewed by Simon Hausmann.
33688 https://bugs.webkit.org/show_bug.cgi?id=36366
33689 Repaint loop when painting using scaled CTMs with different translations
33691 The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality
33692 tests if the scaling has changed from the previous value by comparing the
33693 transformations. The test fails if the scale is the same but the translation
33694 changes. This can lead to infinite repaint loop if the document is painted
33695 in pieces using different translations (for example for tiling).
33697 * rendering/RenderBoxModelObject.cpp:
33698 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
33700 2010-03-19 Pavel Feldman <pfeldman@chromium.org>
33702 Reviewed by Timothy Hatcher.
33704 Web Inspector: editing shorthands does not always work.
33706 https://bugs.webkit.org/show_bug.cgi?id=36362
33708 * inspector/InspectorDOMAgent.cpp:
33709 (WebCore::InspectorDOMAgent::applyStyleText):
33710 (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
33711 (WebCore::InspectorDOMAgent::shorthandValue):
33712 * inspector/InspectorDOMAgent.h:
33713 * inspector/front-end/StylesSidebarPane.js:
33714 (WebInspector.StylePropertyTreeElement.prototype):
33715 * inspector/front-end/inspector.css:
33716 (.section .properties li.disabled .enabled-button):
33717 * inspector/front-end/inspector.js:
33718 (WebInspector.startEditing.editingCommitted):
33720 2010-03-19 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
33722 Reviewed by Simon Hausmann.
33724 [Qt] Don't replace clip when drawing complex text
33726 * platform/graphics/qt/FontQt.cpp:
33728 2010-03-18 Darin Fisher <darin@chromium.org>
33730 Reviewed by Adam Barth.
33732 If a frame is already in the document, then setting its "src" attribute
33733 should add the resultant navigation to history.
33735 https://bugs.webkit.org/show_bug.cgi?id=9166
33737 This behavior is specified in section 4.8.2 of the HTML5 spec.
33739 Test: fast/loader/frame-src-change-added-to-history.html
33741 * html/HTMLFrameElementBase.cpp:
33742 (WebCore::HTMLFrameElementBase::openURL):
33743 (WebCore::HTMLFrameElementBase::setLocation):
33744 * html/HTMLFrameElementBase.h:
33745 * loader/FrameLoader.cpp:
33746 (WebCore::FrameLoader::requestFrame):
33747 * loader/FrameLoader.h:
33749 2010-03-18 Chris Evans <cevans@chromium.org>
33751 Reviewed by Nikolas Zimmermann.
33753 Fix a minor crash with mismatched array sizes in SVG animation
33756 https://bugs.webkit.org/show_bug.cgi?id=35606
33758 Test: svg/animations/keypoints-mismatch.svg
33760 * svg/SVGAnimationElement.cpp:
33761 (WebCore::SVGAnimationElement::startedActiveInterval):
33762 Globally apply validations relevant to all animation types.
33764 2010-03-18 Vangelis Kokkevis <vangelis@chromium.org>
33766 Reviewed by Adam Barth.
33768 Implement software composited graphics layers in Chromium using the Skia library.
33769 https://bugs.webkit.org/show_bug.cgi?id=35557
33770 This is an initial step in the implementation. Layer compositing is functioning
33771 but not optimized in any way. Subsesquent check-ins will be necessary to fine tune
33774 Test: No new exposed functionality so no new tests.
33777 Added new source files to the chromium build
33778 * platform/graphics/GraphicsLayer.h:
33779 Added necessary typedef's and forward declarations for Chromium.
33780 * platform/graphics/skia/GraphicsLayerSkia.cpp: Added.
33781 * platform/graphics/skia/GraphicsLayerSkia.h: Added.
33782 Declaration and implementation of the platform-specific GraphicsLayer class.
33783 * platform/graphics/skia/LayerRendererSkia.cpp: Added.
33784 * platform/graphics/skia/LayerRendererSkia.h: Added.
33785 Declaration and implementation of the Skia-based software compositor.
33786 * platform/graphics/skia/LayerSkia.cpp: Added.
33787 * platform/graphics/skia/LayerSkia.h: Added.
33788 Declaration and implementation of a compositable layer that uses a Skia canvas
33791 2010-03-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
33793 Reviewed by Darin Adler.
33795 Make setPrinting() with printing=false, restore the previous
33798 Test: fast/media/print-restores-previous-mediatype.html
33801 (WebCore::Frame::setPrinting):
33802 * page/FrameView.cpp:
33803 (WebCore::FrameView::adjustMediaTypeForPrinting):
33804 * page/FrameView.h:
33806 2010-03-18 David Kilzer <ddkilzer@apple.com>
33808 <http://webkit.org/b/36338> Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration
33810 Rubber-stamped by Darin Adler.
33812 This declaration should have been removed in r47440.
33814 * rendering/RenderReplaced.h:
33815 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed.
33817 2010-03-18 Jian Li <jianli@chromium.org>
33819 Reviewed by Dmitry Titov.
33821 Dragging a PDF image triggers assertion in DragController::startDrag()
33822 https://bugs.webkit.org/show_bug.cgi?id=36247
33824 Test: fast/images/drag-pdf-as-image.html
33826 * platform/graphics/cg/PDFDocumentImage.cpp:
33827 (WebCore::PDFDocumentImage::filenameExtension):
33828 * platform/graphics/cg/PDFDocumentImage.h:
33830 2010-03-18 Simon Fraser <simon.fraser@apple.com>
33832 Reviewed by Dan Bernstein.
33834 Avoid taking a reference to a String owned by a temporary AtomicString.
33836 * css/CSSSelector.cpp:
33837 (WebCore::CSSSelector::RareData::parseNth):
33839 2010-03-18 Chris Marrin <cmarrin@apple.com>
33841 Reviewed by Simon Fraser.
33843 Fixed parenting issues with HW layers on Windows
33844 https://bugs.webkit.org/show_bug.cgi?id=32449
33846 CACF can't properly fix superlayer changes, so a layer added
33847 as a sublayer must have a null superlayer. I changed a couple of
33848 places that change sublayers to removeFromSuperlayer while adding
33849 to a new layer. This fixes both the problem of disappearing children
33850 and children getting doubled. Also got rid of removeSublayer(). Layers
33851 should always be removed from their parent with removeFromSuperlayer().
33853 This also removed moveLayer(), which is not used and may not be safe in how
33856 * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these)
33857 (WebCore::GraphicsLayerCACF::setName):
33858 * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding
33859 (WebCore::WKCACFLayer::insertSublayer):
33860 (WebCore::WKCACFLayer::replaceSublayer):
33861 (WebCore::WKCACFLayer::removeFromSuperlayer):
33862 (WebCore::WKCACFLayer::setSublayers):
33863 (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging
33864 * platform/graphics/win/WKCACFLayer.h:
33866 2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
33868 Unreviewed, build fix.
33870 [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break
33871 due to http://trac.webkit.org/changeset/56192,
33873 * WebCore.gyp/WebCore.gyp: Changed the order.
33875 2010-03-18 David Hyatt <hyatt@apple.com>
33877 Reviewed by Oliver Hunt.
33879 https://bugs.webkit.org/show_bug.cgi?id=36325
33881 Add support for stopImmediatePropagation from DOM Level 3 Events.
33883 Added fast/events/stop-immediate-propagation.html.
33886 (WebCore::Event::Event):
33888 (WebCore::Event::timeStamp):
33889 (WebCore::Event::stopPropagation):
33890 (WebCore::Event::stopImmediatePropagation):
33891 (WebCore::Event::propagationStopped):
33892 (WebCore::Event::immediatePropagationStopped):
33894 * dom/EventTarget.cpp:
33895 (WebCore::EventTarget::fireEventListeners):
33897 2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
33899 Unreviewed, build fix.
33901 Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium.
33902 The accessor was removed in http://trac.webkit.org/changeset/56188.
33904 * page/Geolocation.h:
33905 (WebCore::Geolocation::frame): Added back.
33907 2010-03-18 Brent Fulgham <bfulgham@webkit.org>
33909 Reviewed by Adam Roben.
33911 Help reduce build problems due to font declarations.
33912 https://bugs.webkit.org/show_bug.cgi?id=36190
33914 Functions unchanged, no new tests.
33916 * WebCore.vcproj/WebCore.vcproj: Add new file, and show
33917 movement of FontPlatformData.h to cg/ directory.
33918 * platform/graphics/cairo/FontPlatformData.h: Merge in
33919 WinCairo-specific declarations. Correct constructor
33920 declaration to use type float for font size.
33921 (WebCore::FontPlatformData::FontPlatformData):
33922 (WebCore::FontPlatformData::hfont):
33923 (WebCore::FontPlatformData::useGDI):
33924 (WebCore::FontPlatformData::fontFace):
33925 (WebCore::FontPlatformData::setSize):
33926 (WebCore::FontPlatformData::hash):
33927 (WebCore::FontPlatformData::isHashTableDeletedValue):
33928 * platform/graphics/cairo/FontPlatformDataCairo.cpp:
33929 (WebCore::FontPlatformData::FontPlatformData): Correct
33930 constructor to accept type float for font size.
33931 * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h.
33932 (WebCore::FontPlatformData::FontPlatformData):
33933 (WebCore::FontPlatformData::hfont):
33934 (WebCore::FontPlatformData::cgFont):
33935 (WebCore::FontPlatformData::operator==):
33936 * platform/graphics/win/FontPlatformData.h: Removed.
33937 * platform/graphics/win/FontPlatformDataCairoWin.cpp:
33938 (WebCore::FontPlatformData::operator==): Move implementation
33939 here (previously in header) to match other cairo-based ports.
33940 * platform/graphics/win/RefCountedHFONT.h: Added. This
33941 was extracted from win/FontPlatformData.h, and is now shared
33942 by the cg/FontPlatformData.h and cairo/FontPlatformData.h
33943 (WebCore::RefCountedHFONT::create):
33944 (WebCore::RefCountedHFONT::createDeleted):
33945 (WebCore::RefCountedHFONT::~RefCountedHFONT):
33946 (WebCore::RefCountedHFONT::hfont):
33947 (WebCore::RefCountedHFONT::hash):
33948 (WebCore::RefCountedHFONT::RefCountedHFONT):
33950 2010-03-18 Simon Fraser <simon.fraser@apple.com>
33954 Fix brace style after r56170.
33956 * css/CSSStyleSelector.cpp:
33957 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
33959 2010-03-18 Simon Fraser <simon.fraser@apple.com>
33961 Reviewed by Dave Hyatt.
33963 https://bugs.webkit.org/show_bug.cgi?id=36274
33964 CSS3 :nth-child selector 'odd' keyword case sensitivity test fails
33966 The tests for "odd", "even" etc. for nth-child selectors should be case insensitive.
33968 Test: fast/css/nth-child-odd-case-insensitive.html
33970 * css/CSSSelector.cpp:
33971 (WebCore::CSSSelector::RareData::parseNth):
33973 2010-03-18 David Hyatt <hyatt@apple.com>
33975 Reviewed by Oliver Hunt.
33977 https://bugs.webkit.org/show_bug.cgi?id=36265
33979 Add support for event.defaultPrevented from DOM level 3.
33981 Added fast/events/defaultprevented.html
33985 2010-03-18 Darin Adler <darin@apple.com>
33987 Reviewed by Kenneth Rohde Christiansen.
33989 Remove Geolocation.lastPosition, no longer in the spec.
33990 https://bugs.webkit.org/show_bug.cgi?id=36255
33991 rdar://problem/7746357
33993 * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual.
33995 * page/Geolocation.cpp:
33996 (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to
33997 call this if access to the location is allowed.
33999 * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual,
34000 although it will still be virtual if any of the base classes have a virtual
34001 destructor. Made lastPosition, isAllowed, and isDenied functions private.
34002 Removed unused suspend, resume, setShouldClearCache, shouldClearCache,
34003 and frame functions.
34005 * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in
34006 the Geolocation specification.
34008 2010-03-18 David Hyatt <hyatt@apple.com>
34010 Reviewed by Simon Fraser.
34012 https://bugs.webkit.org/show_bug.cgi?id=36275
34014 Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless
34015 restriction on :not.)
34017 Added fast/css/invalid-not-with-pseudo-element.html
34019 * css/CSSGrammar.y:
34020 * css/CSSSelector.h:
34021 (WebCore::CSSSelector::matchesPseudoElement):
34023 2010-03-18 Dan Bernstein <mitz@apple.com>
34025 Reviewed by Darin Adler.
34027 <rdar://problem/7761400> Rework the fix for
34028 https://bugs.webkit.org/show_bug.cgi?id=18722
34030 Test: fast/dynamic/float-remove-above-line-2.html
34032 * rendering/RenderBlock.cpp:
34033 (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats
34034 as having a height of 1 so that they intersect with the line they originate on.
34035 (WebCore::RenderBlock::clearFloats): Use numeric_limits.
34036 * rendering/RenderBlockLineLayout.cpp:
34037 (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here,
34038 so that a float is always included in the float list of the line it originates on, even
34039 if it does not intersect that line. This ensures that every float is accounted for, which
34040 is necessary during incremental layout when adding floats from clean lines.
34042 2010-03-18 Antti Koivisto <koivisto@iki.fi>
34044 Reviewed by Kenneth Rohde Christiansen.
34046 https://bugs.webkit.org/show_bug.cgi?id=36102
34047 [Qt] Scaling control API for tiled backing store
34049 Commit the new scale synchronously after unfreeze to avoid ugliness.
34051 * platform/graphics/TiledBackingStore.cpp:
34052 (WebCore::TiledBackingStore::TiledBackingStore):
34053 (WebCore::TiledBackingStore::setContentsScale):
34054 (WebCore::TiledBackingStore::commitScaleChange):
34055 (WebCore::TiledBackingStore::setContentsFrozen):
34056 * platform/graphics/TiledBackingStore.h:
34058 2010-03-18 David Hyatt <hyatt@apple.com>
34060 Reviewed by Simon Fraser.
34062 https://bugs.webkit.org/show_bug.cgi?id=36281
34064 Make sure an exception is raised if an @import rule is inserted in the wrong place.
34066 Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped
34067 as transparent by getComputedStyle, since it most commonly occurs in background-color and
34068 that default makes more sense than dumping rgba values.
34070 Added fast/css/invalid-import-insertion.html
34072 * css/CSSPrimitiveValue.cpp:
34073 (WebCore::CSSPrimitiveValue::createColor):
34074 * css/CSSStyleSheet.cpp:
34075 (WebCore::CSSStyleSheet::insertRule):
34077 2010-03-18 Luiz Agostini <luiz.agostini@openbossa.org>
34079 Reviewed by Kenneth Rohde Christiansen.
34081 Multiselect Popup - Listbox click simulation
34082 https://bugs.webkit.org/show_bug.cgi?id=36177
34084 Listbox popups will need to notify the corresponding select elements that a
34085 selection change happened. The current HTMLSelectElement interface does not
34086 allow multiple selections.
34088 The new method listBoxSelectItem will be used for that. I have refactored part
34089 of the mouse handling code in bug 36124 and I am now reusing it here for
34090 <select multiple> popups. All the other cases will handled as they were before to be
34091 sure that no side effects will show up.
34093 * dom/SelectElement.cpp:
34094 (WebCore::SelectElement::updateListBoxSelection):
34095 (WebCore::SelectElement::listBoxOnChange):
34096 * dom/SelectElement.h:
34097 * html/HTMLSelectElement.cpp:
34098 (WebCore::HTMLSelectElement::listBoxPopupClick):
34099 * html/HTMLSelectElement.h:
34101 2010-03-12 Ojan Vafai <ojan@chromium.org>
34103 Reviewed by David Levin.
34105 smartdelete should only occur after double-click
34106 https://bugs.webkit.org/show_bug.cgi?id=35314
34108 1. Consolidate all notions of selection-granularity into SelectionController.
34109 2. Now only mouse-based selections store a selection-granularity. This matches NSTextView.
34111 New tests were added in http://trac.webkit.org/changeset/55913.
34113 * WebCore.base.exp:
34114 * editing/MoveSelectionCommand.cpp:
34115 (WebCore::MoveSelectionCommand::MoveSelectionCommand):
34116 (WebCore::MoveSelectionCommand::doApply):
34117 * editing/MoveSelectionCommand.h:
34118 (WebCore::MoveSelectionCommand::create):
34119 * editing/SelectionController.cpp:
34120 (WebCore::SelectionController::SelectionController):
34121 (WebCore::SelectionController::setSelection):
34122 (WebCore::SelectionController::modify):
34123 (WebCore::SelectionController::clear):
34124 * editing/SelectionController.h:
34125 (WebCore::SelectionController::setSelection):
34126 (WebCore::SelectionController::granularity):
34127 * editing/VisibleSelection.cpp:
34128 (WebCore::VisibleSelection::VisibleSelection):
34129 (WebCore::VisibleSelection::expandUsingGranularity):
34130 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
34131 (WebCore::VisibleSelection::validate):
34132 * editing/VisibleSelection.h:
34133 (WebCore::operator==):
34134 * loader/FrameLoader.cpp:
34135 (WebCore::FrameLoader::clear):
34136 * page/DOMSelection.cpp:
34137 (WebCore::DOMSelection::extend):
34138 * page/DragController.cpp:
34139 (WebCore::DragController::concludeEditDrag):
34140 * page/EventHandler.cpp:
34141 (WebCore::EventHandler::selectClosestWordFromMouseEvent):
34142 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
34143 (WebCore::EventHandler::handleMousePressEventTripleClick):
34144 (WebCore::EventHandler::handleMousePressEventSingleClick):
34145 (WebCore::EventHandler::updateSelectionForMouseDrag):
34147 (WebCore::Frame::Frame):
34148 (WebCore::Frame::selectionGranularity):
34150 * rendering/RenderTextControl.cpp:
34151 (WebCore::RenderTextControl::setSelectionRange):
34153 2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
34155 Unreviewed, build fix.
34157 [V8] Turn npObjectTypeInfo into a function, make everyone happy.
34159 * bindings/v8/NPV8Object.cpp:
34160 (WebCore::npObjectTypeInfo): Added new function.
34161 (npCreateV8ScriptObject):
34162 * bindings/v8/NPV8Object.h: Turned npObjectTypeInfo into function.
34163 * bindings/v8/V8NPObject.cpp: Replaced references to function
34165 2010-03-18 David Hyatt <hyatt@apple.com>
34167 Reviewed by Simon Fraser.
34169 https://bugs.webkit.org/show_bug.cgi?id=36283
34171 The wrong constants were being used for the code that attempted to compact the background-repeat shorthand to
34174 Added fast/backgrounds/background-repeat-computed-style.html
34176 * css/CSSComputedStyleDeclaration.cpp:
34177 (WebCore::fillRepeatToCSSValue):
34179 2010-03-18 Simon Fraser <simon.fraser@apple.com>
34181 Reviewed by Dave Hyatt.
34183 https://bugs.webkit.org/show_bug.cgi?id=36273
34184 CSS3 :indeterminate and input type=radio test fails
34186 The :indeterminate pseudo-class should apply to both radio buttons and checkboxes.
34188 * html/HTMLInputElement.cpp:
34189 (WebCore::HTMLInputElement::setIndeterminate): Use allowsIndeterminate() to determine if the input
34190 supports the indeterminate state.
34191 (WebCore::HTMLInputElement::preDispatchEventHandler): Use allowsIndeterminate() to determine whether
34192 to handle the indeterminate state.
34193 (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
34194 * html/HTMLInputElement.h:
34195 (WebCore::HTMLInputElement::allowsIndeterminate): New utility method, returns true for radio buttons
34198 2010-03-18 Simon Fraser <simon.fraser@apple.com>
34200 Reviewed by Dave Hyatt.
34202 https://bugs.webkit.org/show_bug.cgi?id=36271
34203 CSS3 :enabled on an input type=hidden element fails
34205 The CSS3 selectors spec now makes it clear that hidden inputs should respect
34206 the :enabled and :disabled pseudo-classes.
34208 Test: fast/forms/hidden-input-enabled.html
34210 * css/CSSStyleSelector.cpp:
34211 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove checks for hidden inputs.
34213 2010-03-18 Enrica Casucci <enrica@apple.com>
34215 Reviewed by Simon Fraser.
34217 Intro text at Star Wars demo is clipped.
34218 <rdar://problem/7560979>
34219 https://bugs.webkit.org/show_bug.cgi?id=33909
34221 Test: compositing/repaint/layer-repaint.html
34223 We are flipping the coordinates for drawing, therefore
34224 we must flip them also when we invalidate the rectangles.
34226 * platform/graphics/win/GraphicsLayerCACF.cpp:
34227 (WebCore::WebLayer::setNeedsDisplay):
34229 2010-03-18 Nate Chapin <japhet@chromium.org>
34231 Unreviewed, Chromium build fix.
34233 Missed a #include in V8Collection.h.
34235 * bindings/v8/V8Collection.h:
34237 2010-03-18 David Hyatt <hyatt@apple.com>
34239 Reviewed by Simon Fraser.
34241 Fix for https://bugs.webkit.org/show_bug.cgi?id=36284.
34243 Make sure the CSS parser properly rejects negative border widths.
34245 Added fast/borders/negative-border-width.html
34247 * css/CSSParser.cpp:
34248 (WebCore::CSSParser::parseValue):
34250 2010-03-18 Nate Chapin <japhet@chromium.org>
34252 Reviewed by Dimitri Glazkov.
34254 [V8] Remove V8Index.h and all references to V8ClassIndex.
34256 https://bugs.webkit.org/show_bug.cgi?id=33477
34259 * bindings/scripts/CodeGeneratorV8.pm:
34260 * bindings/v8/NPV8Object.cpp:
34261 * bindings/v8/NPV8Object.h:
34262 * bindings/v8/V8Collection.h:
34263 * bindings/v8/V8DOMWindowShell.cpp:
34264 * bindings/v8/V8DOMWindowShell.h:
34265 * bindings/v8/V8DOMWrapper.cpp:
34266 * bindings/v8/V8DOMWrapper.h:
34267 * bindings/v8/V8GCController.cpp:
34268 * bindings/v8/V8Helpers.cpp:
34269 * bindings/v8/V8Index.h: Removed.
34270 * bindings/v8/V8IsolatedContext.h:
34271 * bindings/v8/V8NPObject.cpp:
34272 * bindings/v8/V8Proxy.cpp:
34273 * bindings/v8/V8Proxy.h:
34274 * bindings/v8/V8SVGPODTypeWrapper.h:
34275 * bindings/v8/WorkerContextExecutionProxy.cpp:
34276 * bindings/v8/WorkerContextExecutionProxy.h:
34277 * bindings/v8/WrapperTypeInfo.h: Move WrapperTypeInfo struct into its own file from V8Index.h.
34278 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
34279 * bindings/v8/custom/V8DOMWindowCustom.cpp:
34280 * bindings/v8/custom/V8EventSourceConstructor.cpp:
34281 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
34282 * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
34283 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
34284 * bindings/v8/custom/V8HTMLImageElementConstructor.h:
34285 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
34286 * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
34287 * bindings/v8/custom/V8HistoryCustom.cpp:
34288 * bindings/v8/custom/V8LocationCustom.cpp:
34289 * bindings/v8/custom/V8WebGLArrayCustom.h:
34290 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
34291 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
34292 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34293 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
34294 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
34295 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
34296 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
34297 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
34298 * bindings/v8/custom/V8WebKitPointConstructor.cpp:
34300 2010-03-18 Yury Semikhatsky <yurys@chromium.org>
34302 Reviewed by Pavel Feldman.
34304 Preserve console history between debugging sessions.
34306 https://bugs.webkit.org/show_bug.cgi?id=36223
34308 * inspector/front-end/ConsoleView.js:
34309 (WebInspector.ConsoleView.prototype._settingsLoaded):
34310 (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
34311 (WebInspector.ConsoleView.prototype._enterKeyPressed):
34312 * inspector/front-end/Settings.js:
34313 (WebInspector.Settings.prototype._load):
34315 2010-03-18 Kim Grönholm <kim.gronholm@nomovok.com>
34317 Reviewed by Simon Hausmann.
34319 [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected
34320 https://bugs.webkit.org/show_bug.cgi?id=36219
34322 addAnimation and pauseAnimation were handling animation state changes in
34324 Apparently WebCore calls addAnimation for resuming, so we have to make
34325 sure to resume an existing animation if that happens. Also, timeOffset
34326 is now used for synchronization of the Qt animation clock with the
34327 WebCore clock, as opposed to using it as a delay timer.
34328 Both those fixes were necessary to get the layout test to work.
34330 LayoutTests/animations/play-state.html now passed on Qt.
34332 * platform/graphics/qt/GraphicsLayerQt.cpp:
34333 (WebCore::AnimationQtBase::AnimationQtBase):
34334 (WebCore::TransformAnimationQt::updateState):
34335 (WebCore::GraphicsLayerQt::addAnimation):
34336 (WebCore::GraphicsLayerQt::pauseAnimation):
34338 2010-03-18 Adam Langley <agl@chromium.org>
34340 Reviewed by David Levin.
34342 [chromium] Fix inverted logic in per-strike renderer patch.
34344 I screwed up in r55089 and got one of the conditions backwards. Thanks
34345 to Roman Tsisyk for pointing it out.
34347 https://bugs.webkit.org/show_bug.cgi?id=35495
34349 Test: platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html
34351 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
34352 (WebCore::FontPlatformData::querySystemForRenderStyle):
34354 2010-03-18 Pavel Feldman <pfeldman@chromium.org>
34356 Reviewed by Timothy Hatcher.
34358 Web Inspector: Show inherited styles for a selected DOM element
34360 https://bugs.webkit.org/show_bug.cgi?id=28039
34362 * English.lproj/localizedStrings.js:
34363 * inspector/InspectorDOMAgent.cpp:
34364 (WebCore::InspectorDOMAgent::getStyles):
34365 (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
34366 * inspector/front-end/DOMAgent.js:
34367 (WebInspector.CSSStyleDeclaration):
34368 * inspector/front-end/StylesSidebarPane.js:
34369 (WebInspector.StylesSidebarPane.prototype._update):
34370 (WebInspector.StylesSidebarPane.prototype._containsInherited):
34371 (WebInspector.StylePropertiesSection):
34372 (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
34373 (WebInspector.StylePropertiesSection.prototype.onpopulate):
34375 2010-03-15 Antonio Gomes <tonikitoo@webkit.org>
34377 Reviewed by Gustavo Noronha.
34378 Patch by Antonio Gomes <tonikitoo@webkit.org>
34380 Spatial Navigation: Add isNull() and document() convenience methods to FocusCandidate.
34381 https://bugs.webkit.org/show_bug.cgi?id=36167
34383 It turns out that Spatial Navigation related code (in FocusController.cpp for
34384 instance) can be simplified and look better if FocusCandidate class offer some
34385 convenience method. This patch introduces a couple of them (isNull and a Document
34386 getter). It also adds another constructor that receives a Node as parameter.
34388 A followup refactoring patch will be making use of these helper methods.
34390 * page/SpatialNavigation.h:
34391 (WebCore::FocusCandidate::FocusCandidate): Added a "Node*" parameter
34392 to FocusCandidate's constructor.
34393 (WebCore::FocusCandidate::isNull): In the Spatial Navigation logic, a NULL
34394 FocusCandidate object is one that does not hold a valid reference to a "Node*".
34395 (WebCore::FocusCandidate::document): This method returns a pointer for the FocusCandidate
34396 node's document, if |node| is a valid pointer.
34398 2010-03-18 Noam Rosenthal <noam.rosenthal@nokia.com>
34400 Reviewed by Antti Koivisto.
34402 [Qt] [Performance] GraphicsLayerQt updates the scene too often
34403 https://bugs.webkit.org/show_bug.cgi?id=36158
34405 This fix makes sure that flushChanges is only called when necessary,
34406 by calling the notifySync function asynchronously, which makes sure flushChanges() is called
34407 after the WebCore compositor has made all its changes.
34409 This has shown a visual improvement on several test-cases.
34412 * platform/graphics/qt/GraphicsLayerQt.cpp:
34413 (WebCore::GraphicsLayerQtImpl::):
34414 (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
34415 (WebCore::GraphicsLayerQtImpl::notifyChange):
34416 (WebCore::GraphicsLayerQtImpl::flushChanges):
34417 (WebCore::GraphicsLayerQt::setMaskLayer):
34418 (WebCore::GraphicsLayerQt::setPosition):
34419 (WebCore::GraphicsLayerQt::setAnchorPoint):
34420 (WebCore::GraphicsLayerQt::setSize):
34421 (WebCore::GraphicsLayerQt::setTransform):
34422 (WebCore::GraphicsLayerQt::setChildrenTransform):
34423 (WebCore::GraphicsLayerQt::setPreserves3D):
34424 (WebCore::GraphicsLayerQt::setMasksToBounds):
34425 (WebCore::GraphicsLayerQt::setDrawsContent):
34426 (WebCore::GraphicsLayerQt::setBackgroundColor):
34427 (WebCore::GraphicsLayerQt::clearBackgroundColor):
34428 (WebCore::GraphicsLayerQt::setContentsOpaque):
34429 (WebCore::GraphicsLayerQt::setBackfaceVisibility):
34430 (WebCore::GraphicsLayerQt::setOpacity):
34431 (WebCore::GraphicsLayerQt::setContentsRect):
34433 2010-03-18 Stephen White <senorblanco@chromium.org>
34435 Reviewed by Oliver Hunt.
34437 Parsing of rgb() colors in HTML canvas is still fairly slow.
34438 findNamedColor() was showing up as hot, so this patch attempts to
34439 avoid calling it by putting the rgb() check ahead of the named
34440 colors. It also removes a call to Color::Color() from
34441 CanvasStyle, which was doing a redundant check for the hex
34442 color and named colors, which CSSParser already does. Finally, it
34443 changes the ad-hoc parser to check for negative values, and clamps them
34444 at zero. This avoids the lex/yacc path for rgb() colors with
34445 negative color components.
34447 https://bugs.webkit.org/show_bug.cgi?id=36199
34449 Covered by fast/canvas/set-colors.html.
34451 * css/CSSParser.cpp:
34452 (WebCore::parseInt):
34453 (WebCore::CSSParser::parseColor):
34454 * html/canvas/CanvasStyle.cpp:
34455 (WebCore::CanvasStyle::applyFillColor):
34457 2010-03-18 David Kilzer <ddkilzer@apple.com>
34459 <http://webkit.org/b/36246> Node::removeAllEventListenersSlowCase is declared but not used
34461 Reviewed by Sam Weinig.
34464 (WebCore::Node::removeAllEventListenersSlowCase): Removed
34465 declaration. Implementation was removed in r48701.
34467 2010-03-17 Stephan Aßmus <superstippi@gmx.de>
34469 Reviewed by Oliver Hunt.
34471 [Haiku] Implement ImageBuffer support
34472 https://bugs.webkit.org/show_bug.cgi?id=35288
34474 Covered by existing tests.
34476 The StillImage class implements WebCore::Image by wrapping a native
34477 BBitmap. It will be needed to implement WebCore::ImageBuffer. This
34478 solution is just like it's done in the Qt port.
34480 * platform/graphics/haiku/StillImageHaiku.cpp: Added.
34481 (WebCore::StillImage::StillImage):
34482 (WebCore::StillImage::destroyDecodedData):
34483 (WebCore::StillImage::decodedSize):
34484 (WebCore::StillImage::size):
34485 (WebCore::StillImage::nativeImageForCurrentFrame):
34486 (WebCore::StillImage::draw):
34487 * platform/graphics/haiku/StillImageHaiku.h: Added.
34488 (WebCore::StillImage::create):
34490 2010-03-17 Holger Hans Peter Freyther <zecke@selfish.org>
34492 Rubber stamped by Gustavo Noronha Silva.
34494 [Gtk+] Avoid making a copy of the HTTPHeaderMap.
34496 ResourceRequest::httpHeaderFields() is returning a const
34497 reference but we are storing it as a simple value. This
34498 means that we run either the copy constructor or the assignment
34499 operator and make a copy of the RefPtrs.
34501 This extra copy can be avoided easily by storing
34502 the result as a const reference.
34504 * platform/network/soup/ResourceRequestSoup.cpp:
34505 (WebCore::ResourceRequest::toSoupMessage):
34506 * platform/network/soup/ResourceResponseSoup.cpp:
34507 (WebCore::ResourceResponseSoup::toSoupMessage):
34509 2010-03-17 Alexander Pavlov <apavlov@chromium.org>
34511 Reviewed by Pavel Feldman.
34513 Web Inspector: When switching resources in the Resources panel, the Content tab is always selected
34514 https://bugs.webkit.org/show_bug.cgi?id=36222
34516 * inspector/front-end/ResourcesPanel.js:
34517 (WebInspector.ResourcesPanel.prototype.showResource):
34519 2010-03-17 Brady Eidson <beidson@apple.com>
34521 Reviewed by Darin Adler.
34523 databaseIdentifiers are not filtered for slashes
34524 <rdar://problem/7708789> and https://bugs.webkit.org/show_bug.cgi?id=36243
34526 In addition to filtering for '/' and '\', to remove the directory vulnerability
34527 on all platforms, it seems worth it to also escape other characters that are
34528 obviously dangerous or illegal to have in a filename (mostly inspired by the
34529 Windows illegal-character list).
34531 No new tests - It's unclear how a test could possibly work into our testing
34534 * page/SecurityOrigin.cpp:
34535 (WebCore::): Added a 128-bool table "needsEscaping" that has a true/false answer
34537 (WebCore::SecurityOrigin::SecurityOrigin):
34538 (WebCore::SecurityOrigin::createFromDatabaseIdentifier): "Unescape" the host
34539 component using the KURL utility.
34540 (WebCore::shouldEscapeUChar): If the char is lower-ASCII, look it up in the
34541 needsEscaping table. Otherwise, let it pass.
34542 (WebCore::encodedHost): Modeled after KURL's host escaping method, but targeted
34543 for the escaping considerations for the host component. We don't use the KURL
34544 version because this one is "different" enough because it operates on UTF16 and
34545 has its own "is bad character?" decider.
34546 (WebCore::SecurityOrigin::databaseIdentifier): Create the escaped host if needed,
34547 and use it instead of the unescaped host.
34548 * page/SecurityOrigin.h:
34550 2010-03-17 Dmitry Titov <dimich@chromium.org>
34552 Reviewed by Dimitri Glazkov.
34554 [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread.
34555 https://bugs.webkit.org/show_bug.cgi?id=36239
34557 Test: fast/workers/termination-with-port-messages.html
34559 * bindings/v8/V8Proxy.h:
34560 (WebCore::throwError): Avoid throwing if v8 execution is terminated anyways.
34561 * bindings/v8/WorkerScriptController.h:
34562 (WebCore::WorkerScriptController::proxy): Return V8 proxy as 0 if execution is terminating. Callers to check for 0 before invoking v8.
34563 * bindings/v8/custom/V8WorkerContextCustom.cpp:
34564 (WebCore::SetTimeoutOrInterval): Bail out if v8 proxy is 0.
34565 (WebCore::toV8): Ditto
34567 2010-03-17 José Millán Soto <jmillan@igalia.com>
34569 Reviewed by Adam Barth.
34571 Change the way of prefetching DNS to allow prefetching function to use full URL
34572 https://bugs.webkit.org/show_bug.cgi?id=35589
34574 Creates a new function, ResourceHandle::prepareForURL, whose default implementation
34575 calls prefetchDNS with the host of the given URL as the parameter.
34576 Soup implementation of ResourceHandle::prepareForURL executes soup_session_prepare_for_uri.
34577 Soup implementation of prefetchDNS is removed.
34578 Changed various prefetchDNS calls to ResourceHandle::prepareForURL calls.
34581 * html/HTMLAnchorElement.cpp:
34582 (WebCore::HTMLAnchorElement::parseMappedAttribute):
34583 * html/HTMLLinkElement.cpp:
34584 (WebCore::HTMLLinkElement::process):
34586 (WebCore::Chrome::mouseDidMoveOverElement):
34587 * platform/network/DNS.h:
34588 * platform/network/ResourceHandle.cpp:
34589 (WebCore::ResourceHandle::prepareForURL):
34590 * platform/network/ResourceHandle.h:
34591 * platform/network/chromium/DNSChromium.cpp:
34592 (WebCore::ResourceHandle::prepareForURL):
34593 * platform/network/soup/DNSSoup.cpp: Removed.
34594 * platform/network/soup/ResourceHandleSoup.cpp:
34595 (WebCore::ResourceHandle::prepareForURL):
34596 * wml/WMLAElement.cpp:
34597 (WebCore::WMLAElement::parseMappedAttribute):
34599 2010-03-17 Kenneth Russell <kbr@google.com>
34601 Reviewed by Darin Fisher.
34603 Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093
34604 https://bugs.webkit.org/show_bug.cgi?id=36233
34606 The patch for bug 33416, which added multisampling support to the
34607 WebGL back buffer, uncovered some OpenGL driver bugs on the build
34608 bots which need further investigation to determine the appropriate
34609 workaround. Reverting this change, the minor build fix in 36189,
34610 and the skipping of the affected tests in bug 36200.
34612 Built and tested WebKit and Chromium and ran all WebGL layout
34615 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
34616 (WebCore::V8HTMLCanvasElement::getContextCallback):
34617 * platform/graphics/GraphicsContext3D.h:
34618 * platform/graphics/mac/Canvas3DLayer.h:
34619 * platform/graphics/mac/Canvas3DLayer.mm:
34620 (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
34621 * platform/graphics/mac/GraphicsContext3DMac.cpp:
34622 (WebCore::GraphicsContext3D::GraphicsContext3D):
34623 (WebCore::GraphicsContext3D::~GraphicsContext3D):
34624 (WebCore::GraphicsContext3D::reshape):
34625 (WebCore::GraphicsContext3D::bindFramebuffer):
34626 (WebCore::GraphicsContext3D::readPixels):
34627 * platform/graphics/mac/GraphicsLayerCA.mm:
34628 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
34630 2010-03-17 Yael Aharon <yael.aharon@nokia.com>
34632 Reviewed by Darin Adler.
34634 Optimize painting for HTMLProgressElement
34635 https://bugs.webkit.org/show_bug.cgi?id=36113
34636 Cache the progress bar's position, so it is not required to recalculate
34637 it for each repaint.
34638 Call repaintRectangle() when the position changes.
34640 No new tests, as no new functionality introduced.
34642 * html/HTMLProgressElement.cpp:
34643 (WebCore::HTMLProgressElement::parseMappedAttribute):
34644 * platform/qt/RenderThemeQt.cpp:
34645 (WebCore::RenderThemeQt::getNumberOfPixelsForProgressPosition):
34646 (WebCore::RenderThemeQt::paintProgressBar):
34647 * platform/qt/RenderThemeQt.h:
34648 * rendering/RenderProgress.cpp:
34649 (WebCore::RenderProgress::RenderProgress):
34650 (WebCore::RenderProgress::updateFromElement):
34651 * rendering/RenderProgress.h:
34652 (WebCore::RenderProgress::position):
34653 * rendering/RenderTheme.cpp:
34654 (WebCore::RenderTheme::getNumberOfPixelsForProgressPosition):
34655 * rendering/RenderTheme.h:
34657 2010-03-17 Antonio Gomes <tonikitoo@webkit.org>
34659 Mac Buildfix: Using ASSERT_UNUSED instead of ASSERT.
34661 Reviewed by Simon fraser.
34662 Patch by Antonio Gomes <tonikitoo@webkit.org>
34664 * dom/SelectElement.cpp:
34665 (WebCore::SelectElement::listBoxDefaultEventHandler):
34667 2010-03-17 Enrica Casucci <enrica@apple.com>
34669 Reviewed by Darin Adler.
34671 Missing support for showing compositing layers borders and repaint count on Windows.
34672 <rdar://problem/7760736>
34673 <https://bugs.webkit.org/show_bug.cgi?id=36197>
34675 * platform/graphics/win/GraphicsLayerCACF.cpp:
34676 (WebCore::WebLayer::drawInContext): Modified to use the correct font on Windows.
34678 2010-03-16 Luiz Agostini <luiz.agostini@openbossa.org>
34680 Reviewed by Antti Koivisto.
34682 [Qt] Multiselect Popup - SelectElement refactoring.
34683 https://bugs.webkit.org/show_bug.cgi?id=36124
34685 As it is today it is not possible to the menulists popups to tell SelectElement
34686 that more then one option is selected. If you select one the other ones
34687 selected state will turn off.
34689 For <select multiple> I needed to extend the API used by menulist popups. This
34690 is the first step. Just refactoring SelectElement without any behavior change.
34691 Separating code that will be reused in future patches.
34693 * dom/SelectElement.cpp:
34694 (WebCore::SelectElement::updateSelectedState):
34695 (WebCore::SelectElement::listBoxDefaultEventHandler):
34696 * dom/SelectElement.h:
34698 2010-03-17 Nate Chapin <japhet@chromium.org>
34700 Unreviewed, Chromium build fix.
34702 Delete the correct file this time.
34704 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp.
34705 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
34707 2010-03-17 Nate Chapin <japhet@chromium.org>
34709 Reviewed by Dimitri Glazkov.
34711 [V8] Remove custom bindings callbacks that aren't in use.
34712 (The relevant .idl doesn't mark them as V8Custom or Custom).
34714 https://bugs.webkit.org/show_bug.cgi?id=33066
34716 * Android.v8bindings.mk:
34718 * bindings/scripts/CodeGeneratorV8.pm:
34719 * bindings/v8/custom/V8DOMWindowCustom.cpp:
34720 * bindings/v8/custom/V8WebGLArrayCustom.h:
34721 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
34722 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
34723 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34724 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
34725 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
34726 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
34727 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
34728 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
34729 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
34731 2010-03-17 Steve Block <steveblock@google.com>
34733 Reviewed by Dimitri Glazkov.
34735 Adds ENABLE(WORKERS) guards to V8 bindings
34736 https://bugs.webkit.org/show_bug.cgi?id=36221
34738 Build fix only, no new tests.
34740 * bindings/v8/V8DOMWrapper.cpp:
34741 (WebCore::V8DOMWrapper::instantiateV8Object):
34742 * bindings/v8/V8Proxy.cpp:
34743 (WebCore::toV8Context):
34745 2010-03-17 Yury Semikhatsky <yurys@chromium.org>
34747 Reviewed by Pavel Feldman.
34749 Remove unused reference to InspectorController from InspectorFrontend.
34751 https://bugs.webkit.org/show_bug.cgi?id=36218
34753 * inspector/InspectorFrontend.h:
34755 2010-03-17 Ilya Tikhonovsky <loislo@chromium.org>
34757 Reviewed by Pavel Feldman.
34759 WebInspector: Timeline improvements - next iteration.
34761 The top level records should be collapsed.
34762 Virtually linked events should be nested in Timeline like Send Request and
34763 corresponding Received Responce, Timer Install and Timer Fire etc.
34764 It should be possible to see Main Resource request.
34766 https://bugs.webkit.org/show_bug.cgi?id=36122
34768 * inspector/InspectorController.cpp:
34769 (WebCore::InspectorController::resetScriptObjects):
34770 (WebCore::InspectorController::didReceiveResponse):
34771 * inspector/InspectorTimelineAgent.cpp:
34772 (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
34773 (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
34774 * inspector/InspectorTimelineAgent.h:
34775 * inspector/front-end/TimelinePanel.js:
34776 (WebInspector.TimelinePanel):
34777 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
34778 (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
34779 (WebInspector.TimelinePanel.prototype._findParentRecord):
34780 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
34781 (WebInspector.TimelinePanel.prototype.resize):
34782 (WebInspector.TimelinePanel.prototype._createTopLevelRecord):
34783 (WebInspector.TimelinePanel.prototype.reset):
34784 (WebInspector.TimelinePanel.prototype._clean):
34785 (WebInspector.TimelinePanel.prototype._refresh):
34786 (WebInspector.TimelinePanel.prototype._refreshRecords):
34787 (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
34788 (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
34789 (WebInspector.TimelineCalculator.prototype.updateBoundaries):
34790 (WebInspector.TimelineRecordGraphRow):
34791 (WebInspector.TimelineRecordGraphRow.prototype.update):
34792 (WebInspector.TimelinePanel.FormattedRecord):
34793 (WebInspector.TimelinePanel.FormattedRecord.prototype.get children):
34794 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
34795 * inspector/front-end/inspector.css:
34796 * loader/ResourceLoader.cpp:
34797 (WebCore::ResourceLoader::didReceiveResponse):
34799 2010-03-17 Alexander Pavlov <apavlov@chromium.org>
34801 Reviewed by Pavel Feldman.
34803 Web Inspector: Reimplement style-related audits using native API
34804 https://bugs.webkit.org/show_bug.cgi?id=36172
34806 * inspector/InspectorBackend.cpp:
34807 (WebCore::InspectorBackend::getAllStyles):
34808 * inspector/InspectorBackend.h:
34809 * inspector/InspectorBackend.idl:
34810 * inspector/InspectorDOMAgent.cpp:
34811 (WebCore::InspectorDOMAgent::getAllStyles):
34812 (WebCore::InspectorDOMAgent::getMatchedCSSRules):
34813 (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
34814 (WebCore::InspectorDOMAgent::buildObjectForRule):
34815 * inspector/InspectorDOMAgent.h:
34816 * inspector/InspectorFrontend.cpp:
34817 (WebCore::InspectorFrontend::didGetAllStyles):
34818 * inspector/InspectorFrontend.h:
34819 * inspector/front-end/AuditRules.js:
34820 (WebInspector.AuditRules.evaluateInTargetWindow):
34821 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
34822 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
34823 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
34824 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
34825 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
34826 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
34827 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
34828 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
34829 * inspector/front-end/DOMAgent.js:
34830 * inspector/front-end/InjectedScript.js:
34831 (injectedScriptConstructor):
34833 2010-03-17 Steve Block <steveblock@google.com>
34835 Reviewed by Jeremy Orlow.
34837 Replace instances of bzero in WebCore/bridge common code with memset
34838 https://bugs.webkit.org/show_bug.cgi?id=36214
34840 Syntax change only, no new tests.
34842 * bridge/jni/JNIUtility.cpp:
34843 (JSC::Bindings::getJNIField):
34844 * bridge/jni/jsc/JNIBridgeJSC.cpp:
34845 (JavaField::dispatchValueFromInstance):
34846 * bridge/jni/jsc/JNIUtilityPrivate.cpp:
34847 (JSC::Bindings::convertValueToJValue):
34848 * bridge/jni/v8/JNIUtilityPrivate.cpp:
34849 (JSC::Bindings::convertNPVariantToJValue):
34850 * bridge/jni/v8/JavaNPObjectV8.cpp:
34851 (JSC::Bindings::AllocJavaNPObject):
34853 2010-03-17 Yury Semikhatsky <yurys@chromium.org>
34855 Reviewed by Pavel Feldman.
34857 Mark inspector resources as changed so that they are reloaded on the next frontend connection.
34859 Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection.
34861 https://bugs.webkit.org/show_bug.cgi?id=36183
34863 * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file.
34864 * inspector/InspectorController.cpp:
34865 (WebCore::InspectorController::disconnectFrontend):
34866 (WebCore::InspectorController::unbindAllResources):
34867 (WebCore::InspectorController::didCommitLoad):
34868 * inspector/InspectorController.h:
34869 * inspector/InspectorResource.cpp:
34870 (WebCore::InspectorResource::releaseScriptObject):
34872 2010-03-17 Pavel Feldman <pfeldman@chromium.org>
34874 Reviewed by Timothy Hatcher.
34876 Web Inspector: Capture main resource load events in timeline panel.
34878 https://bugs.webkit.org/show_bug.cgi?id=36188
34880 * inspector/front-end/TimelinePanel.js:
34881 (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
34882 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
34883 (WebInspector.TimelinePanel.prototype.timelineWasStopped):
34884 (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
34885 (WebInspector.TimelinePanel.prototype._clearPanel):
34886 (WebInspector.TimelinePanel.FormattedRecord):
34888 2010-03-17 Zoltan Horvath <zoltan@webkit.org>
34890 Reviewed by Eric Seidel.
34892 Allow custom memory allocation control for AtomicString class
34893 https://bugs.webkit.org/show_bug.cgi?id=35907
34895 Inherits the following class from FastAllocBase because it is
34896 instantiated by 'new':
34898 class name - instantiated at: WebCore/'location'
34899 AtomicString - WebCore/html/HTMLTableElement.cpp:525
34901 * platform/text/AtomicString.h:
34903 2010-03-16 John Abd-El-Malek <jam@chromium.org>
34905 Reviewed by Darin Fisher.
34907 Give keyboard focus to PluginDocuments by default
34908 https://bugs.webkit.org/show_bug.cgi?id=36147
34910 Test: http/tests/plugins/plugin-document-has-focus.html
34912 * loader/PluginDocument.cpp:
34913 (WebCore::PluginDocument::pluginNode):
34914 * loader/PluginDocument.h:
34915 * page/EventHandler.cpp:
34916 (WebCore::eventTargetNodeForDocument):
34918 2010-03-16 Chris Fleizach <cfleizach@apple.com>
34920 Reviewed by Darin Adler.
34922 REGRESSION (r53857): Crash when tabbing to <map>
34923 https://bugs.webkit.org/show_bug.cgi?id=36017
34925 Test: fast/events/imagemap-norender-crash.html
34927 * html/HTMLMapElement.cpp:
34928 (WebCore::HTMLMapElement::imageElement):
34930 2010-03-16 Brent Fulgham <bfulgham@webkit.org>
34932 Build fix. No Review.
34934 Correct missing includes in cURL network backend introduced
34935 by recent changes in WebKit.
34937 * platform/network/curl/ResourceHandleCurl.cpp: Add missing
34938 includes for SharedBuffer and PassRefPtr.
34939 (WebCore::ResourceHandle::loadResourceSynchronously): Correct
34940 constructor signature for ResourceHandle to match @r55688.
34941 * platform/network/curl/ResourceHandleManager.cpp: Add missing
34942 include for RetainPtr.
34944 2010-03-16 Zhenyao Mo <zmo@google.com>
34946 Reviewed by Darin Fisher.
34948 Hook up WebGLContextAttributes to OpenGL context creation code
34949 https://bugs.webkit.org/show_bug.cgi?id=33416
34951 Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
34953 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
34954 * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
34955 * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
34956 * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
34957 * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
34958 * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
34960 2010-03-16 Joanmarie Diggs <joanmarie.diggs@gmail.com>
34962 Reviewed by Xan Lopez.
34964 https://bugs.webkit.org/show_bug.cgi?id=35504
34965 [Gtk] Evaluate and fix AtkTable for layout tables
34967 Causes "layout tables" to be exposed as AccessibilityTables for Gtk.
34969 * accessibility/AccessibilityTable.cpp:
34970 (AccessibilityTable::isTableExposableThroughAccessibility):
34972 2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
34974 Unreviewed. Build fix for distcheck.
34978 2010-03-15 Darin Fisher <darin@chromium.org>
34980 Reviewed by Adam Barth.
34982 https://bugs.webkit.org/show_bug.cgi?id=36152
34983 [chromium] Add support for history.pushState and history.replaceState
34985 This is covered by the existing tests in fast/loader/stateobjects
34987 * bindings/v8/SerializedScriptValue.cpp:
34988 (WebCore::ZigZag::Deserializer::deserialize):
34989 (WebCore::SerializedScriptValue::deserialize):
34990 * bindings/v8/SerializedScriptValue.h:
34991 Switch to returning v8::Null instead of the empty value to match JSC
34994 * loader/FrameLoader.cpp:
34995 (WebCore::FrameLoader::loadInSameDocument): Call
34996 dispatchDidNavigateWithinPage just before dispatching events to the
34997 page. This ordering is important since the event handlers could
34998 destroy the page or start another navigation.
35000 * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to
35001 notify the client whenever a navigation occurs without changing any of
35002 the documents in the page.
35004 2010-03-16 Adam Roben <aroben@apple.com>
35006 Fix linker warnings when building WebCore on Windows
35008 Rubber-stamped by Steve Falkenburg.
35010 * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the
35011 build, since it's already included in DerivedSources.cpp. Also let VS
35012 sort this file as it saw fit.
35014 2010-03-15 Antti Koivisto <koivisto@iki.fi>
35016 Reviewed by Simon Hausmann.
35018 https://bugs.webkit.org/show_bug.cgi?id=36121
35019 [Qt] Make WebKit scrollbars work with tiling
35021 Translate coordinates correctly.
35024 (WebCore::Frame::tiledBackingStorePaintEnd):
35026 2010-03-16 Jakub Wieczorek <jwieczorek@webkit.org>
35028 Reviewed by Eric Seidel.
35030 [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes
35031 when no media services can be found.
35033 https://bugs.webkit.org/show_bug.cgi?id=36142
35035 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
35036 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35038 2010-03-16 Adam Barth <abarth@webkit.org>
35042 noscript tag should render when @sandbox disables JavaScript
35043 https://bugs.webkit.org/show_bug.cgi?id=36092
35045 Add missing "!" in plugin code. Should fix plugins/embed-inside-object
35048 * plugins/PluginView.cpp:
35049 (WebCore::PluginView::load):
35051 2010-03-16 Nate Chapin <japhet@chromium.org>
35053 Reviewed by Dimitri Glazkov.
35055 [V8] Delete DerivedSourcesAllInOne.cpp.
35057 https://bugs.webkit.org/show_bug.cgi?id=33048
35059 * Android.v8bindings.mk:
35060 * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
35062 2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
35064 Revert r56006 as it caused functional issues. We will work on a
35065 testcase, and rework the fix, and land when we have this a bit
35068 * platform/gtk/RenderThemeGtk.cpp:
35069 (WebCore::RenderThemeGtk::paintMediaPlayButton):
35071 2010-03-16 Pavel Feldman <pfeldman@chromium.org>
35073 Reviewed by Timothy Hatcher.
35075 Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML.
35077 https://bugs.webkit.org/show_bug.cgi?id=35025
35079 * inspector/InspectorDOMAgent.cpp:
35080 (WebCore::InspectorDOMAgent::getStyles):
35081 * inspector/front-end/DOMAgent.js:
35082 (WebInspector.DOMNode.prototype._addAttribute):
35083 (WebInspector.DOMWindow.prototype.Object):
35084 * inspector/front-end/MetricsSidebarPane.js:
35085 * inspector/front-end/StylesSidebarPane.js:
35086 (WebInspector.StylesSidebarPane.prototype.update.callback):
35087 (WebInspector.StylesSidebarPane.prototype.update):
35088 (WebInspector.StylesSidebarPane.prototype._update):
35090 2010-03-12 Antonio Gomes <tonikitoo@webkit.org>
35092 Reviewed by Simon Fraser.
35093 Patch by Antonio Gomes <tonikitoo@webkit.org>
35095 Spatial Navigation: Add a scrollIntoView call when focusing an element.
35096 https://bugs.webkit.org/show_bug.cgi?id=36020
35098 When focusing an element in Spatial Navigation logic, it is desired to make
35099 this element visible in the current viewport. For that to happen, there
35100 could be a call to Element's scrollIntoView method at focusing time. However
35101 for visual aspects, it is preferable to scroll to an inflated rect of |element|
35102 in order to consider the focus outline width.
35103 As Element's scrollIntoView method does not provide this flexibility, patch adds
35104 a custom scrollIntoView method to SpatialNavigation.h .
35106 * page/FocusController.cpp:
35107 (WebCore::FocusController::advanceFocusDirectionally):
35108 * page/SpatialNavigation.cpp:
35109 (WebCore::scrollIntoView):
35110 * page/SpatialNavigation.h:
35112 2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
35114 Reviewed by Eric Seidel.
35116 [GTK] Position queries are lagging
35117 https://bugs.webkit.org/show_bug.cgi?id=34372
35119 Normalize timeout priorities through the GStreamer media player as
35120 a whole. This should help avoid that any of them is starved.
35122 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35123 (WebCore::MediaPlayerPrivate::volumeChanged):
35124 (WebCore::MediaPlayerPrivate::processBufferingStats):
35125 (WebCore::MediaPlayerPrivate::muteChanged):
35126 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
35127 (webkit_video_sink_render):
35128 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
35129 (webKitWebSrcNeedDataCb):
35130 (webKitWebSrcEnoughDataCb):
35131 (webKitWebSrcSeekDataCb):
35133 2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
35135 Reviewed by Eric Seidel.
35137 [GTK] Position queries are lagging
35138 https://bugs.webkit.org/show_bug.cgi?id=34372
35140 Use default priority also for parsing data: URIs.
35142 * platform/network/soup/ResourceHandleSoup.cpp:
35143 (WebCore::startData):
35145 2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
35147 Reviewed by Eric Seidel.
35149 [GTK] Position queries are lagging
35150 https://bugs.webkit.org/show_bug.cgi?id=34372
35152 Normalize SharedTimers priorities to always be
35153 G_PRIORITY_DEFAULT. As it is currently, timers that should happen
35154 immediately (0 miliseconds delay) end up delayed by a lot of time
35155 due to glib starving lower priority sources.
35157 * platform/gtk/SharedTimerGtk.cpp:
35158 (WebCore::setSharedTimerFireTime):
35160 2010-03-16 Xan Lopez <xlopez@igalia.com>
35162 Reviewed by Gustavo Noronha.
35164 Add support for Fast Mobile Scrolling in the build system.
35168 2010-03-11 Yury Semikhatsky <yurys@chromium.org>
35170 Reviewed by Pavel Feldman.
35172 Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
35174 Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
35175 https://bugs.webkit.org/show_bug.cgi?id=35036
35178 * WebCore.Inspector.exp:
35179 * WebCore.base.exp:
35183 * WebCore.xcodeproj/project.pbxproj:
35184 * inspector/ConsoleMessage.cpp:
35185 (WebCore::ConsoleMessage::addToFrontend):
35186 * inspector/ConsoleMessage.h:
35187 * inspector/InspectorClient.h:
35188 * inspector/InspectorController.cpp:
35189 (WebCore::InspectorController::InspectorController):
35190 (WebCore::InspectorController::~InspectorController):
35191 (WebCore::InspectorController::inspectedPageDestroyed):
35192 (WebCore::InspectorController::windowVisible):
35193 (WebCore::InspectorController::frontendReady):
35194 (WebCore::InspectorController::willCloseFrontend):
35195 (WebCore::InspectorController::addConsoleMessage):
35196 (WebCore::InspectorController::setInspectorFrontendClient):
35197 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
35198 (WebCore::InspectorController::setFrontend):
35199 (WebCore::InspectorController::show):
35200 (WebCore::InspectorController::close):
35201 (WebCore::InspectorController::releaseDOMAgent):
35202 (WebCore::InspectorController::populateScriptObjects):
35203 (WebCore::InspectorController::didCommitLoad):
35204 (WebCore::InspectorController::getProfile):
35205 (WebCore::InspectorController::enableDebugger):
35206 * inspector/InspectorController.h:
35207 (WebCore::InspectorController::hasInspectorFrontendClient):
35208 * inspector/InspectorFrontend.cpp:
35209 (WebCore::InspectorFrontend::InspectorFrontend):
35210 (WebCore::InspectorFrontend::~InspectorFrontend):
35211 (WebCore::InspectorFrontend::addConsoleMessage):
35212 (WebCore::InspectorFrontend::bringToFront):
35213 (WebCore::InspectorFrontend::inspectedURLChanged):
35214 * inspector/InspectorFrontend.h:
35215 * inspector/InspectorFrontendClient.h: Added.
35216 (WebCore::InspectorFrontendClient::~InspectorFrontendClient):
35217 * inspector/InspectorFrontendClientLocal.cpp: Added.
35218 (WebCore::FrontendMenuProvider::create):
35219 (WebCore::FrontendMenuProvider::disconnect):
35220 (WebCore::FrontendMenuProvider::FrontendMenuProvider):
35221 (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
35222 (WebCore::FrontendMenuProvider::populateContextMenu):
35223 (WebCore::FrontendMenuProvider::contextMenuItemSelected):
35224 (WebCore::FrontendMenuProvider::contextMenuCleared):
35225 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
35226 (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
35227 (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
35228 (WebCore::InspectorFrontendClientLocal::frontendLoaded):
35229 (WebCore::InspectorFrontendClientLocal::canAttachWindow):
35230 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
35231 (WebCore::InspectorFrontendClientLocal::moveWindowBy):
35232 (WebCore::InspectorFrontendClientLocal::showContextMenu):
35233 (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
35234 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
35235 (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight):
35236 * inspector/InspectorFrontendClientLocal.h: Added.
35237 * inspector/InspectorFrontendHost.cpp:
35238 (WebCore::InspectorFrontendHost::InspectorFrontendHost):
35239 (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
35240 (WebCore::InspectorFrontendHost::loaded):
35241 (WebCore::InspectorFrontendHost::attach):
35242 (WebCore::InspectorFrontendHost::detach):
35243 (WebCore::InspectorFrontendHost::closeWindow):
35244 (WebCore::InspectorFrontendHost::bringToFront):
35245 (WebCore::InspectorFrontendHost::inspectedURLChanged):
35246 (WebCore::InspectorFrontendHost::canAttachWindow):
35247 (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
35248 (WebCore::InspectorFrontendHost::moveWindowBy):
35249 (WebCore::InspectorFrontendHost::showContextMenu):
35250 * inspector/InspectorFrontendHost.h:
35251 (WebCore::InspectorFrontendHost::create):
35252 * inspector/InspectorFrontendHost.idl:
35253 * inspector/front-end/InspectorFrontendHostStub.js:
35254 (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
35255 (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
35256 * inspector/front-end/inspector.js:
35257 (WebInspector.loaded):
35258 (WebInspector.close):
35259 (WebInspector.bringToFront):
35260 (WebInspector.inspectedURLChanged):
35261 * loader/EmptyClients.h:
35262 (WebCore::EmptyInspectorClient::openInspectorFrontend):
35263 * loader/FrameLoader.cpp:
35264 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
35266 (WebCore::Page::Page):
35267 (WebCore::Page::~Page):
35269 * platform/ContextMenu.cpp:
35270 (WebCore::ContextMenu::populate):
35271 (WebCore::ContextMenu::addInspectElementItem):
35273 2010-03-16 Pavel Feldman <pfeldman@chromium.org>
35275 Reviewed by Timothy Hatcher.
35277 Web Inspector: migrate to native styles inspector in
35278 order to inspect styles from foreighn domains.
35280 https://bugs.webkit.org/show_bug.cgi?id=36117
35282 * inspector/InspectorBackend.cpp:
35283 (WebCore::InspectorBackend::getStyles):
35284 (WebCore::InspectorBackend::getInlineStyle):
35285 (WebCore::InspectorBackend::getComputedStyle):
35286 (WebCore::InspectorBackend::applyStyleText):
35287 (WebCore::InspectorBackend::setStyleText):
35288 (WebCore::InspectorBackend::setStyleProperty):
35289 (WebCore::InspectorBackend::toggleStyleEnabled):
35290 (WebCore::InspectorBackend::setRuleSelector):
35291 (WebCore::InspectorBackend::addRule):
35292 * inspector/InspectorBackend.h:
35293 * inspector/InspectorBackend.idl:
35294 * inspector/InspectorDOMAgent.cpp:
35295 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
35296 (WebCore::InspectorDOMAgent::getStyles):
35297 (WebCore::InspectorDOMAgent::getInlineStyle):
35298 (WebCore::InspectorDOMAgent::getComputedStyle):
35299 (WebCore::InspectorDOMAgent::getMatchedCSSRules):
35300 (WebCore::InspectorDOMAgent::getAttributeStyles):
35301 (WebCore::InspectorDOMAgent::applyStyleText):
35302 (WebCore::InspectorDOMAgent::setStyleText):
35303 (WebCore::InspectorDOMAgent::setStyleProperty):
35304 (WebCore::InspectorDOMAgent::toggleStyleEnabled):
35305 (WebCore::InspectorDOMAgent::setRuleSelector):
35306 (WebCore::InspectorDOMAgent::addRule):
35307 (WebCore::InspectorDOMAgent::bindStyle):
35308 (WebCore::InspectorDOMAgent::bindRule):
35309 (WebCore::InspectorDOMAgent::buildObjectForStyle):
35310 (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
35311 (WebCore::InspectorDOMAgent::buildObjectForRule):
35312 (WebCore::InspectorDOMAgent::uniqueStyleProperties):
35313 (WebCore::InspectorDOMAgent::longhandProperties):
35314 (WebCore::InspectorDOMAgent::shorthandPriority):
35315 (WebCore::InspectorDOMAgent::ruleAffectsNode):
35316 (WebCore::InspectorDOMAgent::toArray):
35317 * inspector/InspectorDOMAgent.h:
35318 * inspector/InspectorFrontend.cpp:
35319 (WebCore::InspectorFrontend::didGetEventListenersForNode):
35320 (WebCore::InspectorFrontend::didGetStyles):
35321 (WebCore::InspectorFrontend::didGetComputedStyle):
35322 (WebCore::InspectorFrontend::didGetInlineStyle):
35323 (WebCore::InspectorFrontend::didApplyStyleText):
35324 (WebCore::InspectorFrontend::didSetStyleText):
35325 (WebCore::InspectorFrontend::didSetStyleProperty):
35326 (WebCore::InspectorFrontend::didToggleStyleEnabled):
35327 (WebCore::InspectorFrontend::didSetRuleSelector):
35328 (WebCore::InspectorFrontend::didAddRule):
35329 * inspector/InspectorFrontend.h:
35330 * inspector/front-end/DOMAgent.js:
35331 (WebInspector.CSSStyleDeclaration):
35332 * inspector/front-end/ElementsTreeOutline.js:
35333 * inspector/front-end/InjectedScript.js:
35334 * inspector/front-end/MetricsSidebarPane.js:
35335 (WebInspector.MetricsSidebarPane.prototype.update):
35336 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
35337 * inspector/front-end/StylesSidebarPane.js:
35338 (WebInspector.StylesSidebarPane.prototype.update):
35339 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
35340 (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
35341 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback):
35342 (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
35343 (WebInspector.StylePropertyTreeElement.prototype):
35344 (WebInspector.StylePropertyTreeElement.prototype.):
35346 2010-03-16 Shinichiro Hamaji <hamaji@chromium.org>
35348 Reviewed by Darin Adler.
35350 RenderText::m_text should be a String, not RefPtr<StringImpl>
35351 https://bugs.webkit.org/show_bug.cgi?id=36010
35353 Refactoring only, so no new tests.
35355 * platform/text/PlatformString.h:
35356 (WebCore::String::makeLower):
35357 (WebCore::String::makeUpper):
35358 (WebCore::String::makeSecure):
35359 (WebCore::String::makeCapitalized):
35360 (WebCore::String::containsOnlyASCII):
35361 * rendering/RenderText.cpp:
35362 (WebCore::RenderText::RenderText):
35363 (WebCore::RenderText::widthFromCache):
35364 (WebCore::RenderText::trimmedPrefWidths):
35365 (WebCore::RenderText::containsOnlyWhitespace):
35366 (WebCore::RenderText::setTextInternal):
35367 (WebCore::RenderText::setText):
35368 (WebCore::RenderText::previousOffset):
35369 (WebCore::RenderText::previousOffsetForBackwardDeletion):
35370 (WebCore::RenderText::nextOffset):
35371 * rendering/RenderText.h:
35372 (WebCore::RenderText::text):
35373 (WebCore::RenderText::characters):
35374 (WebCore::RenderText::textLength):
35376 2010-03-16 Adam Barth <abarth@webkit.org>
35378 Reviewed by Darin Adler.
35380 noscript tag should render when @sandbox disables JavaScript
35381 https://bugs.webkit.org/show_bug.cgi?id=36092
35383 Instead of talking to Settings directly to figure out if JavaScript is
35384 enabled in a frame, we need to talk to the ScriptController. The
35385 ScriptController is better at answering that question because it knows
35388 Test: fast/frames/sandboxed-iframe-noscript.html
35390 * dom/Document.cpp:
35391 (WebCore::Document::Document):
35392 * html/HTMLCanvasElement.cpp:
35393 (WebCore::HTMLCanvasElement::createRenderer):
35394 * html/HTMLElement.cpp:
35395 (WebCore::HTMLElement::rendererIsNeeded):
35396 * html/HTMLParser.cpp:
35397 (WebCore::HTMLParser::noscriptCreateErrorCheck):
35398 (WebCore::HTMLParser::isInline):
35399 * plugins/PluginView.cpp:
35400 (WebCore::PluginView::load):
35402 2010-03-15 John Gregg <johnnyg@google.com>
35404 Reviewed by David Levin.
35406 Notification object should expose absolute URL of icon
35407 https://bugs.webkit.org/show_bug.cgi?id=35800
35409 Covered by existing tests.
35411 * notifications/Notification.cpp:
35412 (WebCore::Notification::Notification):
35413 * notifications/Notification.h:
35414 (WebCore::Notification::iconURL):
35416 2010-03-15 Leandro Pereira <leandro@profusion.mobi>
35418 Reviewed by Holger Freyther.
35420 Add EFL port files to platform/efl.
35421 http://webkit.org/b/35887
35423 * platform/efl/ClipboardEfl.cpp: Added.
35424 * platform/efl/PasteboardEfl.cpp: Added.
35426 2010-03-15 Kent Tamura <tkent@chromium.org>
35428 Reviewed by Eric Seidel.
35430 Don't submit disabled menu options.
35431 https://bugs.webkit.org/show_bug.cgi?id=35056
35433 Test: fast/forms/menulist-disabled-selected-option.html
35435 * dom/OptionElement.h:
35436 * dom/SelectElement.cpp:
35437 (WebCore::SelectElement::appendFormData):
35438 If a selected option is disabled, skip it.
35439 Remove code for non-selected menulist because of compatibility with
35442 2010-03-15 Leandro Pereira <leandro@profusion.mobi>
35444 Reviewed by Holger Freyther.
35446 Add EFL port files to platform/efl.
35447 http://webkit.org/b/35884
35449 * platform/efl/FileSystemEfl.cpp: Added.
35451 2010-03-15 Leandro Pereira <leandro@profusion.mobi>
35453 Reviewed by Holger Freyther.
35455 Add EFL port files to platform/efl.
35456 http://webkit.org/b/35882
35458 * platform/efl/ContextMenuItemEfl.cpp: Added.
35460 2010-03-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
35462 Reviewed by Holger Freyther.
35464 https://bugs.webkit.org/show_bug.cgi?id=35502
35465 [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText
35467 Simple change to stop tables from implementing AtkText.
35469 * accessibility/gtk/AccessibilityObjectAtk.cpp:
35470 (getInterfaceMaskFromObject):
35472 2010-03-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
35474 Reviewed by Adam Barth.
35476 According to the updated specification, a data field should always
35477 result in a newline character being appended to the data buffer
35478 regardless if the data buffer contains any data or not. However, upon
35479 event dispatch, the last newline will be removed. This differs from an
35480 older version of the specification where a newline character was
35481 appended before the data value only if the buffer already contained
35482 data. As a result, EventSource now supports receiving events with empty
35483 data or newline characters only.
35484 https://bugs.webkit.org/show_bug.cgi?id=33210
35486 * page/EventSource.cpp:
35487 (WebCore::EventSource::parseEventStreamLine):
35489 2010-03-15 Valters Svabe <vsvabe@gmail.com>
35491 Reviewed by Darin Adler.
35493 :after selector displays in wrong place with nested div
35494 https://bugs.webkit.org/show_bug.cgi?id=32288
35496 Make sure we don't append things after :after-generated content, if
35497 it's inside an anonymous block.
35499 Test: fast/css-generated-content/block-after.html
35501 * rendering/RenderBlock.cpp:
35502 (WebCore::RenderBlock::addChild):
35504 2010-03-15 Leandro Pereira <leandro@profusion.mobi>
35506 Reviewed by Eric Seidel.
35508 Add EFL port files to platform/efl.
35509 http://webkit.org/b/35885
35511 * platform/efl/KURLEfl.cpp: Added.
35513 2010-03-15 Chris Fleizach <cfleizach@apple.com>
35515 Reviewed by Beth Dakin.
35517 VO not able to perform a VO-spacebar on facebook links
35518 https://bugs.webkit.org/show_bug.cgi?id=36132
35520 When a label element is used as a click event handler, and it doesn't have any
35521 corresponding control, it should handle the action itself.
35523 Test: accessibility/label-element-press.html
35525 * html/HTMLLabelElement.cpp:
35526 (WebCore::HTMLLabelElement::accessKeyAction):
35528 2010-03-15 Cameron Zwarich <zwarich@apple.com>
35530 Reviewed by Geoff Garen.
35532 Bug 36135 - GCController::garbageCollectNow() crashes when called from garbage collection
35533 <https://bugs.webkit.org/show_bug.cgi?id=36135>
35534 <rdar://problem/7752552>
35536 * bindings/js/GCController.cpp:
35537 (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is
35538 active rather than hitting the CRASH() reentrancy guard.
35540 2010-03-15 Simon Fraser <simon.fraser@apple.com>
35542 Reviewed by Dan Bernstein.
35544 Drop out of compositing mode when no elements need to composite
35545 https://bugs.webkit.org/show_bug.cgi?id=36134
35547 When no more elements on the page need to be composited, drop out of compositing
35548 mode altogether, including removing the layer-backed view that hosts the layers.
35550 * rendering/RenderLayerCompositor.cpp:
35551 (WebCore::RenderLayerCompositor::updateCompositingLayers): If the list of child layers to attach at
35552 the root is empty, we have no composited layers, and can drop out of compositing mode by calling
35553 willMoveOffscreen().
35555 (WebCore::RenderLayerCompositor::computeCompositingRequirements): In several places,
35556 use willBeComposited rather than calling needsToBeComposited(), because it avoids
35557 recomputing state that we know already (but assert that we're getting it right).
35558 When we're assessing the root layer in post-order, see if we have any child layers that
35559 are compositing, and also whether the root itself needs to composite. If neither are
35560 true, then we can drop out of compositing mode.
35562 (WebCore::RenderLayerCompositor::needsToBeComposited):
35563 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Move the
35564 "inCompositingMode() && layer->isRootLayer()" test out of requiresCompositingLayer()
35565 and into needsToBeComposited() so that we can call requiresCompositingLayer() separately
35566 on the root layer above.
35568 2010-03-15 Leandro Pereira <leandro@profusion.mobi>
35570 Reviewed by Kenneth Rohde Christiansen.
35572 Add EFL port files to platform/efl.
35573 http://webkit.org/b/35888
35575 * platform/efl/SoundEfl.cpp: Added.
35577 2010-03-15 Andy Estes <aestes@apple.com>
35579 Reviewed by John Sullivan.
35581 For continuous scrolling devices on the Mac (trackpads and Mighty/Magic
35582 Mice), set the number of wheel ticks equal to the atomic increment of
35583 the device: a pixel. This ensures that any scrolling action will
35584 generate at least one wheel tick, regardless of the speed/length of
35587 https://bugs.webkit.org/show_bug.cgi?id=29601
35588 <rdar://problem/7453254>
35590 Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
35591 fast/events/platform-wheelevent-in-scrolling-div.html
35593 * platform/mac/WebCoreSystemInterface.h: Modify method signature.
35594 * platform/mac/WebCoreSystemInterface.mm: Ditto.
35595 * platform/mac/WheelEventMac.mm:
35596 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into
35597 WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y.
35598 WKSI will query the event system for number of wheel ticks and
35599 pixels/lines scrolled based on the device type.
35601 2010-03-15 Philippe Normand <pnormand@igalia.com>
35603 Reviewed by Gustavo Noronha Silva.
35605 [GStreamer] duration query optimizations
35606 https://bugs.webkit.org/show_bug.cgi?id=36116
35608 Don't reattempt duration queries that previously failed and cache
35609 media duration only if it's known.
35611 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35612 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35613 (WebCore::MediaPlayerPrivate::duration):
35614 (WebCore::MediaPlayerPrivate::updateStates):
35615 (WebCore::MediaPlayerPrivate::durationChanged):
35616 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35618 2010-03-11 Peter Kasting <pkasting@google.com>
35620 Reviewed by Adam Barth.
35622 Clean up more bits of the open-source image decoders. In addition to
35623 simplifying things somewhat, this makes all the decoders the same in
35624 terms of how they construct "image reader" subclasses and init scale
35627 https://bugs.webkit.org/show_bug.cgi?id=36040
35629 No functional change, so no tests.
35631 * platform/image-decoders/ImageDecoder.h: Reorder a few declarations to try and group/order members slightly better.
35632 (WebCore::ImageDecoder::ImageDecoder):
35633 * platform/image-decoders/gif/GIFImageDecoder.cpp: Move reader construction into decode(). Prep scale data in setSize(). Remove useless comment.
35634 (WebCore::GIFImageDecoder::setData):
35635 (WebCore::GIFImageDecoder::setSize):
35636 (WebCore::GIFImageDecoder::frameBufferAtIndex):
35637 (WebCore::GIFImageDecoder::decode):
35638 * platform/image-decoders/gif/GIFImageDecoder.h: Prep scale data in setSize().
35639 * platform/image-decoders/gif/GIFImageReader.cpp: Prep scale data in setSize().
35640 (GIFImageReader::read):
35641 * platform/image-decoders/ico/ICOImageDecoder.cpp: Shorten code.
35642 (WebCore::ICOImageDecoder::setSize):
35643 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix style. Move reader construction into decode().
35644 (WebCore::JPEGImageReader::close):
35645 (WebCore::JPEGImageReader::skipBytes):
35646 (WebCore::JPEGImageDecoder::decode):
35647 * platform/image-decoders/jpeg/JPEGImageDecoder.h: Move reader construction into decode().
35648 (WebCore::JPEGImageDecoder::filenameExtension):
35649 * platform/image-decoders/png/PNGImageDecoder.cpp: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). Remove useless comment.
35650 (WebCore::PNGImageReader::PNGImageReader):
35651 (WebCore::PNGImageReader::close):
35652 (WebCore::PNGImageReader::decode):
35653 (WebCore::PNGImageDecoder::setSize):
35654 (WebCore::PNGImageDecoder::frameBufferAtIndex):
35655 (WebCore::PNGImageDecoder::headerAvailable):
35656 (WebCore::PNGImageDecoder::pngComplete):
35657 (WebCore::PNGImageDecoder::decode):
35658 * platform/image-decoders/png/PNGImageDecoder.h: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize().
35659 (WebCore::PNGImageDecoder::filenameExtension):
35660 (WebCore::PNGImageDecoder::isComplete):
35662 2010-03-15 Philippe Normand <pnormand@igalia.com>
35664 Reviewed by Gustavo Noronha Silva.
35666 [GStreamer] updateStates called for all elements posting a state-change
35667 https://bugs.webkit.org/show_bug.cgi?id=36115
35669 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35670 (WebCore::mediaPlayerPrivateMessageCallback): Update player state
35671 only for state-change messages coming from playbin2 directly.
35672 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35673 (WebCore::MediaPlayerPrivate::pipeline): public accessor for the
35676 2010-03-15 Jian Li <jianli@chromium.org>
35678 Reviewed by Nate Chapin.
35680 [v8] Add V8 bindings for DOMFormData.
35681 https://bugs.webkit.org/show_bug.cgi?id=36026
35683 Test: http/tests/local/send-form-data.html
35685 * Android.v8bindings.mk:
35687 * bindings/v8/V8Index.h:
35688 * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added.
35689 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
35690 (WebCore::V8XMLHttpRequest::sendCallback):
35692 2010-03-15 Jian Li <jianli@chromium.org>
35694 Reviewed by Sam Weinig.
35696 Add DOMFormData.idl to expose FormData interface.
35697 https://bugs.webkit.org/show_bug.cgi?id=36024
35699 The implementation is based on XMLHttpRequest 2 spec:
35700 http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
35702 Test: http/tests/local/send-form-data.html
35704 * Android.derived.jscbindings.mk:
35705 * Android.derived.v8bindings.mk:
35706 * Android.jscbindings.mk:
35707 * DerivedSources.cpp:
35708 * DerivedSources.make:
35711 * WebCore.vcproj/WebCore.vcproj:
35712 * WebCore.xcodeproj/project.pbxproj:
35713 * bindings/js/JSDOMFormDataCustom.cpp: Added.
35714 * bindings/js/JSXMLHttpRequestCustom.cpp:
35715 (WebCore::JSXMLHttpRequest::send):
35716 * bindings/scripts/CodeGeneratorJS.pm:
35717 * html/DOMFormData.idl: Added.
35718 * page/DOMWindow.idl:
35720 2010-03-15 Patrik Persson <patrik.j.persson@ericsson.com>
35722 Reviewed by Darin Adler.
35724 https://bugs.webkit.org/show_bug.cgi?id=32369
35726 Revise iframe sandbox behavior to match the updated HTML5 spec.
35728 - Enables window.sessionStorage in sandboxed iframes.
35730 - Raises SECURITY_ERR exceptions when window.localStorage or
35731 window.openDatabase() is blocked by iframe sandboxing.
35733 Note: window.sessionStorage does not raise exceptions.
35735 WebKit would previously return null references in these cases. The
35736 new behavior is in accordance with HTML5:
35738 http://dev.w3.org/html5/webstorage/ (sections 4.2 and 4.3)
35739 http://dev.w3.org/html5/webdatabase/ (section 4.1)
35740 http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html
35742 * inspector/InspectorController.cpp:
35743 (WebCore::InspectorController::selectDOMStorage): exception handling
35744 * inspector/InspectorDOMStorageResource.cpp:
35745 (WebCore::InspectorDOMStorageResource::handleEvent): exception handling
35746 * page/DOMWindow.cpp:
35747 (WebCore::DOMWindow::sessionStorage): re-enabled in iframe sandbox
35748 (WebCore::DOMWindow::localStorage): raise exception rather than return null
35749 (WebCore::DOMWindow::openDatabase): raise exception rather than return null
35750 * page/DOMWindow.h: added exceptions to interface
35751 * page/DOMWindow.idl: added exceptions to interface
35752 * page/SecurityOrigin.h:
35753 (WebCore::SecurityOrigin::canAccessLocalStorage): renamed function to reflect its purpose
35754 * storage/StorageEventDispatcher.cpp:
35755 (WebCore::StorageEventDispatcher::dispatch): exception handling
35757 2010-03-15 Alexander Pavlov <apavlov@chromium.org>
35759 Reviewed by Timothy Hatcher.
35761 Web Inspector: Implement a progress indicator in the Audits panel
35762 when resources are reloading
35763 https://bugs.webkit.org/show_bug.cgi?id=35971
35765 * English.lproj/localizedStrings.js:
35768 * inspector/front-end/AuditLauncherView.js:
35769 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
35770 (WebInspector.AuditLauncherView.prototype.get totalResources):
35771 (WebInspector.AuditLauncherView.prototype.set totalResources):
35772 (WebInspector.AuditLauncherView.prototype.get loadedResources):
35773 (WebInspector.AuditLauncherView.prototype.set loadedResources):
35774 (WebInspector.AuditLauncherView.prototype._resetResourceCount):
35775 (WebInspector.AuditLauncherView.prototype.resourceStarted):
35776 (WebInspector.AuditLauncherView.prototype.resourceFinished):
35777 (WebInspector.AuditLauncherView.prototype.reset):
35778 (WebInspector.AuditLauncherView.prototype._setAuditRunning):
35779 (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
35780 (WebInspector.AuditLauncherView.prototype._createCategoryElement):
35781 (WebInspector.AuditLauncherView.prototype._createLauncherUI):
35782 (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
35783 (WebInspector.AuditLauncherView.prototype._updateButton):
35784 * inspector/front-end/AuditsPanel.js:
35785 (WebInspector.AuditsPanel.prototype.resourceStarted):
35786 (WebInspector.AuditsPanel.prototype.resourceFinished):
35787 (WebInspector.AuditsPanel.prototype.reset):
35788 * inspector/front-end/Images/spinner.gif: Added.
35789 * inspector/front-end/WebKit.qrc:
35790 * inspector/front-end/audits.css:
35791 (.audit-launcher-view .resource-progress > img):
35792 * inspector/front-end/inspector.js:
35793 (WebInspector.updateResource):
35795 2010-03-15 Philippe Normand <pnormand@igalia.com>
35797 Reviewed by Gustavo Noronha Silva.
35799 [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player
35800 https://bugs.webkit.org/show_bug.cgi?id=35735
35802 Replaced g_idle_add calls with Timers immediately started once
35803 only. The g_timeout_add was replaced by a periodic Timer.
35805 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35806 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35807 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
35808 (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
35809 (WebCore::MediaPlayerPrivate::volumeChanged):
35810 (WebCore::MediaPlayerPrivate::processBufferingStats):
35811 (WebCore::MediaPlayerPrivate::fillTimerFired):
35812 (WebCore::MediaPlayerPrivate::maxTimeLoaded):
35813 (WebCore::MediaPlayerPrivate::updateStates):
35814 (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
35815 (WebCore::MediaPlayerPrivate::muteChanged):
35816 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35818 2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
35820 Reviewed by Eric Carlson.
35822 media/video-preload.html fails
35823 https://bugs.webkit.org/show_bug.cgi?id=35793
35825 Only effectively load, and start buffering when playing, or when
35826 the preload attribute is set.
35828 Test: media/video-preload.html
35830 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35831 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35832 (WebCore::MediaPlayerPrivate::load):
35833 (WebCore::MediaPlayerPrivate::commitLoad):
35834 (WebCore::MediaPlayerPrivate::prepareToPlay):
35835 (WebCore::MediaPlayerPrivate::setPreload):
35836 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35838 2010-03-15 Shu Chang <Chang.Shu@nokia.com>
35840 Reviewed by Holger Freyther.
35842 [Qt] The behavior of QGradient with no stops is defined differently from HTML5 spec,
35843 where the latter requires the gradient to be transparent black. Explicitly added a
35844 transparent black color stop to match the HTML5 behavior.
35845 https://bugs.webkit.org/show_bug.cgi?id=36060
35847 * platform/graphics/qt/GradientQt.cpp:
35848 (WebCore::Gradient::platformGradient):
35850 2010-03-11 Antonio Gomes <tonikitoo@webkit.org>
35852 Rubber-stamped by Holger Freyther.
35853 Patch by Antonio Gomes <tonikitoo@webkit.org>
35855 Some minor code clean ups in SpatialNavigation.cpp
35857 * page/SpatialNavigation.cpp:
35858 (WebCore::distanceInDirection):
35859 (WebCore::deflateIfOverlapped):
35861 2010-03-13 Ilya Tikhonovsky <loislo@chromium.org>
35863 Reviewed by Timothy Hatcher.
35865 WebInspector: Position of GraphBar elements is calculating more carefully
35866 and they fully visible at the bottom of Timeline panel.
35868 http://bugs.webkit.org/show_bug.cgi?id=35966
35870 * inspector/front-end/TimelinePanel.js:
35871 (WebInspector.TimelineRecordGraphRow.prototype.update):
35873 2010-03-15 MORITA Hajime <morrita@google.com>
35875 Reviewed by Alexey Proskuryakov.
35877 Selection.modify extends too far with 'lineboundary'.
35878 https://bugs.webkit.org/show_bug.cgi?id=33413
35880 Selection.modify() with 'lineboundary' granularity implies just
35881 "Go to the end of the line", unlike selection expansion with
35882 other type of granularities. This change handled LineGranularity
35883 as special case, to look-up end of line with UPSTREAM affinity.
35884 Doing this prevents look-up algorithm to go next line.
35886 Test: editing/selection/extend-selection-expected.txt
35888 * dom/Position.cpp:
35889 (WebCore::Position::getInlineBoxAndOffset):
35890 Handled an edge case for node look-up with UPSTREAM.
35891 * editing/SelectionController.cpp:
35892 (WebCore::SelectionController::modifyExtendingForward):
35893 Added UPSTREAM tweak for the case for LineGranularity.
35895 2010-03-14 Yuzo Fujishima <yuzo@google.com>
35897 Reviewed by Shinichiro Hamaji.
35899 Always call PrintContext.end() from PrintContext::pageNumberForElement().
35901 Without this change, WebKit remains in printing mode after determining the page number if the specified element is found.
35903 https://bugs.webkit.org/show_bug.cgi?id=36049
35905 Test: printing/return-from-printing-mode.html
35907 * page/PrintContext.cpp:
35908 (WebCore::PrintContext::pageNumberForElement):
35910 2010-03-11 Philippe Normand <pnormand@igalia.com>
35912 Reviewed by Gustavo Noronha Silva.
35914 [GStreamer] progressTimer never stopped after EOS
35915 https://bugs.webkit.org/show_bug.cgi?id=36007
35917 Mark the pipeline as paused only if playback hasn't ended
35918 yet. When didEnd() is triggered, the pipeline is paused (but
35919 paused() still returns false) and a timeupdate event is fired,
35920 those 2 conditions allow the HTMLMediaElement to stop the
35921 progressTimer (in updatePlayerState, via mediaPlayerTimeChanged).
35923 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35924 (WebCore::MediaPlayerPrivate::updateStates):
35926 2010-03-14 Chang Shu <chang.shu@nokia.com>
35928 Reviewed by Simon Hausmann.
35930 [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS
35931 on Symbian platform.
35932 https://bugs.webkit.org/show_bug.cgi?id=35919
35936 2010-03-14 Yael Aharon <yael.aharon@nokia.com>
35938 Reviewed by Darin Adler.
35940 Support for HTMLProgressElement
35941 https://bugs.webkit.org/show_bug.cgi?id=35937
35943 Added support for HTMLProgressElement.
35944 This implementation is enabled only for Qt, because only RenderThemeQt
35945 was modified to actually draw the progress element.
35946 The labels attribute of the progress element will be implemented in a
35949 Tests: fast/dom/HTMLProgressElement/progress-element.html
35950 fast/dom/HTMLProgressElement/set-progress-properties.html
35952 * DerivedSources.cpp:
35953 * DerivedSources.make:
35958 * WebCore.vcproj/WebCore.vcproj:
35959 * WebCore.xcodeproj/project.pbxproj:
35960 * css/CSSPrimitiveValueMappings.h:
35961 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
35962 * css/CSSSelector.cpp:
35963 (WebCore::CSSSelector::extractPseudoType):
35964 * css/CSSValueKeywords.in:
35966 * html/HTMLElement.cpp:
35967 (WebCore::inlineTagList):
35968 * html/HTMLElementsAllInOne.cpp:
35969 * html/HTMLFormControlElement.cpp:
35970 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
35971 * html/HTMLFormControlElement.h:
35972 * html/HTMLProgressElement.cpp: Added.
35973 (WebCore::HTMLProgressElement::HTMLProgressElement):
35974 (WebCore::HTMLProgressElement::create):
35975 (WebCore::HTMLProgressElement::createRenderer):
35976 (WebCore::HTMLProgressElement::formControlType):
35977 (WebCore::HTMLProgressElement::parseMappedAttribute):
35978 (WebCore::HTMLProgressElement::value):
35979 (WebCore::HTMLProgressElement::setValue):
35980 (WebCore::HTMLProgressElement::max):
35981 (WebCore::HTMLProgressElement::setMax):
35982 (WebCore::HTMLProgressElement::position):
35983 * html/HTMLProgressElement.h: Added.
35984 (WebCore::HTMLProgressElement::isOptionalFormControl):
35985 * html/HTMLProgressElement.idl: Added.
35986 * html/HTMLTagNames.in:
35987 * page/DOMWindow.idl:
35988 * platform/ThemeTypes.h:
35989 * platform/qt/RenderThemeQt.cpp:
35990 (WebCore::RenderThemeQt::adjustProgressBarStyle):
35991 (WebCore::RenderThemeQt::paintProgressBar):
35992 * platform/qt/RenderThemeQt.h:
35993 * rendering/RenderObject.h:
35994 (WebCore::RenderObject::isProgress):
35995 * rendering/RenderProgress.cpp: Added.
35996 (WebCore::RenderProgress::RenderProgress):
35997 (WebCore::RenderProgress::baselinePosition):
35998 (WebCore::RenderProgress::calcPrefWidths):
35999 (WebCore::RenderProgress::layout):
36000 (WebCore::RenderProgress::updateFromElement):
36001 * rendering/RenderProgress.h: Added.
36002 (WebCore::RenderProgress::renderName):
36003 (WebCore::RenderProgress::isProgress):
36004 (WebCore::toRenderProgress):
36005 * rendering/RenderTheme.cpp:
36006 (WebCore::RenderTheme::adjustStyle):
36007 (WebCore::RenderTheme::paint):
36008 (WebCore::RenderTheme::paintBorderOnly):
36009 (WebCore::RenderTheme::paintDecorations):
36010 (WebCore::RenderTheme::adjustProgressBarStyle):
36011 * rendering/RenderTheme.h:
36012 (WebCore::RenderTheme::paintProgressBar):
36014 2010-03-14 Oliver Hunt <oliver@apple.com>
36016 Reviewed by Darin Adler.
36018 REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set
36019 https://bugs.webkit.org/show_bug.cgi?id=36095
36021 The issue here is that while dropEffect is meant to be initialized
36022 to "none", the behaviour of the drag is differs between dragEffect
36023 not being set and dragEffect being explicitly set to "none"
36025 This patch corrects this behaviour by making Clipboard distinguish
36026 between the initial "none" value of dropEffect and an explicit "none".
36027 This alone is insufficient for correct behaviour, we also need to
36028 resurrect the removed defaultOperationForDrag function, but we now
36029 use the function only when dragEffect is uninitialized. There are a
36030 few tweaks to the behaviour of the defaultOperationForDrag as well
36031 to ensure exactly the same set of outcomes for all cases that we
36034 * dom/Clipboard.cpp:
36035 (WebCore::Clipboard::Clipboard):
36036 (WebCore::dragOpFromIEOp):
36037 (WebCore::Clipboard::destinationOperation):
36039 (WebCore::Clipboard::dropEffect):
36040 (WebCore::Clipboard::dropEffectIsUninitialized):
36041 * page/DragController.cpp:
36042 (WebCore::defaultOperationForDrag):
36043 (WebCore::DragController::tryDHTMLDrag):
36045 2010-03-14 Antti Koivisto <koivisto@iki.fi>
36047 Reviewed by Simon Hausmann.
36049 https://bugs.webkit.org/show_bug.cgi?id=35146
36050 Support tiled backing store
36052 Implements a basic tiled backing store mechanism. Tiles are created and
36053 deleted on demand. The page content is cached to the tiles. Tile content
36054 is kept in sync with the document. Since the backing store covers area
36055 larger than the currently visible viewport, the document can be scrolled
36056 quickly without having to enter rendering tree painting.
36058 The tile management code is platform independent. This patch has simple QPixmap
36059 based tile implementation for Qt.
36061 The feature is behind ENABLE_TILED_BACKING_STORE flag.
36066 (WebCore::Frame::Frame):
36067 (WebCore::Frame::setTiledBackingStoreEnabled):
36068 (WebCore::Frame::tiledBackingStorePaintBegin):
36069 (WebCore::Frame::tiledBackingStorePaint):
36070 (WebCore::Frame::tiledBackingStorePaintEnd):
36071 (WebCore::Frame::tiledBackingStoreContentsRect):
36073 (WebCore::Frame::tiledBackingStore):
36074 * page/FrameView.cpp:
36075 (WebCore::FrameView::repaintContentRectangle):
36076 (WebCore::FrameView::doDeferredRepaints):
36077 * page/Settings.cpp:
36078 (WebCore::Settings::Settings):
36079 (WebCore::Settings::setTiledBackingStoreEnabled):
36081 (WebCore::Settings::tiledBackingStoreEnabled):
36082 * platform/graphics/Tile.h: Added.
36083 (WebCore::Tile::create):
36084 (WebCore::Tile::coordinate):
36085 (WebCore::Tile::rect):
36086 * platform/graphics/TiledBackingStore.cpp: Added.
36087 (WebCore::TiledBackingStore::TiledBackingStore):
36088 (WebCore::TiledBackingStore::~TiledBackingStore):
36089 (WebCore::TiledBackingStore::invalidate):
36090 (WebCore::TiledBackingStore::updateTileBuffers):
36091 (WebCore::TiledBackingStore::paint):
36092 (WebCore::TiledBackingStore::viewportChanged):
36093 (WebCore::TiledBackingStore::setContentsScale):
36094 (WebCore::TiledBackingStore::tileDistance):
36095 (WebCore::TiledBackingStore::createTiles):
36096 (WebCore::TiledBackingStore::dropOverhangingTiles):
36097 (WebCore::TiledBackingStore::dropTilesOutsideRect):
36098 (WebCore::TiledBackingStore::tileAt):
36099 (WebCore::TiledBackingStore::setTile):
36100 (WebCore::TiledBackingStore::removeTile):
36101 (WebCore::TiledBackingStore::mapToContents):
36102 (WebCore::TiledBackingStore::mapFromContents):
36103 (WebCore::TiledBackingStore::contentsRect):
36104 (WebCore::TiledBackingStore::tileRectForCoordinate):
36105 (WebCore::TiledBackingStore::tileCoordinateForPoint):
36106 (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
36107 (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
36108 (WebCore::TiledBackingStore::startTileCreationTimer):
36109 (WebCore::TiledBackingStore::tileCreationTimerFired):
36110 (WebCore::TiledBackingStore::setContentsFrozen):
36111 * platform/graphics/TiledBackingStore.h: Added.
36112 (WebCore::TiledBackingStore::contentsScale):
36113 (WebCore::TiledBackingStore::contentsFrozen):
36114 * platform/graphics/TiledBackingStoreClient.h: Added.
36115 * platform/graphics/qt/TileQt.cpp: Added.
36116 (WebCore::checkeredPixmap):
36117 (WebCore::Tile::Tile):
36118 (WebCore::Tile::~Tile):
36119 (WebCore::Tile::isDirty):
36120 (WebCore::Tile::isReadyToPaint):
36121 (WebCore::Tile::invalidate):
36122 (WebCore::Tile::updateBackBuffer):
36123 (WebCore::Tile::swapBackBufferToFront):
36124 (WebCore::Tile::paint):
36125 (WebCore::Tile::paintCheckerPattern):
36127 2010-03-14 Dan Bernstein <mitz@apple.com>
36129 Reviewed by Darin Adler.
36131 WebCore part of removing support for legacy versions of Core Graphics
36133 * WebCore.vcproj/WebCore.vcproj: Removed FontDatabase.{cpp,h}
36134 * platform/graphics/win/FontCGWin.cpp:
36135 (WebCore::Font::drawGlyphs): Removed call to wkCanCreateCGFontWithLOGFONT(),
36136 as it is now always true.
36137 * platform/graphics/win/FontCacheWin.cpp:
36138 (WebCore::FontCache::createFontPlatformData): Ditto.
36139 * platform/graphics/win/FontCustomPlatformData.cpp:
36140 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Updated for
36141 the removal of m_cgFont.
36142 (WebCore::FontCustomPlatformData::fontPlatformData): Removed call to
36143 wkCanCreateCGFontWithLOGFONT(), as it is now always true.
36144 (WebCore::createFontCustomPlatformData): Ditto. Also updated for change to
36145 the FontCustomPlatformData constructor.
36146 * platform/graphics/win/FontCustomPlatformData.h: Removed m_cgFont member.
36147 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed cgFont
36149 * platform/graphics/win/FontDatabase.cpp: Removed.
36150 * platform/graphics/win/FontDatabase.h: Removed.
36151 * platform/graphics/win/FontPlatformDataCGWin.cpp:
36152 (WebCore::FontPlatformData::platformDataInit): Removed call to
36153 wkCanCreateCGFontWithLOGFONT(), as it is now always true.
36154 * platform/win/TemporaryLinkStubs.cpp:
36155 (WebCore::populateFontDatabase): Removed stub.
36157 2010-03-14 Jessie Berlin <jberlin@webkit.org>
36159 Reviewed by Sam Weinig.
36161 "event.ctrlKey" is always false when dragging an element with "ctrl" key down
36162 https://bugs.webkit.org/show_bug.cgi?id=17113
36166 * page/DragController.cpp:
36167 (WebCore::createMouseEvent):
36168 Use the current state of the shift, ctrl, alt, and meta keys when creating the drag mouse event.
36170 2010-03-13 Antonio Gomes <tonikitoo@webkit.org>
36172 Not reviewed identation fix.
36174 * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
36176 2010-03-13 Kim Grönholm <kim.gronholm@nomovok.com>
36178 Reviewed by Kenneth Rohde Christiansen.
36180 [Qt] GraphicsLayer: Opacity change from zero to non-zero doesn't always have effect with AC
36181 https://bugs.webkit.org/show_bug.cgi?id=36034
36183 * platform/graphics/qt/GraphicsLayerQt.cpp:
36184 (WebCore::OpacityAnimationQt::applyFrame):
36186 2010-03-13 Kim Grönholm <kim.gronholm@nomovok.com>
36188 Reviewed by Kenneth Rohde Christiansen.
36190 [Qt] GraphicsLayer: Opacity transitions end with begin value
36191 https://bugs.webkit.org/show_bug.cgi?id=36019
36193 * platform/graphics/qt/GraphicsLayerQt.cpp:
36194 (WebCore::AnimationQt::updateCurrentTime):
36196 2010-03-13 Dirk Schulze <krit@webkit.org>
36198 No review, rolling out r55927.
36199 http://trac.webkit.org/changeset/55927
36200 https://bugs.webkit.org/show_bug.cgi?id=35793
36202 Breaks Gtk build bots.
36204 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
36205 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
36206 (WebCore::MediaPlayerPrivate::load):
36207 (WebCore::MediaPlayerPrivate::setPreload):
36208 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
36210 2010-03-12 Dirk Schulze <krit@webkit.org>
36212 Reviewed by Nikolas Zimmermann.
36214 SVG Glyphs - transform path not context
36215 https://bugs.webkit.org/show_bug.cgi?id=36070
36217 SVGFont should transform the path of a glyph, not the context. Modifying
36218 the context causes wrong gradient transformations. This bug doesn't
36219 influence CG because we generally fill or stroke texts with a mask image.
36220 All other platforms provide a direct way to make the drawings.
36223 (WebCore::Font::drawTextUsingSVGFont):
36225 2010-03-12 Beth Dakin <bdakin@apple.com>
36227 Reviewed by Simon Fraser.
36229 Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen
36230 API naming is inconsistent
36231 -and corresponding-
36232 <rdar://problem/7729165>
36234 This patch changes all occurrences of "fullScreen" to the more
36235 popular "fullscreen." webkitEnterFullScreen and
36236 webkitExitFullScreen have been maintained for now for backwards
36239 * html/HTMLVideoElement.cpp:
36240 (WebCore::HTMLVideoElement::webkitEnterFullscreen):
36241 (WebCore::HTMLVideoElement::webkitExitFullscreen):
36242 * html/HTMLVideoElement.h:
36243 (WebCore::HTMLVideoElement::webkitEnterFullScreen):
36244 (WebCore::HTMLVideoElement::webkitExitFullScreen):
36245 * html/HTMLVideoElement.idl:
36246 * platform/graphics/mac/MediaPlayerProxy.h:
36248 2010-03-12 James Robinson <jamesr@chromium.org>
36250 Reviewed by Adam Barth.
36252 Add virtual destructor to DOMWrapperWorld
36253 https://bugs.webkit.org/show_bug.cgi?id=36077
36255 DOMWrapperWorld is RefCounted<DOMWrapperWorld>. IsolatedWorld
36256 inherits from DOMWrapperWorld and has member variables
36257 with destructors, so DOMWrapperWorld needs to have a declared virtual
36258 d'tor to ensure that its derived class's destructors are called.
36260 No new tests, no change in behavior
36262 * bindings/v8/DOMWrapperWorld.h:
36263 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
36266 2010-03-11 Gavin Barraclough <barraclough@apple.com>
36268 Reviewed by Oliver Hunt.
36270 Bug 36075 - Clean up screwyness re static string impls & Identifiers.
36272 * platform/text/StringImpl.cpp:
36273 (WebCore::StringImpl::~StringImpl): Add ASSERT
36274 (WebCore::StringImpl::sharedBuffer): Add ASSERT
36275 * platform/text/StringImpl.h:
36276 (WebCore::StringImpl::setHash): Add ASSERT
36277 (WebCore::StringImpl::isStatic): added.
36279 2010-03-12 Enrica Casucci <enrica@apple.com>
36281 Reviewed by Simon Fraser.
36283 Content of 3D tests appears at the bottom right corner sometimes.
36284 <rdar://problem/7556244>
36285 <https://bugs.webkit.org/show_bug.cgi?id=36027>
36287 There were two problems to solve here:
36288 - the incorrect anchoring of the rootChildLayer that was causing the composited
36289 content to be positioned incorrectly
36290 - the failure to paint the non composited content into the backing store when
36291 animating composited content.
36293 The first problem has been solved by leaving the original anchor point for the
36294 rootChildLayer and splitting the tasks of clipping and scrolling using two separate layers.
36295 The second problem has been solved leveraging the knowledge that WebView has of the dirty region
36296 of the backing store to pass this information to the layer renderer. This allows the renderer to force
36297 a paint into the backing store before moving to the compositing.
36299 Tests: compositing/geometry/horizontal-scroll-composited.html
36300 compositing/geometry/vertical-scroll-composited.html
36302 * manual-tests/win/horizontal-scroll-composited.html: Removed. This is now a layout test.
36303 * manual-tests/win/milliondollar.html: Added.
36304 * platform/graphics/win/WKCACFLayerRenderer.cpp:
36305 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Added initialization of dirty flag.
36306 (WebCore::WKCACFLayerRenderer::setScrollFrame):
36307 (WebCore::WKCACFLayerRenderer::updateScrollFrame): Updated to resize and position the clip and scroll layers.
36308 (WebCore::WKCACFLayerRenderer::setRootChildLayer):
36309 (WebCore::WKCACFLayerRenderer::createRenderer): Added new layer hierarchy.
36310 (WebCore::WKCACFLayerRenderer::destroyRenderer): Remove clip layer on destroy.
36311 (WebCore::WKCACFLayerRenderer::resize):
36312 (WebCore::WKCACFLayerRenderer::paint): Forcing paint massage to trigger paint into the backing store.
36313 * platform/graphics/win/WKCACFLayerRenderer.h:
36314 (WebCore::WKCACFLayerRenderer::setBackingStoreDirty): Added.
36316 2010-03-12 Robert Hogan <robert@webkit.org>
36318 Not reviewed, build fix.
36320 Revert http://trac.webkit.org/projects/webkit/changeset/55374 which broke
36321 the !ENABLE(DATABASE) build on all platforms when attempting to fix the
36322 --minimal build on Qt.
36324 Support for SQLite now seems to be non-negotiable for the Qt build but making
36325 it mandatory requires review, so re-break --minimal Qt build for now.
36327 Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073
36329 * page/GeolocationPositionCache.cpp:
36331 2010-03-12 Dan Bernstein <mitz@apple.com>
36333 Reviewed by Alexey Proskuryakov.
36335 <rdar://problem/7709115> REGRESSION: toolbar is missing at http://www.glom.org/
36336 https://bugs.webkit.org/show_bug.cgi?id=35507
36338 * css/CSSImportRule.cpp:
36339 (WebCore::CSSImportRule::setCSSStyleSheet): Extend the change made in
36340 <http://trac.webkit.org/changeset/48818> to detect the two variants of
36341 KHTMLFixes.css in @import rules as well as in <link> elements.
36343 2010-03-12 Gavin Barraclough <barraclough@apple.com>
36345 Reviewed by Geoff Garen.
36347 Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash
36349 r55878 changed UStringImpl::empty()->characters() to be non-null,
36350 so TextBreakIteratorQt.cpp now should check the length of strings
36351 (previously was assuming all strings with a non-null data pointer
36352 had a length of at least 1).
36354 * platform/text/qt/TextBreakIteratorQt.cpp:
36355 (WebCore::wordBreakIterator):
36356 (WebCore::characterBreakIterator):
36357 (WebCore::lineBreakIterator):
36358 (WebCore::sentenceBreakIterator):
36360 2010-03-12 Dirk Schulze <krit@webkit.org>
36362 Reviewed by Nikolas Zimmermann.
36364 SVG fallback color doesn't work for bogus gradients.
36365 https://bugs.webkit.org/show_bug.cgi?id=35479
36367 Use a given fallback color on ignored gradients if present. Gradients
36368 must be ignored, if one dimension of the objects boundingBox is zero.
36370 Test: svg/custom/gradient-with-1d-boundingbox.svg
36372 * svg/graphics/SVGPaintServer.cpp:
36373 (WebCore::SVGPaintServer::strokePaintServer):
36374 * svg/graphics/SVGPaintServerGradient.cpp:
36375 (WebCore::SVGPaintServerGradient::setup):
36377 2010-03-12 David Hyatt <hyatt@apple.com>
36379 Reviewed by Dan Bernstein.
36381 https://bugs.webkit.org/show_bug.cgi?id=36069
36383 Eliminate InlineRunBox.
36385 * WebCore.xcodeproj/project.pbxproj:
36386 * rendering/InlineFlowBox.cpp:
36387 (WebCore::InlineFlowBox::adjustPosition):
36388 (WebCore::InlineFlowBox::paintFillLayer):
36389 (WebCore::InlineFlowBox::paintBoxDecorations):
36390 (WebCore::InlineFlowBox::paintMask):
36391 * rendering/InlineFlowBox.h:
36392 (WebCore::InlineFlowBox::InlineFlowBox):
36393 (WebCore::InlineFlowBox::prevLineBox):
36394 (WebCore::InlineFlowBox::nextLineBox):
36395 (WebCore::InlineFlowBox::setNextLineBox):
36396 (WebCore::InlineFlowBox::setPreviousLineBox):
36397 * rendering/InlineRunBox.h: Removed.
36398 * rendering/InlineTextBox.h:
36399 (WebCore::InlineTextBox::InlineTextBox):
36400 (WebCore::InlineTextBox::prevTextBox):
36401 (WebCore::InlineTextBox::nextTextBox):
36402 (WebCore::InlineTextBox::setNextTextBox):
36403 (WebCore::InlineTextBox::setPreviousTextBox):
36404 * rendering/RenderBlock.cpp:
36405 (WebCore::RenderBlock::destroy):
36406 (WebCore::RenderBlock::rightmostPosition):
36407 (WebCore::RenderBlock::leftmostPosition):
36408 * rendering/RenderInline.cpp:
36409 (WebCore::RenderInline::destroy):
36410 (WebCore::RenderInline::absoluteRects):
36411 (WebCore::RenderInline::absoluteQuads):
36412 (WebCore::RenderInline::linesBoundingBox):
36413 (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
36414 (WebCore::RenderInline::addFocusRingRects):
36415 (WebCore::RenderInline::paintOutline):
36416 * rendering/RenderLayer.cpp:
36417 (WebCore::RenderLayer::localBoundingBox):
36418 * rendering/RenderLineBoxList.cpp:
36419 (WebCore::RenderLineBoxList::deleteLineBoxTree):
36420 (WebCore::RenderLineBoxList::extractLineBox):
36421 (WebCore::RenderLineBoxList::attachLineBox):
36422 (WebCore::RenderLineBoxList::removeLineBox):
36423 (WebCore::RenderLineBoxList::deleteLineBoxes):
36424 (WebCore::RenderLineBoxList::dirtyLineBoxes):
36425 (WebCore::RenderLineBoxList::paint):
36426 (WebCore::RenderLineBoxList::hitTest):
36427 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
36428 (WebCore::RenderLineBoxList::checkConsistency):
36429 * rendering/RenderSVGInline.cpp:
36430 (WebCore::RenderSVGInline::absoluteRects):
36431 (WebCore::RenderSVGInline::absoluteQuads):
36432 * rendering/RenderSVGText.cpp:
36433 (WebCore::RenderSVGText::absoluteRects):
36434 (WebCore::RenderSVGText::absoluteQuads):
36435 (WebCore::RenderSVGText::objectBoundingBox):
36436 * rendering/RenderText.cpp:
36437 (WebCore::RenderText::extractTextBox):
36438 (WebCore::RenderText::attachTextBox):
36439 (WebCore::RenderText::removeTextBox):
36440 (WebCore::RenderText::createInlineTextBox):
36441 (WebCore::RenderText::positionLineBox):
36442 * rendering/RootInlineBox.h:
36443 (WebCore::RootInlineBox::nextRootBox):
36444 (WebCore::RootInlineBox::prevRootBox):
36446 2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
36448 Reviewed by Eric Carlson.
36450 media/video-preload.html fails
36451 https://bugs.webkit.org/show_bug.cgi?id=35793
36453 Only effectively load, and start buffering when playing, or when
36454 the preload attribute is set.
36456 Test: media/video-preload.html
36458 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
36459 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
36460 (WebCore::MediaPlayerPrivate::load):
36461 (WebCore::MediaPlayerPrivate::commitLoad):
36462 (WebCore::MediaPlayerPrivate::prepareToPlay):
36463 (WebCore::MediaPlayerPrivate::setPreload):
36464 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
36466 2010-03-12 Dmitry Titov <dimich@chromium.org>
36468 Not reviewed, build fix.
36470 Reverts 55920 and 55921. Landing for Jian Li.
36472 * Android.derived.jscbindings.mk:
36473 * Android.derived.v8bindings.mk:
36474 * DerivedSources.cpp:
36475 * DerivedSources.make:
36479 * WebCore.vcproj/WebCore.vcproj:
36480 * WebCore.xcodeproj/project.pbxproj:
36481 * bindings/js/JSDOMFormDataCustom.cpp: Removed.
36482 * bindings/js/JSXMLHttpRequestCustom.cpp:
36483 (WebCore::JSXMLHttpRequest::send):
36484 * bindings/scripts/CodeGeneratorJS.pm:
36485 * bindings/v8/V8Index.h:
36486 * bindings/v8/custom/V8DOMFormDataCustom.cpp: Removed.
36487 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
36488 (WebCore::V8XMLHttpRequest::sendCallback):
36489 * html/DOMFormData.idl: Removed.
36490 * page/DOMWindow.idl:
36492 2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
36494 Reviewed by Dirk Schulze.
36496 [OpenVG] Add support for drawing text to PainterOpenVG
36497 https://bugs.webkit.org/show_bug.cgi?id=35581
36499 Doesn't come with any actual font classes, as OpenVG
36500 by itself doesn't provide any access to platform fonts
36501 but just the means to draw glyphs that have been loaded
36504 * platform/graphics/openvg/PainterOpenVG.cpp:
36505 (WebCore::PlatformPainterState::PlatformPainterState):
36506 (WebCore::PlatformPainterState::copyPaintState):
36507 (WebCore::PainterOpenVG::textDrawingMode):
36508 (WebCore::PainterOpenVG::setTextDrawingMode):
36509 (WebCore::PainterOpenVG::drawText):
36510 * platform/graphics/openvg/PainterOpenVG.h:
36512 2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
36514 Reviewed by Dirk Schulze.
36516 [OpenVG] Use masks to implement non-rectilinear clipping
36517 https://bugs.webkit.org/show_bug.cgi?id=35544
36519 Requires some additional context switching logic to
36520 make sure the right context is current when dealing
36521 with the mask, because we don't store it by ourselves.
36523 Initial version of this code was written by
36524 Eli Fidler <efidler@rim.com>, I did a couple of
36525 bug fixes and efficiency improvements since then.
36527 * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
36528 (WebCore::GraphicsContext::clipPath):
36529 (WebCore::GraphicsContext::clip):
36530 (WebCore::GraphicsContext::clipOut):
36531 (WebCore::GraphicsContext::clipOutEllipseInRect):
36532 (WebCore::GraphicsContext::addInnerRoundedRectClip):
36533 * platform/graphics/openvg/PainterOpenVG.cpp:
36534 (WebCore::PlatformPainterState::PlatformPainterState):
36535 (WebCore::PlatformPainterState::~PlatformPainterState):
36536 (WebCore::PlatformPainterState::maskingEnabled):
36537 (WebCore::PlatformPainterState::applyState):
36538 (WebCore::PlatformPainterState::saveMaskIfNecessary):
36539 (WebCore::PainterOpenVG::intersectClipRect):
36540 (WebCore::PainterOpenVG::clipPath):
36541 (WebCore::PainterOpenVG::save):
36542 * platform/graphics/openvg/PainterOpenVG.h:
36543 (WebCore::PainterOpenVG::):
36544 * platform/graphics/openvg/SurfaceOpenVG.cpp:
36545 (WebCore::SurfaceOpenVG::makeCurrent):
36546 (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
36547 * platform/graphics/openvg/SurfaceOpenVG.h:
36548 (WebCore::SurfaceOpenVG::):
36550 2010-03-12 Jian Li <jianli@chromium.org>
36552 Reviewed by Sam Weinig.
36554 Add DOMFormData.idl to expose FormData interface.
36555 https://bugs.webkit.org/show_bug.cgi?id=36024
36557 The implementation is based on XMLHttpRequest 2 spec:
36558 http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
36560 Test: http/tests/local/send-form-data.html
36562 * Android.derived.jscbindings.mk:
36563 * Android.derived.v8bindings.mk:
36564 * DerivedSources.cpp:
36565 * DerivedSources.make:
36568 * WebCore.vcproj/WebCore.vcproj:
36569 * WebCore.xcodeproj/project.pbxproj:
36570 * bindings/js/JSDOMFormDataCustom.cpp: Added.
36571 * bindings/js/JSXMLHttpRequestCustom.cpp:
36572 (WebCore::JSXMLHttpRequest::send):
36573 * bindings/scripts/CodeGeneratorJS.pm:
36574 * html/DOMFormData.idl: Added.
36575 * page/DOMWindow.idl:
36577 2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
36579 Reviewed by Dirk Schulze.
36581 [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces
36582 https://bugs.webkit.org/show_bug.cgi?id=35538
36584 SurfaceOpenVG can now not only encapsulate pbuffer
36585 and window surfaces but also VGImage-based ones.
36587 * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
36588 (WebCore::EGLDisplayOpenVG::createPbufferFromClientBuffer):
36589 * platform/graphics/openvg/EGLDisplayOpenVG.h:
36590 * platform/graphics/openvg/SurfaceOpenVG.cpp:
36591 (WebCore::SurfaceOpenVG::SurfaceOpenVG):
36592 * platform/graphics/openvg/SurfaceOpenVG.h:
36594 2010-03-12 Alpha Lam <hclam@chromium.org>
36596 Reviewed by Eric Carlson.
36598 Fix a crash when resource loading of media element is canceled.
36599 https://bugs.webkit.org/show_bug.cgi?id=35992
36601 Use of HTMLMediaElement::duration() after resource loading was canceled
36602 will cause a crash. This is because HTMLMediaElement::m_player is used
36604 Test: http/tests/media/video-cancel-load.html
36606 * html/HTMLMediaElement.cpp:
36607 (WebCore::HTMLMediaElement::duration):
36608 Avoid calling to m_player when it is null.
36609 (WebCore::HTMLMediaElement::userCancelledLoad):
36610 Set m_readyState to HAVE_NOTHING.
36612 2010-03-12 Dan Bernstein <mitz@apple.com>
36614 Reviewed by Darin Adler.
36616 <rdar://problem/7725534> CSSPrimitiveValue::parserValue() returns deleted memory
36617 https://bugs.webkit.org/show_bug.cgi?id=20069
36619 No test added, since with the CSS variables feature disabled, the pointer
36620 to the freed memory is never dereferenced.
36622 * css/CSSPrimitiveValue.cpp:
36623 (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from
36625 (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change.
36627 2010-03-12 Dan Bernstein <mitz@apple.com>
36631 * platform/chromium/PlatformKeyboardEventChromium.cpp:
36633 2010-03-12 Dan Bernstein <mitz@apple.com>
36635 Reviewed by Darin Adler.
36637 <rdar://problem/7694674> Hover states not updated when overflow section scrolls under stationary mouse pointer
36638 https://bugs.webkit.org/show_bug.cgi?id=35949
36640 Test: fast/events/overflow-scroll-fake-mouse-move.html
36642 Soon after an overflow section scrolls under the mouse pointer, dispatch
36643 a fake mouse move event. This is similar to how frame scrolling is handled
36644 in WebKit, and has the effect of updating hover state, dispatching DOM mouse
36645 events, and updating the tool tip.
36647 * page/EventHandler.cpp:
36648 (WebCore::EventHandler::EventHandler): Initialize m_fakeMouseMoveEventTimer.
36649 (WebCore::EventHandler::~EventHandler): Assert that the timer is not active.
36650 (WebCore::EventHandler::clear): Stop the timer.
36651 (WebCore::EventHandler::handleMousePressEvent): Cancel pending fake mouse
36653 (WebCore::EventHandler::handleMouseMoveEvent): Ditto.
36654 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): If the mouse
36655 is in the passed-in quad, ensure that a fake mouse move event is scheduled
36657 (WebCore::EventHandler::cancelFakeMouseMoveEvent): Does what the name says.
36658 (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Constructs a
36659 PlatformMouseEvent with the current mouse location, modifier key state and
36660 time stamp and calls mouseMoved().
36661 * page/EventHandler.h:
36662 * platform/PlatformKeyboardEvent.h: Declared getCurrentModifierState().
36663 * platform/android/KeyEventAndroid.cpp:
36664 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
36665 * platform/brew/PlatformKeyboardEventBrew.cpp:
36666 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36667 * platform/chromium/PlatformKeyboardEventChromium.cpp:
36668 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
36669 * platform/efl/PlatformKeyboardEventEfl.cpp:
36670 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
36671 * platform/gtk/KeyEventGtk.cpp:
36672 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36673 * platform/haiku/PlatformKeyboardEventHaiku.cpp:
36674 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
36675 * platform/mac/KeyEventMac.mm:
36676 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36677 * platform/qt/PlatformKeyboardEventQt.cpp:
36678 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
36679 * platform/win/KeyEventWin.cpp:
36680 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
36681 * platform/wx/KeyboardEventWx.cpp:
36682 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36683 * rendering/RenderLayer.cpp:
36684 (WebCore::RenderLayer::scrollToOffset): Call
36685 EventHandler::dispatchFakeMouseMoveEventSoonInQuad(). Moved things around
36686 a little to avoid computing the repaint rect twice.
36688 2010-03-12 Kent Hansen <kent.hansen@nokia.com>
36690 Reviewed by Darin Adler.
36692 Webkit doesn't build with workers on and database off
36693 https://bugs.webkit.org/show_bug.cgi?id=35997
36695 Added missing ENABLE(DATABASE) guards.
36697 * workers/WorkerThread.cpp:
36698 (WebCore::WorkerThreadShutdownStartTask::performTask):
36700 2010-03-12 Dan Winship <danw@gnome.org>
36702 Reviewed by Gustavo Noronha.
36704 Make the defaultCookieJar use a no-third-party policy. Most
36705 applications set their own cookie jar, but DumpRenderTree doesn't,
36706 so it was failing the new third-party-cookie test.
36708 * platform/network/soup/CookieJarSoup.cpp:
36709 (WebCore::defaultCookieJar):
36711 2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
36713 Reviewed by Laszlo Gombos.
36715 [Qt] Enable network state notifier when compiling against Qt 4.7
36716 https://bugs.webkit.org/show_bug.cgi?id=35983
36719 * platform/network/qt/NetworkStateNotifierPrivate.h:
36720 * platform/network/qt/NetworkStateNotifierQt.cpp:
36722 2010-03-11 Benjamin Poulain <benjamin.poulain@nokia.com>
36724 Reviewed by Adam Treat.
36726 Do not render the full frame when there is some elements with fixed positioning
36727 https://bugs.webkit.org/show_bug.cgi?id=33150
36729 The frame view take into acount the list of fixed object when scrolling
36730 the view. If the number of object is lower than a certain threshold, the pixel
36731 are blitted, and the invalidated area updated.
36733 * page/FrameView.cpp:
36734 (WebCore::FrameView::FrameView):
36735 (WebCore::FrameView::useSlowRepaints):
36736 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
36737 (WebCore::FrameView::addFixedObject):
36738 (WebCore::FrameView::removeFixedObject):
36739 (WebCore::FrameView::scrollContentsFastPath):
36740 * page/FrameView.h:
36741 * platform/ScrollView.cpp:
36742 (WebCore::ScrollView::scrollContents):
36743 (WebCore::ScrollView::scrollContentsFastPath):
36744 * platform/ScrollView.h:
36745 * rendering/RenderBlock.h:
36746 (WebCore::RenderBlock::positionedObjects):
36747 * rendering/RenderBox.cpp:
36748 (WebCore::RenderBox::styleWillChange):
36749 * rendering/RenderObject.cpp:
36750 (WebCore::RenderObject::styleWillChange):
36752 2010-03-11 Aaron Boodman <aa@chromium.org>
36754 Kill WebDocument::applicationID() (part 1).
36756 Modify interface to WebCore::NotificationPresenter::checkPermission()
36757 and remove implementation of WebDocument::applicationID(). Breaking
36758 API changes will be in a subsequent change.
36759 https://bugs.webkit.org/show_bug.cgi?id=35846
36761 * notifications/Notification.cpp:
36762 (WebCore::Notification::Notification):
36763 * notifications/NotificationCenter.cpp:
36764 (WebCore::NotificationCenter::checkPermission):
36765 * notifications/NotificationPresenter.h:
36767 2010-03-11 Dmitry Titov <dimich@chromium.org>
36769 Reviewed by David Levin.
36771 [v8] Remove obsolete code for delayed dereferencing of DOM objects for single-heap, multithread v8 usage.
36772 https://bugs.webkit.org/show_bug.cgi?id=36043
36774 No new tests, no changes in functionality.
36776 * bindings/v8/DOMData.cpp:
36777 (WebCore::DOMData::DOMData):
36778 * bindings/v8/DOMData.h:
36779 (WebCore::DOMData::handleWeakObject):
36780 * bindings/v8/DOMDataStore.cpp:
36781 * bindings/v8/DOMDataStore.h:
36782 (WebCore::DOMDataStore::domObjectMap):
36783 (WebCore::DOMDataStore::activeDomObjectMap):
36784 (WebCore::DOMDataStore::domSvgElementInstanceMap):
36785 (WebCore::DOMDataStore::domSvgObjectWithContextMap):
36786 * bindings/v8/ScopedDOMDataStore.cpp:
36787 (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
36788 * bindings/v8/StaticDOMDataStore.cpp:
36789 (WebCore::StaticDOMDataStore::StaticDOMDataStore):
36790 * bindings/v8/StaticDOMDataStore.h:
36791 * bindings/v8/V8DOMMap.cpp:
36792 (WebCore::removeAllDOMObjectsInCurrentThread):
36794 2010-03-11 Gavin Barraclough <barraclough@apple.com>
36796 Rubber stamped by Oliver Hunt.
36798 Remove nonsense comments used in development & commited in error.
36800 * platform/text/StringImpl.h:
36802 2010-03-11 Gavin Barraclough <barraclough@apple.com>
36804 Reviewed by Oliver Hunt.
36806 https://bugs.webkit.org/show_bug.cgi?id=36041
36807 Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
36809 Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar,
36810 but has trivial and unnecessary formatting differences, such as the exact wording
36811 of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc.
36813 * platform/text/StringImpl.cpp:
36814 (WebCore::StringImpl::empty): Reordered in file, made empty()->characters() return a non-null value to match JSC.
36815 (WebCore::StringImpl::createUninitialized): Added overflow check.
36816 (WebCore::StringImpl::create): Reordered in file.
36817 (WebCore::StringImpl::sharedBuffer): Reordered in file.
36818 * platform/text/StringImpl.h:
36819 (WebCore::StringImpl::): Remove ThreadGlobalData as friend, move SharableUChar & SharedUChar to WebCore namespace.
36820 (WebCore::StringImpl::StringImpl): Made static constructor method (used to create empty string) take arguments, to match JSC & prevent accidental use.
36821 (WebCore::StringImpl::setHash): Added missing ASSERT.
36822 (WebCore::StringImpl::adopt): Make adpot work with Vectors with a non-zero inline capacity.
36823 (WebCore::StringImpl::characters): Mark as const to match JSC.
36824 (WebCore::StringImpl::hash): Use !m_hash instead of m_hash == 0.
36825 (WebCore::StringImpl::computeHash): Remove redundant 'inline'.
36827 2010-03-11 Mark Rowe <mrowe@apple.com>
36829 Reviewed by David Kilzer.
36831 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
36833 Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
36835 * Configurations/Base.xcconfig:
36837 2010-03-11 Jungshik Shin <jshin@chromium.org>
36839 [Chromium]: Plane 2 characters are rendered "blank"
36840 (not even empty boxes) on Windows even when there are fonts to
36843 https://bugs.webkit.org/show_bug.cgi?id=35605
36845 Test:LayoutTests/fast/text/international/plane2.html
36847 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
36848 (WebCore::LookupAltName): Add two ExtB fonts to the array (namePairs) that are used for Plane 2 character rendering.
36849 (WebCore::FontCache::getFontDataForCharacters): Add two more fonts to the fallback font list
36850 * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
36851 (WebCore::getFallbackFamily): Fix the fallback font lookup to cover Plane 2 (CJK ExtB).
36853 2010-03-11 Leandro Pereira <leandro@profusion.mobi>
36855 Reviewed by Holger Freyther.
36857 Add EFL port files to platform/efl.
36858 http://webkit.org/b/35889
36860 * platform/efl/SystemTimeEfl.cpp: Added.
36862 2010-03-11 Mark Rowe <mrowe@apple.com>
36864 Reviewed by Tim Hatcher.
36866 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
36868 Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
36869 current Mac OS X version unless otherwise specified.
36871 Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
36873 Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
36874 may not be usable when targetting a different Mac OS X version.
36876 Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
36877 MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
36879 * Configurations/Base.xcconfig:
36880 * Configurations/DebugRelease.xcconfig:
36881 * Configurations/FeatureDefines.xcconfig:
36882 * Configurations/Version.xcconfig:
36883 * Configurations/WebCore.xcconfig:
36885 2010-03-11 Anders Carlsson <andersca@apple.com>
36887 Reviewed by David Hyatt.
36889 Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
36891 * loader/EmptyClients.h:
36894 * page/ChromeClient.h:
36895 * platform/HostWindow.h:
36897 2010-03-11 Nate Chapin <japhet@chromium.org>
36899 Reviewed by Dimitri Glazkov.
36901 [V8] Remove DOMObjectsInclude.h and update headers accordingly.
36903 https://bugs.webkit.org/show_bug.cgi?id=36036
36906 * bindings/v8/DOMData.h:
36907 * bindings/v8/DOMDataStore.h:
36908 * bindings/v8/DOMObjectsInclude.h: Removed.
36909 * bindings/v8/V8DOMMap.cpp:
36910 * bindings/v8/V8DOMWindowShell.cpp:
36911 * bindings/v8/V8DOMWrapper.cpp:
36912 * bindings/v8/V8GCController.cpp:
36913 * bindings/v8/V8Proxy.cpp:
36915 2010-03-11 Simon Fraser <simon.fraser@apple.com>
36917 Reviewed by Mark Rowe.
36919 Remove duplicate entries revealed after sorting.
36921 * WebCore.xcodeproj/project.pbxproj:
36923 2010-03-11 Simon Fraser <simon.fraser@apple.com>
36925 Reviewed by Mark Rowe.
36927 Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file
36928 every time you opened it).
36930 * WebCore.xcodeproj/project.pbxproj:
36932 2010-03-11 Nate Chapin <japhet@chromium.org>
36934 Reviewed by Dimitri Glazkov.
36936 Fix style issues and improve comments from
36937 http://trac.webkit.org/changeset/55853.
36939 https://bugs.webkit.org/show_bug.cgi?id=36029
36941 * platform/animation/TimingFunction.h:
36942 (WebCore::TimingFunction::TimingFunction):
36944 2010-03-11 Chris Fleizach <cfleizach@apple.com>
36946 Reviewed by Beth Dakin.
36948 accessibilityIsIgnoredBase() needs to respect when platform says include
36949 https://bugs.webkit.org/show_bug.cgi?id=36025
36951 Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no
36952 answer. This allows the platform to make a yes decision on an element.
36954 * accessibility/AccessibilityList.cpp:
36955 (WebCore::AccessibilityList::accessibilityIsIgnored):
36956 * accessibility/AccessibilityListBox.cpp:
36957 (WebCore::AccessibilityListBox::accessibilityIsIgnored):
36958 * accessibility/AccessibilityObject.h:
36960 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
36961 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36962 * accessibility/AccessibilityRenderObject.cpp:
36963 (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
36964 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
36965 * accessibility/AccessibilityRenderObject.h:
36966 * accessibility/AccessibilitySlider.cpp:
36967 (WebCore::AccessibilitySlider::accessibilityIsIgnored):
36968 * accessibility/AccessibilityTable.cpp:
36969 (WebCore::AccessibilityTable::accessibilityIsIgnored):
36970 * accessibility/AccessibilityTableCell.cpp:
36971 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
36972 * accessibility/AccessibilityTableRow.cpp:
36973 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
36974 * accessibility/chromium/AccessibilityObjectChromium.cpp:
36975 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36976 * accessibility/gtk/AccessibilityObjectAtk.cpp:
36977 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36978 * accessibility/mac/AccessibilityObjectMac.mm:
36979 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36980 * accessibility/qt/AccessibilityObjectQt.cpp:
36981 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36982 * accessibility/win/AccessibilityObjectWin.cpp:
36983 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36984 * accessibility/wx/AccessibilityObjectWx.cpp:
36985 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36987 2010-03-11 Kenneth Russell <kbr@google.com>
36989 Reviewed by Dimitri Glazkov.
36991 Fix build breakage with ENABLE_3D_CANVAS=0
36992 https://bugs.webkit.org/show_bug.cgi?id=35995
36994 No new tests; verified in Chromium that WebGL is disabled in
36995 ENABLE_3D_CANVAS=0 builds.
36997 * bindings/v8/custom/V8DocumentCustom.cpp:
36998 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
37000 2010-03-11 Nate Chapin <japhet@chromium.org>
37002 Unreviewed, Chromium mac build fix.
37004 Add an explicit copy constructor to TimingFunction.
37005 http://trac.webkit.org/changeset/55835 trigged an inlining
37006 bug in gcc that the copy constructor resolves.
37008 * platform/animation/TimingFunction.h:
37009 (WebCore::TimingFunction::TimingFunction):
37011 2010-03-11 Chris Fleizach <cfleizach@apple.com>
37013 Fixing GTK. No review.
37015 support lang attribute on <option> elements
37016 https://bugs.webkit.org/show_bug.cgi?id=36021
37018 We don't need to cast to AccessibilityRenderObject to get language().
37020 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
37021 (webkit_accessible_document_get_locale):
37023 2010-03-11 Chris Fleizach <cfleizach@apple.com>
37025 Reviewed by Darin Adler.
37027 support lang attribute on <option> elements
37028 https://bugs.webkit.org/show_bug.cgi?id=36021
37030 Allow non AccessibilityRenderObject classes to access the lang
37031 attribute by moving the useful code into AccessibilityObject.
37033 Test: platform/mac/accessibility/option-with-lang.html
37035 * accessibility/AccessibilityListBoxOption.cpp:
37036 (WebCore::AccessibilityListBoxOption::language):
37037 * accessibility/AccessibilityListBoxOption.h:
37038 * accessibility/AccessibilityObject.cpp:
37039 (WebCore::AccessibilityObject::language):
37040 * accessibility/AccessibilityObject.h:
37041 * accessibility/AccessibilityRenderObject.cpp:
37042 (WebCore::AccessibilityRenderObject::language):
37043 * accessibility/AccessibilityRenderObject.h:
37045 2010-03-11 Diego Gonzalez <diego.gonzalez@openbossa.org>
37047 Reviewed by Simon Hausmann.
37049 [Qt] Access key modifier should be Ctrl+Alt for Darwin derived OS and Alt for the others
37050 https://bugs.webkit.org/show_bug.cgi?id=35993
37052 * page/qt/EventHandlerQt.cpp:
37053 (WebCore::EventHandler::accessKeyModifiers):
37055 2010-03-08 Brett Wilson <brettw@chromium.org>
37057 Reviewed by Adam Barth.
37059 Remove the deprecated argument to url_util::IsStandard in preparation
37060 for deleting that version of the function. Pull the latest googleurl
37061 with the new version for the Chromium builder.
37063 * platform/KURLGoogle.cpp:
37064 (WebCore::KURL::isHierarchical):
37066 2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
37068 Reviewed by Tor Arne Vestbø.
37070 [Qt] Make it possible to do builds with separate debug info in packages
37074 2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
37076 Reviewed by Tor Arne Vestbø.
37078 [Qt] Avoid double-buffering with Qt image decoders
37080 Pass QIODevice::Unbuffered when opening the QBuffer that
37081 wraps the image data, to hint to Qt that no extra buffering
37084 * platform/graphics/qt/ImageDecoderQt.cpp:
37085 (WebCore::ImageDecoderQt::setData):
37087 2010-03-10 Ben Murdoch <benm@google.com>
37089 Reviewed by Jeremy Orlow.
37091 [Android] The platform touch events on Android are missing support
37093 https://bugs.webkit.org/show_bug.cgi?id=35521
37095 Add support in PlatformToucHEventAndroid for the platform supplying
37096 key modifiers with touch events.
37098 Fixes Android so it now passes basic-single-touch-events.html.
37100 * page/EventHandler.cpp:
37101 (WebCore::EventHandler::handleTouchEvent): Fix two compiler warnings.
37102 * platform/PlatformTouchEvent.h:
37103 (WebCore::PlatformTouchEvent::PlatformTouchEvent): Add support for
37104 key modifiers on Android.
37105 * platform/android/PlatformTouchEventAndroid.cpp:
37106 (WebCore::PlatformTouchEvent::PlatformTouchEvent): ditto.
37108 2010-03-10 Steve Block <steveblock@google.com>
37110 Reviewed by Jeremy Orlow.
37112 Implements Geolocation maximumAge property
37113 https://bugs.webkit.org/show_bug.cgi?id=30676
37115 Test: fast/dom/Geolocation/maximum-age.html
37117 * WebCore.xcodeproj/project.pbxproj: Modified. Adds GeolocationPositionCache.h to Private headers
37118 * page/Geolocation.cpp: Modified.
37119 (WebCore::Geolocation::GeoNotifier::setUseCachedPosition): Added.
37120 (WebCore::Geolocation::GeoNotifier::runSuccessCallback): Added.
37121 (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Added logic to handle using a cached position
37122 (WebCore::Geolocation::Watchers::contains): Added. Required to determine if a notifier is a watch request
37123 (WebCore::Geolocation::startRequest): Modified. Added logic to check for a cached position
37124 (WebCore::Geolocation::requestUsesCachedPosition): Added. Callback to Geolocation object when notifier uses a cached position
37125 (WebCore::Geolocation::makeCachedPositionCallbacks): Added.
37126 (WebCore::Geolocation::haveSuitableCachedPosition): Added.
37127 (WebCore::Geolocation::setIsAllowed): Modified.
37128 (WebCore::Geolocation::positionChanged): Modified. Make callbacks using cached position where appropriate
37129 (WebCore::Geolocation::geolocationServiceErrorOccurred): Modified. Make callbacks using cached position where appropriate
37130 * page/Geolocation.h: Modified.
37132 2010-03-11 Csaba Osztrogonác <ossy@webkit.org>
37134 Unreviewed buildfix after r55823. (To fix Qt --minimal build.)
37135 I have déjà vu, I'm sure that I did it before. (r55598)
37137 * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
37139 2010-03-11 Csaba Osztrogonác <ossy@webkit.org>
37141 [Qt] Unreviewed buildfix after r55833.
37143 Rename all instances of data() to characters()
37145 * bridge/qt/qt_class.cpp:
37146 (JSC::Bindings::QtClass::fieldNamed):
37147 * bridge/qt/qt_runtime.cpp:
37148 (JSC::Bindings::convertValueToQVariant):
37150 2010-03-11 Zoltan Horvath <zoltan@webkit.org>
37152 Reviewed by Simon Hausmann.
37154 Allow custom memory allocation control for RenderLayerBacking class
37155 https://bugs.webkit.org/show_bug.cgi?id=35857
37157 Inherits the following class from Noncopyable because it is
37158 instantiated by 'new' and no need to be copyable:
37160 class name - instantiated at: WebCore/'location'
37161 RenderLayerBacking - rendering/RenderLayer.cpp:3047
37163 * rendering/RenderLayerBacking.h:
37165 2010-03-11 Zoltan Horvath <zoltan@webkit.org>
37167 Reviewed by Simon Hausmann.
37169 Allow custom memory allocation control for TimingFunction struct
37170 https://bugs.webkit.org/show_bug.cgi?id=35855
37172 Inherits the following struct from FastAllocBase because it is
37173 instantiated by 'new':
37175 class name - instantiated at: WebCore/'location'
37176 TimingFuction - platform/graphics/GraphicsLayer.h:89
37178 * platform/animation/TimingFunction.h:
37180 2010-03-10 Gavin Barraclough <barraclough@apple.com>
37182 Rubber stamped by Oliver Hunt.
37184 Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
37186 * bridge/jni/jsc/JavaStringJSC.h:
37187 (JSC::Bindings::JavaStringImpl::uchars):
37188 * platform/text/AtomicString.cpp:
37189 (WebCore::AtomicString::add):
37190 (WebCore::AtomicString::find):
37192 2010-03-10 Gavin Barraclough <barraclough@apple.com>
37194 Reviewed by Mark Rowe.
37196 Fix for r55825, threadsafeCopy no longer needs to special-case for
37197 empty strings (in fact, doing so results in leaks).
37199 * platform/text/StringImpl.cpp:
37200 (WebCore::StringImpl::threadsafeCopy):
37202 2010-03-10 Chang Shu <chang.shu@nokia.com>
37204 Reviewed by Darin Adler.
37206 While calculating alpha channel, convert the floating point value to
37207 an integer in [0, 256) with equal distribution.
37208 https://bugs.webkit.org/show_bug.cgi?id=22150
37210 * css/CSSParser.cpp:
37211 (WebCore::CSSParser::parseColorParameters):
37213 2010-03-10 Gavin Barraclough <barraclough@apple.com>
37215 Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
37217 https://bugs.webkit.org/show_bug.cgi?id=35991
37218 Would be faster to not use a thread specific to implement StringImpl::empty()
37220 Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static,
37221 shared by all threads.
37223 ~2% progression on Dromaeo DOM core & JS lib tests.
37225 * platform/ThreadGlobalData.cpp:
37226 (WebCore::ThreadGlobalData::ThreadGlobalData):
37227 (WebCore::ThreadGlobalData::~ThreadGlobalData):
37228 * platform/ThreadGlobalData.h:
37229 (WebCore::ThreadGlobalData::eventNames):
37230 * platform/text/StringImpl.cpp:
37231 (WebCore::StringImpl::StringImpl):
37232 (WebCore::StringImpl::empty):
37233 * platform/text/StringImpl.h:
37234 (WebCore::StringImpl::deref):
37235 (WebCore::StringImpl::hasOneRef):
37237 2010-03-08 Dumitru Daniliuc <dumi@chromium.org>
37239 Reviewed by Adam Barth.
37241 Adding support for the optional creation callback that could be
37242 passed to openDatabase().
37244 Tests: storage/open-database-creation-callback.html
37245 storage/open-database-creation-callback-isolated-world.html
37247 https://bugs.webkit.org/show_bug.cgi?id=34726
37249 * Android.jscbindings.mk
37250 * Android.v8bindings.mk
37254 * WebCore.vcproj/WebCore.vcproj:
37255 * WebCore.xcodeproj/project.pbxproj:
37256 * bindings/js/JSDOMWindowCustom.cpp:
37257 (WebCore::JSDOMWindow::openDatabase):
37258 * bindings/js/JSDatabaseCallback.cpp: Added.
37259 (WebCore::JSDatabaseCallback::JSDatabaseCallback):
37260 (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
37261 (WebCore::JSDatabaseCallback::handleEvent):
37262 * bindings/js/JSDatabaseCallback.h: Added.
37263 (WebCore::JSDatabaseCallback::create):
37264 * bindings/v8/custom/V8DOMWindowCustom.cpp:
37265 (WebCore::V8DOMWindow::openDatabaseCallback):
37266 * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
37267 (WebCore::V8DatabaseCallback::V8DatabaseCallback):
37268 (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
37269 (WebCore::V8DatabaseCallback::handleEvent):
37270 * bindings/v8/custom/V8DatabaseCallback.h: Added.
37271 (WebCore::V8DatabaseCallback::create):
37272 * page/DOMWindow.cpp:
37273 (WebCore::DOMWindow::openDatabase):
37274 * page/DOMWindow.h:
37275 * page/DOMWindow.idl:
37276 * storage/Database.cpp:
37277 (WebCore::DatabaseCreationCallbackTask::create):
37278 (WebCore::DatabaseCreationCallbackTask::performTask):
37279 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
37280 (WebCore::Database::openDatabase):
37281 (WebCore::Database::Database):
37282 (WebCore::Database::performOpenAndVerify):
37283 (WebCore::Database::performCreationCallback):
37284 * storage/Database.h:
37285 (WebCore::Database::isNew):
37286 * storage/DatabaseCallback.h: Added.
37287 (WebCore::DatabaseCallback::~DatabaseCallback):
37288 * workers/WorkerContext.cpp:
37289 (WebCore::WorkerContext::openDatabase):
37290 * workers/WorkerContext.h:
37292 2010-03-10 Justin Schuh <jschuh@chromium.org>
37294 Reviewed by Adam Barth.
37296 Make Chrome consistently handle leading format characters in URLs
37298 https://bugs.webkit.org/show_bug.cgi?id=35948
37300 Test: http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html
37302 * platform/KURLGoogle.cpp:
37304 2010-03-10 Jian Li <jianli@chromium.org>
37306 Reviewed by Dmitry Titov.
37308 Implementing DOMFormData class.
37309 https://bugs.webkit.org/show_bug.cgi?id=35707
37311 This patch only addresses the implementation of DOMFormData class and
37312 moves the FormData construction logic from HTMLFormElement::createFormData
37313 to FormData::create() so that it can be used by both HTMLFormElement
37314 and XMLHttpRequest.
37316 The DOMFormData IDL interface will be exposed in another patch and the
37317 test will be added then.
37323 * WebCore.vcproj/WebCore.vcproj:
37324 * WebCore.xcodeproj/project.pbxproj:
37325 * html/DOMFormData.cpp: Added.
37326 * html/DOMFormData.h: Added.
37327 * html/FormDataList.h:
37328 (WebCore::FormDataList::encoding):
37329 * html/HTMLFormElement.cpp:
37330 (WebCore::HTMLFormElement::createFormData):
37331 (WebCore::HTMLFormElement::submit):
37332 * html/HTMLFormElement.h:
37333 * platform/network/FormData.cpp:
37334 (WebCore::FormData::create):
37335 (WebCore::FormData::createMultiPart):
37336 (WebCore::FormData::appendDOMFormData):
37337 * platform/network/FormData.h:
37338 (WebCore::FormData::boundary):
37339 * xml/XMLHttpRequest.cpp:
37340 (WebCore::XMLHttpRequest::send):
37341 * xml/XMLHttpRequest.h:
37343 2010-03-10 Chris Fleizach <cfleizach@apple.com>
37345 Reviewed by Beth Dakin.
37347 VoiceOver can navigate to hidden content in widget (WAI-ARIA)
37348 https://bugs.webkit.org/show_bug.cgi?id=35986
37350 Elements that are subclassers of AXRenderObject have not been respecting
37351 aria-hidden and other cases that would make them ignored. This applies
37352 to tables, rows, cells, select boxes, sliders, and lists. Select boxes
37353 also need to make sure their option elements respect aria-hidden as well.
37355 Test: accessibility/aria-hidden-with-elements.html
37357 * accessibility/AccessibilityList.cpp:
37358 (WebCore::AccessibilityList::accessibilityIsIgnored):
37359 * accessibility/AccessibilityListBox.cpp:
37360 (WebCore::AccessibilityListBox::addChildren):
37361 (WebCore::AccessibilityListBox::accessibilityIsIgnored):
37362 (WebCore::AccessibilityListBox::doAccessibilityHitTest):
37363 * accessibility/AccessibilityListBox.h:
37364 * accessibility/AccessibilityListBoxOption.cpp:
37365 (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
37366 * accessibility/AccessibilityListBoxOption.h:
37367 * accessibility/AccessibilityRenderObject.cpp:
37368 (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredCommon):
37369 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
37370 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
37371 * accessibility/AccessibilityRenderObject.h:
37372 * accessibility/AccessibilitySlider.cpp:
37373 (WebCore::AccessibilitySlider::accessibilityIsIgnored):
37374 * accessibility/AccessibilitySlider.h:
37375 (WebCore::AccessibilitySlider::roleValue):
37376 (WebCore::AccessibilitySliderThumb::roleValue):
37377 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
37378 * accessibility/AccessibilityTable.cpp:
37379 (WebCore::AccessibilityTable::accessibilityIsIgnored):
37380 * accessibility/AccessibilityTableCell.cpp:
37381 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
37382 * accessibility/AccessibilityTableColumn.cpp:
37383 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
37384 * accessibility/AccessibilityTableColumn.h:
37385 (WebCore::AccessibilityTableColumn::roleValue):
37386 * accessibility/AccessibilityTableHeaderContainer.cpp:
37387 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
37388 * accessibility/AccessibilityTableHeaderContainer.h:
37389 * accessibility/AccessibilityTableRow.cpp:
37390 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
37392 2010-03-10 Dmitry Titov <dimich@chromium.org>
37394 Reviewed by Darin Adler.
37396 Make Document::postTask to use a single queue of tasks, to fire them in order
37397 https://bugs.webkit.org/show_bug.cgi?id=35943
37399 Test: existing worker-cloneport.html which was broken by initial patch in http://trac.webkit.org/changeset/55593.
37400 Additional test which indirectly verifies the order of execution will come as part of https://bugs.webkit.org/show_bug.cgi?id=34726
37402 * dom/Document.cpp:
37403 (WebCore::Document::postTask): Always use the same task queue, independent of what thread is posting the task.
37405 2010-03-10 Sanjeev Radhakrishnan <sanjeevr@chromium.org>
37407 Reviewed by Darin Fisher.
37409 Allow a plugin to participate in the browser's print workflow.
37410 https://bugs.webkit.org/show_bug.cgi?id=35550
37412 * loader/PluginDocument.cpp:
37413 * loader/PluginDocument.h:
37415 2010-03-10 Ilya Tikhonovsky <loislo@loislo-macbookpro.local>
37417 Reviewed by Pavel Feldman.
37419 Sidebar resize element height was adjusted.
37420 Display name for Function Call details was adjusted.
37422 https://bugs.webkit.org/show_bug.cgi?id=35939
37424 * inspector/front-end/TimelinePanel.js:
37425 (WebInspector.TimelinePanel.prototype._refreshRecords):
37426 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
37428 2010-03-10 Charles Wei <charles.wei@torchmobile.com.cn>
37430 Reviewed by George Staikos.
37432 Fix https://bugs.webkig.org/show_bug.cgi?id=35207
37433 When XHTMLMP is enabled, all xhtml documents fail to render for webkit portings wich use libxml2 tokenizer.
37435 No new tests as all the xhtml test cases in LayoutTests/dom/xhtml fails without this fix when XHTMLMP is enabled.
37437 * dom/Document.cpp:
37438 (WebCore::Document::isXHTMLMPDocument):
37439 * dom/XMLTokenizerLibxml2.cpp:
37440 (WebCore::XMLTokenizer::internalSubset):
37441 (WebCore::externalSubsetHandler):
37443 2010-03-10 Garret Kelly <gdk@chromium.org>
37445 Reviewed by Darin Fisher.
37447 Adding all of the touch-related sources into Chromium's WebCore build.
37448 https://bugs.webkit.org/show_bug.cgi?id=35874
37450 Patch tested against the try bots, but the feature is exercised in the
37451 fast/events/touch tests.
37455 2010-03-10 Pavel Feldman <pfeldman@chromium.org>
37457 Reviewed by Timothy Hatcher.
37459 Web Inspector: now that audits panel is added, add it to the
37460 enums (for storing last active, etc.).
37462 https://bugs.webkit.org/show_bug.cgi?id=35980
37464 * inspector/InspectorController.cpp:
37465 (WebCore::InspectorController::setWindowVisible):
37466 (WebCore::InspectorController::specialPanelForJSName):
37467 * inspector/InspectorController.h:
37468 (WebCore::InspectorController::):
37469 * inspector/InspectorFrontend.cpp:
37470 (WebCore::InspectorFrontend::showPanel):
37471 * inspector/front-end/inspector.js:
37472 (WebInspector.showAuditsPanel):
37474 2010-03-10 Nate Chapin <japhet@chromium.org>
37476 Reviewed by Dimitri Glazkov.
37478 [V8] Instead of describing the type of a wrapped v8 object
37479 with an enum value, use a pointer to struct with more complete
37482 https://bugs.webkit.org/show_bug.cgi?id=35941
37484 Refactoring only, so new tests.
37486 * bindings/scripts/CodeGeneratorV8.pm:
37487 * bindings/v8/DOMData.cpp:
37488 * bindings/v8/DOMData.h:
37489 * bindings/v8/NPV8Object.cpp:
37490 * bindings/v8/V8Collection.h:
37491 * bindings/v8/V8DOMWindowShell.cpp:
37492 * bindings/v8/V8DOMWindowShell.h:
37493 * bindings/v8/V8DOMWrapper.cpp:
37494 * bindings/v8/V8DOMWrapper.h:
37495 * bindings/v8/V8GCController.cpp:
37496 * bindings/v8/V8Helpers.cpp:
37497 * bindings/v8/V8Helpers.h:
37498 * bindings/v8/V8Index.cpp: Removed.
37499 * bindings/v8/V8Index.h:
37500 * bindings/v8/V8NPObject.cpp:
37501 * bindings/v8/V8Proxy.cpp:
37502 * bindings/v8/V8Proxy.h:
37503 * bindings/v8/WorkerContextExecutionProxy.cpp:
37504 * bindings/v8/custom/V8DOMWindowCustom.cpp:
37505 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
37506 * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
37507 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
37508 * bindings/v8/custom/V8HTMLImageElementConstructor.h:
37509 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
37510 * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
37511 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
37512 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
37513 * bindings/v8/custom/V8SharedWorkerCustom.cpp:
37514 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
37515 * bindings/v8/custom/V8WebGLArrayCustom.h:
37516 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
37517 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
37518 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
37519 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
37520 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
37521 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
37522 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
37523 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
37524 * bindings/v8/custom/V8WebKitPointConstructor.cpp:
37525 * bindings/v8/custom/V8WebSocketCustom.cpp:
37526 * bindings/v8/custom/V8WorkerCustom.cpp:
37527 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
37528 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
37530 2010-03-10 Antonio Gomes <tonikitoo@webkit.org>
37532 Reviewed by Dave Hyatt.
37533 Patch by Antonio Gomes <tonikitoo@webkit.org>
37535 Extend keyboard navigation to allow directional navigation (Manual tests)
37536 https://bugs.webkit.org/show_bug.cgi?id=18662
37538 Adds a manual tests for the Spatial Navigation feature comprasing varios
37539 Html focusable elements (e.g. <a>, <table>, <iframe>) and much of the logic
37540 provided by the feature.
37542 * manual-tests/spatial-navigation/links.html: Added.
37543 * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: Added.
37545 2010-03-10 Leandro Pereira <leandro@profusion.mobi>
37547 Reviewed by Kenneth Rohde Christiansen.
37549 Add EFL port files to platform/efl.
37550 http://webkit.org/b/35890
37552 * platform/efl/ScrollbarEfl.h: Added.
37553 * platform/efl/ScrollbarThemeEfl.h: Added.
37555 2010-03-10 Pavel Feldman <pfeldman@chromium.org>
37557 Reviewed by Timothy Hatcher.
37559 Web Inspector: Audits panel needs an icon.
37560 Landing icon attached by Timothy. Enabling panel!
37562 https://bugs.webkit.org/show_bug.cgi?id=35945
37565 * inspector/front-end/Images/auditsIcon.png: Added.
37566 * inspector/front-end/WebKit.qrc:
37567 * inspector/front-end/inspector.css:
37569 2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
37571 Roll-out r55657, as Xan noticed a bad degradation in playing
37572 youtube HTML5 videos with it, that is fixed with it
37573 reverted. Looks like we'll need to work a bit more on this.
37575 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37576 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
37577 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
37578 (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
37579 (WebCore::MediaPlayerPrivate::volumeChanged):
37580 (WebCore::MediaPlayerPrivate::processBufferingStats):
37581 (WebCore::MediaPlayerPrivate::fillTimerFired):
37582 (WebCore::MediaPlayerPrivate::maxTimeLoaded):
37583 (WebCore::MediaPlayerPrivate::updateStates):
37584 (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
37585 (WebCore::MediaPlayerPrivate::muteChanged):
37586 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
37588 2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
37590 Rubber-stamped by Xan Lopez.
37592 Fix ready state when buffering under PLAYING. We should not go
37593 back to HaveNothing in that case.
37595 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37596 (WebCore::MediaPlayerPrivate::updateStates):
37598 2010-03-10 Ada Chan <adachan@apple.com>
37600 Reviewed by Adam Roben.
37602 https://bugs.webkit.org/show_bug.cgi?id=35976
37604 Retrieve any dwItemData that's set on the context menu item in contextMenuItemByIdOrPosition().
37606 * platform/win/ContextMenuWin.cpp:
37608 2010-03-10 Jeremy Orlow <jorlow@chromium.org>
37610 Reviewed by Darin Fisher.
37612 Add IndexedDatabase class and hook it up.
37613 https://bugs.webkit.org/show_bug.cgi?id=35927
37615 This change is mostly just adding the plumbing necessary for
37616 the IndexedDatabaseRequest and IndexedDatabaseSync (not written
37619 This code is non-functional, so no tests (yet).
37621 * WebCore.gyp/WebCore.gyp:
37623 * platform/chromium/ChromiumBridge.h:
37624 * storage/IndexedDatabase.cpp: Added.
37625 (WebCore::IndexedDatabase::get):
37626 * storage/IndexedDatabase.h: Added.
37627 (WebCore::IndexedDatabase::~IndexedDatabase):
37628 * storage/IndexedDatabaseImpl.cpp: Added.
37629 (WebCore::IndexedDatabaseImpl::get):
37630 (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
37631 (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
37632 (WebCore::IndexedDatabaseImpl::open):
37633 * storage/IndexedDatabaseImpl.h: Added.
37634 * storage/chromium/IndexedDatabase.cpp: Added.
37635 (WebCore::IndexedDatabase::get):
37637 2010-03-05 Dimitri Glazkov <dglazkov@chromium.org>
37639 Reviewed by Sam Weinig.
37641 Add one more parent check during node removal.
37642 https://bugs.webkit.org/show_bug.cgi?id=35818
37644 Test: fast/dom/Node/mutation-blur.html
37646 * dom/ContainerNode.cpp:
37647 (WebCore::ContainerNode::removeChild): Added check.
37649 2010-03-10 Pavel Feldman <pfeldman@chromium.org>
37651 Not reviewed: added missing quote into localized strings.
37653 * English.lproj/localizedStrings.js:
37655 2010-03-10 Jeremy Orlow <jorlow@chromium.org>
37657 Commit files that were supposed to go in with the last checkin.
37659 2010-03-10 Jeremy Orlow <jorlow@chromium.org>
37661 Reviewed by Dimitry Glazkov.
37663 Baby steps towards IndexedDB: Start implementing callbacks.
37664 https://bugs.webkit.org/show_bug.cgi?id=35911
37666 This patch adds some infastructure for IndexedDB callbacks in V8.
37667 It also adds a stub of IDBDatabaseRequest. In the near future,
37668 I'll gut the event based implementation code, flesh out IDBReqest
37669 further, and start plumbing IndexedDatabaseRequest.
37671 Code is not testible because it doesn't work (yet).
37674 * bindings/v8/DOMObjectsInclude.h:
37675 * bindings/v8/V8Index.cpp:
37676 * bindings/v8/V8Index.h:
37677 * bindings/v8/custom/V8CustomIDBCallback.h: Added.
37678 (WebCore::V8CustomIDBCallback::create):
37679 (WebCore::V8CustomIDBCallback::~V8CustomIDBCallback):
37680 (WebCore::V8CustomIDBCallback::handleEvent):
37681 (WebCore::V8CustomIDBCallback::V8CustomIDBCallback):
37682 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
37683 (WebCore::V8IndexedDatabaseRequest::openCallback):
37684 * storage/IDBDatabaseRequest.h: Added.
37685 (WebCore::IDBDatabaseRequest::request):
37686 * storage/IDBDatabaseRequest.idl: Added.
37687 * storage/IndexedDatabaseRequest.idl:
37689 2010-03-10 Holger Hans Peter Freyther <zecke@selfish.org>
37691 Reviewed by Simon Hausmann.
37693 [Qt] Non animated gifs are animated in QtWebKit
37694 https://bugs.webkit.org/show_bug.cgi?id=35955
37696 Properly map Qt animated and non-animated values to WebCore's
37697 understanding of animated and non-animated images. Currently
37698 we can not map anything to the cAnimationLoopNone value.
37700 * manual-tests/qt/qt-anim.gif: Added.
37701 * manual-tests/qt/qt-gif-test.html: Added.
37702 * manual-tests/qt/qt-noanim.gif: Added.
37703 * platform/graphics/qt/ImageDecoderQt.cpp:
37704 (WebCore::ImageDecoderQt::repetitionCount):
37706 2010-03-07 Holger Hans Peter Freyther <zecke@selfish.org>
37708 Reviewed by Darin Adler.
37710 [CAIRO] DoS on iexploder test with high text stroke width.
37711 https://bugs.webkit.org/show_bug.cgi?id=33759
37713 Specifying a big text stroke width can make WebKitGTK+ spend
37714 a very long time in the cairo library for stroking the path of
37715 the text. The best way to prevent this from happening right now
37716 is to not stroke paths with a certain width. Samuel proposed to
37717 not stroke with a width that is twice the width of the text. The
37718 reason to use twice the text width is that even one stroke of
37719 any charachter to be drawn would cover the full width.
37721 Test: fast/text/text-stroke-width-cairo-dos.html
37723 * platform/graphics/cairo/FontCairo.cpp:
37724 (WebCore::Font::drawGlyphs):
37726 2010-03-10 Andrey Kosyakov <caseq@chromium.org>
37728 Reviewed by Pavel Feldman.
37730 Web Inspector: display list of active workers & support debugging
37732 https://bugs.webkit.org/show_bug.cgi?id=35568
37734 * English.lproj/localizedStrings.js:
37736 * WebCore.vcproj/WebCore.vcproj:
37737 * bindings/js/JSInjectedScriptHostCustom.cpp:
37738 (WebCore::InjectedScriptHost::createInjectedScript):
37739 (WebCore::InjectedScriptHost::injectedScriptFor):
37740 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
37741 (WebCore::InjectedScriptHost::createInjectedScript):
37742 (WebCore::InjectedScriptHost::injectedScriptFor):
37743 * dom/Document.cpp:
37744 (WebCore::Document::inspectorController):
37746 * dom/ScriptExecutionContext.h:
37747 (WebCore::ScriptExecutionContext::inspectorController):
37748 * inspector/InjectedScriptHost.cpp:
37749 (WebCore::InjectedScriptHost::InjectedScriptHost):
37750 (WebCore::InjectedScriptHost::injectScript):
37751 (WebCore::InjectedScriptHost::nextWorkerId):
37752 (WebCore::InjectedScriptHost::didCreateWorker):
37753 (WebCore::InjectedScriptHost::willDestroyWorker):
37754 * inspector/InjectedScriptHost.h:
37755 * inspector/InjectedScriptHost.idl:
37756 * inspector/InspectorController.cpp:
37757 (WebCore::InspectorController::populateScriptObjects):
37758 (WebCore::InspectorController::resetScriptObjects):
37759 (WebCore::InspectorController::didCommitLoad):
37760 (WebCore::InspectorController::didCreateWorker):
37761 (WebCore::InspectorController::willDestroyWorker):
37762 * inspector/InspectorController.h:
37763 * inspector/InspectorFrontend.cpp:
37764 (WebCore::InspectorFrontend::didCreateWorker):
37765 (WebCore::InspectorFrontend::willDestroyWorker):
37766 * inspector/InspectorFrontend.h:
37767 * inspector/InspectorWorkerResource.h: Added.
37768 (WebCore::InspectorWorkerResource::create):
37769 (WebCore::InspectorWorkerResource::id):
37770 (WebCore::InspectorWorkerResource::url):
37771 (WebCore::InspectorWorkerResource::isSharedWorker):
37772 (WebCore::InspectorWorkerResource::InspectorWorkerResource):
37773 * inspector/front-end/Checkbox.js: Added.
37774 (WebInspector.Checkbox.callbackWrapper):
37775 (WebInspector.Checkbox):
37776 (WebInspector.Checkbox.prototype.checked):
37777 * inspector/front-end/InjectedFakeWorker.js:
37778 (InjectedFakeWorker.FakeWorker):
37779 (InjectedFakeWorker.FakeWorker.prototype.terminate):
37780 (InjectedFakeWorker.FakeWorker.prototype._handleException):
37781 (InjectedFakeWorker.FakeWorker.prototype._importScripts):
37782 (InjectedFakeWorker.FakeWorker.prototype._loadScript):
37783 (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
37784 * inspector/front-end/ScriptsPanel.js:
37785 (WebInspector.ScriptsPanel):
37786 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
37787 (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
37788 (WebInspector.ScriptsPanel.prototype.reset):
37789 * inspector/front-end/StylesSidebarPane.js:
37790 (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
37791 (WebInspector.StylePropertiesSection):
37792 * inspector/front-end/WebKit.qrc:
37793 * inspector/front-end/WorkersSidebarPane.js: Added.
37794 (WebInspector.WorkersSidebarPane):
37795 (WebInspector.WorkersSidebarPane.prototype.addWorker):
37796 (WebInspector.WorkersSidebarPane.prototype.removeWorker):
37797 (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
37798 (WebInspector.WorkersSidebarPane.prototype.reset):
37799 (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
37800 (WebInspector.Worker):
37801 (WebInspector.didCreateWorker):
37802 (WebInspector.willDestroyWorker):
37803 * inspector/front-end/inspector.css:
37804 * inspector/front-end/inspector.html:
37805 * workers/AbstractWorker.cpp:
37806 (WebCore::AbstractWorker::AbstractWorker):
37807 (WebCore::AbstractWorker::~AbstractWorker):
37808 (WebCore::AbstractWorker::onDestroyWorker):
37809 (WebCore::AbstractWorker::contextDestroyed):
37810 * workers/AbstractWorker.h:
37811 (WebCore::AbstractWorker::id):
37812 * workers/SharedWorker.cpp:
37813 (WebCore::SharedWorker::SharedWorker):
37814 * workers/Worker.cpp:
37815 (WebCore::Worker::Worker):
37817 2010-03-10 Roland Steiner <rolandsteiner@chromium.org>
37819 Unreviewed build fix. Fix variable name change that somehow didn't
37820 make it into the patch.
37822 2010-03-10 Roland Steiner <rolandsteiner@chromium.org>
37824 Reviewed by David Levin.
37826 Bug 28293 - [Chromium] event.datatransfer.getdata("text/uri-list") is treated the same as getdata("URL")
37827 https://bugs.webkit.org/show_bug.cgi?id=28293
37829 Change ChromiumDataObject such that it treats types "URL" and "text/uri-list"
37830 correctly for event.dataTransfer.getData/setData. Currently both are treated
37831 as synonyms, but for "URL", getData is supposed to only return the first valid URL
37832 contained within the data for "text/uri-list" (see HTML5 spec).
37834 Tests: editing/pasteboard/dataTransfer-setData-getData.html
37836 * platform/chromium/ChromiumDataObject.cpp:
37837 (WebCore::ChromiumDataObject::clear):
37838 (WebCore::ChromiumDataObject::clearAllExceptFiles):
37839 (WebCore::ChromiumDataObject::hasData):
37840 (WebCore::ChromiumDataObject::ChromiumDataObject):
37841 * platform/chromium/ChromiumDataObject.h:
37842 (WebCore::ChromiumDataObject::clearURL):
37843 (WebCore::ChromiumDataObject::hasValidURL):
37844 (WebCore::ChromiumDataObject::getURL):
37845 (WebCore::ChromiumDataObject::setURL):
37846 * platform/chromium/ClipboardChromium.cpp:
37848 (WebCore::clipboardTypeFromMIMEType):
37849 (WebCore::ClipboardChromium::clearData):
37850 (WebCore::ClipboardChromium::getData):
37851 (WebCore::ClipboardChromium::setData):
37852 (WebCore::ClipboardChromium::types):
37853 * platform/chromium/DragDataChromium.cpp:
37854 (WebCore::DragData::asURL):
37855 (WebCore::DragData::canSmartReplace):
37857 2010-03-09 Pavel Feldman <pfeldman@chromium.org>
37859 Reviewed by Timothy Hatcher.
37861 Web Inspector: REGRESSION: Tall image resources are cropped over the bottom.
37863 https://bugs.webkit.org/show_bug.cgi?id=34720
37865 * inspector/front-end/inspector.css:
37867 2010-03-09 Pavel Feldman <pfeldman@chromium.org>
37869 Reviewed by Timothy Hatcher.
37871 Web Inspector: REGRESSION: Pressing up/down arrow key to change numeric
37872 value in CSS property takes focus away.
37874 https://bugs.webkit.org/show_bug.cgi?id=34697
37876 * inspector/front-end/StylesSidebarPane.js:
37877 (WebInspector.StylePropertyTreeElement.prototype):
37878 (WebInspector.StylePropertyTreeElement.prototype.):
37880 2010-03-09 Tony Chang <tony@chromium.org>
37882 Reviewed by Adam Barth.
37884 https://bugs.webkit.org/show_bug.cgi?id=21840
37885 https://bugs.webkit.org/show_bug.cgi?id=23993
37887 Fix an editing bug where replacing a selection would result in the
37888 new text ending up inside nodes that were not visibly included in the
37889 selection. Instead, move our destination position out of nodes that
37890 were not visibly included.
37892 Tests: editing/deleting/backspace-avoid-preceding-style.html
37893 editing/inserting/replace-at-visible-boundary.html
37895 * editing/ReplaceSelectionCommand.cpp:
37896 (WebCore::positionAvoidingPrecedingNodes):
37897 (WebCore::ReplaceSelectionCommand::doApply):
37899 2010-03-09 Brady Eidson <beidson@apple.com>
37901 Reviewed by Tim Hatcher.
37903 REGRESSION: WebInspector docking busted on Windows
37904 <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
37906 First off, a bit of settings-key related cleanup. If they're shared over multiple files, these
37907 things should be properly declared Strings, not random loose char*'s.
37909 Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the
37910 InspectorController in WebCore.
37912 Finally, when the controller is ready to show the WebInspector window, it can use this newly
37913 exposed settings key to call "setWindowVisible" directly instead of relying on "showWindow" to do
37916 * WebCore.base.exp:
37918 * inspector/InspectorBackend.cpp:
37919 (WebCore::InspectorBackend::saveFrontendSettings):
37920 * inspector/InspectorController.cpp:
37921 (WebCore::InspectorController::frontendSettingsSettingName):
37922 (WebCore::InspectorController::inspectorStartsAttachedSettingName):
37923 (WebCore::InspectorController::scriptObjectReady): Using the new inspectorStartsAttachedSettingName
37924 key and some "can I attach this?" logic, call setWindowVisible directly to display the inspector
37926 (WebCore::InspectorController::populateScriptObjects):
37927 * inspector/InspectorController.h:
37929 2010-03-09 Alexey Proskuryakov <ap@apple.com>
37931 Reviewed by Mark Rowe.
37933 https://bugs.webkit.org/show_bug.cgi?id=35951
37934 <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
37936 * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too.
37938 2010-03-09 Alexey Proskuryakov <ap@apple.com>
37940 Reviewed by Oliver Hunt.
37942 https://bugs.webkit.org/show_bug.cgi?id=35951
37943 <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
37945 * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): It's not correct to use object
37946 personality for keys, because the key can be a mutable object, so its hash can change over its
37949 2010-03-09 Ojan Vafai <ojan@chromium.org>
37951 Reviewed by Darin Adler.
37953 Fix review comment accidentally overlooked in bug 35713
37954 https://bugs.webkit.org/show_bug.cgi?id=35947
37956 * editing/DeleteSelectionCommand.cpp:
37957 (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
37958 * editing/DeleteSelectionCommand.h:
37960 2010-03-03 Ojan Vafai <ojan@chromium.org>
37962 Reviewed by Adam Barth.
37964 undo after smartdelete should select the deleted space
37965 https://bugs.webkit.org/show_bug.cgi?id=35713
37967 TextEdit behavior is to select the deleted space after a smartdelete.
37969 Tests: editing/undo/undo-smart-delete-reversed-selection.html
37970 editing/undo/undo-smart-delete-word.html
37972 * editing/DeleteSelectionCommand.cpp:
37973 (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
37974 (WebCore::DeleteSelectionCommand::initializePositionData):
37975 * editing/DeleteSelectionCommand.h:
37976 * editing/VisibleSelection.cpp:
37977 (WebCore::VisibleSelection::setWithoutValidation):
37978 This assert looks bogus to me. undo-smart-delete-reversed-selection.html hits it
37979 but not as a result of the other changes in this patch. The granularity when
37980 deleting after making a wordgranularity selection is wordgranularity, not charactergranularity.
37982 2010-03-09 Steve Falkenburg <sfalken@apple.com>
37984 Rubber stamped by Adam Roben.
37986 Load debug version of graphics library in Windows Debug_All builds.
37988 * platform/graphics/win/WKCACFLayerRenderer.cpp:
37989 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
37991 2010-03-09 Brady Eidson <beidson@apple.com>
37993 Reviewed by Darin Adler.
37995 Plug-ins don't always respect the cookie accept policy.
37996 <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391
37998 The problem is that the various plug-in implementations call into a ResourceLoader
37999 directly instead of filtering the request through FrameLoader. This bypassed the step
38000 of adding extra fields to the requests, such as the firstPartyForCookies URL.
38002 Since plug-in code is currently so strewn about and very platform specific, I
38003 think reworking it needs to be a task for domain experts. I don't know the implications
38004 of adding *all* the extra fields to plug-in requests, for example.
38006 There's no harm in this targeted fix for the hole in our cookie accept policy until
38007 plug-ins can more fundamentally change.
38009 Test: http/tests/plugins/third-party-cookie-accept-policy.html
38011 * loader/ResourceLoader.cpp:
38012 (WebCore::ResourceLoader::load): Don't load a resource without first giving the request
38013 a firstPartyForCookies URL.
38015 2010-03-09 Andy Estes <aestes@apple.com>
38017 Reviewed by Adele Peterson.
38019 Check for null renderer in scrollNode().
38020 https://bugs.webkit.org/show_bug.cgi?id=34700
38022 Test: fast/events/remove-child-onscroll.html
38024 * page/EventHandler.cpp:
38025 (WebCore::scrollNode): Return early if node->renderer() == 0
38027 2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
38029 Unreviewed distcheck fix.
38033 2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
38035 Unreviewed build fix (only exposed by make distcheck). The
38036 SharedWorkers files are not built, they need to be distributed.
38040 2010-03-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
38042 Reviewed by Dirk Schulze.
38044 [GStreamer] Buffering logic is not correct, and does not work very well
38045 https://bugs.webkit.org/show_bug.cgi?id=35706
38047 Fix buffering to match GStreamer expectancies regarding the
38048 pipeline state, so that videos which really need buffering to play
38049 correctly also work, while maintaining the convenience of
38050 on-disk-buffering. This required a bit of shuffling of state
38053 No behaviour change expected.
38055 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38056 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
38057 (WebCore::MediaPlayerPrivate::processBufferingStats):
38058 (WebCore::MediaPlayerPrivate::fillTimerFired):
38059 (WebCore::MediaPlayerPrivate::updateStates):
38060 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
38062 2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
38064 Reviewed by Dirk Schulze.
38066 [GStreamer] Buffering logic is not correct, and does not work very well
38067 https://bugs.webkit.org/show_bug.cgi?id=35706
38069 Do not call pause(), but set the GStreamer state directly. This is
38070 just a GStreamer implementation detail, and this will avoid having
38071 side effects in case we change the pause implementation in the
38074 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38075 (WebCore::MediaPlayerPrivate::load):
38077 2010-03-09 Chris Fleizach <cfleizach@apple.com>
38079 Reviewed by Darin Adler.
38081 AX: hit testing a list box doesn't work anymore
38082 https://bugs.webkit.org/show_bug.cgi?id=35893
38084 Since <option> elements don't have renderers, their hit testing needs
38085 to be handled with a special case.
38087 Test: platform/mac/accessibility/listbox-hit-test.html
38089 * accessibility/AccessibilityRenderObject.cpp:
38090 (WebCore::AccessibilityRenderObject::ariaIsHidden):
38091 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
38093 2010-03-09 Pavel Feldman <pfeldman@chromium.org>
38095 Reviewed by Timothy Hatcher.
38097 Web Inspector: Refactor Audits panel presentation layer.
38098 This change removes unnecessary complexity:
38099 - Audit scores were not used
38100 - Audit rule parameters are passed as rule constructor arguments
38101 - View management aligned with the rest of the front-end
38102 - Single TreeOutline is used for category results (no need to create sections for those)
38103 - Rules code beautified and simplified where possible
38104 - Some UI improvements applied (see attached screenshot)
38106 https://bugs.webkit.org/show_bug.cgi?id=35860
38108 * inspector/front-end/AuditCategories.js:
38109 (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
38110 (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
38111 * inspector/front-end/AuditResultView.js:
38112 (WebInspector.AuditResultView):
38113 (WebInspector.AuditCategoryResultPane):
38114 (WebInspector.AuditCategoryResultPane.prototype._appendResult):
38115 * inspector/front-end/AuditRules.js:
38116 (WebInspector.AuditRules.GzipRule.prototype.doRun):
38117 (WebInspector.AuditRules.CombineExternalResourcesRule):
38118 (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
38119 (WebInspector.AuditRules.CombineJsResourcesRule):
38120 (WebInspector.AuditRules.CombineCssResourcesRule):
38121 (WebInspector.AuditRules.MinimizeDnsLookupsRule):
38122 (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
38123 (WebInspector.AuditRules.ParallelizeDownloadRule):
38124 (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
38125 (WebInspector.AuditRules.UnusedCssRule):
38126 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
38127 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
38128 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
38129 (WebInspector.AuditRules.CacheControlRule):
38130 (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
38131 (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
38132 (WebInspector.AuditRules.BrowserCacheControlRule):
38133 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
38134 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
38135 (WebInspector.AuditRules.ProxyCacheControlRule):
38136 (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
38137 (WebInspector.AuditRules.ImageDimensionsRule):
38138 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
38139 (WebInspector.AuditRules.CssInHeadRule):
38140 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
38141 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
38142 (WebInspector.AuditRules.StylesScriptsOrderRule):
38143 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
38144 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
38145 (WebInspector.AuditRules.CookieRuleBase):
38146 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
38147 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
38148 (WebInspector.AuditRules.CookieSizeRule):
38149 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
38150 (WebInspector.AuditRules.StaticCookielessRule):
38151 (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
38152 * inspector/front-end/AuditsPanel.js:
38153 (WebInspector.AuditsPanel):
38154 (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
38155 (WebInspector.AuditsPanel.prototype._executeAudit):
38156 (WebInspector.AuditsPanel.prototype._reloadResources):
38157 (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
38158 (WebInspector.AuditsPanel.prototype.showResults):
38159 (WebInspector.AuditsPanel.prototype.showLauncherView):
38160 (WebInspector.AuditsPanel.prototype.get visibleView):
38161 (WebInspector.AuditsPanel.prototype.set visibleView):
38162 (WebInspector.AuditsPanel.prototype.show):
38163 (WebInspector.AuditsPanel.prototype._clearButtonClicked):
38164 (WebInspector.AuditCategory.prototype.addRule):
38165 (WebInspector.AuditRule):
38166 (WebInspector.AuditRule.prototype.set severity):
38167 (WebInspector.AuditRule.prototype.run):
38168 (WebInspector.AuditRule.prototype.doRun):
38169 (WebInspector.AuditCategoryResult):
38170 (WebInspector.AuditCategoryResult.prototype.addRuleResult):
38171 (WebInspector.AuditRuleResult):
38172 (WebInspector.AuditRuleResult.prototype.addChild):
38173 (WebInspector.AuditRuleResult.prototype.addURL):
38174 (WebInspector.AuditRuleResult.prototype.addURLs):
38175 (WebInspector.AuditRuleResult.prototype.addSnippet):
38176 * inspector/front-end/Settings.js:
38177 * inspector/front-end/audits.css:
38178 * inspector/front-end/inspector.js:
38179 (WebInspector._createPanels):
38180 (WebInspector.documentKeyDown):
38182 2010-03-09 Yury Semikhatsky <yurys@chromium.org>
38184 Reviewed by Pavel Feldman.
38186 When enable resource tracking state changes use the same method as
38187 location.reload for reloading inspected page.
38189 https://bugs.webkit.org/show_bug.cgi?id=35923
38191 * inspector/InspectorBackend.cpp:
38192 (WebCore::InspectorBackend::reloadPage):
38193 * inspector/InspectorController.cpp:
38194 (WebCore::InspectorController::enableResourceTracking):
38196 2010-03-09 Pavel Feldman <pfeldman@chromium.org>
38198 Reviewed by Timothy Hatcher.
38200 Web Inspector: highlight text node containers while searching for node.
38202 https://bugs.webkit.org/show_bug.cgi?id=35912
38204 * inspector/InspectorController.cpp:
38205 (WebCore::InspectorController::mouseDidMoveOverElement):
38207 2010-03-09 Philippe Normand <pnormand@igalia.com>
38209 Reviewed by Gustavo Noronha Silva.
38211 [GStreamer] player code cleanups
38212 https://bugs.webkit.org/show_bug.cgi?id=35868
38214 Cleaned up the private instance variables of the player.
38216 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38217 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
38218 (WebCore::MediaPlayerPrivate::fillTimerFired):
38219 (WebCore::MediaPlayerPrivate::mediaLocationChanged):
38220 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
38222 2010-03-09 Philippe Normand <pnormand@igalia.com>
38224 Reviewed by Gustavo Noronha Silva.
38226 [GStreamer] player code cleanups
38227 https://bugs.webkit.org/show_bug.cgi?id=35868
38229 Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}.
38232 * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added.
38234 * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Added.
38235 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38236 * platform/gtk/GOwnPtrGtk.cpp: Removed.
38237 * platform/gtk/GOwnPtrGtk.h: Removed.
38238 * platform/network/soup/CookieJarSoup.cpp:
38239 * platform/network/soup/DNSSoup.cpp:
38240 * platform/network/soup/GOwnPtrSoup.cpp: Added.
38242 * platform/network/soup/GOwnPtrSoup.h: Added.
38243 * platform/network/soup/ResourceHandleSoup.cpp:
38244 * platform/network/soup/ResourceRequestSoup.cpp:
38246 2010-03-09 Shinichiro Hamaji <hamaji@chromium.org>
38248 Reviewed by Eric Seidel.
38250 [Chromium] Should remove paddings of Win/Linux chromium's buttons
38251 https://bugs.webkit.org/show_bug.cgi?id=35629
38253 No new tests, but we may need to rebaseline bunch of expectation
38254 images in chromium's tree.
38256 * rendering/RenderThemeChromiumSkia.cpp:
38257 * rendering/RenderThemeChromiumSkia.h:
38259 2010-03-08 Kent Tamura <tkent@chromium.org>
38261 Reviewed by Adam Barth.
38263 Implement HTML5 <hgroup> element.
38264 https://bugs.webkit.org/show_bug.cgi?id=33369
38266 <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>.
38267 <hgroup> has no specific parsing rules.
38269 Test: fast/html/hgroup-element.html
38271 * css/html.css: Add hgroup as a block element.
38272 * editing/htmlediting.cpp:
38273 (WebCore::validBlockTag): Add hgroupTag.
38274 * html/HTMLElement.cpp:
38275 (WebCore::createTagPriorityMap): Returns 5 for hgroupTag.
38276 (WebCore::blockTagList): Add hgroupTag.
38277 * html/HTMLParser.cpp:
38278 (WebCore::HTMLParser::getNode): Add hgroupTag.
38279 * html/HTMLTagNames.in: Add hgroup.
38281 2010-03-08 Tony Chang <tony@chromium.org>
38283 Reviewed by Adam Barth.
38285 https://bugs.webkit.org/show_bug.cgi?id=32131
38286 Crash when inserting an ordered list.
38288 Test: editing/execCommand/insert-ordered-list.html
38290 * editing/CompositeEditCommand.cpp:
38291 (WebCore::CompositeEditCommand::moveParagraphs):
38292 * editing/TextIterator.cpp:
38293 (WebCore::TextIterator::rangeFromLocationAndLength):
38295 2010-03-08 Darin Adler <darin@apple.com>
38297 Reviewed by Dan Bernstein.
38299 Added a test for crash when you quit inside an unload handler.
38300 rdar://problem/6958347
38302 * manual-tests/quit-inside-unload.html: Added.
38304 2010-03-08 Darin Adler <darin@apple.com>
38306 Reviewed by Jon Honeycutt.
38308 Don't auto-play <audio> and <video> elements loaded in background tabs
38309 https://bugs.webkit.org/show_bug.cgi?id=35886
38310 rdar://problem/7117745
38312 * manual-tests/video-in-non-frontmost-tab.html: Added.
38313 * manual-tests/resources/video-tab.html: Added.
38315 * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and
38316 added the mediaCanStart function as well as a boolean,
38317 m_isWaitingUntilMediaCanStart.
38319 * html/HTMLMediaElement.cpp:
38320 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize
38321 m_isWaitingUntilMediaCanStart.
38322 (WebCore::HTMLMediaElement::~HTMLMediaElement): Call
38323 removeMediaCanStartListener if m_isWaitingUntilMediaCanStart is true.
38324 (WebCore::HTMLMediaElement::loadInternal): Set m_isWaitingUntilMediaCanStart
38325 and call addMediaCanStartListener if canStartMedia is false.
38326 (WebCore::HTMLMediaElement::mediaCanStart): Clear m_isWaitingUntilMediaCanStart
38327 and call loadInternal.
38329 2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
38331 [GTK] Unreviewed buildfix after r55688.
38333 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
38334 (webKitWebSrcStart):
38336 2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
38338 [GTK] Unreviewed buildfix after r55688.
38340 * platform/network/soup/ResourceHandleSoup.cpp:
38343 2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
38345 [Qt] Unreviewed buildfix after r55688.
38347 * platform/network/qt/ResourceHandleQt.cpp:
38348 (WebCore::ResourceHandle::loadResourceSynchronously):
38350 2010-03-08 Alexey Proskuryakov <ap@apple.com>
38352 Reviewed by Darin Adler.
38354 https://bugs.webkit.org/show_bug.cgi?id=35879
38355 Eliminate m_mightDownloadFromHandle
38357 It was only used on Mac, and unnecessarily complicated the code.
38359 No change in behavior, thus no test.
38361 * loader/MainResourceLoader.cpp:
38362 (WebCore::MainResourceLoader::loadNow):
38363 * loader/ResourceLoader.cpp:
38364 (WebCore::ResourceLoader::load):
38365 * loader/appcache/ApplicationCacheGroup.cpp:
38366 (WebCore::ApplicationCacheGroup::createResourceHandle):
38367 * platform/network/ResourceHandle.cpp:
38368 (WebCore::ResourceHandle::ResourceHandle):
38369 (WebCore::ResourceHandle::create):
38370 * platform/network/ResourceHandle.h:
38371 * platform/network/ResourceHandleInternal.h:
38372 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
38373 * platform/network/mac/ResourceHandleMac.mm:
38374 (WebCore::ResourceHandle::start):
38376 2010-03-02 Peter Kasting <pkasting@google.com>
38378 Reviewed by Adam Barth.
38380 Clean up usage of m_failed in open-source image decoders, part 1.
38381 https://bugs.webkit.org/show_bug.cgi?id=35411
38383 Makes setFailed() virtual so subclasses can override it (none do yet) to
38384 do automatic cleanup on failure; makes it return a bool for easy
38385 tailcalling; makes failed() the only way to access m_failed so
38386 subclasses are assured setFailed() won't be bypassed. Plus one or two
38387 other tiny cleanup bits.
38389 Overriding setFailed() is coming in a subsequent patch because it can be
38390 hairy and needs close review.
38392 No functional change, so no tests.
38394 * platform/graphics/qt/ImageDecoderQt.cpp:
38395 (WebCore::ImageDecoderQt::setData):
38396 (WebCore::ImageDecoderQt::frameBufferAtIndex):
38397 (WebCore::ImageDecoderQt::internalDecodeSize):
38398 (WebCore::ImageDecoderQt::internalReadImage):
38399 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
38400 (WebCore::ImageDecoderQt::forceLoadEverything):
38401 (WebCore::ImageDecoderQt::clearPointers):
38402 * platform/graphics/qt/ImageDecoderQt.h:
38403 * platform/image-decoders/ImageDecoder.h:
38404 (WebCore::ImageDecoder::ImageDecoder):
38405 (WebCore::ImageDecoder::setData):
38406 (WebCore::ImageDecoder::setSize):
38407 (WebCore::ImageDecoder::setFailed):
38408 (WebCore::ImageDecoder::failed):
38409 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
38410 (WebCore::BMPImageDecoder::isSizeAvailable):
38411 (WebCore::BMPImageDecoder::frameBufferAtIndex):
38412 (WebCore::BMPImageDecoder::processFileHeader):
38413 * platform/image-decoders/gif/GIFImageDecoder.cpp:
38414 (WebCore::GIFImageDecoder::setData):
38415 (WebCore::GIFImageDecoder::isSizeAvailable):
38416 (WebCore::GIFImageDecoder::frameBufferAtIndex):
38417 (WebCore::GIFImageDecoder::decode):
38418 (WebCore::GIFImageDecoder::initFrameBuffer):
38419 * platform/image-decoders/ico/ICOImageDecoder.cpp:
38420 (WebCore::ICOImageDecoder::decodeAtIndex):
38421 (WebCore::ICOImageDecoder::processDirectory):
38422 (WebCore::ICOImageDecoder::processDirectoryEntries):
38423 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
38424 (WebCore::JPEGImageReader::decode):
38425 (WebCore::JPEGImageDecoder::setData):
38426 (WebCore::JPEGImageDecoder::isSizeAvailable):
38427 (WebCore::JPEGImageDecoder::frameBufferAtIndex):
38428 (WebCore::JPEGImageDecoder::outputScanlines):
38429 (WebCore::JPEGImageDecoder::decode):
38430 * platform/image-decoders/png/PNGImageDecoder.cpp:
38431 (WebCore::decodingFailed):
38432 (WebCore::PNGImageReader::decode):
38433 (WebCore::PNGImageDecoder::setData):
38434 (WebCore::PNGImageDecoder::isSizeAvailable):
38435 (WebCore::PNGImageDecoder::frameBufferAtIndex):
38436 (WebCore::PNGImageDecoder::headerAvailable):
38437 (WebCore::PNGImageDecoder::rowAvailable):
38438 (WebCore::PNGImageDecoder::decode):
38439 * platform/image-decoders/png/PNGImageDecoder.h:
38441 2010-03-08 Chris Marrin <cmarrin@apple.com>
38443 Reviewed by Darin Adler.
38445 Disallow WebGL when HW comp is not turned on at runtime
38446 https://bugs.webkit.org/show_bug.cgi?id=35759
38448 When HW comp is turned off with the runtime flag, WebGL would still
38449 create a context, but silently fail to render. This prevents that.
38450 Now if HW comp is turned off getContext('webgl') will return null.
38452 * html/HTMLCanvasElement.cpp:
38453 (WebCore::HTMLCanvasElement::getContext):
38455 2010-03-08 Darin Adler <darin@apple.com>
38457 Reviewed by Jon Honeycutt.
38459 https://bugs.webkit.org/show_bug.cgi?id=35876
38461 Fix minor style issues in HTMLMediaElement and classes derived from it.
38462 Made many public members private and protected.
38464 * html/HTMLMediaElement.cpp:
38465 (WebCore::HTMLMediaElement::screenRect): Got rid of a stray "const" and
38466 retstructured the function to use early return and get rid of a local.
38468 * html/HTMLMediaElement.h: Made lots of members private and some
38469 protected. Also use private inheritance instead of public. Removed
38470 some unneeded includes.
38472 * html/HTMLVideoElement.cpp:
38473 (WebCore::HTMLVideoElement::parseMappedAttribute): Use player() instead
38474 of m_player; HTMLMediaElement data members are now private, not protected.
38475 (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
38476 (WebCore::HTMLVideoElement::videoWidth): Ditto.
38477 (WebCore::HTMLVideoElement::videoHeight): Ditto.
38478 (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Ditto.
38479 (WebCore::HTMLVideoElement::webkitEnterFullScreen): Use isFullscreen()
38480 instead of m_isFullscreen; same reason.
38481 (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
38482 (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
38484 * html/HTMLVideoElement.h: Removed an unneeded include. Made many
38485 public functions private. Got rid of unused paint function, which was
38486 replaced with paintCurrentFrameInContext a while back.
38488 2010-03-08 Joanmarie Diggs <joanmarie.diggs@gmail.com>
38490 Reviewed by Xan Lopez.
38492 https://bugs.webkit.org/show_bug.cgi?id=30895
38493 [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
38495 Gives platforms the ability to exclude parts of an AccessibilityTable
38496 from the accessible hierarchy.
38498 * accessibility/gtk/AccessibilityObjectAtk.cpp:
38499 (AccessibilityObject::accessibilityPlatformIncludesObject):
38500 * accessibility/AccessibilityRenderObject.cpp:
38501 (AccessibilityRenderObject::determineAccessibilityRole):
38502 * accessibility/AccessibilityTable.cpp:
38503 (AccessibilityTable::addChildren):
38504 * accessibility/AccessibilityTableColumn.h:
38505 (accessibilityIsIgnored):
38506 * accessibility/AccessibilityTableHeaderContainer.h:
38507 (accessibilityIsIgnored):
38508 * accessibility/AccessibilityTableRow.cpp:
38509 (accessibilityIsIgnored):
38511 2010-03-08 Jian Li <jianli@chromium.org>
38513 No review. Fix build break on Tiger intel release.
38518 2010-03-02 Adam Treat <atreat@rim.com>
38520 Reviewed by Dave Hyatt.
38522 Refactor the HostWindow methods for repaint, scroll, invalidate and blit
38523 of backingstore and window by eliminating the three bools that currently
38524 exist as params of the repaint method.
38525 https://bugs.webkit.org/show_bug.cgi?id=34214
38527 I've added extra methods to provide the hosts with more semantic
38528 information of what is being requested thus eliminating the need for
38531 No tests as this change should not introduce any behavior changes in any
38534 https://bugs.webkit.org/show_bug.cgi?id=34214
38536 * loader/EmptyClients.h:
38537 (WebCore::EmptyChromeClient::invalidateContents):
38538 (WebCore::EmptyChromeClient::invalidateWindow):
38539 (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
38540 (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
38542 (WebCore::Chrome::invalidateContents):
38543 (WebCore::Chrome::invalidateWindow):
38544 (WebCore::Chrome::invalidateContentsAndWindow):
38545 (WebCore::Chrome::invalidateContentsForSlowScroll):
38547 * page/ChromeClient.h:
38548 * page/FrameView.cpp:
38549 (WebCore::FrameView::invalidateRect):
38550 * platform/HostWindow.h:
38551 * platform/ScrollView.cpp:
38552 (WebCore::ScrollView::scrollContents):
38553 (WebCore::ScrollView::wheelEvent):
38555 2010-03-08 Adam Barth <abarth@webkit.org>
38557 Reviewed by Nate Chapin.
38559 [V8] Block popups from inline script
38560 https://bugs.webkit.org/show_bug.cgi?id=35474
38562 Apparently, we're supposed to look at the sourceURL to figure out
38563 whether we're running a script tag or a hyperlink. This logic is
38564 copied from the JSC version.
38566 Test: http/tests/security/popup-blocked-from-window-open.html
38568 * bindings/v8/ScriptController.cpp:
38569 (WebCore::ScriptController::processingUserGesture):
38570 (WebCore::ScriptController::evaluate):
38572 2010-03-08 Stuart Morgan <stuartmorgan@chromium.org>
38574 Reviewed by Darin Adler.
38576 Move the details of secure text mode into WebCore/platform.
38577 Move the higher-level logic for secure text mode from Frame
38578 to SelectionController.
38580 https://bugs.webkit.org/show_bug.cgi?id=31265
38582 No new tests: no functional changes.
38585 * WebCore.xcodeproj/project.pbxproj:
38586 * dom/Document.cpp:
38587 (WebCore::Document::setUseSecureKeyboardEntryWhenActive):
38588 * editing/SelectionController.cpp:
38589 (WebCore::SelectionController::focusedOrActiveStateChanged):
38590 (WebCore::SelectionController::updateSecureKeyboardEntryIfActive):
38591 (WebCore::SelectionController::setUseSecureKeyboardEntry):
38592 * editing/SelectionController.h:
38594 (WebCore::Frame::setDocument):
38596 * platform/SecureTextInput.cpp: Added.
38597 (WebCore::enableSecureTextInput):
38598 (WebCore::disableSecureTextInput):
38599 * platform/SecureTextInput.h: Added.
38600 (WebCore::enableSecureTextInput):
38601 (WebCore::disableSecureTextInput):
38603 2010-03-08 Brady Eidson <beidson@apple.com>
38605 Reviewed by Anders Carlsson.
38607 Relax the 3rd party cookie policy in cases where it won't add a new tracking vector.
38608 <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824
38610 Test: http/tests/cookies/third-party-cookie-relaxing.html
38612 If the 3rd-party domain in question already has a cookie set, allow changes
38613 by setting the first party url of the request to be the url of the request itself:
38614 * platform/network/cf/ResourceHandleCFNet.cpp:
38615 (WebCore::makeFinalRequest):
38618 * platform/network/mac/ResourceHandleMac.mm:
38619 (WebCore::ResourceHandle::start):
38620 (WebCore::ResourceHandle::loadResourceSynchronously):
38622 I've filed <rdar://problem/7728508> to track changing the policy in our networking layer.
38624 2010-03-08 Jian Li <jianli@chromium.org>
38626 Reviewed by Dmitry Titov.
38628 Blob.slice support.
38629 https://bugs.webkit.org/show_bug.cgi?id=32993
38631 The following semantic is adopted per the discussions on public-webapps:
38632 1) File.slice() does a synchronous IO to capture the current size and
38633 modification time and cache them in the resulting Blob.
38634 2) Subsequent Blob operations, like Blob.slice and Blob.size simply
38635 use the cached values.
38636 3) When the underlying file data are accessed, like in XHR.send(), the
38637 UA will check the cached modification time against the current
38638 modification time to determine if the file has been changed or not.
38639 An error or exception will be thrown if needed.
38641 Also add ENABLE_BLOB_SLICE feature define.
38643 Test: http/tests/local/send-sliced-dragged-file.html
38645 * Configurations/FeatureDefines.xcconfig:
38649 (WebCore::Blob::Blob):
38650 (WebCore::Blob::size):
38651 (WebCore::Blob::slice):
38653 (WebCore::Blob::start):
38654 (WebCore::Blob::length):
38655 (WebCore::Blob::modificationTime):
38657 * platform/network/FormData.cpp:
38658 (WebCore::FormData::deepCopy):
38659 (WebCore::FormData::appendFile):
38660 (WebCore::FormData::appendFileRange):
38661 * platform/network/FormData.h:
38662 (WebCore::FormDataElement::FormDataElement):
38663 (WebCore::operator==):
38664 * platform/network/mac/FormDataStreamMac.mm:
38665 (WebCore::advanceCurrentStream):
38666 (WebCore::openNextStream):
38667 (WebCore::formCreate):
38668 (WebCore::formOpen):
38669 (WebCore::formRead):
38670 (WebCore::setHTTPBody):
38671 * xml/XMLHttpRequest.cpp:
38672 (WebCore::XMLHttpRequest::send):
38674 2010-03-08 Daniel Bates <dbates@rim.com>
38676 Reviewed by Simon Fraser.
38678 https://bugs.webkit.org/show_bug.cgi?id=34819
38680 Fixes an issue where we repaint the caret rectangle even if the associated
38681 selection is not in a content editable element. This is extraneous since the
38682 caret is only visible when the selection is in a content editable element.
38683 Hence, we should only repaint the caret rectangle when the associated selection
38684 is in a content editable element.
38686 Note, we always paint the caret when caret browsing is enabled.
38688 Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html
38690 * editing/SelectionController.cpp:
38691 (WebCore::SelectionController::recomputeCaretRect): Modified to call method
38692 SelectionController::shouldRepaintCaret.
38693 (WebCore::SelectionController::shouldRepaintCaret): Added.
38694 (WebCore::SelectionController::invalidateCaretRect): Modified to call method
38695 SelectionController::shouldRepaintCaret.
38696 * editing/SelectionController.h:
38698 2010-03-08 Eric Carlson <eric.carlson@apple.com>
38700 Reviewed by Darin Adler.
38702 YouTube HTML5 video never starts playing on Windows
38703 https://bugs.webkit.org/show_bug.cgi?id=33954
38705 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
38706 (WebCore::MediaPlayerPrivate::rfc2616DateStringFromTime): New, create an rfc 2616 formatted
38707 string for an absolute time value.
38708 (WebCore::addCookieParam): New, add a cookie param and value to a string builder.
38709 (WebCore::MediaPlayerPrivate::setUpCookiesForQuickTime): Copy cookies for the movie to
38710 be loaded from CFNetwork into WinINet so they are available when QuickTime tries to
38711 download the movie.
38712 (WebCore::MediaPlayerPrivate::load): Call setupCookiesForQuickTime.
38713 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
38715 2010-03-08 Eric Uhrhane <ericu@chromium.org>
38717 Reviewed by David Levin.
38719 Remove the now-redundant Settings fields for the Database
38720 https://bugs.webkit.org/show_bug.cgi?id=35763
38722 No new tests; this code isn't called.
38724 * WebCore.base.exp:
38725 * page/Settings.cpp:
38726 (WebCore::Settings::Settings):
38729 2010-03-07 David Levin <levin@chromium.org>
38731 Chromium Linux build fix.
38733 * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug
38734 only method returns a String.
38736 2010-03-07 Mark Rowe <mrowe@apple.com>
38738 Chromium build fix.
38740 * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image.
38742 2010-03-07 Mark Rowe <mrowe@apple.com>
38746 * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38748 2010-03-07 Mark Rowe <mrowe@apple.com>
38752 * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38754 2010-03-07 Mark Rowe <mrowe@apple.com>
38756 Fix builds where USE_CG_SHADING is set.
38758 * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set.
38760 2010-03-07 Mark Rowe <mrowe@apple.com>
38762 Windows build fix. Add some required includes.
38764 * platform/graphics/win/ImageCGWin.cpp:
38765 * platform/network/cf/ResourceHandleCFNet.cpp:
38766 * platform/win/ClipboardWin.cpp:
38768 2010-03-07 Mark Rowe <mrowe@apple.com>
38772 * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header.
38774 2010-03-07 Mark Rowe <mrowe@apple.com>
38778 * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38780 2010-03-07 Mark Rowe <mrowe@apple.com>
38784 * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image.
38786 2010-03-07 Mark Rowe <mrowe@apple.com>
38788 Rubber-stamped by Cameron Zwarich.
38790 Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
38792 * loader/CachedCSSStyleSheet.cpp:
38793 * loader/CachedFont.cpp:
38794 * loader/CachedImage.cpp:
38795 * loader/CachedResource.cpp:
38796 * loader/CachedResource.h:
38797 * loader/CachedScript.cpp:
38798 * loader/CachedXSLStyleSheet.cpp:
38799 * loader/icon/IconFetcher.cpp:
38800 * loader/loader.cpp:
38802 * platform/graphics/Image.cpp:
38803 * platform/graphics/Image.h:
38804 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
38805 * platform/graphics/cg/PDFDocumentImage.cpp:
38806 * platform/graphics/cg/PathCG.cpp:
38807 * platform/graphics/mac/ImageMac.mm:
38809 2010-03-07 Mark Rowe <mrowe@apple.com>
38811 Chromium build fix.
38813 * platform/chromium/ChromiumDataObject.h: Include SharedBuffer.h since the inline constructor of this
38814 class means that the pointed-to type of the RefPtr member must be available.
38816 2010-03-07 Mark Rowe <mrowe@apple.com>
38820 * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String.
38822 2010-03-07 Kent Tamura <tkent@chromium.org>
38824 Reviewed by Eric Seidel.
38826 Fix a bug that validity.valueMissing for a radio button with required
38827 in a form element always returns true.
38828 https://bugs.webkit.org/show_bug.cgi?id=35472
38830 Test: fast/forms/ValidityState-valueMissing-radio.html
38832 * html/HTMLInputElement.cpp:
38833 (WebCore::checkedRadioButtons): Move the location to be used by valueMissing().
38834 (WebCore::HTMLInputElement::valueMissing):
38835 Use checkedRadioButtons() instead of document()->checkedRadioButtons().
38837 2010-03-07 Mark Rowe <mrowe@apple.com>
38839 Rubber-stamped by Cameron Zwarich.
38841 Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
38843 * bindings/objc/DOM.mm:
38844 * loader/CachedImage.h:
38845 * loader/EmptyClients.h:
38846 * platform/graphics/GlyphPageTreeNode.cpp:
38847 * platform/text/CString.h:
38848 * platform/text/String.cpp:
38849 * platform/text/mac/TextCodecMac.cpp:
38850 * svg/graphics/SVGResourceFilter.h:
38851 * svg/graphics/filters/SVGFEImage.h:
38853 2010-03-07 Mark Rowe <mrowe@apple.com>
38855 Completely remove two files that were deleted in r55635 from the Xcode project.
38857 * WebCore.xcodeproj/project.pbxproj:
38859 2010-03-07 Sam Weinig <sam@webkit.org>
38861 Reviewed by Dan Bernstein.
38863 Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
38864 https://bugs.webkit.org/show_bug.cgi?id=35848
38866 - Take the opportunity to fully autogenerate window.atob() and window.btoa().
38868 * bindings/js/JSDOMWindowCustom.cpp:
38869 * page/DOMWindow.cpp:
38870 (WebCore::DOMWindow::btoa):
38871 (WebCore::DOMWindow::atob):
38872 * page/DOMWindow.idl:
38874 2010-03-07 Dan Bernstein <mitz@apple.com>
38876 Reviewed by Simon Fraser.
38878 <rdar://problem/7722008> Column breaking ignores floats
38879 https://bugs.webkit.org/show_bug.cgi?id=35837
38881 Test: fast/multicol/float-truncation.html
38883 Introduce an earlier column-break if otherwise a float that could fit
38884 inside a single column will be split between columns.
38886 It is still possible for floats to be needlessly broken if initially
38887 they fit in the column, but normal flow truncation then shortens the
38890 * rendering/RenderBlock.cpp:
38891 (WebCore::RenderBlock::visibleTopOfHighestFloatExtendingBelow): Added.
38892 Returns the visible top of the highest descendant float that visibly
38893 extends below the given y offset, ignoring floats that are taller than
38894 the given maximum height.
38895 (WebCore::RenderBlock::layoutColumns): If the initial column height
38896 would cause a float to be split, truncate above the float.
38897 * rendering/RenderBlock.h:
38899 2010-03-07 Dmitry Titov <dimich@chromium.org>
38901 Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.
38903 REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
38904 https://bugs.webkit.org/show_bug.cgi?id=35819
38906 * Android.jscbindings.mk:
38907 * Android.v8bindings.mk:
38911 * WebCore.vcproj/WebCore.vcproj:
38912 * WebCore.xcodeproj/project.pbxproj:
38913 * bindings/js/JSDOMWindowCustom.cpp:
38914 * bindings/js/JSDatabaseCallback.cpp: Removed.
38915 * bindings/js/JSDatabaseCallback.h: Removed.
38916 * bindings/v8/custom/V8DOMWindowCustom.cpp:
38917 * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
38918 * bindings/v8/custom/V8DatabaseCallback.h: Removed.
38919 * dom/Document.cpp:
38920 (WebCore::Document::postTask):
38921 * page/DOMWindow.cpp:
38922 (WebCore::DOMWindow::openDatabase):
38923 * page/DOMWindow.h:
38924 * page/DOMWindow.idl:
38925 * storage/Database.cpp:
38926 (WebCore::Database::openDatabase):
38927 (WebCore::Database::Database):
38928 (WebCore::Database::performOpenAndVerify):
38929 * storage/Database.h:
38930 * storage/DatabaseCallback.h: Removed.
38931 * workers/WorkerContext.cpp:
38932 (WebCore::WorkerContext::openDatabase):
38933 * workers/WorkerContext.h:
38935 2010-03-06 Mark Rowe <mrowe@apple.com>
38937 Rubber-stamped by Sam Weinig.
38939 Remove unnecessary includes of wtf/Platform.h. This is already pulled in by config.h.
38941 * accessibility/AccessibilityObject.h:
38942 * dom/XMLTokenizer.cpp:
38943 * dom/XMLTokenizerLibxml2.cpp:
38944 * dom/XMLTokenizerQt.cpp:
38945 * editing/TextAffinity.h:
38946 * loader/FrameLoaderClient.h:
38947 * page/FocusController.cpp:
38948 * page/FrameTree.cpp:
38949 * page/Geolocation.h:
38950 * page/PositionCallback.h:
38951 * page/PositionErrorCallback.h:
38952 * platform/Cursor.h:
38953 * platform/FileSystem.h:
38954 * platform/FloatConversion.h:
38955 * platform/KeyboardCodes.h:
38956 * platform/PlatformKeyboardEvent.h:
38957 * platform/PlatformTouchPoint.h:
38958 * platform/SuddenTermination.h:
38959 * platform/Widget.h:
38960 * platform/graphics/Color.h:
38961 * platform/graphics/FloatPoint.h:
38962 * platform/graphics/FloatSize.h:
38963 * platform/graphics/GraphicsContext.h:
38964 * platform/graphics/IntPoint.h:
38965 * platform/graphics/IntRect.h:
38966 * platform/graphics/IntSize.h:
38967 * platform/graphics/openvg/PainterOpenVG.h:
38968 * platform/graphics/openvg/SurfaceOpenVG.h:
38969 * platform/network/ResourceHandleClient.h:
38970 * platform/text/Base64.cpp:
38971 * rendering/style/SVGRenderStyle.h:
38972 * xml/XSLTProcessor.cpp:
38973 * xml/XSLTProcessorLibxslt.cpp:
38974 * xml/XSLTProcessorQt.cpp:
38976 2010-03-06 Sam Weinig <sam@webkit.org>
38978 Reviewed by Dan Bernstein.
38980 Move debug only JS wrapper-set tracking code into its own file.
38981 https://bugs.webkit.org/show_bug.cgi?id=35839
38983 * GNUmakefile.am: Added new files.
38984 * WebCore.gypi: Ditto.
38985 * WebCore.pro: Ditto.
38986 * WebCore.vcproj/WebCore.vcproj: Ditto.
38987 * WebCore.xcodeproj/project.pbxproj: Ditto.
38989 * bindings/js/JSDOMBinding.cpp:
38990 (WebCore::cacheDOMObjectWrapper):
38991 (WebCore::forgetDOMObject):
38992 (WebCore::forgetDOMNode):
38993 (WebCore::cacheDOMNodeWrapper):
38994 (WebCore::takeWrappers):
38995 (WebCore::updateDOMNodeDocument):
38996 Updated for new signature for willCacheWrapper and didUncacheWrapper.
38998 * bindings/js/JSDOMWrapper.cpp: Added.
38999 (WebCore::DOMObject::~DOMObject):
39000 (WebCore::DOMObject::defineOwnProperty):
39001 Moved from JSDOMBinding.cpp.
39003 * bindings/js/JSDebugWrapperSet.cpp: Added.
39004 (WebCore::JSDebugWrapperSet::shared):
39005 (WebCore::JSDebugWrapperSet::JSDebugWrapperSet):
39006 * bindings/js/JSDebugWrapperSet.h: Added.
39007 (WebCore::JSDebugWrapperSet::add):
39008 (WebCore::JSDebugWrapperSet::remove):
39009 (WebCore::JSDebugWrapperSet::contains):
39010 (WebCore::JSDebugWrapperSet::willCacheWrapper):
39011 (WebCore::JSDebugWrapperSet::didUncacheWrapper):
39012 Moved from JSDOMBinding.cpp.
39014 2010-03-06 Sam Weinig <sam@webkit.org>
39016 Rubber-stamped by Dan Bernstein.
39018 Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into
39024 * WebCore.vcproj/WebCore.vcproj:
39025 * WebCore.xcodeproj/project.pbxproj:
39026 * bindings/js/DOMObjectHashTableMap.cpp: Copied from bindings/js/JSDOMBinding.cpp.
39027 * bindings/js/DOMObjectHashTableMap.h: Copied from bindings/js/JSDOMBinding.h.
39028 (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
39029 (WebCore::DOMObjectHashTableMap::get):
39030 * bindings/js/DOMWrapperWorld.cpp: Copied from bindings/js/JSDOMBinding.cpp.
39031 (WebCore::forgetWorldOfDOMNodesForDocument):
39032 * bindings/js/DOMWrapperWorld.h: Copied from bindings/js/JSDOMBinding.h.
39033 (WebCore::DOMWrapperWorld::create):
39034 (WebCore::DOMWrapperWorld::rememberDocument):
39035 (WebCore::DOMWrapperWorld::forgetDocument):
39036 (WebCore::DOMWrapperWorld::isNormal):
39037 (WebCore::debuggerWorld):
39038 (WebCore::pluginWorld):
39039 (WebCore::currentWorld):
39040 (WebCore::Document::getWrapperCache):
39041 * bindings/js/JSDOMBinding.cpp:
39042 * bindings/js/JSDOMBinding.h:
39043 * bindings/js/JSDOMWindowBase.cpp:
39044 * bindings/js/ScriptController.cpp:
39045 * bindings/js/WebCoreJSClientData.h: Copied from bindings/js/JSDOMBinding.h.
39046 (WebCore::WebCoreJSClientData::WebCoreJSClientData):
39047 (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
39048 (WebCore::WebCoreJSClientData::normalWorld):
39049 (WebCore::WebCoreJSClientData::getAllWorlds):
39050 (WebCore::WebCoreJSClientData::rememberWorld):
39051 (WebCore::WebCoreJSClientData::forgetWorld):
39052 * bindings/js/WorkerScriptController.cpp:
39054 2010-03-06 Dan Bernstein <mitz@apple.com>
39056 Rubber-stamped by Sam Weinig.
39058 Remove an unused method.
39060 * rendering/RenderBlock.cpp:
39061 (WebCore::RenderBlock::layoutBlock): Changed comment.
39062 (WebCore::RenderBlock::floatRect): Removed.
39063 * rendering/RenderBlock.h: Removed floatRect().
39065 2010-03-06 Pavel Feldman <pfeldman@chromium.org>
39067 Reviewed by Timothy Hatcher.
39069 Web Inspector: make timeline overview bars transparent to mouse events.
39071 https://bugs.webkit.org/show_bug.cgi?id=35832
39073 * inspector/front-end/inspector.css:
39075 2010-03-06 Pavel Feldman <pfeldman@chromium.org>
39077 Reviewed by Jeremy Orlow.
39079 Web Inspector: switching to/from Timeline Panel moves scroller.
39080 (Also added couple of record details items as I was fixing it).
39082 https://bugs.webkit.org/show_bug.cgi?id=35829
39084 * English.lproj/localizedStrings.js:
39085 * inspector/front-end/TimelinePanel.js:
39086 (WebInspector.TimelinePanel):
39087 (WebInspector.TimelinePanel.prototype.get defaultFocusedElement):
39088 (WebInspector.TimelinePanel.prototype.show):
39089 (WebInspector.TimelinePanel.prototype._refreshRecords):
39090 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
39092 2010-03-06 Patrick Gansterer <paroga@paroga.com>
39094 Reviewed by Eric Seidel.
39096 Removed unnecessary WinCE file.
39097 The same functionality is provided by platform/win/SystemTimeWin.cpp.
39098 https://bugs.webkit.org/show_bug.cgi?id=35799
39100 * platform/wince/SystemTimeWince.cpp: Removed.
39102 2010-03-06 Joanmarie Diggs <joanmarie.diggs@gmail.com>
39104 Reviewed by Eric Seidel.
39106 https://bugs.webkit.org/show_bug.cgi?id=30895
39107 [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
39109 This completes the fixing of the Atk table hierarchy which was started
39112 * accessibility/gtk/AccessibilityObjectAtk.cpp:
39113 (AccessibilityObject::accessibilityPlatformIncludesObject):
39114 * accessibility/AccessibilityRenderObject.cpp:
39115 (AccessibilityRenderObject::determineAccessibilityRole):
39117 2010-03-06 MORITA Hajime <morrita@google.com>
39119 Reviewed by Darin Adler.
39121 Moved implementations of window.btoa() and window.atob() from
39122 JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow
39123 functions instead of having a separate implementation. As a side effect, the
39124 error message has changed from "Cannot decode base64" to one that
39125 indicates DOM Exception, which is compatible to Firefox.
39127 Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
39128 https://bugs.webkit.org/show_bug.cgi?id=35723
39130 No new test. No new functionality.
39132 * bindings/js/JSDOMWindowCustom.cpp:
39133 (WebCore::JSDOMWindow::atob):
39134 (WebCore::JSDOMWindow::btoa):
39135 Moved conversion code to DOMWindow and invoke it. Argument
39136 checking remains here.
39138 * bindings/v8/custom/V8DOMWindowCustom.cpp:
39139 (WebCore::V8DOMWindow::atobCallback):
39140 (WebCore::V8DOMWindow::btoaCallback):
39141 Remove conversion code and call DOMWindow APIs. Although argument
39142 checking remains here.
39144 * page/DOMWindow.cpp:
39145 (WebCore::hasMultibyteCharacters):
39146 (WebCore::DOMWindow::btoa):
39147 (WebCore::DOMWindow::atob):
39148 * page/DOMWindow.h:
39149 Moved Conversion code from JSDOMWindow, modifing to fit JSC independent.
39151 2010-03-06 Yuta Kitamura <yutak@chromium.org>
39153 Reviewed by Eric Seidel.
39155 Fix decoration position in search input field.
39157 This patch fixes rendering of input field of "search" type, whose decoration
39158 (loupe icon and close button) was wrongly positioned when the input field was
39159 contained in a block with -webkit-transform property.
39161 Chromium bug: http://crbug.com/20439
39163 [Chromium] Decoration of "search" input field is wrongly rendered
39164 https://bugs.webkit.org/show_bug.cgi?id=30245
39166 No new tests, since this patch fixes an existing test
39167 (fast/forms/search-transformed.html) in Chromium layout tests.
39169 * rendering/RenderThemeChromiumSkia.cpp:
39170 (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): Added. This method
39171 does almost the same thing as RenderThemeMac::convertToPaintingRect.
39172 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): The position
39173 of the icon should not depend on its absolute position.
39174 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): Ditto.
39175 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Ditto.
39176 * rendering/RenderThemeChromiumSkia.h: Added new method.
39178 2010-03-06 Ilya Tikhonovsky <loislo@chromium.org>
39180 Reviewed by Pavel Feldman.
39182 Web Inspector: in Timeline panel, click followed with mouse move resets popover.
39184 https://bugs.webkit.org/show_bug.cgi?id=35827
39186 * inspector/front-end/Popover.js:
39187 (WebInspector.PopoverHelper.prototype._mouseDown):
39188 (WebInspector.PopoverHelper.prototype._mouseMove):
39189 (WebInspector.PopoverHelper.prototype._handleMouseAction):
39191 2010-03-05 Tony Chang <tony@chromium.org>
39193 Reviewed by Eric Seidel.
39195 https://bugs.webkit.org/show_bug.cgi?id=33247
39196 Backwards cursor movement incorrect when previous block ends with <br>.
39198 If the cursor is trying to move into a node that has a height of 0,
39201 Test: editing/execCommand/move-selection-back-line.html
39203 * editing/visible_units.cpp:
39204 (WebCore::previousLinePosition):
39206 2010-03-05 Andrey Kosyakov <caseq@chromium.org>
39208 Reviewed by Eric Seidel.
39210 Enable resource loading callback while loading worker scripts
39211 https://bugs.webkit.org/show_bug.cgi?id=35744
39213 * workers/WorkerScriptLoader.cpp:
39214 (WebCore::WorkerScriptLoader::loadSynchronously):
39215 (WebCore::WorkerScriptLoader::loadAsynchronously):
39217 2010-03-05 Chris Fleizach <cfleizach@apple.com>
39219 Reviewed by Eric Seidel.
39221 WAI-ARIA live region doesn't appear when <div> only has a <div> child
39222 https://bugs.webkit.org/show_bug.cgi?id=35751
39224 Elements should not be ignored if they carry ARIA attributes in them.
39226 Test: platform/mac/accessibility/div-containing-div-with-aria.html
39228 * accessibility/AccessibilityObject.cpp:
39229 (WebCore::AccessibilityObject::supportsARIAAttributes):
39230 * accessibility/AccessibilityObject.h:
39231 (WebCore::AccessibilityObject::supportsARIADropping):
39232 (WebCore::AccessibilityObject::supportsARIADragging):
39233 * accessibility/AccessibilityRenderObject.cpp:
39234 (WebCore::AccessibilityRenderObject::supportsARIADropping):
39235 (WebCore::AccessibilityRenderObject::supportsARIADragging):
39236 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
39237 * accessibility/AccessibilityRenderObject.h:
39239 2010-03-05 Dmitry Titov <dimich@chromium.org>
39241 Reviewed by Oliver Hunt.
39243 Add a manual test for crash in DOMWindow::clearTimeout when DOMWindow is not connected to Frame
39244 https://bugs.webkit.org/show_bug.cgi?id=32353
39246 * manual-tests/clearTimeout-crash-bug29832.html: Added.
39248 2010-03-05 Dmitry Titov <dimich@chromium.org>
39250 Reviewed by David Levin.
39252 [v8] Remove wrong assert in GC callback
39253 https://bugs.webkit.org/show_bug.cgi?id=35757
39255 Test: fast/workers/wrapper-map-gc.html
39257 * bindings/v8/DOMData.h:
39258 (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread.
39260 2010-03-05 Alex Milowski <alex@milowski.com>
39262 Reviewed by Kenneth Rohde Christiansen.
39264 Added support for row layout with stretchy operators and
39265 adjusted the over spacing for over and underover accordingly.
39267 Tests: mathml/presentation/mo.xhtml
39268 mathml/presentation/row.xhtml
39270 * WebCore.xcodeproj/project.pbxproj:
39271 * mathml/MathMLInlineContainerElement.cpp:
39272 * mathml/MathMLTextElement.cpp:
39273 * mathml/RenderMathMLMath.cpp: Added.
39274 * mathml/RenderMathMLMath.h: Added.
39275 * mathml/RenderMathMLOperator.cpp: Added.
39276 * mathml/RenderMathMLOperator.h: Added.
39277 * mathml/RenderMathMLRow.cpp: Added.
39278 * mathml/RenderMathMLRow.h: Added.
39279 * mathml/RenderMathMLUnderOver.cpp:
39280 * mathml/mathtags.in:
39282 2010-03-05 Dean Jackson <dino@apple.com>
39284 Reviewed by Simon Fraser.
39286 https://bugs.webkit.org/show_bug.cgi?id=35772
39287 Animation fill modes should be supported in the shorthand property
39289 Add CSSPropertyWebkitAnimationFillMode to the list of properties
39290 evaluated in the -webkit-animation shorthand.
39292 Test: animations/animation-shorthand.html
39294 * css/CSSParser.cpp:
39295 (WebCore::CSSParser::parseAnimationShorthand):
39297 2010-03-05 Dean Jackson <dino@apple.com>
39299 Reviewed by Simon Fraser
39301 https://bugs.webkit.org/show_bug.cgi?id=35815
39302 Animation Fill Modes fail on Windows
39304 * css/CSSComputedStyleDeclaration.cpp:
39305 * css/CSSStyleSelector.cpp:
39306 * platform/graphics/mac/GraphicsLayerCA.mm:
39307 - use new enum value
39308 * platform/animation/Animation.h:
39309 - change bitfield type
39310 * rendering/style/RenderStyleConstants.h:
39311 - add new enum for fill mode
39313 2010-03-05 Csaba Osztrogonác <ossy@webkit.org>
39315 Unreviewed buildfix after r55593. (To fix Qt --minimal build.)
39317 * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
39319 2010-03-05 Simon Fraser <simon.fraser@apple.com>
39321 Reviewed by Darin Adler.
39323 ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
39324 https://bugs.webkit.org/show_bug.cgi?id=34065
39325 <rdar://problem/7573509>
39327 Fix one instance of this assertion (not necessarily the one seen on hulu.com).
39329 If the layer that clippingRoot() is being called on is itself compositing,
39330 then it acts as the clipping root. Without this, calls to RenderLayer::childrenClipRect()
39331 and RenderLayer::selfClipRect() via FrameView::windowClipRectForLayer(), for plug-ins,
39332 caused the caching of an incorrect clip rects root.
39334 Test: compositing/geometry/object-clip-rects-assertion.html
39336 * rendering/RenderLayer.cpp:
39337 (WebCore::RenderLayer::clippingRoot):
39339 2010-03-05 Simon Fraser <simon.fraser@apple.com>
39341 Reviewed by Dan Bernstein.
39343 Child clipping compositing layers don't show the blue debug color
39344 https://bugs.webkit.org/show_bug.cgi?id=35807
39346 Set a layer owner on the GraphicsLayers created for clipping children,
39347 so that they can get to the debug settings that give them the blue color.
39349 * rendering/RenderLayerBacking.cpp:
39350 (WebCore::RenderLayerBacking::updateClippingLayers):
39352 2010-03-05 Simon Fraser <simon.fraser@apple.com>
39354 Reviewed by Dan Bernstein.
39356 MobileMe movie page is missing playback controls
39357 https://bugs.webkit.org/show_bug.cgi?id=35805
39358 <rdar://problem/7653169>
39360 On pages with video or plug-ins, we run overlap tests to determine which layers
39361 need to be composited. There was an ordering dependency bug in
39362 RenderLayerCompositor::computeCompositingRequirements() that caused us to fail
39363 to detect that a layer needed to be composited, resulting in page content
39366 Specifically, layer->setHasCompositingDescendant() can change the answer
39367 to needsToBeComposited(), when a layer has to clip compositing descendants.
39368 So if we change setHasCompositingDescendant(), then we need to re-test
39369 clipsCompositingDescendants() and add the layer to the overlap map if so.
39371 Test: compositing/overflow/overflow-compositing-descendant.html
39373 * rendering/RenderLayerCompositor.cpp:
39374 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
39376 2010-03-04 Dumitru Daniliuc <dumi@chromium.org>
39378 Reviewed by Adam Barth.
39380 Adding support for the optional creation callback that could be
39381 passed to openDatabase().
39383 Test: storage/open-database-creation-callback.html
39385 https://bugs.webkit.org/show_bug.cgi?id=34726
39387 * Android.jscbindings.mk
39388 * Android.v8bindings.mk
39392 * WebCore.vcproj/WebCore.vcproj:
39393 * WebCore.xcodeproj/project.pbxproj:
39394 * bindings/js/JSDOMWindowCustom.cpp:
39395 (WebCore::JSDOMWindow::openDatabase):
39396 * bindings/js/JSDatabaseCallback.cpp: Added.
39397 (WebCore::JSDatabaseCallback::JSDatabaseCallback):
39398 (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
39399 (WebCore::JSDatabaseCallback::handleEvent):
39400 * bindings/js/JSDatabaseCallback.h: Added.
39401 (WebCore::JSDatabaseCallback::create):
39402 * bindings/v8/custom/V8DOMWindowCustom.cpp:
39403 (WebCore::V8DOMWindow::openDatabaseCallback):
39404 * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
39405 (WebCore::V8DatabaseCallback::V8DatabaseCallback):
39406 (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
39407 (WebCore::V8DatabaseCallback::handleEvent):
39408 * bindings/v8/custom/V8DatabaseCallback.h: Added.
39409 (WebCore::V8DatabaseCallback::create):
39410 * page/DOMWindow.cpp:
39411 (WebCore::DOMWindow::openDatabase):
39412 * page/DOMWindow.h:
39413 * page/DOMWindow.idl:
39414 * storage/Database.cpp:
39415 (WebCore::DatabaseCreationCallbackTask::create):
39416 (WebCore::DatabaseCreationCallbackTask::performTask):
39417 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
39418 (WebCore::Database::openDatabase):
39419 (WebCore::Database::Database):
39420 (WebCore::Database::performOpenAndVerify):
39421 (WebCore::Database::performCreationCallback):
39422 * storage/Database.h:
39423 (WebCore::Database::isNew):
39424 * storage/DatabaseCallback.h: Added.
39425 (WebCore::DatabaseCallback::~DatabaseCallback):
39426 * workers/WorkerContext.cpp:
39427 (WebCore::WorkerContext::openDatabase):
39428 * workers/WorkerContext.h:
39430 2010-03-05 Chris Marrin <cmarrin@apple.com>
39432 Reviewed by Simon Fraser.
39434 Fixed infinite recursion of composited video on Windows
39435 https://bugs.webkit.org/show_bug.cgi?id=35798
39437 Due to a change in the way we get the platformLayer (WKCACFLayer)
39438 for video, the mediaplayer was in an infinite loop with WKCACFLayer
39439 bouncing notifySyncRequired calls back and forth. After discussion
39440 we decided it would be better to avoid notifySyncRequired entirely,
39441 which would walk up through WebCore calls and back down through
39442 WebKit calls to tell the WKCACFLayerRenderer to kick off a render cycle.
39444 I subclassed WKCACFLayer into a WKCACFRootLayer which has a pointer to
39445 the WKCACFLayerRenderer. When something changes, we get the rootLayer()
39446 by walking up the layers and make a virtual call which WKCACFRootLayer
39447 implements to tell WKCACFLayerRenderer to render.
39449 I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF
39450 now makes a WebLayer subclass which implements the drawInContext()
39453 I also had to add protection to the platformLayer() call in
39454 MediaPlayerPrivateQuickTimeWin because it gets called earlier than before
39455 when the layer is still null.
39457 * platform/graphics/win/GraphicsLayerCACF.cpp:Implement WebLayer
39458 (WebCore::WebLayer::create):
39459 (WebCore::WebLayer::drawInContext):
39460 (WebCore::WebLayer::WebLayer):
39461 (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
39462 (WebCore::GraphicsLayerCACF::setNeedsDisplayInRect):
39463 (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
39464 (WebCore::GraphicsLayerCACF::updateContentsImage):
39465 * platform/graphics/win/GraphicsLayerCACF.h:
39466 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:Protect platformLayer from a null qtLayer
39467 (WebCore::MediaPlayerPrivate::platformLayer):
39468 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:Got rid of no longer needed method
39469 (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
39470 * platform/graphics/win/WKCACFLayer.cpp:Got rid of GraphicsLayer dependency. Made virtual.
39471 (WebCore::displayCallback):
39472 (WebCore::WKCACFLayer::create):
39473 (WebCore::WKCACFLayer::WKCACFLayer):
39474 (WebCore::WKCACFLayer::setNeedsCommit):
39475 (WebCore::WKCACFLayer::setNeedsDisplay):
39476 * platform/graphics/win/WKCACFLayer.h:
39477 (WebCore::WKCACFLayer::setNeedsRender):
39478 (WebCore::WKCACFLayer::drawInContext):
39479 * platform/graphics/win/WKCACFLayerRenderer.cpp:Create WKCACFRootLayer which tells WKCACFLayerRenderer to render
39480 (WebCore::WKCACFRootLayer::WKCACFRootLayer):
39481 (WebCore::WKCACFRootLayer::create):
39482 (WebCore::WKCACFRootLayer::setNeedsRender):
39483 (WebCore::WKCACFRootLayer::setNeedsDisplay):
39484 (WebCore::WKCACFLayerRenderer::rootLayer):
39485 (WebCore::WKCACFLayerRenderer::setRootChildLayer):
39486 (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
39487 (WebCore::WKCACFLayerRenderer::createRenderer):
39488 * platform/graphics/win/WKCACFLayerRenderer.h:
39490 2010-03-05 Dimitri Glazkov <dglazkov@chromium.org>
39492 Reviewed by David Levin.
39494 [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible.
39495 https://bugs.webkit.org/show_bug.cgi?id=35797
39497 No new tests, this is a latent compile break.
39501 2010-03-04 Eric Carlson <eric.carlson@apple.com>
39503 Reviewed by Adele Peterson.
39505 <rdar://problem/7718442> Implement 'preload=none'
39506 https://bugs.webkit.org/show_bug.cgi?id=35789
39508 Don't load any media data when preload is 'none'.
39510 Test: media/video-preload.html
39512 * html/HTMLMediaElement.cpp:
39513 (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method
39514 when autoplay is set.
39516 * platform/graphics/MediaPlayer.cpp:
39517 (WebCore::MediaPlayer::setPreload): Set m_preload so we have the correct value when
39518 the media engine is created.
39520 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
39521 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
39522 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_preload.
39523 (WebCore::MediaPlayerPrivate::resumeLoad): New, kick off postponed a load.
39524 (WebCore::MediaPlayerPrivate::load): Do nothing if preload is 'none'
39525 (WebCore::MediaPlayerPrivate::loadInternal): New, complete loading.
39526 (WebCore::MediaPlayerPrivate::prepareToPlay): New, resume a postponed load as someone
39528 (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload.
39530 2010-03-04 Nate Chapin <japhet@chromium.org>
39532 Reviewed by Dimitri Glazkov.
39534 [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning.
39536 https://bugs.webkit.org/show_bug.cgi?id=35697
39538 * bindings/scripts/CodeGeneratorV8.pm: Remove unused code, fix style issues, make less hard-coded.
39539 * bindings/v8/custom/V8DOMWindowCustom.cpp:
39540 (WebCore::V8DOMWindow::addEventListenerCallback):
39541 (WebCore::V8DOMWindow::removeEventListenerCallback):
39543 2010-03-05 Pavel Feldman <pfeldman@chromium.org>
39545 Not reviewed. Roll back r55522 since it regreses performance
39546 according to chromium's page cycler.
39548 https://bugs.webkit.org/show_bug.cgi?id=35568
39550 2010-03-05 Dean Jackson <dino@apple.com>
39552 Reviewed by Simon Fraser and Chris Marrin.
39554 Bug 26869: Add fill modes for CSS Animations
39555 https://bugs.webkit.org/show_bug.cgi?id=26869
39557 Tests: animations/fill-mode-removed.html
39558 animations/fill-mode-transform.html
39559 animations/fill-mode.html
39561 * css/CSSComputedStyleDeclaration.cpp:
39562 * css/CSSParser.cpp:
39564 * css/CSSPropertyNames.in:
39565 * css/CSSStyleSelector.cpp:
39566 * css/CSSStyleSelector.h:
39567 * css/CSSValueKeywords.in:
39568 - parse, assign and retrieve the value of the new
39569 -webkit-animation-fill-mode property
39570 * page/animation/AnimationBase.cpp:
39571 * page/animation/AnimationBase.h:
39572 - new state in animation engine for a finished animation
39573 that is "filling" forwards in time. This allows the
39574 engine to keep the animation around and not revert to the
39576 - update the timer code to indicate it doesn't need to
39577 keep animating if it is filling
39578 - now that animations can extend beyond their elapsed time,
39579 make sure progress works correctly with iteration counts
39580 * page/animation/KeyframeAnimation.cpp:
39581 (WebCore::KeyframeAnimation::animate):
39582 - ensure correct style value is returned at the right
39583 time by checking for fill mode
39584 (WebCore::KeyframeAnimation::onAnimationEnd):
39585 - continue to send the end event, but only remove the
39586 animation if it isn't filling forwards
39587 * platform/animation/Animation.cpp:
39588 * platform/animation/Animation.h:
39589 - new fill mode member property
39590 * platform/animation/AnimationList.cpp:
39591 - ensure the fill mode is propagated to a list of style valus
39592 * platform/graphics/mac/GraphicsLayerCA.mm:
39593 - make hardware layers use Core Animation's fill mode
39595 2010-03-05 Ilya Tikhonovsky <loislo@chromium.org>
39597 Reviewed by Pavel Feldman.
39599 Web Inspector: Do not show link helper in popovers and/or for external resources.
39601 https://bugs.webkit.org/show_bug.cgi?id=35785
39603 * English.lproj/localizedStrings.js:
39604 * inspector/front-end/ResourcesPanel.js:
39605 (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
39606 * inspector/front-end/ScriptsPanel.js:
39607 (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
39608 * inspector/front-end/TimelinePanel.js:
39609 (WebInspector.TimelinePanel.prototype.hide):
39610 * inspector/front-end/inspector.js:
39611 (WebInspector.documentMouseOver):
39612 (WebInspector.documentClick.followLink):
39613 (WebInspector.documentClick):
39614 (WebInspector.addMainEventListeners):
39616 2010-03-05 Fumitoshi Ukai <ukai@chromium.org>
39618 Reviewed by Alexey Proskuryakov.
39620 WebSocket onmessageerror event handler
39621 https://bugs.webkit.org/show_bug.cgi?id=35570
39623 Test: websocket/tests/error-detect.html
39625 * websockets/WebSocket.cpp:
39626 (WebCore::WebSocketChannel::didConnect): assert scriptExecutionContext.
39627 (WebCore::WebSocketChannel::didReceiveMessage): assert scriptExecutionContext.
39628 (WebCore::WebSocket::didReceiveMessageError):
39629 (WebCore::WebSocket::didClose): assert scriptExecutionContext.
39630 * websockets/WebSocket.h:
39631 * websockets/WebSocket.idl: Add onerror event listener
39632 * websockets/WebSocketChannel.cpp:
39633 (WebCore::WebSocketChannel::didReceiveData): call didReceiveMessageError if unknown frame tye is detected, or frame length overflowed.
39634 * websockets/WebSocketChannelClient.h:
39635 (WebCore::WebSocketChannelClient::didReceiveMessageError):
39637 2010-03-04 Garret Kelly <gdk@chromium.org>
39639 Reviewed by Darin Fisher.
39641 Changing private members from PlatformTouchEvent and PlatformTouchPoint
39642 to be protected, so that Chromium's PlatformTouchEventBuilder and
39643 PlatformTouchPointBuilder can access them. Exercised by the
39644 fast/events/touch tests.
39645 https://bugs.webkit.org/show_bug.cgi?id=35760
39647 * platform/PlatformTouchEvent.h:
39648 (WebCore::PlatformTouchEvent::~PlatformTouchEvent):
39649 * platform/PlatformTouchPoint.h:
39650 (WebCore::PlatformTouchPoint::~PlatformTouchPoint):
39652 2010-03-04 Fumitoshi Ukai <ukai@chromium.org>
39654 Reviewed by Alexey Proskuryakov.
39656 WebSocket crash bug when reloading the page while the WebSocket is busy
39657 https://bugs.webkit.org/show_bug.cgi?id=35732
39659 * websockets/WebSocketChannel.cpp:
39660 (WebCore::WebSocketChannel::disconnect): clear m_context from WebSocketChannel and WebSocketHandshake.
39661 (WebCore::WebSocketChannel::didOpen): check m_context
39662 (WebCore::WebSocketChannel::didClose): clear m_context
39663 (WebCore::WebSocketChannel::didReceiveData): check m_context, and check m_client early before appending to buffer
39664 * websockets/WebSocketHandshake.cpp:
39665 (WebCore::WebSocketHandshake::clearScriptExecutionContext): Added.
39666 * websockets/WebSocketHandshake.h:
39668 2010-03-04 MORITA Hajime <morrita@google.com>
39670 Reviewed by Alexey Proskuryakov.
39672 Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
39673 https://bugs.webkit.org/show_bug.cgi?id=35630
39675 Test: http/tests/xmlhttprequest/open-async-overload.html
39677 * bindings/js/JSXMLHttpRequestCustom.cpp:
39678 (WebCore::JSXMLHttpRequest::open):
39679 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
39680 (WebCore::V8XMLHttpRequest::openCallback):
39681 * xml/XMLHttpRequest.cpp:
39682 (WebCore::XMLHttpRequest::open):
39683 * xml/XMLHttpRequest.h:
39685 2010-03-04 James Robinson <jamesr@google.com>
39687 Reviewed by Eric Seidel.
39689 Styles do not have to be synchronously rematched after every event dispatch
39691 https://bugs.webkit.org/show_bug.cgi?id=32580
39693 * bindings/js/JSEventListener.cpp:
39694 (WebCore::JSEventListener::handleEvent):
39695 * bindings/v8/V8AbstractEventListener.cpp:
39696 (WebCore::V8AbstractEventListener::handleEvent):
39698 2010-03-04 Luiz Agostini <luiz.agostini@openbossa.org>
39700 Reviewed by Kenneth Rohde Christiansen.
39702 maemo spelled as mameo in WebCore.pro
39703 https://bugs.webkit.org/show_bug.cgi?id=35765
39705 Spelling corrected.
39709 2010-03-04 Tony Chang <tony@chromium.org>
39711 Reviewed by Eric Seidel.
39713 https://bugs.webkit.org/show_bug.cgi?id=18819
39714 Pressing option+page{down,up} should move the cursor and scroll in
39715 content editable areas. On other platforms, pressing page{down,up}
39716 should move the cursor and scroll in content editable areas.
39718 Test: editing/input/option-page-up-down.html
39720 * editing/EditorCommand.cpp:
39721 (WebCore::verticalScrollDistance):
39723 2010-03-03 Oliver Hunt <oliver@apple.com>
39725 Reviewed by Gavin Barraclough.
39727 Allow static property getters to interact with JSCs caching
39728 https://bugs.webkit.org/show_bug.cgi?id=35716
39730 Update the obviously safe getters to allow caching
39732 Test: fast/js/pic/cached-named-property-getter.html
39734 * bridge/runtime_array.cpp:
39735 (JSC::RuntimeArray::getOwnPropertySlot):
39736 * bridge/runtime_method.cpp:
39737 (JSC::RuntimeMethod::getOwnPropertySlot):
39739 2010-03-04 Mark Rowe <mrowe@apple.com>
39741 Reviewed by Sam Weinig.
39743 <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
39745 * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h
39746 in to the framework wrapper.
39748 2010-03-04 James Robinson <jamesr@chromium.org>
39750 Reviewed by Dimitri Glazkov.
39752 Handles setting HTMLSelectElement.length with mutation handlers present
39753 https://bugs.webkit.org/show_bug.cgi?id=33983
39755 When setting an HTMLSelectElement's length attribute, option elements have to be added or removed to the select
39756 as appropriate. This is a little tricky with mutation events since they might add, remove, or reorder elements
39757 while option elements are being added or deleted.
39759 Tests: fast/forms/select-set-length-optgroup.html
39760 fast/forms/select-set-length-with-mutation-remove.html
39761 fast/forms/select-set-length-with-mutation-reorder.html
39762 fast/forms/select-set-length-with-mutation-reparent.html
39763 fast/forms/select-set-length-with-mutation.html
39764 fast/forms/select-set-length.html
39766 * html/HTMLSelectElement.cpp:
39767 (WebCore::HTMLSelectElement::setLength):
39769 2010-03-04 Csaba Osztrogonác <ossy@webkit.org>
39771 [Qt] Unreviewed buildfix after r55542 on Windows.
39774 - plugins/win/PluginDatabaseWin.cpp removed.
39775 - platform/win/WebCoreInstanceHandle.cpp added.
39777 * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
39779 2010-03-04 Nate Chapin <japhet@chromium.org>
39781 Reviewed by Kenneth Rohde Christiansen.
39783 Fix the case where we do a same document navigation, scroll,
39784 then repeat the same document navigation. Currently, the second
39785 navigation does nothing.
39787 https://bugs.webkit.org/show_bug.cgi?id=35547
39789 Test: fast/loader/repeat-same-document-navigation.html
39791 * loader/FrameLoader.cpp:
39792 (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed.
39794 2010-03-04 Simon Fraser <simon.fraser@apple.com>
39798 const long long cMaxDistance = numeric_limits<long long>::max() created global
39799 initializers at the call sites, so replace with an inline function.
39801 * page/FocusController.cpp:
39802 (WebCore::updateFocusCandidateIfCloser):
39803 * page/SpatialNavigation.cpp:
39804 (WebCore::distanceInDirection):
39805 * page/SpatialNavigation.h:
39806 (WebCore::maxDistance):
39807 (WebCore::FocusCandidate::FocusCandidate):
39809 2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
39811 Unreviewed attempt to fix Windows build.
39813 * page/SpatialNavigation.cpp:
39814 (WebCore::spatialDistance):
39816 2010-03-04 Simon Fraser <simon.fraser@apple.com>
39820 Delcare updateFocusCandidateIfCloser static to avoid warning.
39822 * page/FocusController.cpp:
39823 (WebCore::updateFocusCandidateIfCloser):
39825 2010-03-04 Darin Fisher <darin@chromium.org>
39827 Reviewed by Dmitry Titov.
39829 [chromium] make history.{push,replace}State enabled at runtime
39830 https://bugs.webkit.org/show_bug.cgi?id=35753
39832 * bindings/generic/RuntimeEnabledFeatures.cpp:
39833 * bindings/generic/RuntimeEnabledFeatures.h:
39834 (WebCore::RuntimeEnabledFeatures::setPushStateEnabled):
39835 (WebCore::RuntimeEnabledFeatures::pushStateEnabled):
39836 (WebCore::RuntimeEnabledFeatures::replaceStateEnabled):
39837 * page/History.idl:
39839 2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
39841 Unreviewed attempt to (again) fix Mac build.
39843 * page/SpatialNavigation.cpp:
39844 (WebCore::spatialDistance):
39846 2010-03-04 Dan Bernstein <mitz@apple.com>
39848 Based on a patch from Nick Jong.
39850 Reviewed by Simon Fraser.
39852 Improve selection in multi-column blocks when hitting points above or
39853 below a column rect.
39855 Test: fast/multicol/hit-test-above-or-below.html
39857 * rendering/RenderBlock.cpp:
39858 (WebCore::RenderBlock::adjustPointToColumnContents): If the point lies
39859 within the horizontal range for a column, constrain it to the column (if
39860 it is above) or the next column (if it is below).
39862 2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
39864 Reviewed by Simon Fraser.
39866 Attempt to fix Mac build.
39868 * page/SpatialNavigation.cpp:
39870 2010-03-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
39872 Add SpatialNavigation header and cpp to Mac XCode project file.
39874 Reviewed by Kenneth Christiansen.
39876 * WebCore.xcodeproj/project.pbxproj:
39878 2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
39880 Reviewed by Simon Fraser, Eric Seidel and Darin Adler.
39881 Patch by Antonio Gomes <tonikitoo@webkit.org>
39882 Based on the initial work of Marco Barisione <marco.barisione@collabora.co.uk>
39884 Extend keyboard navigation to allow directional navigation
39885 https://bugs.webkit.org/show_bug.cgi?id=18662
39887 This patch implements the core logic of the 'Spatial Navigation' feature [1].
39888 It improves the accessibility support of WebCore by extending the basic keyboard
39889 navigation currently available (based on Tab forward and backward) with the
39890 addition of a two-dimensional directional navigation by using Left, Right, Up and
39891 Down arrow keys to move to the "nearest" element in the corresponding direction.
39894 * Feature is turned off by default in Settings. Port specific APIs need to be added
39895 for toggling it on/off.
39896 * Only elements viewed in the current viewport can have focus move to it. If the
39897 "nearest" is not in viewport dimensions, then a scroll-in-direction action is
39900 Known issues (to be covered in follow-up bugs):
39901 * Add port specific hooks to each DRT to enable/disable Spatial Navigation.
39902 * Support for spatial navigation through form elements (<input>, <select>, etc)
39904 * Make navigation keys customizable. It currently works with arrows keys only
39905 (up, down, right and left).
39906 * Make it support modifiers (Alt, Ctrl and Shift).
39907 * Improve support on scrollable content.
39909 [1] http://en.wikipedia.org/wiki/Spatial_navigation
39915 * WebCore.vcproj/WebCore.vcproj:
39916 * page/EventHandler.cpp:
39917 (WebCore::EventHandler::defaultKeyboardEventHandler):
39918 (WebCore::EventHandler::focusDirectionForKey):
39919 (WebCore::EventHandler::defaultArrowEventHandler):
39920 * page/EventHandler.h:
39921 * page/FocusController.cpp:
39922 (WebCore::FocusController::advanceFocus):
39923 (WebCore::FocusController::advanceFocusInDocumentOrder):
39924 (WebCore::FocusController::advanceFocusDirectionally):
39925 (WebCore::updateFocusCandidateIfCloser):
39926 (WebCore::FocusController::findFocusableNodeInDirection):
39927 (WebCore::FocusController::deepFindFocusableNodeInDirection):
39928 * page/FocusController.h:
39929 * page/FocusDirection.h:
39931 * page/Settings.cpp:
39932 (WebCore::Settings::Settings):
39933 (WebCore::Settings::setSpatialNavigationEnabled):
39935 (WebCore::Settings::isSpatialNavigationEnabled):
39936 * page/SpatialNavigation.cpp: Added.
39937 (WebCore::distanceInDirection):
39938 (WebCore::renderRectRelativeToRootDocument):
39939 (WebCore::alignmentForRects):
39940 (WebCore::isHorizontalMove):
39941 (WebCore::areRectsFullyAligned):
39942 (WebCore::areRectsPartiallyAligned):
39943 (WebCore::spatialDistance):
39944 (WebCore::isRectInDirection):
39945 (WebCore::hasOffscreenRect):
39946 (WebCore::scrollInDirection):
39947 (WebCore::isInRootDocument):
39948 (WebCore::deflateIfOverlapped):
39949 * page/SpatialNavigation.h: Added.
39951 (WebCore::FocusCandidate::FocusCandidate):
39953 2010-03-04 Beth Dakin <bdakin@apple.com>
39955 Reviewed by Anders Carlsson.
39957 This fixes the layering violation I committed yesterday by moving
39958 Page::instanceHandle into its own file just in the WebCore
39961 Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
39962 * WebCore.vcproj/WebCore.vcproj:
39963 * page/win/PageWin.cpp: Removed.
39965 Remove all instance handle code from Page.
39969 * platform/win/WebCoreInstanceHandle.cpp: Added.
39970 * platform/win/WebCoreInstanceHandle.h: Added.
39971 (WebCore::setInstanceHandle):
39972 (WebCore::instanceHandle):
39974 Switch to WebCore::instanceHandle() instead of
39975 Page::instanceHandle() and include the new header.
39976 * platform/graphics/win/WKCACFLayerRenderer.cpp:
39977 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
39978 * platform/win/PasteboardWin.cpp:
39979 (WebCore::Pasteboard::Pasteboard):
39980 * platform/win/PopupMenuWin.cpp:
39981 (WebCore::PopupMenu::show):
39982 (WebCore::PopupMenu::registerClass):
39983 * platform/win/SharedTimerWin.cpp:
39984 (WebCore::initializeOffScreenTimerWindow):
39985 * plugins/win/PluginViewWin.cpp:
39986 (WebCore::registerPluginView):
39987 (WebCore::PluginView::platformStart):
39989 2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
39991 Unreviewed build fix.
39992 Patch by Antonio Gomes <tonikitoo@webkit.org>
39994 'glib_file_name' renamed to 'gligFileName'.
39996 * platform/graphics/gtk/ImageGtk.cpp:
39997 (WebCore::Image::loadPlatformResource):
39999 2010-03-04 Pavel Feldman <pfeldman@chromium.org>
40001 Reviewed by Timothy Hatcher.
40003 Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend.
40005 https://bugs.webkit.org/show_bug.cgi?id=35720
40007 * inspector/InspectorBackend.cpp:
40008 (WebCore::InspectorBackend::enableSearchingForNode):
40009 (WebCore::InspectorBackend::disableSearchingForNode):
40010 (WebCore::InspectorBackend::setPauseOnExceptionsState):
40011 * inspector/InspectorBackend.h:
40012 * inspector/InspectorBackend.idl:
40013 * inspector/InspectorController.cpp:
40014 (WebCore::InspectorController::setWindowVisible):
40015 (WebCore::InspectorContorller::setSearchingForNode):
40016 (WebCore::InspectorController::populateScriptObjects):
40017 * inspector/InspectorController.h:
40018 * inspector/InspectorFrontend.cpp:
40019 (WebCore::InspectorFrontend::searchingForNodeWasEnabled):
40020 (WebCore::InspectorFrontend::searchingForNodeWasDisabled):
40021 (WebCore::InspectorFrontend::updatePauseOnExceptionsState):
40022 * inspector/InspectorFrontend.h:
40023 * inspector/front-end/ElementsPanel.js:
40024 (WebInspector.ElementsPanel):
40025 (WebInspector.ElementsPanel.prototype.get statusBarItems):
40026 (WebInspector.ElementsPanel.prototype.hide):
40027 (WebInspector.ElementsPanel.prototype.reset):
40028 (WebInspector.ElementsPanel.prototype.searchingForNodeWasEnabled):
40029 (WebInspector.ElementsPanel.prototype.searchingForNodeWasDisabled):
40030 (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
40031 * inspector/front-end/InspectorBackendStub.js:
40032 (.WebInspector.InspectorBackendStub.prototype.enableSearchingForNode):
40033 (.WebInspector.InspectorBackendStub.prototype.disableSearchingForNode):
40034 (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptionsState):
40035 * inspector/front-end/ScriptsPanel.js:
40036 (WebInspector.ScriptsPanel):
40037 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
40038 (WebInspector.ScriptsPanel.prototype.updatePauseOnExceptionsState):
40039 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
40040 (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
40041 * inspector/front-end/inspector.js:
40042 (WebInspector.searchingForNodeWasEnabled):
40043 (WebInspector.searchingForNodeWasDisabled):
40044 (WebInspector.updatePauseOnExceptionsState):
40046 2010-03-03 Pavel Feldman <pfeldman@chromium.org>
40048 Reviewed by Timothy Hatcher.
40050 Web Inspector: Clicking on an error should take me to the error
40052 https://bugs.webkit.org/show_bug.cgi?id=34860
40054 * inspector/front-end/ResourceView.js:
40055 (WebInspector.ResourceView):
40056 (WebInspector.ResourceView.prototype._selectTab):
40057 (WebInspector.ResourceView.prototype.selectContentTab):
40058 * inspector/front-end/ResourcesPanel.js:
40059 (WebInspector.ResourcesPanel.prototype.showResource):
40061 2010-03-03 Pavel Feldman <pfeldman@chromium.org>
40063 Reviewed by Timothy Hatcher.
40065 Web Inspector: Remove sync access to resourceTrackingEnabled.
40067 https://bugs.webkit.org/show_bug.cgi?id=35693
40069 * inspector/InspectorBackend.cpp:
40070 * inspector/InspectorBackend.h:
40071 * inspector/InspectorBackend.idl:
40072 * inspector/InspectorController.cpp:
40073 (WebCore::InspectorController::populateScriptObjects):
40074 * inspector/front-end/AuditsPanel.js:
40075 (WebInspector.AuditsPanel.prototype._reloadResources):
40076 (WebInspector.AuditsPanel.prototype.show):
40077 * inspector/front-end/InspectorBackendStub.js:
40078 (.WebInspector.InspectorBackendStub):
40079 (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
40080 (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
40081 (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
40082 (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
40083 (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
40084 (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
40085 * inspector/front-end/ResourcesPanel.js:
40086 (WebInspector.ResourcesPanel):
40087 (WebInspector.ResourcesPanel.prototype.get resourceTrackingEnabled):
40088 (WebInspector.ResourcesPanel.prototype.get visibleView):
40089 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
40090 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
40091 (WebInspector.ResourcesPanel.prototype.reset):
40092 (WebInspector.ResourcesPanel.prototype.showResource):
40093 (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
40094 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
40096 2010-03-04 Antoine Quint <ml@graougraou.com>
40098 Reviewed by Darin Adler.
40100 DOM insertion mutation events should dispatch after a node is attached to the render tree
40101 https://bugs.webkit.org/show_bug.cgi?id=35590
40103 Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html
40105 Split off the internal-to-WebCore node insertion notification code from the DOM mutation
40106 event dispatching, originally in dispatchChildInsertionEvents(), to a new static function
40107 called notifyChildInserted(). This allows us to dispatch the mutation events at a later
40108 time upon insertion of a child into to the tree, specifically _after_ attachment to the render
40111 * dom/ContainerNode.cpp:
40112 (WebCore::ContainerNode::insertBefore):
40113 (WebCore::ContainerNode::replaceChild):
40114 (WebCore::ContainerNode::appendChild):
40115 (WebCore::notifyChildInserted):
40116 (WebCore::dispatchChildInsertionEvents):
40118 2010-03-04 Fridrich Strba <fridrich.strba@bluewin.ch>
40120 Reviewed by Holger Freyther.
40122 Make paths relocatable on runtime on Windows
40123 https://bugs.webkit.org/show_bug.cgi?id=32711
40125 * platform/graphics/gtk/ImageGtk.cpp:
40126 (get_webkit_datadir):
40127 (WebCore::Image::loadPlatformResource):
40129 2010-03-04 Pavel Feldman <pfeldman@chromium.org>
40131 Reviewed by Timothy Hatcher.
40133 Web Inspector: Popup for Timeline panel will work in a tooltip mode
40135 https://bugs.webkit.org/show_bug.cgi?id=35680
40137 * inspector/front-end/Popover.js:
40138 (WebInspector.Popover):
40139 (WebInspector.Popover.prototype.show):
40140 (WebInspector.Popover.prototype.hide):
40141 (WebInspector.Popover.prototype._positionElement):
40142 (WebInspector.PopoverHelper):
40143 (WebInspector.PopoverHelper.prototype._mouseDown):
40144 (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
40145 (WebInspector.PopoverHelper.prototype._mouseMove):
40146 (WebInspector.PopoverHelper.prototype._resetHoverTimer):
40147 (WebInspector.PopoverHelper.prototype.hidePopup):
40148 (WebInspector.PopoverHelper.prototype._mouseHover):
40149 (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
40150 * inspector/front-end/TimelineOverviewPane.js:
40151 (WebInspector.TimelineOverviewPane.prototype.reset):
40152 * inspector/front-end/TimelinePanel.js:
40153 (WebInspector.TimelinePanel):
40154 (WebInspector.TimelinePanel.prototype.get _recordStyles):
40155 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
40156 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
40157 (WebInspector.TimelinePanel.prototype._refreshRecords):
40158 (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
40159 (WebInspector.TimelinePanel.prototype._getPopoverAnchor):
40160 (WebInspector.TimelinePanel.prototype._showPopover):
40161 (WebInspector.TimelinePanel.prototype._closeRecordDetails):
40162 (WebInspector.TimelineRecordListRow):
40163 (WebInspector.TimelineRecordListRow.prototype.update):
40164 (WebInspector.TimelineRecordGraphRow):
40165 (WebInspector.TimelineRecordGraphRow.prototype._onClick):
40166 (WebInspector.TimelinePanel.FormattedRecord):
40167 (WebInspector.TimelinePanel.FormattedRecord.prototype._createCell):
40168 (WebInspector.TimelinePanel.FormattedRecord.prototype._createRow):
40169 (WebInspector.TimelinePanel.FormattedRecord.prototype._createLinkRow):
40170 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
40171 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
40172 * inspector/front-end/inspector.css:
40174 2010-03-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
40176 Unreviewed build fix.
40178 Build fix after r55464.
40180 No new tests, no new functionality.
40182 * inspector/InspectorController.cpp:
40183 (WebCore::InspectorController::populateScriptObjects):
40185 2010-03-04 Leandro Pereira <leandro@profusion.mobi>
40187 Reviewed by Kenneth Rohde Christiansen.
40189 Add EFL port files to platform/graphics/efl.
40190 http://webkit.org/b/35539
40192 * platform/graphics/efl/FloatRectEfl.cpp: Added.
40193 * platform/graphics/efl/FontEfl.cpp: Added.
40194 * platform/graphics/efl/IconEfl.cpp: Added.
40195 * platform/graphics/efl/ImageEfl.cpp: Added.
40196 * platform/graphics/efl/IntPointEfl.cpp: Added.
40197 * platform/graphics/efl/IntRectEfl.cpp: Added.
40199 2010-03-04 Leandro Pereira <leandro@profusion.mobi>
40201 Reviewed by Kenneth Rohde Christiansen.
40203 Add EFL port files to platform/text/efl.
40204 http://webkit.org/b/35740
40206 * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added.
40208 2010-03-04 Fridrich Strba <fridrich.strba@bluewin.ch>
40210 Reviewed by Holger Freyther.
40212 https://bugs.webkit.org/show_bug.cgi?id=35726
40213 Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID
40215 Removing orphaned #if USE.
40217 * platform/ThreadGlobalData.h:
40219 2010-03-03 Jeremy Orlow <jorlow@chromium.org>
40221 Reviewed by Darin Fisher.
40223 Throttle sync requests sent to the LocalStorage background thread
40224 https://bugs.webkit.org/show_bug.cgi?id=34943
40226 Currently, once a second LocalStorage takes all keys/values which have
40227 been changed and sends them to a background thread to sync. The problem
40228 is that this background thread can get overwhelmed and stop being
40229 responsive. This means that if any other page tries to start using
40230 LocalStorage (and thus initiates the initial import) that'll block on
40231 all the previous syncs completing.
40233 To mitigate this, I'm adding code so that we never schedule another
40234 sync task when another is still running. In order to keep the sync
40235 tasks from growing exponentially when they do take longer than the
40236 storage sync interval, I've also added a basic rate limiter. No effort
40237 is made to ensure fairness/ordering of what gets synced nor is there
40238 any way for this rate to be changed because most normal uses of
40239 LocalStorage really shouldn't be hitting these types of limits anyway.
40241 The only behavioral change that's observible in JavaScript is time based
40242 and thus it's not practical to make new tests that aren't racy. The
40243 existing layout tests cover LocalStorage pretty well, though.
40245 * storage/StorageAreaSync.cpp:
40246 (WebCore::StorageAreaSync::StorageAreaSync):
40247 (WebCore::StorageAreaSync::scheduleFinalSync):
40248 (WebCore::StorageAreaSync::syncTimerFired):
40249 (WebCore::StorageAreaSync::performSync):
40250 * storage/StorageAreaSync.h:
40252 2010-03-04 Andrey Kosyakov <caseq@chromium.org>
40254 Reviewed by Pavel Feldman.
40256 Added support for worker instrumentation in inspector
40257 (display list of active workers, allow debugging of workers
40258 by injecting fake JS implementation)
40260 https://bugs.webkit.org/show_bug.cgi?id=35568
40262 * English.lproj/localizedStrings.js:
40264 * WebCore.vcproj/WebCore.vcproj:
40265 * bindings/js/JSInjectedScriptHostCustom.cpp:
40266 (WebCore::InjectedScriptHost::createInjectedScript):
40267 (WebCore::InjectedScriptHost::injectedScriptFor):
40268 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
40269 (WebCore::InjectedScriptHost::createInjectedScript):
40270 (WebCore::InjectedScriptHost::injectedScriptFor):
40271 * dom/Document.cpp:
40272 (WebCore::Document::inspectorController):
40274 * dom/ScriptExecutionContext.h:
40275 (WebCore::ScriptExecutionContext::inspectorController):
40276 * inspector/InjectedScriptHost.cpp:
40277 (WebCore::InjectedScriptHost::InjectedScriptHost):
40278 (WebCore::InjectedScriptHost::injectScript):
40279 (WebCore::InjectedScriptHost::nextWorkerId):
40280 (WebCore::InjectedScriptHost::didCreateWorker):
40281 (WebCore::InjectedScriptHost::willDestroyWorker):
40282 * inspector/InjectedScriptHost.h:
40283 * inspector/InjectedScriptHost.idl:
40284 * inspector/InspectorController.cpp:
40285 (WebCore::InspectorController::populateScriptObjects):
40286 (WebCore::InspectorController::resetScriptObjects):
40287 (WebCore::InspectorController::didCommitLoad):
40288 (WebCore::InspectorController::didCreateWorker):
40289 (WebCore::InspectorController::willDestroyWorker):
40290 * inspector/InspectorController.h:
40291 * inspector/InspectorFrontend.cpp:
40292 (WebCore::InspectorFrontend::didCreateWorker):
40293 (WebCore::InspectorFrontend::willDestroyWorker):
40294 * inspector/InspectorFrontend.h:
40295 * inspector/InspectorWorkerResource.h: Added.
40296 (WebCore::InspectorWorkerResource::create):
40297 (WebCore::InspectorWorkerResource::id):
40298 (WebCore::InspectorWorkerResource::url):
40299 (WebCore::InspectorWorkerResource::isSharedWorker):
40300 (WebCore::InspectorWorkerResource::InspectorWorkerResource):
40301 * inspector/front-end/Checkbox.js: Added.
40302 (WebInspector.Checkbox.callbackWrapper):
40303 (WebInspector.Checkbox):
40304 (WebInspector.Checkbox.prototype.checked):
40305 * inspector/front-end/InjectedFakeWorker.js:
40306 (InjectedFakeWorker.FakeWorker):
40307 (InjectedFakeWorker.FakeWorker.prototype.terminate):
40308 (InjectedFakeWorker.FakeWorker.prototype._handleException):
40309 (InjectedFakeWorker.FakeWorker.prototype._importScripts):
40310 (InjectedFakeWorker.FakeWorker.prototype._loadScript):
40311 (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
40312 * inspector/front-end/ScriptsPanel.js:
40313 (WebInspector.ScriptsPanel):
40314 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
40315 (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
40316 (WebInspector.ScriptsPanel.prototype.reset):
40317 * inspector/front-end/WebKit.qrc:
40318 * inspector/front-end/WorkersSidebarPane.js: Added.
40319 (WebInspector.WorkersSidebarPane):
40320 (WebInspector.WorkersSidebarPane.prototype.addWorker):
40321 (WebInspector.WorkersSidebarPane.prototype.removeWorker):
40322 (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
40323 (WebInspector.WorkersSidebarPane.prototype.reset):
40324 (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
40325 (WebInspector.Worker):
40326 (WebInspector.didCreateWorker):
40327 (WebInspector.willDestroyWorker):
40328 * inspector/front-end/inspector.css:
40329 * inspector/front-end/inspector.html:
40330 * workers/AbstractWorker.cpp:
40331 (WebCore::AbstractWorker::AbstractWorker):
40332 (WebCore::AbstractWorker::~AbstractWorker):
40333 (WebCore::AbstractWorker::onDestroyWorker):
40334 (WebCore::AbstractWorker::contextDestroyed):
40335 * workers/AbstractWorker.h:
40336 (WebCore::AbstractWorker::id):
40337 * workers/SharedWorker.cpp:
40338 (WebCore::SharedWorker::SharedWorker):
40339 * workers/Worker.cpp:
40340 (WebCore::Worker::Worker):
40342 2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
40344 Reviewed by Tor Arne Vestbø.
40346 [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
40348 This also allows shadow builds relying only on qmake to work properly.
40352 2010-03-02 Holger Hans Peter Freyther <zecke@selfish.org>
40354 Reviewed by Simon Hausmann.
40356 [Qt] Avoid calling QFont::detach too often from FontQt
40357 https://bugs.webkit.org/show_bug.cgi?id=35569
40359 The letter- and wordspacing is inside the WebCore::Font class,
40360 our QFont is located in the WebCore::FontPlatformData. Everytime
40361 we need to use a QFont inside WebCore::Font we are calling the
40362 font method which gets the QFont from the WebCore::FontPlatformData
40363 and is applying the letter- and wordspacing. Internally this
40364 will attempt to detach the QFont...
40366 Avoid calling setLetterSpacing and setWordSpacing on QFont if
40367 the WebCore::Font has the default applied.
40369 * platform/graphics/qt/FontQt.cpp:
40370 (WebCore::Font::font):
40372 2010-03-04 Alexander Pavlov <apavlov@chromium.org>
40374 Reviewed by Pavel Feldman.
40376 Web Inspector: Nothing happens on navigation to resource via a link if resource tracking is disabled
40377 https://bugs.webkit.org/show_bug.cgi?id=35574
40379 * English.lproj/localizedStrings.js:
40380 * inspector/front-end/ResourcesPanel.js:
40381 (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
40382 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
40383 * inspector/front-end/inspector.js:
40384 (WebInspector.documentMouseOver):
40385 (WebInspector.documentMouseOut):
40386 (WebInspector.hideBadLinkPopupIfNecessary):
40387 (WebInspector.documentClick.followLink):
40388 (WebInspector.documentClick):
40389 (WebInspector.showBadLinkPopup.popupOverOut):
40390 (WebInspector.showBadLinkPopup):
40391 (WebInspector.addMainEventListeners):
40393 2010-03-04 Vangelis Kokkevis <vangelis@chromium.org>
40395 Reviewed by Oliver Hunt.
40397 getUniformLocation() now returns null if uniform requested
40399 https://bugs.webkit.org/show_bug.cgi?id=34669
40401 Test:LayoutTests/fast/canvas/webgl/uniform-location.html
40402 (added missing test)
40404 * html/canvas/WebGLRenderingContext.cpp:
40405 (WebCore::WebGLRenderingContext::getUniformLocation):
40407 2010-03-04 John Abd-El-Malek <jam@chromium.org>
40409 Reviewed by Adam Barth.
40411 Fix incorrect setup of DateExtension.
40412 https://bugs.webkit.org/show_bug.cgi?id=35710
40414 * bindings/v8/DateExtension.cpp:
40415 (WebCore::DateExtension::setAllowSleep):
40417 2010-03-04 Oliver Hunt <oliver@apple.com>
40419 Reviewed by Maciej Stachowiak.
40421 https://bugs.webkit.org/show_bug.cgi?id=35603
40422 SVG incorrectly allows nested <use> elements in a <use> shadow tree
40424 Simplify the handling of invalid or missing use-targets by cloning them
40425 to empty <g> elements rather than just allowing the <use> element to
40426 be copied into the shadow tree, as this violates a number of assumptions
40427 in the shadow tree handling code.
40429 Tests: svg/custom/use-nested-disallowed-target.svg
40430 svg/custom/use-nested-missing-target-added.svg
40431 svg/custom/use-nested-missing-target-removed.svg
40432 svg/custom/use-nested-missing-target.svg
40433 svg/custom/use-nested-notarget.svg
40435 * svg/SVGUseElement.cpp:
40436 (WebCore::SVGUseElement::buildPendingResource):
40437 (WebCore::SVGUseElement::buildShadowAndInstanceTree):
40438 (WebCore::SVGUseElement::expandUseElementsInShadowTree):
40440 2010-03-04 Leandro Pereira <leandro@profusion.mobi>
40442 Reviewed by Gustavo Noronha Silva.
40444 Move Cairo-related font code from platform/graphics/gtk to
40445 platform/graphics/cairo, so other ports may use them.
40446 http://webkit.org/b/35539
40449 * platform/graphics/cairo/FontCacheCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontCacheGtk.cpp.
40450 * platform/graphics/cairo/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.cpp.
40451 * platform/graphics/cairo/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.h.
40452 * platform/graphics/cairo/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformData.h.
40453 * platform/graphics/cairo/FontPlatformDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp.
40454 * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp.
40455 * platform/graphics/cairo/SimpleFontDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp.
40456 * platform/graphics/gtk/FontCacheGtk.cpp: Removed.
40457 * platform/graphics/gtk/FontCustomPlatformData.cpp: Removed.
40458 * platform/graphics/gtk/FontCustomPlatformData.h: Removed.
40459 * platform/graphics/gtk/FontPlatformData.h: Removed.
40460 * platform/graphics/gtk/FontPlatformDataGtk.cpp: Removed.
40461 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
40462 * platform/graphics/gtk/SimpleFontDataGtk.cpp: Removed.
40464 2010-03-04 Evan Stade <estade@chromium.org>
40466 Reviewed by David Levin.
40468 https://bugs.webkit.org/show_bug.cgi?id=35261
40469 [skia] crash when attempting to render certain SVGs
40471 This fixes the crash, but the SVG still doesn't render properly.
40473 Test: svg/custom/tiling-regular-hexagonal-crash.svg
40475 * platform/graphics/skia/ImageSkia.cpp:
40476 (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
40477 the copy fails; instead return a blank bitmap. The caller doesn't
40478 check for 0 before dereferencing.
40480 2010-03-04 Tony Chang <tony@chromium.org>
40482 Reviewed by Darin Fisher.
40484 Initialize m_isMultipartPayload in other ResourceResponse ctor.
40485 In r55451 (bug 35628) I added an extra bool, but only initialized
40486 it in one constructor.
40487 https://bugs.webkit.org/show_bug.cgi?id=35719
40489 * platform/network/chromium/ResourceResponse.h:
40490 (WebCore::ResourceResponse::ResourceResponse):
40492 2010-03-03 Yuta Kitamura <yutak@chromium.org>
40494 Reviewed by Alexey Proskuryakov.
40496 Add a new class that stores information about Web Socket handshake request.
40498 Instances of this class contain the necessary information to send a Web Socket
40499 handshake request. In the future, this class will provide request information
40500 to the Web Inspector.
40502 WebSocketHandshake needs to provide request information
40503 https://bugs.webkit.org/show_bug.cgi?id=34784
40505 No new tests, since the current tests will suffice (LayoutTests/websocket/*).
40510 * WebCore.vcproj/WebCore.vcproj:
40511 * WebCore.xcodeproj/project.pbxproj:
40512 * websockets/WebSocketChannel.cpp:
40513 * websockets/WebSocketHandshake.cpp:
40514 (WebCore::WebSocketHandshake::clientHandshakeMessage):
40515 (WebCore::WebSocketHandshake::clientHandshakeRequest):
40516 * websockets/WebSocketHandshake.h:
40517 * websockets/WebSocketHandshakeRequest.cpp: Added.
40518 (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
40519 (WebCore::WebSocketHandshakeRequest::~WebSocketHandshakeRequest):
40520 (WebCore::WebSocketHandshakeRequest::addExtraHeaderField):
40521 (WebCore::WebSocketHandshakeRequest::headerFields):
40522 (WebCore::WebSocketHandshakeRequest::host):
40523 * websockets/WebSocketHandshakeRequest.h: Added.
40525 2010-03-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
40527 Reviewed by Kenneth Rohde Christiansen.
40529 Build fix after r55452.
40531 No new tests, this is a build fix.
40533 * page/Settings.cpp:
40534 (WebCore::Settings::setDatabasesEnabled):
40536 2010-03-03 Diego Gonzalez <diego.gonzalez@openbossa.org>
40538 Reviewed by Kenneth Rohde Christiansen.
40540 Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
40543 fast/events/key-events-in-input-text.html
40544 fast/events/special-key-events-in-input-text.html
40546 [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
40547 https://bugs.webkit.org/show_bug.cgi?id=35694
40549 * platform/qt/PlatformKeyboardEventQt.cpp:
40550 (WebCore::keyIdentifierForQtKeyCode):
40552 2010-03-03 Chad Faragher <wyck@chromium.org>
40554 Reviewed by Darin Adler.
40555 Changed the double-click framework code to pass adjusted page
40556 coordinates for zoomed pages. Added a new test to expose
40557 mistreatment of mouse click coordinates during a double-click.
40559 https://bugs.webkit.org/show_bug.cgi?id=35690
40561 Test: fast/events/zoom-dblclick.html
40564 (WebCore::Node::dispatchMouseEvent):
40566 2010-03-03 David Levin <levin@chromium.org>
40568 No review, rolling out r55474.
40570 The patch broke fast/frames/sandboxed-iframe-storage.html
40574 * WebCore.xcodeproj/project.pbxproj:
40576 2010-03-03 David Levin <levin@chromium.org>
40578 No review, rolling out r55474.
40580 The patch broke fast/frames/sandboxed-iframe-storage.html
40582 Unfortunately, (the webkit-patch rollout and) I missed these in r55485.
40584 * bindings/js/JSDatabaseCallback.cpp: Removed.
40585 * bindings/js/JSDatabaseCallback.h: Removed.
40586 * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
40587 * bindings/v8/custom/V8DatabaseCallback.h: Removed.
40588 * storage/DatabaseCallback.h: Removed.
40590 2010-03-02 Dumitru Daniliuc <dumi@chromium.org>
40592 Reviewed by Dimitri Glazkov.
40594 Fix a bug that could lead to a crash. Some parts of
40595 SQLTransaction::checkAndHandleClosedDatabase() should only be run
40596 when that method is invoked on the DB thread.
40598 We cannot test this fix with a test, because the crash happens
40599 only when all of the following conditions are met:
40600 1. A database is closing.
40601 2. A transaction on that database is in progress.
40602 3. The transaction is in a state where a statement/transaction
40603 success/error callback needs to be invoked (so there's a task for
40604 this transaction pending on the main thread).
40605 4. The DB thread finished processing all its tasks and called
40606 SQLTransactionCoordinator::shutdown() before the main thread go to
40609 The closest thing we have to a test is running
40610 LayoutTests/storage/database-lock-after-reload.html 1000 times in
40611 a row. Without the patch, the probability of a crash happening in
40612 one of the runs is very high. With the patch, the test should
40613 reliably run 1000 times in a row without a single crash.
40615 https://bugs.webkit.org/show_bug.cgi?id=35624
40617 * storage/SQLTransaction.cpp:
40618 (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
40620 2010-03-03 Darin Fisher <darin@chromium.org>
40622 Reviewed by Mark Rowe.
40624 Page should not care about Chromium plug-in implementation details
40625 https://bugs.webkit.org/show_bug.cgi?id=35623
40627 * WebCore.gypi: Compile PluginViewNone.cpp
40629 (WebCore::Page::privateBrowsingStateChanged): Remove conditional
40630 compilation for PLATFORM(CHROMIUM).
40632 2010-03-03 David Levin <levin@chromium.org>
40634 No review, rolling out r55474.
40635 http://trac.webkit.org/changeset/55480
40637 The patch broke fast/frames/sandboxed-iframe-storage.html
40639 * Android.jscbindings.mk:
40640 * Android.v8bindings.mk:
40644 * WebCore.vcproj/WebCore.vcproj:
40645 * bindings/js/JSDOMWindowCustom.cpp:
40646 * bindings/v8/custom/V8DOMWindowCustom.cpp:
40647 * dom/Document.cpp:
40648 (WebCore::Document::postTask):
40649 * page/DOMWindow.cpp:
40650 (WebCore::DOMWindow::openDatabase):
40651 * page/DOMWindow.h:
40652 * page/DOMWindow.idl:
40653 * storage/Database.cpp:
40654 (WebCore::Database::openDatabase):
40655 (WebCore::Database::Database):
40656 (WebCore::Database::performOpenAndVerify):
40657 * storage/Database.h:
40658 * workers/WorkerContext.cpp:
40659 (WebCore::WorkerContext::openDatabase):
40660 * workers/WorkerContext.h:
40662 2010-03-03 David Levin <levin@chromium.org>
40664 No review, rolling out r55480.
40665 http://trac.webkit.org/changeset/55480
40667 The patch broke fast/frames/sandboxed-iframe-storage.html
40669 * storage/Database.cpp:
40670 * storage/Database.h:
40672 2010-03-03 Mark Rowe <mrowe@apple.com>
40674 Reviewed by Geoff Garen.
40676 Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
40678 * platform/mac/PurgeableBufferMac.cpp:
40679 (WebCore::PurgeableBuffer::create): Use the VM tag.
40681 2010-03-03 Dumitru Daniliuc <dumi@chromium.org>
40683 Reviewed by nobody, build fix.
40685 Move #include "DatabaseCallback.h" from Database.h to
40688 * storage/Database.cpp:
40689 * storage/Database.h:
40691 2010-03-03 Darin Adler <darin@apple.com>
40695 * WebCore.xcodeproj/project.pbxproj: Marked a couple of headers "private" so they can
40696 be used in the WebKit project.
40698 2010-03-03 Alexey Proskuryakov <ap@apple.com>
40700 Reviewed by Adele Peterson.
40702 https://bugs.webkit.org/show_bug.cgi?id=35044
40703 Crash in XML tokenizer reloading zoom-coords-viewattr-01-b.svg
40705 I'm often getting a crash even when opening the test for the first time in Safari, but it
40706 doesn't seem to crash in DumpRenderTree. Still, I can't think of a stronger way to test for
40707 this condition, so no new regression test.
40709 * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::end): Be prepared that parsing remaining
40710 input will pause parsing.
40712 2010-03-03 Dumitru Daniliuc <dumi@chromium.org>
40714 Reviewed by Adam Barth.
40716 Adding support for the optional creation callback that could be
40717 passed to openDatabase().
40719 Test: storage/open-database-creation-callback.html
40721 https://bugs.webkit.org/show_bug.cgi?id=34726
40723 * Android.jscbindings.mk
40724 * Android.v8bindings.mk
40728 * WebCore.vcproj/WebCore.vcproj:
40729 * WebCore.xcodeproj/project.pbxproj:
40730 * bindings/js/JSDOMWindowCustom.cpp:
40731 (WebCore::JSDOMWindow::openDatabase):
40732 * bindings/js/JSDatabaseCallback.cpp: Added.
40733 (WebCore::JSDatabaseCallback::JSDatabaseCallback):
40734 (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
40735 (WebCore::JSDatabaseCallback::handleEvent):
40736 * bindings/js/JSDatabaseCallback.h: Added.
40737 (WebCore::JSDatabaseCallback::create):
40738 * bindings/v8/custom/V8DOMWindowCustom.cpp:
40739 (WebCore::V8DOMWindow::openDatabaseCallback):
40740 * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
40741 (WebCore::V8DatabaseCallback::V8DatabaseCallback):
40742 (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
40743 (WebCore::V8DatabaseCallback::handleEvent):
40744 * bindings/v8/custom/V8DatabaseCallback.h: Added.
40745 (WebCore::V8DatabaseCallback::create):
40746 * page/DOMWindow.cpp:
40747 (WebCore::DOMWindow::openDatabase):
40748 * page/DOMWindow.h:
40749 * page/DOMWindow.idl:
40750 * storage/Database.cpp:
40751 (WebCore::DatabaseCreationCallbackTask::create):
40752 (WebCore::DatabaseCreationCallbackTask::performTask):
40753 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
40754 (WebCore::Database::openDatabase):
40755 (WebCore::Database::Database):
40756 (WebCore::Database::performOpenAndVerify):
40757 (WebCore::Database::performCreationCallback):
40758 * storage/Database.h:
40759 (WebCore::Database::isNew):
40760 * storage/DatabaseCallback.h: Added.
40761 (WebCore::DatabaseCallback::~DatabaseCallback):
40762 * workers/WorkerContext.cpp:
40763 (WebCore::WorkerContext::openDatabase):
40764 * workers/WorkerContext.h:
40766 2010-03-03 Alexander Pavlov <apavlov@chromium.org>
40768 Reviewed by Pavel Feldman.
40770 Web Inspector: resources panel only shows uncompressed resource size.
40771 https://bugs.webkit.org/show_bug.cgi?id=35403
40773 * English.lproj/localizedStrings.js:
40774 * inspector/InspectorResource.cpp:
40775 (WebCore::InspectorResource::updateScriptObject):
40776 * inspector/front-end/AbstractTimelinePanel.js:
40777 (WebInspector.AbstractTimelinePanel.prototype.refresh):
40778 * inspector/front-end/AuditRules.js:
40779 (WebInspector.AuditRules.GzipRule.prototype.doRun):
40780 (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
40781 * inspector/front-end/ImageView.js:
40782 (WebInspector.ImageView):
40783 * inspector/front-end/Resource.js:
40784 (WebInspector.Resource.prototype.get resourceSize):
40785 (WebInspector.Resource.prototype.set resourceSize):
40786 (WebInspector.Resource.prototype.get transferSize):
40787 (WebInspector.Resource.CompareBySize):
40788 (WebInspector.Resource.CompareByTransferSize):
40789 * inspector/front-end/ResourcesPanel.js:
40790 (WebInspector.ResourcesPanel.prototype.populateSidebar):
40791 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
40792 (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
40793 (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphPercentages):
40794 (WebInspector.ResourceTransferSizeCalculator.prototype._value):
40795 (WebInspector.ResourceTransferSizeCalculator.prototype._networkBytes):
40796 (WebInspector.ResourceSidebarTreeElement.CompareByDescendingTransferSize):
40797 (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
40798 (WebInspector.ResourceGraph.prototype.refresh):
40799 * inspector/front-end/inspector.css:
40800 * inspector/front-end/inspector.js:
40801 (WebInspector.updateResource):
40803 2010-03-03 Dan Bernstein <mitz@apple.com>
40807 * dom/ContainerNode.cpp:
40808 (WebCore::ContainerNode::removeChildren):
40810 2010-03-03 Pavel Feldman <pfeldman@chromium.org>
40812 Reviewed by Timothy Hatcher.
40814 Web Inspector: Get rid of synchronous debuggerEnabled, profilerEnabled calls.
40816 https://bugs.webkit.org/show_bug.cgi?id=32331
40818 * inspector/InspectorBackend.cpp:
40819 * inspector/InspectorBackend.h:
40820 * inspector/InspectorBackend.idl:
40821 * inspector/front-end/BreakpointsSidebarPane.js:
40822 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
40823 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
40824 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
40825 * inspector/front-end/ProfilesPanel.js:
40826 (WebInspector.ProfilesPanel):
40827 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
40828 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
40829 (WebInspector.ProfilesPanel.prototype._updateInterface):
40830 (WebInspector.ProfilesPanel.prototype._enableProfiling):
40831 (WebInspector.ProfilesPanel.prototype._toggleProfiling):
40832 * inspector/front-end/ScriptsPanel.js:
40833 (WebInspector.ScriptsPanel):
40834 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
40835 (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
40836 (WebInspector.ScriptsPanel.prototype.reset):
40837 (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
40838 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
40839 (WebInspector.ScriptsPanel.prototype._enableDebugging):
40840 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
40842 2010-03-03 Eric Carlson <eric.carlson@apple.com>
40844 Reviewed by Adele Peterson.
40846 Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
40847 https://bugs.webkit.org/show_bug.cgi?id=35385
40848 rdar://problem/7689602
40850 Tests: media/audio-constructor-preload.html
40851 media/video-dom-preload.html
40853 * html/HTMLAttributeNames.in: Remove autobuffer, add preload
40855 * html/HTMLAudioElement.cpp:
40856 (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of
40857 autobuffer to true.
40859 * html/HTMLMediaElement.cpp:
40860 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload.
40861 (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute.
40862 (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer,
40863 before calling load() so it can pass the setting through to the media engine.
40864 (WebCore::HTMLMediaElement::preload): New.
40865 (WebCore::HTMLMediaElement::setPreload): Ditto
40866 * html/HTMLMediaElement.h:
40867 * html/HTMLMediaElement.idl:
40869 * platform/graphics/MediaPlayer.cpp:
40870 (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload.
40871 (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine.
40872 (WebCore::MediaPlayer::preload): New, return m_preload.
40873 (WebCore::MediaPlayer::setPreload): New, set m_preload.
40874 * platform/graphics/MediaPlayer.h:
40875 (WebCore::MediaPlayer::):
40876 * platform/graphics/MediaPlayerPrivate.h:
40877 (WebCore::MediaPlayerPrivateInterface::setPreload):
40879 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
40880 (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload.
40881 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
40883 2010-03-03 Dan Bernstein <mitz@apple.com>
40885 Reviewed by Sam Weinig.
40887 <rdar://problem/7682756> Assertion failure when replacing the contents of a <select>
40889 Test: fast/dom/remove-children-notification-order.html
40891 * dom/ContainerNode.cpp:
40892 (WebCore::ContainerNode::removeChildren): Changed to call childrenChanged()
40893 before calling removedFromDocument() on each removed child, which matches
40894 the order removeChild() does things, and avoids the assertion. This required
40895 temporarily storing the removed children in a vector.
40896 Also added comments about other discrepancies between this function and
40899 2010-03-03 Adam Barth <abarth@webkit.org>
40901 Reviewed by Darin Adler.
40903 Document cookieURL and firstPartyForCookies
40904 https://bugs.webkit.org/show_bug.cgi?id=35613
40906 Some folks asked what the cookieURL and the firstPartyForCookies were
40907 on IRC. This patch documents these properties in the code so folks
40908 don't have to ask on IRC anymore.
40912 2010-03-03 Arno Renevier <arno@renevier.net>
40914 Reviewed by Gustavo Noronha Silva.
40916 [Gtk]: assertion triggered when geolocation getCurrentPosition without an option argument.
40917 https://bugs.webkit.org/show_bug.cgi?id=35666
40919 * platform/gtk/GeolocationServiceGtk.cpp:
40920 (WebCore::GeolocationServiceGtk::startUpdating):
40922 2010-03-03 Fridrich Strba <fridrich.strba@bluewin.ch>
40924 Reviewed by Xan Lopez.
40926 Miscellaneous little fixes for the windows build of webkit-gtk
40927 https://bugs.webkit.org/show_bug.cgi?id=35640
40929 * GNUmakefile.am: dist two new files concerning mathml support.
40931 2010-03-03 Xan Lopez <xlopez@igalia.com>
40933 Unreviewed distcheck fix.
40935 Add new file to the build.
40939 2010-03-03 Antti Koivisto <koivisto@iki.fi>
40941 Reviewed by Oliver Hunt.
40943 Make IntPoint usable as a hash key
40945 https://bugs.webkit.org/show_bug.cgi?id=35586
40948 * WebCore.xcodeproj/project.pbxproj:
40949 * platform/graphics/IntPointHash.h: Added.
40950 (WTF::IntPointHash::hash):
40951 (WTF::IntPointHash::equal):
40954 2010-03-02 Eric Uhrhane <ericu@chromium.org>
40956 Reviewed by David Levin.
40958 Move database enable bit fully out of settings
40959 This is stage one of a three-stage commit [webkit, then chromium, then
40960 webkit again]. In this change I'm adding calls to
40961 Database::setIsAvailable inside Settings::setDatabaseEnabled and
40962 anywhere else that called it, and switching webkit fully over to using
40963 that flag [added in a previous checkin]. Phase two will remove
40964 Chromium's use of Settings for the Database, and phase three will remove
40965 the Setting for the Database enable entirely, leaving only
40966 Database::isAvailable/setIsAvailable.
40968 No new tests; tested by existing storage tests.
40970 https://bugs.webkit.org/show_bug.cgi?id=35310
40972 * WebCore.base.exp: Export Database::setIsAvailable
40973 * WebCore.xcodeproj/project.pbxproj: Export needed headers as Private
40974 * page/DOMWindow.cpp: Read isAvailable, not Settings::isDatabaseEnabled
40975 (WebCore::DOMWindow::openDatabase):
40976 * page/Settings.cpp: Add a call to Database::setIsAvailable.
40977 (WebCore::Settings::setDatabasesEnabled):
40979 2010-03-02 Tony Chang <tony@chromium.org>
40981 Reviewed by Darin Fisher.
40983 add a flag to WebURLResponse so we can identify multipart content
40984 https://bugs.webkit.org/show_bug.cgi?id=35628
40986 * platform/network/chromium/ResourceResponse.h:
40987 (WebCore::ResourceResponse::ResourceResponse):
40988 (WebCore::ResourceResponse::isMultipartPayload):
40989 (WebCore::ResourceResponse::setIsMultipartPayload):
40991 2010-03-02 Tony Chang <tony@chromium.org>
40993 Not reviewed, test fix.
40995 Revert r55447 because the new layout test is crashing consistently
40996 on Leopard Intel Debug (tests).
40997 https://bugs.webkit.org/show_bug.cgi?id=35261
40999 * platform/graphics/skia/ImageSkia.cpp:
41000 (WebCore::BitmapImageSingleFrameSkia::create):
41002 2010-03-02 Adam Barth <abarth@webkit.org>
41004 Reviewed by Darin Fisher.
41006 Google Analytics triggers "blocked plugin" UI
41007 https://bugs.webkit.org/show_bug.cgi?id=35565
41009 Just like for running script, we need to distinguish between querying
41010 whether plug-ins are enabled and actually blocking a page from
41011 instantiating a plugin. We need to issue different callbacks to the
41012 FrameLoaderClient so that the client can inform us that plug-ins are
41013 disabled in some cases without showing the "plug-in blocked" UI.
41015 * dom/DOMImplementation.cpp:
41016 (WebCore::DOMImplementation::createDocument):
41017 * loader/FrameLoader.cpp:
41018 (WebCore::FrameLoader::requestObject):
41019 (WebCore::FrameLoader::allowPlugins):
41020 * loader/FrameLoader.h:
41022 * loader/FrameLoaderClient.h:
41023 (WebCore::FrameLoaderClient::didNotAllowPlugins):
41024 * loader/MainResourceLoader.cpp:
41025 (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
41026 * loader/PluginDocument.cpp:
41027 (WebCore::PluginTokenizer::writeRawData):
41029 (WebCore::Page::pluginData):
41030 * plugins/MimeType.cpp:
41031 (WebCore::MimeType::enabledPlugin):
41033 2010-03-02 Andreas Kling <andreas.kling@nokia.com>
41035 Reviewed by Simon Hausmann.
41037 [Qt] Support the HTTP OPTIONS verb (needed for preflight requests)
41039 https://bugs.webkit.org/show_bug.cgi?id=34647
41041 * platform/network/qt/QNetworkReplyHandler.cpp:
41042 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41043 (WebCore::QNetworkReplyHandler::start):
41045 2010-03-02 Evan Stade <estade@chromium.org>
41047 Reviewed by David Levin.
41049 https://bugs.webkit.org/show_bug.cgi?id=35261
41050 [skia] crash when attempting to render certain SVGs
41052 This fixes the crash, but the SVG still doesn't render properly.
41054 Test: svg/custom/tiling-regular-hexagonal-crash.svg
41056 * platform/graphics/skia/ImageSkia.cpp:
41057 (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
41058 the copy fails; instead return a blank bitmap. The caller doesn't
41059 check for 0 before dereferencing.
41061 2010-03-02 Arno Renevier <arno@renevier.net>
41063 Reviewed by Gustavo Noronha Silva.
41065 [Gtk] use geoclue providers with don't provide update
41066 https://bugs.webkit.org/show_bug.cgi?id=35191
41068 No new tests, behaviour depends on system.
41070 * platform/gtk/GeolocationServiceGtk.cpp:
41071 (WebCore::GeolocationServiceGtk::startUpdating):
41073 2010-03-02 John Abd-El-Malek <jam@chromium.org>
41075 Reviewed by Darin Adler.
41077 Remove unnecessary check.
41078 https://bugs.webkit.org/show_bug.cgi?id=35513
41080 * platform/ScrollView.cpp:
41081 (WebCore::ScrollView::updateScrollbars):
41083 2010-03-02 Darin Fisher <darin@chromium.org>
41085 Fix chromium build bustage.
41088 (WebCore::Page::privateBrowsingStateChanged): PluginView methods may
41089 not be called in the Chromium port.
41091 2010-03-02 Beth Dakin <bdakin@apple.com>
41093 Reviewed by Darin Adler and Adam Roben.
41095 Fix for <rdar://problem/7485289> WebKit crashes on systems that
41096 don't support CoreAnimation
41098 WKCACFLayerRenderer::acceleratedCompositingAvailable() now creates
41099 a dummy HWND so that it can step through the whole setHostWindow()
41100 and createRenderer() process. createRenderer() also calls a new
41101 function, hardwareCapabilitiesIndicateCoreAnimationSupport() which
41102 can only be called once we have a d3dDevice.
41104 setHostWindow() and createRenderer() now both return bools that
41105 indicate whether or not they have succeeded.
41107 * platform/graphics/win/WKCACFLayerRenderer.cpp:
41108 (WebCore::hardwareCapabilitiesIndicateCoreAnimationSupport):
41109 (WebCore::CoreAnimationTesterWindowWndProc):
41110 (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
41111 (WebCore::WKCACFLayerRenderer::shared):
41112 (WebCore::WKCACFLayerRenderer::createRenderer):
41113 * platform/graphics/win/WKCACFLayerRenderer.h:
41114 (WebCore::WKCACFLayerRenderer::setHostWindow):
41116 2010-03-02 Mark Rowe <mrowe@apple.com>
41118 Rubber-stamped by Jon Honeycutt.
41120 ScriptDebugServer shouldn't care that Mac does not use PluginView for plug-ins.
41122 * bindings/js/ScriptDebugServer.cpp:
41123 * plugins/PluginViewNone.cpp:
41124 (WebCore::PluginView::setJavaScriptPaused): Add an empty implementation of setJavaScriptPaused.
41126 2010-03-02 Mark Rowe <mrowe@apple.com>
41128 Rubber-stamped by Jon Honeycutt.
41130 Clean up the build fix r55437 by adding an empty implementation of privateBrowsingStateChanged in PluginViewNone.cpp
41133 * plugins/PluginViewNone.cpp:
41134 (WebCore::PluginView::privateBrowsingStateChanged):
41136 2010-03-02 Mark Rowe <mrowe@apple.com>
41141 (WebCore::Page::privateBrowsingStateChanged): Mac doesn't use WebCore's PluginView class
41142 for plug-ins, so provide an empty implementation of privateBrowsingStateChanged for Mac.
41144 2010-03-02 Andy Estes <aestes@apple.com>
41146 Reviewed by Maciej Stachowiak.
41148 Add the capability to create and dispatch a WheelEvent in JavaScript.
41149 Ensure the event's default handler is triggered in the same way as it is
41150 during a PlatformWheelEvent.
41152 https://bugs.webkit.org/show_bug.cgi?id=35566
41154 Test: fast/events/wheelevent-in-scrolling-div.html
41156 * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for
41157 wheel events originating both from the platform and from
41159 (WebCore::Node::dispatchWheelEvent): Instantiate new WheelEvent with
41160 the graunularity of the PlatformWheelEvent.
41161 (WebCore::Node::defaultEventHandler): Add support for mousewheel events.
41162 * dom/WheelEvent.cpp: Add three new member variables: m_deltaX, m_deltaY
41163 and m_granularity. m_deltaX and m_deltaY differ from m_wheelDeltaX and
41164 m_wheelDeltaY, which are the number of wheel ticks multiplied by 120 for
41166 (WebCore::WheelEvent::WheelEvent): Initialize new member variables.
41167 (WebCore::WheelEvent::initWheelEvent): Same.
41168 (WebCore::WheelEvent::initWebKitWheelEvent): Same.
41169 * dom/WheelEvent.h: See WheelEvent.cpp.
41170 (WebCore::WheelEvent::): Add Granularity enum (Pixel, Line, Page).
41171 (WebCore::WheelEvent::create): Add new arguments.
41172 (WebCore::WheelEvent::deltaX): Amount of scroll in x direction.
41173 (WebCore::WheelEvent::deltaY): Amount of scroll in y direction.
41174 (WebCore::WheelEvent::granularity): Units of deltaX and deltaY.
41175 * dom/WheelEvent.idl: Add initWebKitWheelEvent() to JavaScript. This is
41176 the same as the initWheelEvent ObjC method. As the DOM Level 3 Events
41177 specification is still a working draft and subject to change, prefix
41178 'WebKit' to the method signature to indicate experimental support.
41179 * page/EventHandler.cpp: Move the scroll handling from
41180 handleWheelEvent() to defaultWheelEventHandler(), which is executed on
41181 both PlatformWheelEvents and JavaScript WheelEvents.
41182 (WebCore::scrollNode): Renamed from scrollAndAcceptEvent(). Remove
41183 the PlatformWheelEvent from the argument list and instead return a
41184 boolean indicating if the scroll event was accepted.
41185 (WebCore::EventHandler::handleWheelEvent): Move scrolling code from here
41186 (WebCore::EventHandler::defaultWheelEventHandler): ...to here.
41187 * page/EventHandler.h: Add function signature.
41189 2010-03-02 Mark Rowe <mrowe@apple.com>
41191 Reviewed by Darin Adler.
41193 Bug 35576: WebKit should tell plug-in instances when private browsing state changes
41194 <http://webkit.org/b/35576>
41196 Notify plug-in instances when the private browsing state changes to match the behavior of the
41200 (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that
41201 the private browsing state has changed.
41203 * page/Settings.cpp:
41204 (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state
41206 * plugins/PluginView.cpp:
41207 (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private
41209 * plugins/PluginView.h:
41211 2010-03-02 Mark Rowe <mrowe@apple.com>
41213 Reviewed by Oliver Hunt.
41215 Bug 30348: Implement private mode for plug-ins on Windows
41216 <http://webkit.org/b/30348> / <rdar://problem/7562261>
41218 Rework PluginView::getValue and PluginView::getValueStatic to remove the amount of code that
41219 was duplicated across platforms. getValue and getValueStatic now call in to platform-specific
41220 variants that indicate whether they handled the query. If the query is not handled by the
41221 platform-specific variants then the cross-platform handler has a chance to handle it.
41223 * plugins/PluginView.cpp:
41224 (WebCore::PluginView::getValueStatic): Give the platform-specific variant a chance to handle the
41225 variable lookup. If it does not handle it, return an error.
41226 (WebCore::PluginView::getValue): Give the platform-specific variant and platform-specific static
41227 variant a chance to handle the variable lookup. If they do not handle it, apply the cross-platform
41228 handler. At the moment the cross-platform code handles NPNVWindowNPObject, NPNVPluginElementNPObject,
41229 and NPNVprivateModeBool as they have an identical implementation across ports.
41230 * plugins/PluginView.h:
41231 * plugins/PluginViewNone.cpp:
41232 (WebCore::PluginView::platformGetValue): PluginViewNone does not handle any lookups.
41233 (WebCore::PluginView::platformGetValueStatic): Ditto.
41234 * plugins/gtk/PluginViewGtk.cpp:
41235 (WebCore::PluginView::platformGetValueStatic):
41236 (WebCore::PluginView::platformGetValue):
41237 platform-independent implementation.
41238 * plugins/mac/PluginViewMac.cpp:
41239 (WebCore::PluginView::platformGetValueStatic):
41240 (WebCore::PluginView::platformGetValue):
41241 * plugins/qt/PluginViewQt.cpp:
41242 (WebCore::PluginView::platformGetValueStatic):
41243 (WebCore::PluginView::platformGetValue): Fix a bug noticed while updating this code.
41244 The Qt implementation of the handler for NPNVToolkit was relying on case fall-through
41245 to have some values handled by the static handler. When NPNVprivateModeBool was added
41246 it was placed before the default case, interferring with this fall-through. It now
41247 explicitly indicates in this situation that it was not handled.
41248 * plugins/symbian/PluginViewSymbian.cpp:
41249 (WebCore::PluginView::platformGetValueStatic):
41250 (WebCore::PluginView::platformGetValue):
41251 * plugins/win/PluginViewWin.cpp:
41252 (WebCore::PluginView::platformGetValueStatic):
41253 (WebCore::PluginView::platformGetValue):
41255 2010-03-02 Anders Carlsson <andersca@apple.com>
41257 Reviewed by Sam Weinig.
41259 Make the default constructor available to all platforms.
41261 * platform/PlatformKeyboardEvent.h:
41262 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
41263 * platform/mac/KeyEventMac.mm:
41265 2010-03-02 Jeremy Orlow <jorlow@chromium.org>
41267 Reviewed by David Levin.
41269 Revert database thread changes that are no longer required
41270 https://bugs.webkit.org/show_bug.cgi?id=35519
41272 Jochen Eisinger created 55214 and 55247 to track which database
41273 owns which thread. Dmitry suggested that this could also
41274 be done via TLS, though. After exploring the options, Jochen
41275 chose to go the TLS route, so these patches are no longer needed.
41277 * storage/DatabaseThread.cpp:
41278 (WebCore::DatabaseThread::DatabaseThread):
41279 (WebCore::DatabaseThread::databaseThread):
41280 * storage/DatabaseThread.h:
41281 (WebCore::DatabaseThread::getThreadID):
41283 2010-03-02 Brady Eidson <beidson@apple.com>
41285 Reviewed by Sam Weinig.
41287 Followup for REGRESSION(r51097) - Unable to log in to statefarm.com
41288 <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
41290 * dom/ScriptElement.cpp:
41291 (WebCore::ScriptElementData::shouldExecuteAsJavaScript): To more perfectly match Gecko's rule,
41292 strip whitespace from the attribute values before comparing to window/onload/onload().
41294 2010-03-02 Chris Fleizach <cfleizach@apple.com>
41296 Reviewed by Beth Dakin.
41298 aria-label isn't respected on option elements
41299 https://bugs.webkit.org/show_bug.cgi?id=35400
41301 When aria-label is used on an <option> element, it can take three forms.
41302 An option in a multi-select list, a popup button and the menu that is displayed
41303 from the popup button. This patches the three requisite locations so that if
41304 aria-label is used, the correct accessibility text is returned.
41306 Test: platform/mac/accessibility/option-with-arialabel.html
41308 * accessibility/AccessibilityListBoxOption.cpp:
41309 (WebCore::AccessibilityListBoxOption::stringValue):
41310 * accessibility/AccessibilityObject.cpp:
41311 (WebCore::AccessibilityObject::getAttribute):
41312 * accessibility/AccessibilityObject.h:
41313 * accessibility/AccessibilityRenderObject.cpp:
41314 (WebCore::AccessibilityRenderObject::getAttribute):
41315 (WebCore::AccessibilityRenderObject::stringValue):
41316 * platform/PopupMenuClient.h:
41317 * platform/mac/PopupMenuMac.mm:
41318 (WebCore::PopupMenu::populate):
41319 * rendering/RenderMenuList.cpp:
41320 (WebCore::RenderMenuList::itemAccessibilityText):
41321 * rendering/RenderMenuList.h:
41322 * rendering/RenderTextControlSingleLine.h:
41323 (WebCore::RenderTextControlSingleLine::itemAccessibilityText):
41325 2010-03-02 Mads Ager <ager@chromium.org>
41327 Reviewed by Adam Barth.
41329 [V8] V8 should be notified of context disposals
41330 https://bugs.webkit.org/show_bug.cgi?id=35526
41332 Notify V8 of context disposals to allow it to clean up memory from those
41333 contexts when idle. When disposing a context, start a timer that will
41334 give V8 an idle notification after a while to force cleanup. Use a timer
41335 to avoid performing an idle notification in the middle of navigation where
41336 we know we are not idle.
41339 * bindings/v8/V8DOMWindowShell.cpp:
41340 (WebCore::V8DOMWindowShell::disposeContextHandles):
41341 * bindings/v8/V8GCForContextDispose.cpp: Added.
41342 (WebCore::V8GCForContextDispose::V8GCForContextDispose):
41343 (WebCore::V8GCForContextDispose::notifyContextDisposed):
41344 (WebCore::V8GCForContextDispose::notifyIdleSooner):
41345 (WebCore::V8GCForContextDispose::instance):
41346 (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
41347 * bindings/v8/V8GCForContextDispose.h: Added.
41348 * bindings/v8/custom/V8DOMWindowCustom.cpp:
41349 (WebCore::WindowSetTimeoutImpl):
41351 2010-03-02 Pavel Feldman <pfeldman@chromium.org>
41353 Not reviewed: adding missing image files to WebKit.qrc and gypi.
41356 * inspector/front-end/WebKit.qrc:
41358 2010-03-02 Kim Grönholm <kim.gronholm@nomovok.com>
41360 Reviewed by Simon Hausmann.
41362 [Qt] GraphicsLayer: Video element with 3d transform crashes when AC is enabled.
41363 https://bugs.webkit.org/show_bug.cgi?id=35516
41367 * platform/graphics/qt/GraphicsLayerQt.cpp:
41368 (WebCore::GraphicsLayerQt::setContentsToMedia):
41370 2010-03-02 Fridrich Strba <fridrich.strba@bluewin.ch>
41372 Reviewed by Xan Lopez.
41374 Use unsigned instead of uint which does not exist on windows
41375 https://bugs.webkit.org/show_bug.cgi?id=35546
41377 * platform/graphics/gtk/ImageGtk.cpp:
41378 (WebCore::getCairoSurfacePixel):
41379 (WebCore::getGdkPixbufPixel):
41381 2010-03-02 Kenneth Russell <kbr@google.com>
41383 Reviewed by Darin Fisher.
41385 Add EnabledAtRuntime attribute to WebGLArray constructors
41386 https://bugs.webkit.org/show_bug.cgi?id=35558
41388 New functionality verified manually in Chromium; not possible to
41389 write layout test. Ran WebGL tests in WebKit as well.
41391 * bindings/generic/RuntimeEnabledFeatures.cpp:
41392 * bindings/generic/RuntimeEnabledFeatures.h:
41393 (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
41394 (WebCore::RuntimeEnabledFeatures::webGLRenderingContextEnabled):
41395 (WebCore::RuntimeEnabledFeatures::webGLArrayBufferEnabled):
41396 (WebCore::RuntimeEnabledFeatures::webGLByteArrayEnabled):
41397 (WebCore::RuntimeEnabledFeatures::webGLUnsignedByteArrayEnabled):
41398 (WebCore::RuntimeEnabledFeatures::webGLShortArrayEnabled):
41399 (WebCore::RuntimeEnabledFeatures::webGLUnsignedShortArrayEnabled):
41400 (WebCore::RuntimeEnabledFeatures::webGLIntArrayEnabled):
41401 (WebCore::RuntimeEnabledFeatures::webGLUnsignedIntArrayEnabled):
41402 (WebCore::RuntimeEnabledFeatures::webGLFloatArrayEnabled):
41403 * page/DOMWindow.idl:
41405 2010-03-02 Nate Chapin <japhet@chromium.org>
41407 Reviewed by Dimitri Glazkov.
41409 [V8] Fail gracefully if NPN_GetProperty tries to retrieve a property that doesn't exist.
41411 https://bugs.webkit.org/show_bug.cgi?id=35588
41413 Required for passing LayoutTests/plugins/netscape-plugin-property-access-exception.html on Chromium.
41415 * bindings/v8/NPV8Object.cpp:
41416 (_NPN_GetProperty): If the result is empty, don't try to convert it to an NPVariant and return false.
41418 2010-03-02 Jian Li <jianli@chromium.org>
41420 Reviewed by Nate Chapin.
41422 [V8] DOMCoreException should be visible as DOMException
41423 https://bugs.webkit.org/show_bug.cgi?id=35552
41425 Fix V8 code generator to use the correct visible name.
41427 * bindings/scripts/CodeGeneratorV8.pm:
41429 2010-03-02 Brady Eidson <beidson@apple.com>
41431 Reviewed by Sam Weinig.
41433 REGRESSION(r51097) - Unable to log in to statefarm.com
41434 <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
41436 Test: fast/loader/for-window-event-onload-scripts.html
41438 Match Gecko's rules for executing "for/event" scripts:
41439 -If there's only a 'for' attribute, execute it.
41440 -If there's only an 'event' attribute, execute it.
41441 -If there's a 'for=window' and 'event=onload', execute it.
41442 -If there's a 'for=window' and 'event=onload()', execute it.
41443 -If there's any other combination of both 'for' and 'event', don't execute it.
41445 * dom/ScriptElement.cpp:
41446 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
41447 * dom/ScriptElement.h:
41449 * html/HTMLScriptElement.cpp:
41450 (WebCore::HTMLScriptElement::eventAttributeValue):
41451 * html/HTMLScriptElement.h:
41453 * svg/SVGScriptElement.cpp:
41454 (WebCore::SVGScriptElement::eventAttributeValue):
41455 * svg/SVGScriptElement.h:
41457 Add the event attribute name:
41458 * html/HTMLAttributeNames.in:
41461 2010-03-02 Simon Fraser <simon.fraser@apple.com>
41463 Reviewed by Dan Bernstein.
41465 https://bugs.webkit.org/show_bug.cgi?id=35555
41466 QuickTime plugin content can spill outside the <object> tag
41468 Set -masksToBounds on the layer that is handed to us by plug-ins, to ensure that sublayers
41469 of that layer don't spill outside the <object> contents rect.
41471 Manual test because it relies on QuickTime, and pixel results depend on movie loading timing.
41473 * manual-tests/plugins/object-clipping.html: Added.
41474 * platform/graphics/mac/GraphicsLayerCA.mm:
41475 (WebCore::GraphicsLayerCA::setupContentsLayer):
41477 2010-03-02 Adam Roben <aroben@apple.com>
41479 Export SecurityOrigin::registerURLSchemeAsSecure
41481 Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
41482 SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
41484 Reviewed by Tim Hatcher.
41486 * WebCore.base.exp: Added symbol, sorted file.
41488 2010-03-02 Pavel Feldman <pfeldman@chromium.org>
41490 Reviewed by Timothy Hatcher.
41492 Web Inspector: render breakpoints as border images instead of canvas.
41494 https://bugs.webkit.org/show_bug.cgi?id=35535
41496 * inspector/front-end/Images/breakpointBorder.png: Added.
41497 * inspector/front-end/Images/breakpointConditionalBorder.png: Added.
41498 * inspector/front-end/Images/breakpointConditionalCounterBorder.png: Added.
41499 * inspector/front-end/Images/breakpointCounterBorder.png: Added.
41500 * inspector/front-end/Images/programCounterBorder.png: Added.
41501 * inspector/front-end/SourceFrame.js:
41502 (WebInspector.SourceFrame.prototype._updateExecutionLine):
41503 (WebInspector.SourceFrame.prototype._addBreakpointToSource):
41504 (WebInspector.SourceFrame.prototype.resize):
41505 * inspector/front-end/TextViewer.js:
41506 (WebInspector.TextChunk):
41507 * inspector/front-end/textViewer.css:
41509 2010-01-28 Holger Hans Peter Freyther <zecke@selfish.org>
41511 Reviewed by Ariya Hidayat.
41513 [Qt] Special case Font::floatWidthForComplexText for single space
41514 https://bugs.webkit.org/show_bug.cgi?id=33876
41516 For a single space we can go through the QFontMetric::width routine
41517 instead of converting the WebCore::String to a QString and then
41518 going through the QTextLine.
41520 * platform/graphics/qt/FontQt.cpp:
41521 (WebCore::Font::floatWidthForComplexText):
41523 2010-02-28 Holger Hans Peter Freyther <zecke@selfish.org>
41525 Reviewed by Gustavo Noronha.
41527 [Gtk] Support private browsing mode in plugins.
41528 https://bugs.webkit.org/show_bug.cgi?id=35500
41530 Integrate the PluginViewQt.cpp changes from r55358 into Gtk+.
41532 * plugins/gtk/PluginViewGtk.cpp:
41533 (WebCore::PluginView::getValue):
41535 2010-03-02 Oliver Hunt <oliver@apple.com>
41537 Reviewed by NOBODY (Build fix).
41539 Update Qt bridge to new named getter signature
41541 * bridge/qt/qt_runtime.cpp:
41542 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
41543 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
41544 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
41545 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
41546 * bridge/qt/qt_runtime.h:
41548 2010-03-01 Philippe Normand <pnormand@igalia.com>
41550 Reviewed by Gustavo Noronha.
41552 [GTK] Move gstreamer-related source files to platform/graphics/gstreamer
41553 https://bugs.webkit.org/show_bug.cgi?id=35518
41555 Moved GStreamer-related files to platform/graphics/gstreamer so
41556 other ports could benefit from this media player implementation.
41559 * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.cpp.
41561 (webkit_data_src_base_init):
41562 (webkit_data_src_class_init):
41563 (webkit_data_src_reset):
41564 (webkit_data_src_init):
41565 (webkit_data_src_finalize):
41566 (webkit_data_src_change_state):
41567 (webkit_data_src_uri_get_type):
41568 (webkit_data_src_uri_get_protocols):
41569 (webkit_data_src_uri_get_uri):
41570 (webkit_data_src_uri_set_uri):
41571 (webkit_data_src_uri_handler_init):
41572 * platform/graphics/gstreamer/DataSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.h.
41573 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp.
41574 (WebCore::greatestCommonDivisor):
41575 (WebCore::mediaPlayerPrivateMessageCallback):
41576 (WebCore::mediaPlayerPrivateSourceChangedCallback):
41577 (WebCore::mediaPlayerPrivateVolumeChangedCallback):
41578 (WebCore::notifyVolumeIdleCallback):
41579 (WebCore::mediaPlayerPrivateMuteChangedCallback):
41580 (WebCore::notifyMuteIdleCallback):
41581 (WebCore::bufferingTimeoutCallback):
41582 (WebCore::playbackPosition):
41583 (WebCore::mediaPlayerPrivateRepaintCallback):
41584 (WebCore::MediaPlayerPrivate::create):
41585 (WebCore::MediaPlayerPrivate::registerMediaEngine):
41586 (WebCore::doGstInit):
41587 (WebCore::MediaPlayerPrivate::isAvailable):
41588 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
41589 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
41590 (WebCore::MediaPlayerPrivate::load):
41591 (WebCore::MediaPlayerPrivate::changePipelineState):
41592 (WebCore::MediaPlayerPrivate::play):
41593 (WebCore::MediaPlayerPrivate::pause):
41594 (WebCore::MediaPlayerPrivate::duration):
41595 (WebCore::MediaPlayerPrivate::currentTime):
41596 (WebCore::MediaPlayerPrivate::seek):
41597 (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
41598 (WebCore::MediaPlayerPrivate::cancelSeek):
41599 (WebCore::MediaPlayerPrivate::endPointTimerFired):
41600 (WebCore::MediaPlayerPrivate::paused):
41601 (WebCore::MediaPlayerPrivate::seeking):
41602 (WebCore::MediaPlayerPrivate::naturalSize):
41603 (WebCore::MediaPlayerPrivate::hasVideo):
41604 (WebCore::MediaPlayerPrivate::hasAudio):
41605 (WebCore::MediaPlayerPrivate::setVolume):
41606 (WebCore::MediaPlayerPrivate::volumeChangedCallback):
41607 (WebCore::MediaPlayerPrivate::volumeChanged):
41608 (WebCore::MediaPlayerPrivate::setRate):
41609 (WebCore::MediaPlayerPrivate::networkState):
41610 (WebCore::MediaPlayerPrivate::readyState):
41611 (WebCore::MediaPlayerPrivate::buffered):
41612 (WebCore::MediaPlayerPrivate::processBufferingStats):
41613 (WebCore::MediaPlayerPrivate::queryBufferingStats):
41614 (WebCore::MediaPlayerPrivate::maxTimeSeekable):
41615 (WebCore::MediaPlayerPrivate::maxTimeLoaded):
41616 (WebCore::MediaPlayerPrivate::bytesLoaded):
41617 (WebCore::MediaPlayerPrivate::totalBytes):
41618 (WebCore::MediaPlayerPrivate::cancelLoad):
41619 (WebCore::MediaPlayerPrivate::updateStates):
41620 (WebCore::MediaPlayerPrivate::mediaLocationChanged):
41621 (WebCore::MediaPlayerPrivate::loadNextLocation):
41622 (WebCore::MediaPlayerPrivate::loadStateChanged):
41623 (WebCore::MediaPlayerPrivate::sizeChanged):
41624 (WebCore::MediaPlayerPrivate::timeChanged):
41625 (WebCore::MediaPlayerPrivate::didEnd):
41626 (WebCore::MediaPlayerPrivate::durationChanged):
41627 (WebCore::MediaPlayerPrivate::supportsMuting):
41628 (WebCore::MediaPlayerPrivate::setMuted):
41629 (WebCore::MediaPlayerPrivate::muteChangedCallback):
41630 (WebCore::MediaPlayerPrivate::muteChanged):
41631 (WebCore::MediaPlayerPrivate::loadingFailed):
41632 (WebCore::MediaPlayerPrivate::setSize):
41633 (WebCore::MediaPlayerPrivate::setVisible):
41634 (WebCore::MediaPlayerPrivate::repaint):
41635 (WebCore::MediaPlayerPrivate::paint):
41636 (WebCore::mimeTypeCache):
41637 (WebCore::MediaPlayerPrivate::getSupportedTypes):
41638 (WebCore::MediaPlayerPrivate::supportsType):
41639 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
41640 (WebCore::MediaPlayerPrivate::supportsFullscreen):
41641 (WebCore::MediaPlayerPrivate::setAutobuffer):
41642 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
41643 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h.
41644 (WebCore::MediaPlayerPrivate::pipelineReset):
41645 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.cpp.
41646 (webkit_video_sink_base_init):
41647 (webkit_video_sink_init):
41648 (webkit_video_sink_timeout_func):
41649 (webkit_video_sink_render):
41650 (webkit_video_sink_dispose):
41651 (unlock_buffer_mutex):
41652 (webkit_video_sink_unlock):
41653 (webkit_video_sink_unlock_stop):
41654 (webkit_video_sink_stop):
41655 (webkit_video_sink_start):
41656 (marshal_VOID__MINIOBJECT):
41657 (webkit_video_sink_class_init):
41658 (webkit_video_sink_new):
41659 * platform/graphics/gstreamer/VideoSinkGStreamer.h: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.h.
41660 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.cpp.
41662 (webkit_web_src_base_init):
41663 (webkit_web_src_class_init):
41664 (webkit_web_src_init):
41665 (webKitWebSrcFinalize):
41666 (webKitWebSrcSetProperty):
41667 (webKitWebSrcGetProperty):
41668 (webKitWebSrcStop):
41669 (webKitWebSrcStart):
41670 (webKitWebSrcChangeState):
41671 (webKitWebSrcUriGetType):
41672 (webKitWebSrcGetProtocols):
41673 (webKitWebSrcGetUri):
41674 (webKitWebSrcSetUri):
41675 (webKitWebSrcUriHandlerInit):
41676 (webKitWebSrcNeedDataMainCb):
41677 (webKitWebSrcNeedDataCb):
41678 (webKitWebSrcEnoughDataMainCb):
41679 (webKitWebSrcEnoughDataCb):
41680 (webKitWebSrcSeekMainCb):
41681 (webKitWebSrcSeekDataCb):
41682 (webKitWebSrcSetFrame):
41683 (StreamingClient::StreamingClient):
41684 (StreamingClient::~StreamingClient):
41685 (StreamingClient::willSendRequest):
41686 (StreamingClient::didReceiveResponse):
41687 (StreamingClient::didReceiveData):
41688 (StreamingClient::didFinishLoading):
41689 (StreamingClient::didFail):
41690 (StreamingClient::wasBlocked):
41691 (StreamingClient::cannotShowURL):
41692 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.h.
41694 2010-03-01 Oliver Hunt <oliver@apple.com>
41696 Reviewed by Maciej Stachowiak.
41698 Refactor named getter function signature to be in line with indexing getter signature
41699 https://bugs.webkit.org/show_bug.cgi?id=35563
41701 Fix up WebCore to use the new named getter function signature, update the
41702 codegenerator to the new calling convention, and fix the custom bindings.
41704 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
41705 (WebCore::JSCSSStyleDeclaration::nameGetter):
41706 * bindings/js/JSDOMBinding.cpp:
41707 (WebCore::objectToStringFunctionGetter):
41708 * bindings/js/JSDOMBinding.h:
41709 * bindings/js/JSDOMWindowCustom.cpp:
41710 (WebCore::nonCachingStaticFunctionGetter):
41711 (WebCore::childFrameGetter):
41712 (WebCore::namedItemGetter):
41713 * bindings/js/JSDataGridColumnListCustom.cpp:
41714 (WebCore::JSDataGridColumnList::nameGetter):
41715 * bindings/js/JSHTMLAllCollectionCustom.cpp:
41716 (WebCore::JSHTMLAllCollection::nameGetter):
41717 * bindings/js/JSHTMLCollectionCustom.cpp:
41718 (WebCore::JSHTMLCollection::nameGetter):
41719 * bindings/js/JSHTMLDocumentCustom.cpp:
41720 (WebCore::JSHTMLDocument::nameGetter):
41721 * bindings/js/JSHTMLFormElementCustom.cpp:
41722 (WebCore::JSHTMLFormElement::nameGetter):
41723 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
41724 (WebCore::JSHTMLFrameSetElement::nameGetter):
41725 * bindings/js/JSHistoryCustom.cpp:
41726 (WebCore::nonCachingStaticBackFunctionGetter):
41727 (WebCore::nonCachingStaticForwardFunctionGetter):
41728 (WebCore::nonCachingStaticGoFunctionGetter):
41729 * bindings/js/JSLocationCustom.cpp:
41730 (WebCore::nonCachingStaticReplaceFunctionGetter):
41731 (WebCore::nonCachingStaticReloadFunctionGetter):
41732 (WebCore::nonCachingStaticAssignFunctionGetter):
41733 * bindings/js/JSMimeTypeArrayCustom.cpp:
41734 (WebCore::JSMimeTypeArray::nameGetter):
41735 * bindings/js/JSNamedNodeMapCustom.cpp:
41736 (WebCore::JSNamedNodeMap::nameGetter):
41737 * bindings/js/JSNodeListCustom.cpp:
41738 (WebCore::JSNodeList::nameGetter):
41739 * bindings/js/JSPluginArrayCustom.cpp:
41740 (WebCore::JSPluginArray::nameGetter):
41741 * bindings/js/JSPluginCustom.cpp:
41742 (WebCore::JSPlugin::nameGetter):
41743 * bindings/js/JSPluginElementFunctions.cpp:
41744 (WebCore::runtimeObjectPropertyGetter):
41745 * bindings/js/JSPluginElementFunctions.h:
41746 * bindings/js/JSStorageCustom.cpp:
41747 (WebCore::JSStorage::nameGetter):
41748 * bindings/js/JSStyleSheetListCustom.cpp:
41749 (WebCore::JSStyleSheetList::nameGetter):
41750 * bindings/scripts/CodeGeneratorJS.pm:
41751 * bridge/runtime_array.cpp:
41752 (JSC::RuntimeArray::lengthGetter):
41753 * bridge/runtime_array.h:
41754 * bridge/runtime_method.cpp:
41755 (JSC::RuntimeMethod::lengthGetter):
41756 * bridge/runtime_method.h:
41757 * bridge/runtime_object.cpp:
41758 (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
41759 (JSC::Bindings::RuntimeObject::fieldGetter):
41760 (JSC::Bindings::RuntimeObject::methodGetter):
41761 * bridge/runtime_object.h:
41763 2010-03-01 Oliver Hunt <oliver@apple.com>
41765 Reviewed by Gavin Barraclough.
41767 PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier
41768 https://bugs.webkit.org/show_bug.cgi?id=35561
41770 Update bindings generation and the few manual indexing getters we have to use
41771 the new PropertySlot API.
41773 * bindings/js/JSDOMWindowCustom.cpp:
41774 (WebCore::indexGetter):
41775 * bindings/scripts/CodeGeneratorJS.pm:
41776 * bridge/runtime_array.cpp:
41777 (JSC::RuntimeArray::indexGetter):
41778 * bridge/runtime_array.h:
41780 2010-03-01 Chris Fleizach <cfleizach@apple.com>
41782 Reviewed by Darin Adler.
41784 AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
41785 https://bugs.webkit.org/show_bug.cgi?id=35514
41787 When a table's DOM is changed and an AX Table is not asked first for its children,
41788 it would return wrong information. A table needs to make sure children are up to date in
41789 all methods that can be called from the outside.
41791 Test: platform/mac/accessibility/stale-table-rows.html
41793 * accessibility/AccessibilityARIAGrid.cpp:
41794 (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
41795 * accessibility/AccessibilityObject.cpp:
41796 (WebCore::AccessibilityObject::clearChildren):
41797 * accessibility/AccessibilityRenderObject.cpp:
41798 (WebCore::AccessibilityRenderObject::clearChildren):
41799 (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
41800 (WebCore::AccessibilityRenderObject::children):
41801 * accessibility/AccessibilityRenderObject.h:
41802 (WebCore::AccessibilityRenderObject::needsToUpdateChildren):
41803 (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
41804 * accessibility/AccessibilityTable.cpp:
41805 (WebCore::AccessibilityTable::clearChildren):
41806 (WebCore::AccessibilityTable::columns):
41807 (WebCore::AccessibilityTable::rows):
41808 (WebCore::AccessibilityTable::rowHeaders):
41809 (WebCore::AccessibilityTable::columnHeaders):
41810 (WebCore::AccessibilityTable::cells):
41811 (WebCore::AccessibilityTable::columnCount):
41812 (WebCore::AccessibilityTable::rowCount):
41813 (WebCore::AccessibilityTable::cellForColumnAndRow):
41815 2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
41817 Reviewed by Adam Barth.
41819 Convert the zoom mode (page vs. text-only) into a proper enum.
41820 https://bugs.webkit.org/show_bug.cgi?id=35347
41823 * WebCore.base.exp: Substituted symbols __ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
41824 and __ZN7WebCore8Settings11setZoomModeENS_8ZoomModeE for __ZN7WebCore5Frame13setZoomFactorEfb
41825 and __ZN7WebCore8Settings16setZoomsTextOnlyEb, respectively.
41828 * WebCore.vcproj/WebCore.vcproj:
41829 * WebCore.xcodeproj/project.pbxproj:
41831 (WebCore::Frame::zoomMode):
41832 (WebCore::Frame::shouldApplyTextZoom):
41833 (WebCore::Frame::shouldApplyPageZoom):
41834 (WebCore::Frame::setZoomFactor):
41836 * page/Settings.cpp:
41837 (WebCore::Settings::Settings):
41838 (WebCore::Settings::setZoomMode):
41840 (WebCore::Settings::zoomMode):
41841 * page/ZoomMode.h: Added.
41843 * svg/SVGSVGElement.cpp:
41844 (WebCore::SVGSVGElement::setCurrentScale):
41846 2010-03-01 Alex Milowski <alex@milowski.com>
41848 Reviewed by Kenneth Rohde Christiansen.
41850 Added support for the msubsup element that also handles the msup and msub elements.
41852 Test: mathml/presentation/subsup.xhtml
41854 * WebCore.xcodeproj/project.pbxproj:
41855 * mathml/MathMLInlineContainerElement.cpp:
41856 (WebCore::MathMLInlineContainerElement::createRenderer):
41857 * mathml/RenderMathMLSubSup.cpp: Added.
41858 (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
41859 (WebCore::RenderMathMLSubSup::addChild):
41860 (WebCore::RenderMathMLSubSup::stretchToHeight):
41861 (WebCore::RenderMathMLSubSup::nonOperatorHeight):
41862 (WebCore::RenderMathMLSubSup::layout):
41863 (WebCore::RenderMathMLSubSup::baselinePosition):
41864 * mathml/RenderMathMLSubSup.h: Added.
41865 (WebCore::RenderMathMLSubSup::hasBase):
41866 (WebCore::RenderMathMLSubSup::):
41868 2010-03-01 Pavel Feldman <pfeldman@chromium.org>
41870 Reviewed by Timothy Hatcher.
41872 Web Inspector: use dejavu sans mono 11px on linux.
41874 https://bugs.webkit.org/show_bug.cgi?id=35527
41876 * inspector/front-end/inspector.css:
41878 2010-03-01 Thatcher Ulrich <tulrich@google.com>
41880 Reviewed by Darin Fisher.
41882 Fix chromium iframe shims. Add another test case to the
41883 iframes-shims test. After r53637, the plugin widget doesn't get
41884 moved every paint. This used to hide the bug that if an iframe
41885 gets added, the plugin's cutout rectangles don't get updated until
41887 https://bugs.webkit.org/show_bug.cgi?id=35184
41889 * platform/Widget.h:
41890 (WebCore::Widget::widgetPositionsUpdated): new virtual method
41891 widgetPositionsUpdated() to notify widgets when other widgets on
41892 the page have been repositioned.
41893 * rendering/RenderView.cpp:
41894 (WebCore::RenderView::updateWidgetPositions): call widgetPositionsUpdated() on the widgets
41895 * rendering/RenderWidget.cpp:
41896 (WebCore::RenderWidget::widgetPositionsUpdated): call widgetPositionsUpdated() on the widget
41897 * rendering/RenderWidget.h:
41899 2010-03-01 Fridrich Strba <fridrich.strba@bluewin.ch>
41901 Reviewed by Holger Freyther.
41903 Dist some mathml related files
41907 2010-03-01 Kenneth Russell <kbr@google.com>
41909 Reviewed by Oliver Hunt.
41911 Integer overflow in WebGL arrays
41912 https://bugs.webkit.org/show_bug.cgi?id=35241
41914 Test: fast/canvas/webgl/webgl-array-invalid-ranges.html
41916 * bindings/js/JSWebGLArrayBufferConstructor.cpp:
41917 (WebCore::constructCanvasArrayBuffer):
41918 * bindings/js/JSWebGLArrayBufferConstructor.h:
41919 (WebCore::construct):
41920 * bindings/js/JSWebGLArrayHelper.h:
41921 (WebCore::setWebGLArrayFromArray):
41922 * bindings/js/JSWebGLByteArrayConstructor.cpp:
41923 (WebCore::constructCanvasByteArray):
41924 * bindings/js/JSWebGLFloatArrayConstructor.cpp:
41925 (WebCore::constructCanvasFloatArray):
41926 * bindings/js/JSWebGLIntArrayConstructor.cpp:
41927 (WebCore::constructCanvasIntArray):
41928 * bindings/js/JSWebGLShortArrayConstructor.cpp:
41929 (WebCore::constructCanvasShortArray):
41930 * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp:
41931 (WebCore::constructCanvasUnsignedByteArray):
41932 * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp:
41933 (WebCore::constructCanvasUnsignedIntArray):
41934 * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp:
41935 (WebCore::constructCanvasUnsignedShortArray):
41936 * bindings/v8/V8Binding.cpp:
41937 (WebCore::toUInt32):
41938 * bindings/v8/V8Binding.h:
41939 (WebCore::toUInt32):
41940 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
41941 (WebCore::V8WebGLArrayBuffer::constructorCallback):
41942 * bindings/v8/custom/V8WebGLArrayCustom.h:
41943 (WebCore::constructWebGLArray):
41944 (WebCore::getWebGLArrayElement):
41945 (WebCore::setWebGLArrayFromArray):
41946 (WebCore::setWebGLArray):
41947 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
41948 (WebCore::V8WebGLByteArray::constructorCallback):
41949 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
41950 (WebCore::V8WebGLFloatArray::constructorCallback):
41951 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
41952 (WebCore::V8WebGLIntArray::constructorCallback):
41953 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
41954 (WebCore::V8WebGLShortArray::constructorCallback):
41955 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
41956 (WebCore::V8WebGLUnsignedByteArray::constructorCallback):
41957 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
41958 (WebCore::V8WebGLUnsignedIntArray::constructorCallback):
41959 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
41960 (WebCore::V8WebGLUnsignedShortArray::constructorCallback):
41961 * html/canvas/WebGLArray.cpp:
41962 (WebCore::WebGLArray::setImpl):
41963 * html/canvas/WebGLArray.h:
41964 (WebCore::WebGLArray::verifySubRange):
41965 (WebCore::WebGLArray::clampOffsetAndNumElements):
41966 * html/canvas/WebGLArrayBuffer.cpp:
41967 (WebCore::WebGLArrayBuffer::create):
41968 (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
41969 (WebCore::WebGLArrayBuffer::tryAllocate):
41970 * html/canvas/WebGLArrayBuffer.h:
41971 * html/canvas/WebGLByteArray.cpp:
41972 (WebCore::WebGLByteArray::create):
41973 (WebCore::WebGLByteArray::WebGLByteArray):
41974 (WebCore::WebGLByteArray::slice):
41975 * html/canvas/WebGLByteArray.h:
41976 * html/canvas/WebGLFloatArray.cpp:
41977 (WebCore::WebGLFloatArray::create):
41978 (WebCore::WebGLFloatArray::WebGLFloatArray):
41979 (WebCore::WebGLFloatArray::slice):
41980 * html/canvas/WebGLFloatArray.h:
41981 * html/canvas/WebGLIntArray.cpp:
41982 (WebCore::WebGLIntArray::create):
41983 (WebCore::WebGLIntArray::WebGLIntArray):
41984 (WebCore::WebGLIntArray::slice):
41985 * html/canvas/WebGLIntArray.h:
41986 * html/canvas/WebGLShortArray.cpp:
41987 (WebCore::WebGLShortArray::create):
41988 (WebCore::WebGLShortArray::WebGLShortArray):
41989 (WebCore::WebGLShortArray::slice):
41990 * html/canvas/WebGLShortArray.h:
41991 * html/canvas/WebGLUnsignedByteArray.cpp:
41992 (WebCore::WebGLUnsignedByteArray::create):
41993 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
41994 (WebCore::WebGLUnsignedByteArray::slice):
41995 * html/canvas/WebGLUnsignedByteArray.h:
41996 * html/canvas/WebGLUnsignedIntArray.cpp:
41997 (WebCore::WebGLUnsignedIntArray::create):
41998 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
41999 (WebCore::WebGLUnsignedIntArray::slice):
42000 * html/canvas/WebGLUnsignedIntArray.h:
42001 * html/canvas/WebGLUnsignedShortArray.cpp:
42002 (WebCore::WebGLUnsignedShortArray::create):
42003 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
42004 (WebCore::WebGLUnsignedShortArray::slice):
42005 * html/canvas/WebGLUnsignedShortArray.h:
42007 2010-03-01 Brady Eidson <beidson@apple.com>
42009 Reviewed by Sam Weinig.
42011 REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken.
42012 <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532
42014 Test: fast/loader/api-test-go-to-current-back-forward-item.html
42016 * loader/FrameLoader.cpp:
42017 (WebCore::FrameLoader::loadItem): If the current item is the same as the target item, don't
42018 consider this to be a same document navigation.
42021 (WebCore::Page::goToItem): Hard code the "going to the same item as the current item" relationship
42022 as a precondition for stopping all loaders, as that will be a new document load.
42024 2010-03-01 Robert Hogan <robert@webkit.org>
42026 Reviewed by nobody, build fix.
42028 Fix --minimal build. Add ENABLE(DATABASE) as compile time condition
42029 for building file GeolocationPositionCache.cpp.
42031 * page/GeolocationPositionCache.cpp:
42033 2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
42035 Reviewed by Dirk Schulze.
42037 [OpenVG] Implement support for paths
42038 https://bugs.webkit.org/show_bug.cgi?id=34366
42040 Adds an implementation of the Path class -
42041 *almost* complete, but not quite because OpenVG
42042 does not provide access to the points in a VGPath
42043 unless one keeps track of all the points by
42044 themselves, which we decided not to do.
42046 Also hooked up to PainterOpenVG and GraphicsContext.
42048 Further introduced is SharedResourceOpenVG, which is
42049 intended as base class for paths and other OpenVG
42050 resources (images, fonts) that WebKit creates as
42051 long-lived objects. We are at a slight disadvantage
42052 here as WebKit doesn't have the concept of resources
42053 belonging to a specific (hardware graphics) context,
42054 which is the reason why EGLDisplayOpenVG had to
42055 provide a current display singleton; this class is
42056 what actually requires that functionality.
42058 Path::addArcTo() uses code by Yong Li <yoli@rim.com>.
42060 * platform/graphics/Path.cpp:
42061 * platform/graphics/Path.h:
42062 * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
42063 (WebCore::GraphicsContext::fillPath):
42064 (WebCore::GraphicsContext::strokePath):
42065 (WebCore::GraphicsContext::drawPath):
42066 (WebCore::GraphicsContext::beginPath):
42067 (WebCore::GraphicsContext::addPath):
42068 * platform/graphics/openvg/PainterOpenVG.cpp:
42069 (WebCore::PainterOpenVG::PainterOpenVG):
42070 (WebCore::PainterOpenVG::~PainterOpenVG):
42071 (WebCore::PainterOpenVG::transformPath):
42072 (WebCore::PainterOpenVG::beginPath):
42073 (WebCore::PainterOpenVG::addPath):
42074 (WebCore::PainterOpenVG::currentPath):
42075 (WebCore::PainterOpenVG::drawPath):
42076 * platform/graphics/openvg/PainterOpenVG.h:
42077 * platform/graphics/openvg/PathOpenVG.cpp: Added.
42078 (WebCore::PlatformPathOpenVG::PlatformPathOpenVG):
42079 (WebCore::PlatformPathOpenVG::operator=):
42080 (WebCore::PlatformPathOpenVG::~PlatformPathOpenVG):
42081 (WebCore::PlatformPathOpenVG::clear):
42082 (WebCore::PlatformPathOpenVG::createPath):
42083 (WebCore::Path::Path):
42084 (WebCore::Path::~Path):
42085 (WebCore::Path::operator=):
42086 (WebCore::Path::contains):
42087 (WebCore::Path::strokeContains):
42088 (WebCore::Path::translate):
42089 (WebCore::Path::boundingRect):
42090 (WebCore::Path::strokeBoundingRect):
42091 (WebCore::Path::moveTo):
42092 (WebCore::Path::addLineTo):
42093 (WebCore::Path::addQuadCurveTo):
42094 (WebCore::Path::addBezierCurveTo):
42095 (WebCore::Path::addArcTo):
42096 (WebCore::Path::closeSubpath):
42097 (WebCore::Path::addArc):
42098 (WebCore::Path::addRect):
42099 (WebCore::Path::addEllipse):
42100 (WebCore::Path::clear):
42101 (WebCore::Path::isEmpty):
42102 (WebCore::Path::hasCurrentPoint):
42103 (WebCore::Path::debugString):
42104 (WebCore::Path::apply):
42105 (WebCore::Path::transform):
42106 (WebCore::Path::length):
42107 (WebCore::Path::pointAtLength):
42108 (WebCore::Path::normalAngleAtLength):
42109 * platform/graphics/openvg/PlatformPathOpenVG.h: Added.
42110 (WebCore::PlatformPathOpenVG::vgPath):
42111 * platform/graphics/openvg/SharedResourceOpenVG.cpp: Added.
42112 (WebCore::SharedResourceOpenVG::makeSharedContextCurrent):
42113 (WebCore::SharedResourceOpenVG::makeCompatibleContextCurrent):
42114 * platform/graphics/openvg/SharedResourceOpenVG.h: Added.
42116 2010-03-01 Pavel Feldman <pfeldman@chromium.org>
42118 Not reviewed, bring English.lproj/locallizedStrings.js back to binary (UTF) mode.
42120 * English.lproj/localizedStrings.js:
42122 2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
42124 Reviewed by Nikolas Zimmermann.
42126 [OpenVG] Convert from TransformationMatrix to AffineTransform.
42127 https://bugs.webkit.org/show_bug.cgi?id=35445
42129 Dirk Schulze previously introduced AffineTransform as
42130 replacement for most TransformationMatrix occurrences
42131 in GraphicsContext & Co., but did not update the OpenVG
42132 graphics backend as there's no publicly available way
42133 to build it. This commit now takes care of that.
42135 * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
42136 (WebCore::GraphicsContext::getCTM):
42137 (WebCore::GraphicsContext::roundToDevicePixels):
42138 (WebCore::GraphicsContext::origin):
42139 (WebCore::GraphicsContext::concatCTM):
42140 * platform/graphics/openvg/PainterOpenVG.cpp:
42141 (WebCore::isNonRotatedAffineTransformation):
42142 (WebCore::PlatformPainterState::PlatformPainterState):
42143 (WebCore::PlatformPainterState::applyState):
42144 (WebCore::PlatformPainterState::applyTransformation):
42145 (WebCore::PainterOpenVG::transformation):
42146 (WebCore::PainterOpenVG::concatTransformation):
42147 (WebCore::PainterOpenVG::setTransformation):
42148 (WebCore::PainterOpenVG::scale):
42149 (WebCore::PainterOpenVG::rotate):
42150 (WebCore::PainterOpenVG::translate):
42151 (WebCore::PainterOpenVG::intersectClipRect):
42152 * platform/graphics/openvg/PainterOpenVG.h:
42153 * platform/graphics/openvg/VGUtils.cpp:
42154 (WebCore::VGMatrix::VGMatrix):
42155 (WebCore::VGMatrix::operator AffineTransform):
42156 (WebCore::VGMatrix::operator TransformationMatrix):
42157 (WebCore::AffineTransform::operator VGMatrix):
42158 * platform/graphics/openvg/VGUtils.h:
42159 * platform/graphics/transforms/AffineTransform.h:
42161 2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
42163 Reviewed by Simon Hausmann.
42165 [Qt] Fix segfault when drawing NPAPI plugins on Mac
42167 Don't try to get a contexctRef for a null-pixmap. If the pixmap
42168 size is 0,0 the private pixmap data has not yet been initialized.
42170 * plugins/mac/PluginViewMac.cpp:
42172 2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
42174 Reviewed by Simon Hausmann.
42176 Fix the Qt build on Mac OS X/Cocoa 64-bit
42178 Use the proper event/drawing-model guards instead of global 64-bit
42179 guard for the NPAPI plugin implementation (view and package).
42181 * plugins/mac/PluginPackageMac.cpp: Change guards and fix warning
42182 * plugins/mac/PluginViewMac.cpp: Remove 64-bit guard
42184 2010-02-27 Pavel Feldman <pfeldman@chromium.org>
42186 Reviewed by Timothy Hatcher.
42188 Web Inspector: disable breakpoint upon Shift-click.
42190 https://bugs.webkit.org/show_bug.cgi?id=35477
42192 * inspector/front-end/ConsoleView.js:
42193 (WebInspector.ConsoleView.prototype._format):
42194 * inspector/front-end/SourceFrame.js:
42195 (WebInspector.SourceFrame.prototype._mouseDown):
42196 (WebInspector.SourceFrame.prototype._mouseMove):
42197 * inspector/front-end/textViewer.css:
42199 2010-02-28 Alexey Proskuryakov <ap@apple.com>
42201 Reviewed by Dan Bernstein.
42203 https://bugs.webkit.org/show_bug.cgi?id=35496
42204 <rdar://problem/7663444> Opening newsweek.com and youtube.com has become very slow in debug builds
42206 * css/CSSStyleSelector.cpp:
42207 (WebCore::CSSRuleSet::getIDRules):
42208 (WebCore::CSSRuleSet::getClassRules):
42209 (WebCore::CSSRuleSet::getTagRules):
42210 Removed consistency checks, as they affect performance too much in this case.
42212 2010-02-28 Robert Hogan <robert@roberthogan.net>
42214 Reviewed by Simon Hausmann.
42216 [Qt] Support private browsing mode in plugins
42218 Add support for NPNVprivateModeBool property in plugins.
42220 See also: https://developer.mozilla.org/En/Supporting_private_browsing_in_plugins
42222 The NPNVprivateModeBool property is supported as scriptable property privateBrowsingEnabled
42223 in the test WebKit plugin. The Mac platform also supports a cachedPrivateBrowsingEnabled
42224 property implemented in the test plugin. This allows the Layout test
42225 plugins/private-browsing-mode.html to retrieve the previous value of NPNVprivateModeBool
42226 in the test plugin. Due to the platform-specific overhead required to support this bespoke
42227 property it is not implemented as part of this patch, instead a new test,
42228 plugins/private-browsing-mode-2.html, is added to ensure that setting and resetting
42229 privateBrowsingEnabled works as expected.
42231 http://bugs.webkit.org/show_bug.cgi?id=33180
42233 Test: plugins/private-browsing-mode-2.html
42235 * plugins/qt/PluginViewQt.cpp:
42236 (WebCore::PluginView::getValue):
42239 2010-02-27 Joseph Pecoraro <joepeck@webkit.org>
42241 Reviewed by Timothy Hatcher.
42243 Web Inspector shouldn't show a white color box for "-webkit-line-break: after-white-space"
42244 https://bugs.webkit.org/show_bug.cgi?id=33478
42246 * inspector/front-end/StylesSidebarPane.js:
42248 2010-02-27 Dan Bernstein <mitz@apple.com>
42250 Reviewed by Maciej Stachowiak.
42252 <rdar://problem/7696607> Links do not respect -webkit-user-drag: none
42253 https://bugs.webkit.org/show_bug.cgi?id=35475
42255 Test: fast/css/user-drag-none.html
42257 * page/DragController.cpp:
42258 (WebCore::DragController::mayStartDragAtEventLocation): Added a node
42259 parameter. The image drag check is done against the node, rather than
42260 than against the hit test result. This prevents a non-draggable image
42261 with an auto-draggable ancestor from being dragged alone. The link drag
42262 check now ignores links that are -webkit-user-drag: none.
42263 * page/DragController.h:
42264 * page/EventHandler.cpp:
42265 (WebCore::EventHandler::shouldDragAutoNode): Pass the current node
42266 to mayStartDragAtEventLocation().
42268 2010-02-27 Pavel Feldman <pfeldman@chromium.org>
42270 Reviewed by Timothy Hatcher.
42272 Web Inspector: REGRESSION: hangs when scrolling in Resource pane.
42274 https://bugs.webkit.org/show_bug.cgi?id=35216
42276 * inspector/front-end/TextEditorHighlighter.js:
42277 (WebInspector.TextEditorHighlighter):
42278 (WebInspector.TextEditorHighlighter.prototype.highlight):
42279 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
42280 (WebInspector.TextEditorHighlighter.prototype._highlightLines):
42282 2010-02-27 Xan Lopez <xlopez@igalia.com>
42284 Reviewed by Gustavo Noronha.
42286 Abort XEmbed plugin initialization if our parent is not anchored
42287 in a widget hierarchy. This can happen when the browser window is
42288 destroyed while the plugin is being loaded, and will lead to a
42291 * plugins/gtk/PluginViewGtk.cpp:
42292 (WebCore::PluginView::platformStart):
42294 2010-02-26 Pavel Feldman <pfeldman@chromium.org>
42296 Reviewed by Timothy Hatcher.
42298 Web Inspector: reload inspected page on Cmd+R / Ctrl+R / F5 key event in inspector.
42299 Drive-by fix for couple of minor front-end problems.
42301 https://bugs.webkit.org/show_bug.cgi?id=35434
42303 * inspector/InspectorBackend.cpp:
42304 (WebCore::InspectorBackend::reloadPage):
42305 * inspector/InspectorBackend.h:
42306 * inspector/InspectorBackend.idl:
42307 * inspector/InspectorController.cpp:
42308 (WebCore::InspectorController::didFinishLoading):
42309 (WebCore::InspectorController::didFailLoading):
42310 * inspector/front-end/InspectorBackendStub.js:
42311 (.WebInspector.InspectorBackendStub.prototype.reloadPage):
42312 * inspector/front-end/InspectorFrontendHostStub.js:
42313 (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
42314 (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
42315 * inspector/front-end/TextViewer.js:
42316 (WebInspector.TextViewer.prototype._paintLine):
42317 * inspector/front-end/inspector.js:
42318 (WebInspector.documentKeyDown):
42319 (WebInspector.toggleAttach):
42321 2010-02-26 Leandro Pereira <leandro@profusion.mobi>
42323 Reviewed by Kenneth Rohde Christiansen.
42325 Add EFL port files to platform/efl.
42326 http://webkit.org/b/35087
42328 * platform/efl/ScrollbarEfl.cpp: Added.
42329 * platform/efl/EventLoopEfl.cpp: Added.
42330 * platform/efl/PlatformKeyboardEventEfl.cpp: Added.
42331 * platform/efl/DragImageEfl.cpp: Added.
42332 * platform/efl/PlatformMouseEventEfl.cpp: Added.
42334 2010-02-26 Leandro Pereira <leandro@profusion.mobi>
42336 Reviewed by Kenneth Rohde Christiansen.
42338 Add EFL port files to platform/efl.
42339 http://webkit.org/b/35087
42341 * platform/efl/CursorEfl.cpp: Added.
42342 * platform/efl/LocalizedStringsEfl.cpp: Added.
42343 * platform/efl/SearchPopupMenuEfl.cpp: Added.
42345 2010-02-26 Leandro Pereira <leandro@profusion.mobi>
42347 Reviewed by Kenneth Rohde Christiansen.
42349 Add EFL port files to page/efl.
42350 http://webkit.org/b/35087
42352 * WebCore/page/efl/DragControllerEfl.cpp: Added.
42353 * WebCore/page/efl/FrameEfl.cpp: Added.
42354 * WebCore/page/efl/AccessibilityObjectEfl.cpp: Added.
42355 * WebCore/page/efl/EventHandlerEfl.cpp: Added.
42357 2010-02-26 Leandro Pereira <leandro@profusion.mobi>
42359 Reviewed by Kenneth Rohde Christiansen.
42361 Add EFL port files to platform/efl.
42362 http://webkit.org/b/35087
42364 * WebCore/platform/efl/LoggingEfl.cpp: Added.
42365 * WebCore/platform/efl/ScrollbarThemeEfl.cpp: Added.
42366 * WebCore/platform/efl/TemporaryLinkStubs.cpp: Added.
42367 * WebCore/platform/efl/ScrollViewEfl.cpp: Added.
42368 * WebCore/platform/efl/SharedBufferEfl.cpp: Added.
42369 * WebCore/platform/efl/DragDataEfl.cpp: Added.
42371 2010-02-26 Leandro Pereira <leandro@profusion.mobi>
42373 Reviewed by Kenneth Rohde Christiansen.
42375 Add EFL port files to platform/efl.
42376 http://webkit.org/b/35087
42378 * WebCore/platform/efl/RenderThemeEfl.cpp: Added.
42380 2010-02-26 Leandro Pereira <leandro@profusion.mobi>
42382 Reviewed by Kenneth Rohde Christiansen.
42384 Add EFL port files to platform/efl.
42385 http://webkit.org/b/35087
42387 * WebCore/platform/efl/PlatformWheelEventEfl.cpp: Added.
42388 * WebCore/platform/efl/FileChooserEfl.cpp: Added.
42389 * WebCore/platform/efl/ContextMenuEfl.cpp: Added.
42390 * WebCore/platform/efl/PlatformScreenEfl.cpp: Added.
42391 * WebCore/platform/efl/WidgetEfl.cpp: Added.
42393 2010-02-26 Adam Barth <abarth@webkit.org>
42395 Reviewed by Darin Fisher.
42397 Expose an API for ports to add schemes to the mixed content whitelist
42398 https://bugs.webkit.org/show_bug.cgi?id=35438
42400 Add a notion of a "secure" scheme that doesn't trigger mixed content
42401 warnings. Let folks register new secure schemes in the same way they
42402 can register "local" schemes.
42404 * loader/FrameLoader.cpp:
42405 (WebCore::FrameLoader::isMixedContent):
42406 * page/SecurityOrigin.cpp:
42407 (WebCore::secureSchemes):
42408 (WebCore::SecurityOrigin::registerURLSchemeAsSecure):
42409 (WebCore::SecurityOrigin::shouldTreatURLSchemeAsSecure):
42410 * page/SecurityOrigin.h:
42412 2010-02-26 Noam Rosenthal <noam.rosenthal@nokia.com>
42414 Reviewed by Kenneth Rohde Christiansen.
42416 [Qt] GraphicsLayerQt: artifacts and wrong transformOrigin
42417 This was due to wrong way of applying cache-mode and transformation
42418 on a graphics-item with HTML. Cache-mode should be updated
42419 when the content type updates, even if it was the same cache-mode
42421 https://bugs.webkit.org/show_bug.cgi?id=35382
42423 Test URL attached to the bug now works correctly.
42425 * platform/graphics/qt/GraphicsLayerQt.cpp:
42426 (WebCore::GraphicsLayerQtImpl::computeTransform):
42427 (WebCore::GraphicsLayerQtImpl::flushChanges):
42429 2010-02-26 Luiz Agostini <luiz.agostini@openbossa.org>
42431 Reviewed by Kenneth Rohde Christiansen.
42433 Qt/Mac: Revert null timer removal (r51105)
42434 https://bugs.webkit.org/show_bug.cgi?id=35396
42436 r51105 removed the null timer event of the carbon event model. This however
42437 breaks the flash of many sites.
42439 Applying patch suggested by Girish Ramakrishnan in bug comment #1.
42441 * plugins/PluginView.h:
42442 * plugins/mac/PluginViewMac.cpp:
42443 (WebCore::PluginView::platformStart):
42444 (WebCore::PluginView::handleMouseEvent):
42445 (WebCore::PluginView::nullEventTimerFired):
42446 (WebCore::PluginView::mousePosForPlugin):
42448 2010-02-26 Noam Rosenthal <noam.rosenthal@nokia.com>
42450 Reviewed by Kenneth Rohde Christiansen.
42452 [Qt] Compile error with 3d-canvas
42453 Replaced a direct gl call with a getProcAddress call
42454 https://bugs.webkit.org/show_bug.cgi?id=35448
42458 * platform/graphics/qt/GraphicsContext3DQt.cpp:
42459 (WebCore::GraphicsContext3D::blendColor):
42461 2010-02-26 Kwang Yul Seo <skyul@company100.net>
42463 Reviewed by Kenneth Rohde Christiansen.
42465 [BREWMP] Port EventHandler
42466 https://bugs.webkit.org/show_bug.cgi?id=34796
42468 Add platform-specific code required to implement EventHandler.
42470 * page/brew/EventHandlerBrew.cpp: Added.
42471 (WebCore::EventHandler::tabsToAllControls):
42472 (WebCore::EventHandler::focusDocumentView):
42473 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
42474 (WebCore::EventHandler::passMouseDownEventToWidget):
42475 (WebCore::EventHandler::eventActivatedView):
42476 (WebCore::EventHandler::passSubframeEventToSubframe):
42477 (WebCore::EventHandler::passWheelEventToWidget):
42478 (WebCore::EventHandler::passMousePressEventToSubframe):
42479 (WebCore::EventHandler::passMouseMoveEventToSubframe):
42480 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
42481 (WebCore::EventHandler::accessKeyModifiers):
42483 2010-02-26 Leandro Pereira <leandro@profusion.mobi>
42485 Reviewed by Kenneth Rohde Christiansen.
42487 Add EFL port files to platform/efl.
42488 http://webkit.org/b/35087
42490 * WebCore/platform/efl/ClipboardEfl.cpp: Added.
42491 * WebCore/platform/efl/PopupMenuEfl.cpp: Added.
42492 * WebCore/platform/efl/SharedTimerEfl.cpp: Added.
42493 * WebCore/platform/efl/RenderThemeEfl.h: Added.
42494 * WebCore/platform/efl/Language.cpp: Added.
42495 * WebCore/platform/efl/CookieJarEfl.cpp: Added.
42496 * WebCore/platform/efl/MIMETypeRegistryEfl.cpp: Added.
42498 2010-02-26 Robert Kroeger <rjkroege@chromium.org>
42500 Reviewed by Nate Chapin
42502 To fire each event handler registered on an SVG node once per
42503 event, Chromium needs an implementation of wasCreatedFromMarkup
42504 added to V8LazyEventListener.h that matches the one in
42505 WebKit/WebCore/bindings/js/JSLazyEventListener.h.
42507 This patch adds such a matching implementation of wasCreatedFromMarkup
42508 to V8LazyEventListener.h.
42510 https://bugs.webkit.org/show_bug.cgi?id=35325
42512 * bindings/v8/V8LazyEventListener.h:
42513 (WebCore::V8LazyEventListener::wasCreatedFromMarkup):
42515 2010-02-26 Arno Renevier <arno@renevier.net>
42517 Reviewed by Gustavo Noronha Silva.
42519 [Gtk] use geoclue_position_get_position_async to get geolocation position.
42520 https://bugs.webkit.org/show_bug.cgi?id=35355
42522 No new tests, behaviour depends on system.
42524 * platform/gtk/GeolocationServiceGtk.cpp:
42525 (WebCore::GeolocationServiceGtk::startUpdating):
42526 (WebCore::GeolocationServiceGtk::get_position):
42527 * platform/gtk/GeolocationServiceGtk.h:
42529 2010-02-26 Yaar Schnitman <yaar@chromium.org>
42531 Chromium Win build fix.
42533 * WebCore.gyp/WebCore.gyp: Added missing file to action input.
42535 2010-02-12 Brett Wilson <brettw@chromium.org>
42537 Reviewed by Adam Barth.
42539 Update the Google-URL version of KURL and the V8 bindings to the new
42540 behavior of KURL.IsStandard.
42542 https://bugs.webkit.org/show_bug.cgi?id=34859
42544 This is covered by fast/dom/Window/invalid-protocol.html
42546 * bindings/v8/custom/V8LocationCustom.cpp:
42547 (WebCore::V8Location::protocolAccessorSetter):
42548 * platform/KURLGoogle.cpp:
42549 (WebCore::KURL::setProtocol):
42550 (WebCore::KURL::isHierarchical):
42552 2010-02-26 Gavin Barraclough <barraclough@apple.com>
42554 Reviewed by NOBODY (Build fix following r55312).
42556 * bridge/qt/qt_pixmapruntime.cpp:
42557 (JSC::Bindings::QtPixmapInstance::invokeMethod):
42559 2010-02-26 Yaar Schnitman <yaar@chromium.org>
42561 Reviewed by Dimitri Glazkov.
42563 [V8] Auto-generate and split DerivedSourcesAllInOne.cpp
42564 https://bugs.webkit.org/show_bug.cgi?id=33048
42566 * WebCore.gyp/WebCore.gyp:
42567 * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Added.
42568 * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
42570 2010-02-26 Gavin Barraclough <barraclough@apple.com>
42572 Reviewed by NOBODY (Build fix following r55312).
42574 * bridge/qt/qt_pixmapruntime.cpp:
42575 (JSC::Bindings::QtPixmapInstance::invokeMethod):
42577 2010-02-26 Alexey Proskuryakov <ap@apple.com>
42579 Reviewed by Anders Carlsson.
42581 https://bugs.webkit.org/show_bug.cgi?id=35450
42582 Crash when a Java array property accessor raises an exception
42584 Test: java/inaccessible-class.html
42586 * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): Check if the result
42587 is null before interpreting it as an object or array.
42589 2010-02-26 Dirk Schulze <krit@webkit.org>
42591 Reviewed by Nikolas Zimmermann.
42593 Extend AffineTransform to mapQuad
42594 https://bugs.webkit.org/show_bug.cgi?id=35444
42596 This makes mapQuad available for AffineTransform. So that platforms
42597 can make use of it after the switch from TransformationMatrix to
42598 AffineTransform in GraphicsContext.
42600 * platform/graphics/transforms/AffineTransform.cpp:
42601 (WebCore::AffineTransform::mapRect): mapRect already did the calculation for mapQuad but gave back the
42602 boundingBox of the resulting FloatQuad.
42603 (WebCore::AffineTransform::mapQuad):
42604 * platform/graphics/transforms/AffineTransform.h:
42606 2010-02-26 Brady Eidson <beidson@apple.com>
42608 Reviewed by Pavel Feldman.
42610 Arrow keys do not scroll source view in Resources pane or Scripts pane.
42611 <rdar://problem/7594367> and https://bugs.webkit.org/show_bug.cgi?id=34356
42613 Handle vertical scrolling in the Text Viewer:
42614 * inspector/front-end/TextViewer.js:
42615 (WebInspector.TextViewer): Listen for the keydown event.
42616 (WebInspector.TextViewer.prototype._handleKeyDown): If the event has no modifiers and refers
42617 to an arrow key, scroll. The horizontal values were ripped from the default "pixels per scroll line"
42618 value in ScrollBar.h.
42620 2010-02-26 Gavin Barraclough <barraclough@apple.com>
42622 Reviewed by Alexey Proskuryakov.
42624 Bug 35401 - Fix handling of errors in handling calls over bridge,
42625 where base object bridge-type does not match method bridge-type.
42627 The code assumes users will only attempt to invoke a Java method
42628 on a Java base object, etc.
42629 Add language specific subclasses of RuntimeMethod, and pass the
42630 RuntimeMethod into invokeMethod, so we can typecheck before
42631 casting. Throw an exception on type mismatch.
42633 * WebCore.base.exp:
42634 * WebCore.xcodeproj/project.pbxproj:
42635 * bridge/c/c_instance.cpp:
42636 (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):new class to distinguish this type of RuntimeMethod.
42637 (JSC::Bindings::CInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
42638 (JSC::Bindings::CInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
42639 * bridge/c/c_instance.h:
42640 * bridge/jni/jsc/JavaInstanceJSC.cpp:
42641 (JavaRuntimeMethod::JavaRuntimeMethod): new class to distinguish this type of RuntimeMethod.
42642 (JavaInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
42643 (JavaInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
42644 * bridge/jni/jsc/JavaInstanceJSC.h:
42645 * bridge/jsc/BridgeJSC.h:
42646 * bridge/objc/objc_instance.h:
42647 * bridge/objc/objc_instance.mm:
42648 (ObjcRuntimeMethod::ObjcRuntimeMethod): new class to distinguish this type of RuntimeMethod.
42649 (ObjcInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
42650 (ObjcInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
42651 (ObjcInstance::invokeObjcMethod): new method, takes an ObjcMethod* as an argument so that we don't need to dynamically determine the type.
42652 * bridge/objc/objc_runtime.mm:
42653 (JSC::Bindings::callObjCFallbackObject): use new invokeObjcMethod method.
42654 * bridge/runtime_method.cpp:
42655 (JSC::callRuntimeMethod): pass RuntimeMethod as argument to invokeMethod, rather than its MethodList.
42656 * bridge/runtime_object.cpp:
42657 (JSC::RuntimeObject::methodGetter): use new getMethod method.
42659 2010-02-26 Oliver Hunt <oliver@apple.com>
42661 Reviewed by Geoff Garen.
42663 Make the lookup table generator include an explicit cast to expected
42664 type of the function. We do this because otherwise the blind intptr_t
42665 cast that is subsequently applied allows incorrectly typed functions
42666 to be inserted into the table, where they will only fail at runtime.
42667 This change makes such errors produce a compile time failure.
42669 * WebCore.xcodeproj/project.pbxproj:
42670 * bindings/scripts/CodeGeneratorJS.pm:
42672 2010-02-26 Alex Milowski <alex@milowski.com>
42674 Reviewed by Kenneth Rohde Christiansen.
42676 Added basic support for the munder, munderover, and mover elements.
42678 Tests: mathml/presentation/over.xhtml
42679 mathml/presentation/under.xhtml
42680 mathml/presentation/underover.xhtml
42682 * WebCore.xcodeproj/project.pbxproj:
42683 * mathml/MathMLInlineContainerElement.cpp:
42684 (WebCore::MathMLInlineContainerElement::createRenderer):
42685 * mathml/RenderMathMLUnderOver.cpp: Added.
42686 (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
42687 (WebCore::RenderMathMLUnderOver::addChild):
42688 (WebCore::getOffsetHeight):
42689 (WebCore::RenderMathMLUnderOver::stretchToHeight):
42690 (WebCore::RenderMathMLUnderOver::layout):
42691 (WebCore::RenderMathMLUnderOver::baselinePosition):
42692 (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
42693 * mathml/RenderMathMLUnderOver.h: Added.
42694 (WebCore::RenderMathMLUnderOver::hasBase):
42695 (WebCore::RenderMathMLUnderOver::):
42697 2010-02-24 Stephen White <senorblanco@chromium.org>
42699 Reviewed by Darin Adler.
42701 This CL implements a simple ad-hoc parser for CSS rgb() values.
42702 If it fails, it returns false and the normal lex/yacc parser will
42705 https://bugs.webkit.org/show_bug.cgi?id=35362
42707 Covered by fast/canvas/canvas-bg.html, fast/canvas/canvas-bg-zoom.html,
42710 * css/CSSParser.cpp:
42711 (WebCore::parseInt):
42712 (WebCore::CSSParser::parseColor):
42714 2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
42716 Reviewed by Kenneth Rohde Christiansen.
42718 https://bugs.webkit.org/show_bug.cgi?id=35419
42719 3D canvas did not update when WTF_USE_ACCELERATED_COMPOSITING
42720 was enabled but not from run-time settings. Added run-time
42721 check that compositing is enabled.
42723 * html/canvas/WebGLRenderingContext.cpp:
42724 (WebCore::WebGLRenderingContext::markContextChanged):
42726 2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
42728 Reviewed by Kenneth Rohde Christiansen.
42730 Compilation failed because functions glSampleCoverage, glBlendEquation
42731 and glActiveTexture were not available.
42732 https://bugs.webkit.org/show_bug.cgi?id=35423
42734 * platform/graphics/qt/GraphicsContext3DQt.cpp:
42735 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
42736 (WebCore::GraphicsContext3D::activeTexture):
42737 (WebCore::GraphicsContext3D::blendEquation):
42738 (WebCore::GraphicsContext3D::sampleCoverage):
42740 2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
42742 Reviewed by Kenneth Rohde Christiansen.
42744 https://bugs.webkit.org/show_bug.cgi?id=35380
42745 Fixed compilation error when WTF_USE_ACCELERATED_COMPOSITING=0
42747 * css/MediaQueryEvaluator.cpp:
42748 (WebCore::transform_3dMediaFeatureEval):
42750 2010-02-26 Nicholas Young <nicholas.young@nokia.com>
42752 Reviewed by Tor Arne Vestbø.
42754 [Qt] Incorrect painting after a size changed.
42755 https://bugs.webkit.org/show_bug.cgi?id=35412
42757 No new tests. Bug fix in backend.
42759 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
42760 (WebCore::MediaPlayerPrivate::paint): Provide the source rectangle, rather than inferring it.
42762 2010-02-26 Nicholas Young <nicholas.young@nokia.com>
42764 Reviewed by Tor Arne Vestbø.
42766 [Qt] Incorrect handling of MIME types in Media Player
42767 https://bugs.webkit.org/show_bug.cgi?id=35413
42769 No new tests. Bug fix in backend.
42771 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
42772 (WebCore::MediaPlayerPrivate::supportsType): Corrected logic.
42774 2010-02-26 Joanmarie Diggs <joanmarie.diggs@gmail.com>
42776 Reviewed by Xan Lopez.
42778 https://bugs.webkit.org/show_bug.cgi?id=35418
42779 [Gtk] Every table, including layout tables, should be exposed as a table
42781 This patch exposes layout tables as tables. (Addressing the problematic table
42782 hierarchy remains to be done.)
42784 * accessibility/gtk/AccessibilityObjectAtk.cpp:
42785 (AccessibilityObject::accessibilityPlatformIncludesObject):
42786 * accessibility/AccessibilityRenderObject.cpp:
42787 (AccessibilityRenderObject::determineAccessibilityRole):
42789 2010-02-26 Adam Barth <abarth@webkit.org>
42791 Reviewed by Darin Adler.
42793 XSSAuditor is super super super slow
42794 https://bugs.webkit.org/show_bug.cgi?id=35373
42796 In this patch, we separate the decoding cache for the page's URL and
42797 form data. Previously, we used the same cache for both, which caused
42798 us miss the cache every time when the page had form data (because the
42799 cache only stored one entry). When the form data is large, we were
42800 wasting a lot of time canonicalizing.
42802 * page/XSSAuditor.cpp:
42803 (WebCore::XSSAuditor::findInRequest):
42804 * page/XSSAuditor.h:
42806 2010-02-26 Dirk Schulze <krit@webkit.org>
42808 Reviewed by Nikolas Zimmermann.
42810 SVGResourceClipper needs to be moved to RenderSVGResourceClipper
42811 https://bugs.webkit.org/show_bug.cgi?id=35421
42813 Move SVGResourceClipper to RenderSVGResourceClipper. This follows the changes
42814 of Masker and helps to clean up the SVG code. Code snippets from SVGClipPathElement
42815 and SVGResourceClipper got combined in RenderSVGResourceClipper. DRT results are
42816 more readable for clipPath's now. It's possible to see the unit type of clipper, as
42817 well as it's childs instead of just one path.
42821 * WebCore.vcproj/WebCore.vcproj:
42822 * WebCore.xcodeproj/project.pbxproj:
42823 * rendering/RenderSVGResource.h:
42825 * rendering/RenderSVGResourceClipper.cpp: Added.
42826 (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
42827 (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
42828 (WebCore::RenderSVGResourceClipper::invalidateClients):
42829 (WebCore::RenderSVGResourceClipper::invalidateClient):
42830 (WebCore::RenderSVGResourceClipper::applyResource):
42831 (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
42832 * rendering/RenderSVGResourceClipper.h: Added.
42833 (WebCore::RenderSVGResourceClipper::renderName):
42834 (WebCore::RenderSVGResourceClipper::resourceType):
42835 (WebCore::RenderSVGResourceClipper::clipPathUnits):
42836 * rendering/SVGRenderSupport.cpp:
42837 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
42838 (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
42839 (WebCore::SVGRenderBase::deregisterFromResources):
42840 * rendering/SVGRenderTreeAsText.cpp:
42841 (WebCore::operator<<):
42842 (WebCore::writeStyle):
42843 (WebCore::writeSVGResource):
42844 (WebCore::writeResources):
42845 * svg/SVGClipPathElement.cpp:
42846 (WebCore::SVGClipPathElement::svgAttributeChanged):
42847 (WebCore::SVGClipPathElement::childrenChanged):
42848 (WebCore::SVGClipPathElement::createRenderer):
42849 * svg/SVGClipPathElement.h:
42850 (WebCore::SVGClipPathElement::isValid):
42851 * svg/SVGStyledElement.cpp:
42852 (WebCore::SVGStyledElement::invalidateResources):
42853 * svg/graphics/SVGResource.h:
42855 (WebCore::SVGResource::isPaintServer):
42856 (WebCore::SVGResource::isFilter):
42857 (WebCore::SVGResource::isMarker):
42858 * svg/graphics/SVGResourceClipper.cpp: Removed.
42859 * svg/graphics/SVGResourceClipper.h: Removed.
42861 2010-02-26 Ben Murdoch <benm@google.com>
42863 Reviewed by Kenneth Rohde Christiansen.
42865 The element that a touchevent is dispatched to isn't always right
42866 https://bugs.webkit.org/show_bug.cgi?id=35431
42868 The element that touch events are dispatched on is not always the
42869 correct one, as the cached m_touchEventTarget member is only updated
42870 when the first element of the PlatformTouchEvent touch list is in the
42871 TouchPressed state.
42873 This patch changes this behavior to dispatch the event to the target
42874 of the touch that caused the event to be generated and eliminates the
42875 m_touchEventTarget in favour of using the touch target hashmap. It also
42876 simplifies the way in which the touchTargets list is generated as we
42877 no longer have m_touchEventTarget (which was used previously to build
42878 the list). The new behavior matches the observed behavior of the
42879 iPhone and Android.
42881 * page/EventHandler.cpp:
42882 (WebCore::assembleTargetTouches): Added. new function to build the
42883 targetTouches list. Filters a list of touches (passed) about
42884 another given touch.
42885 (WebCore::EventHandler::handleTouchEvent): Remove the
42886 m_touchEventTarget member, and simplify the generation of the
42887 TouchLists that are bundled with the TouchEVent object. Dispatch
42888 the event to the target of the touch that caused the event to be
42890 * page/EventHandler.h: Remove m_touchEventTarget.
42892 2010-02-26 Dirk Pranke <dpranke@chromium.org>
42894 Reviewed by Darin Fisher.
42896 Fix the handling of updates to #hash fragments to check for differences
42897 post-canonicalization rather than comparing pre- to post-. Chromium
42898 had a bug where we would set the #hash on an about:blank URL and generate
42899 an onload event because we thought the URL (not just the fragment) was
42902 http://bugs.webkit.org/show_bug.cgi?id=35180
42904 Test: fast/loader/about-blank-hash-change.html
42906 * bindings/v8/custom/V8LocationCustom.cpp:
42907 (WebCore::V8Location::hashAccessorSetter):
42909 2010-02-26 Zhenyao Mo <zmo@google.com>
42911 Reviewed by David Levin.
42913 texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha
42914 https://bugs.webkit.org/show_bug.cgi?id=34459
42916 Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
42918 * html/canvas/WebGLRenderingContext.cpp:
42919 (WebCore::WebGLRenderingContext::texImage2D): Apply flipY and premultiplyAlpha to the texture data.
42920 (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
42921 * platform/graphics/GraphicsContext3D.cpp:
42922 (WebCore::GraphicsContext3D::extractImageData): Extract data from ImageData, applying flipY and premultiplyAlpha.
42923 * platform/graphics/GraphicsContext3D.h: Add function extractImageData declaration.
42925 2010-02-26 Zhenyao Mo <zmo@google.com>
42927 Reviewed by David Levin.
42929 Set viewport to canvas size upon context creation
42930 https://bugs.webkit.org/show_bug.cgi?id=35057
42932 Covered by existing tests, in particular fast/canvas/webgl/gl-get-calls.html
42934 * html/canvas/WebGLRenderingContext.cpp:
42935 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Set the viewport size to match the canvas size.
42937 2010-02-26 Pavel Feldman <pfeldman@chromium.org>
42939 Not reviewed: touch InspectorController to force front-end deployment.
42941 * inspector/InspectorController.cpp:
42943 2010-02-26 Ilya Tikhonovsky <loislo@chromium.org>
42945 Reviewed by Pavel Feldman.
42947 WebInspector: While the current timeline view in DevTools provides a great overview of
42948 things happening, we should make it easier to locate the cause of an event,
42949 e.g., link to JS where relevant.
42950 Caller info support for all kind of Timeline events and new Function Call event will be added.
42951 JSC can be patched the same way as it will be done for V8.
42953 https://bugs.webkit.org/show_bug.cgi?id=33995
42955 * bindings/js/ScriptCallStack.cpp:
42956 (WebCore::ScriptCallStack::callLocation):
42957 * bindings/js/ScriptCallStack.h:
42958 * bindings/v8/ScriptCallStack.cpp:
42959 (WebCore::ScriptCallStack::create):
42960 (WebCore::ScriptCallStack::callLocation):
42961 * bindings/v8/ScriptCallStack.h:
42962 * bindings/v8/V8Proxy.cpp:
42963 (WebCore::V8Proxy::callFunction):
42964 * inspector/InspectorTimelineAgent.cpp:
42965 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
42966 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
42967 (WebCore::InspectorTimelineAgent::willCallFunction):
42968 (WebCore::InspectorTimelineAgent::didCallFunction):
42969 (WebCore::InspectorTimelineAgent::pushCurrentRecord):
42970 * inspector/InspectorTimelineAgent.h:
42972 (WebCore::InspectorTimelineAgent::instanceCount):
42973 * inspector/TimelineRecordFactory.cpp:
42974 (WebCore::TimelineRecordFactory::createGenericRecord):
42975 (WebCore::TimelineRecordFactory::createFunctionCallData):
42976 * inspector/TimelineRecordFactory.h:
42977 * inspector/front-end/Popover.js:
42978 (WebInspector.Popover.prototype.hideWhenClicked):
42979 (WebInspector.Popover.prototype._positionElement):
42980 * inspector/front-end/TimelineAgent.js:
42981 * inspector/front-end/TimelinePanel.js:
42982 (WebInspector.TimelinePanel):
42983 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
42984 (WebInspector.TimelinePanel.prototype._formatRecord):
42985 (WebInspector.TimelinePanel.prototype._getRecordDetails):
42986 (WebInspector.TimelinePanel.prototype.reset):
42987 (WebInspector.TimelinePanel.prototype._closeRecordDetails):
42988 (WebInspector.TimelinePanel.prototype._onScroll):
42989 (WebInspector.TimelinePanel.prototype._refresh):
42990 (WebInspector.TimelinePanel.prototype._refreshRecords):
42991 (WebInspector.TimelineRecordListRow):
42992 (WebInspector.TimelineRecordListRow.prototype.update):
42993 (WebInspector.TimelineRecordListRow.prototype._createCell):
42994 (WebInspector.TimelineRecordListRow.prototype._createRow):
42995 (WebInspector.TimelineRecordListRow.prototype._createLinkRow):
42996 (WebInspector.TimelineRecordListRow.prototype._generateBubbleContent):
42997 (WebInspector.TimelineRecordListRow.prototype._onClick):
42998 * inspector/front-end/WebKit.qrc:
42999 * inspector/front-end/inspector.js:
43000 (WebInspector.linkifyResourceAsNode):
43002 2010-02-26 Csaba Osztrogonác <ossy@webkit.org>
43004 Unreviewed. Roll-out r55263 because it broke fast/forms/textarea-type-spaces-pretty-diff.html.
43005 https://bugs.webkit.org/show_bug.cgi?id=30946
43007 * editing/CompositeEditCommand.cpp:
43008 (WebCore::isWhitespace):
43009 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
43010 * editing/InsertTextCommand.cpp:
43011 (WebCore::InsertTextCommand::input):
43012 * editing/InsertTextCommand.h:
43013 * editing/htmlediting.cpp:
43014 * editing/htmlediting.h:
43016 2010-02-25 Mark Rowe <mrowe@apple.com>
43018 Reviewed by Brady Eidson.
43020 <rdar://problem/7688455> REGRESSION(r55205): Crash inside dispatchEventsOnWindowAndFocusedNode when clicking link from bookmarks view
43022 Null-check the document's page to avoid dereferencing a null page.
43024 No regression test is added as this appears to be dependent on an interaction with Safari's bookmarks view that is
43025 not testable from within DumpRenderTree.
43027 * page/FocusController.cpp:
43028 (WebCore::dispatchEventsOnWindowAndFocusedNode):
43030 2010-02-25 Oliver Hunt <oliver@apple.com>
43032 Reviewed by Simon Fraser.
43034 Multiple repaints on apple.com
43035 https://bugs.webkit.org/show_bug.cgi?id=35409
43037 apple.com was triggering the fast scaling path for background images due to
43038 repeated repaints as more content came in. This occured due to a two problems
43039 in the logic to detect scaling. The first is that the main context is flipped
43040 on mac so fails the identity or translation check. We work around this by adding
43041 an function that allows the scaling for a flipped CTM. The other problem was that
43042 we were looking at the destination rect size instead of the destination tile size
43043 when deciding if the size we were drawn at would cause scaling.
43045 * platform/graphics/transforms/AffineTransform.h:
43046 (WebCore::AffineTransform::isIdentityOrTranslationOrFlipped):
43047 * rendering/RenderBoxModelObject.cpp:
43048 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
43049 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
43051 2010-02-25 Enrica Casucci <enrica@apple.com>
43053 Reviewed by Adele Peterson.
43055 Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand).
43056 https://bugs.webkit.org/show_bug.cgi?id=30946
43057 <rdar://problem/7639184>
43059 Do text insertion and whitespace rebalancing around the insertion in one step so that there's only one layout.
43060 This patch was originally made by Justin Garcia.
43062 Test: editing/inserting/rebalance-whitespace-1.html
43064 * editing/CompositeEditCommand.cpp:
43065 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): No behavior changes here,
43066 just pushed the code that determined the extent of whitespace surrounding a position
43067 to its own helper function.
43068 * editing/InsertTextCommand.cpp:
43069 (WebCore::InsertTextCommand::insertTextIntoNodeAndRebalanceWhitespace): Added. Find
43070 whitespace surrounding the insertion position, add the text to insert, rebalance that entire
43071 string, then insert it into the document.
43072 (WebCore::InsertTextCommand::input):
43073 * editing/InsertTextCommand.h:
43074 * editing/htmlediting.cpp:
43075 (WebCore::isWhitespace): Moved from CompositeEditCommand.cpp.
43076 (WebCore::extentOfWhitespaceForRebalancingAt): Moved code from rebalanceWhitespaceAt into this helper
43077 function. Obtains the offset of the start and end of whitespace around a particular position.
43078 * editing/htmlediting.h:
43080 2010-02-25 Alexey Proskuryakov <ap@apple.com>
43082 Reviewed by Anders Carlsson.
43084 https://bugs.webkit.org/show_bug.cgi?id=35406
43085 <rdar://problem/6945502> Make generic array methods work with JavaArray
43087 Test: java/array-sort.html
43089 Made RuntimeArray inherit from JSArray, keeping the promise given in ClassInfo.
43091 * bridge/runtime_array.cpp:
43092 (JSC::RuntimeArray::RuntimeArray):
43093 (JSC::RuntimeArray::~RuntimeArray):
43094 * bridge/runtime_array.h:
43095 (JSC::RuntimeArray::classInfo):
43096 (JSC::RuntimeArray::getConcreteArray):
43098 2010-02-25 Dan Bernstein <mitz@apple.com>
43100 Reviewed by Alexey Proskuryakov.
43102 Fixed a regression introduced in r44243, which made the assertion in checkListItems()
43105 * dom/SelectElement.cpp:
43106 (WebCore::SelectElementData::checkListItems): Copy the items vector before recomputing it,
43107 then assert that the newly-computed vector is equal to the copy.
43109 2010-02-25 Dirk Schulze <krit@webkit.org>
43111 Reviewed by Nikolas Zimmermann.
43113 SVG's tspan is no member of SVGRenderBase, this can cause crashes on filters
43114 https://bugs.webkit.org/show_bug.cgi?id=35354
43116 This makes the base class RenderSVGInline of RenderSVGTSpan and RenderSVGInlineText
43117 dependent on SVGBaseRenderer.
43118 The SVG spec want as to use the object bounding box of the text root as the bounding box
43119 for text-childs. So we search for the text root and use it's bounding box, stroke rect and
43120 repaint rect for further calculations.
43122 Test: svg/filters/filter-on-tspan.svg
43124 * rendering/RenderSVGInline.cpp:
43125 (WebCore::RenderSVGInline::objectBoundingBox): Find the text root and give back it's bounding box.
43126 (WebCore::RenderSVGInline::strokeBoundingBox): same for stroke rect
43127 (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): same for repaint rect
43128 * rendering/RenderSVGInline.h:
43129 (WebCore::RenderSVGInline::toSVGRenderBase): RenderSVGInline is part of SVGRenderBase now.
43130 * rendering/RenderSVGTSpan.h:
43131 (WebCore::RenderSVGTSpan::renderName): Removed bounding box code. Was just a hack for filters and maskers.
43132 * rendering/SVGRenderSupport.cpp:
43133 (WebCore::findTextRootObject): Search for the text root.
43134 * rendering/SVGRenderSupport.h:
43135 * svg/graphics/SVGPaintServerGradient.cpp: moved findTextRootObject to SVGRenderSupport
43137 2010-02-25 Dirk Schulze <krit@webkit.org>
43139 Reviewed by Nikolas Zimmermann.
43141 Use-element doesn't transform clipPath
43142 https://bugs.webkit.org/show_bug.cgi?id=35375
43144 If the use element is a child of clipPath, any settings on x, y or transform does not
43145 transform the clipPath it references.
43146 The use-element just misses this transformation in toClipPath.
43148 Test: svg/custom/use-on-clip-path-with-transformation.svg
43150 * platform/graphics/cairo/PathCairo.cpp: Gtk port translated the path to the wrong direction.
43151 (WebCore::Path::translate):
43152 * svg/SVGUseElement.cpp:
43153 (WebCore::SVGUseElement::toClipPath):
43155 2010-02-25 Jian Li <jianli@chromium.org>
43157 Reviewed by Dmitry Titov.
43160 https://bugs.webkit.org/show_bug.cgi?id=35361
43162 Test: LayoutTests/editing/pasteboard/file-input-files-access.html
43165 (WebCore::File::File):
43167 (WebCore::File::type):
43170 2010-02-25 Alexander Pavlov <apavlov@chromium.org>
43172 Reviewed by Pavel Feldman.
43174 Javascript console should not attempt to scroll to end of console if console is not visible
43176 https://bugs.webkit.org/show_bug.cgi?id=22992
43178 * inspector/front-end/ConsoleView.js:
43179 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
43180 (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
43181 (WebInspector.ConsoleView.prototype.addMessage):
43183 2010-02-25 Alexey Proskuryakov <ap@apple.com>
43185 Qt and Gtk build fixes.
43189 Added CRuntimeObject.{c,cpp}.
43191 2010-02-25 Alexey Proskuryakov <ap@apple.com>
43195 * WebCore.vcproj/WebCore.vcproj: Added CRuntimeObject.{c,cpp}.
43197 2010-02-25 Alexey Proskuryakov <ap@apple.com>
43199 Reviewed by Geoffrey Garen.
43201 https://bugs.webkit.org/show_bug.cgi?id=35394
43202 <rdar://problem/7685262> Make passing objects between Java and plug-ins work
43204 * WebCore.PluginHostProcess.exp: WebKit now subclasses RuntimeObject, so it needed more exports.
43206 * bridge/runtime_object.cpp:
43207 (JSC::Bindings::callRuntimeObject):
43208 (JSC::Bindings::callRuntimeConstructor):
43209 Assert that a runtime object is passed as function.
43211 * bridge/runtime_object.h: Moved RuntimeObject into Bindings namespace, matching other
43214 * bridge/jni/jni_jsobject.mm:
43215 (JavaJSObject::toString): Pass rootObject to convertValueToJValue(). It's not needed when
43216 constructing a string, but this function now takes it for the sake of Object.
43217 (JavaJSObject::convertValueToJObject): Check that object class is JavaRuntimeObject, not
43218 just RuntimeObject.
43220 * bridge/jni/jsc/JNIBridgeJSC.cpp:
43221 (JavaField::setValueToInstance): Pass rootObject to convertValueToJValue().
43222 (JavaArray::setValueAt): Ditto.
43224 * bridge/jni/jsc/JNIUtilityPrivate.h: convertValueToJValue() now takes a RootObject argument,
43225 because one is needed to gcProtect an object ghtat is wrapped into JSObject.
43227 * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Convert
43228 JavaScript objects to Java JSObject ones. This was already happening in other code paths,
43229 which we should change to use common code.
43231 * bridge/jni/jsc/JavaInstanceJSC.cpp:
43232 (JavaInstance::newRuntimeObject): Create an appropriate RuntimeObject subclass,
43233 which is JavaRuntimeObject for Java.
43234 (JavaInstance::invokeMethod): Unwrap returned JavaObjects that contain JS objects.
43236 * WebCore.xcodeproj/project.pbxproj:
43237 * bindings/objc/WebScriptObject.mm:
43238 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
43239 * bridge/c/CRuntimeObject.cpp: Added.
43240 (JSC::Bindings::CRuntimeObject::CRuntimeObject):
43241 (JSC::Bindings::CRuntimeObject::~CRuntimeObject):
43242 (JSC::Bindings::CRuntimeObject::getInternalCInstance):
43243 * bridge/c/CRuntimeObject.h: Added.
43244 (JSC::Bindings::CRuntimeObject::classInfo):
43245 * bridge/c/c_instance.cpp:
43246 (JSC::Bindings::CInstance::newRuntimeObject):
43247 * bridge/c/c_instance.h:
43248 * bridge/c/c_utility.cpp:
43249 (JSC::Bindings::convertValueToNPVariant):
43250 * bridge/jni/jsc/JavaInstanceJSC.h:
43251 * bridge/jni/jsc/JavaRuntimeObject.cpp: Added.
43253 (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
43254 (JSC::Bindings::JavaRuntimeObject::~JavaRuntimeObject):
43255 (JSC::Bindings::JavaRuntimeObject::getInternalJavaInstance):
43256 * bridge/jni/jsc/JavaRuntimeObject.h: Added.
43257 (JSC::Bindings::JavaRuntimeObject::classInfo):
43258 * bridge/jsc/BridgeJSC.h:
43259 * bridge/objc/ObjCRuntimeObject.h: Added.
43260 (JSC::Bindings::ObjCRuntimeObject::classInfo):
43261 * bridge/objc/ObjCRuntimeObject.mm: Added.
43263 (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
43264 (JSC::Bindings::ObjCRuntimeObject::~ObjCRuntimeObject):
43265 (JSC::Bindings::ObjCRuntimeObject::getInternalObjCInstance):
43266 * bridge/objc/objc_instance.h:
43267 * bridge/objc/objc_instance.mm:
43268 (ObjcInstance::newRuntimeObject):
43269 * bridge/objc/objc_runtime.mm:
43270 (JSC::Bindings::callObjCFallbackObject):
43271 * bridge/runtime_root.h:
43272 Added RuntimeObject subclasses for each instance type, and use them for type casting.
43274 2010-02-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
43276 Rubber-stamped by Xan Lopez.
43278 Adopt the same string as the one that is expected by
43279 fast/parser/fragment-parser.html for the description used by the
43282 * platform/gtk/LocalizedStringsGtk.cpp:
43283 (WebCore::searchableIndexIntroduction):
43285 2010-02-25 Pavel Feldman <pfeldman@chromium.org>
43287 Reviewed by Timothy Hatcher.
43289 Web Inspector: evaluate-on-hover does not work on HTML files.
43291 https://bugs.webkit.org/show_bug.cgi?id=35378
43293 * inspector/front-end/SourceCSSTokenizer.re2js:
43294 * inspector/front-end/SourceHTMLTokenizer.js:
43295 (WebInspector.SourceHTMLTokenizer):
43296 (WebInspector.SourceHTMLTokenizer.prototype.set line):
43297 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
43298 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
43299 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
43300 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
43301 (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
43302 (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
43303 * inspector/front-end/SourceHTMLTokenizer.re2js:
43304 * inspector/front-end/SourceJavaScriptTokenizer.js:
43305 (WebInspector.SourceJavaScriptTokenizer):
43306 * inspector/front-end/SourceJavaScriptTokenizer.re2js:
43307 * inspector/front-end/SourceTokenizer.js:
43308 (WebInspector.SourceTokenizer.prototype.set condition):
43309 (WebInspector.SourceTokenizer.prototype.get condition):
43310 (WebInspector.SourceTokenizer.prototype.get subTokenizer):
43311 (WebInspector.SourceTokenizer.prototype.getLexCondition):
43312 (WebInspector.SourceTokenizer.prototype.setLexCondition):
43313 * inspector/front-end/TextEditorHighlighter.js:
43314 (WebInspector.TextEditorHighlighter):
43315 (WebInspector.TextEditorHighlighter.prototype.set mimeType):
43316 (WebInspector.TextEditorHighlighter.prototype.highlight):
43317 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
43318 (WebInspector.TextEditorHighlighter.prototype._highlightLines):
43319 (WebInspector.TextEditorHighlighter.prototype._highlightLine):
43320 * inspector/front-end/TextViewer.js:
43321 (WebInspector.TextViewer.prototype._paintLine):
43323 2010-02-25 Xan Lopez <xlopez@igalia.com>
43325 Reviewed by Gustavo Noronha.
43327 Simple style cleanups.
43329 * plugins/gtk/PluginViewGtk.cpp:
43330 (WebCore::plugRemovedCallback):
43331 (WebCore::plugAddedCallback):
43332 (WebCore::PluginView::platformStart):
43334 2010-02-25 Andreas Kling <andreas.kling@nokia.com>
43336 Reviewed by Darin Adler.
43338 Optimize decoding of Latin-1 text by exploiting the fact that most of it will
43339 be ASCII-only data.
43341 https://bugs.webkit.org/show_bug.cgi?id=35233
43343 * platform/text/TextCodecLatin1.cpp:
43344 (WebCore::TextCodecLatin1::decode):
43346 2010-02-25 Pavel Feldman <pfeldman@chromium.org>
43348 Reviewed by Dimitri Glazkov.
43350 Web Inspector: make script lines count calculation lazy.
43352 https://bugs.webkit.org/show_bug.cgi?id=35392
43354 * inspector/front-end/Script.js:
43355 (WebInspector.Script):
43356 (WebInspector.Script.prototype.get linesCount):
43357 * inspector/front-end/ScriptsPanel.js:
43358 * inspector/front-end/SourceView.js:
43359 (WebInspector.SourceView.prototype._addBreakpoint):
43361 2010-02-25 James Choi <jchoi42@pha.jhu.edu>
43363 Reviewed by David Levin.
43365 Change hardcoded gcc paths to be Solaris friendly
43366 https://bugs.webkit.org/show_bug.cgi?id=35213
43368 * bindings/scripts/CodeGeneratorObjC.pm:
43369 * bindings/scripts/IDLParser.pm:
43370 * css/make-css-file-arrays.pl:
43371 * dom/make_names.pl:
43373 2010-02-25 Xan Lopez <xlopez@igalia.com>
43375 Reviewed by Gustavo Noronha.
43377 Workaround Java plugins not drawing themselves properly on first
43378 expose by doing a late size-allocate after 'plug-added' has been
43379 emitted on the embedding GtkSocket. It's unclear to me if this is
43380 a bug in our side or theirs, but this should be pretty safe and
43381 fixes the annoyance while we investigate it further.
43383 * plugins/gtk/PluginViewGtk.cpp:
43384 (WebCore::plugAddedCallback):
43385 (WebCore::PluginView::platformStart):
43387 2010-02-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
43389 Reviewed by Tor Arne Vestbø.
43391 Add missing include guards
43393 * loader/CrossOriginPreflightResultCache.h:
43394 * loader/MainResourceLoader.h:
43396 2010-02-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
43398 Reviewed by Tor Arne Vestbø.
43400 [Qt] Restrict the optimization flags for Symbian to release builds.
43404 2010-02-25 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
43406 Reviewed by Kenneth Rohde Christiansen.
43410 Adds GraphicsContext3D QtWebKit implementation.
43411 https://bugs.webkit.org/show_bug.cgi?id=35153
43415 * platform/graphics/GraphicsContext3D.h:
43416 * platform/graphics/qt/GraphicsContext3DQt.cpp: Added.
43417 (WebCore::GraphicsContext3DInternal::isValid):
43418 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
43419 (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
43420 (WebCore::GraphicsContext3DInternal::getProcAddress):
43421 (WebCore::GraphicsContext3D::create):
43422 (WebCore::GraphicsContext3D::GraphicsContext3D):
43423 (WebCore::GraphicsContext3D::~GraphicsContext3D):
43424 (WebCore::GraphicsContext3D::platformGraphicsContext3D):
43425 (WebCore::GraphicsContext3D::platformTexture):
43426 (WebCore::GraphicsContext3D::makeContextCurrent):
43427 (WebCore::GraphicsContext3D::beginPaint):
43428 (WebCore::GraphicsContext3D::endPaint):
43429 (WebCore::GraphicsContext3D::reshape):
43430 (WebCore::GraphicsContext3D::activeTexture):
43431 (WebCore::GraphicsContext3D::attachShader):
43432 (WebCore::GraphicsContext3D::bindAttribLocation):
43433 (WebCore::GraphicsContext3D::bindBuffer):
43434 (WebCore::GraphicsContext3D::bindFramebuffer):
43435 (WebCore::GraphicsContext3D::bindRenderbuffer):
43436 (WebCore::GraphicsContext3D::bindTexture):
43437 (WebCore::GraphicsContext3D::blendColor):
43438 (WebCore::GraphicsContext3D::blendEquation):
43439 (WebCore::GraphicsContext3D::blendEquationSeparate):
43440 (WebCore::GraphicsContext3D::blendFunc):
43441 (WebCore::GraphicsContext3D::blendFuncSeparate):
43442 (WebCore::GraphicsContext3D::bufferData):
43443 (WebCore::GraphicsContext3D::bufferSubData):
43444 (WebCore::GraphicsContext3D::checkFramebufferStatus):
43445 (WebCore::GraphicsContext3D::clearColor):
43446 (WebCore::GraphicsContext3D::clear):
43447 (WebCore::GraphicsContext3D::clearDepth):
43448 (WebCore::GraphicsContext3D::clearStencil):
43449 (WebCore::GraphicsContext3D::colorMask):
43450 (WebCore::GraphicsContext3D::compileShader):
43451 (WebCore::GraphicsContext3D::copyTexImage2D):
43452 (WebCore::GraphicsContext3D::copyTexSubImage2D):
43453 (WebCore::GraphicsContext3D::cullFace):
43454 (WebCore::GraphicsContext3D::depthFunc):
43455 (WebCore::GraphicsContext3D::depthMask):
43456 (WebCore::GraphicsContext3D::depthRange):
43457 (WebCore::GraphicsContext3D::detachShader):
43458 (WebCore::GraphicsContext3D::disable):
43459 (WebCore::GraphicsContext3D::disableVertexAttribArray):
43460 (WebCore::GraphicsContext3D::drawArrays):
43461 (WebCore::GraphicsContext3D::drawElements):
43462 (WebCore::GraphicsContext3D::enable):
43463 (WebCore::GraphicsContext3D::enableVertexAttribArray):
43464 (WebCore::GraphicsContext3D::finish):
43465 (WebCore::GraphicsContext3D::flush):
43466 (WebCore::GraphicsContext3D::framebufferRenderbuffer):
43467 (WebCore::GraphicsContext3D::framebufferTexture2D):
43468 (WebCore::GraphicsContext3D::frontFace):
43469 (WebCore::GraphicsContext3D::generateMipmap):
43470 (WebCore::GraphicsContext3D::getActiveAttrib):
43471 (WebCore::GraphicsContext3D::getActiveUniform):
43472 (WebCore::GraphicsContext3D::getAttribLocation):
43473 (WebCore::GraphicsContext3D::getContextAttributes):
43474 (WebCore::GraphicsContext3D::getError):
43475 (WebCore::GraphicsContext3D::getString):
43476 (WebCore::GraphicsContext3D::hint):
43477 (WebCore::GraphicsContext3D::isBuffer):
43478 (WebCore::GraphicsContext3D::isEnabled):
43479 (WebCore::GraphicsContext3D::isFramebuffer):
43480 (WebCore::GraphicsContext3D::isProgram):
43481 (WebCore::GraphicsContext3D::isRenderbuffer):
43482 (WebCore::GraphicsContext3D::isShader):
43483 (WebCore::GraphicsContext3D::isTexture):
43484 (WebCore::GraphicsContext3D::lineWidth):
43485 (WebCore::GraphicsContext3D::linkProgram):
43486 (WebCore::GraphicsContext3D::pixelStorei):
43487 (WebCore::GraphicsContext3D::polygonOffset):
43488 (WebCore::GraphicsContext3D::readPixels):
43489 (WebCore::GraphicsContext3D::releaseShaderCompiler):
43490 (WebCore::GraphicsContext3D::renderbufferStorage):
43491 (WebCore::GraphicsContext3D::sampleCoverage):
43492 (WebCore::GraphicsContext3D::scissor):
43493 (WebCore::GraphicsContext3D::shaderSource):
43494 (WebCore::GraphicsContext3D::stencilFunc):
43495 (WebCore::GraphicsContext3D::stencilFuncSeparate):
43496 (WebCore::GraphicsContext3D::stencilMask):
43497 (WebCore::GraphicsContext3D::stencilMaskSeparate):
43498 (WebCore::GraphicsContext3D::stencilOp):
43499 (WebCore::GraphicsContext3D::stencilOpSeparate):
43500 (WebCore::GraphicsContext3D::texParameterf):
43501 (WebCore::GraphicsContext3D::texParameteri):
43502 (WebCore::GraphicsContext3D::uniform1f):
43503 (WebCore::GraphicsContext3D::uniform1fv):
43504 (WebCore::GraphicsContext3D::uniform2f):
43505 (WebCore::GraphicsContext3D::uniform2fv):
43506 (WebCore::GraphicsContext3D::uniform3f):
43507 (WebCore::GraphicsContext3D::uniform3fv):
43508 (WebCore::GraphicsContext3D::uniform4f):
43509 (WebCore::GraphicsContext3D::uniform4fv):
43510 (WebCore::GraphicsContext3D::uniform1i):
43511 (WebCore::GraphicsContext3D::uniform1iv):
43512 (WebCore::GraphicsContext3D::uniform2i):
43513 (WebCore::GraphicsContext3D::uniform2iv):
43514 (WebCore::GraphicsContext3D::uniform3i):
43515 (WebCore::GraphicsContext3D::uniform3iv):
43516 (WebCore::GraphicsContext3D::uniform4i):
43517 (WebCore::GraphicsContext3D::uniform4iv):
43518 (WebCore::GraphicsContext3D::uniformMatrix2fv):
43519 (WebCore::GraphicsContext3D::uniformMatrix3fv):
43520 (WebCore::GraphicsContext3D::uniformMatrix4fv):
43521 (WebCore::GraphicsContext3D::useProgram):
43522 (WebCore::GraphicsContext3D::validateProgram):
43523 (WebCore::GraphicsContext3D::vertexAttrib1f):
43524 (WebCore::GraphicsContext3D::vertexAttrib1fv):
43525 (WebCore::GraphicsContext3D::vertexAttrib2f):
43526 (WebCore::GraphicsContext3D::vertexAttrib2fv):
43527 (WebCore::GraphicsContext3D::vertexAttrib3f):
43528 (WebCore::GraphicsContext3D::vertexAttrib3fv):
43529 (WebCore::GraphicsContext3D::vertexAttrib4f):
43530 (WebCore::GraphicsContext3D::vertexAttrib4fv):
43531 (WebCore::GraphicsContext3D::vertexAttribPointer):
43532 (WebCore::GraphicsContext3D::viewport):
43533 (WebCore::GraphicsContext3D::getBooleanv):
43534 (WebCore::GraphicsContext3D::getBufferParameteriv):
43535 (WebCore::GraphicsContext3D::getFloatv):
43536 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
43537 (WebCore::GraphicsContext3D::getIntegerv):
43538 (WebCore::GraphicsContext3D::getProgramiv):
43539 (WebCore::GraphicsContext3D::getProgramInfoLog):
43540 (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
43541 (WebCore::GraphicsContext3D::getShaderiv):
43542 (WebCore::GraphicsContext3D::getShaderInfoLog):
43543 (WebCore::GraphicsContext3D::getShaderSource):
43544 (WebCore::GraphicsContext3D::getTexParameterfv):
43545 (WebCore::GraphicsContext3D::getTexParameteriv):
43546 (WebCore::GraphicsContext3D::getUniformfv):
43547 (WebCore::GraphicsContext3D::getUniformiv):
43548 (WebCore::GraphicsContext3D::getUniformLocation):
43549 (WebCore::GraphicsContext3D::getVertexAttribfv):
43550 (WebCore::GraphicsContext3D::getVertexAttribiv):
43551 (WebCore::GraphicsContext3D::getVertexAttribOffset):
43552 (WebCore::GraphicsContext3D::texImage2D):
43553 (WebCore::GraphicsContext3D::texSubImage2D):
43554 (WebCore::GraphicsContext3D::createBuffer):
43555 (WebCore::GraphicsContext3D::createFramebuffer):
43556 (WebCore::GraphicsContext3D::createProgram):
43557 (WebCore::GraphicsContext3D::createRenderbuffer):
43558 (WebCore::GraphicsContext3D::createShader):
43559 (WebCore::GraphicsContext3D::createTexture):
43560 (WebCore::GraphicsContext3D::deleteBuffer):
43561 (WebCore::GraphicsContext3D::deleteFramebuffer):
43562 (WebCore::GraphicsContext3D::deleteProgram):
43563 (WebCore::GraphicsContext3D::deleteRenderbuffer):
43564 (WebCore::GraphicsContext3D::deleteShader):
43565 (WebCore::GraphicsContext3D::deleteTexture):
43566 (WebCore::GraphicsContext3D::sizeInBytes):
43567 (WebCore::GraphicsContext3D::synthesizeGLError):
43568 (WebCore::GraphicsContext3D::getImageData):
43570 2010-02-25 Pavel Feldman <pfeldman@chromium.org>
43572 Reviewed by Timothy Hatcher.
43574 Web Inspector: Swap images for activate and deactivate breakpoints.
43576 https://bugs.webkit.org/show_bug.cgi?id=35383
43579 * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png.
43580 * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png.
43581 * inspector/front-end/WebKit.qrc:
43582 * inspector/front-end/inspector.css:
43584 2010-02-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
43586 Reviewed by Xan Lopez.
43588 Go back on symlink resolution if we are loading the flash plugin,
43589 and the path contains /netscape/, following what Chromium does.
43591 Thanks to Evan Martin for the help on this!
43593 * plugins/gtk/PluginPackageGtk.cpp:
43594 (WebCore::PluginPackage::load):
43596 2010-02-25 Pavel Feldman <pfeldman@chromium.org>
43598 Reviewed by Timothy Hatcher.
43600 Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh.
43602 https://bugs.webkit.org/show_bug.cgi?id=35232
43604 * inspector/front-end/Panel.js:
43605 (WebInspector.Panel.prototype.canShowSourceLine):
43606 (WebInspector.Panel.prototype.showSourceLine):
43607 * inspector/front-end/ResourcesPanel.js:
43608 (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
43609 (WebInspector.ResourcesPanel.prototype.showSourceLine):
43610 * inspector/front-end/Script.js:
43611 (WebInspector.Script):
43612 * inspector/front-end/ScriptView.js:
43613 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
43614 * inspector/front-end/ScriptsPanel.js:
43615 (WebInspector.ScriptsPanel.prototype.show):
43616 (WebInspector.ScriptsPanel.prototype.get searchableViews):
43617 (WebInspector.ScriptsPanel.prototype.addScript):
43618 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
43619 (WebInspector.ScriptsPanel.prototype.addBreakpoint):
43620 (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
43621 (WebInspector.ScriptsPanel.prototype.reset):
43622 (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
43623 (WebInspector.ScriptsPanel.prototype.showSourceLine):
43624 (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
43625 (WebInspector.ScriptsPanel.prototype.showView):
43626 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
43627 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
43628 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
43629 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
43630 * inspector/front-end/SourceView.js:
43631 (WebInspector.SourceView.prototype._addBreakpoint):
43632 * inspector/front-end/inspector.js:
43633 (WebInspector.documentClick.followLink):
43634 (WebInspector.documentClick):
43635 (WebInspector._choosePanelToShowSourceLine):
43636 (WebInspector.canShowSourceLine):
43637 (WebInspector.showSourceLine):
43639 2010-02-25 Ben Murdoch <benm@google.com>
43641 Reviewed by Kenneth Rohde Christiansen.
43643 The target element of a Touch should be the target where that touch originated, not where it is now.
43644 https://bugs.webkit.org/show_bug.cgi?id=34585
43646 Currently the target of a touch is set to the resulting node of the hit test where the touch currently
43647 is. This does not match the behavior of iPhone or Android. This patch uses a hashmap on the EventHandler
43648 to keep track of the target element when a touch is first started. This target is then used as the target
43649 for subsequent touches with the same id. This matches observed behavior on iPhone and Android.
43652 fast/events/touch/touch-target.html: Added.
43653 fast/events/touch/basic-single-touch-events.html: Updated.
43655 * page/EventHandler.cpp:
43656 (WebCore::EventHandler::handleTouchEvent): Store the originating target element of a touch in a hashmap
43657 so that we can reuse that target for future events caused by that touch. This matches observed behavior
43658 on iPhone and Android.
43659 * page/EventHandler.h: Add hashmap as a member.
43660 * platform/PlatformTouchPoint.h:
43661 (WebCore::PlatformTouchPoint::id): Store the touch point id as unsigned.
43662 * platform/qt/PlatformTouchPointQt.cpp:
43663 (WebCore::PlatformTouchPoint::PlatformTouchPoint): Cast platform touch id from signed to unsigned. Qt API
43664 docs state that it will always be >= 0.
43666 2010-02-24 Antonio Gomes <tonikitoo@webkit.org>
43668 Reviewed by Simon Fraser.
43669 Patch by Antonio Gomes <tonikitoo@webkit.org>
43671 Add a convenient center() method to IntRect
43672 https://bugs.webkit.org/show_bug.cgi?id=35346
43674 As it is a convenience method, and implemention is
43675 based on FloatRect's one, patch does not provide a
43678 * platform/graphics/IntRect.h:
43679 (WebCore::IntRect::center):
43681 2010-02-25 Andrey Kosyakov <caseq@chromium.org>
43683 Reviewed by Pavel Feldman.
43685 Fake workers implementation that simulates workers using iframe and timer,
43686 needed to support workers debugging. Also, a facility to inject scripts into
43687 inspected page upon load.
43688 https://bugs.webkit.org/show_bug.cgi?id=35148
43691 * WebCore.vcproj/WebCore.vcproj:
43692 * inspector/InspectorBackend.cpp:
43693 (WebCore::InspectorBackend::addScriptToEvaluateOnLoad):
43694 (WebCore::InspectorBackend::removeAllScriptsToEvaluateOnLoad):
43695 * inspector/InspectorBackend.h:
43696 * inspector/InspectorBackend.idl:
43697 * inspector/InspectorController.cpp:
43698 (WebCore::InspectorController::didCommitLoad):
43699 (WebCore::InspectorController::addScriptToEvaluateOnLoad):
43700 (WebCore::InspectorController::removeAllScriptsToEvaluateOnLoad):
43701 * inspector/InspectorController.h:
43702 * inspector/front-end/InjectedFakeWorker.js: Added.
43703 (InjectedFakeWorker.Worker):
43704 (InjectedFakeWorker.FakeWorker):
43705 (InjectedFakeWorker.FakeWorker.prototype.postMessage):
43706 (InjectedFakeWorker.FakeWorker.prototype.terminate):
43707 (InjectedFakeWorker.FakeWorker.prototype._onmessageWrapper):
43708 (InjectedFakeWorker.FakeWorker.prototype._dispatchMessage):
43709 (InjectedFakeWorker.FakeWorker.prototype._handleException):
43710 (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
43711 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.handler):
43712 (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
43713 (InjectedFakeWorker.FakeWorker.prototype._importScripts):
43714 (InjectedFakeWorker.FakeWorker.prototype._loadScript):
43715 (InjectedFakeWorker.URL):
43716 (InjectedFakeWorker.URL.prototype.urlRegEx.split):
43717 (InjectedFakeWorker.URL.prototype.mockLocation):
43718 (InjectedFakeWorker.URL.prototype.completeWith):
43719 (InjectedFakeWorker.URL.prototype.sameOrigin):
43720 (InjectedFakeWorker.DOMCoreException.formatError):
43721 (InjectedFakeWorker.DOMCoreException):
43722 (InjectedFakeWorker.noop):
43723 * inspector/front-end/InspectorBackendStub.js:
43724 (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource):
43725 (.WebInspector.InspectorBackendStub.prototype.addScriptToEvaluateOnLoad):
43726 (.WebInspector.InspectorBackendStub.prototype.removeAllScriptsToEvaluateOnLoad):
43727 * inspector/front-end/WebKit.qrc:
43728 * inspector/front-end/inspector.html:
43730 2010-02-24 Nicholas Young <nicholas.young@nokia.com>
43732 Reviewed by Eric Carlson.
43734 Add mediaPlayerOwningDocument() to MediaPlayerClient.
43735 https://bugs.webkit.org/show_bug.cgi?id=35374
43737 No new tests. These are interface changes only.
43739 * html/HTMLMediaElement.cpp:
43740 (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Implementation for media element.
43741 * html/HTMLMediaElement.h:
43742 * platform/graphics/MediaPlayer.h:
43743 (WebCore::MediaPlayerClient::mediaPlayerOwningDocument): New virtual method.
43745 2010-02-24 Andreas Kling <andreas.kling@nokia.com>
43747 Reviewed by Kenneth Rohde Christiansen.
43749 Optimized Font::normalizeSpaces() by caching the String::characters()
43750 instead of repeatedly calling operator[]
43752 https://bugs.webkit.org/show_bug.cgi?id=35336
43754 * platform/graphics/Font.cpp:
43755 (WebCore::Font::normalizeSpaces):
43757 2010-02-24 Jungshik Shin <jshin@chromium.org>
43759 Reviewed by David Levin.
43761 [Chromium] Traditional Chinese Chrome on Windows should use PMingLiu instead of Simsun for Han characters
43762 https://bugs.webkit.org/show_bug.cgi?id=35319
43764 No visible change in the layout test.
43766 * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
43769 2010-02-24 Anthony Ricaud <rik@webkit.org>
43771 Reviewed by Pavel Feldman.
43773 Web Inspector: Reduce the timer to show the eval popover
43774 https://bugs.webkit.org/show_bug.cgi?id=35344
43776 * inspector/front-end/SourceFrame.js:
43777 (WebInspector.SourceFrame.prototype._mouseMove):
43779 2010-02-24 Jay Campan <jcampan@google.com>
43781 Reviewed by David Levin.
43783 Don't show the autofill popup when the input text is disabled or read only.
43785 Test: manual-tests/chromium/no-autofill-on-readonly.html
43787 https://bugs.webkit.org/show_bug.cgi?id=35129
43789 * src/EditorClientImpl.cpp:
43790 (WebKit::EditorClientImpl::autofill):
43791 * manual-tests/chromium/no-autofill-on-readonly.html: Added.
43793 2010-02-24 Dominic Mazzoni <dmazzoni@chromium.org>
43795 Reviewed by Jeremy Orlow.
43797 Wraps includes of SVG headers so that it's possible to
43798 compile the V8 bindings with SVG disabled, e.g. 'enable_svg=0'.
43799 https://bugs.webkit.org/show_bug.cgi?id=35345
43803 * bindings/v8/V8DOMWrapper.cpp:
43804 * bindings/v8/V8Proxy.cpp:
43805 * bindings/v8/custom/V8CSSValueCustom.cpp:
43806 * bindings/v8/custom/V8DocumentCustom.cpp:
43807 * bindings/v8/custom/V8ElementCustom.cpp:
43808 * bindings/v8/custom/V8EventCustom.cpp:
43809 * bindings/v8/custom/V8SVGElementCustom.cpp:
43811 2010-02-24 Maciej Stachowiak <mjs@apple.com>
43813 Unreviewed build fix.
43817 Include JSC headers as runtime/ instead of JavaScriptCore/
43819 * bindings/js/JSDOMWrapper.h:
43820 * bindings/js/ScriptWrappable.h:
43822 2010-02-24 Maciej Stachowiak <mjs@apple.com>
43824 Reviewed by Oliver Hunt.
43826 Cache JavaScript wrappers inline in DOM nodes
43827 https://bugs.webkit.org/show_bug.cgi?id=35226
43829 <rdar://problem/7664202>
43831 7.4% speedup on Dromaeo DOM Core tests.
43832 2.3% speedup on Hixie DOM Core tests.
43834 This fixes the following things from the last attempt:
43835 - Now builds in both debug and release and passes all tests
43836 - Properly use a WeakGCPtr, not just a raw pointer, in ScriptWrappable
43837 - Properly look in the appropriate per-document or per-world map
43838 - Added an assert that would have caught any of the problems I found
43839 - Handle clearing the inline cache properly in all cases
43841 * bindings/js/JSDOMBinding.cpp:
43842 (WebCore::cacheDOMObjectWrapper): Adjust for name changes.
43843 (WebCore::forgetDOMNode): Clear wrapper pointer.
43844 (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
43845 * bindings/js/JSDOMBinding.h:
43846 (WebCore::Document::getWrapperCache): Inlined.
43847 (WebCore::domObjectWrapperMapFor): Renamed to start with lowercase. Moved to header to inline.
43848 * bindings/js/JSDOMWrapper.h: Added.
43849 (WebCore::DOMObject::DOMObject): Factored this out of JSDOMBinding.h to avoid include
43850 cycle. I think the class should be renamed, I picked a forward-looking header name because
43851 we already have a DOMObject.h
43852 * bindings/js/JSNodeCustom.cpp:
43853 (WebCore::createWrapperInline): Renamed version of original createWrapper.
43854 (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
43855 (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
43856 * bindings/js/JSNodeCustom.h: Added.
43857 (WebCore::getCachedDOMNodeWrapper): Moved from JSDOMBinding.cpp and moved here,
43858 so it could inline everywhere without creating an include cycle. Consider inline
43860 (WebCore::toJS): Moved to header to inline.
43861 * bindings/js/ScriptWrappable.h:
43862 (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
43863 way for JavaScriptCore. (Using a WeakGCPtr).
43864 (WebCore::ScriptWrappable::wrapper):
43865 (WebCore::ScriptWrappable::setWrapper):
43866 (WebCore::ScriptWrappable::clearWrapper):
43867 * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
43868 in the header, not just the impl file, so they can add inlining.
43869 * dom/Node.idl: Add CustomHeader directive.
43871 Add new files to build.
43876 * WebCore.vcproj/WebCore.vcproj:
43877 * WebCore.xcodeproj/project.pbxproj:
43880 2010-02-24 Jochen Eisinger <jochen@chromium.org>
43882 Reviewed by Jeremy Orlow.
43884 Expose Database object of currently active task on the database thread
43885 https://bugs.webkit.org/show_bug.cgi?id=35341
43887 * storage/DatabaseThread.cpp:
43888 (WebCore::DatabaseThread::DatabaseThread):
43889 (WebCore::DatabaseThread::databaseThread):
43890 * storage/DatabaseThread.h:
43891 (WebCore::DatabaseThread::getDatabaseOfCurrentTask):
43893 2010-02-24 Nicholas Young <nicholas.young@nokia.com>
43895 Reviewed by Eric Carlson.
43897 supportsMuting() should be an internal interface between MediaPlayer and MediaPlayerPrivate.
43898 https://bugs.webkit.org/show_bug.cgi?id=35327
43900 No new tests. Refactoring Only.
43902 * html/HTMLMediaElement.cpp:
43903 (WebCore::HTMLMediaElement::setMuted): Do not check supportsMuting()
43904 (WebCore::HTMLMediaElement::updateVolume): Set volume and muted
43905 * platform/graphics/MediaPlayer.cpp:
43906 (WebCore::MediaPlayer::setVolume): Check supportsMuting()
43907 (WebCore::MediaPlayer::setMuted): Check supportsMuting()
43908 * platform/graphics/MediaPlayer.h: Remove supportsMuting()
43910 2010-02-24 Adam Barth <abarth@webkit.org>
43912 Reviewed by Darin Fisher.
43914 [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
43915 https://bugs.webkit.org/show_bug.cgi?id=35205
43917 For clients that want to show a user interface element when JavaScript
43918 was blocked on a page, we need to disambiguate between querying the
43919 client for whether JavaScript is enabled from actually failing to
43920 execute some script.
43922 This patch adds a new FrameLoaderClient callback for when WebCore would
43923 like to execute JavaScript but fails to because JavaScript is disabled.
43925 This patch also touches every client of canExecuteScripts so they can
43926 indicate whether we should make this callback. I was hoping there was
43927 a better choke point, but my first two attempts were wrong in subtle
43928 ways. pkasting points out that this will be easy to screw up in the
43929 future, so it's better to make all the clients be explicit.
43931 * WebCore.PluginHostProcess.exp:
43932 * bindings/ScriptControllerBase.cpp:
43933 (WebCore::ScriptController::canExecuteScripts):
43934 (WebCore::ScriptController::executeScript):
43935 * bindings/js/JSEventListener.cpp:
43936 (WebCore::JSEventListener::handleEvent):
43937 * bindings/js/JSLazyEventListener.cpp:
43938 (WebCore::JSLazyEventListener::initializeJSFunction):
43939 * bindings/js/ScheduledAction.cpp:
43940 (WebCore::ScheduledAction::execute):
43941 * bindings/js/ScriptController.cpp:
43942 (WebCore::ScriptController::bindingRootObject):
43943 (WebCore::ScriptController::windowScriptNPObject):
43944 (WebCore::ScriptController::jsObjectForPluginElement):
43945 (WebCore::ScriptController::executeScriptInWorld):
43946 * bindings/js/ScriptController.h:
43948 * bindings/js/ScriptControllerMac.mm:
43949 (WebCore::ScriptController::windowScriptObject):
43950 * bindings/js/ScriptDebugServer.cpp:
43951 (WebCore::ScriptDebugServer::setJavaScriptPaused):
43952 * bindings/js/ScriptEventListener.cpp:
43953 (WebCore::createAttributeEventListener):
43954 * bindings/js/ScriptState.cpp:
43955 (WebCore::scriptStateFromNode):
43956 * bindings/v8/ScriptController.cpp:
43957 (WebCore::ScriptController::windowScriptNPObject):
43958 (WebCore::ScriptController::createScriptObjectForPluginElement):
43959 * bindings/v8/ScriptController.h:
43961 * bindings/v8/ScriptEventListener.cpp:
43962 (WebCore::createAttributeEventListener):
43963 * bindings/v8/V8Proxy.cpp:
43964 (WebCore::V8Proxy::retrieve):
43965 * dom/ScriptElement.cpp:
43966 (WebCore::ScriptElementData::evaluateScript):
43967 * dom/XMLTokenizerLibxml2.cpp:
43968 (WebCore::XMLTokenizer::startElementNs):
43969 * html/HTMLMediaElement.cpp:
43970 (WebCore::HTMLMediaElement::controls):
43971 * html/HTMLTokenizer.cpp:
43972 (WebCore::HTMLTokenizer::parseTag):
43973 (WebCore::HTMLTokenizer::processToken):
43974 * inspector/InspectorController.cpp:
43975 (WebCore::canPassNodeToJavaScript):
43976 * loader/FrameLoader.cpp:
43977 (WebCore::FrameLoader::isProcessingUserGesture):
43978 (WebCore::FrameLoader::open):
43979 (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
43980 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
43981 * loader/FrameLoaderClient.h:
43982 (WebCore::FrameLoaderClient::didNotAllowScript):
43984 2010-02-24 Adam Barth <abarth@webkit.org>
43986 Reviewed by Darin Fisher.
43988 Add call to FrameLoaderClient::allowPlugins everywhere arePluginsEnabled is called
43989 https://bugs.webkit.org/show_bug.cgi?id=34997
43991 If we want to let the FrameLoaderClient override arePluginsEnabled,
43992 then we need to call out to the FrameLoaderClient every time we read
43995 We don't have testing infrustructure for these changes, which is lame.
43996 I'm supposed to fix that in Bug 33991.
43998 * dom/DOMImplementation.cpp:
43999 (WebCore::DOMImplementation::createDocument):
44000 * loader/MainResourceLoader.cpp:
44001 (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
44002 * loader/PluginDocument.cpp:
44003 (WebCore::PluginTokenizer::writeRawData):
44005 (WebCore::Page::pluginData):
44006 * plugins/MimeType.cpp:
44007 (WebCore::MimeType::enabledPlugin):
44009 2010-02-24 James Robinson <jamesr@chromium.org>
44011 Reviewed by Dmitry Titov.
44013 Do not fire focus events while a modal dialog is up.
44014 https://bugs.webkit.org/show_bug.cgi?id=33962
44016 Modifies the FocusController to check the frame's page's defersLoading() flag before firing blur/focus events.
44017 This flag is set while a modal dialog (like a window.alert or window.confirm) is up. Firing the events causes
44018 assertion failures, since when the dialog is dismissed the PageGroupLoadDeferrer assumes that no script has run.
44020 Manual tests only as DumpRenderTree does not support modal dialogs
44022 * manual-tests/modal-dialog-blur-selfclose.html: Added.
44023 * manual-tests/modal-dialog-blur.html: Added.
44024 * page/FocusController.cpp:
44025 (WebCore::dispatchEventsOnWindowAndFocusedNode):
44027 2010-02-24 Dan Bernstein <mitz@apple.com>
44029 Reviewed by Anders Carlsson.
44031 <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element
44033 Test: fast/parser/fragment-parser.html
44035 Ensure that fragment parsing has no side effects on the fragment’s owner
44038 * html/HTMLParser.cpp:
44039 (WebCore::HTMLParser::insertNode): Don’t call
44040 dispatchDocumentElementAvailable() for fragments.
44041 (WebCore::HTMLParser::handleError): Don’t copy attributes to the owner
44042 document’s <html> and <body> elements when a redundant <html> or <body>
44043 is encountered while parsing a fragment.
44044 (WebCore::HTMLParser::framesetCreateErrorCheck): Don’t change the owner
44045 document’s <body> element’s style when parsing a fragment.
44046 (WebCore::HTMLParser::createHead): Don’t attach the new <head> to the
44047 ownder document of a fragment.
44049 2010-02-24 David Levin <levin@chromium.org>
44051 Reviewed by Darin Adler.
44053 Need to create a CanvasSurface base class for HTMLCanvasElement.
44054 https://bugs.webkit.org/show_bug.cgi?id=35322
44056 This is an initial step in making the OffscreenCanvas object.
44058 No new functionality so no new tests.
44060 * GNUmakefile.am: Added CanvasSurface to the build.
44061 * WebCore.gypi: ditto
44062 * WebCore.pro: ditto
44063 * WebCore.vcproj/WebCore.vcproj: ditto
44064 * WebCore.xcodeproj/project.pbxproj: ditto
44065 * dom/CanvasSurface.cpp: Added.
44066 * dom/CanvasSurface.h: Added.
44067 * html/HTMLCanvasElement.h: Made HTMLCanvasElement inherit from CanvasSurface.
44069 2010-02-24 Peter Kasting <pkasting@google.com>
44071 Reviewed by Adam Barth.
44073 Fix regression in calculating an animated image's start time.
44074 https://bugs.webkit.org/show_bug.cgi?id=35115
44076 * platform/graphics/BitmapImage.cpp:
44077 (WebCore::BitmapImage::startAnimation):
44079 2010-02-24 Dan Bernstein <mitz@apple.com>
44081 Reviewed by Simon Fraser.
44083 <rdar://problem/7682827> Text with :first-letter lingers after being removed
44085 Test: fast/css/first-letter-set-text.html
44087 * rendering/RenderTextFragment.cpp:
44088 (WebCore::RenderTextFragment::setTextInternal): Set this back as the
44089 text node’s renderer, as removing the first letter has resets the node’s
44092 2010-02-24 Ariya Hidayat <ariya.hidayat@gmail.com>
44094 Reviewed by Kenneth Rohde Christiansen.
44096 [Qt] Faster cut-off for rectangle fill without shadow.
44097 https://bugs.webkit.org/show_bug.cgi?id=35337
44099 * platform/graphics/qt/GraphicsContextQt.cpp:
44101 2010-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
44103 Reviewed by nobody, build fix.
44105 [Qt] Corrects build break of QtLauncher on Windows.
44106 The VERSION variable was not set anymore while building in trunk.
44110 2010-02-24 Alexander Pavlov <apavlov@chromium.org>
44112 Reviewed by Pavel Feldman.
44114 Web Inspector: Activate/Deactivate breaks does not look consistent with rest of the toolbar.
44116 Fix style and add the new images to the related file sets.
44117 https://bugs.webkit.org/show_bug.cgi?id=35307
44120 * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png:
44121 * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png:
44122 * inspector/front-end/WebKit.qrc:
44123 * inspector/front-end/inspector.css:
44125 2010-02-24 Xan Lopez <xlopez@igalia.com>
44127 Reviewed by Gustavo Noronha.
44129 Get rid of an extra call to
44130 setNPWindowIfNeeded. updatePluginWidget already calls this for us
44133 * plugins/gtk/PluginViewGtk.cpp:
44134 (WebCore::PluginView::platformStart):
44136 2010-02-24 Xan Lopez <xlopez@igalia.com>
44138 Reviewed by Gustavo Noronha.
44140 Try to sanitize a bit the geometry management of plugins.
44142 Stop doing contradictory things in updatePluginWidget (we were at
44143 the same time pretending the geometry setting was delayed until
44144 ::paint and setting the geometry not once but twice) and just set
44145 it any time the windowRect or clipRect for the plugin has changed.
44147 This is closer to what the Mac port does, and fixes instances of
44148 the plugins not being drawn until the window is resized or
44149 scrolled. Other than that all manual and layout tests seems to
44152 * plugins/gtk/PluginViewGtk.cpp:
44153 (WebCore::PluginView::updatePluginWidget):
44154 (WebCore::PluginView::setNPWindowIfNeeded):
44156 2010-02-23 Geoff Garen <ggaren@apple.com>
44158 Reviewed by Oliver Hunt.
44160 Simplify animation lifetime handling. Previously we manually
44161 determined whether our base element was safe when we unregistered
44162 our listener, now we simply ensure that the base element itself
44163 registers and unregisters the animation listener.
44165 * svg/animation/SVGSMILElement.cpp:
44166 (WebCore::ConditionEventListener::create):
44167 (WebCore::ConditionEventListener::disconnectAnimation):
44168 (WebCore::ConditionEventListener::ConditionEventListener):
44169 (WebCore::ConditionEventListener::operator==):
44170 (WebCore::ConditionEventListener::handleEvent):
44171 (WebCore::SVGSMILElement::eventBaseFor):
44172 (WebCore::SVGSMILElement::connectConditions):
44173 (WebCore::SVGSMILElement::disconnectConditions):
44174 * svg/animation/SVGSMILElement.h:
44176 2010-02-23 Dmitry Titov <dimich@chromium.org>
44178 Reviewed by David Levin.
44180 Chromium: Use V8::TerminateExecution to actually terminate workers.
44181 https://bugs.webkit.org/show_bug.cgi?id=35137
44183 Test: existing fast/workers/stress-js-execution.html which is currently failing
44184 on Mac and Linux bots for Chromium.
44186 * bindings/v8/WorkerContextExecutionProxy.cpp:
44187 (WebCore::WorkerContextExecutionProxy::evaluate):
44188 * bindings/v8/WorkerScriptController.cpp:
44189 (WebCore::WorkerScriptController::forbidExecution):
44191 2010-02-23 Enrica Casucci <enrica@apple.com>
44193 Reviewed by Simon Fraser.
44195 REGRESSION: WebKit crashes when deleting images on blogger.com (34957)
44196 <rdar://problem/7651935>
44197 https://bugs.webkit.org/show_bug.cgi?id=34957
44199 Fixing a regression introduced with revision 53085. Anchor elements should not be considered
44200 in editable content when calculating the position in the parent before the node.
44202 Test: editing/execCommand/delete-image-in-anchor.html
44204 * dom/Position.cpp:
44205 (WebCore::Position::getInlineBoxAndOffset):
44207 2010-02-23 Tony Chang <tony@chromium.org>
44209 Reviewed by Eric Seidel.
44211 https://bugs.webkit.org/show_bug.cgi?id=34634
44212 Pasting a list into the middle of another list item should split the target
44213 list item into two separate list items. This matches the behavior in other
44216 Test: editing/pasteboard/paste-list-004.html
44218 * editing/ReplaceSelectionCommand.cpp:
44219 (WebCore::ReplaceSelectionCommand::insertAsListItems):
44221 2010-02-23 Brady Eidson <beidson@apple.com>
44223 Reviewed by Tim Hatcher and Pavel Feldman.
44225 Regression (r55107) - WebInspector docking is busted.
44226 https://bugs.webkit.org/show_bug.cgi?id=35274
44228 * inspector/InspectorController.cpp:
44229 (WebCore::InspectorController::canAttachWindow): Use the minimum height for this calculation,
44230 not the preferred height.
44231 (WebCore::InspectorController::attachWindow): attachWindow() shouldn't decide the policy, as it is
44232 often called partway through the show or dock procedure after some of the initial conditions have
44233 changed. Let the front-end itself and the InspectorClient's make the policy decision at the start
44234 of the show/dock operation.
44236 * inspector/InspectorFrontendHost.cpp:
44237 (WebCore::InspectorFrontendHost::canAttachWindow):
44238 * inspector/InspectorFrontendHost.h:
44239 * inspector/InspectorFrontendHost.idl:
44241 * inspector/front-end/inspector.js:
44242 (WebInspector.toggleAttach): Before attaching, ask the front-end-host if attaching is allowed.
44244 2010-02-23 Mark Rowe <mrowe@apple.com>
44246 Reviewed by Geoff Garen.
44248 <http://webkit.org/b/35287> ImageSourceCG::frameIsCompleteAtIndex returns false for all frames until image has completed loading
44250 CGImageSourceGetStatusAtIndex claims that all frames of a multi-frame image are incomplete when we've not yet received the
44251 complete data for an image that is using an incremental data source (<rdar://problem/7679174>). We work around this by
44252 special-casing all frames except the last in an image and treating them as complete if they are present and reported as
44253 being incomplete. We do this on the assumption that loading new data can only modify the existing last frame or append new
44254 frames. The last frame is only treated as being complete if the image source reports it as such. This ensures that it is
44255 truly the last frame of the image rather than just the last that we currently have data for.
44257 * platform/graphics/cg/ImageSourceCG.cpp:
44258 (WebCore::ImageSource::frameIsCompleteAtIndex):
44260 2010-02-23 Enrica Casucci <enrica@apple.com>
44262 Reviewed by Darin Adler.
44264 Crash in createContextualFragment when inserting a list in a non HTML document.
44265 <rdar://problem/7666670>
44266 https://bugs.webkit.org/show_bug.cgi?id=35305
44268 createFragmentFromMarkup did not handle correctly the case where documentElement is
44269 not an HTMLElement. The static cast to HTMLElement was causing createContextualFragment to
44272 Test: editing/execCommand/insert-list-xml.xhtml
44275 (WebCore::Element::createContextualFragment): Added.
44276 * dom/Element.h: Added createContextualFragment virtual function.
44277 * editing/markup.cpp:
44278 (WebCore::createFragmentFromMarkup): Removed static cast to HTMLElement.
44279 * html/HTMLElement.cpp:
44280 (WebCore::HTMLElement::createContextualFragment): Modified to perform only checks
44281 that are specific for an HTMLElement object. The rest of the logic has been moved to the
44282 corresponding method in the Element class.
44284 2010-02-23 Steve Falkenburg <sfalken@apple.com>
44286 Reviewed by Adam Roben.
44288 WebCore should stop throwing away the CGImageSourceRef on Windows to improve GIF performance
44289 https://bugs.webkit.org/show_bug.cgi?id=35309
44291 * platform/graphics/cg/ImageSourceCG.cpp:
44292 (WebCore::ImageSource::clear):
44294 2010-02-23 Leandro Pereira <leandro@profusion.mobi>
44296 Reviewed by Gustavo Noronha Silva.
44298 Changes references of GOwnPtr to reflect their new place.
44299 http://webkit.org/b/35084
44301 * WebCore/platform/KURL.cpp
44302 * WebCore/platform/TextEncoding.cpp:
44303 * WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp:
44304 * WebCore/platform/text/gtk/TextCodecGtk.cpp:
44306 2010-02-23 Brady Eidson <beidson@apple.com>
44308 Reviewed by Alexey Proskuryakov.
44310 HTTP 307 after a 303 after a POST re-sends POST data from the original request.
44311 <rdar://problem/7390251> and https://bugs.webkit.org/show_bug.cgi?id=31410
44313 Test: http/tests/loading/307-after-303-after-post.html
44315 Remember the last HTTP method send out during a redirect chain for a resource handle:
44316 * platform/network/ResourceHandle.cpp:
44317 (WebCore::ResourceHandle::lastHTTPMethod):
44318 * platform/network/ResourceHandle.h:
44319 * platform/network/ResourceHandleInternal.h:
44320 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
44322 Refer to the last HTTP method used instead of the original method:
44323 * platform/network/cf/ResourceHandleCFNet.cpp:
44324 (WebCore::willSendRequest):
44325 (WebCore::ResourceHandle::willSendRequest):
44326 * platform/network/mac/ResourceHandleMac.mm:
44327 (WebCore::ResourceHandle::willSendRequest):
44328 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
44330 2010-02-23 Crystal Zhang <haizhang@rim.com>
44332 Unreviewed build fix.
44334 Fix build error when enable plugin proxy: 'toRenderEmbeddedObject' identifier not found.
44335 As RenderEmbeddedObject inherits RenderPartObject and 'toRenderEmbeddedObject' belongs
44338 * html/HTMLMediaElement.cpp:
44340 2010-02-23 Evan Martin <evan@chromium.org>
44342 Reviewed by Jeremy Orlow.
44344 [chromium] fix previous SVG-disabling patch
44345 https://bugs.webkit.org/show_bug.cgi?id=35298
44347 * WebCore.gypi: rename variable
44348 * WebCore.gyp/WebCore.gyp: actually use the variable
44350 2010-02-23 Michael Lotz <mmlr@mlotz.ch>
44352 Reviewed by David Levin.
44354 [Haiku] Fix conversion from BString to String
44355 https://bugs.webkit.org/show_bug.cgi?id=35082
44357 The previous patch to this file was broken (sorry). First of all,
44358 the conversion from UTF8 was accidentally removed. Second, for
44359 empty strings, we need to point the implementation at StringImpl::empty().
44361 Covered by existing tests.
44363 * platform/text/haiku/StringHaiku.cpp:
44364 (WebCore::String::String):
44366 2010-02-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
44368 Reviewed by Eric Carlson.
44370 [Qt] Prevent the media backend from handling non-audio or -video mime types
44372 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
44374 2010-02-23 Evan Martin <evan@chromium.org>
44376 Reviewed by Jeremy Orlow.
44378 [chromium] Allow building without SVG
44379 https://bugs.webkit.org/show_bug.cgi?id=31522
44381 * WebCore.gyp/WebCore.gyp, WebCore.gypi: test enable_svg flag.
44382 * bindings/v8/custom/V8SVGDocumentCustom.cpp,
44383 bindings/v8/custom/V8SVGPathSegCustom.cpp: test ENABLE(SVG).
44385 2010-02-23 Leandro Pereira <leandro@profusion.mobi>
44387 Reviewed by Gustavo Noronha Silva.
44389 Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
44391 http://webkit.org/b/35084
44393 * WebCore/platform/gtk/DataObjectGtk.h:
44394 * WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
44396 2010-02-23 Ariya Hidayat <ariya.hidayat@gmail.com>
44398 Reviewed by Kenneth Rohde Christiansen.
44400 [Qt] Faster cut-off for rectangle drawing without shadow.
44401 https://bugs.webkit.org/show_bug.cgi?id=35267
44403 * platform/graphics/qt/GraphicsContextQt.cpp:
44404 (WebCore::GraphicsContext::drawRect):
44406 2010-02-23 Steve Block <steveblock@google.com>
44408 Reviewed by Jeremy Orlow.
44410 Removes redundant Settings::setGeolocationEnabled and Settings::geolocationEnabled
44411 https://bugs.webkit.org/show_bug.cgi?id=35242
44413 No new tests, removing dead code only.
44415 * page/Settings.cpp:
44418 2010-02-23 Ben Murdoch <benm@google.com>
44420 Reviewed by Eric Seidel.
44422 pageX/Y co-ordinates of TouchEvent should be 0,0
44423 https://bugs.webkit.org/show_bug.cgi?id=35239
44425 The co-ordinates attached to a touch event are not used for tracking touch motion, rather the co-ordinates attached to Touches within the touch event should be used. Set the co-ordinates on the event itself to 0 to avoid confusion and match observed iPhone behavior.
44427 * page/EventHandler.cpp:
44428 (WebCore::EventHandler::handleTouchEvent): Set the pageX/Y and screenX/Y co-ordinates attached to the touch event to 0,0 to match observed behavior on the iPhone.
44429 * page/EventHandler.h: Remove now unused members m_firstTouchScreenPos and m_firstTouchPagePos.
44431 2010-02-23 Stephan Aßmus <superstippi@gmx.de>
44433 Reviewed by Eric Seidel.
44435 [Haiku] Various improvements to EventHandlerHaiku.
44436 https://bugs.webkit.org/show_bug.cgi?id=34685
44438 Covered by existing tests.
44440 Fix the build by not including PlatformScrollBar.h.
44442 * page/haiku/EventHandlerHaiku.cpp:
44443 (WebCore::isKeyboardOptionTab):
44444 Use the correct keycode for tab keys.
44445 (WebCore::EventHandler::focusDocumentView):
44446 Use proper locking. In any case, Haiku doesn't append platform
44447 widgets to WebCore widgets. But if it did, this implementation
44449 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
44451 (WebCore::EventHandler::eventActivatedView):
44452 Removed notImplemented() and added note.
44453 (WebCore::EventHandler::passMousePressEventToSubframe):
44455 (WebCore::EventHandler::passMouseMoveEventToSubframe):
44457 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
44459 (WebCore::EventHandler::accessKeyModifiers):
44462 2010-02-23 Tony Chang <tony@chromium.org>
44465 Revert r55135 because the layout test is failing on all the bots.
44466 https://bugs.webkit.org/show_bug.cgi?id=34634
44468 * editing/ReplaceSelectionCommand.cpp:
44469 (WebCore::ReplaceSelectionCommand::insertAsListItems):
44471 2010-02-17 Steve Block <steveblock@google.com>
44473 Reviewed by Ariya Hidayat.
44475 Adds cache to store Geolocation positions between browser sessions.
44476 https://bugs.webkit.org/show_bug.cgi?id=34084
44478 This is required to fully implement the Geolocation maximumAge property.
44481 No new tests, will add tests for maximumAge once complete.
44483 * Android.mk: Modified. Added GeolocationPositionCache.cpp
44484 * GNUmakefile.am: Modified. Added GeolocationPositionCache.[cpp|h]
44485 * WebCore.gypi: Modified. Added GeolocationPositionCache.[cpp|h]
44486 * WebCore.pro: Modified. Added GeolocationPositionCache.[cpp|h]
44487 * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationPositionCache.[cpp|h]
44488 * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationPositionCache.[cpp|h]
44489 * page/GeolocationPositionCache.cpp: Added.
44490 (WebCore::GeolocationPositionCache::GeolocationPositionCache):
44491 (WebCore::GeolocationPositionCache::~GeolocationPositionCache):
44492 (WebCore::GeolocationPositionCache::setCachedPosition):
44493 (WebCore::GeolocationPositionCache::cachedPosition):
44494 (WebCore::GeolocationPositionCache::setDatabasePath):
44495 (WebCore::GeolocationPositionCache::readFromDB):
44496 (WebCore::GeolocationPositionCache::writeToDB):
44497 * page/GeolocationPositionCache.h: Added.
44499 2010-02-23 Yuta Kitamura <yutak@chromium.org>
44501 Reviewed by Dan Bernstein.
44503 Fix alignment of vertical-align: text-bottom inside an inline-block.
44505 This patch is based on a fix provided by Takahito Hirano.
44507 display: inline-block + vertical-align: text-bottom causes misalignment.
44508 https://bugs.webkit.org/show_bug.cgi?id=30846
44510 Test: fast/inline-block/inline-block-vertical-align-2.html
44512 * rendering/RenderBoxModelObject.cpp:
44513 (WebCore::RenderBoxModelObject::verticalPosition): Fixed vpos calculation.
44514 We cannot cut corners for inline blocks, since they may have their own
44517 2010-02-23 Steve Block <steveblock@google.com>
44519 Reviewed by David Levin.
44521 Sets default values of V8 runtime enabler flags to match behavior with JSC
44522 https://bugs.webkit.org/show_bug.cgi?id=35095
44524 No new tests, modifies a Chromium feature only.
44526 * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
44527 * storage/Database.cpp: Modified. Sets database flag default to 'on'.
44529 2010-02-23 Stephan Aßmus <superstippi@gmx.de>
44531 Reviewed by Eric Seidel.
44533 [Haiku] Fix various issues in keyboard event generation.
44534 https://bugs.webkit.org/show_bug.cgi?id=34685
44536 Covered by existing tests.
44538 Fixed backspace keycode.
44539 Fixed using the appropriate fields from the Haiku event for mapping
44540 to the VK_* codes and added mapping a great deal more codes.
44541 Added extraction of modifier key flags.
44542 Completed implementation of disambiguateKeyDownEvent()
44543 Implemented currentCapsLockState().
44545 * platform/haiku/PlatformKeyboardEventHaiku.cpp:
44546 (WebCore::keyIdentifierForHaikuKeyCode):
44547 (WebCore::windowsKeyCodeForKeyEvent):
44548 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
44549 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
44550 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
44552 2010-02-23 Steve Block <steveblock@google.com>
44554 Reviewed by Darin Adler.
44556 Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame
44557 https://bugs.webkit.org/show_bug.cgi?id=34962
44559 These methods are required so that a Geolocation object can cancel an
44560 asynchronous permission request. This allows the chrome client to cancel
44561 any UI it is showing for the permission request.
44563 No new tests, as this is for the purposes of browser UI only.
44565 * loader/EmptyClients.h: Modified
44566 (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): Added
44567 * page/Chrome.cpp: Modified.
44568 (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): Added
44569 * page/Chrome.h: Modified.
44570 * page/ChromeClient.h: Modified.
44571 (WebCore::ChromeClient::cancelGeolocationPermissionRequestForFrame): Added
44572 * page/Geolocation.cpp: Modified.
44573 (WebCore::Geolocation::disconnectFrame): Modified. Call cancelGeolocationPermissionRequestForFrame
44575 2010-02-23 Tony Chang <tony@chromium.org>
44577 Reviewed by Eric Seidel.
44579 https://bugs.webkit.org/show_bug.cgi?id=34634
44580 Pasting a list into the middle of another list item should split the target
44581 list item into two separate list items. This matches the behavior in other
44584 Test: editing/pasteboard/paste-list-004.html
44586 * editing/ReplaceSelectionCommand.cpp:
44587 (WebCore::ReplaceSelectionCommand::insertAsListItems):
44589 2010-02-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
44591 Reviewed by Laszlo Gombos.
44593 [Qt] Correct build problems while building QtWebKit inside Qt.
44594 https://bugs.webkit.org/show_bug.cgi?id=34975
44596 * WebCore.pro: Change the condition !standalone_package to !QTDIR_build
44598 2010-02-23 Noam Rosenthal <noam.rosenthal@nokia.com>
44600 Reviewed by Ariya Hidayat.
44602 [Qt] Connect video with accelerated compositing
44603 https://bugs.webkit.org/show_bug.cgi?id=35276
44605 MediaControlPrivate and GraphicsLayer are patched together via
44606 a shared PlatformLayer (QGraphicsItem). This patch makes sure that the
44607 QGraphicsVideoItem from MediaControl becomes part of the scene
44608 associsated with GraphicsLayer
44610 Test: http://double.co.nz/video_test/test1.html with AC turned on
44612 * platform/graphics/qt/GraphicsLayerQt.cpp:
44613 (WebCore::GraphicsLayerQtImpl::): mediaLayer member
44614 (WebCore::GraphicsLayerQtImpl::opaqueArea): video is opaque
44615 (WebCore::GraphicsLayerQtImpl::paint): don't paint video
44616 (WebCore::GraphicsLayerQtImpl::flushChanges): flush mediaLayer
44617 (WebCore::GraphicsLayerQt::setContentsToMedia): notify
44618 * platform/graphics/qt/GraphicsLayerQt.h: reimp setContentsToMedia
44619 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
44620 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): m_compositing
44621 (WebCore::MediaPlayerPrivate::paint): don't paint if compositing
44622 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
44623 reimp from MediaPlayerPrivateInterface to support AC
44624 (WebCore::MediaPlayerPrivate::platformLayer): ditto
44625 * platform/graphics/qt/MediaPlayerPrivateQt.h:
44626 (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): ditto
44628 2010-02-23 Stephan Aßmus <superstippi@gmx.de>
44630 Reviewed by Eric Seidel.
44632 Fix various issues in PlatformWheelEventHaiku.
44633 https://bugs.webkit.org/show_bug.cgi?id=34685
44635 Covered by existing tests.
44637 Fixed coding style violations.
44638 Synced extracting the correct coordinates with Haiku WebKit implementation.
44639 Added extracting modifier key flags.
44641 * platform/haiku/PlatformWheelEventHaiku.cpp:
44642 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
44644 2010-02-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
44646 Reviewed by Eric Seidel.
44648 Build fix for PluginView
44649 https://bugs.webkit.org/show_bug.cgi?id=35230
44651 No new tests, build fix only.
44653 * plugins/PluginView.cpp:
44654 * plugins/PluginView.h:
44655 * plugins/PluginViewNone.cpp:
44657 2010-02-23 Kwang Yul Seo <skyul@company100.net>
44659 Reviewed by Eric Seidel.
44661 [BREWMP] Port ScriptController::createScriptInstanceForWidget
44662 https://bugs.webkit.org/show_bug.cgi?id=34413
44664 * bindings/js/ScriptControllerBrew.cpp: Added.
44665 (WebCore::ScriptController::createScriptInstanceForWidget):
44667 2010-02-23 José Millán Soto <jmillan@igalia.com>
44669 Reviewed by Eric Seidel.
44671 [Gtk] Webkit crashes when using orca
44672 https://bugs.webkit.org/show_bug.cgi?id=35169
44674 Made webkit_accessible_text_get_caret_offset check if end selection
44677 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44678 (webkit_accessible_text_get_caret_offset):
44680 2010-02-22 Stephan Aßmus <superstippi@gmx.de>
44682 Reviewed by Eric Seidel.
44684 [Haiku] Implemented PopupMenu support.
44685 https://bugs.webkit.org/show_bug.cgi?id=35078
44687 Covered by existing tests.
44689 The implementation is currently very simple: Added a PopupMenuHaiku
44690 class that derives from a native BPopUpMenu. It attaches a BHandler
44691 derivative to the BApplication (WebCore main thread) which receives
44692 the item invokation and menu hidden events and informs the PopupMenuClient
44695 * platform/PopupMenu.h:
44696 Changed type of m_menu for Haiku.
44697 * platform/haiku/PopupMenuHaiku.cpp:
44698 (WebCore::PopupMenuHandler::PopupMenuHandler):
44699 (WebCore::PopupMenuHandler::MessageReceived):
44700 (WebCore::PopupMenuHaiku::PopupMenuHaiku):
44701 (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
44702 (WebCore::PopupMenuHaiku::show):
44703 (WebCore::PopupMenuHaiku::hide):
44704 (WebCore::PopupMenuHaiku::Hide):
44705 (WebCore::PopupMenu::PopupMenu):
44706 (WebCore::PopupMenu::~PopupMenu):
44707 Removed bogus code.
44708 (WebCore::PopupMenu::show):
44709 Implemented using new PopupMenuHaiku class.
44710 (WebCore::PopupMenu::hide):
44711 Implemented using new PopupMenuHaiku class.
44712 (WebCore::PopupMenu::updateFromElement):
44714 (WebCore::PopupMenu::itemWritingDirectionIsNatural):
44715 Implemented according to Gtk port.
44717 2010-02-22 Stephan Aßmus <superstippi@gmx.de>
44719 Reviewed by Eric Seidel.
44721 Fix various issues in PlatformMouseEventHaiku.
44722 https://bugs.webkit.org/show_bug.cgi?id=34685
44724 Covered by existing tests.
44726 Mapping Haiku button constants (bit field) to WebCore buttons was broken.
44727 Extracting event time was broken (supposed to be in seconds).
44728 Wrong coordinate was being extracted, needs to be content local.
44729 Added extracting modifier key flags.
44731 * platform/haiku/PlatformMouseEventHaiku.cpp:
44732 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
44734 2010-02-22 Stephan Aßmus <superstippi@gmx.de>
44736 Reviewed by Eric Seidel.
44738 [Haiku] Implement creating and filling platform gradients.
44739 https://bugs.webkit.org/show_bug.cgi?id=34683
44741 Covered by existing tests.
44743 * platform/graphics/Gradient.h:
44744 Typedef PlatformGradient to BGradient
44745 * platform/graphics/haiku/GradientHaiku.cpp:
44746 (WebCore::Gradient::platformDestroy):
44747 Delete the cached BGradient object.
44748 (WebCore::Gradient::platformGradient):
44749 Create a BGradient object according to the type of Gradient.
44750 Return the cached object.
44751 (WebCore::Gradient::fill):
44752 use BView API to fill with the platform gradient.
44754 2010-02-22 Stephan Aßmus <superstippi@gmx.de>
44756 Reviewed by Eric Seidel.
44758 Build fix for debug builds of GlyphPageTreeNode.cpp
44759 https://bugs.webkit.org/show_bug.cgi?id=34528
44761 Covered by existing tests.
44763 * platform/graphics/GlyphPageTreeNode.cpp:
44764 include <stdio.h> since printf() is used if NDEBUG is not defined.
44766 2010-02-22 Nate Chapin <japhet@chromium.org>
44768 Unreviewed, Chromium build fix.
44770 Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements.
44772 CodeGeneratorV8.pm was relying on HasOverridingNameGetter to hint
44773 that a custom named getter was needed. That hint was removed in
44774 http://trac.webkit.org/changeset/55104.
44776 * bindings/scripts/CodeGeneratorV8.pm:
44778 2010-02-22 Alexey Proskuryakov <ap@apple.com>
44780 Rubber-stamped by Geoff Garen.
44782 Rename RuntimeObjectImp to RuntimeObject.
44784 * WebCore.PluginHostProcess.exp:
44785 * bindings/js/JSPluginElementFunctions.cpp:
44786 (WebCore::getRuntimeObject):
44787 (WebCore::runtimeObjectPropertyGetter):
44788 (WebCore::runtimeObjectCustomGetOwnPropertySlot):
44789 (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
44790 (WebCore::runtimeObjectCustomPut):
44791 * bindings/objc/WebScriptObject.mm:
44792 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
44793 * bridge/c/c_utility.cpp:
44794 (JSC::Bindings::convertValueToNPVariant):
44795 * bridge/jni/jni_jsobject.mm:
44796 (JavaJSObject::convertValueToJObject):
44797 * bridge/jni/jsc/JNIUtilityPrivate.cpp:
44798 (JSC::Bindings::convertValueToJValue):
44799 * bridge/jsc/BridgeJSC.cpp:
44800 (JSC::Bindings::Instance::createRuntimeObject):
44801 (JSC::Bindings::Instance::newRuntimeObject):
44802 * bridge/jsc/BridgeJSC.h:
44803 * bridge/objc/objc_runtime.mm:
44804 (JSC::Bindings::callObjCFallbackObject):
44805 * bridge/qt/qt_instance.cpp:
44806 (JSC::Bindings::QtRuntimeObject::markChildren):
44808 (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
44809 (JSC::Bindings::QtInstance::getInstance):
44810 (JSC::Bindings::QtInstance::newRuntimeObject):
44811 * bridge/qt/qt_instance.h:
44812 * bridge/qt/qt_pixmapruntime.cpp:
44813 (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
44815 (JSC::Bindings::QtPixmapInstance::variantFromObject):
44816 (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
44817 * bridge/qt/qt_runtime.cpp:
44818 (JSC::Bindings::valueRealType):
44819 * bridge/runtime_method.cpp:
44820 (JSC::callRuntimeMethod):
44821 * bridge/runtime_object.cpp:
44822 (JSC::RuntimeObject::RuntimeObject):
44823 (JSC::RuntimeObject::~RuntimeObject):
44824 (JSC::RuntimeObject::invalidate):
44825 (JSC::RuntimeObject::fallbackObjectGetter):
44826 (JSC::RuntimeObject::fieldGetter):
44827 (JSC::RuntimeObject::methodGetter):
44828 (JSC::RuntimeObject::getOwnPropertySlot):
44829 (JSC::RuntimeObject::getOwnPropertyDescriptor):
44830 (JSC::RuntimeObject::put):
44831 (JSC::RuntimeObject::deleteProperty):
44832 (JSC::RuntimeObject::defaultValue):
44833 (JSC::callRuntimeObject):
44834 (JSC::RuntimeObject::getCallData):
44835 (JSC::callRuntimeConstructor):
44836 (JSC::RuntimeObject::getConstructData):
44837 (JSC::RuntimeObject::getOwnPropertyNames):
44838 (JSC::RuntimeObject::throwInvalidAccessError):
44839 * bridge/runtime_object.h:
44840 * bridge/runtime_root.cpp:
44841 (JSC::Bindings::RootObject::invalidate):
44842 (JSC::Bindings::RootObject::addRuntimeObject):
44843 (JSC::Bindings::RootObject::removeRuntimeObject):
44844 * bridge/runtime_root.h:
44846 2010-02-19 Peter Kasting <pkasting@google.com>
44848 Reviewed by Eric Seidel.
44850 Avoid recursion when trying to get the size of a PNG; it's unnecessary
44851 and in the worst case can lead to heap corruption.
44852 https://bugs.webkit.org/show_bug.cgi?id=35167
44854 Test: fast/images/bad-png.html
44856 * platform/image-decoders/png/PNGImageDecoder.cpp:
44857 (WebCore::PNGImageReader::decode):
44859 2010-02-22 Brady Eidson <beidson@apple.com>
44861 Reviewed by Tim Hatcher.
44863 Disable WebView docking to views that are too small.
44864 <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
44866 * WebCore.base.exp:
44867 * inspector/InspectorController.cpp:
44868 (WebCore::InspectorController::canAttachWindow): Provide a utility for WebKits to make a showWindow()
44869 decision based on if attachment would be allowed or not.
44870 (WebCore::InspectorController::attachWindow): Don't attach if the view is too small to attach to.
44871 * inspector/InspectorController.h:
44873 2010-02-22 Alexey Proskuryakov <ap@apple.com>
44877 * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual!
44879 2010-02-22 Alexey Proskuryakov <ap@apple.com>
44881 Undo a small part of the previous commit.
44883 * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local
44884 variable as RefPtr for safety.
44886 2010-02-22 Alexey Proskuryakov <ap@apple.com>
44888 Reviewed by Darin Adler.
44890 https://bugs.webkit.org/show_bug.cgi?id=35260
44891 Eliminate __apple_runtime_object
44893 No change in functionality, so no tests.
44895 * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it.
44897 * bindings/js/JSHTMLAppletElementCustom.cpp:
44898 * bindings/js/JSHTMLEmbedElementCustom.cpp:
44899 * bindings/js/JSHTMLObjectElementCustom.cpp:
44900 * html/HTMLAppletElement.idl:
44901 * html/HTMLEmbedElement.idl:
44902 * html/HTMLObjectElement.idl:
44903 These objects no longer need overriding name getters, as they no longer intercept the
44904 __apple_runtime_object property.
44906 * bindings/js/JSPluginElementFunctions.cpp:
44907 (WebCore::pluginInstance): This is no longer static. It was used for callPlugin() in
44908 this file, and now it's also used elsewhere when calling plug-in methods.
44909 (WebCore::runtimeObjectGetter): Removed. This function was only used by the intercepting
44912 * bindings/js/JSPluginElementFunctions.h: Export pluginInstance().
44914 * bindings/objc/WebScriptObject.mm:
44915 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
44916 * bridge/runtime_method.cpp:
44917 (JSC::callRuntimeMethod):
44918 Take plug-in element's instance directly, without relying on fake attribute lookup.
44919 One change resulting from this is that RuntimeObjectImp may not be created in some cases -
44920 this code only needs an instance, but the old code had to pass the instance wrapped into
44923 2010-02-22 John Sullivan <sullivan@apple.com>
44925 Reviewed by Tim Hatcher.
44927 https://bugs.webkit.org/show_bug.cgi?id=35256
44928 HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index
44930 No new tests because this code path is not used for JS-initiated changes.
44932 * html/HTMLSelectElement.cpp:
44933 (WebCore::HTMLSelectElement::setSelectedIndexByUser):
44934 Bail out if the to-be-selected index matches the already-selected index.
44936 2010-02-22 Enrica Casucci <enrica@apple.com>
44938 Reviewed by Dan Bernstein.
44940 Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
44941 <rdar://problem/7615758>
44942 https://bugs.webkit.org/show_bug.cgi?id=35060
44944 Test: editing/selection/extend-byline-withfloat.html
44946 * editing/visible_units.cpp:
44947 (WebCore::previousLinePosition): Skip elements with zero height.
44948 (WebCore::nextLinePosition): Skip elements with zero height.
44950 2010-02-22 Nate Chapin <japhet@chromium.org>
44952 Unreviewed, Chromium build fix.
44954 * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge.
44956 2010-02-22 Nate Chapin <japhet@chromium.org>
44958 Reviewed by Dimitri Glazkov.
44960 [V8] Streamline V8 event listener code. Merge all the variants of
44961 V8DOMWrapper::getEventListner() into a single version and generate
44962 addEventListener() and removeEventListener() bindings for all objects
44965 https://bugs.webkit.org/show_bug.cgi?id=35245
44967 * Android.v8bindings.mk:
44969 * bindings/scripts/CodeGeneratorV8.pm:
44970 * bindings/v8/V8DOMWrapper.cpp:
44971 (WebCore::V8DOMWrapper::getEventListener):
44972 * bindings/v8/V8DOMWrapper.h:
44973 * bindings/v8/WorkerContextExecutionProxy.cpp:
44974 * bindings/v8/WorkerContextExecutionProxy.h:
44975 * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Removed.
44976 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Removed.
44977 * bindings/v8/custom/V8DOMWindowCustom.cpp:
44978 (WebCore::V8DOMWindow::addEventListenerCallback):
44979 (WebCore::V8DOMWindow::removeEventListenerCallback):
44980 * bindings/v8/custom/V8EventSourceCustom.cpp: Removed.
44981 * bindings/v8/custom/V8MessagePortCustom.cpp:
44982 * bindings/v8/custom/V8NodeCustom.cpp:
44983 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
44984 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Removed.
44985 * bindings/v8/custom/V8WebSocketCustom.cpp:
44986 * bindings/v8/custom/V8WorkerContextCustom.cpp:
44987 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
44988 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
44989 * dom/MessagePort.idl:
44991 * loader/appcache/DOMApplicationCache.idl:
44992 * notifications/Notification.idl:
44993 * page/EventSource.idl:
44994 * svg/SVGElementInstance.idl:
44995 * websockets/WebSocket.idl:
44996 * workers/AbstractWorker.idl:
44997 * workers/WorkerContext.idl:
44998 * xml/XMLHttpRequest.idl:
44999 * xml/XMLHttpRequestUpload.idl:
45001 2010-02-22 Chris Fleizach <cfleizach@apple.com>
45003 Reviewed by Beth Dakin.
45005 AX: AXFocused is not writable like it should be on nodes
45006 https://bugs.webkit.org/show_bug.cgi?id=35186
45008 Test: platform/mac/accessibility/element-focus.html
45010 * accessibility/AccessibilityRenderObject.cpp:
45011 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
45013 2010-02-22 Simon Fraser <simon.fraser@apple.com>
45015 Reviewed by Dan Bernstein, Darin Adler.
45017 Remove addScrolledContentOffset/subtractScrolledContentOffset
45018 https://bugs.webkit.org/show_bug.cgi?id=35225
45020 Remove RenderLayer's addScrolledContentOffset() and subtractScrolledContentOffset()
45021 methods, and instead use the existing scrolledContentOffset(), and use
45022 IntSize and IntPoint instead of lots of x, y variables.
45024 Added new IntPoint toPoint(const IntSize&) method as a convenience to convert a size to a point,
45025 which is needed in a few places.
45027 * page/EventHandler.cpp:
45028 (WebCore::EventHandler::handleDrag): Use the new toPoint() convenience.
45029 * platform/graphics/IntPoint.h:
45030 (WebCore::toPoint): New convenience method to convert an IntSize to an IntPoint.
45031 * rendering/LayoutState.cpp:
45032 (WebCore::LayoutState::LayoutState):
45033 * rendering/RenderBlock.cpp:
45034 (WebCore::RenderBlock::layoutBlock):
45035 (WebCore::RenderBlock::paintObject):
45036 (WebCore::RenderBlock::selectionGapRectsForRepaint):
45037 (WebCore::RenderBlock::nodeAtPoint):
45038 (WebCore::RenderBlock::offsetForContents):
45039 * rendering/RenderBoxModelObject.cpp:
45040 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
45041 * rendering/RenderInline.cpp:
45042 (WebCore::RenderInline::clippedOverflowRectForRepaint):
45043 * rendering/RenderLayer.cpp:
45044 (WebCore::RenderLayer::updateLayerPosition):
45045 * rendering/RenderLayer.h:
45046 (WebCore::RenderLayer::size):
45047 * rendering/RenderObject.cpp:
45048 (WebCore::RenderObject::computeRectForRepaint):
45049 * rendering/TextControlInnerElements.cpp:
45050 (WebCore::RenderTextControlInnerBlock::positionForPoint):
45052 2009-02-22 Adam Langley <agl@google.com>
45054 Reviewed by Darin Fisher.
45056 fontconfig on Linux can change the render preferences on a per strike
45057 basis (a strike a combination of face and size). Because of this, we
45058 need to query fontconfig each time a new FontPlatformData is created
45061 This patch adds support for querying this via ChromiumBridge.
45063 https://bugs.webkit.org/show_bug.cgi?id=33065
45065 * platform/chromium/ChromiumBridge.h: add getRenderStyleForStrike
45066 * platform/graphics/chromium/FontCacheLinux.cpp:
45067 (WebCore::FontCache::createFontPlatformData):
45068 * platform/graphics/chromium/FontCustomPlatformData.cpp:
45069 (WebCore::FontCustomPlatformData::fontPlatformData):
45070 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
45071 (WebCore::FontPlatformData::FontPlatformData):
45072 (WebCore::FontPlatformData::operator=):
45073 (WebCore::FontPlatformData::setupPaint):
45074 (WebCore::FontPlatformData::queryStyle):
45075 add code to query fontconfig via ChromiumBridge
45076 * platform/graphics/chromium/FontPlatformDataLinux.h:
45078 2010-02-22 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
45080 Build fix for make distcheck.
45084 2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
45086 Reviewed by Kenneth Rohde Christiansen.
45088 Fix compiler warning "suggest parentheses around"
45089 https://bugs.webkit.org/show_bug.cgi?id=35197
45091 No new tests as there is no new functionality.
45093 * wml/WMLVariables.cpp:
45094 (WebCore::substituteVariableReferences):
45096 2010-02-22 Gustavo Noronha Silva <gns@gnome.org>
45098 Reviewed by Xan Lopez.
45100 [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
45101 https://bugs.webkit.org/show_bug.cgi?id=35093
45103 Store message flags in WebCore objects, and set them on the
45104 SoupMessage, when creating one from them.
45106 No behaviour change.
45108 * platform/network/soup/ResourceHandleSoup.cpp:
45109 (WebCore::fillResponseFromMessage):
45110 * platform/network/soup/ResourceRequest.h:
45111 (WebCore::ResourceRequest::soupMessageFlags):
45112 (WebCore::ResourceRequest::setSoupMessageFlags):
45113 * platform/network/soup/ResourceRequestSoup.cpp:
45114 (WebCore::ResourceRequest::toSoupMessage):
45115 (WebCore::ResourceRequest::updateFromSoupMessage):
45116 * platform/network/soup/ResourceResponse.h:
45117 (WebCore::ResourceResponse::soupMessageFlags):
45118 (WebCore::ResourceResponse::setSoupMessageFlags):
45119 * platform/network/soup/ResourceResponseSoup.cpp:
45120 (WebCore::ResourceResponse::toSoupMessage):
45121 (WebCore::ResourceResponse::updateFromSoupMessage):
45123 2010-02-22 Steve Block <steveblock@google.com>
45125 Reviewed by Nate Chapin.
45127 Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded
45128 https://bugs.webkit.org/show_bug.cgi?id=35238
45130 No new tests, build fix only.
45132 * bindings/v8/V8DOMWrapper.cpp:
45133 (WebCore::globalObjectPrototypeIsDOMWindow):
45135 2010-02-22 Steve Block <steveblock@google.com>
45137 Reviewed by Simon Fraser.
45139 Simplifies calculation of the transform in RenderLayer::paintLayer
45140 https://bugs.webkit.org/show_bug.cgi?id=35101
45142 No new tests, optimization only.
45144 * rendering/RenderLayer.cpp:
45145 (WebCore::RenderLayer::paintLayer):
45147 2010-02-22 Nicholas Young <nicholas.young@nokia.com>
45149 Reviewed by Tor Arne Vestbø.
45151 [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7
45153 https://bugs.webkit.org/show_bug.cgi?id=34631
45155 No new tests. This patch only affects multimedia backend.
45157 * WebCore.pro: Build depends on Qt version.
45158 * css/mediaControlsQt.css: Updated media controls.
45159 * platform/graphics/MediaPlayer.cpp: Different backend included depending on Qt version.
45160 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Added new QtMultimedia Backend.
45161 (WebCore::MediaPlayerPrivate::create):
45162 (WebCore::MediaPlayerPrivate::registerMediaEngine):
45163 (WebCore::MediaPlayerPrivate::getSupportedTypes):
45164 (WebCore::MediaPlayerPrivate::supportsType):
45165 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
45166 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
45167 (WebCore::MediaPlayerPrivate::hasVideo):
45168 (WebCore::MediaPlayerPrivate::hasAudio):
45169 (WebCore::MediaPlayerPrivate::load):
45170 (WebCore::MediaPlayerPrivate::cancelLoad):
45171 (WebCore::MediaPlayerPrivate::play):
45172 (WebCore::MediaPlayerPrivate::pause):
45173 (WebCore::MediaPlayerPrivate::paused):
45174 (WebCore::MediaPlayerPrivate::seek):
45175 (WebCore::MediaPlayerPrivate::seeking):
45176 (WebCore::MediaPlayerPrivate::duration):
45177 (WebCore::MediaPlayerPrivate::currentTime):
45178 (WebCore::MediaPlayerPrivate::buffered):
45179 (WebCore::MediaPlayerPrivate::maxTimeSeekable):
45180 (WebCore::MediaPlayerPrivate::bytesLoaded):
45181 (WebCore::MediaPlayerPrivate::totalBytes):
45182 (WebCore::MediaPlayerPrivate::setRate):
45183 (WebCore::MediaPlayerPrivate::setVolume):
45184 (WebCore::MediaPlayerPrivate::supportsMuting):
45185 (WebCore::MediaPlayerPrivate::setMuted):
45186 (WebCore::MediaPlayerPrivate::networkState):
45187 (WebCore::MediaPlayerPrivate::readyState):
45188 (WebCore::MediaPlayerPrivate::setVisible):
45189 (WebCore::MediaPlayerPrivate::mediaStatusChanged):
45190 (WebCore::MediaPlayerPrivate::handleError):
45191 (WebCore::MediaPlayerPrivate::stateChanged):
45192 (WebCore::MediaPlayerPrivate::nativeSizeChanged):
45193 (WebCore::MediaPlayerPrivate::queuedSeekTimeout):
45194 (WebCore::MediaPlayerPrivate::seekTimeout):
45195 (WebCore::MediaPlayerPrivate::positionChanged):
45196 (WebCore::MediaPlayerPrivate::durationChanged):
45197 (WebCore::MediaPlayerPrivate::volumeChanged):
45198 (WebCore::MediaPlayerPrivate::mutedChanged):
45199 (WebCore::MediaPlayerPrivate::updateStates):
45200 (WebCore::MediaPlayerPrivate::setSize):
45201 (WebCore::MediaPlayerPrivate::naturalSize):
45202 (WebCore::MediaPlayerPrivate::paint):
45203 (WebCore::MediaPlayerPrivate::repaint):
45204 * platform/graphics/qt/MediaPlayerPrivateQt.h: Added new QtMultimedia Backend.
45205 (WebCore::MediaPlayerPrivate::isAvailable):
45206 (WebCore::MediaPlayerPrivate::supportsFullscreen):
45207 * platform/qt/RenderThemeQt.cpp:
45208 (WebCore::RenderThemeQt::mediaControlsBaselineOpacity): New method.
45209 (WebCore::RenderThemeQt::paintMediaBackground): Background depends on baseline opacity.
45210 (WebCore::RenderThemeQt::paintMediaMuteButton): Changed styling.
45211 (WebCore::RenderThemeQt::paintMediaCurrentTime): Added current time display.
45212 (WebCore::RenderThemeQt::formatMediaControlsCurrentTime): Added time formatting.
45213 (WebCore::RenderThemeQt::formatMediaControlsRemainingTime): Added time formatting.
45214 (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): Volume slider added.
45215 (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): Volume slider added.
45216 (WebCore::RenderThemeQt::paintMediaSliderTrack): Updated for QtMultimedia.
45217 (WebCore::RenderThemeQt::paintMediaSliderThumb): Dropped an unnecessary check.
45218 (WebCore::RenderThemeQt::adjustSliderThumbSize): Handle a missing case.
45219 * platform/qt/RenderThemeQt.h: Reimplemented a few more methods.
45221 2010-02-22 Alexander Pavlov <apavlov@chromium.org>
45223 Not reviewed: mac build fix
45225 * bindings/js/ScriptDebugServer.cpp:
45226 (WebCore::ScriptDebugServer::ScriptDebugServer):
45228 2010-02-22 Alexander Pavlov <apavlov@chromium.org>
45230 Reviewed by Pavel Feldman.
45232 Web Inspector: there should be a way to "deactivate" or "skip" all breakpoints while debugging.
45233 https://bugs.webkit.org/show_bug.cgi?id=33217
45235 * English.lproj/localizedStrings.js:
45236 * bindings/js/ScriptDebugServer.cpp:
45237 (WebCore::ScriptDebugServer::ScriptDebugServer):
45238 (WebCore::ScriptDebugServer::hasBreakpoint):
45239 (WebCore::ScriptDebugServer::setBreakpointsActivated):
45240 * bindings/js/ScriptDebugServer.h:
45241 * bindings/v8/ScriptDebugServer.h:
45242 (WebCore::ScriptDebugServer::setBreakpointsActivated):
45243 * inspector/InspectorBackend.cpp:
45244 (WebCore::InspectorBackend::activateBreakpoints):
45245 (WebCore::InspectorBackend::deactivateBreakpoints):
45246 * inspector/InspectorBackend.h:
45247 * inspector/InspectorBackend.idl:
45248 * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: Added.
45249 * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: Added.
45250 * inspector/front-end/InspectorBackendStub.js:
45251 (.WebInspector.InspectorBackendStub.prototype.activateBreakpoints):
45252 (.WebInspector.InspectorBackendStub.prototype.deactivateBreakpoints):
45253 * inspector/front-end/ScriptsPanel.js:
45254 (WebInspector.ScriptsPanel):
45255 (WebInspector.ScriptsPanel.prototype.get breakpointsActivated):
45256 (WebInspector.ScriptsPanel.prototype.addBreakpoint):
45257 (WebInspector.ScriptsPanel.prototype._stepOutClicked):
45258 (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
45259 * inspector/front-end/inspector.css:
45260 * inspector/front-end/textViewer.css:
45262 2010-02-22 Mark Rowe <mrowe@apple.com>
45264 Rubber-stamped by Sam Weinig and Maciej Stachowiak.
45266 REGRESSION (r55039): Animation starts from near end when loaded over slow network
45267 <http://webkit.org/b/35222> / <rdar://problem/7673523>
45269 Roll out r55039 (related to <http://webkit.org/b/35115>) as it causes animated GIFs
45270 to skip intermediate frames when loading over a slower network.
45272 * platform/graphics/BitmapImage.cpp:
45273 (WebCore::BitmapImage::startAnimation):
45275 2010-02-22 Maciej Stachowiak <mjs@apple.com>
45277 Not reviewed, build fix.
45279 Revert the previous change.
45281 2010-02-21 Maciej Stachowiak <mjs@apple.com>
45283 Reviewed by Darin Adler.
45285 Cache JavaScript wrappers inline in DOM nodes
45286 https://bugs.webkit.org/show_bug.cgi?id=35226
45287 <rdar://problem/7664202>
45289 8.8% speedup on Dromaeo DOM Core tests.
45290 3.3% speedup on Hixie DOM Core tests.
45292 * bindings/js/JSDOMBinding.cpp:
45293 (WebCore::forgetDOMNode): Clear wrapper pointer.
45294 (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
45295 * bindings/js/JSDOMBinding.h:
45296 (WebCore::DOMObjectWrapperMapFor):
45297 * bindings/js/JSDocumentCustom.cpp:
45298 (WebCore::toJS): Remove unneeded argument from getCachedDOMNodeWrapper.
45299 * bindings/js/JSNodeCustom.cpp:
45300 (WebCore::createWrapperInline): Renamed version of original createWrapper.
45301 (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
45302 (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
45303 * bindings/js/JSNodeCustom.h: Added.
45304 (WebCore::getCachedDOMNodeWrapper): Moved here so it can be inlined.
45305 (WebCore::toJS): Moved here so it can be inlined.
45306 * bindings/js/ScriptWrappable.h:
45307 (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
45308 way for JavaScriptCore.
45309 (WebCore::ScriptWrappable::wrapper):
45310 (WebCore::ScriptWrappable::setWrapper):
45311 (WebCore::ScriptWrappable::clearWrapper):
45312 * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
45313 in the header, not just the impl file, so they can add inlining.
45314 * dom/Node.idl: Add CustomHeader directive.
45316 Add new files to build.
45321 * WebCore.vcproj/WebCore.vcproj:
45323 2010-02-22 Pavel Feldman <pfeldman@chromium.org>
45325 Not reviewed: windows build fix.
45327 2010-02-21 Pavel Feldman <pfeldman@chromium.org>
45329 Reviewed by Timothy Hatcher.
45331 Web Inspector: stop on inline breakpoints on reload.
45332 - ScriptBreakpoint struct has been introduced and reused in InspectorController
45334 - JavaScriptDebugServer was moved to bindings/js and renamed to ScriptDebugServer
45335 There were no changes to semantics, only some mechanical changes:
45336 - addBreakpoint and updateBreakpoint were merged into setBreakpoint
45337 - ScriptDebugServer now operates ScriptBreakpoint instances instead of
45339 - It no longer allocates maps and breakpoint info in heap - all done on stack.
45340 - JavaScriptDebugListener is now ScriptDebugServer::Listener
45341 - Listener methods no longer have ExecState (was unused).
45342 - addListener/removeListener pair wuth no page argument removed (was unused).
45343 - InspectorController now binds sourceID to url and maintains a map of 'sticky'
45344 breakpoints. Whenever script is loaded and there is a sticky breakpoint url matching,
45345 breakpoint is being 'restored' synchronously in debug server and pushed to frontend.
45346 Front-end no longer stores map of sticky breakpoints.
45347 - setBreakpoint/removeBreakpoint/didParseSource trio handle this logic.
45348 - A bunch of if(USE_JSC/V8/other) forks removed.
45349 - InspectorFrontend now operates primitive types only, got rid of USE_JSC as well.
45351 https://bugs.webkit.org/show_bug.cgi?id=28799
45354 * WebCore.base.exp:
45358 * WebCore.vcproj/WebCore.vcproj:
45359 * WebCore.xcodeproj/project.pbxproj:
45360 * bindings/js/JSInjectedScriptHostCustom.cpp:
45361 (WebCore::JSInjectedScriptHost::currentCallFrame):
45362 (WebCore::JSInjectedScriptHost::isActivation):
45363 * bindings/js/ScriptDebugServer.cpp:
45364 (WebCore::ScriptDebugServer::shared):
45365 (WebCore::ScriptDebugServer::ScriptDebugServer):
45366 (WebCore::ScriptDebugServer::~ScriptDebugServer):
45367 (WebCore::ScriptDebugServer::addListener):
45368 (WebCore::ScriptDebugServer::removeListener):
45369 (WebCore::ScriptDebugServer::pageCreated):
45370 (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
45371 (WebCore::ScriptDebugServer::setBreakpoint):
45372 (WebCore::ScriptDebugServer::removeBreakpoint):
45373 (WebCore::ScriptDebugServer::hasBreakpoint):
45374 (WebCore::ScriptDebugServer::clearBreakpoints):
45375 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
45376 (WebCore::ScriptDebugServer::pauseProgram):
45377 (WebCore::ScriptDebugServer::continueProgram):
45378 (WebCore::ScriptDebugServer::stepIntoStatement):
45379 (WebCore::ScriptDebugServer::stepOverStatement):
45380 (WebCore::ScriptDebugServer::stepOutOfFunction):
45381 (WebCore::ScriptDebugServer::currentCallFrame):
45382 (WebCore::ScriptDebugServer::currentCallFrameState):
45383 (WebCore::ScriptDebugServer::dispatchDidParseSource):
45384 (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
45386 (WebCore::ScriptDebugServer::detach):
45387 (WebCore::ScriptDebugServer::sourceParsed):
45388 (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
45389 (WebCore::ScriptDebugServer::setJavaScriptPaused):
45390 (WebCore::ScriptDebugServer::pauseIfNeeded):
45391 (WebCore::ScriptDebugServer::callEvent):
45392 (WebCore::ScriptDebugServer::atStatement):
45393 (WebCore::ScriptDebugServer::returnEvent):
45394 (WebCore::ScriptDebugServer::exception):
45395 (WebCore::ScriptDebugServer::willExecuteProgram):
45396 (WebCore::ScriptDebugServer::didExecuteProgram):
45397 (WebCore::ScriptDebugServer::didReachBreakpoint):
45398 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
45399 (WebCore::ScriptDebugServer::recompileAllJSFunctions):
45400 (WebCore::ScriptDebugServer::didAddListener):
45401 (WebCore::ScriptDebugServer::didRemoveListener):
45402 (WebCore::ScriptDebugServer::didRemoveLastListener):
45403 * bindings/js/ScriptDebugServer.h:
45404 (WebCore::ScriptDebugServer::Listener::~Listener):
45405 (WebCore::ScriptDebugServer::):
45406 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
45407 (WebCore::ScriptDebugServer::hasListeners):
45408 (WebCore::ScriptDebugServer::hasGlobalListeners):
45409 * bindings/v8/ScriptDebugServer.cpp:
45410 (WebCore::ScriptDebugServer::shared):
45411 * bindings/v8/ScriptDebugServer.h:
45412 (WebCore::ScriptDebugServer::Listener::~Listener):
45413 (WebCore::ScriptDebugServer::addListener):
45414 (WebCore::ScriptDebugServer::removeListener):
45415 (WebCore::ScriptDebugServer::setBreakpoint):
45416 (WebCore::ScriptDebugServer::removeBreakpoint):
45417 (WebCore::ScriptDebugServer::clearBreakpoints):
45418 (WebCore::ScriptDebugServer::):
45419 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
45420 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
45421 (WebCore::ScriptDebugServer::pauseProgram):
45422 (WebCore::ScriptDebugServer::continueProgram):
45423 (WebCore::ScriptDebugServer::stepIntoStatement):
45424 (WebCore::ScriptDebugServer::stepOverStatement):
45425 (WebCore::ScriptDebugServer::stepOutOfFunction):
45426 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
45427 (WebCore::ScriptDebugServer::recompileAllJSFunctions):
45428 (WebCore::ScriptDebugServer::currentCallFrameState):
45429 (WebCore::ScriptDebugServer::pageCreated):
45430 (WebCore::ScriptDebugServer::ScriptDebugServer):
45431 (WebCore::ScriptDebugServer::~ScriptDebugServer):
45432 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
45433 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
45434 (WebCore::V8InjectedScriptHost::isActivationCallback):
45435 * inspector/InjectedScriptHost.cpp:
45436 * inspector/InjectedScriptHost.h:
45437 * inspector/InjectedScriptHost.idl:
45438 * inspector/InspectorBackend.cpp:
45439 (WebCore::InspectorBackend::setBreakpoint):
45440 (WebCore::InspectorBackend::removeBreakpoint):
45441 (WebCore::InspectorBackend::pauseInDebugger):
45442 (WebCore::InspectorBackend::stepOverStatementInDebugger):
45443 (WebCore::InspectorBackend::stepIntoStatementInDebugger):
45444 (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
45445 (WebCore::InspectorBackend::pauseOnExceptionsState):
45446 (WebCore::InspectorBackend::setPauseOnExceptionsState):
45447 * inspector/InspectorBackend.h:
45448 * inspector/InspectorBackend.idl:
45449 * inspector/ScriptBreakpoint.h: Added.
45450 (WebCore::InspectorBreakpoint::InspectorBreakpoint):
45451 * inspector/InspectorController.cpp:
45452 (WebCore::InspectorController::InspectorController):
45453 (WebCore::InspectorController::setWindowVisible):
45454 (WebCore::InspectorController::scriptObjectReady):
45455 (WebCore::InspectorController::close):
45456 (WebCore::InspectorController::didCommitLoad):
45457 (WebCore::InspectorController::addProfile):
45458 (WebCore::InspectorController::startUserInitiatedProfiling):
45459 (WebCore::InspectorController::stopUserInitiatedProfiling):
45460 (WebCore::InspectorController::enableProfiler):
45461 (WebCore::InspectorController::disableProfiler):
45462 (WebCore::InspectorController::enableDebuggerFromFrontend):
45463 (WebCore::InspectorController::disableDebugger):
45464 (WebCore::InspectorController::resumeDebugger):
45465 (WebCore::InspectorController::setBreakpoint):
45466 (WebCore::InspectorController::removeBreakpoint):
45467 (WebCore::InspectorController::didParseSource):
45468 (WebCore::InspectorController::failedToParseSource):
45469 (WebCore::InspectorController::didPause):
45470 * inspector/InspectorController.h:
45471 * inspector/InspectorFrontend.cpp:
45472 (WebCore::InspectorFrontend::parsedScriptSource):
45473 (WebCore::InspectorFrontend::restoredBreakpoint):
45474 (WebCore::InspectorFrontend::failedToParseScriptSource):
45475 (WebCore::InspectorFrontend::resumedScript):
45476 * inspector/InspectorFrontend.h:
45477 * inspector/JavaScriptDebugListener.h: Removed.
45478 * inspector/JavaScriptDebugServer.cpp: Removed.
45479 * inspector/JavaScriptDebugServer.h: Removed.
45480 * inspector/front-end/Breakpoint.js:
45481 (WebInspector.Breakpoint.prototype.set condition):
45482 * inspector/front-end/BreakpointsSidebarPane.js:
45483 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
45484 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
45485 * inspector/front-end/InspectorBackendStub.js:
45486 (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
45487 * inspector/front-end/ResourcesPanel.js:
45488 (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
45489 * inspector/front-end/ScriptsPanel.js:
45490 (WebInspector.ScriptsPanel):
45491 (WebInspector.ScriptsPanel.prototype.addScript):
45492 (WebInspector.ScriptsPanel.prototype.addBreakpoint):
45493 (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
45494 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
45495 * inspector/front-end/inspector.js:
45496 (WebInspector.restoredBreakpoint):
45498 (WebCore::Page::Page):
45499 * platform/android/TemporaryLinkStubs.cpp:
45501 2010-02-21 Gavin Barraclough <barraclough@apple.com>
45503 Reviewed by Oliver Hunt.
45505 Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const.
45507 * platform/text/StringImpl.cpp:
45508 (WebCore::StringImpl::sharedBuffer):
45509 * platform/text/StringImpl.h:
45511 2010-02-07 Yuzo Fujishima <yuzo@google.com>
45513 Reviewed by Eric Seidel.
45515 When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements.
45516 RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else.
45517 Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed.
45518 https://bugs.webkit.org/show_bug.cgi?id=9526
45520 Test: printing/page-break-always-for-overflow.html
45522 * rendering/RenderBlock.cpp:
45523 (WebCore::RenderBlock::paintChildren):
45524 * rendering/RenderBlock.h:
45526 2010-02-21 Julien Chaffraix <jchaffraix@webkit.org>
45528 Reviewed by Eric Seidel.
45530 Remove auto_ptr usage in WebCore.
45531 https://bugs.webkit.org/show_bug.cgi?id=35157
45533 The changes consists of:
45535 - Changing auto_ptr arguments or return types to PassOwnPtr.
45537 - Replacing local auto_ptr by OwnPtr.
45539 - Removing now unneeded <memory> inclusion.
45541 * css/CSSParser.cpp:
45542 (WebCore::CSSParser::addProperty):
45543 * loader/WorkerThreadableLoader.cpp:
45544 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
45545 (WebCore::workerContextDidReceiveResponse):
45546 (WebCore::workerContextDidReceiveData):
45547 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
45548 (WebCore::workerContextDidReceiveAuthenticationCancellation):
45549 * loader/WorkerThreadableLoader.h:
45550 * loader/icon/IconLoader.cpp:
45551 (WebCore::IconLoader::create):
45552 * loader/icon/IconLoader.h:
45553 * platform/ContextMenu.cpp:
45554 (WebCore::separatorItem):
45555 * platform/CrossThreadCopier.h:
45557 * platform/network/HTTPHeaderMap.cpp:
45558 (WebCore::HTTPHeaderMap::copyData):
45559 (WebCore::HTTPHeaderMap::adopt):
45560 * platform/network/HTTPHeaderMap.h:
45561 * platform/network/ResourceRequestBase.cpp:
45562 (WebCore::ResourceRequestBase::adopt):
45563 (WebCore::ResourceRequestBase::copyData):
45564 * platform/network/ResourceRequestBase.h:
45565 * platform/network/ResourceResponseBase.cpp:
45566 (WebCore::ResourceResponseBase::adopt):
45567 (WebCore::ResourceResponseBase::copyData):
45568 * platform/network/ResourceResponseBase.h:
45569 * svg/SVGDocumentExtensions.cpp:
45570 (WebCore::SVGDocumentExtensions::removePendingResource):
45571 * svg/SVGDocumentExtensions.h:
45572 * svg/SVGElement.cpp:
45573 (WebCore::SVGElement::insertedIntoDocument):
45574 * workers/GenericWorkerTask.h:
45575 * workers/WorkerThread.cpp:
45576 (WebCore::WorkerThreadStartupData::create):
45578 2010-02-21 Simon Fraser <simon.fraser@apple.com>
45580 Reviewed by Dan Bernstein.
45582 https://bugs.webkit.org/show_bug.cgi?id=22215
45583 Avoid calling absoluteClippedOverflowRect() so many times
45585 RenderLayer::updateLayerPositions() computes the clipped overflow rect
45586 and the outline bounds for repaint, and then calls repaintAfterLayoutIfNeeded()
45587 which can compute the same rects all over again. Avoid this by passing
45588 these two rects into repaintAfterLayoutIfNeeded() if known. This measurably
45589 reduces the time spent in updateLayerPositions() for some content.
45591 * rendering/RenderLayer.cpp:
45592 (WebCore::RenderLayer::updateLayerPositions):
45593 * rendering/RenderObject.cpp:
45594 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
45595 * rendering/RenderObject.h:
45597 2010-02-20 Alexey Proskuryakov <ap@apple.com>
45599 Reviewed by Maciej Stachowiak.
45601 https://bugs.webkit.org/show_bug.cgi?id=35202
45602 <rdar://problem/4856597> Calling Java method which accepts Object always passes a null argument
45604 * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for
45607 2010-02-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
45609 Reviewed by Darin Adler.
45611 Fix compiler warning "suggest parentheses around"
45612 https://bugs.webkit.org/show_bug.cgi?id=35197
45614 No new tests as there is no new functionality.
45616 * html/DateComponents.cpp:
45617 (WebCore::beforeGregorianStartDate):
45618 * plugins/PluginDatabase.cpp:
45619 (WebCore::PluginDatabase::findPlugin):
45621 2010-02-20 Noam Rosenthal <noam.rosenthal@nokia.com>
45623 Reviewed by Laszlo Gombos.
45625 [Qt] ENABLE_3D_RENDERING should be optional
45626 https://bugs.webkit.org/show_bug.cgi?id=35100
45628 No new tests: this is a build fix.
45630 * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test
45632 2010-02-20 Alexey Proskuryakov <ap@apple.com>
45634 Reviewed by Maciej Stachowiak.
45636 https://bugs.webkit.org/show_bug.cgi?id=23742
45637 Applet methods can not return arrays to JS
45639 * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaArray::JavaArray): Don't accidentally zero out
45640 m_rootObject (that's how PassRefPtr works). Without m_rootObject, we crash quickly.
45642 * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Do handle returned arrays.
45643 Also, added an ifdef around code that's only needed on Tiger, and removed a comment saying
45644 it can be removed when "new" plugin ships. I doubt that anyone can remember what "new"
45645 could refer to back then.
45647 2010-02-20 Pavel Feldman <pfeldman@chromium.org>
45649 Reviewed by Timothy Hatcher.
45651 Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic.
45653 https://bugs.webkit.org/show_bug.cgi?id=35192
45655 * inspector/front-end/ResourcesPanel.js:
45656 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
45657 * inspector/front-end/ScriptsPanel.js:
45658 (WebInspector.ScriptsPanel.prototype.show):
45659 (WebInspector.ScriptsPanel.prototype.viewRecreated):
45661 2010-02-20 Pavel Feldman <pfeldman@chromium.org>
45663 Reviewed by Timothy Hatcher.
45665 Web Inspector: need to highlight the evaluated expression used for popovers.
45667 https://bugs.webkit.org/show_bug.cgi?id=35126
45669 * inspector/front-end/SourceFrame.js:
45670 (WebInspector.SourceFrame.prototype._mouseMove):
45671 (WebInspector.SourceFrame.prototype._hidePopup):
45672 (WebInspector.SourceFrame.prototype._mouseHover):
45673 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
45674 (WebInspector.SourceFrame.prototype._showPopup):
45675 * inspector/front-end/inspector.css:
45677 2010-02-20 Gustavo Noronha Silva <gns@gnome.org>
45679 Roll out 55047 because it causes layout, and API tests to fail
45681 2010-02-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
45683 Reviewed by Xan Lopez.
45685 [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
45686 https://bugs.webkit.org/show_bug.cgi?id=35093
45688 Refactor updating of ResourceResponse objects from soup message
45689 objects, to avoid code duplication.
45691 No behaviour change.
45693 * platform/network/soup/ResourceHandleSoup.cpp:
45694 (WebCore::fillResponseFromMessage):
45695 * platform/network/soup/ResourceResponseSoup.cpp:
45696 (WebCore::ResourceResponse::updateFromSoupMessage):
45698 2010-02-20 Alexey Proskuryakov <ap@apple.com>
45700 Reviewed by Maciej Stachowiak.
45702 https://bugs.webkit.org/show_bug.cgi?id=35190
45703 Don't use system malloc in Java bindings
45705 * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector.
45707 2010-02-20 Alexey Proskuryakov <ap@apple.com>
45709 Reviewed by Maciej Stachowiak.
45711 https://bugs.webkit.org/show_bug.cgi?id=9761
45712 LiveConnect string conversion fails for java.lang.Object
45714 Can't test Java in DRT (I wonder why).
45716 * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
45717 Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
45719 2010-02-19 Maciej Stachowiak <mjs@apple.com>
45721 Reviewed by David Levin.
45723 Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
45724 https://bugs.webkit.org/show_bug.cgi?id=35147
45726 I made ENABLE(SANDBOX) only control the sandbox attribute itself;
45727 I did not ifdef the infrastructure to make sandboxing
45728 switchable. This is because the likely concerns about sandboxing
45729 are not stability of the infrastructure code, but rather the fact
45730 that the security model exposed to authors is still evolving.
45732 * Configurations/FeatureDefines.xcconfig:
45735 * html/HTMLIFrameElement.cpp:
45736 (WebCore::HTMLIFrameElement::parseMappedAttribute):
45738 2010-02-19 Alexey Proskuryakov <ap@apple.com>
45740 Reviewed by Maciej Stachowiak.
45742 https://bugs.webkit.org/show_bug.cgi?id=35132
45743 <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
45745 * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse
45746 pointer when above a plug-in or applet to prevent flicker.
45748 2010-02-18 Peter Kasting <pkasting@google.com>
45750 Reviewed by Adam Barth.
45752 Fix regression in calculating an animated image's start time.
45753 https://bugs.webkit.org/show_bug.cgi?id=35115
45755 * platform/graphics/BitmapImage.cpp:
45756 (WebCore::BitmapImage::startAnimation):
45758 2010-02-19 Alexey Proskuryakov <ap@apple.com>
45760 Reviewed by Geoffrey Garen.
45762 https://bugs.webkit.org/show_bug.cgi?id=35178
45763 LiveConnect code uses hand-rolled fprintf logging
45765 Changed to use LOG, LOG_ERROR and ASSERT.
45767 * platform/Logging.cpp:
45768 (WebCore::getChannelFromName):
45769 * platform/Logging.h:
45770 * platform/mac/LoggingMac.mm:
45771 (WebCore::InitializeLoggingChannelsIfNecessary):
45772 * platform/win/LoggingWin.cpp:
45773 (WebCore::InitializeLoggingChannelsIfNecessary):
45774 TextConversion channel was (almost) unused, renamed to LiveConnect.
45776 * platform/text/gtk/TextCodecGtk.cpp: (WebCore::TextCodecGtk::registerEncodingNames):
45777 The only use of this channel was in platform specific code, commandeered it for cross-platform
45780 * bridge/jni/JNIBridge.cpp:
45781 * bridge/jni/JNIUtility.cpp:
45782 (JSC::Bindings::getJavaVM):
45783 (JSC::Bindings::getJNIEnv):
45784 (JSC::Bindings::getJNIField):
45785 * bridge/jni/JNIUtility.h:
45786 (JSC::Bindings::callJNIMethodV):
45787 (JSC::Bindings::callJNIStaticMethod):
45788 * bridge/jni/jni_jsobject.mm:
45789 (completedJavaScriptAccess):
45790 (dispatchToJavaScriptThread):
45791 (performJavaScriptAccess):
45792 (JavaJSObject::invoke):
45793 (JavaJSObject::call):
45794 (JavaJSObject::eval):
45795 (JavaJSObject::getMember):
45796 (JavaJSObject::setMember):
45797 (JavaJSObject::removeMember):
45798 (JavaJSObject::getSlot):
45799 (JavaJSObject::setSlot):
45800 (JavaJSObject::toString):
45801 (JavaJSObject::createNative):
45802 * bridge/jni/jsc/JNIBridgeJSC.cpp:
45803 (JavaField::valueFromInstance):
45804 (JavaField::setValueToInstance):
45805 * bridge/jni/jsc/JavaClassJSC.cpp:
45806 (JavaClass::JavaClass):
45807 * bridge/jni/jsc/JavaInstanceJSC.cpp:
45808 (JavaInstance::invokeMethod):
45809 (JObjectWrapper::JObjectWrapper):
45810 (JObjectWrapper::~JObjectWrapper):
45812 2010-02-19 Dirk Schulze <krit@webkit.org>
45814 Reviewed by Nikolas Zimmermann.
45816 RenderSVGResourceMasker causes an Assert on Wind builds during DRT
45817 https://bugs.webkit.org/show_bug.cgi?id=35182
45819 We remove the Assert for now and return earlier, if the HashMap of the Masker
45820 does not contain the RenderObject. The RenderObject is an identifiert to get
45821 a already calculated mask.
45822 A race condition during parsing can cause the invalidation call, before the mask
45823 got calculated (only during DRT on Win build bots).
45824 The real bug will be fixed with: https://bugs.webkit.org/show_bug.cgi?id=35181
45826 * rendering/RenderSVGResourceMasker.cpp:
45827 (WebCore::RenderSVGResourceMasker::invalidateClient):
45829 2010-02-18 Peter Kasting <pkasting@google.com>
45831 Reviewed by Darin Fisher.
45833 Make Pasteboard::writeImage() safe against NULL cachedImages, and clean
45835 https://bugs.webkit.org/show_bug.cgi?id=35136
45837 * loader/ImageLoader.cpp:
45838 (WebCore::ImageLoader::updateRenderer): Shorten some code.
45839 * page/DragController.cpp:
45840 (WebCore::getImage): Shorten some code.
45841 * platform/chromium/PasteboardChromium.cpp:
45842 (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45843 * platform/gtk/PasteboardGtk.cpp:
45844 (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45845 * platform/mac/PasteboardMac.mm:
45846 (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45847 * platform/qt/PasteboardQt.cpp:
45848 (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45849 * platform/win/PasteboardWin.cpp:
45850 (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45852 2010-02-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
45854 Rubberstamped by Noam Rosenthal, who wrote the original code.
45856 Make mouse wheel scrolling work when using the GraphicsLayer.
45858 * platform/graphics/qt/GraphicsLayerQt.cpp:
45859 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
45861 2010-02-19 Nate Chapin <japhet@chromium.org>
45863 Reviewed by Dimitri Glazkov.
45865 [V8] Fix Worker crash regression in r54972
45867 https://bugs.webkit.org/show_bug.cgi?id=35166
45869 * bindings/v8/V8DOMWrapper.cpp:
45870 (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext.
45872 2010-02-19 Steve Block <steveblock@google.com>
45874 Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests
45876 * bindings/generic/RuntimeEnabledFeatures.cpp:
45877 * storage/Database.cpp:
45879 2010-02-19 Steve Block <steveblock@google.com>
45881 Reviewed by David Levin.
45883 Sets default values of V8 runtime enabler flags to match behavior with JSC
45884 https://bugs.webkit.org/show_bug.cgi?id=35095
45886 No new tests, modifies a Chromium feature only.
45888 * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
45889 * storage/Database.cpp: Modified. Sets database flag default to 'on'.
45891 2010-02-19 Alexander Pavlov <apavlov@chromium.org>
45893 Reviewed by Pavel Feldman.
45895 WebInspector: Elements panel: Correctly show empty elements' ending tags
45896 for XML and HTML documents.
45897 https://bugs.webkit.org/show_bug.cgi?id=26315
45899 Test: inspector/elements-panel-xhtml-structure.xhtml
45901 * inspector/InspectorController.cpp:
45902 (WebCore::InspectorController::populateScriptObjects):
45903 * inspector/front-end/ElementsTreeOutline.js:
45904 (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
45905 (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType):
45906 (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
45907 (WebInspector.ElementsTreeElement.prototype.onexpand):
45908 (WebInspector.ElementsTreeElement.prototype.oncollapse):
45909 (WebInspector.ElementsTreeElement.prototype.updateTitle.callback):
45910 (WebInspector.ElementsTreeElement.prototype.updateTitle):
45911 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
45913 2010-02-19 Pavel Feldman <pfeldman@chromium.org>
45915 Not reviewed. Chromium build fix: reverting r54997 and r54998.
45917 * bindings/v8/custom/V8LocationCustom.cpp:
45918 (WebCore::V8Location::protocolAccessorSetter):
45919 * platform/KURLGoogle.cpp:
45920 (WebCore::KURL::setProtocol):
45921 (WebCore::KURL::isHierarchical):
45923 2010-02-17 Philippe Normand <pnormand@igalia.com>
45925 Reviewed by Eric Seidel.
45927 [GTK] RTP/RTSP streams playback support
45928 https://bugs.webkit.org/show_bug.cgi?id=33662
45930 Added live pipelines support in updateStates().
45932 * manual-tests/video-rtsp.html: Added.
45933 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45934 (WebCore::MediaPlayerPrivate::seek):
45935 (WebCore::MediaPlayerPrivate::updateStates):
45937 2010-02-18 Yaar Schnitman <yaar@chromium.org>
45939 Reviewed by Darin Adler.
45941 Normalize custom ctors for Image, Option, Audio
45942 https://bugs.webkit.org/show_bug.cgi?id=34782
45944 Test: fast/js/custom-constructors.html
45946 * bindings/js/JSAudioConstructor.cpp:
45947 (WebCore::JSAudioConstructor::JSAudioConstructor):
45948 (WebCore::constructAudio):
45949 * bindings/js/JSImageConstructor.cpp:
45950 (WebCore::constructImage):
45951 * bindings/js/JSOptionConstructor.cpp:
45952 (WebCore::constructHTMLOptionElement):
45953 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
45954 (WebCore::v8HTMLAudioElementConstructorCallback):
45955 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
45956 (WebCore::v8HTMLImageElementConstructorCallback):
45957 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
45958 (WebCore::v8HTMLOptionElementConstructorCallback):
45959 * html/HTMLAudioElement.cpp:
45960 (WebCore::HTMLAudioElement::HTMLAudioElement):
45961 (WebCore::HTMLAudioElement::createForJSConstructor):
45962 * html/HTMLAudioElement.h:
45963 * html/HTMLImageElement.cpp:
45964 (WebCore::HTMLImageElement::createForJSConstructor):
45965 (WebCore::HTMLImageElement::mapToEntry):
45966 (WebCore::HTMLImageElement::createRenderer):
45967 (WebCore::HTMLImageElement::attach):
45968 (WebCore::HTMLImageElement::width):
45969 (WebCore::HTMLImageElement::height):
45970 (WebCore::HTMLImageElement::naturalHeight):
45971 * html/HTMLImageElement.h:
45972 * html/HTMLOptionElement.cpp:
45973 (WebCore::HTMLOptionElement::HTMLOptionElement):
45974 (WebCore::HTMLOptionElement::createForJSConstructor):
45975 (WebCore::HTMLOptionElement::ownerSelectElement):
45976 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
45977 (WebCore::HTMLOptionElement::disabled):
45978 (WebCore::HTMLOptionElement::insertedIntoTree):
45979 * html/HTMLOptionElement.h:
45981 2010-02-18 Simon Fraser <simon.fraser@apple.com>
45985 Remove a couple of extraneous spaces that got added to the project file
45988 * WebCore.xcodeproj/project.pbxproj:
45990 2010-02-18 Simon Fraser <simon.fraser@apple.com>
45992 Reviewed by Dan Bernstein.
45994 <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
45996 Add logic to determine when painting via the software rendering path will give an equivalent
45997 result to the accelerated compositing presentation. This tests for the presence of 3D transforms
45998 via the existing RenderLayerCompositor::has3DContent() method.
46000 * WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior().
46001 * page/FrameView.h:
46002 * page/FrameView.cpp:
46003 (WebCore::FrameView::isSoftwareRenderable): New method.
46004 (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it.
46006 2010-02-18 Dan Bernstein <mitz@apple.com>
46008 Reviewed by John Sullivan.
46010 <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;” element
46011 when there are pending style sheets
46013 Test: fast/css/getComputedStyle/pending-stylesheet.html
46015 When querying a property of a computed style declaration for a non-rendered element,
46016 CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it
46017 would behave as if the lack of renderer is due to FOUC suppression, and set a flag on
46018 the document causing it to recalculate style. On the next computed style property access,
46019 style would be recalculated for the document, but then the flag would get set again if the
46020 element did not have a renderer.
46022 * dom/Document.cpp:
46023 (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
46024 m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().
46027 (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().
46029 2010-02-18 Dirk Schulze <krit@webkit.org>
46031 Reviewed by Nikolas Zimmermann.
46033 Move SVGResources to Renderers, starting with Masker
46034 https://bugs.webkit.org/show_bug.cgi?id=35020
46036 We have rendering specific code in WebCore/svg/graphics. The goal is to move
46037 this code into suitable Renderers. This helps us to clean up the code and makes
46038 maintenance easier. It also makes it possible to remove rendering specific code
46039 from SVG*Elements into this renderers. So the Renderer contains everything that
46040 is needed to use the resource.
46041 RenderSVGResource will be the base class for all new resource render classes like
46042 RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
46044 This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
46045 Another benefit is the much more useful result in DRT on using masker.
46051 * WebCore.vcproj/WebCore.vcproj:
46052 * WebCore.xcodeproj/project.pbxproj:
46053 * rendering/RenderObject.cpp:
46054 (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
46055 * rendering/RenderObject.h:
46056 (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
46057 * rendering/RenderPath.cpp:
46058 * rendering/RenderSVGImage.cpp:
46059 (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
46060 * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
46061 (WebCore::RenderSVGImage::toSVGRenderBase):
46062 (WebCore::RenderSVGImage::renderName):
46063 (WebCore::RenderSVGImage::isSVGImage):
46064 (WebCore::RenderSVGImage::localToParentTransform):
46065 (WebCore::RenderSVGImage::strokeBoundingBox):
46066 (WebCore::RenderSVGImage::requiresLayer):
46067 (WebCore::RenderSVGImage::localTransform):
46068 * rendering/RenderSVGInlineText.h:
46069 (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
46070 * rendering/RenderSVGModelObject.cpp:
46071 (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
46072 * rendering/RenderSVGModelObject.h:
46073 * rendering/RenderSVGResource.h: Added.
46074 (WebCore::): Base class for all Resource renderers like masker, clipper and others.
46075 (WebCore::RenderSVGResource::RenderSVGResource):
46076 (WebCore::RenderSVGResource::cast):
46077 (WebCore::RenderSVGResource::toRenderSVGResource):
46078 (WebCore::RenderSVGResource::isSVGResource):
46079 (WebCore::RenderSVGResource::drawsContents):
46080 (WebCore::getRenderSVGResourceById):
46081 * rendering/RenderSVGResourceMasker.cpp: Added.
46082 (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
46083 (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
46084 (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
46085 (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
46086 (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
46087 (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
46088 (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
46089 * rendering/RenderSVGResourceMasker.h: Added.
46090 (WebCore::MaskerData::MaskerData):
46091 (WebCore::RenderSVGResourceMasker::renderName):
46092 (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
46093 (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
46094 (WebCore::RenderSVGResourceMasker::resourceType):
46095 * rendering/RenderSVGRoot.cpp:
46096 (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
46097 * rendering/RenderSVGRoot.h:
46098 * rendering/RenderSVGText.cpp:
46099 (WebCore::RenderSVGText::destroy): dito.
46100 * rendering/RenderSVGText.h:
46101 * rendering/RenderTreeAsText.cpp:
46103 * rendering/SVGRenderSupport.cpp:
46104 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
46105 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
46106 (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
46107 * rendering/SVGRenderSupport.h:
46108 (WebCore::SVGRenderBase::toSVGRenderBase):
46109 (WebCore::SVGRenderBase::strokeBoundingBox):
46110 (WebCore::SVGRenderBase::markerBoundingBox):
46111 * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
46112 (WebCore::operator<<):
46113 (WebCore::writeSVGResource):
46114 (WebCore::writeSVGContainer):
46115 (WebCore::writeSVGText):
46116 (WebCore::writeSVGInlineText):
46117 (WebCore::writeSVGImage):
46119 (WebCore::writeResourcesToObject):
46120 * rendering/SVGRenderTreeAsText.h:
46121 * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
46122 (WebCore::SVGMaskElement::svgAttributeChanged):
46123 (WebCore::SVGMaskElement::childrenChanged):
46124 (WebCore::SVGMaskElement::maskBoundingBox):
46125 (WebCore::SVGMaskElement::createRenderer):
46126 * svg/SVGMaskElement.h:
46127 * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
46128 (WebCore::SVGStyledElement::invalidateResources):
46129 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
46130 * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
46131 (WebCore::toUnitType):
46132 * svg/graphics/SVGResource.h:
46134 (WebCore::SVGResource::isMarker):
46135 * svg/graphics/SVGResourceMasker.cpp: Removed.
46136 * svg/graphics/SVGResourceMasker.h: Removed.
46138 2010-02-18 Dumitru Daniliuc <dumi@chromium.org>
46140 Reviewed by Dimitri Glazkov.
46142 Allow creating/dropping virtual tables when the module is FTS2.
46144 https://bugs.webkit.org/show_bug.cgi?id=34867
46146 * storage/DatabaseAuthorizer.cpp:
46147 (WebCore::DatabaseAuthorizer::createVTable):
46148 (WebCore::DatabaseAuthorizer::dropVTable):
46150 2010-02-18 Peter Kasting <pkasting@google.com>
46152 Not reviewed, Chromium build fix.
46154 r54963 had a typo in the WebCore.gypi change.
46155 https://bugs.webkit.org/show_bug.cgi?id=35003
46159 2010-02-18 Vangelis Kokkevis <vangelis@chromium.org>
46161 Reviewed by Simon Fraser.
46163 Changing forward declaration of TimingFunction in GraphicsLayer.h from
46164 class to struct to match its actual definition in TimingFunction.h
46166 https://bugs.webkit.org/show_bug.cgi?id=35069
46169 * platform/graphics/GraphicsLayer.h:
46170 Change forward declaration from: class TimingFunction to:
46171 struct TimingFunction
46173 2010-02-18 Noam Rosenthal <noam.rosenthal@nokia.com>
46175 Reviewed by Kenneth Rohde Christiansen.
46177 [Qt] Minor improvement to hybrid QPixmap
46178 https://bugs.webkit.org/show_bug.cgi?id=34507
46179 Instead of having toHTMLImageElement which creates a new element,
46180 assignToHTMLImageElement would set an existing HTML <img/> element to
46181 contain the native QPixmap/QImge.
46182 Also made some style fixes.
46184 Additions to existing tests: see WebKit/qt/tests
46186 * bridge/qt/qt_pixmapruntime.cpp:
46187 (JSC::Bindings::QtPixmapWidthField::valueFromInstance): style
46188 (JSC::Bindings::QtPixmapHeightField::valueFromInstance): style
46189 (JSC::Bindings::QtPixmapAssignToElementMethod::name): assignTo
46190 (JSC::Bindings::QtPixmapAssignToElementMethod::invoke): new function
46191 (JSC::Bindings::QtPixmapAssignToElementMethod::numParameters): 1
46192 (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): style
46193 (JSC::Bindings::QtPixmapToStringMethod::invoke): style
46194 (JSC::Bindings::QtPixmapInstance::invokeMethod): style
46195 (JSC::Bindings::QtPixmapClass::methodsNamed): new func, removed old
46196 (JSC::Bindings::QtPixmapInstance::getPropertyNames): ditto
46197 (JSC::Bindings::QtPixmapInstance::defaultValue): style
46198 (JSC::Bindings::QtPixmapInstance::valueOf): style
46199 (JSC::Bindings::QtPixmapInstance::toPixmap): style
46200 (JSC::Bindings::QtPixmapInstance::variantFromObject): style
46202 2010-02-18 Peter Kasting <pkasting@google.com>
46204 Not reviewed, bustage fix.
46206 An extraneous line in r54839 broke GIF animation.
46208 * platform/image-decoders/gif/GIFImageReader.cpp:
46209 (GIFImageReader::read):
46211 2010-02-18 Dan Bernstein <mitz@apple.com>
46213 Reviewed by Simon Fraser.
46215 <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
46216 https://bugs.webkit.org/show_bug.cgi?id=34946
46218 Test: fast/repaint/selection-gap-overflow-scroll-2.html
46220 * rendering/RenderBlock.cpp:
46221 (WebCore::RenderBlock::paintSelection): localToContainerQuad() adjusts for
46222 overflow scroll, but RenderLayer::addBlockSelectionGapsBounds() takes
46223 non-scrolled coordinates, so account for that.
46225 2010-02-17 Dumitru Daniliuc <dumi@chromium.org>
46227 Reviewed by Darin Adler.
46229 Change the V8 and JSC SQLStatementErrorCallback to interpret
46230 'undefined' return values as 'true', as required by the spec.
46232 https://bugs.webkit.org/show_bug.cgi?id=35048
46234 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
46235 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
46236 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
46237 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
46238 * bindings/v8/custom/V8CustomVoidCallback.cpp:
46239 (WebCore::invokeCallbackHelper):
46240 (WebCore::invokeCallback):
46241 (WebCore::invokeCallbackTreatUndefinedAsTrue):
46242 * bindings/v8/custom/V8CustomVoidCallback.h:
46244 2010-02-17 Ojan Vafai <ojan@chromium.org>
46246 Reviewed by Adam Barth.
46248 keyboard selection sometimes moves the wrong end of the selection for Win/Linux
46249 https://bugs.webkit.org/show_bug.cgi?id=35066
46251 On Windows/Linux keyboard based selections should always move the same
46252 end of the seleciton. On Mac, lineboundary and documentboundary changes
46253 move different ends of the selection depending on which direction your
46256 Test: editing/selection/extend-after-mouse-selection.html
46258 * editing/SelectionController.cpp:
46259 (WebCore::SelectionController::positionForPlatform):
46260 (WebCore::SelectionController::startForPlatform):
46261 (WebCore::SelectionController::endForPlatform):
46262 (WebCore::SelectionController::modifyExtendingRight):
46263 (WebCore::SelectionController::modifyExtendingForward):
46264 (WebCore::SelectionController::modifyMovingForward):
46265 (WebCore::SelectionController::modifyExtendingBackward):
46266 (WebCore::SelectionController::modifyMovingBackward):
46267 * editing/SelectionController.h:
46269 2010-02-18 Timothy Hatcher <timothy@apple.com>
46271 Add "with" to the list of keywords to syntax highlight.
46273 http://webkit.org/b/35123
46275 Reviewed by Pavel Feldman.
46277 * inspector/front-end/SourceJavaScriptTokenizer.js:
46278 (WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords.
46279 * inspector/front-end/SourceJavaScriptTokenizer.re2js:
46280 (WebInspector.SourceJavaScriptTokenizer): Ditto.
46282 2010-02-17 Peter Kasting <pkasting@google.com>
46284 Reviewed by Adam Barth.
46286 Rework PNG-in-ICO decoding to copy the decoded framebuffer into the ICO
46287 decoder, making the logic less crazy and more like the other decoders.
46288 https://bugs.webkit.org/show_bug.cgi?id=28751
46290 * platform/image-decoders/ImageDecoder.cpp:
46291 (WebCore::RGBA32Buffer::operator=):
46292 * platform/image-decoders/ImageDecoder.h:
46293 (WebCore::RGBA32Buffer::RGBA32Buffer):
46294 * platform/image-decoders/ico/ICOImageDecoder.cpp:
46295 (WebCore::ICOImageDecoder::frameBufferAtIndex):
46296 (WebCore::ICOImageDecoder::decodeAtIndex):
46297 * platform/image-decoders/ico/ICOImageDecoder.h:
46298 * platform/image-decoders/qt/RGBA32BufferQt.cpp:
46299 (WebCore::RGBA32Buffer::operator=):
46300 * platform/image-decoders/skia/ImageDecoderSkia.cpp:
46301 (WebCore::RGBA32Buffer::operator=):
46303 2010-02-18 Pavel Feldman <pfeldman@chromium.org>
46305 Reviewed by Timothy Hatcher.
46307 Web Inspector: multiple popovers on screen at the same time.
46309 https://bugs.webkit.org/show_bug.cgi?id=35105
46311 * inspector/front-end/Popover.js:
46312 (WebInspector.Popover.prototype.show):
46313 (WebInspector.Popover.prototype.hide):
46314 * inspector/front-end/SourceFrame.js:
46315 (WebInspector.SourceFrame.prototype._showPopup):
46317 2010-02-18 Pavel Feldman <pfeldman@chromium.org>
46319 Reviewed by Timothy Hatcher.
46321 Web Inspector: Expand Object.__proto__ properly.
46323 https://bugs.webkit.org/show_bug.cgi?id=35113
46325 * inspector/front-end/EventListenersSidebarPane.js:
46326 * inspector/front-end/InjectedScript.js:
46327 (injectedScriptConstructor):
46328 * inspector/front-end/ObjectProxy.js:
46329 (WebInspector.ObjectProxy):
46330 * inspector/front-end/PropertiesSidebarPane.js:
46331 (WebInspector.PropertiesSidebarPane.prototype.update.callback):
46332 * inspector/front-end/inspector.js:
46333 (WebInspector.log.logMessage):
46334 (WebInspector.log):
46336 2010-02-18 Nate Chapin <japhet@chromium.org>
46338 Reviewed by Adam Barth.
46340 [V8] Merge the DOMWindow and WorkerContext object wrapping code paths,
46341 and use a faster method of disambiguating between the types of contexts.
46343 https://bugs.webkit.org/show_bug.cgi?id=35009
46345 * bindings/scripts/CodeGeneratorV8.pm: Remove logic determining whether we need to
46346 handle the WorkerContext case.
46347 * bindings/v8/V8DOMWrapper.cpp:
46348 (WebCore::globalObjectPrototypeIsDOMWindow):
46349 (WebCore::V8DOMWrapper::instantiateV8Object): Merge instantiateV8Object paths.
46350 * bindings/v8/V8DOMWrapper.h:
46352 2010-02-12 Brett Wilson <brettw@chromium.org>
46354 Reviewed by Adam Barth.
46356 Update the Google-URL version of KURL and the V8 bindings to the new
46357 behavior of KURL.IsStandard.
46359 https://bugs.webkit.org/show_bug.cgi?id=34859
46361 This is covered by fast/dom/Window/invalid-protocol.html
46363 * bindings/v8/custom/V8LocationCustom.cpp:
46364 (WebCore::V8Location::protocolAccessorSetter):
46365 * platform/KURLGoogle.cpp:
46366 (WebCore::KURL::setProtocol):
46367 (WebCore::KURL::isHierarchical):
46369 2010-02-18 Xan Lopez <xlopez@igalia.com>
46371 Reviewed by Gustavo Noronha.
46373 Remove some duplication between PluginView and Widget methods, and
46374 move the setSelfVisible calls to the parent class.
46376 * platform/gtk/WidgetGtk.cpp:
46377 (WebCore::Widget::show):
46378 (WebCore::Widget::hide):
46379 * plugins/gtk/PluginViewGtk.cpp:
46380 (WebCore::PluginView::setFocus):
46381 (WebCore::PluginView::show):
46382 (WebCore::PluginView::hide):
46384 2010-02-18 Simon Fraser <simon.fraser@apple.com>
46386 Reviewed by Darin Adler.
46388 <rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks
46390 Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods
46391 used for Core Graphics gradient drawing.
46393 * platform/graphics/Gradient.h:
46394 * platform/graphics/cg/GradientCG.cpp:
46395 (WebCore::Gradient::platformDestroy):
46396 (WebCore::Gradient::paint):
46398 2010-02-18 Pavel Feldman <pfeldman@chromium.org>
46400 Reviewed by Timothy Hatcher.
46402 Web Inspector: on-hover evaluation renders nodes and arrays as strings.
46404 https://bugs.webkit.org/show_bug.cgi?id=35103
46406 * inspector/front-end/SourceFrame.js:
46407 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
46409 2010-02-18 Brady Eidson <beidson@apple.com>
46411 Reviewed by Sam Weinig.
46413 Particularly constructed WebFrames can try to access a null HistoryItem
46414 <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063
46416 Test: fast/loader/api-test-new-window-data-load-base-url.html
46418 * loader/HistoryController.cpp:
46419 (WebCore::HistoryController::updateBackForwardListForFragmentScroll): We have a known case where a fragment scroll
46420 might take place with a null m_currentItem. updateBackForwardListClippedAtTarget() will either move m_currentItem
46421 to m_previousItem then create a new m_currentItem... or it will do nothing. So we either have both an m_currentItem
46422 and m_previousItem, or we have neither. In the case where we have no m_previousItem, return early.
46424 2010-02-18 Nate Chapin <japhet@chromium.org>
46426 Reviewed by Eric Seidel.
46428 [V8] Correctly handle the case where the event field on the
46429 global object is a v8::Object, but not a DOM wrapper.
46431 https://bugs.webkit.org/show_bug.cgi?id=34899
46433 Test: fast/dom/Window/window-event-override-no-crash.html
46435 * bindings/v8/ScriptController.cpp:
46436 (WebCore::ScriptController::processingUserGesture):
46437 * bindings/v8/V8DOMWrapper.cpp:
46438 (WebCore::V8DOMWrapper::isValidDOMObject):
46439 (WebCore::V8DOMWrapper::isWrapperOfType):
46440 * bindings/v8/V8DOMWrapper.h:
46442 2010-02-18 Pavel Feldman <pfeldman@chromium.org>
46444 Not reviewed, Qt build fix.
46446 * inspector/front-end/WebKit.qrc:
46448 2010-02-18 Pavel Feldman <pfeldman@chromium.org>
46450 Reviewed by Timothy Hatcher.
46452 Web Inspector: Implement evaluate-on-hover for scripts panel.
46454 https://bugs.webkit.org/show_bug.cgi?id=35003
46457 * WebCore.vcproj/WebCore.vcproj:
46458 * inspector/front-end/Images/gearButtonGlyph.png: Added.
46459 * inspector/front-end/Images/popoverArrows.png: Added.
46460 * inspector/front-end/Images/popoverBackground.png: Added.
46461 * inspector/front-end/Images/thumbActiveHoriz.png: Added.
46462 * inspector/front-end/Images/thumbActiveVert.png: Added.
46463 * inspector/front-end/Images/thumbHoriz.png: Added.
46464 * inspector/front-end/Images/thumbHoverHoriz.png: Added.
46465 * inspector/front-end/Images/thumbHoverVert.png: Added.
46466 * inspector/front-end/Images/thumbVert.png: Added.
46467 * inspector/front-end/Images/trackHoriz.png: Added.
46468 * inspector/front-end/Images/trackVert.png: Added.
46469 * inspector/front-end/Popup.js:
46470 (WebInspector.Popup):
46471 (WebInspector.Popup.prototype.show):
46472 (WebInspector.Popup.prototype.hide):
46473 (WebInspector.Popup.prototype._positionElement):
46474 * inspector/front-end/SourceFrame.js:
46475 (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
46476 (WebInspector.SourceFrame.prototype._scroll):
46477 (WebInspector.SourceFrame.prototype._mouseDown):
46478 (WebInspector.SourceFrame.prototype._mouseUp):
46479 (WebInspector.SourceFrame.prototype._mouseMove):
46480 (WebInspector.SourceFrame.prototype._mouseOut):
46481 (WebInspector.SourceFrame.prototype._resetHoverTimer):
46482 (WebInspector.SourceFrame.prototype._hidePopup):
46483 (WebInspector.SourceFrame.prototype._mouseHover):
46484 (WebInspector.SourceFrame.prototype._showPopup.showTextPopup):
46485 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
46486 (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
46487 (WebInspector.SourceFrame.prototype._showPopup):
46488 (WebInspector.HoverPropertiesSection):
46489 (WebInspector.HoverPropertiesSection.prototype.update):
46490 * inspector/front-end/TextEditorHighlighter.js:
46491 (WebInspector.TextEditorHighlighter):
46492 (WebInspector.TextEditorHighlighter.prototype._lex):
46493 * inspector/front-end/TextViewer.js:
46494 (WebInspector.TextViewer.prototype._paintLine):
46495 * inspector/front-end/WebKit.qrc:
46496 * inspector/front-end/inspector.css:
46497 * inspector/front-end/inspector.html:
46498 * inspector/front-end/inspectorSyntaxHighlight.css:
46499 * inspector/front-end/popover.css: Added.
46501 2010-02-18 Ben Murdoch <benm@google.com>
46503 Reviewed by Jeremy Orlow.
46505 [v8] Complete upstreaming of V8 Touch Event bindings
46506 https://bugs.webkit.org/show_bug.cgi?id=35094
46508 No new tests required.
46510 * bindings/v8/V8Index.cpp: Add generated touch event headers.
46512 2010-02-18 Steve Block <steveblock@google.com>
46514 Reviewed by Jeremy Orlow.
46516 Updates Android V8 build to use DerivedSourcesAllInOne.cpp
46517 https://bugs.webkit.org/show_bug.cgi?id=35083
46519 No new tests, build fix only.
46521 * Android.derived.v8bindings.mk:
46522 * Android.v8bindings.mk:
46524 2010-02-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
46526 Reviewed by Xan Lopez.
46528 fast/frames/iframe-reparenting.html crashing on GTK Debug bots
46529 https://bugs.webkit.org/show_bug.cgi?id=35081
46531 Check that the client is alive after every call to it, since any
46532 of them could cause the load to be cancelled, and the client to go
46535 This is much better than protecting a specific subclass of
46536 ResourceHandleClient (ResourceLoader), which makes us fail when
46537 any other client is used.
46539 Test: fast/frames/iframe-reparenting.html
46541 * platform/network/soup/ResourceHandleSoup.cpp:
46542 (WebCore::parseDataUrl):
46544 2010-02-18 Ben Murdoch <benm@google.com>
46546 Reviewed by Nate Chapin.
46548 [v8] [Android] V8 bindings for touch events are missing.
46549 https://bugs.webkit.org/show_bug.cgi?id=33795
46551 No new tests as this just enables touch events in V8. Existing touch tests suffice.
46553 * WebCore.gypi: Add Touch idl files.
46554 * bindings/scripts/CodeGeneratorV8.pm: Add TouchList to typeCanFailConversion map.
46555 * bindings/v8/DOMObjectsInclude.h: Add touch headers.
46556 * bindings/v8/DerivedSourcesAllInOne.cpp: Add touch generated bindings.
46557 * bindings/v8/V8Index.h: Add touch DOM object types.
46558 * bindings/v8/custom/V8EventCustom.cpp: Add conversion of event to touch event.
46559 * Android.derived.jscbindings.mk: Add the touch derived sources to the makefile.
46560 * Android.derived.v8bindings.mk: Add the touch derived sources to the makefile.
46562 2010-02-18 William Chan <willchan@chromium.org>
46564 Reviewed by Adam Barth.
46566 https://bugs.webkit.org/show_bug.cgi?id=35071
46567 Disable loader limiting of requests per host for the chromium port.
46569 No tests because we're only changing a constant.
46571 * platform/network/chromium/ResourceRequest.cpp:
46572 (WebCore::initializeMaximumHTTPConnectionCountPerHost):
46574 2010-02-18 Xan Lopez <xlopez@igalia.com>
46576 Reviewed by Eric Seidel.
46578 [Linux] Webkit incompatible with Java plugins
46579 https://bugs.webkit.org/show_bug.cgi?id=24912
46581 The NP Version supported by WebKit is at the moment hardcoded in
46582 PluginPackage.cpp (to 24), but not all backends actually implement
46583 the methods needed to claim this. Introduce a new method to be
46584 implemented by each backend where the maximum supported version
46585 can be specified, and set the GTK+ port NPVersion to 19. This
46586 fixes an instantaneous crasher in the Sun Java NPAPI plugin.
46588 * plugins/PluginPackage.cpp:
46589 (WebCore::PluginPackage::initializeBrowserFuncs):
46590 * plugins/PluginPackage.h:
46591 * plugins/gtk/PluginPackageGtk.cpp:
46592 (WebCore::PluginPackage::NPVersion):
46593 * plugins/mac/PluginPackageMac.cpp:
46594 (WebCore::PluginPackage::NPVersion):
46595 * plugins/qt/PluginPackageQt.cpp:
46596 (WebCore::PluginPackage::NPVersion):
46597 * plugins/symbian/PluginPackageSymbian.cpp:
46598 (WebCore::PluginPackage::NPVersion):
46599 * plugins/win/PluginPackageWin.cpp:
46600 (WebCore::PluginPackage::NPVersion):
46602 2010-02-17 Dmitry Titov <dimich@chromium.org>
46604 Reviewed by David Levin, Darin Fisher, Simon Hausmann.
46606 When a live iframe element is moved between pages, it still depends on the old page.
46607 https://bugs.webkit.org/show_bug.cgi?id=34382
46609 Test: fast/frames/iframe-reparenting-new-page.html
46611 * html/HTMLFrameElementBase.cpp:
46612 (WebCore::HTMLFrameElementBase::setName):
46613 Move the code setting the frame name into a separate function.
46615 (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
46616 (WebCore::HTMLFrameElementBase::updateOnReparenting):
46617 Called on the frame that was just re-parented and inserted into another Document.
46618 Simply invoke Frame::transferChildFrameToNewDocument(...);
46620 (WebCore::HTMLFrameElementBase::insertedIntoDocument):
46621 * html/HTMLFrameElementBase.h:
46622 * html/HTMLFrameOwnerElement.h:
46623 (WebCore::HTMLFrameOwnerElement::setName):
46624 Make this a virtual function, to be able to reach it via Frame::m_ownerElement.
46626 * loader/EmptyClients.h:
46627 (WebCore::EmptyFrameLoaderClient::adoptFrame):
46628 * loader/FrameLoaderClient.h:
46629 Add a new method, didTransferChildFrameToNewDocument().
46630 It compliments createFrame() in that a frame which was re-parented
46631 in DOM and potentially changes Page, should notify the WebKit
46632 implementation about potential ownership change.
46633 Many embedders assume that Page owns all the Frames, or at least
46634 all Frames are destroyed before 'their' Page is destroyed. Obviously, if Frame
46635 can be transferred to another Page, the embedders should be notified.
46638 (WebCore::Frame::transferChildFrameToNewDocument):
46639 Added, makes actual adjustments for Frame - resets the Page,
46640 updates the frame tree and frame name, calls to FrameLoaderClient
46641 to update external objects and recurses into children.
46642 Can only be used on child frames.
46646 2010-02-17 Tony Chang <tony@chromium.org>
46648 Reviewed by Eric Seidel.
46650 Copying and pasting into a contenteditable area can create <div>s surrounded by <span>s
46651 https://bugs.webkit.org/show_bug.cgi?id=26937
46653 This happens because of a span added when we copy that is used to
46654 preserve styles. To avoid this, when we paste, make sure to apply
46655 the styles to the span's children and then remove the style span.
46657 This change is covered by existing layout tests.
46659 * editing/ReplaceSelectionCommand.cpp:
46660 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
46661 (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
46662 * editing/ReplaceSelectionCommand.h:
46664 2010-02-17 Tony Chang <tony@chromium.org>
46666 Reviewed by Eric Seidel.
46668 https://bugs.webkit.org/show_bug.cgi?id=34914
46669 When pasting absolute font sizes into a content editable area with
46670 page zoom, adjust the font sizes to be the same after page zoom is
46673 Test: editing/pasteboard/page-zoom.html
46675 * editing/ReplaceSelectionCommand.cpp:
46676 (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
46678 2010-02-17 Tony Chang <tony@chromium.org>
46680 Reviewed by Eric Seidel.
46682 https://bugs.webkit.org/show_bug.cgi?id=34737
46683 Copying styled list items then pasting into a list
46684 should work the same as copying unstyle list items:
46685 it shouldn't indent an extra level, but styles should
46688 Small cleanups to insertAsListItems to make variable names
46691 Test: editing/pasteboard/paste-list-003.html
46693 * editing/ReplaceSelectionCommand.cpp:
46694 (WebCore::ReplaceSelectionCommand::doApply):
46695 (WebCore::ReplaceSelectionCommand::insertAsListItems):
46697 2010-02-17 Kwang Yul Seo <skyul@company100.net>
46699 Reviewed by Eric Seidel.
46701 [BREWMP] Port PlatformKeyboardEvent
46702 https://bugs.webkit.org/show_bug.cgi?id=34794
46704 Retrieve the type, key code, text and modifiers from BREW's keyboard event.
46706 * platform/PlatformKeyboardEvent.h:
46707 * platform/brew/PlatformKeyboardEventBrew.cpp: Added.
46708 (WebCore::keyIdentifierForBrewKeyCode):
46709 (WebCore::windowsKeyCodeForKeyEvent):
46710 (WebCore::singleCharacterString):
46711 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
46712 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
46713 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
46715 2010-02-17 Hayato Ito <hayato@chromium.org>
46717 Reviewed by Eric Seidel.
46719 Support CSS page-break-inside with a value of 'avoid'.
46721 https://bugs.webkit.org/show_bug.cgi?id=34080
46723 Test: printing/page-break-inside.html
46725 * rendering/RenderBlock.cpp:
46726 (WebCore::RenderBlock::paintChildren):
46728 2010-02-17 Fumitoshi Ukai <ukai@chromium.org>
46730 Reviewed by Alexey Proskuryakov.
46732 WebSocket bufferedAmount should not be 0 when send after close.
46733 https://bugs.webkit.org/show_bug.cgi?id=34633
46735 Fixed bug in webkit r54694. check m_client after it calls user
46736 callback, because user callback may call close(), which would
46737 call onclose event handler.
46739 Test: websocket/tests/bufferedAmount-after-close.html
46741 * websockets/ThreadableWebSocketChannelClientWrapper.h:
46742 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
46743 * websockets/WebSocket.cpp:
46744 (WebCore::WebSocket::WebSocket):
46745 (WebCore::WebSocket::send):
46746 (WebCore::WebSocket::close):
46747 (WebCore::WebSocket::bufferedAmount):
46748 (WebCore::WebSocket::didConnect):
46749 (WebCore::WebSocket::didClose):
46750 * websockets/WebSocket.h:
46751 * websockets/WebSocketChannel.cpp:
46752 (WebCore::WebSocketChannel::WebSocketChannel):
46753 (WebCore::WebSocketChannel::send):
46754 (WebCore::WebSocketChannel::bufferedAmount):
46755 (WebCore::WebSocketChannel::didClose):
46756 (WebCore::WebSocketChannel::didReceiveData):
46757 * websockets/WebSocketChannel.h:
46758 * websockets/WebSocketChannelClient.h:
46759 (WebCore::WebSocketChannelClient::didClose):
46760 * websockets/WorkerThreadableWebSocketChannel.cpp:
46761 (WebCore::workerContextDidClose):
46762 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
46763 * websockets/WorkerThreadableWebSocketChannel.h:
46765 2010-02-17 Yuzo Fujishima <yuzo@google.com>
46767 Reviewed by Eric Seidel.
46769 In diffing render styles, consider all pseudo style changes.
46770 Without this patch, only :before and :after are considered. This is the cause of the following bug.
46771 https://bugs.webkit.org/show_bug.cgi?id=32187
46773 Test: fast/css/first-letter-first-line-hover.html
46776 (WebCore::Node::diff):
46777 * rendering/style/RenderStyle.cpp:
46778 (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
46779 * rendering/style/RenderStyle.h:
46780 * rendering/style/RenderStyleConstants.h:
46783 2010-02-17 Kwang Yul Seo <skyul@company100.net>
46785 Reviewed by Eric Seidel.
46787 [BREWMP] Add WebCore::prefetchDNS
46788 https://bugs.webkit.org/show_bug.cgi?id=34873
46790 DNS prefetching is not implemented because the maximum number
46791 of UDP sockets is quite small in most BREW devices.
46793 * platform/network/brew/DNSBrew.cpp: Added.
46794 (WebCore::prefetchDNS):
46796 2010-02-17 Kent Tamura <tkent@chromium.org>
46798 Reviewed by Eric Seidel.
46800 Introduces new Icon loading interface in order to support
46801 asynchronous loading.
46802 https://bugs.webkit.org/show_bug.cgi?id=32054
46804 It's hard for Chromium port to load an icon inside
46805 Icon::createIconForFiles() because of sanbox and multi-process
46806 architecture. So this change adds a method to request an icon to
46807 Chrome class, and makes FileChooser receives an Icon instance
46808 asynchronously. Synchronous loading also works with the new interface.
46810 Because all ports don't have implementations of Chrome::iconForFiles()
46811 yet, FileChooser tries to load an Icon synchronously with
46812 Icon::createIconForFiles(), then tries to load an Icon asynchronously
46813 with Chrome::iconForFiles() if Icon::createIconForFiles() returns 0.
46815 The existing Icon::createIconForFiles() implementations should be
46816 moved to Chrome::iconForFiles(). We're going to remove
46817 Icon::createIconForFiles().
46819 * loader/EmptyClients.h:
46820 (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation.
46822 (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles().
46824 * page/ChromeClient.h:
46825 (WebCore::ChromeClient::iconForFiles): Add a declaration as a pure virtual method.
46826 * platform/FileChooser.cpp:
46827 (WebCore::FileChooser::FileChooser): Use loadIcon().
46828 (WebCore::FileChooser::chooseFiles): ditto.
46829 (WebCore::FileChooser::loadIcon): Added.
46830 (WebCore::FileChooser::iconLoaded): Added.
46831 * platform/FileChooser.h: Add two methods to FileChooserClient; repaint() and iconForFiles().
46832 * platform/graphics/Icon.h: Add a FIXME comment.
46833 * platform/graphics/gtk/IconGtk.cpp: ditto.
46834 * platform/graphics/mac/IconMac.mm: ditto.
46835 * platform/graphics/qt/IconQt.cpp: ditto.
46836 * platform/graphics/win/IconWin.cpp: ditto.
46837 * rendering/RenderFileUploadControl.cpp:
46838 (WebCore::RenderFileUploadControl::iconForFiles): Delegate to Chrome::iconForFiles().
46839 (WebCore::RenderFileUploadControl::click): Use chrome().
46840 (WebCore::RenderFileUploadControl::chrome):
46841 * rendering/RenderFileUploadControl.h:
46842 (WebCore::RenderFileUploadControl::repaint):
46844 2010-02-17 Mark Rowe <mrowe@apple.com>
46846 Reviewed by Darin Adler.
46848 Bug 35065: Delay between page loading and animated GIF playing
46849 <http://webkit.org/b/35065> / <rdar://problem/7109548>
46851 BitmapImage::startAnimation was adding the current frame duration to the desired start time
46852 of the frame for every time it was called. If the function then bailed out due to not having
46853 sufficient data to render the frame, this would lead to the desired start time of the frame
46854 being pushed out multiple times. On an animated GIF that took mulitple seconds to load this
46855 could happen many times for a single frame, resulting in the start time of the second frame
46856 of the animation being pushed out by as much as five seconds.
46858 * platform/graphics/BitmapImage.cpp:
46859 (WebCore::BitmapImage::startAnimation): Change the order of the code slightly so that the
46860 desired start time is only updated after determining that we have sufficient data to handle
46863 2010-02-17 Stephan Aßmus <superstippi@gmx.de>
46865 Reviewed by Eric Seidel.
46867 Implemented homeDirectoryPath() and listDirectory() on the Haiku platform.
46868 https://bugs.webkit.org/show_bug.cgi?id=34687
46870 Covered by existing tests.
46872 * platform/haiku/FileSystemHaiku.cpp:
46873 (WebCore::homeDirectoryPath): Implemented
46874 (WebCore::listDirectory): Implemented
46876 2010-02-17 Kwang Yul Seo <skyul@company100.net>
46878 Reviewed by Eric Seidel.
46880 [BREWMP] Port userIdleTime
46881 https://bugs.webkit.org/show_bug.cgi?id=34259
46883 Return an arbitrarily high userIdleTime so that releasing pages from the page
46884 cache isn't postponed.
46886 * platform/brew/SystemTimeBrew.cpp: Added.
46887 (WebCore::userIdleTime):
46889 2010-02-17 Dirk Schulze <krit@webkit.org>
46891 Rolling out r54909. Breaks SL and Win.
46893 2010-02-17 Dumitru Daniliuc <dumi@chromium.org>
46895 Reviewed by Dimitri Glazkov.
46897 Fix Chromium's bindings for Database.transaction(): a 'null'
46898 callback should be treated as no callback.
46900 Test: storage/null-callbacks.html
46902 https://bugs.webkit.org/show_bug.cgi?id=35047
46904 * bindings/v8/custom/V8DatabaseCustom.cpp:
46905 (WebCore::createTransaction):
46907 2010-02-17 Dirk Schulze <krit@webkit.org>
46909 Reviewed by Nikolas Zimmermann.
46911 Move SVGResources to Renderers, starting with Masker
46912 https://bugs.webkit.org/show_bug.cgi?id=35020
46914 We have rendering specific code in WebCore/svg/graphics. The goal is to move
46915 this code into suitable Renderers. This helps us to clean up the code and makes
46916 maintenance easier. It also makes it possible to remove rendering specific code
46917 from SVG*Elements into this renderers. So the Renderer contains everything that
46918 is needed to use the resource.
46919 RenderSVGResource will be the base class for all new resource render classes like
46920 RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
46922 This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
46923 Another benefit is the much more useful result in DRT on using masker.
46929 * WebCore.vcproj/WebCore.vcproj:
46930 * WebCore.xcodeproj/project.pbxproj:
46931 * rendering/RenderObject.cpp:
46932 (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
46933 * rendering/RenderObject.h:
46934 (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
46935 * rendering/RenderPath.cpp:
46936 * rendering/RenderSVGImage.cpp:
46937 (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
46938 * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
46939 (WebCore::RenderSVGImage::toSVGRenderBase):
46940 (WebCore::RenderSVGImage::renderName):
46941 (WebCore::RenderSVGImage::isSVGImage):
46942 (WebCore::RenderSVGImage::localToParentTransform):
46943 (WebCore::RenderSVGImage::strokeBoundingBox):
46944 (WebCore::RenderSVGImage::requiresLayer):
46945 (WebCore::RenderSVGImage::localTransform):
46946 * rendering/RenderSVGInlineText.h:
46947 (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
46948 * rendering/RenderSVGModelObject.cpp:
46949 (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
46950 * rendering/RenderSVGModelObject.h:
46951 * rendering/RenderSVGResource.h: Added.
46952 (WebCore::): Base class for all Resource renderers like masker, clipper and others.
46953 (WebCore::RenderSVGResource::RenderSVGResource):
46954 (WebCore::RenderSVGResource::cast):
46955 (WebCore::RenderSVGResource::toRenderSVGResource):
46956 (WebCore::RenderSVGResource::isSVGResource):
46957 (WebCore::RenderSVGResource::drawsContents):
46958 (WebCore::getRenderSVGResourceById):
46959 * rendering/RenderSVGResourceMasker.cpp: Added.
46960 (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
46961 (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
46962 (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
46963 (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
46964 (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
46965 (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
46966 (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
46967 * rendering/RenderSVGResourceMasker.h: Added.
46968 (WebCore::MaskerData::MaskerData):
46969 (WebCore::RenderSVGResourceMasker::renderName):
46970 (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
46971 (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
46972 (WebCore::RenderSVGResourceMasker::resourceType):
46973 * rendering/RenderSVGRoot.cpp:
46974 (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
46975 * rendering/RenderSVGRoot.h:
46976 * rendering/RenderSVGText.cpp:
46977 (WebCore::RenderSVGText::destroy): dito.
46978 * rendering/RenderSVGText.h:
46979 * rendering/RenderTreeAsText.cpp:
46981 * rendering/SVGRenderSupport.cpp:
46982 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
46983 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
46984 (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
46985 * rendering/SVGRenderSupport.h:
46986 (WebCore::SVGRenderBase::toSVGRenderBase):
46987 (WebCore::SVGRenderBase::strokeBoundingBox):
46988 (WebCore::SVGRenderBase::markerBoundingBox):
46989 * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
46990 (WebCore::operator<<):
46991 (WebCore::writeSVGResource):
46992 (WebCore::writeSVGContainer):
46993 (WebCore::writeSVGText):
46994 (WebCore::writeSVGInlineText):
46995 (WebCore::writeSVGImage):
46997 (WebCore::writeResourcesToObject):
46998 * rendering/SVGRenderTreeAsText.h:
46999 * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
47000 (WebCore::SVGMaskElement::svgAttributeChanged):
47001 (WebCore::SVGMaskElement::childrenChanged):
47002 (WebCore::SVGMaskElement::maskBoundingBox):
47003 (WebCore::SVGMaskElement::createRenderer):
47004 * svg/SVGMaskElement.h:
47005 * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
47006 (WebCore::SVGStyledElement::invalidateResources):
47007 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
47008 * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
47009 (WebCore::toUnitType):
47010 * svg/graphics/SVGResource.h:
47012 (WebCore::SVGResource::isMarker):
47013 * svg/graphics/SVGResourceMasker.cpp: Removed.
47014 * svg/graphics/SVGResourceMasker.h: Removed.
47016 2010-02-17 Kenneth Russell <kbr@google.com>
47018 Reviewed by Oliver Hunt.
47020 Refactor texImage2D and texSubImage2D taking Image to use common code
47021 https://bugs.webkit.org/show_bug.cgi?id=34458
47023 Merged the Safari and Chromium code which extracts the data from
47024 Image objects into common entry points on GraphicsContext3D. This
47025 immediately fixes the following three problems:
47026 - Chromium not implementing texSubImage2D taking Image.
47027 - Safari not obeying the flipY parameter to texImage2D or
47028 texSubImage2D taking Image.
47029 - Safari not obeying the premultipyAlpha parameter to texImage2D
47030 or texSubImage2D taking Image.
47031 Added new test verifying the behavior of texImage2D and
47032 texSubImage2D and the flipY parameter. The premultiplyAlpha
47033 parameter can not be tested yet as the implementation is not yet
47034 spec compliant. This will be fixed in a follow-on bug.
47036 Ran all WebGL demos in demo repository on Safari and Chromium;
47037 textures are now the right way up in both browsers, and
47038 transparent textures in Particles demo now look correct in Safari.
47040 Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
47042 * WebCore.gyp/WebCore.gyp:
47044 * WebCore.xcodeproj/project.pbxproj:
47045 * platform/graphics/GraphicsContext3D.cpp: Added.
47046 (WebCore::GraphicsContext3D::extractImageData):
47047 (WebCore::GraphicsContext3D::processImageData):
47048 (WebCore::GraphicsContext3D::premultiplyAlpha):
47049 (WebCore::GraphicsContext3D::unmultiplyAlpha):
47050 * platform/graphics/GraphicsContext3D.h:
47051 (WebCore::GraphicsContext3D::):
47052 * platform/graphics/cg/GraphicsContext3DCG.cpp: Added.
47053 (WebCore::GraphicsContext3D::getImageData):
47054 * platform/graphics/mac/GraphicsContext3DMac.cpp:
47055 (WebCore::GraphicsContext3D::texImage2D):
47056 (WebCore::GraphicsContext3D::texSubImage2D):
47057 * platform/graphics/skia/GraphicsContext3DSkia.cpp: Added.
47058 (WebCore::GraphicsContext3D::getImageData):
47060 2010-02-17 Noam Rosenthal <noam.rosenthal@nokia.com>
47062 Reviewed by Ariya Hidayat.
47064 [Qt] GraphicsLayer: support perspective and 3D transforms
47065 https://bugs.webkit.org/show_bug.cgi?id=34960
47067 New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html
47069 * platform/graphics/qt/GraphicsLayerQt.cpp:
47070 (WebCore::GraphicsLayerQtImpl::updateTransform):
47071 (WebCore::GraphicsLayerQtImpl::setBaseTransform):
47072 (WebCore::GraphicsLayerQtImpl::computeTransform):
47073 (WebCore::GraphicsLayerQtImpl::flushChanges):
47074 (WebCore::TransformAnimationQt::~TransformAnimationQt):
47076 2010-02-17 Peter Kasting <pkasting@google.com>
47078 Unreviewed, build fix.
47080 Fix crashes due to an omitted line in r54839.
47082 * platform/image-decoders/png/PNGImageDecoder.cpp:
47083 (WebCore::decodingFailed):
47085 2010-02-17 Alok Priyadarshi <alokp@chromium.org>
47087 Reviewed by Ariya Hidayat.
47089 Bug 34900: Implement accelerated compositing for chromium.
47090 https://bugs.webkit.org/show_bug.cgi?id=34900
47092 Do not exclude files needed for accelerated compositing. In fact there is no need to exclude these files.
47093 These files are already guarded with WTF_USE_ACCELERATED_COMPOSITING flag.
47095 * WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp,
47096 and RenderLayerCompositor.cpp from excluded list.
47098 2010-02-17 Jian Li <jianli@chromium.org>
47100 Reviewed by Darin Fisher.
47102 [chromium] Remove the obsolete chromium interface for handling DownloadURL.
47103 https://bugs.webkit.org/show_bug.cgi?id=34982
47105 * platform/chromium/ChromiumDataObject.cpp:
47106 (WebCore::ChromiumDataObject::clear):
47107 (WebCore::ChromiumDataObject::hasData):
47108 (WebCore::ChromiumDataObject::ChromiumDataObject):
47109 * platform/chromium/ChromiumDataObject.h:
47110 * platform/chromium/ClipboardChromium.cpp:
47111 (WebCore::ClipboardChromium::setData):
47113 2010-02-17 Dan Bernstein <mitz@apple.com>
47115 Reviewed by Darin Adler.
47117 <rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns
47119 * manual-tests/match-marker-rects.html: Added.
47120 * rendering/InlineTextBox.cpp:
47121 (WebCore::InlineTextBox::paintTextMatchMarker): Use the text renderer rather
47122 than its ancestor block for the local-to-absolute transformation.
47123 (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
47125 2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
47127 Reviewed by Xan Lopez.
47129 Does not send an Accept header for subresources, causing some sites to break
47130 https://bugs.webkit.org/show_bug.cgi?id=33242
47132 Set */* as the Accept header when downloading resources
47133 that did not set an Accept header. This behaviour is similar to
47134 the one adopted by Chromium.
47136 Test: http/tests/misc/image-checks-for-accept.html
47138 * platform/network/soup/ResourceHandleSoup.cpp:
47139 (WebCore::startHttp):
47141 2010-02-17 Marcus Bulach <bulach@chromium.org>
47143 Reviewed by Jeremy Orlow.
47145 Fixes initialization order of members for GeolocationServiceChromium.
47146 https://bugs.webkit.org/show_bug.cgi?id=35034
47148 * platform/chromium/GeolocationServiceChromium.cpp:
47150 2010-02-17 Xan Lopez <xlopez@igalia.com>
47152 Reviewed by Gustavo Noronha.
47154 [Linux] Webkit incompatible with Java plugins
47155 https://bugs.webkit.org/show_bug.cgi?id=24912
47157 Resolve symlinks before trying to load plugins as modules, since
47158 GModule won't do it.
47160 Based on original work by Gustavo Noronha.
47162 * plugins/gtk/PluginPackageGtk.cpp:
47163 (WebCore::PluginPackage::load):
47165 2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
47167 Reviewed by Xan Lopez.
47169 Protect the resource loader object from disappearing during
47172 Tested by testdownload API test.
47174 * platform/network/soup/ResourceHandleSoup.cpp:
47175 (WebCore::parseDataUrl):
47177 2010-02-17 Marcus Bulach <bulach@chromium.org>
47179 Reviewed by Jeremy Orlow.
47181 Implements GeolocationServices for Chromium.
47182 https://bugs.webkit.org/show_bug.cgi?id=32068
47184 This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass.
47187 * page/Geolocation.h:
47188 * platform/GeolocationService.h:
47190 2010-02-17 Steve Block <steveblock@google.com>
47192 Reviewed by Ariya Hidayat.
47194 Adds missing platform and feature guards to V8 bindings
47195 https://bugs.webkit.org/show_bug.cgi?id=34987
47197 No new tests, build fix only.
47199 * bindings/v8/V8Proxy.cpp: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
47200 * bindings/v8/V8Proxy.h: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
47201 * bindings/v8/custom/V8DocumentCustom.cpp: Modified. Adds XPATH guards
47203 2010-02-17 Steve Block <steveblock@google.com>
47205 Reviewed by Ariya Hidayat.
47207 Include WebCore's npruntime.h for Android in V8 bindings
47208 https://bugs.webkit.org/show_bug.cgi?id=35002
47210 Currently, the V8 bindings include bindings/npruntime.h, which is a
47211 Chromium-specific file outside of the WebKit tree.
47213 No new tests, build fix only.
47215 * bindings/v8/NPV8Object.cpp:
47216 * bindings/v8/NPV8Object.h:
47217 * bindings/v8/V8NPObject.h:
47218 * bindings/v8/V8NPUtils.h:
47219 * bindings/v8/npruntime_impl.h:
47220 * bindings/v8/npruntime_priv.h:
47222 2010-01-07 Philippe Normand <pnormand@igalia.com>
47224 Reviewed by Gustavo Noronha Silva.
47226 [GStreamer] Should handle BUFFERING messages
47227 https://bugs.webkit.org/show_bug.cgi?id=30004
47229 Initial support for on-disk buffering of videos. This works only
47230 for Quicktime and flv though.
47232 * css/mediaControlsGtk.css:
47233 * platform/gtk/RenderThemeGtk.cpp:
47234 (WebCore::RenderThemeGtk::paintMediaSliderTrack): Draw the
47235 buffering status in the media controls.
47236 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47237 (WebCore::mediaPlayerPrivateMessageCallback): Defer buffering
47238 messages handling to processBufferingStats().
47239 (WebCore::bufferingTimeoutCallback): Closure called periodically
47240 during the on-disk buffering process.
47241 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): New instance
47242 variables and create playbin2 here instead of doing it in load().
47243 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): New instance
47245 (WebCore::MediaPlayerPrivate::load): Simply set uri on playbin2
47246 instead of creating the pipeline and setting uri all together.
47247 (WebCore::MediaPlayerPrivate::processBufferingStats): Start a new
47248 timeout source if the player is starting on-disk buffering.
47249 (WebCore::MediaPlayerPrivate::queryBufferingStats): Method called
47250 200ms during on-disk buffering to update the maxTimeLoaded and few
47251 other private variables.
47252 (WebCore::MediaPlayerPrivate::maxTimeSeekable):
47253 (WebCore::MediaPlayerPrivate::maxTimeLoaded):
47254 (WebCore::MediaPlayerPrivate::bytesLoaded): Fixed implementations
47255 regarding buffering.
47256 (WebCore::MediaPlayerPrivate::totalBytes): Improved logging.
47257 (WebCore::MediaPlayerPrivate::updateStates): Start playback if it
47258 was internally paused at beginning of on-disk buffering and set
47259 ready/network states depending on the state of the on-disk
47261 (WebCore::MediaPlayerPrivate::didEnd): Emit durationChanged.
47262 (WebCore::MediaPlayerPrivate::setAutobuffer): Edit playbin2 flags
47263 property depending on autoBuffer value.
47264 (WebCore::MediaPlayerPrivate::createGSTPlayBin): Don't set uri
47265 there, it is now done in load().
47266 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: New methods
47267 and instance variables.
47269 2010-02-16 Chris Evans <cevans@chromium.org>
47271 Reviewed by Adam Barth.
47273 Add a new setting which gives the option of assigning every file:///
47274 to its own unique domain.
47276 https://bugs.webkit.org/show_bug.cgi?id=34778
47278 Test: Pending in forthcoming separate change due to non-trivial
47281 * dom/Document.cpp:
47282 (WebCore::Document::initSecurityContext): Place file:/// URI documents
47283 into their own unique domains if the new setting requires it.
47285 * page/Settings.cpp:
47286 (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter.
47287 * page/SecurityOrigin.h:
47288 * page/SecurityOrigin.cpp:
47289 (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an
47290 origin to be considered unique.
47292 2010-02-16 Pavel Feldman <pfeldman@chromium.org>
47294 Reviewed by Timothy Hatcher.
47296 Web Inspector: drosera/demo.js not syntax highlighted correctly.
47298 https://bugs.webkit.org/show_bug.cgi?id=35008
47300 * inspector/front-end/SourceTokenizer.js:
47301 (WebInspector.SourceTokenizer.Registry):
47302 (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
47304 2010-02-16 Pavel Feldman <pfeldman@chromium.org>
47306 Reviewed by Timothy Hatcher.
47308 Web Inspector: prefer smooth scrolling to instant highlight.
47310 https://bugs.webkit.org/show_bug.cgi?id=34978
47312 * inspector/front-end/TextViewer.js:
47313 (WebInspector.TextViewer):
47314 (WebInspector.TextViewer.prototype._scroll):
47315 (WebInspector.TextChunk):
47316 (WebInspector.TextChunk.prototype._createRow):
47317 * inspector/front-end/textViewer.css:
47319 2010-02-16 Yael Aharon <yael.aharon@nokia.com>
47321 Reviewed by Nikolas Zimmermann.
47323 SVG not rendered as background-image from data URI
47324 https://bugs.webkit.org/show_bug.cgi?id=33630
47326 When the background image is an SVG image, and it is smaller than the area
47327 it is supposed to fill, we were using renderSubTreeToImage to draw it.
47328 That call was not going through all the drawing phases, and so the SVG itself
47329 would not be drawn.
47331 Test: svg/css/background-image-svg.html
47333 * svg/graphics/SVGImage.cpp:
47334 (WebCore::SVGImage::nativeImageForCurrentFrame):
47336 2010-02-16 Bryan Yeung <bryeung@chromium.org>
47338 Reviewed by Nikolas Zimmermann.
47340 Remove the bounds on stroke width and miter for the skia platform.
47341 https://bugs.webkit.org/show_bug.cgi?id=34954
47343 Test: svg/custom/stroke-width-large.svg
47345 * platform/graphics/skia/PlatformContextSkia.cpp:
47346 (PlatformContextSkia::setupPaintForStroking):
47348 2010-02-16 MORITA Hajime <morrita@gmail.com>
47350 Reviewed by Nikolas Zimmermann.
47352 REGRESSION: SVG text disappaears after double click
47353 https://bugs.webkit.org/show_bug.cgi?id=34880
47355 Tests: svg/text/selection-doubleclick.svg
47356 svg/text/selection-tripleclick.svg
47358 * rendering/SVGRootInlineBox.cpp:
47359 (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
47360 Use InlineTextBox::selectionStartEnd() instead of
47361 RenderObject::selectionStartEnd() because latter may span multiple
47362 comparing startPos and endPos is irrelevant in some cases.
47363 former selectionStartEnd() is for single line and comparing
47364 startPos and endPos will make sense.
47366 2010-02-16 Jessie Berlin <jberlin@webkit.org>
47368 Reviewed by Timothy Hatcher.
47370 Inspector should display Array lengths in the property lists.
47371 https://bugs.webkit.org/show_bug.cgi?id=20695
47373 * inspector/front-end/InjectedScript.js:
47374 (injectedScriptConstructor):
47375 For objects of type 'array' (which includes Arrays, NodeLists, and HTMLCollections), make the length of the object available via propertyLength on the proxy object.
47376 * inspector/front-end/ObjectPropertiesSection.js:
47377 (WebInspector.ObjectPropertyTreeElement.prototype.update):
47378 For properties that have propertyLength defined, append it to the displayed description.
47380 2010-02-16 Yusuke Sato <yusukes@chromium.org>
47382 Reviewed by Dimitri Glazkov.
47384 [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
47385 https://bugs.webkit.org/show_bug.cgi?id=34735
47387 Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs.
47389 Test: fast/css/font-face-opentype.html
47391 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
47392 (WebCore::fillBMPGlyphs):
47394 2010-02-16 Darin Adler <darin@apple.com>
47396 * page/MediaCanStartListener.h: Fixed license.
47398 2010-02-16 Darin Adler <darin@apple.com>
47400 Reviewed by Sam Weinig.
47402 Generalize delayed plug-in start for background tabs for use for other media
47403 https://bugs.webkit.org/show_bug.cgi?id=34981
47405 Also did some simple cleanup of HTMLMediaElement to get ready to make it
47406 a client of the same mechanism.
47408 * WebCore.base.exp: Added Page::setCanStartMedia and resorted.
47409 * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
47411 * html/HTMLAudioElement.h: Added an implementation of isVideo since that
47412 is now a pure virtual function in HTMLMediaElement. Also made tagPriority
47415 * html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an
47416 abstract base class by making its constructor protected and making the
47417 isVideo function a pure virtual function.
47420 (WebCore::Page::Page): Updated for name change from m_canStartPlugins
47421 to m_canStartMedia.
47422 (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion.
47423 (WebCore::Page::removeUnstartedMedia): Ditto.
47424 (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved
47425 the code here from PageWin.cpp. The main change from the one in PageWin.cpp
47426 is that this function calls mediaCanStart rather than explicitly calling a
47427 combination of start and dispatchDidFailToStartPlugin on a PluginView.
47429 * page/Page.h: Re-sorted forward class declarations. Renamed the plugin
47430 starting functions to media starting names and changed types from
47431 PluginView to MediaCanStartListener.
47433 * page/MediaCanStartListener.h: Added.
47435 * page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent
47436 Page.cpp file so it can be used for more than just Windows plug-ins.
47438 * plugins/PluginView.cpp: Sorted includes.
47439 (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener.
47440 (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that
47441 media can start. Contains the code that used to be in Page::setCanStartPlugins.
47442 (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use
47443 removeMediaCanStartListener.
47445 * plugins/PluginView.h: Adopted MediaCanStartListener.
47447 2010-02-16 Simon Fraser <simon.fraser@apple.com>
47449 Reviewed by Dan Bernstein.
47451 https://bugs.webkit.org/show_bug.cgi?id=34999
47452 Compositing layers inside overflow:scroll divs are not always updated on scrolling
47454 When RenderLayer::scrollToOffset() updates compositing layer positions, it needs
47455 to start updating at its stacking context rather than just its compositing ancestor.
47456 The stacking context is guaranteed to contain all descendants of the overflow
47457 layer, including those that are not direct descendants of the overflow layer in stacking
47458 (and therefore compositing) order.
47460 Test: compositing/overflow/scroll-ancestor-update.html
47462 * rendering/RenderLayer.cpp:
47463 (WebCore::RenderLayer::scrollToOffset):
47465 2010-02-16 Dan Bernstein <mitz@apple.com>
47467 Reviewed by Simon Fraser.
47469 Allow FloatRect::center() to return fractional coordinates. It was
47470 mistakenly converting to integers.
47472 * platform/graphics/FloatRect.h:
47473 (WebCore::FloatRect::center):
47475 2010-02-16 Gavin Barraclough <barraclough@apple.com>
47477 Reviewed by Oliver Hunt.
47479 https://bugs.webkit.org/show_bug.cgi?id=34964
47480 Leaks tool reports false memory leaks due to Rope implementation.
47482 Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length()
47483 (matches WebCore::StringImpl).
47485 * bridge/jni/jsc/JavaStringJSC.h:
47486 (JSC::Bindings::JavaStringImpl::length):
47487 * platform/text/AtomicString.cpp:
47488 (WebCore::AtomicString::add):
47489 (WebCore::AtomicString::find):
47491 2010-02-15 Jon Honeycutt <jhoneycutt@apple.com>
47493 <rdar://problem/7288853> Message about missing plugin does not specify
47494 the type or download link for download
47496 Reviewed by Mark Rowe.
47498 * plugins/PluginDatabase.cpp:
47499 (WebCore::PluginDatabase::findPlugin):
47500 Only update the mimeType out param if we find a plug-in for the file
47503 2010-02-16 Simon Fraser <simon.fraser@apple.com>
47505 Build fix for Tiger.
47507 Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged().
47509 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
47510 (WebCore::MediaPlayerPrivate::setUpVideoRendering):
47512 2010-02-16 Csaba Osztrogonác <ossy@webkit.org>
47514 Reviewed by Eric Carlson.
47516 Buildfix for r54826.
47518 HTMLMediaElement class defined by HTMLMediaElement.h in #if ENABLE(VIDEO) block,
47519 it should be in #if ENABLE(VIDEO) block in rendering/RenderLayerBacking.cpp too.
47521 * rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added.
47522 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
47524 2010-02-16 Julie Parent <jparent@chromium.org>
47526 Unreviewed: Chromium build fix.
47528 http://trac.webkit.org/changeset/54823 introduced an unused variable. Remove it.
47530 * platform/image-decoders/ImageDecoder.cpp:
47531 (WebCore::ImageDecoder::create):
47533 2010-02-16 Mark Rowe <mrowe@apple.com>
47535 Reviewed by Alexey Proskuryakov.
47537 Bug 34974: Leak of ScheduledAction during layout tests
47538 <https://bugs.webkit.org/show_bug.cgi?id=34974>
47540 ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
47541 If any of the code paths in between hit an error case and returned early the raw pointer would be leaked. We
47542 can avoid this by passing it as a PassOwnPtr. This will ensure that the ScheduledAction is cleaned up should
47543 an error case be hit.
47545 * bindings/js/JSDOMWindowCustom.cpp:
47546 (WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
47547 as the function argument.
47548 (WebCore::JSDOMWindow::setInterval): Ditto.
47549 * bindings/js/JSWorkerContextCustom.cpp:
47550 (WebCore::JSWorkerContext::setTimeout): Ditto.
47551 (WebCore::JSWorkerContext::setInterval): Ditto.
47552 * bindings/js/ScheduledAction.cpp:
47553 (WebCore::ScheduledAction::create): Return a PassOwnPtr.
47554 * bindings/js/ScheduledAction.h:
47555 * page/DOMTimer.cpp:
47556 (WebCore::DOMTimer::DOMTimer): Update argument type.
47557 (WebCore::DOMTimer::install): Ditto.
47559 * page/DOMWindow.cpp:
47560 (WebCore::DOMWindow::setTimeout): Ditto.
47561 (WebCore::DOMWindow::setInterval): Ditto.
47562 * page/DOMWindow.h:
47564 2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>
47566 Reviewed by David Hyatt.
47568 SVG units don't stay consistently sized on zoom
47569 https://bugs.webkit.org/show_bug.cgi?id=14004
47571 Large step towards making WebKit an usable SVG viewer.
47573 Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
47574 SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
47575 Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
47576 properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
47577 To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.
47579 Some new rules regarding zooming:
47580 - "Zoom text only" should never affect SVG documents, neither text nor content should zoom.
47581 This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it.
47582 In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.
47584 - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)
47586 Cover all mentioned cases above by a new set of layout tests.
47588 Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg
47589 svg/zoom/page/absolute-sized-document-scrollbars.svg
47590 svg/zoom/page/relative-sized-document-scrollbars.svg
47591 svg/zoom/page/zoom-coords-viewattr-01-b.svg
47592 svg/zoom/page/zoom-foreignObject.svg
47593 svg/zoom/page/zoom-hixie-mixed-008.xml
47594 svg/zoom/page/zoom-hixie-mixed-009.xml
47595 svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
47596 svg/zoom/page/zoom-svg-float-border-padding.xml
47597 svg/zoom/text/absolute-sized-document-no-scrollbars.svg
47598 svg/zoom/text/absolute-sized-document-scrollbars.svg
47599 svg/zoom/text/relative-sized-document-scrollbars.svg
47600 svg/zoom/text/zoom-coords-viewattr-01-b.svg
47601 svg/zoom/text/zoom-foreignObject.svg
47602 svg/zoom/text/zoom-hixie-mixed-008.xml
47603 svg/zoom/text/zoom-hixie-mixed-009.xml
47604 svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
47605 svg/zoom/text/zoom-svg-float-border-padding.xml
47607 * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements.
47608 (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes.
47609 (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing).
47610 (WebCore::CSSStyleSelector::setFontSize): Ditto.
47611 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
47612 * css/CSSStyleSelector.h:
47613 * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor.
47614 (WebCore::CSSStyleSelector::applySVGProperty):
47616 (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases.
47617 (WebCore::Frame::shouldApplyPageZoom): Ditto.
47618 (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
47619 * rendering/RenderSVGRoot.cpp:
47620 (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements.
47621 (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight.
47622 (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here.
47623 (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code.
47624 (WebCore::RenderSVGRoot::calcViewport): Simplify code.
47625 (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
47626 * rendering/RenderSVGRoot.h:
47627 * svg/SVGLength.cpp:
47628 (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
47629 * svg/SVGSVGElement.cpp:
47630 (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom.
47631 (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().
47633 2010-02-16 Julie Parent <jparent@chromium.org>
47635 Unreviewed: Chromium build fix.
47637 https://bugs.webkit.org/show_bug.cgi?id=34998
47639 Move include of JavaScriptProfile.h behind if (USE_JSC).
47641 * inspector/InspectorController.cpp:
47643 2010-02-16 Alexey Proskuryakov <ap@apple.com>
47645 Reviewed by Geoffrey Garen and Kevin Decker.
47647 https://bugs.webkit.org/show_bug.cgi?id=34989
47648 <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
47650 * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some
47651 comments about the way we pass events down to plug-ins.
47653 2010-02-16 Simon Fraser <simon.fraser@apple.com>
47655 Reviewed by Eric Carlson.
47657 With hardware acceleration turned off, video frames never display if poster
47659 https://bugs.webkit.org/show_bug.cgi?id=34965
47661 HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
47662 the movie supplied its first video frame, so the poster would continue to show.
47664 Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
47665 each time a new frame is available. updatePosterImage() is cheap.
47667 Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
47670 Test: manual-tests/media-elements/video-replaces-poster.html
47672 * html/HTMLMediaElement.cpp:
47673 (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check.
47674 (WebCore::HTMLMediaElement::setNetworkState): Ditto.
47675 (WebCore::HTMLMediaElement::setReadyState): Ditto.
47676 (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
47677 * html/HTMLMediaElement.h:
47678 (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual
47679 method on the base class.
47680 * html/HTMLVideoElement.h: Override updatePosterImage().
47682 2010-02-16 Simon Fraser <simon.fraser@apple.com>
47684 Build fix for platforms without ACCELERATED_COMPOSITING defined.
47686 mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.
47688 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
47689 (WebCore::MediaPlayerPrivate::setUpVideoRendering):
47691 2010-02-16 Simon Fraser <simon.fraser@apple.com>
47693 Reviewed by Eric Carlson.
47695 Autoplaying video with poster doesn't reliably show up
47696 https://bugs.webkit.org/show_bug.cgi?id=34966
47698 A timing issue with compositing updates when replacing the poster image
47699 with the video could cause the video to not display.
47701 Fix by making video layer hook up more similar to WebGL etc, by having the
47702 video kick off a recalcStyle() via a SyntheticStyleChange. This requires
47703 vending a PlaformLayer* from the media player, up through the element.
47705 Test: media/video-replaces-poster.html
47707 * html/HTMLMediaElement.cpp:
47708 (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
47709 to kick off a compositing update.
47711 * html/HTMLMediaElement.h:
47712 (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
47714 * platform/graphics/MediaPlayer.cpp:
47715 (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
47716 (WebCore::MediaPlayer::platformLayer):
47718 * platform/graphics/MediaPlayer.h:
47719 (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback
47720 to indicate that the rendering mode changed. The element uses this to kick off a
47723 * platform/graphics/MediaPlayerPrivate.h:
47724 (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
47725 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
47726 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
47727 (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly
47728 via setContentsToMedia().
47729 (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto.
47730 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the
47731 rendering mode changed.
47732 (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
47733 * rendering/RenderLayerBacking.cpp:
47734 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia()
47737 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
47738 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
47739 (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
47740 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged()
47741 (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.
47743 * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
47744 * rendering/RenderVideo.cpp: Ditto.
47746 2010-02-12 Peter Kasting <pkasting@google.com>
47748 Reviewed by Adam Barth.
47750 Code cleanup in ImageDecoders; no functional change.
47751 https://bugs.webkit.org/show_bug.cgi?id=28751
47753 * Make code mostly comply with the style guide (switch indenting, use of
47754 "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
47755 * Eliminate m_allDataReceived in ICO/BMP decoders since it's in the
47756 base ImageDecoder class
47757 * Remove some useless or wrong comments, add others
47758 * Wrap comments at 80 columns (most already were) for
47759 consistency/readability
47760 * Avoid casts by using correct variable types
47761 * Consistent naming of decode() function/args
47762 * Shorter code in some places
47763 * Make declaration and definition order match
47765 * platform/graphics/qt/ImageDecoderQt.cpp:
47766 (WebCore::ImageDecoderQt::frameCount):
47767 (WebCore::ImageDecoderQt::frameBufferAtIndex):
47768 (WebCore::ImageDecoderQt::forceLoadEverything):
47769 * platform/image-decoders/ImageDecoder.cpp:
47770 (WebCore::ImageDecoder::create):
47771 (WebCore::RGBA32Buffer::clear):
47772 (WebCore::RGBA32Buffer::setSize):
47773 * platform/image-decoders/ImageDecoder.h:
47774 (WebCore::RGBA32Buffer::):
47775 (WebCore::ImageDecoder::ImageDecoder):
47776 * platform/image-decoders/bmp/BMPImageDecoder.cpp:
47777 (WebCore::BMPImageDecoder::BMPImageDecoder):
47778 (WebCore::BMPImageDecoder::setData):
47779 (WebCore::BMPImageDecoder::isSizeAvailable):
47780 (WebCore::BMPImageDecoder::frameBufferAtIndex):
47781 (WebCore::BMPImageDecoder::decode):
47782 (WebCore::BMPImageDecoder::decodeHelper):
47783 (WebCore::BMPImageDecoder::processFileHeader):
47784 * platform/image-decoders/bmp/BMPImageDecoder.h:
47785 (WebCore::BMPImageDecoder::readUint32):
47786 * platform/image-decoders/bmp/BMPImageReader.cpp:
47787 (WebCore::BMPImageReader::BMPImageReader):
47788 (WebCore::BMPImageReader::decodeBMP):
47789 (WebCore::BMPImageReader::readInfoHeaderSize):
47790 (WebCore::BMPImageReader::processInfoHeader):
47791 (WebCore::BMPImageReader::readInfoHeader):
47792 (WebCore::BMPImageReader::isInfoHeaderValid):
47793 (WebCore::BMPImageReader::processBitmasks):
47794 (WebCore::BMPImageReader::processColorTable):
47795 (WebCore::BMPImageReader::processRLEData):
47796 (WebCore::BMPImageReader::processNonRLEData):
47797 * platform/image-decoders/bmp/BMPImageReader.h:
47798 (WebCore::BMPImageReader::readUint32):
47799 (WebCore::BMPImageReader::pastEndOfImage):
47800 (WebCore::BMPImageReader::readCurrentPixel):
47801 (WebCore::BMPImageReader::getComponent):
47802 (WebCore::BMPImageReader::getAlpha):
47803 (WebCore::BMPImageReader::setI):
47804 (WebCore::BMPImageReader::setRGBA):
47805 * platform/image-decoders/gif/GIFImageDecoder.cpp:
47806 (WebCore::GIFImageDecoder::GIFImageDecoder):
47807 (WebCore::GIFImageDecoder::setData):
47808 (WebCore::GIFImageDecoder::isSizeAvailable):
47809 (WebCore::GIFImageDecoder::frameCount):
47810 (WebCore::GIFImageDecoder::frameBufferAtIndex):
47811 (WebCore::GIFImageDecoder::clearFrameBufferCache):
47812 (WebCore::GIFImageDecoder::sizeNowAvailable):
47813 (WebCore::GIFImageDecoder::haveDecodedRow):
47814 (WebCore::GIFImageDecoder::frameComplete):
47815 (WebCore::GIFImageDecoder::decode):
47816 (WebCore::GIFImageDecoder::initFrameBuffer):
47817 * platform/image-decoders/gif/GIFImageDecoder.h:
47818 (WebCore::GIFImageDecoder::):
47819 (WebCore::GIFImageDecoder::filenameExtension):
47820 * platform/image-decoders/gif/GIFImageReader.cpp:
47821 (GIFImageReader::do_lzw):
47822 (GIFImageReader::read):
47823 * platform/image-decoders/gif/GIFImageReader.h:
47824 (GIFImageReader::~GIFImageReader):
47825 * platform/image-decoders/ico/ICOImageDecoder.cpp:
47826 (WebCore::ICOImageDecoder::ICOImageDecoder):
47827 (WebCore::ICOImageDecoder::~ICOImageDecoder):
47828 (WebCore::ICOImageDecoder::setData):
47829 (WebCore::ICOImageDecoder::isSizeAvailable):
47830 (WebCore::ICOImageDecoder::frameSizeAtIndex):
47831 (WebCore::ICOImageDecoder::frameCount):
47832 (WebCore::ICOImageDecoder::frameBufferAtIndex):
47833 (WebCore::ICOImageDecoder::compareEntries):
47834 (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
47835 (WebCore::ICOImageDecoder::decode):
47836 (WebCore::ICOImageDecoder::decodeDirectory):
47837 (WebCore::ICOImageDecoder::decodeAtIndex):
47838 (WebCore::ICOImageDecoder::processDirectoryEntries):
47839 (WebCore::ICOImageDecoder::readDirectoryEntry):
47840 * platform/image-decoders/ico/ICOImageDecoder.h:
47841 (WebCore::ICOImageDecoder::readUint16):
47842 (WebCore::ICOImageDecoder::readUint32):
47843 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
47845 (WebCore::JPEGImageReader::JPEGImageReader):
47846 (WebCore::JPEGImageReader::skipBytes):
47847 (WebCore::JPEGImageReader::decode):
47848 (WebCore::error_exit):
47849 (WebCore::fill_input_buffer):
47850 (WebCore::term_source):
47851 (WebCore::JPEGImageDecoder::setData):
47852 (WebCore::JPEGImageDecoder::setSize):
47853 (WebCore::JPEGImageDecoder::frameBufferAtIndex):
47854 (WebCore::JPEGImageDecoder::jpegComplete):
47855 (WebCore::JPEGImageDecoder::decode):
47856 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
47857 (WebCore::JPEGImageDecoder::filenameExtension):
47858 * platform/image-decoders/png/PNGImageDecoder.cpp:
47859 (WebCore::decodingFailed):
47860 (WebCore::decodingWarning):
47861 (WebCore::headerAvailable):
47862 (WebCore::rowAvailable):
47863 (WebCore::pngComplete):
47864 (WebCore::PNGImageReader::PNGImageReader):
47865 (WebCore::PNGImageReader::close):
47866 (WebCore::PNGImageReader::decode):
47867 (WebCore::PNGImageReader::createInterlaceBuffer):
47868 (WebCore::PNGImageDecoder::setData):
47869 (WebCore::PNGImageDecoder::frameBufferAtIndex):
47870 (WebCore::PNGImageDecoder::headerAvailable):
47871 (WebCore::PNGImageDecoder::rowAvailable):
47872 (WebCore::PNGImageDecoder::pngComplete):
47873 (WebCore::PNGImageDecoder::decode):
47874 * platform/image-decoders/png/PNGImageDecoder.h:
47875 (WebCore::PNGImageDecoder::filenameExtension):
47876 * platform/image-decoders/qt/RGBA32BufferQt.cpp:
47877 (WebCore::RGBA32Buffer::setDecodedImage):
47879 2010-02-16 Csaba Osztrogonác <ossy@webkit.org>
47881 [Qt] Unreviewed buildfix.
47883 * WebCore.pro: Missing backslash added.
47885 2010-02-16 Mikhail Naganov <mnaganov@chromium.org>
47887 Reviewed by Pavel Feldman.
47889 Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
47891 https://bugs.webkit.org/show_bug.cgi?id=34848
47896 * WebCore.vcproj/WebCore.vcproj:
47897 * WebCore.xcodeproj/project.pbxproj:
47898 * bindings/js/JavaScriptProfile.cpp: Added.
47899 (WebCore::profileCache):
47900 (WebCore::getTitleCallback):
47901 (WebCore::getHeadCallback):
47902 (WebCore::getUniqueIdCallback):
47904 (WebCore::exclude):
47905 (WebCore::restoreAll):
47906 (WebCore::finalize):
47907 (WebCore::ProfileClass):
47909 * bindings/js/JavaScriptProfile.h: Added.
47910 * bindings/js/JavaScriptProfileNode.cpp: Added.
47911 (WebCore::profileNodeCache):
47912 (WebCore::getFunctionName):
47914 (WebCore::getLineNumber):
47915 (WebCore::getTotalTime):
47916 (WebCore::getSelfTime):
47917 (WebCore::getNumberOfCalls):
47918 (WebCore::getChildren):
47919 (WebCore::getVisible):
47920 (WebCore::getCallUID):
47921 (WebCore::finalize):
47922 (WebCore::ProfileNodeClass):
47924 * bindings/js/JavaScriptProfileNode.h: Added.
47925 * inspector/JavaScriptProfile.cpp: Removed.
47926 * inspector/JavaScriptProfile.h: Removed.
47927 * inspector/JavaScriptProfileNode.cpp: Removed.
47928 * inspector/JavaScriptProfileNode.h: Removed.
47930 2010-02-16 Alexander Pavlov <apavlov@chromium.org>
47932 Reviewed by Pavel Feldman.
47934 Web Inspector: Elements Panel: Limit the number of initially loaded element children
47935 https://bugs.webkit.org/show_bug.cgi?id=34421
47937 Test: inspector/elements-panel-limited-children.html
47939 * English.lproj/localizedStrings.js:
47940 * inspector/front-end/DOMAgent.js:
47941 (WebInspector.DOMNode.prototype._insertChild):
47942 * inspector/front-end/ElementsPanel.js:
47943 (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
47944 * inspector/front-end/ElementsTreeOutline.js:
47945 (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
47946 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
47947 (WebInspector.ElementsTreeElement):
47948 (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
47949 (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
47950 (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
47951 (WebInspector.ElementsTreeElement.prototype.showChild):
47952 (WebInspector.ElementsTreeElement.prototype.insertChildElement):
47953 (WebInspector.ElementsTreeElement.prototype.moveChild):
47954 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
47955 (WebInspector.ElementsTreeElement.prototype._updateChildren):
47956 (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
47957 (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
47959 * inspector/front-end/inspector.css:
47961 2010-02-16 Ismail Donmez <ismail@namtrac.org>
47963 Reviewed by Pavel Feldman.
47965 Fix compilation with inspector disabled.
47966 https://bugs.webkit.org/show_bug.cgi?id=32724
47968 * rendering/RenderLayerBacking.cpp:
47969 (WebCore::inspectorTimelineAgent):
47971 2010-02-16 Pavel Feldman <pfeldman@chromium.org>
47973 Reviewed by Timothy Hatcher.
47975 Web Inspector: turn off line wrapping in source view.
47977 https://bugs.webkit.org/show_bug.cgi?id=34935
47979 * inspector/front-end/TextViewer.js:
47980 (WebInspector.TextViewer.prototype.markAndRevealRange):
47981 (WebInspector.TextViewer.prototype._paintLine):
47982 * inspector/front-end/textViewer.css:
47983 * inspector/front-end/utilities.js:
47985 2010-02-16 Pavel Feldman <pfeldman@chromium.org>
47987 Reviewed by Timothy Hatcher.
47989 Web Inspector: let search iterate over views in Resources
47990 and keep the view in Scripts.
47992 https://bugs.webkit.org/show_bug.cgi?id=34968
47994 * inspector/front-end/Panel.js:
47995 (WebInspector.Panel.prototype.jumpToNextSearchResult):
47996 (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
47997 (WebInspector.Panel.prototype.showSourceLineForURL):
47998 (WebInspector.Panel.prototype.searchIteratesOverViews):
47999 * inspector/front-end/ResourcesPanel.js:
48000 (WebInspector.ResourcesPanel.prototype.get _resources):
48001 (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
48002 * inspector/front-end/SourceView.js:
48003 (WebInspector.SourceView.prototype.showingLastSearchResult):
48004 * inspector/front-end/inspector.js:
48005 (WebInspector.documentKeyDown):
48006 (WebInspector.focusSearchField):
48008 2010-02-16 Noam Rosenthal <noam.rosenthal@nokia.com>
48010 Reviewed by Ariya Hidayat.
48012 [Qt] canvas clipping is buggy
48013 https://bugs.webkit.org/show_bug.cgi?id=32405
48015 Apparently the bug was in GraphicsContext::roundToDevicePixels, we
48016 didn't take unto accounts rotation, so the device pixels were rounded
48017 incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
48018 it should be rather safe
48020 Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right
48022 * platform/graphics/qt/GraphicsContextQt.cpp:
48023 (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
48026 2010-02-16 Yury Semikhatsky <yurys@chromium.org>
48028 Not Reviewed, build fix.
48030 * platform/graphics/FloatRect.h:
48031 (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler
48032 doesn't complain about that.
48034 2010-02-15 Dan Bernstein <mitz@apple.com>
48036 Reviewed by Simon Fraser.
48038 <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout
48040 Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of
48041 a quad’s bounding box, rather than its top left, as the reference point passed to
48042 offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in
48043 one column, but most of it is on another column, the single rect we return will be for the
48046 * platform/graphics/FloatRect.h:
48047 (WebCore::FloatRect::center): Added.
48048 * rendering/RenderObject.cpp:
48049 (WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left.
48051 2010-02-15 MORITA Hajime <morrita@gmail.com>
48053 Reviewed by Nikolas Zimmermann.
48055 SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker
48057 https://bugs.webkit.org/show_bug.cgi?id=34831
48059 No new tests, no change of functionality.
48061 * rendering/SVGCharacterLayoutInfo.h:
48062 (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
48063 Removed setupBackground(), setupFill(), setupFillSelection(),
48064 setupStroke(), setupStrokeSelection(), setupForeground()
48065 and associated member variables.
48067 * rendering/SVGRootInlineBox.cpp:
48068 (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
48069 renamed from chunkSetupBackgroundCallback.
48070 (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
48071 renamed from chunkSetupFillCallback.
48072 (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
48073 renamed from chunkSetupFillSelectionCallback.
48074 (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
48075 renamed from chunkSetupStrokeCallback.
48076 (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
48077 renamed from chunkSetupStrokeSelectionCallback.
48078 (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
48079 renamed from chunkSetupForegroundCallback.
48080 (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
48081 renamed from chunkPortionCallback.
48082 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
48083 extracted from walkTextChunks.
48084 (WebCore::SVGRootInlineBox::paint):
48085 follow SVGTextChunkWalker change.
48086 (WebCore::SVGRootInlineBox::walkTextChunks):
48087 moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback().
48089 2010-02-15 Dan Bernstein <mitz@apple.com>
48091 Try to fix the Chromium build.
48093 * rendering/RenderThemeChromiumMac.mm:
48094 (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
48096 2010-02-14 Gavin Barraclough <barraclough@apple.com>
48098 Reviewed by Darin Adler.
48100 https://bugs.webkit.org/show_bug.cgi?id=33731
48101 Many false leaks in release builds due to PtrAndFlags
48103 PtrAndFlags has now been removed; remove forwarding header.
48105 * ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
48107 2010-02-15 Gavin Barraclough <barraclough@apple.com>
48109 Reviewed by Geoff Garen.
48111 Bug 34952 - String lengths in UString should be unsigned.
48112 This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
48114 * bindings/js/JSDOMWindowCustom.cpp:
48115 (WebCore::JSDOMWindow::atob):
48116 (WebCore::JSDOMWindow::btoa):
48118 2010-02-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
48120 Reviewed by Xan Lopez.
48122 [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
48123 https://bugs.webkit.org/show_bug.cgi?id=34944
48125 Set the URL in the newly created response, when parsing data:
48128 Test: fast/harness/page-cache-crash-on-data-urls.html
48130 * platform/network/soup/ResourceHandleSoup.cpp:
48131 (WebCore::parseDataUrl):
48133 2010-02-15 Dan Bernstein <mitz@apple.com>
48135 Reviewed by Simon Fraser.
48137 <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
48138 https://bugs.webkit.org/show_bug.cgi?id=34923
48140 Test: fast/multicol/client-rects.html
48142 In column layout, a different transform applies to different points in
48143 the block and its descendants, depending on their y coordinate within the
48144 block. offsetFromContainer() used to return the offset that applied to
48145 the origin. With this change, it returns the offset that applies to a
48146 given reference point. When mapping a quad from local to absolute
48147 coordinates, the top left of the quad’s bounding box is used as that
48150 * editing/SelectionController.cpp:
48151 (WebCore::SelectionController::layout): Pass the caret’s origin as the
48152 reference point to offsetFromContainer().
48153 * rendering/RenderBlock.cpp:
48154 (WebCore::RenderBlock::adjustForColumns): Adds the offset between the
48155 given point and its image under the column paint-time transform to the
48156 given offset. Used by offsetFromContainer() where it had previously used
48157 adjustRectForColumns(), which takes a rect and operates less efficiently.
48158 * rendering/RenderBlock.h:
48159 * rendering/RenderBox.cpp:
48160 (WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as
48161 the reference point to offsetFromContainer().
48162 (WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to
48163 offsetFromContainer().
48164 (WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead
48165 of adjustRectForColumns(), and use the reference point to get the right
48166 adjustment for the point of interest, instead of the origin, in case this
48167 box spans multiple columns.
48168 * rendering/RenderBox.h:
48169 * rendering/RenderInline.cpp:
48170 (WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the
48171 column offset to the computation, which previously this function didn’t
48173 (WebCore::RenderInline::mapLocalToContainer): Pass the transformed point
48174 as the reference point to offsetFromContainer().
48175 (WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to
48176 offsetFromContainer().
48177 * rendering/RenderInline.h:
48178 * rendering/RenderObject.cpp:
48179 (WebCore::RenderObject::mapLocalToContainer): Apply column adjustment,
48180 based on the reference point, to the transform if needed.
48181 (WebCore::RenderObject::localToContainerQuad): Initialize the
48182 TransformState with the top left corner of the quad’s bounding box. It
48183 is later used as the reference point when deciding on which column to
48184 base the calculations.
48185 (WebCore::RenderObject::offsetFromContainer): Adjust for columns.
48186 (WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin
48187 as the reference point to offsetFromContainer().
48188 * rendering/RenderObject.h:
48189 (WebCore::RenderObject::adjustForColumns): Added.
48190 * rendering/RenderTableCell.cpp:
48191 (WebCore::RenderTableCell::offsetFromContainer): Pass the reference
48193 * rendering/RenderTableCell.h:
48194 * rendering/RenderText.cpp:
48195 (WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each
48196 rect to absolute coordinates individually.
48197 * rendering/RenderThemeMac.mm:
48198 (WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to
48199 offsetFromContainer().
48201 2010-02-12 Alexey Proskuryakov <ap@apple.com>
48203 Reviewed by Kevin Decker.
48205 <rdar://problem/7130641> Browser objects identity is not preserved by Safari
48207 Test: plugins/netscape-browser-object-identity.html
48209 * bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback):
48210 RootObject can now call out during invalidation, making it possible for other code to know
48213 * bridge/runtime_root.cpp:
48214 (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor,
48215 in cpp file since it's virtual.
48216 (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks.
48218 * bridge/NP_jsobject.cpp:
48219 (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to
48220 keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap
48221 JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map
48222 separately, due to supporting per-instance granularity (as opposed to per-RootObject here).
48223 (jsDeallocate): Remove the corresponding map entry.
48224 (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount.
48226 2010-02-15 Philippe Normand <pnormand@igalia.com>
48228 Rubber-stamped by Gustavo Noronha Silva.
48230 Removed redefine of LOG_VERBOSE. This should not have commited in
48233 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
48235 2010-02-15 Pavel Feldman <pfeldman@chromium.org>
48237 Reviewed by Timothy Hatcher.
48239 Web Inspector: incorrect syntax highlighting as HTML in a script tag.
48240 We were preserving initial lexer state upon entering other tags while in <script>
48241 but were not doing it for <script tag itself. As a result, nested script
48242 tags were failing to highlight.
48244 https://bugs.webkit.org/show_bug.cgi?id=34934
48246 * inspector/front-end/SourceHTMLTokenizer.js:
48247 (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
48248 * inspector/front-end/SourceHTMLTokenizer.re2js:
48250 2010-02-15 Brady Eidson <beidson@apple.com>
48252 Reviewed by Dan Bernstein.
48254 Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
48255 messages over to WebCore-style.
48257 No new tests. (Logging changes only)
48259 * loader/ProgressTracker.cpp:
48260 (WebCore::ProgressTracker::progressStarted):
48261 (WebCore::ProgressTracker::progressCompleted):
48262 (WebCore::ProgressTracker::finalProgressComplete):
48263 (WebCore::ProgressTracker::incrementProgress):
48265 * platform/Logging.cpp:
48267 (WebCore::getChannelFromName):
48268 * platform/Logging.h:
48270 2010-02-15 Noam Rosenthal <noam.rosenthal@nokia.com>
48272 Reviewed by Simon Hausmann.
48274 [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
48275 https://bugs.webkit.org/show_bug.cgi?id=34901
48277 When a signal/slot/property is of type QWebElement, it can seamlessly
48278 connect with JS objects that hold a WebCore element.
48280 New tests, see WebKit/qt/ChangeLog
48282 * bridge/qt/qt_runtime.cpp:
48283 (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement
48285 (JSC::Bindings::QtWebElementRuntime::get): A proxy to
48286 QWebElement::element
48287 (JSC::Bindings::convertValueToQVariant): handle QWebElement
48288 (JSC::Bindings::convertQVariantToValue): handle QWebElement
48290 2010-02-15 Pavel Feldman <pfeldman@chromium.org>
48292 Not reviewed, Chromium build fix (force conversion of property names to
48293 strings in Web Inspector's injected script).
48295 * inspector/front-end/InjectedScript.js:
48296 (injectedScriptConstructor):
48298 2010-02-15 Pavel Feldman <pfeldman@chromium.org>
48300 Not reviewed: touch InspectorController in order to kick win bot tests
48301 with new injected script contents.
48303 * inspector/InspectorController.cpp:
48305 2010-02-14 Pavel Feldman <pfeldman@chromium.org>
48307 Reviewed by Timothy Hatcher.
48309 Web Inspector: highlight actual search match in elements panel.
48311 https://bugs.webkit.org/show_bug.cgi?id=34251
48313 * inspector/front-end/ElementsPanel.js:
48314 (WebInspector.ElementsPanel.prototype.searchCanceled):
48315 (WebInspector.ElementsPanel.prototype.performSearch):
48316 (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
48317 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
48318 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
48319 (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
48320 (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
48321 * inspector/front-end/InjectedScript.js:
48322 * inspector/front-end/SourceFrame.js:
48323 (WebInspector.SourceFrame.prototype.findSearchMatches):
48324 * inspector/front-end/TextViewer.js:
48325 (WebInspector.TextViewer.prototype._paintLine):
48326 * inspector/front-end/textViewer.css:
48327 * inspector/front-end/utilities.js:
48329 2010-02-14 Pavel Feldman <pfeldman@chromium.org>
48331 Reviewed by Timothy Hatcher.
48333 Web Inspector: XPathResult objects are not expanded in console.
48335 https://bugs.webkit.org/show_bug.cgi?id=34926
48337 * inspector/front-end/InjectedScript.js:
48338 (injectedScriptConstructor):
48339 * inspector/front-end/ObjectPropertiesSection.js:
48340 (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
48341 (WebInspector.ObjectPropertiesSection.CompareProperties):
48342 (WebInspector.ObjectPropertyTreeElement.prototype.update):
48343 * inspector/front-end/Section.js:
48344 (WebInspector.Section):
48345 * inspector/front-end/inspector.css:
48347 2010-02-10 Philippe Normand <pnormand@igalia.com>
48349 Reviewed by Gustavo Noronha Silva.
48351 [Gtk] wrong video aspect ratio
48352 https://bugs.webkit.org/show_bug.cgi?id=34790
48354 Fixed natural size calculation regarding pixel aspect ratio and
48355 display aspect ratio.
48357 Test: media/video-display-aspect-ratio.html
48359 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
48360 (WebCore::greatestCommonDivisor):
48361 (WebCore::MediaPlayerPrivate::naturalSize):
48363 2010-02-14 Adam Barth <abarth@webkit.org>
48365 Reviewed by Darin Adler.
48367 HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
48368 https://bugs.webkit.org/show_bug.cgi?id=33277
48370 submitForm wasn't respecting shouldAllowNavigation. Instead of calling
48371 the wrapper function, we need to call shouldAllowNavigation because we
48372 need to handle the "frame not found" case differently than the
48373 "navigation denied" case.
48375 Test: http/tests/security/sandboxed-iframe-form-top.html
48377 * loader/FrameLoader.cpp:
48378 (WebCore::FrameLoader::submitForm):
48380 2010-02-14 Kent Tamura <tkent@chromium.org>
48382 No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.
48384 * rendering/RenderRuby.cpp: Add a comment for #endf.
48385 * rendering/RenderRubyBase.cpp: Add a comment for #endf.
48386 * rendering/RenderRubyRun.cpp: Add a comment for #endf.
48387 * rendering/RenderRubyText.cpp: Add a comment for #endf.
48389 2010-02-13 Pavel Feldman <pfeldman@chromium.org>
48391 Reviewed by Timothy Hatcher.
48393 Web Inspector: cache created row, span and text elements
48394 in TextView to improve scroller performance on debug build.
48396 https://bugs.webkit.org/show_bug.cgi?id=34921
48398 * inspector/front-end/SourceFrame.js:
48399 (WebInspector.SourceFrame.prototype.set visible):
48400 * inspector/front-end/TextViewer.js:
48401 (WebInspector.TextViewer):
48402 (WebInspector.TextViewer.prototype.freeCachedElements):
48403 (WebInspector.TextViewer.prototype._buildChunks):
48404 (WebInspector.TextViewer.prototype._makeLineAChunk):
48405 (WebInspector.TextViewer.prototype._paintLine):
48406 (WebInspector.TextViewer.prototype._releaseLines):
48407 (WebInspector.TextViewer.prototype._appendSpan):
48408 (WebInspector.TextViewer.prototype._appendTextNode):
48409 (WebInspector.TextChunk):
48410 (WebInspector.TextChunk.prototype.set expanded):
48411 (WebInspector.TextChunk.prototype._lineNumberText):
48412 (WebInspector.TextChunk.prototype._createRow):
48414 2010-02-13 Kent Tamura <tkent@chromium.org>
48416 Reviewed by Darin Adler.
48418 Refactor parsing/serialization functions in HTMLInputElement.
48419 https://bugs.webkit.org/show_bug.cgi?id=34852
48421 - Rename formStringToDouble() to parseToDoubleForNumberType()
48422 - Rename formStringToDateComponents() to parseToDateComponents()
48423 - Rename formStringFromDouble() to serializeForNumberType()
48424 - Add serializeForDateTimeTypes()
48425 The code is moved from setValueAsDate() and setDateValue().
48428 parseToDouble() is the top-level function to parse a
48429 type-dependent string and return a double
48430 value. parseToDoubleForNumber() and parseToDateComponents()
48431 functions are helper functions for it. serialize() is the
48432 top-level function to serialize a double value to a type-dependent
48433 string, and serializeForNumberType() and
48434 serializeForDateTimeTypes() are helper functions for it.
48436 No tests because of no functional changes.
48438 * html/HTMLInputElement.cpp:
48439 (WebCore::HTMLInputElement::stepMismatch):
48440 (WebCore::HTMLInputElement::getAllowedValueStep):
48441 (WebCore::HTMLInputElement::parseToDouble):
48442 (WebCore::HTMLInputElement::valueAsDate):
48443 (WebCore::HTMLInputElement::setValueAsDate):
48444 (WebCore::HTMLInputElement::setValueAsNumber):
48445 (WebCore::HTMLInputElement::serializeForDateTimeTypes):
48446 (WebCore::HTMLInputElement::serialize):
48447 (WebCore::HTMLInputElement::serializeForNumberType):
48448 (WebCore::HTMLInputElement::parseToDoubleForNumberType):
48449 (WebCore::HTMLInputElement::parseToDateComponents):
48450 * html/HTMLInputElement.h:
48451 * html/ValidityState.cpp:
48452 (WebCore::ValidityState::typeMismatch):
48453 * rendering/RenderSlider.cpp:
48454 (WebCore::SliderRange::valueFromElement):
48455 (WebCore::RenderSlider::updateFromElement):
48456 (WebCore::RenderSlider::setValueForPosition):
48458 2010-01-05 Ojan Vafai <ojan@chromium.org>
48460 Reviewed by Dan Bernstein.
48462 Improve text control intrinsic widths.
48463 https://bugs.webkit.org/show_bug.cgi?id=25566
48464 https://bugs.webkit.org/show_bug.cgi?id=25581
48465 https://bugs.webkit.org/show_bug.cgi?id=25958
48467 For Mac fonts that have invalid avgCharWidth entries in the OS/2 table,
48468 fallback to the Safari 4- behavior of using the width of a zero. For other
48469 fonts, make Mac match Windows (and thus IE) metrics.
48471 Lucida Grande is hard-coded to match MS Shell Dlg for inputs and
48472 Courier New for textareas in order to match Safari Win, Firefox and, in
48473 some cases IE (IE uses different default fonts depending on encoding).
48475 The only case where we still don't match Windows is if no font-size is
48476 set. The default font-size for form controls on the Mac is smaller and
48477 thus text-control widths will be slightly smaller.
48479 No new tests. Covered by existing tests.
48481 * platform/graphics/mac/SimpleFontDataMac.mm:
48482 (WebCore::SimpleFontData::platformCharWidthInit):
48483 * rendering/RenderTextControl.cpp:
48485 (WebCore::RenderTextControl::hasValidAvgCharWidth):
48486 (WebCore::RenderTextControl::getAvgCharWidth):
48487 (WebCore::RenderTextControl::calcPrefWidths):
48488 * rendering/RenderTextControl.h:
48489 (WebCore::RenderTextControl::scaleEmToUnits):
48490 * rendering/RenderTextControlMultiLine.cpp:
48491 (WebCore::RenderTextControlMultiLine::getAvgCharWidth):
48492 * rendering/RenderTextControlMultiLine.h:
48493 * rendering/RenderTextControlSingleLine.cpp:
48494 (WebCore::RenderTextControlSingleLine::getAvgCharWidth):
48495 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
48496 * rendering/RenderTextControlSingleLine.h:
48498 2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com>
48500 Reviewed by Kenneth Rohde Christiansen.
48502 [Qt] Unnecessary QBrush construction for doing a solid color stroke
48503 https://bugs.webkit.org/show_bug.cgi?id=34874
48505 Use the similar trick like in r54347, i.e. use the special brush for
48506 solid color to avoid expensive QBrush constructor.
48508 * platform/graphics/qt/GraphicsContextQt.cpp:
48509 (WebCore::GraphicsContext::setPlatformStrokeColor):
48511 2010-02-11 Darin Fisher <darin@chromium.org>
48513 Reviewed by Jeremy Orlow.
48515 Pass the Document along to the ChromiumBridge cookie methods.
48517 https://bugs.webkit.org/show_bug.cgi?id=34878
48519 * platform/chromium/ChromiumBridge.h:
48520 * platform/network/chromium/CookieJarChromium.cpp:
48521 (WebCore::setCookies):
48522 (WebCore::cookies):
48523 (WebCore::cookiesEnabled):
48524 (WebCore::getRawCookies):
48525 (WebCore::deleteCookie):
48527 2010-02-12 Eric Seidel <eric@webkit.org>
48529 No review, rolling out r54694.
48530 http://trac.webkit.org/changeset/54694
48531 https://bugs.webkit.org/show_bug.cgi?id=34633
48533 This appears to have caused crashes on the Leopard bot. See
48536 * websockets/ThreadableWebSocketChannelClientWrapper.h:
48537 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
48538 * websockets/WebSocket.cpp:
48539 (WebCore::WebSocket::WebSocket):
48540 (WebCore::WebSocket::send):
48541 (WebCore::WebSocket::close):
48542 (WebCore::WebSocket::bufferedAmount):
48543 (WebCore::WebSocket::didConnect):
48544 (WebCore::WebSocket::didClose):
48545 * websockets/WebSocket.h:
48546 * websockets/WebSocketChannel.cpp:
48547 (WebCore::WebSocketChannel::WebSocketChannel):
48548 (WebCore::WebSocketChannel::send):
48549 (WebCore::WebSocketChannel::bufferedAmount):
48550 (WebCore::WebSocketChannel::didClose):
48551 * websockets/WebSocketChannel.h:
48552 * websockets/WebSocketChannelClient.h:
48553 (WebCore::WebSocketChannelClient::didClose):
48554 * websockets/WorkerThreadableWebSocketChannel.cpp:
48555 (WebCore::workerContextDidClose):
48556 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
48557 * websockets/WorkerThreadableWebSocketChannel.h:
48559 2010-02-12 Gavin Barraclough <barraclough@apple.com>
48561 Reviewed by Sam Weinig.
48563 Workers' EventListeners should be removed before JSGlobalData is destroyed
48564 https://bugs.webkit.org/show_bug.cgi?id=34903
48566 (Patch co-developed with Alexey Proskuryakov).
48568 Since http://trac.webkit.org/changeset/54460 the EventListeners registered by a
48569 worker thread are not removed until after the thread's JSGlobalData has been
48570 destroyed. This is slightly worrisome since the JSEventListener contains
48571 JSObject*s, which will be dangling once the heap is destroyed. The
48572 JSEventListeners may also reference the worker thread's normal world, which
48573 again it makes no sense to keep around after the JSGlobalData is freed.
48575 Remove all event listeners immediately prior to tearing down the JSGlobalData.
48577 https://bugs.webkit.org/show_bug.cgi?id=34728 addressed the symptoms of this
48578 problem, and it is probably cleaner to make the client data's normal world no
48579 longer be a member (since it is a ref-counted object), however they should be
48580 no requirement to 'detatch' - it makes no sense for anyone to be referencing
48581 the world after the JSGlobalData has gone away (the world's purpose is to hold
48582 wrapper objects in the JSGlobalData's heap). Keep the restructuring that makes
48583 the normal world no longer be a member, but remove the detach mechanism this
48584 patch added & replace with stronger ASSERTs.
48586 * bindings/js/JSDOMBinding.cpp:
48587 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
48588 * bindings/js/JSDOMBinding.h:
48589 (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
48590 * workers/WorkerThread.cpp:
48591 (WebCore::WorkerThreadShutdownStartTask::performTask):
48593 2010-02-12 Gavin Barraclough <barraclough@apple.com>
48595 Reviewed by Sam Weinig.
48597 https://bugs.webkit.org/show_bug.cgi?id=33731
48598 Remove uses of PtrAndFlags from WebCore::StringImpl.
48600 These break the OS X Leaks tool. Use a bits stolen from the refCount to hold the
48601 'InTable' and 'HasTerminatingNullCharacter' flags, along with the string type
48602 (fixes a leak where the string data is allocated at the address (this + 1), and is
48603 misinterpreted as being an internal buffer).
48605 * WebCore.base.exp:
48606 * platform/text/StringImpl.cpp:
48607 (WebCore::StringImpl::StringImpl):
48608 (WebCore::StringImpl::~StringImpl):
48609 (WebCore::StringImpl::create):
48610 (WebCore::StringImpl::createWithTerminatingNullCharacter):
48611 (WebCore::StringImpl::crossThreadString):
48612 (WebCore::StringImpl::sharedBuffer):
48613 * platform/text/StringImpl.h:
48614 (WebCore::StringImpl::):
48615 (WebCore::StringImpl::hasTerminatingNullCharacter):
48616 (WebCore::StringImpl::inTable):
48617 (WebCore::StringImpl::setInTable):
48618 (WebCore::StringImpl::ref):
48619 (WebCore::StringImpl::deref):
48620 (WebCore::StringImpl::hasOneRef):
48621 (WebCore::StringImpl::operator new):
48622 (WebCore::StringImpl::bufferOwnership):
48623 * storage/OriginUsageRecord.cpp:
48624 (WebCore::OriginUsageRecord::addDatabase):
48625 (WebCore::OriginUsageRecord::markDatabase):
48627 2010-02-12 Nikolas Zimmermann <nzimmermann@rim.com>
48629 Reviewed by Dirk Schulze.
48631 Repaint bug on Text selection in foreignObject
48632 https://bugs.webkit.org/show_bug.cgi?id=16939
48634 Tests: svg/overflow/overflow-on-foreignObject.svg
48635 svg/text/foreignObject-text-clipping-bug.xml
48637 Selecting text contained in <foreignObject> leads to artefacts. Same for zooming/panning.
48638 RenderForeignObject contained old legacy code returning FloatRect() for repaintRectInLocalCoordinates,
48639 which is obviously wrong. Fixing that leads to even more problems, as the underlying RenderBlock
48640 did not reflect the x/y translation set on the <foreignObject>. This is problematic, as laying out
48641 positioned objects in the XHTML subtree depends on proper size/location values of the frameRect.
48643 Correctly clip on overflow="hidden". overflow="scroll" & friends are not yet supported, see lengthy
48644 comment in RenderSVGBlock why we either need RenderLayer for RenderForeignObject or need to rework
48645 overflow handling to avoid RenderLayer.
48647 SVGForeignObjectElement uses a hacky custom solution to synchronize CSS width/height properties with
48648 the SVG width/height attributes. Remove all of that code and just implement calcWidth/calcHeight in
48649 RenderForeignObject, grabbing the right values from SVGForeignObjectElement::width/height upon layout.
48651 * rendering/RenderForeignObject.cpp:
48652 (WebCore::RenderForeignObject::paint): Clip properly to the actual bounds of the foreignObject, respecting that x/y translation is handled by RenderBlock now.
48653 (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): Added missing function, forward to SVGRenderBase just like all other SVG renderers.
48654 (WebCore::RenderForeignObject::computeRectForRepaint): Remove manual implementation, forward to SVGRenderBase.
48655 (WebCore::RenderForeignObject::localToParentTransform): Respect x/y translation here _after_ applying localTransform().
48656 (WebCore::RenderForeignObject::calcWidth): Override RenderBlock::calcWidth to grab width() from SVGForeignObjectElement.
48657 (WebCore::RenderForeignObject::calcHeight): Override RenderBlock::calcHeight to grab height() from SVGForeignObjectElement.
48658 (WebCore::RenderForeignObject::layout): Calculate viewport once and cache it. Push x/y location down to RenderBlock - analogous to RenderSVGText.
48659 (WebCore::RenderForeignObject::nodeAtFloatPoint): Adapt to x/y translation changes (map through localTransform, not localToParentTransform). Respect overflow clipping.
48660 (WebCore::RenderForeignObject::mapLocalToContainer): Set useTransforms=true, to avoid assertions when selecting text in foreign objects.
48661 * rendering/RenderForeignObject.h:
48662 (WebCore::RenderForeignObject::objectBoundingBox): Return cached m_viewport.
48663 (WebCore::RenderForeignObject::strokeBoundingBox): Ditto.
48664 (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): Ditto.
48665 * rendering/RenderSVGBlock.cpp:
48666 (WebCore::RenderSVGBlock::setStyle): Cleanup code, move setHasOverflowClip() overrides in updateBoxModelInfoFromStyle where it belongs.
48667 (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): Added to force setting setHasOverflowClip(false).
48668 * rendering/RenderSVGBlock.h:
48669 * svg/SVGForeignObjectElement.cpp: Kill a lot of custom code - it was just plain wrong to utilize CSS to push width/height information down to RenderBlock.
48670 (WebCore::SVGForeignObjectElement::svgAttributeChanged):
48672 2010-02-12 Dan Bernstein <mitz@apple.com>
48674 Reviewed by Simon Fraser.
48676 <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
48677 https://bugs.webkit.org/show_bug.cgi?id=34865
48679 Test: fast/text/glyph-reordering.html
48681 * platform/graphics/mac/ComplexTextController.cpp:
48682 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
48683 (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): Added. Sets m_isMonotonic
48684 and populates m_glyphEndOffsets with the end offsets of each glyph’s corresponding character range.
48685 (WebCore::ComplexTextController::advance): For non-monotonic runs, use endOffsetAt() to get
48686 glyphs’ end offsets.
48687 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check for monotonicity and call
48688 setIsNonMonotonic() if needed.
48689 * platform/graphics/mac/ComplexTextController.h:
48690 (WebCore::ComplexTextController::ComplexTextRun::lastIndexAt): Added this getter.
48691 (WebCore::ComplexTextController::ComplexTextRun::isMonotonic): Ditto.
48692 * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
48693 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic.
48694 * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
48695 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
48697 2010-02-12 Alexey Proskuryakov <ap@apple.com>
48699 Reviewed by David Levin.
48701 https://bugs.webkit.org/show_bug.cgi?id=34866
48702 Leopard Debug Bot crashed on fast/forms/old-names.html
48704 * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::formCollectionInfo): Removed
48705 a misplaced checkConsistency() call. We are not looking at cache content at this point, and
48706 caches will be reset on next access.
48708 2010-02-12 Pavel Feldman <pfeldman@chromium.org>
48710 Reviewed by Timothy Hatcher.
48712 Web Inspector: restore highlighting animation, bring back
48713 keyboard navigation, beautify search results.
48715 https://bugs.webkit.org/show_bug.cgi?id=34853
48717 * inspector/front-end/TextViewer.js:
48718 (WebInspector.TextViewer):
48719 (WebInspector.TextViewer.prototype.highlightLine):
48720 * inspector/front-end/textViewer.css:
48722 2010-02-12 Anton Muhin <antonm@chromium.org>
48724 Reviewed by Adam Barth.
48726 [v8] handle to the document can only own Objects, not Values
48727 https://bugs.webkit.org/show_bug.cgi?id=34854
48729 * bindings/v8/V8DOMWindowShell.cpp:
48730 (WebCore::V8DOMWindowShell::updateDocumentWrapper):
48731 (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
48732 * bindings/v8/V8DOMWindowShell.h:
48733 * bindings/v8/custom/V8DocumentCustom.cpp:
48736 2010-02-12 Simon Hausmann <simon.hausmann@nokia.com>
48738 Reviewed by Holger Freyther.
48740 Replaced stray CRLF with LF.
48742 * wml/WMLInputElement.cpp:
48743 (WebCore::WMLInputElement::suggestedValue):
48744 * wml/WMLInputElement.h:
48746 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
48748 Reviewed by Tor Arne Vestbø.
48750 [Qt] Make qtlauncher and qgvlauncher use the generated headers
48751 path to make sure they are correctly generated.
48755 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
48757 Reviewed by Tor Arne Vestbø.
48759 [Qt] Ensure relative paths in generated .pri files to ensure that
48760 a source package with pre-generated derived sources can be compiled.
48762 - Re-add a separate headers.pri file for WEBKIT_API_HEADERS
48763 - Rename the generated headers.pri to classheaders.pri to avoid
48764 confusion with the one generated by synqt since they don't have the
48766 - Remove private headers list variable from classheaders.pri
48767 - Use $$PWD in classheaders.pri
48768 - Remove classheaders.pri from the installed files
48772 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
48774 Reviewed by Tor Arne Vestbø.
48776 [Qt] Manually add support for the install target on Symbian.
48778 This is required to copy the headers over the ones in Qt.
48782 2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
48784 Reviewed by Tor Arne Vestbø.
48786 [Qt] Minor fixes on QtWebKit headers generation.
48788 - Adds QtWebKit to the generated headers destination path
48789 - Improve compatibility with MinGW
48793 2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
48795 Reviewed by Alexey Proskuryakov.
48797 WebSocket ignores HttpOnly cookies, but should use in Handshake.
48798 https://bugs.webkit.org/show_bug.cgi?id=34289
48800 Test: websocket/tests/cookies/httponly-cookie.pl
48802 * platform/CookieJar.h: add cookieRequestHeaderFieldValue()
48803 * platform/chromium/ChromiumBridge.h:
48804 * platform/haiku/CookieJarHaiku.cpp:
48805 (WebCore::cookieRequestHeaderFieldValue):
48806 * platform/mac/CookieJar.mm:
48807 (WebCore::cookies):
48808 (WebCore::cookieRequestHeaderFieldValue):
48809 * platform/network/android/CookieJarAndroid.cpp:
48810 (WebCore::cookieRequestHeaderFieldValue):
48811 * platform/network/chromium/CookieJarChromium.cpp:
48812 (WebCore::cookieRequestHeaderFieldValue):
48813 * platform/network/curl/CookieJarCurl.cpp:
48814 (WebCore::cookieRequestHeaderFieldValue):
48815 * platform/network/soup/CookieJarSoup.cpp:
48816 (WebCore::cookieRequestHeaderFieldValue):
48817 * platform/network/win/CookieJarCFNetWin.cpp:
48818 (WebCore::cookieRequestHeaderFieldValue):
48819 * platform/network/win/CookieJarWin.cpp:
48820 (WebCore::cookieRequestHeaderFieldValue):
48821 * platform/qt/CookieJarQt.cpp:
48822 (WebCore::cookieRequestHeaderFieldValue):
48823 * websockets/WebSocketHandshake.cpp:
48824 (WebCore::WebSocketHandshake::clientHandshakeMessage): use cookieRequestHeaderFieldValue() instead of cookies() to include HttpOnly cookies.
48826 2010-02-16 Sebastian Dröge <sebastian.droege@collabora.co.uk>
48828 Reviewed by Gustavo Noronha Silva.
48830 Notify about size changes in the WebKit GStreamer source.
48832 https://bugs.webkit.org/show_bug.cgi?id=34881
48834 * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
48835 (webkit_web_src_init):
48836 (StreamingClient::didReceiveResponse):
48837 * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
48838 This makes sure that other GStreamer elements know about the
48839 size and on-disk buffering actually works.
48840 Only notify about size changes if gst-plugins-base before
48841 0.10.27 is used, because from that version onwards this is
48842 automatically handled.
48844 If appsrc 0.10.27 or later is used, set the min-percent property
48845 to 20% to allow more time to pass between the need-data signal
48846 and starvation of the pipeline.
48848 Also reset the size when stopping the source and send EOS
48849 on seeking failures.
48851 2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com>
48853 Reviewed by Kenneth Rohde Christiansen.
48855 [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles.
48857 https://bugs.webkit.org/show_bug.cgi?id=32375
48859 * platform/graphics/qt/GraphicsContextQt.cpp:
48860 (WebCore::GraphicsContext::clipOut):
48861 (WebCore::GraphicsContext::clipOutEllipseInRect):
48863 2010-02-11 Yuzo Fujishima <yuzo@google.com>
48865 Reviewed by Shinichiro Hamaji.
48867 Rename underscored identifiers in WebCore/css/CSSParser.cpp.
48868 https://bugs.webkit.org/show_bug.cgi?id=34877
48869 Also fix whitespace erros that surface due to the above fix.
48871 This doesn't change the code logic. Hence no new tests are required.
48873 * css/CSSParser.cpp:
48874 (WebCore::CSSParser::parseValue):
48876 2010-02-11 Joseph Pecoraro <joepeck@webkit.org>
48878 Reviewed by Timothy Hatcher.
48880 Web Inspector: Focusing a resource in the inspector should default to content not header
48881 https://bugs.webkit.org/show_bug.cgi?id=34861
48883 * inspector/front-end/Settings.js:
48884 (WebInspector.Settings.prototype._load): changed initial default to content tab
48886 2010-02-11 Joseph Pecoraro <joepeck@webkit.org>
48888 Reviewed by Timothy Hatcher.
48890 Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item
48891 https://bugs.webkit.org/show_bug.cgi?id=34872
48893 * inspector/front-end/StylesSidebarPane.js:
48894 (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate
48895 (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling
48897 2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
48899 Reviewed by Eric Seidel.
48901 Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint.
48903 * platform/graphics/FloatSize.h:
48904 (WebCore::roundedIntSize):
48906 2010-02-11 Kent Tamura <tkent@chromium.org>
48908 Reviewed by Darin Adler.
48910 Fix two issues on maxLength.
48911 https://bugs.webkit.org/show_bug.cgi?id=34783
48913 - ValidityState.tooLong behavior was inconsistent with UIs of
48914 <input> and <textarea>. tooLong checked Unicode code point length
48915 though the UIs checks grapheme cluster length.
48917 - Setting HTMLTextAreaElement::value didn't update the dirty flag.
48919 * html/HTMLInputElement.cpp:
48920 (WebCore::HTMLInputElement::tooLong): Use numGraphemeClusters() instead of length().
48921 * html/HTMLTextAreaElement.cpp:
48922 Rename setValue() to setNonDirtyValue(), and introduce setValue()
48923 which calls setNonDirtyValue() and sets the dirty flag.
48924 (WebCore::HTMLTextAreaElement::childrenChanged):
48925 (WebCore::HTMLTextAreaElement::reset):
48926 (WebCore::HTMLTextAreaElement::setValue):
48927 (WebCore::HTMLTextAreaElement::setNonDirtyValue):
48928 (WebCore::HTMLTextAreaElement::setDefaultValue):
48929 (WebCore::HTMLTextAreaElement::tooLong): Use numGraphemeClusters() instead of length().
48930 * html/HTMLTextAreaElement.h:
48932 2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
48934 Reviewed by Alexey Proskuryakov.
48936 WebSocket bufferedAmount should not be 0 when send after close.
48937 https://bugs.webkit.org/show_bug.cgi?id=34633
48939 Test: websocket/tests/bufferedAmount-after-close.html
48941 * websockets/ThreadableWebSocketChannelClientWrapper.h:
48942 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
48943 * websockets/WebSocket.cpp:
48944 (WebCore::WebSocket::WebSocket):
48945 (WebCore::WebSocket::send):
48946 (WebCore::WebSocket::close):
48947 (WebCore::WebSocket::bufferedAmount):
48948 (WebCore::WebSocket::didConnect):
48949 (WebCore::WebSocket::didClose):
48950 * websockets/WebSocket.h:
48951 * websockets/WebSocketChannel.cpp:
48952 (WebCore::WebSocketChannel::WebSocketChannel):
48953 (WebCore::WebSocketChannel::send):
48954 (WebCore::WebSocketChannel::bufferedAmount):
48955 (WebCore::WebSocketChannel::didClose):
48956 * websockets/WebSocketChannel.h:
48957 * websockets/WebSocketChannelClient.h:
48958 (WebCore::WebSocketChannelClient::didClose):
48959 * websockets/WorkerThreadableWebSocketChannel.cpp:
48960 (WebCore::workerContextDidClose):
48961 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
48962 * websockets/WorkerThreadableWebSocketChannel.h:
48964 2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
48966 Reviewed by Alexey Proskuryakov.
48968 WebSocket in Worker failed to close
48969 https://bugs.webkit.org/show_bug.cgi?id=34785
48971 Tests: websocket/tests/workers/close-in-shared-worker.html
48972 websocket/tests/workers/close-in-worker.html
48974 * websockets/WorkerThreadableWebSocketChannel.cpp:
48975 (WebCore::WorkerThreadableWebSocketChannel::close):
48977 2010-02-11 Kwang Yul Seo <skyul@company100.net>
48979 Reviewed by Eric Seidel.
48981 [BREWMP] Add dummy Cursor
48982 https://bugs.webkit.org/show_bug.cgi?id=34672
48984 * platform/brew/CursorBrew.cpp: Added.
48985 (WebCore::Cursor::Cursor):
48986 (WebCore::Cursor::~Cursor):
48987 (WebCore::Cursor::operator=):
48988 (WebCore::dummyCursor):
48989 (WebCore::pointerCursor):
48990 (WebCore::crossCursor):
48991 (WebCore::handCursor):
48992 (WebCore::moveCursor):
48993 (WebCore::iBeamCursor):
48994 (WebCore::waitCursor):
48995 (WebCore::helpCursor):
48996 (WebCore::eastResizeCursor):
48997 (WebCore::northResizeCursor):
48998 (WebCore::northEastResizeCursor):
48999 (WebCore::northWestResizeCursor):
49000 (WebCore::southResizeCursor):
49001 (WebCore::southEastResizeCursor):
49002 (WebCore::southWestResizeCursor):
49003 (WebCore::westResizeCursor):
49004 (WebCore::northSouthResizeCursor):
49005 (WebCore::eastWestResizeCursor):
49006 (WebCore::northEastSouthWestResizeCursor):
49007 (WebCore::northWestSouthEastResizeCursor):
49008 (WebCore::columnResizeCursor):
49009 (WebCore::rowResizeCursor):
49010 (WebCore::verticalTextCursor):
49011 (WebCore::cellCursor):
49012 (WebCore::contextMenuCursor):
49013 (WebCore::noDropCursor):
49014 (WebCore::copyCursor):
49015 (WebCore::progressCursor):
49016 (WebCore::aliasCursor):
49017 (WebCore::noneCursor):
49018 (WebCore::notAllowedCursor):
49019 (WebCore::zoomInCursor):
49020 (WebCore::zoomOutCursor):
49021 (WebCore::middlePanningCursor):
49022 (WebCore::eastPanningCursor):
49023 (WebCore::northPanningCursor):
49024 (WebCore::northEastPanningCursor):
49025 (WebCore::northWestPanningCursor):
49026 (WebCore::southPanningCursor):
49027 (WebCore::southEastPanningCursor):
49028 (WebCore::southWestPanningCursor):
49029 (WebCore::westPanningCursor):
49030 (WebCore::grabCursor):
49031 (WebCore::grabbingCursor):
49033 2010-02-11 Nate Chapin <japhet@chromium.org>
49035 Reviewed by Dimitri Glazkov.
49037 [V8] Add back in a fast path for v8 object wrapping
49038 when it's not possible we're in a WorkerContext (the fast
49039 path is important for performance).
49041 https://bugs.webkit.org/show_bug.cgi?id=34805
49043 * bindings/scripts/CodeGeneratorV8.pm:
49044 * bindings/v8/V8DOMWrapper.cpp:
49045 (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext):
49046 (WebCore::V8DOMWrapper::instantiateV8Object):
49047 * bindings/v8/V8DOMWrapper.h:
49049 2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
49051 Reviewed by Dirk Schulze.
49053 Small cleanups in SVG render tree code.
49054 Centralize calls to inflateShadow(), in SVGRenderSupport::computeRectForRepaint,
49055 instead of spreading them around the subclasses. All classes should inherit
49056 protected from SVGRenderBase, made it consistent.
49058 Doesn't affect layout tests.
49060 * rendering/RenderSVGImage.cpp:
49061 (WebCore::RenderSVGImage::computeRectForRepaint):
49062 * rendering/RenderSVGImage.h:
49063 * rendering/RenderSVGModelObject.cpp:
49064 (WebCore::RenderSVGModelObject::computeRectForRepaint):
49065 * rendering/RenderSVGRoot.h:
49066 * rendering/RenderSVGText.cpp:
49067 (WebCore::RenderSVGText::computeRectForRepaint):
49068 (WebCore::RenderSVGText::layout):
49069 * rendering/SVGRenderSupport.cpp:
49070 (WebCore::SVGRenderBase::computeRectForRepaint):
49071 * rendering/SVGRootInlineBox.h:
49073 2010-02-11 David Hyatt <hyatt@apple.com>
49075 Reviewed by Dan Bernstein.
49077 https://bugs.webkit.org/show_bug.cgi?id=34857
49078 Move InlineIterator and BidiRun into new files so subclasses can access them.
49083 * WebCore.vcproj/WebCore.vcproj:
49084 * WebCore.xcodeproj/project.pbxproj:
49085 * rendering/BidiRun.cpp: Added.
49086 (WebCore::BidiRun::destroy):
49088 (WebCore::BidiRun::operator delete):
49089 * rendering/BidiRun.h: Added.
49090 (WebCore::BidiRun::BidiRun):
49091 (WebCore::BidiRun::next):
49092 * rendering/InlineIterator.h: Added.
49093 (WebCore::InlineIterator::InlineIterator):
49094 (WebCore::operator==):
49095 (WebCore::operator!=):
49096 (WebCore::bidiNext):
49097 (WebCore::bidiFirst):
49098 (WebCore::InlineIterator::increment):
49099 (WebCore::InlineIterator::atEnd):
49100 (WebCore::InlineIterator::current):
49101 (WebCore::InlineIterator::direction):
49102 (WebCore::InlineBidiResolver::increment):
49103 (WebCore::InlineBidiResolver::appendRun):
49104 * rendering/RenderBlock.h:
49105 * rendering/RenderBlockLineLayout.cpp:
49106 (WebCore::RenderBlock::appendRunsForObject):
49107 (WebCore::RenderBlock::requiresLineBox):
49109 2010-02-11 Steve Block <steveblock@google.com>
49111 Reviewed by Dimitri Glazkov.
49113 Fixes CodeGeneratorV8.pm to include the header for the indexer type when using setCollectionIndexedGetter()
49114 https://bugs.webkit.org/show_bug.cgi?id=34836
49116 setCollectionIndexedGetter() uses getIndexedPropertyOfCollection(),
49117 which in turn uses toV8() with the indexer type, which is declared in
49118 the header for the indexer type.
49120 No new tests, build fix only.
49122 * bindings/scripts/CodeGeneratorV8.pm:
49124 2010-02-11 Pavel Feldman <pfeldman@chromium.org>
49126 Reviewed by Timothy Hatcher.
49128 Web Inspector: split source code into chunks in order to improve text
49129 viewer performance on large files.
49131 https://bugs.webkit.org/show_bug.cgi?id=34816
49133 This change brings back SourceFrame's canvas+style magic, restores line
49134 wrapping and makes things a lot like they used to be.
49135 It removes TextEditor for now and renames NativeTextViewer into TextViewer.
49136 TextViewer is no longer derived from TextEditor.
49137 This TextViewer is still based on TextEditorModel, no iframes are involved.
49139 Instead of creating div per line, TextViewer splits source code into 50 line
49140 chunks. Upon scroll event, visible chunks are sharded into lines and individual
49141 lines are highlighted. Whenever highlighted region gets outside of the visible
49142 area, highlight spans are thrown away and region is replaced with the original
49146 - Whenever there is a need to manipulate individual lines (add message bubble /
49147 set breakpoint / reveal / etc.), individual chunks for such lines are created.
49148 - There is also an implicit machinery that is maintaining selection when it
49149 goes beyond the visible area.
49150 - Search occurrences are implemented as artificial spans interweaving
49151 highlighting markup.
49154 * WebCore.vcproj/WebCore.vcproj:
49155 * inspector/front-end/NativeTextViewer.js: Removed.
49156 * inspector/front-end/ScriptView.js:
49157 (WebInspector.ScriptView):
49158 * inspector/front-end/Settings.js:
49159 * inspector/front-end/SourceFrame.js:
49160 (WebInspector.SourceFrame):
49161 (WebInspector.SourceFrame.prototype.set visible):
49162 (WebInspector.SourceFrame.prototype.set executionLine):
49163 (WebInspector.SourceFrame.prototype.revealLine):
49164 (WebInspector.SourceFrame.prototype.addBreakpoint):
49165 (WebInspector.SourceFrame.prototype.removeBreakpoint):
49166 (WebInspector.SourceFrame.prototype.addMessage):
49167 (WebInspector.SourceFrame.prototype.clearMessages):
49168 (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
49169 (WebInspector.SourceFrame.prototype.setContent):
49170 (WebInspector.SourceFrame.prototype.highlightLine):
49171 (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
49172 (WebInspector.SourceFrame.prototype.markAndRevealRange):
49173 (WebInspector.SourceFrame.prototype.clearMarkedRange):
49174 (WebInspector.SourceFrame.prototype._breakpointChanged):
49175 (WebInspector.SourceFrame.prototype._updateExecutionLine):
49176 (WebInspector.SourceFrame.prototype._addMessageToSource):
49177 (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource):
49178 (WebInspector.SourceFrame.prototype._addBreakpointToSource):
49179 (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
49180 (WebInspector.SourceFrame.prototype._mouseDown):
49181 (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
49182 (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
49183 (WebInspector.SourceFrame.prototype._editBreakpointCondition):
49184 (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
49185 (WebInspector.SourceFrame.prototype._createConditionElement):
49186 (WebInspector.SourceFrame.prototype._keyDown):
49187 (WebInspector.SourceFrame.prototype.resize):
49188 (WebInspector.SourceFrame.prototype._drawProgramCounterInContext):
49189 (WebInspector.SourceFrame.prototype._drawProgramCounterImageIfNeeded):
49190 (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
49191 (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
49192 * inspector/front-end/SourceView.js:
49193 (WebInspector.SourceView):
49194 (WebInspector.SourceView.prototype._removeBreakpoint):
49195 (WebInspector.SourceView.prototype.searchCanceled):
49196 (WebInspector.SourceView.prototype._jumpToSearchResult):
49197 * inspector/front-end/TextEditor.js: Removed.
49198 * inspector/front-end/TextViewer.js: Added.
49199 (WebInspector.TextViewer):
49200 (WebInspector.TextViewer.prototype.set mimeType):
49201 (WebInspector.TextViewer.prototype.get textModel):
49202 (WebInspector.TextViewer.prototype.revealLine):
49203 (WebInspector.TextViewer.prototype.addDecoration):
49204 (WebInspector.TextViewer.prototype.removeDecoration):
49205 (WebInspector.TextViewer.prototype.markAndRevealRange):
49206 (WebInspector.TextViewer.prototype.highlightLine):
49207 (WebInspector.TextViewer.prototype._textChanged):
49208 (WebInspector.TextViewer.prototype._createChunkRow):
49209 (WebInspector.TextViewer.prototype._makeLineAChunk):
49210 (WebInspector.TextViewer.prototype._indexChunks):
49211 (WebInspector.TextViewer.prototype._highlightChanged):
49212 (WebInspector.TextViewer.prototype._scroll):
49213 (WebInspector.TextViewer.prototype.setCoalescingUpdate):
49214 (WebInspector.TextViewer.prototype._repaintAll):
49215 (WebInspector.TextViewer.prototype._chunkForOffset):
49216 (WebInspector.TextViewer.prototype._chunkNumberForLine):
49217 (WebInspector.TextViewer.prototype._chunkStartLine):
49218 (WebInspector.TextViewer.prototype._restoreChunks):
49219 (WebInspector.TextViewer.prototype._repaint):
49220 (WebInspector.TextViewer.prototype._getSelection):
49221 (WebInspector.TextViewer.prototype._restoreSelection):
49222 (WebInspector.TextViewer.prototype._selectionToPosition):
49223 (WebInspector.TextViewer.prototype._createLineRow):
49224 (WebInspector.TextViewer.prototype._paintLine):
49225 (WebInspector.TextViewer.prototype._createSpan):
49226 (WebInspector.TextViewer.prototype._createLink):
49227 (WebInspector.TextViewer.prototype._rewriteHref):
49228 (WebInspector.TextViewer.prototype._markRange):
49229 (WebInspector.TextViewer.prototype._decimalDigits):
49230 (WebInspector.TextViewer.prototype.resize):
49231 * inspector/front-end/WebKit.qrc:
49232 * inspector/front-end/inspector.css:
49233 * inspector/front-end/inspector.html:
49234 * inspector/front-end/textEditor.css: Removed.
49235 * inspector/front-end/textViewer.css: Added.
49236 * inspector/front-end/utilities.js:
49237 (Node.prototype.traverseNextTextNode):
49238 (Node.prototype.rangeBoundaryForOffset):
49240 2010-02-11 Csaba Osztrogonác <ossy@webkit.org>
49242 Reviewed by Tor Arne Vestbø.
49244 [Qt] ENABLE_RUBY flag was restored by r54649, but default value wasn't added for Qt port.
49245 https://bugs.webkit.org/show_bug.cgi?id=34698
49247 * WebCore.pri: Add ENABLE_RUBY=1 as default setting.
49249 2010-02-11 Steve Block <steveblock@google.com>
49251 Reviewed by Jeremy Orlow.
49253 Updates Android V8 Makefile to generate Notifications and WebSockets headers required by V8DOMWrapper.cpp
49254 https://bugs.webkit.org/show_bug.cgi?id=34815
49256 No new tests, build fix only.
49258 * Android.derived.v8bindings.mk:
49260 2010-02-11 Steve Block <steveblock@google.com>
49262 Reviewed by Jeremy Orlow.
49264 Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp
49265 https://bugs.webkit.org/show_bug.cgi?id=34814
49267 No new tests, build fix only.
49269 * Android.derived.v8bindings.mk:
49271 2010-02-11 Steve Block <steveblock@google.com>
49273 Reviewed by Nate Chapin.
49275 Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp
49276 https://bugs.webkit.org/show_bug.cgi?id=34806
49278 No new tests, build fix only.
49280 * Android.derived.v8bindings.mk:
49282 2010-02-11 Steve Block <steveblock@google.com>
49284 Reviewed by David Levin.
49286 Guards SVG code in V8 bindings with ENABLE(SVG)
49287 https://bugs.webkit.org/show_bug.cgi?id=34812
49289 Also updates Android V8 Makefile to generate required SVG headers.
49291 No new tests, build fix only.
49293 * Android.derived.v8bindings.mk:
49294 * bindings/v8/custom/V8CSSValueCustom.cpp:
49296 * bindings/v8/custom/V8DocumentCustom.cpp:
49298 * bindings/v8/custom/V8ElementCustom.cpp:
49301 2010-02-08 Maciej Stachowiak <mjs@apple.com>
49303 Reviewed by Cameron Zwarich.
49305 Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
49306 https://bugs.webkit.org/show_bug.cgi?id=34698
49308 * Configurations/FeatureDefines.xcconfig:
49309 * DerivedSources.make:
49311 * html/HTMLTagNames.in: Make the ruby-related tag names conditional.
49312 * rendering/RenderObject.cpp:
49313 (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements.
49314 * rendering/RenderObject.h: ditto above
49315 * rendering/RenderRuby.cpp: ifdef this whole file
49316 * rendering/RenderRuby.h: ditto
49317 * rendering/RenderRubyBase.cpp: ditto
49318 * rendering/RenderRubyBase.h: ditto
49319 * rendering/RenderRubyRun.cpp: ditto
49320 * rendering/RenderRubyRun.h: ditto
49321 * rendering/RenderRubyText.cpp: ditto
49322 * rendering/RenderRubyText.h: ditto
49324 2010-02-11 Kent Tamura <tkent@chromium.org>
49326 Reviewed by Darin Adler.
49328 Step attribute support for date&time types.
49329 https://bugs.webkit.org/show_bug.cgi?id=30847
49331 - Add implementation for ValidityState.stepMismatch, stepUp() and
49332 stepDown() for date, datetime, datetime-local, month, time, week types.
49333 - Fix string representation of DateComponents.
49335 Tests: fast/forms/ValidityState-stepMismatch.html
49336 fast/forms/input-stepup-stepdown.html
49338 * html/HTMLInputElement.cpp:
49339 - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow.
49340 (WebCore::HTMLInputElement::stepBase):
49341 (WebCore::HTMLInputElement::stepMismatch):
49342 (WebCore::HTMLInputElement::getStepParameters):
49343 (WebCore::HTMLInputElement::getAllowedValueStep):
49344 (WebCore::HTMLInputElement::applyStep):
49345 Renamed from applyStepForNumberOrRange(), and add support for other types.
49346 (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange().
49347 (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange().
49348 (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue().
49349 (WebCore::HTMLInputElement::setDateValue):
49350 A helper function to make the best representation of DateComponents.
49351 (WebCore::HTMLInputElement::setValueAsNumber): Use setDateValue().
49352 * html/HTMLInputElement.h:
49354 2010-02-10 Oliver Hunt <oliver@apple.com>
49356 Reviewed by Gavin Barraclough.
49358 postMessage does not send ImageData
49359 https://bugs.webkit.org/show_bug.cgi?id=34825
49361 Implement serialisation of ImageData, and for testing reasons
49362 expose the ImageData constructor (which should already have
49365 * bindings/js/SerializedScriptValue.cpp:
49366 (WebCore::SerializedImageData::create):
49367 (WebCore::SerializedImageData::width):
49368 (WebCore::SerializedImageData::height):
49369 (WebCore::SerializedImageData::data):
49370 (WebCore::SerializedImageData::SerializedImageData):
49371 (WebCore::SerializedScriptValueData::SerializedScriptValueData):
49372 (WebCore::SharedSerializedData::asImageData):
49373 (WebCore::SerializingTreeWalker::convertIfTerminal):
49374 (WebCore::DeserializingTreeWalker::convertIfTerminal):
49375 (WebCore::TeardownTreeWalker::convertIfTerminal):
49376 * bindings/js/SerializedScriptValue.h:
49377 (WebCore::SerializedScriptValueData::):
49378 (WebCore::SerializedScriptValueData::asImageData):
49379 * html/canvas/CanvasPixelArray.h:
49380 (WebCore::CanvasPixelArray::data):
49381 * page/DOMWindow.idl:
49383 2010-02-10 Adam Barth <abarth@webkit.org>
49385 Reviewed by Darin Adler.
49387 Address last round of review comments on r53607
49388 https://bugs.webkit.org/show_bug.cgi?id=33940
49390 Mostly renaming and cleaning up.
49392 * css/CSSImportRule.cpp:
49393 (WebCore::CSSImportRule::insertedIntoParent):
49394 * css/CSSStyleSheet.h:
49395 (WebCore::CSSStyleSheet::create):
49396 (WebCore::CSSStyleSheet::createInline):
49397 * css/StyleBase.cpp:
49398 (WebCore::StyleBase::baseURL):
49399 * css/StyleSheet.cpp:
49400 (WebCore::StyleSheet::StyleSheet):
49401 * css/StyleSheet.h:
49402 (WebCore::StyleSheet::href):
49403 (WebCore::StyleSheet::setFinalURL):
49404 (WebCore::StyleSheet::finalURL):
49405 * dom/Document.cpp:
49406 (WebCore::Document::updateBaseURL):
49407 * dom/ProcessingInstruction.cpp:
49408 (WebCore::ProcessingInstruction::checkStyleSheet):
49409 * xml/XSLImportRule.cpp:
49410 (WebCore::XSLImportRule::loadSheet):
49411 * xml/XSLStyleSheet.h:
49412 (WebCore::XSLStyleSheet::create):
49413 (WebCore::XSLStyleSheet::createInline):
49414 * xml/XSLStyleSheetLibxslt.cpp:
49415 (WebCore::XSLStyleSheet::XSLStyleSheet):
49416 (WebCore::XSLStyleSheet::parseString):
49417 (WebCore::XSLStyleSheet::loadChildSheets):
49418 * xml/XSLStyleSheetQt.cpp:
49419 (WebCore::XSLStyleSheet::XSLStyleSheet):
49421 2010-02-10 Noam Rosenthal <noam.rosenthal@nokia.com>
49423 Reviewed by Ariya Hidayat.
49425 [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation
49426 This is because we try to delete the animation when finished: that is
49427 unnecessary. WebCore manages the animation's lifecycle and makes sure
49428 to call the right function when the animation can be deleted.
49430 https://bugs.webkit.org/show_bug.cgi?id=34761
49434 * platform/graphics/qt/GraphicsLayerQt.cpp:
49435 (WebCore::GraphicsLayerQt::addAnimation): No need to delete here
49436 (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater
49438 2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
49440 [wx] Build fix for wxMac/Cocoa.
49442 * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed.
49443 * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp.
49446 2010-02-10 Jon Honeycutt <jhoneycutt@apple.com>
49448 REGRESSION(24929): PDF page doesn't load in background tab
49450 Reviewed by Dan Bernstein.
49452 * plugins/PluginView.cpp:
49453 (WebCore::PluginView::startOrAddToUnstartedList):
49454 Only delay loading of the plug-in if we'll kick off our own load of the
49455 plug-in data later, in start().
49457 2010-02-10 Enrica Casucci <enrica@apple.com>
49459 Reviewed by Simon Fraser.
49461 Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site
49462 <rdar://problem/7557201>
49463 https://bugs.webkit.org/show_bug.cgi?id=34823
49465 No tests added because the code is exercised by the existing tests.
49467 The root cause was the fact that we were not releasing a reference that was held by CA.
49468 In debug builds we had an assert in the destructor of WKCACFLayer.
49470 * platform/graphics/win/GraphicsLayerCACF.cpp:
49471 (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF):
49473 2010-02-10 Kwang Yul Seo <skyul@company100.net>
49475 Reviewed by Eric Seidel.
49477 [BREWMP] Typedef DragImageRef
49478 https://bugs.webkit.org/show_bug.cgi?id=34791
49480 Use IImage* as it is the BREW's image type.
49482 * platform/DragImage.h:
49484 2010-02-10 Beth Dakin <bdakin@apple.com>
49486 Reviewed by Simon Fraser and Darin Adler.
49488 Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION:
49489 Mask not invalidating
49491 SVGMaskElement is the only class that keeps a HashMap of canvas
49492 resources rather than just a pointer to a resource. This
49493 patch makes SVGMaskElement invalidate all of its resources in the
49494 HashMap instead of just one.
49496 * svg/SVGMaskElement.cpp:
49497 (WebCore::SVGMaskElement::svgAttributeChanged):
49498 (WebCore::SVGMaskElement::childrenChanged):
49499 (WebCore::SVGMaskElement::invalidateCanvasResources):
49500 * svg/SVGMaskElement.h:
49501 * svg/SVGStyledElement.cpp:
49502 (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
49503 (WebCore::SVGStyledElement::invalidateCanvasResources):
49504 * svg/SVGStyledElement.h:
49506 2010-02-10 Stephan Aßmus <superstippi@gmx.de>
49508 Reviewed by David Levin.
49510 Fixes to rect conversion and image rendering on Haiku
49511 https://bugs.webkit.org/show_bug.cgi?id=34684
49513 Covered by existing tests.
49515 The changes to the rect conversions are indeed correct. In Haiku (to stay
49516 compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel
49517 *indices*, even though the values are floating point. So a rectangle covering
49518 just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other
49519 frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the
49520 width and height of rectangles refer to the distance between pixels, while on
49521 Haiku, a one pixel rect has indeed a width and height of 0, as confusing as
49524 The part of the patch that affects
49525 WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing
49526 methods more correctly. Image observers are notified, and pattern drawing takes
49527 the "phase" into account which makes scrolled backgrounds render correctly.
49528 Transformations are still not supported, since the Haiku drawing backend itself
49529 does not yet support them.
49531 Use OwnPtr when creating the BBitmap to avoid future leaks with early returns.
49533 Convert the bitmap data to non pre-multiplied until Haiku supports drawing
49534 pre-multiplied bitmaps.
49536 * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion
49537 * platform/graphics/haiku/ImageHaiku.cpp:
49538 (WebCore::BitmapImage::draw): Fixed placement, notify observers
49539 (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers
49540 * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion
49541 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion
49543 2010-02-10 Simon Fraser <simon.fraser@apple.com>
49545 Reviewed by David Levin.
49547 Clean up unused member var and initialization in Document
49548 https://bugs.webkit.org/show_bug.cgi?id=34820
49550 Remove unused m_secureForms member variable in Document.
49552 * dom/Document.cpp:
49553 (WebCore::Document::Document):
49556 2010-02-10 Kevin Watters <kevinwatters@gmail.com>
49558 Reviewed by Kevin Ollivier.
49560 [wx] Add Windows complex text support and Mac support for containsCharacters.
49562 https://bugs.webkit.org/show_bug.cgi?id=34759
49564 * platform/graphics/SimpleFontData.h:
49565 * platform/graphics/wx/FontPlatformData.h:
49566 (WebCore::FontPlatformData::roundsGlyphAdvances):
49567 * platform/graphics/wx/FontPlatformDataWx.cpp:
49568 (WebCore::FontPlatformData::useGDI):
49569 (WebCore::FontPlatformData::hfont):
49570 * platform/graphics/wx/FontWx.cpp:
49571 (WebCore::Font::canReturnFallbackFontsForComplexText):
49572 (WebCore::Font::selectionRectForComplexText):
49573 (WebCore::Font::drawComplexText):
49574 (WebCore::Font::floatWidthForComplexText):
49575 (WebCore::Font::offsetForPositionForComplexText):
49576 * platform/graphics/wx/SimpleFontDataWx.cpp:
49577 (WebCore::SimpleFontData::platformInit):
49578 (WebCore::SimpleFontData::platformDestroy):
49579 (WebCore::SimpleFontData::containsCharacters):
49580 (WebCore::SimpleFontData::platformWidthForGlyph):
49581 (WebCore::SimpleFontData::scriptFontProperties):
49582 (WebCore::SimpleFontData::initGDIFont):
49583 (WebCore::SimpleFontData::platformCommonDestroy):
49584 (WebCore::SimpleFontData::widthForGDIGlyph):
49585 * platform/wx/wxcode/fontprops.h:
49586 * platform/wx/wxcode/gtk/fontprops.cpp:
49587 (wxFontContainsCharacters):
49588 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
49589 (wxFontContainsCharacters):
49590 * platform/wx/wxcode/win/fontprops.cpp:
49591 (wxFontContainsCharacters):
49592 * platform/wx/wxcode/win/non-kerned-drawing.cpp:
49593 (WebCore::drawTextWithSpacing):
49596 2010-02-10 Kwang Yul Seo <skyul@company100.net>
49597 Reviewed by Eric Seidel.
49599 [BREWMP] Add dummy Frame::dragImageForSelection
49600 https://bugs.webkit.org/show_bug.cgi?id=34792
49602 Add FrameBrew.cpp which contains a dummy implementation of
49603 Frame::dragImageForSelection.
49605 * page/brew/FrameBrew.cpp: Added.
49606 (WebCore::Frame::dragImageForSelection):
49608 2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
49610 [wx] Build fix. Switch drawPattern to Image class like other platforms.
49612 * platform/graphics/BitmapImage.h:
49613 * platform/graphics/wx/ImageWx.cpp:
49614 (WebCore::Image::drawPattern):
49616 2010-02-10 Chris Marrin <cmarrin@apple.com>
49618 Reviewed by Darin Adler.
49620 Added CA_PRINT_TREE functionality to WKCACFLayer implementation
49621 https://bugs.webkit.org/show_bug.cgi?id=34779
49623 I've tried to duplicate the look of the output on Mac, but
49624 it's not quite the same. It shows all the useful information though.
49625 It is enabled by setting the environment variable CA_PRINT_TREE=1
49627 * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree
49628 (WebCore::WKCACFLayer::isTransformLayer):
49629 Moved function to cpp file because it needs to use the function form
49630 of kCACFTransformLayer because the DLL is delay loaded, and that function
49631 can only be called from the cpp file.
49632 (WebCore::WKCACFLayer::sublayerAtIndex):
49633 (WebCore::printIndent):
49634 (WebCore::printTransform):
49635 (WebCore::WKCACFLayer::printTree):Prints from this layer down
49636 (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers
49637 * platform/graphics/win/WKCACFLayer.h:
49638 * platform/graphics/win/WKCACFLayerRenderer.cpp:
49639 (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
49640 (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers
49641 (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1
49642 * platform/graphics/win/WKCACFLayerRenderer.h:
49644 2010-02-10 Nate Chapin <japhet@chromium.org>
49646 Reviewed by Adam Barth.
49648 Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate()
49649 to not use V8ClassIndex.
49651 https://bugs.webkit.org/show_bug.cgi?id=34768
49653 * bindings/scripts/CodeGeneratorV8.pm:
49654 * bindings/v8/V8Binding.cpp:
49655 * bindings/v8/V8Binding.h:
49656 * bindings/v8/V8DOMWindowShell.cpp:
49657 * bindings/v8/V8DOMWrapper.cpp:
49658 * bindings/v8/V8DOMWrapper.h:
49659 * bindings/v8/V8Proxy.cpp:
49660 * bindings/v8/WorkerContextExecutionProxy.cpp:
49661 * bindings/v8/custom/V8DOMWindowCustom.cpp:
49662 * bindings/v8/custom/V8LocationCustom.cpp:
49663 * bindings/v8/custom/V8MessageEventCustom.cpp:
49665 2010-02-10 Nate Chapin <japhet@chromium.org>
49667 Reviewed by Dimitri Glazkov.
49669 [V8] Handle the possibility that ScheduledAction::execute() may
49670 retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if
49671 JS was disallowed).
49673 * bindings/v8/ScheduledAction.cpp:
49674 (WebCore::ScheduledAction::execute):
49676 2010-02-10 Kenneth Russell <kbr@google.com>
49678 Reviewed by Oliver Hunt.
49680 Remove automatic viewport resizing
49681 https://bugs.webkit.org/show_bug.cgi?id=34766
49683 Removed automatic viewport resizing per conclusions on the WebGL
49684 mailing list. Added test verifying new behavior and updated a
49685 couple of previous tests failing after this change.
49687 Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html
49689 * platform/graphics/mac/GraphicsContext3DMac.cpp:
49690 (WebCore::GraphicsContext3D::reshape):
49692 2010-02-10 Ariya Hidayat <ariya.hidayat@gmail.com>
49694 Reviewed by Kenneth Rohde Christiansen.
49696 [Qt] Implement image interpolation quality.
49698 https://bugs.webkit.org/show_bug.cgi?id=34629
49700 * platform/graphics/qt/GraphicsContextQt.cpp:
49701 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
49702 (WebCore::GraphicsContext::setImageInterpolationQuality):
49703 (WebCore::GraphicsContext::imageInterpolationQuality):
49705 2010-02-10 Eric Seidel <eric@webkit.org>
49707 No review, Mac build fix.
49709 Crash in Flash at http://www.cctv.com/
49710 https://bugs.webkit.org/show_bug.cgi?id=34673
49712 * plugins/PluginViewNone.cpp:
49713 (WebCore::PluginView::getValueStatic):
49715 2010-02-10 Gustavo Noronha Silva <gns@gnome.org>
49717 Reviewed by Xan Lopez.
49719 [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
49720 https://bugs.webkit.org/show_bug.cgi?id=34773
49722 When unsetting the adjustments from a ScrollView, also disconnect
49723 them from the Scrollbars.
49725 Test: fast/frames/frame-crash-with-page-cache.html
49727 * platform/gtk/ScrollViewGtk.cpp:
49728 (WebCore::ScrollView::setGtkAdjustments):
49729 * platform/gtk/ScrollbarGtk.cpp:
49730 (ScrollbarGtk::~ScrollbarGtk):
49731 (ScrollbarGtk::detachAdjustment):
49732 * platform/gtk/ScrollbarGtk.h:
49734 2010-02-09 Alexey Proskuryakov <ap@apple.com>
49736 Reviewed by Geoffrey Garen.
49738 https://bugs.webkit.org/show_bug.cgi?id=34490
49739 WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
49741 Test: fast/images/destroyed-image-load-event.html
49743 * ForwardingHeaders/wtf/ValueCheck.h: Added.
49745 * loader/ImageLoader.cpp:
49746 (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements,
49747 so check the owner instead.
49748 (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor.
49749 (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers
49750 in ImageEventSender.
49751 (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous
49752 image. The only client using this method that I could find was DeleteButton, which doesn't
49753 care about load events for the new image, so I didn't add any code for firing those.
49754 (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers -
49755 there wasn't any meaningful code shared (callers just undid most assignments made there).
49756 Merged the logic into callers.
49757 (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its
49759 (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case
49760 no one is going to dispatch the event "soon". So, don't queue it.
49761 (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't
49762 help catch this particuar bug, but seems like a useful check anyway.
49764 * loader/ImageLoader.h: Removed setLoadingImage().
49766 2010-02-10 Jon Honeycutt <jhoneycutt@apple.com>
49768 Mac build fix. Unreviewed.
49770 * WebCore.xcodeproj/project.pbxproj:
49771 Add PluginViewNone.cpp to the Mac project.
49773 2010-02-10 Adam Roben <aroben@apple.com>
49775 Optimize ImageBuffer::toDataURL's CG implementation
49777 There was some unused code that could have been removed in r31830 when
49778 this function was changed not to flip the CG image anymore.
49780 Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates
49781 unnecessary memory under CoreGraphics
49783 Reviewed by Sam Weinig.
49785 * platform/graphics/cg/ImageBufferCG.cpp:
49786 (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef
49787 and buffer, and switch to the new overload of base64Encode that
49788 doesn't require us to copy all the image data into a Vector first.
49790 * platform/text/Base64.cpp:
49791 (WebCore::base64Encode):
49792 * platform/text/Base64.h:
49793 Added an overload that takes a raw data pointer and length, just like
49794 we have for base64Decode. The overload that takes a Vector as input
49795 just calls through to the new overload.
49797 2010-02-10 Dan Bernstein <mitz@apple.com>
49799 Reviewed by Dave Hyatt.
49801 Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
49802 https://bugs.webkit.org/show_bug.cgi?id=34546
49804 * manual-tests/drag-image-table-part-decorations.html:
49805 * rendering/RenderTableCell.cpp:
49806 (WebCore::RenderTableCell::paint): Don’t paint collapsed borders if this object shouldn’t
49807 paint within the current painting root.
49809 2010-02-08 Jon Honeycutt <jhoneycutt@apple.com>
49811 <rdar://problem/7436875> Crash in Flash when visiting
49812 http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
49814 Reviewed by Darin Adler.
49816 Test: platform/win/plugins/plugin-delayed-destroy.html
49818 * bridge/NP_jsobject.cpp:
49820 If Flash calls this to evaluate a script that destroys the PluginView,
49821 we crash when returning to Flash code. Before evaluating the script,
49822 call PluginView::keepAlive() to hold a ref to this instance (and release
49823 it asynchronously).
49825 * plugins/PluginView.cpp:
49826 (WebCore::instanceMap):
49827 Return a map from the NPP to the PluginView.
49828 (WebCore::PluginView::~PluginView):
49829 Assert that the keep alive timer is not running; remove ourselves from
49831 (WebCore::PluginView::performRequest):
49832 The parent Frame is now a RefPtr; use .get().
49833 (WebCore::PluginView::status):
49835 (WebCore::PluginView::didReceiveResponse):
49837 (WebCore::PluginView::PluginView):
49838 Add the view to the instance map.
49839 (WebCore::PluginView::lifeSupportTimerFired):
49840 Deref the PluginView.
49841 (WebCore::PluginView::keepAlive):
49842 Ref the PluginView, then start a time to release the reference
49844 (WebCore::PluginView::keepAlive):
49845 Find the PluginView in the map, and call its keepAlive() function.
49847 * plugins/PluginView.h:
49848 Made m_parentFrame a RefPtr, so that it will remain valid when the
49849 keep alive timer fires.
49850 (WebCore::PluginView::parentFrame):
49853 * plugins/gtk/PluginViewGtk.cpp:
49854 (WebCore::PluginView::updatePluginWidget):
49856 (WebCore::PluginView::handleKeyboardEvent):
49858 (WebCore::PluginView::handleMouseEvent):
49861 * plugins/PluginViewNone.cpp:
49862 (WebCore::PluginView::keepAlive):
49865 2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
49867 Reviewed by Kenneth Rohde Christiansen.
49869 Support frameset flattening
49870 https://bugs.webkit.org/show_bug.cgi?id=32717
49872 Add support for enabling/disabling FrameSet Flattening on the Mac port.
49874 * WebCore.base.exp:
49876 2010-02-10 Jeremy Orlow <jorlow@chromium.org>
49878 Revert 54599 because it breaks a lot of tests on Windows Chrome
49880 * inspector/front-end/DOMAgent.js:
49881 (WebInspector.DOMNode.prototype._insertChild):
49882 * inspector/front-end/ElementsPanel.js:
49883 (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
49884 * inspector/front-end/ElementsTreeOutline.js:
49885 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
49886 (WebInspector.ElementsTreeElement):
49887 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49888 (WebInspector.ElementsTreeElement.prototype._updateChildren):
49890 * inspector/front-end/inspector.css:
49892 2010-02-10 Adam Roben <aroben@apple.com>
49894 Fix bad paths in WebCore.vcproj
49896 These were harmless in VS2005, but cause project conversion errors in
49899 Fixes <http://webkit.org/b/34801>.
49901 Reviewed by Dan Bernstein.
49903 * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to
49904 JSHTMLFrameSetElement.{cpp,h}.
49906 2010-02-10 Julien Chaffraix <jchaffraix@webkit.org>
49908 Not reviewed (build fix).
49910 * platform/graphics/win/FontCacheWin.cpp:
49911 (WebCore::FontCache::getLastResortFallbackFont): Return a
49912 SimpleFontData here.
49914 2010-02-10 Julien Chaffraix <jchaffraix@pleyo.com>
49916 Reviewed by Eric Seidel.
49918 Bug 23287 - Avoid using FontPlatformData outside the FontCache
49920 No functional change, only refactored the code using FontPlatformData to use SimpleFontData.
49922 This change leaves the class FontCached as it needs some thoughts and more refactoring.
49924 * css/CSSFontFaceSource.cpp:
49925 (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly.
49926 * css/CSSFontSelector.cpp:
49927 (WebCore::fontDataForGenericFamily): Ditto.
49928 * platform/graphics/FontCache.cpp:
49929 (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData
49930 that was moved in the private section of the class. It calls getCachedFontPlatformData and cache
49931 the returned FontPlatformData if it is not null.
49932 (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData.
49933 * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a
49934 FontPlatformData. Moved some method in the private sections.
49936 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
49937 (WebCore::FontCache::getSimilarFontPlatformData):
49938 (WebCore::FontCache::getLastResortFallbackFont):
49939 * platform/graphics/chromium/FontCacheLinux.cpp:
49940 (WebCore::FontCache::getSimilarFontPlatformData):
49941 (WebCore::FontCache::getLastResortFallbackFont):
49942 * platform/graphics/gtk/FontCacheGtk.cpp:
49943 (WebCore::FontCache::getSimilarFontPlatformData):
49944 (WebCore::FontCache::getLastResortFallbackFont):
49945 * platform/graphics/haiku/FontCacheHaiku.cpp:
49946 (WebCore::FontCache::getSimilarFontPlatformData):
49947 (WebCore::FontCache::getLastResortFallbackFont):
49948 * platform/graphics/qt/FontCacheQt.cpp:
49949 (WebCore::FontCache::getLastResortFallbackFont):
49950 * platform/graphics/win/FontCacheWin.cpp:
49951 (WebCore::FontCache::getSimilarFontPlatformData):
49952 (WebCore::FontCache::getLastResortFallbackFont):
49953 * platform/graphics/wince/FontCacheWince.cpp:
49954 * platform/graphics/wx/FontCacheWx.cpp:
49955 (WebCore::FontCache::getSimilarFontPlatformData):
49956 (WebCore::FontCache::getLastResortFallbackFont):
49957 Updated all the previous platform methods to return a SimpleFontData.
49959 * platform/graphics/mac/FontCacheMac.mm:
49960 (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData.
49961 (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code
49962 and moved a DEFINE_STATIC_LOCAL where it is needed.
49964 2010-02-10 Alexander Pavlov <apavlov@chromium.org>
49966 Reviewed by Pavel Feldman.
49968 Web Inspector: Elements Panel: Limit the number of initially loaded element children
49969 https://bugs.webkit.org/show_bug.cgi?id=34421
49971 Test: inspector/elements-panel-limited-children.html
49973 * English.lproj/localizedStrings.js:
49974 * inspector/front-end/DOMAgent.js:
49975 (WebInspector.DOMNode.prototype._insertChild):
49976 * inspector/front-end/ElementsPanel.js:
49977 (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
49978 * inspector/front-end/ElementsTreeOutline.js:
49979 (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
49980 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
49981 (WebInspector.ElementsTreeElement):
49982 (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
49983 (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
49984 (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
49985 (WebInspector.ElementsTreeElement.prototype.showChild):
49986 (WebInspector.ElementsTreeElement.prototype.insertChildElement):
49987 (WebInspector.ElementsTreeElement.prototype.moveChild):
49988 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49989 (WebInspector.ElementsTreeElement.prototype._updateChildren):
49990 (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
49991 (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
49993 * inspector/front-end/inspector.css:
49995 2010-02-10 Mikhail Naganov <mnaganov@chromium.org>
49997 Reviewed by Pavel Feldman.
49999 Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for
50000 making JavaScriptDebugServer engine-agnostic.
50002 https://bugs.webkit.org/show_bug.cgi?id=34795
50007 * WebCore.xcodeproj/project.pbxproj:
50008 * bindings/js/JSBindingsAllInOne.cpp:
50009 * bindings/js/ScriptDebugServer.cpp: Added.
50010 (WebCore::ScriptDebugServer::recompileAllJSFunctions):
50011 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
50012 * bindings/js/ScriptDebugServer.h: Added.
50013 * bindings/v8/ScriptDebugServer.cpp: Added.
50014 (WebCore::ScriptDebugServer::recompileAllJSFunctions):
50015 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
50016 * bindings/v8/ScriptDebugServer.h: Added.
50017 * inspector/InspectorController.cpp:
50018 (WebCore::InspectorController::startUserInitiatedProfiling):
50019 (WebCore::InspectorController::enableProfiler):
50020 (WebCore::InspectorController::disableProfiler):
50021 * page/Console.cpp:
50022 (WebCore::Console::profile):
50023 (WebCore::Console::profileEnd):
50025 2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com>
50027 Reviewed by Simon Hausmann.
50029 Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
50031 Will be reverted when the following winscw compiler bug is fixed.
50032 https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
50034 https://bugs.webkit.org/show_bug.cgi?id=28054
50036 * bridge/jni/jsc/JavaInstanceJSC.h:
50037 * bridge/jni/v8/JavaInstanceV8.h:
50039 2010-02-10 Yaar Schnitman <yaar@chromium.org>
50041 Reviewed by Adam Barth.
50043 Simplified RuntimeEnabledFeatures and corresponding v8 generated code
50044 https://bugs.webkit.org/show_bug.cgi?id=34667
50047 * bindings/generic/RuntimeEnabledFeatures.cpp: Added.
50048 (WebCore::RuntimeEnabledFeatures::audioEnabled):
50049 (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
50050 (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
50051 (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
50052 (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
50053 (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
50054 (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
50055 (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
50056 * bindings/generic/RuntimeEnabledFeatures.h: Added.
50057 (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
50058 (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
50059 (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
50060 (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
50061 (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
50062 (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
50063 (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
50064 (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
50065 (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
50066 (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
50067 (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled):
50068 (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
50069 (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
50070 * bindings/scripts/CodeGenerator.pm:
50071 * bindings/scripts/CodeGeneratorV8.pm:
50072 * bindings/v8/RuntimeEnabledFeatures.cpp: Removed.
50073 * bindings/v8/RuntimeEnabledFeatures.h: Removed.
50074 * bindings/v8/custom/V8DOMWindowCustom.cpp:
50075 * bindings/v8/custom/V8NavigatorCustom.cpp:
50076 * bindings/v8/custom/V8WorkerContextCustom.cpp:
50078 2010-02-09 Alexander Pavlov <apavlov@chromium.org>
50080 Reviewed by Pavel Feldman.
50082 Web Inspector: Add two basic categories for the Audits panel
50083 https://bugs.webkit.org/show_bug.cgi?id=32930
50086 * WebCore.vcproj/WebCore.vcproj:
50087 * inspector/front-end/AuditCategories.js: Added.
50088 (WebInspector.AuditCategories.PagePerformance):
50089 (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
50090 (WebInspector.AuditCategories.NetworkUtilization):
50091 (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
50092 * inspector/front-end/AuditLauncherView.js:
50093 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
50094 (WebInspector.AuditLauncherView.prototype._createLauncherUI):
50095 (WebInspector.AuditLauncherView.prototype.show):
50096 * inspector/front-end/AuditRules.js: Added.
50097 (WebInspector.AuditRules.arrayAsUL):
50098 (WebInspector.AuditRules.getDomainToResourcesMap):
50099 (WebInspector.AuditRules.evaluateInTargetWindow):
50100 (WebInspector.AuditRules.GzipRule):
50101 (WebInspector.AuditRules.GzipRule.prototype.doRun):
50102 (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
50103 (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
50104 (WebInspector.AuditRules.CombineExternalResourcesRule):
50105 (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
50106 (WebInspector.AuditRules.CombineJsResourcesRule):
50107 (WebInspector.AuditRules.CombineCssResourcesRule):
50108 (WebInspector.AuditRules.MinimizeDnsLookupsRule):
50109 (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
50110 (WebInspector.AuditRules.ParallelizeDownloadRule):
50111 (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
50112 (WebInspector.AuditRules.UnusedCssRule):
50113 (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage):
50114 (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage):
50115 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
50116 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
50117 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
50118 (WebInspector.AuditRules.CacheControlRule):
50119 (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun):
50120 (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
50121 (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
50122 (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
50123 (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
50124 (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
50125 (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
50126 (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
50127 (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
50128 (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
50129 (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
50130 (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
50131 (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
50132 (WebInspector.AuditRules.BrowserCacheControlRule):
50133 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
50134 (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
50135 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
50136 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
50137 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
50138 (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
50139 (WebInspector.AuditRules.ProxyCacheControlRule):
50140 (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
50141 (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
50142 (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
50143 (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
50144 (WebInspector.AuditRules.ImageDimensionsRule):
50145 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
50146 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension):
50147 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth):
50148 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight):
50149 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine):
50150 (WebInspector.AuditRules.CssInHeadRule):
50151 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
50152 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews):
50153 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
50154 (WebInspector.AuditRules.StylesScriptsOrderRule):
50155 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
50156 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
50157 (WebInspector.AuditRules.CookieRuleBase):
50158 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
50159 (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
50160 (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
50161 (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
50162 (WebInspector.AuditRules.CookieSizeRule):
50163 (WebInspector.AuditRules.CookieSizeRule.prototype._average):
50164 (WebInspector.AuditRules.CookieSizeRule.prototype._max):
50165 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
50166 (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter):
50167 (WebInspector.AuditRules.StaticCookielessRule):
50168 (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
50169 (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
50170 * inspector/front-end/AuditsPanel.js:
50171 (WebInspector.AuditsPanel.prototype._constructCategories):
50172 (WebInspector.AuditsPanel.prototype._reloadResources):
50173 (WebInspector.AuditsPanel.prototype.show):
50174 (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
50175 (WebInspector.AuditCategory):
50176 (WebInspector.AuditCategory.prototype.get id):
50177 (WebInspector.AuditCategory.prototype.get ruleCount):
50178 (WebInspector.AuditCategory.prototype.runRules):
50179 (WebInspector.AuditCategory.prototype._ensureInitialized):
50180 (WebInspector.AuditCategoryResult):
50181 * inspector/front-end/WebKit.qrc:
50182 * inspector/front-end/audits.css:
50183 * inspector/front-end/inspector.html:
50184 * inspector/front-end/inspector.js:
50185 (WebInspector.loaded):
50186 (WebInspector.addPanelToolbarIcon):
50187 (WebInspector.documentKeyDown):
50189 2010-02-10 Adam Barth <abarth@webkit.org>
50191 Reviewed by Darin Adler.
50193 Freeze sandbox attributes on creation
50194 https://bugs.webkit.org/show_bug.cgi?id=34184
50196 This is how the spec works now.
50198 Test: fast/frames/sandboxed-iframe-forms-dynamic.html
50200 * bindings/ScriptControllerBase.cpp:
50201 (WebCore::ScriptController::canExecuteScripts):
50202 * bindings/generic/BindingDOMWindow.h:
50203 (WebCore::::createWindow):
50204 * bindings/js/JSDOMWindowCustom.cpp:
50205 (WebCore::createWindow):
50206 * dom/Document.cpp:
50208 * loader/FrameLoader.cpp:
50209 (WebCore::FrameLoader::submitForm):
50210 (WebCore::FrameLoader::requestObject):
50211 (WebCore::FrameLoader::shouldAllowNavigation):
50212 (WebCore::FrameLoader::updateSandboxFlags):
50213 * page/SecurityOrigin.cpp:
50214 * page/SecurityOrigin.h:
50216 2010-02-09 Ariya Hidayat <ariya.hidayat@gmail.com>
50218 Rubber-stamped by Kenneth Rohde Christiansen.
50220 [Qt] Remove old, outdated unused code block.
50222 * platform/graphics/qt/GraphicsContextQt.cpp:
50224 2010-02-09 Chris Guillory <ctguil@google.com>
50226 Reviewed by Darin Fisher.
50228 [Chromium] Notify ChromeClientChromium of state change notifications.
50230 https://bugs.webkit.org/show_bug.cgi?id=34464
50232 * accessibility/chromium/AXObjectCacheChromium.cpp:
50233 (WebCore::toChromeClientChromium):
50234 (WebCore::AXObjectCache::postPlatformNotification):
50235 * page/chromium/ChromeClientChromium.h:
50237 2010-02-09 Kwang Yul Seo <skyul@company100.net>
50239 Reviewed by Adam Barth.
50241 [BREWMP] Port PlatformMouseEvent
50242 https://bugs.webkit.org/show_bug.cgi?id=34600
50244 Retrieve the event type, position, key modifiers, time stamp
50245 and click count from AEEEvent.
50247 * platform/PlatformMouseEvent.h:
50248 * platform/brew/PlatformMouseEventBrew.cpp: Added.
50249 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
50251 2010-02-09 Avi Drissman <avi@chromium.org>
50253 Reviewed by Timothy Hatcher.
50255 [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons
50256 https://bugs.webkit.org/show_bug.cgi?id=34544
50258 Covered by layout tests when run on SL.
50260 * platform/chromium/ThemeChromiumMac.mm:
50261 (-[TCMVisibleView _focusRingVisibleRect]):
50262 (-[TCMVisibleView _focusRingClipAncestor]):
50263 (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug):
50264 (FocusIndicationFix::swizzleFocusView):
50265 (FocusIndicationFix::ScopedFixer::ScopedFixer):
50266 (FocusIndicationFix::ScopedFixer::~ScopedFixer):
50267 (+[NSView TCMInterposing_focusView]):
50268 (WebCore::paintCheckbox):
50269 (WebCore::paintRadio):
50270 (WebCore::paintButton):
50272 2010-02-09 Anton Muhin <antonm@chromium.org>
50274 Reviewed by Nate Chapin.
50276 [v8] Check if returned wrapper is empty before operating on it.
50277 https://bugs.webkit.org/show_bug.cgi?id=34746
50279 * bindings/v8/custom/V8DocumentCustom.cpp:
50281 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
50283 * bindings/v8/custom/V8SVGDocumentCustom.cpp:
50286 2010-02-09 Mikhail Naganov <mnaganov@chromium.org>
50288 Reviewed by Pavel Feldman.
50290 Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs.
50291 Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required
50292 for really enabling it in V8 bindings generation.
50294 https://bugs.webkit.org/show_bug.cgi?id=34706
50296 * inspector/InjectedScriptHost.idl:
50297 * inspector/InspectorBackend.cpp:
50298 (WebCore::InspectorBackend::currentCallFrame):
50299 (WebCore::InspectorBackend::getProfile):
50300 * inspector/InspectorBackend.h:
50301 * inspector/InspectorBackend.idl:
50302 * inspector/InspectorController.cpp:
50303 (WebCore::InspectorController::InspectorController):
50304 (WebCore::InspectorController::addProfile):
50305 (WebCore::InspectorController::getProfile):
50306 (WebCore::InspectorController::startUserInitiatedProfiling):
50307 (WebCore::InspectorController::stopUserInitiatedProfiling):
50308 (WebCore::InspectorController::enableProfiler):
50309 (WebCore::InspectorController::disableProfiler):
50310 * inspector/InspectorController.h:
50311 * inspector/InspectorFrontend.cpp:
50312 (WebCore::InspectorFrontend::pausedScript):
50313 (WebCore::InspectorFrontend::resumedScript):
50314 (WebCore::InspectorFrontend::profilerWasEnabled):
50315 (WebCore::InspectorFrontend::profilerWasDisabled):
50316 (WebCore::InspectorFrontend::didGetProfile):
50317 * inspector/InspectorFrontend.h:
50318 * page/Console.idl:
50320 2010-02-09 Gavin Barraclough <barraclough@apple.com>
50322 Rubber Stamped by Geoff Garen.
50324 Rename StringBuilder::release && JSStringBuilder::releaseJSString
50327 * bindings/js/ScriptString.h:
50328 (WebCore::ScriptString::operator+=):
50330 2010-02-09 Dan Bernstein <mitz@apple.com>
50332 Reviewed by Anders Carlsson.
50334 <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
50335 https://bugs.webkit.org/show_bug.cgi?id=34776
50337 Tests: plugins/instance-available-before-stylesheets-loaded-object.html
50338 plugins/instance-available-before-stylesheets-loaded.html
50340 * html/HTMLEmbedElement.cpp:
50341 (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call
50342 updateLayoutIgnorePendingStylesheets() before checking for a renderer.
50343 * html/HTMLObjectElement.cpp:
50344 (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto.
50346 2010-02-09 Alejandro G. Castro <alex@igalia.com>
50348 Reviewed by Darin Adler.
50350 Problems navigating by caret in links whose text wraps onto
50352 https://bugs.webkit.org/show_bug.cgi?id=25676
50354 We should not search ahead if we are not in the last element.
50356 * dom/Position.cpp:
50358 2010-02-09 Dirk Schulze <krit@webkit.org>
50360 Reviewed by Nikolas Zimmermann.
50362 More optimization for AffineTransform with SVG
50363 https://bugs.webkit.org/show_bug.cgi?id=34774
50365 Some optimizations to safe unnecessary summations and multiplications.
50366 Optimize AffineTransform to handle an identity or translation matrix
50368 Added translationRight to avoid multiplications of matrices as much as
50371 No tests added, no change of functionality.
50373 * platform/graphics/transforms/AffineTransform.cpp:
50374 (WebCore::AffineTransform::inverse):
50375 (WebCore::AffineTransform::translate):
50376 (WebCore::AffineTransform::translateRight):
50377 * platform/graphics/transforms/AffineTransform.h:
50378 * rendering/RenderForeignObject.cpp:
50379 (WebCore::RenderForeignObject::translationForAttributes):
50380 (WebCore::RenderForeignObject::localToParentTransform):
50381 * rendering/RenderForeignObject.h:
50382 * rendering/RenderSVGRoot.cpp:
50383 (WebCore::RenderSVGRoot::localToBorderBoxTransform):
50384 (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
50385 (WebCore::RenderSVGRoot::localToParentTransform):
50386 * rendering/RenderSVGViewportContainer.cpp:
50387 (WebCore::RenderSVGViewportContainer::localToParentTransform):
50388 * rendering/SVGRootInlineBox.cpp:
50389 (WebCore::applyTextLengthCorrectionToTextChunk):
50391 2010-02-09 Dirk Schulze <krit@webkit.org>
50393 Reviewed by Nikolas Zimmermann.
50395 SVG patterns with some scale patternTransform are not displayed correctly for small elements
50396 https://bugs.webkit.org/show_bug.cgi?id=25484
50398 SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
50399 causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
50401 Tests: svg/custom/pattern-excessive-malloc.svg
50402 svg/custom/pattern-size-bigger-than-target-size.svg
50403 svg/custom/pattern-skew-transformed.svg
50405 * svg/SVGPatternElement.cpp:
50406 (WebCore::SVGPatternElement::buildPattern):
50408 2010-02-09 Darin Adler <darin@apple.com>
50410 * rendering/RenderObject.cpp:
50411 (WebCore::RenderObject::styleDidChange): Fixed typo in comment.
50413 2010-02-09 MORITA Hajime <morrita@gmail.com>
50415 Reviewed by Nikolas Zimmermann.
50417 SVG selection text foreground colour does not respect user settings
50418 https://bugs.webkit.org/show_bug.cgi?id=15997
50420 Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
50421 SVGTextPaintSubphaseGlyphStrokeSelection for painting selected
50422 text on SVG. Selected texts are painted with style from
50423 getCachedPseudoStyle() instead of style().
50425 Tests: svg/text/selection-styles.xhtml
50427 * rendering/SVGCharacterLayoutInfo.h:
50428 (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
50429 (WebCore::SVGTextChunkWalker::setupFillSelection):
50430 (WebCore::SVGTextChunkWalker::setupStrokeSelection):
50431 * rendering/SVGRootInlineBox.cpp:
50432 (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
50433 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback):
50434 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback):
50435 (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):
50436 (WebCore::SVGRootInlineBox::paint):
50437 (WebCore::SVGRootInlineBox::walkTextChunks):
50438 * rendering/SVGInlineTextBox.h:
50440 Add callback hooks and its implementation for handle new
50443 * rendering/SVGInlineTextBox.cpp:
50444 (WebCore::SVGInlineTextBox::chunkSelectionStartEnd):
50445 (WebCore::SVGInlineTextBox::paintCharacters):
50446 Split box text into selected part and non-selected part, and use
50447 separate subphases to paint them.
50450 (WebCore::SVGTextRunWalker::walk):
50451 Relax ASSERT() condition to accept a part of text.
50453 * svg/graphics/SVGPaintServer.cpp:
50454 (WebCore::applyStrokeStyleToContext):
50455 (WebCore::SVGPaintServer::setup):
50456 * svg/graphics/SVGPaintServer.h:
50457 * svg/graphics/SVGPaintServerGradient.cpp:
50458 (WebCore::SVGPaintServerGradient::setup):
50459 * svg/graphics/SVGPaintServerGradient.h:
50460 * svg/graphics/SVGPaintServerPattern.cpp:
50461 (WebCore::SVGPaintServerPattern::setup):
50462 * svg/graphics/SVGPaintServerPattern.h:
50463 * svg/graphics/SVGPaintServerSolid.cpp:
50464 (WebCore::SVGPaintServerSolid::setup):
50465 * svg/graphics/SVGPaintServerSolid.h:
50466 Change setup() signature to accept RenderStyle instead of always
50467 using RenderObject::style().
50469 2010-02-09 Nikolas Zimmermann <nzimmermann@rim.com>
50471 Reviewed by Dirk Schulze.
50473 No scroll bars are displayed for standalone SVG image
50474 https://bugs.webkit.org/show_bug.cgi?id=11225
50476 Height and width defined for svg element are not honored
50477 https://bugs.webkit.org/show_bug.cgi?id=24033
50479 SVG file does not pan and has no scroll bars
50480 https://bugs.webkit.org/show_bug.cgi?id=24448
50482 Adapt to SVG 1.1 errata to change the overflow handling:
50483 Replace "svg { overflow: hidden }" by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars.
50484 Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support).
50486 Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements.
50488 Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg
50489 svg/overflow/overflow-on-inner-svg-element.svg
50490 svg/overflow/overflow-on-outermost-svg-element-defaults.svg
50491 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg
50492 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg
50493 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg
50494 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml
50495 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml
50496 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml
50497 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml
50498 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml
50500 * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements.
50501 * page/FrameView.cpp:
50502 (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents.
50503 * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata.
50504 (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size.
50505 (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
50506 (WebCore::RenderSVGRoot::nodeAtPoint): Simplify.
50507 * rendering/RenderSVGViewportContainer.cpp:
50508 (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision.
50509 * rendering/SVGRenderSupport.cpp:
50510 (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects.
50512 2010-02-09 Kwang Yul Seo <skyul@company100.net>
50514 Reviewed by Eric Seidel.
50516 [BREWMP] Port KURL::fileSystemPath
50517 https://bugs.webkit.org/show_bug.cgi?id=34516
50519 Convert a file URL to a file path by prefixing
50520 AEEFS_HOME_DIR to access files relative to the current
50521 module directory in a case-sensitive manner.
50523 As IWeb "file:" engine opens files in BREW's application-relative
50524 file namespace, we follow the same policy here.
50526 * platform/brew/KURLBrew.cpp: Added.
50527 (WebCore::KURL::fileSystemPath):
50529 2010-02-09 Noam Rosenthal <noam.rosenthal@nokia.com>
50531 Reviewed by Kenneth Rohde Christiansen.
50533 [Qt] the above website does not render properly when in compositing mode
50534 https://bugs.webkit.org/show_bug.cgi?id=34681
50536 http://media.24ways.org/2009/15/spinner-alt.html now renders correctly
50538 * platform/graphics/qt/GraphicsLayerQt.cpp:
50539 (WebCore::MaskEffectQt::MaskEffectQt): implement mask as
50541 (WebCore::MaskEffectQt::draw): reimp
50542 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect
50543 (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents
50544 (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the
50545 mask layer, not just the actual children
50547 2010-02-09 Kwang Yul Seo <skyul@company100.net>
50549 Reviewed by Laszlo Gombos.
50551 [BREWMP] Fix macro redefinition error in BREWMP simulator build.
50552 https://bugs.webkit.org/show_bug.cgi?id=34738
50554 Remove warning: 'FAR' macro redefinition.
50556 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
50558 2010-02-07 Yuzo Fujishima <yuzo@google.com>
50560 Reviewed by Dan Bernstein.
50562 Fix the following bugs:
50563 https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
50564 https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail
50566 Tests: fast/css/inline-element-line-break.html
50567 fast/css/pseudo-element-line-break.html
50569 findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found,
50570 but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks.
50572 * rendering/RenderBlockLineLayout.cpp:
50573 (WebCore::RenderBlock::findNextLineBreak):
50575 2010-02-09 Shinichiro Hamaji <hamaji@chromium.org>
50577 Reviewed by Darin Adler.
50579 Provide a way to get total number of pages to be printed
50580 https://bugs.webkit.org/show_bug.cgi?id=34699
50582 Test: printing/numberOfPages.html
50584 * WebCore.base.exp:
50585 * page/PrintContext.cpp:
50586 (WebCore::PrintContext::pageNumberForElement):
50587 (WebCore::PrintContext::numberOfPages):
50588 * page/PrintContext.h:
50589 (WebCore::PrintContext::pageRects):
50591 2010-02-08 Dominic Cooney <dominicc@google.com>
50593 Reviewed by Adam Barth.
50595 [V8] Move Element custom methods into generic bindings
50597 This patch moves the security checks in setAttribute,
50598 setAttributeNode, setAttributeNS and setAttributeNodeNS from
50599 V8ElementCustom into the generic bindings so that they can be
50600 reused in other bindings. This is in a similar vein to
50601 <https://bugs.webkit.org/attachment.cgi?id=45872>.
50603 https://bugs.webkit.org/show_bug.cgi?id=34554
50608 * bindings/generic/BindingElement.h: Added.
50609 (WebCore::::setAttribute):
50610 (WebCore::::setAttributeNode):
50611 (WebCore::::setAttributeNS):
50612 (WebCore::::setAttributeNodeNS):
50613 * bindings/v8/V8Binding.h:
50614 * bindings/v8/custom/V8ElementCustom.cpp:
50615 (WebCore::V8Element::setAttributeCallback):
50616 (WebCore::V8Element::setAttributeNodeCallback):
50617 (WebCore::V8Element::setAttributeNSCallback):
50618 (WebCore::V8Element::setAttributeNodeNSCallback):
50620 2010-02-08 Hayato Ito <hayato@chromium.org>
50622 Reviewed by Darin Adler.
50624 Schedule a loading request when there are many in-flight requests beyond
50625 the limit to avoid forever page loading.
50627 https://bugs.webkit.org/show_bug.cgi?id=31227
50629 Test: http/tests/loading/load-javascript-after-many-xhrs.html
50631 * loader/loader.cpp:
50632 (WebCore::Loader::Host::servePendingRequests):
50634 2010-02-08 David Levin <levin@chromium.org>
50636 Reviewed by Gavin Barraclough.
50638 REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot.
50639 https://bugs.webkit.org/show_bug.cgi?id=34728
50641 The core part of the fix is to change WebCoreJSClientData::m_normalWorld
50642 from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld
50643 is really ref counted.
50645 No new tests because current tests sufficiently cover this as evidenced as
50646 the buildbot crashes.
50648 * bindings/js/JSDOMBinding.cpp:
50649 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData
50651 * bindings/js/JSDOMBinding.h:
50652 (WebCore::DOMWrapperWorld::create): Made this class follow the standard
50653 create pattern for RefCounted classes.
50654 (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can
50655 now outlive JSGlobalData, this method tells it to stop using its JSGlobalData.
50656 (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to
50657 m_normalWorld being a RefPtr.
50658 (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added
50659 asserts for the FIXME).
50660 (WebCore::WebCoreJSClientData::normalWorld): Ditto.
50661 * bindings/js/ScriptController.cpp:
50662 (WebCore::IsolatedWorld::create): Made the constructor protected.
50663 (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so
50664 that code would have to use the create method.
50666 2010-02-08 Kinuko Yasuda <kinuko@chromium.org>
50668 Reviewed by David Levin.
50670 Remove special utf-8 tag from Chromium cilpboard code because
50671 we now have the corresponding code in generic clipboard framework
50672 code in chromium (since it's needed by other places than in Web
50673 page rendering) and no longer need the separate workaround code in
50675 https://bugs.webkit.org/show_bug.cgi?id=34567
50677 Test: (for regression) editing/pasteboard
50679 * platform/chromium/ClipboardChromium.cpp:
50680 (WebCore::ClipboardChromium::writeRange):
50681 * platform/chromium/PasteboardChromium.cpp:
50682 (WebCore::Pasteboard::writeSelection):
50683 (WebCore::Pasteboard::documentFragment):
50685 2010-02-08 Darin Adler <darin@apple.com>
50687 Reviewed by Dan Bernstein.
50689 Crash due to layout not done in case involving removal of absolute positioning
50690 https://bugs.webkit.org/show_bug.cgi?id=34734
50691 rdar://problem/7588280
50693 Test: fast/dynamic/position-change-layout.html
50695 * rendering/RenderObject.cpp:
50696 (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in
50697 a case where the object already needs layout, but might have a new containing
50698 block and so needs to mark the new containing block.
50700 2010-02-08 Charlie Reis <creis@chromium.org>
50702 Reviewed by Darin Adler.
50704 onbeforeunload not called at window close + frame or iframe focused
50705 https://bugs.webkit.org/show_bug.cgi?id=27481
50707 Chromium and WebKit on Windows will now fire beforeunload handlers
50708 even if an inner frame is focused.
50710 Layout tests aren't able to test this bug, since it requires closing
50711 the actual browser window, not calling window.close(). Instead,
50712 test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
50714 * manual-tests/onbeforeunload-focused-iframe.html: Added.
50715 * manual-tests/resources/focused-iframe.html: Added.
50717 2010-02-08 Alexey Proskuryakov <ap@apple.com>
50719 Addressing review feedback.
50721 * bridge/c/c_instance.h: Removed argument name.
50723 2010-02-08 Alexey Proskuryakov <ap@apple.com>
50725 Reviewed by Darin Adler.
50727 https://bugs.webkit.org/show_bug.cgi?id=34727
50728 Assertion crashes and freezes when plug-in property access results in an exception
50730 Test: plugins/netscape-plugin-property-access-exception.html
50732 * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to
50733 be called from CField.
50735 * bridge/c/c_runtime.cpp:
50736 (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without
50737 this, not only didn't we get exceptions, but we also got an assertion failure because of
50738 dangling global exception on next call into plug-in.
50739 (JSC::Bindings::CField::setValueToInstance): Ditto.
50741 2010-02-08 Dirk Schulze <krit@webkit.org>
50743 Unreviewed build fix of ChromiumWin.
50745 * platform/graphics/chromium/TransparencyWin.cpp:
50747 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
50748 (WebCore::TransparencyWin::setupTransformForKeepTransform):
50749 * platform/graphics/chromium/TransparencyWin.h:
50750 * rendering/RenderThemeChromiumWin.cpp:
50753 2010-02-05 Dumitru Daniliuc <dumi@chromium.org>
50755 Reviewed by Jeremy Orlow.
50757 Adding a way to get the set of all open database handles pointing
50758 to a given database.
50759 https://bugs.webkit.org/show_bug.cgi?id=34619
50761 Sometimes we need to be able to close all handles to a database as
50762 soon as possible (to delete the DB file, for example).
50764 * storage/DatabaseTracker.cpp:
50765 (WebCore::DatabaseTracker::getOpenDatabases):
50766 * storage/DatabaseTracker.h:
50767 * storage/chromium/DatabaseTrackerChromium.cpp:
50768 (WebCore::DatabaseTracker::addOpenDatabase):
50769 (WebCore::DatabaseTracker::removeOpenDatabase):
50770 (WebCore::DatabaseTracker::getOpenDatabases):
50772 2010-02-08 Dirk Schulze <krit@webkit.org>
50774 Unreviewed windows build-fix.
50776 * page/win/FrameCGWin.cpp:
50777 (WebCore::drawRectIntoContext):
50779 2010-02-08 Dirk Schulze <krit@webkit.org>
50781 Reviewed by Nikolas Zimmermann.
50783 Add back an AffineTransform class for use by SVG
50784 https://bugs.webkit.org/show_bug.cgi?id=33750
50786 This adds back AffineTransform. This saves additional 4% memory consumption
50787 on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721
50788 It also makes it possible to optimize the calculations internally of
50789 AffineTransform to the needs of 2D transformations (the second benefit for SVG,
50790 which uses transformations relative often at the moment.
50791 Everything that is 2D related (like images, patterns, gradients, fonts), uses
50792 AffineTransform now.
50794 * WebCore.xcodeproj/project.pbxproj:
50795 * bindings/js/JSSVGMatrixCustom.cpp:
50796 (WebCore::JSSVGMatrix::multiply):
50797 (WebCore::JSSVGMatrix::inverse):
50798 (WebCore::JSSVGMatrix::rotateFromVector):
50799 * bindings/js/JSSVGPODTypeWrapper.h:
50800 * bindings/scripts/CodeGeneratorJS.pm:
50801 * bindings/scripts/CodeGeneratorObjC.pm:
50802 * bindings/scripts/CodeGeneratorV8.pm:
50803 * bindings/v8/V8Index.h:
50804 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
50805 (WebCore::V8SVGMatrix::multiplyCallback):
50806 (WebCore::V8SVGMatrix::inverseCallback):
50807 (WebCore::V8SVGMatrix::rotateFromVectorCallback):
50808 * html/HTMLCanvasElement.cpp: Changed to AffineTransform now
50809 (WebCore::HTMLCanvasElement::baseTransform):
50810 * html/HTMLCanvasElement.h:
50811 * platform/graphics/FloatPoint.cpp:
50812 (WebCore::FloatPoint::matrixTransform):
50813 * platform/graphics/FloatPoint.h:
50814 * platform/graphics/GeneratedImage.cpp:
50815 (WebCore::GeneratedImage::drawPattern):
50816 * platform/graphics/GeneratedImage.h:
50817 * platform/graphics/Gradient.cpp:
50818 (WebCore::Gradient::setGradientSpaceTransform):
50819 (WebCore::Gradient::setPlatformGradientSpaceTransform):
50820 * platform/graphics/Gradient.h:
50821 (WebCore::Gradient::gradientSpaceTransform):
50822 * platform/graphics/GraphicsContext.h:
50823 * platform/graphics/Image.cpp:
50824 (WebCore::Image::drawTiled):
50825 * platform/graphics/Image.h:
50826 * platform/graphics/ImageBuffer.h:
50827 (WebCore::ImageBuffer::baseTransform):
50828 * platform/graphics/Path.h:
50829 * platform/graphics/Pattern.cpp:
50830 (WebCore::Pattern::setPatternSpaceTransform):
50831 * platform/graphics/Pattern.h:
50832 (WebCore::Pattern::create):
50833 (WebCore::Pattern::tileImage):
50834 * platform/graphics/cairo/FontCairo.cpp:
50835 (WebCore::Font::drawGlyphs):
50836 * platform/graphics/cairo/GraphicsContextCairo.cpp:
50837 (WebCore::setPlatformFill):
50838 (WebCore::setPlatformStroke):
50839 (WebCore::GraphicsContext::getCTM):
50840 * platform/graphics/cairo/ImageCairo.cpp:
50841 (WebCore::Image::drawPattern):
50842 * platform/graphics/cairo/PathCairo.cpp:
50843 * platform/graphics/cairo/PatternCairo.cpp:
50844 (WebCore::Pattern::createPlatformPattern):
50845 * platform/graphics/cg/GraphicsContextCG.cpp:
50846 (WebCore::GraphicsContext::getCTM):
50847 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
50848 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
50849 * platform/graphics/cg/ImageCG.cpp:
50850 (WebCore::Image::drawPattern):
50851 * platform/graphics/cg/PathCG.cpp:
50852 * platform/graphics/cg/PatternCG.cpp:
50853 (WebCore::Pattern::createPlatformPattern):
50854 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
50855 (WebCore::GraphicsContext::getCTM):
50856 * platform/graphics/haiku/ImageHaiku.cpp:
50857 (WebCore::Image::drawPattern):
50858 * platform/graphics/haiku/PathHaiku.cpp:
50859 * platform/graphics/qt/FontQt.cpp:
50860 (WebCore::Font::drawComplexText):
50861 * platform/graphics/qt/GraphicsContextQt.cpp:
50862 (WebCore::GraphicsContext::getCTM):
50863 (WebCore::GraphicsContext::fillPath):
50864 (WebCore::GraphicsContext::strokePath):
50865 (WebCore::GraphicsContext::fillRect):
50866 * platform/graphics/qt/ImageQt.cpp:
50867 (WebCore::Image::drawPattern):
50868 * platform/graphics/qt/PathQt.cpp:
50869 * platform/graphics/qt/PatternQt.cpp:
50870 (WebCore::Pattern::createPlatformPattern):
50871 * platform/graphics/skia/GradientSkia.cpp:
50872 (WebCore::Gradient::setPlatformGradientSpaceTransform):
50873 * platform/graphics/skia/GraphicsContextSkia.cpp:
50874 (WebCore::GraphicsContext::getCTM):
50875 * platform/graphics/skia/ImageSkia.cpp:
50876 (WebCore::Image::drawPattern):
50877 * platform/graphics/skia/PathSkia.cpp:
50878 * platform/graphics/skia/PatternSkia.cpp:
50879 (WebCore::Pattern::platformPattern):
50880 * platform/graphics/skia/SkiaFontWin.cpp:
50881 (WebCore::windowsCanHandleTextDrawing):
50882 * platform/graphics/transforms/AffineTransform.cpp:
50883 (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore
50884 (WebCore::AffineTransform::scale): Didn't scale the complete matrix
50885 (WebCore::AffineTransform::translate): Didn't respect other transformations
50886 (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices
50887 (WebCore::AffineTransform::map):
50888 (WebCore::AffineTransform::mapPoint):
50889 (WebCore::AffineTransform::mapRect):
50890 * platform/graphics/transforms/AffineTransform.h:
50891 (WebCore::AffineTransform::isIdentityOrTranslation):
50892 * platform/graphics/transforms/TransformationMatrix.cpp:
50893 (WebCore::TransformationMatrix::toAffineTransform):
50894 * platform/graphics/transforms/TransformationMatrix.h:
50895 * platform/graphics/win/FontCGWin.cpp:
50896 (WebCore::drawGDIGlyphs):
50897 * platform/graphics/win/GraphicsContextCGWin.cpp:
50898 * platform/graphics/win/GraphicsContextCairoWin.cpp:
50899 * platform/graphics/win/GraphicsContextWin.cpp:
50900 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
50901 * platform/graphics/wince/FontWince.cpp:
50902 * platform/graphics/wince/GraphicsContextWince.cpp:
50903 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
50904 (WebCore::GraphicsContext::fillPath):
50905 (WebCore::GraphicsContext::strokePath):
50906 (WebCore::GraphicsContext::getCTM):
50907 (WebCore::GraphicsContext::drawBitmapPattern):
50908 * platform/graphics/wince/ImageBufferWince.cpp:
50910 (WebCore::BufferedImage::drawPattern):
50911 * platform/graphics/wince/PathWince.cpp:
50912 (WebCore::Path::transform):
50913 * platform/graphics/wince/PlatformPathWince.cpp:
50914 (WebCore::drawPolygons):
50915 (WebCore::PathPolygon::transform):
50916 (WebCore::PlatformPathElement::transform):
50917 (WebCore::PlatformPath::strokePath):
50918 (WebCore::PlatformPath::fillPath):
50919 (WebCore::PlatformPath::transform):
50920 * platform/graphics/wince/PlatformPathWince.h:
50922 * platform/graphics/wx/GraphicsContextWx.cpp:
50923 (WebCore::GraphicsContext::getCTM):
50924 * platform/graphics/wx/ImageWx.cpp:
50925 (WebCore::BitmapImage::drawPattern):
50926 (WebCore::Image::drawPattern):
50927 * platform/graphics/wx/PathWx.cpp:
50928 * platform/gtk/RenderThemeGtk.cpp:
50929 (WebCore::paintMozillaGtkWidget):
50930 * plugins/win/PluginViewWin.cpp:
50931 (WebCore::PluginView::paintWindowedPluginIntoContext):
50932 * rendering/RenderBox.cpp:
50933 (WebCore::RenderBox::localTransform):
50934 * rendering/RenderBox.h:
50935 * rendering/RenderBoxModelObject.cpp:
50936 (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
50937 (WebCore::RenderBoxModelScaleData::transform):
50938 (WebCore::RenderBoxModelScaleData::setTransform):
50939 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
50940 (WebCore::RenderBoxModelObject::paintBoxShadow):
50941 * rendering/RenderForeignObject.cpp:
50942 (WebCore::RenderForeignObject::translationForAttributes):
50943 (WebCore::RenderForeignObject::localToParentTransform):
50944 * rendering/RenderForeignObject.h:
50945 (WebCore::RenderForeignObject::localTransform):
50946 * rendering/RenderLayer.cpp:
50947 (WebCore::RenderLayer::paintLayer):
50948 * rendering/RenderObject.cpp:
50949 (WebCore::RenderObject::localTransform):
50950 (WebCore::RenderObject::localToParentTransform):
50951 (WebCore::RenderObject::absoluteTransform):
50952 * rendering/RenderObject.h:
50953 * rendering/RenderPath.cpp:
50954 (WebCore::RenderPath::localToParentTransform):
50955 (WebCore::RenderPath::localTransform):
50956 * rendering/RenderPath.h:
50957 * rendering/RenderSVGHiddenContainer.h:
50958 (WebCore::RenderSVGHiddenContainer::absoluteTransform):
50959 * rendering/RenderSVGImage.h:
50960 (WebCore::RenderSVGImage::localToParentTransform):
50961 (WebCore::RenderSVGImage::localTransform):
50962 * rendering/RenderSVGRoot.cpp:
50963 (WebCore::RenderSVGRoot::localToBorderBoxTransform):
50964 (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
50965 (WebCore::RenderSVGRoot::localToParentTransform):
50966 (WebCore::RenderSVGRoot::absoluteTransform):
50967 (WebCore::RenderSVGRoot::localTransform):
50968 * rendering/RenderSVGRoot.h:
50969 * rendering/RenderSVGText.h:
50970 (WebCore::RenderSVGText::localToParentTransform):
50971 (WebCore::RenderSVGText::localTransform):
50972 * rendering/RenderSVGTransformableContainer.cpp:
50973 (WebCore::RenderSVGTransformableContainer::localToParentTransform):
50974 (WebCore::RenderSVGTransformableContainer::localTransform):
50975 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
50976 * rendering/RenderSVGTransformableContainer.h:
50977 * rendering/RenderSVGViewportContainer.cpp:
50978 (WebCore::RenderSVGViewportContainer::markerBoundaries):
50979 (WebCore::RenderSVGViewportContainer::markerContentTransformation):
50980 (WebCore::RenderSVGViewportContainer::viewportTransform):
50981 (WebCore::RenderSVGViewportContainer::localToParentTransform):
50982 (WebCore::RenderSVGViewportContainer::absoluteTransform):
50983 * rendering/RenderSVGViewportContainer.h:
50984 * rendering/SVGCharacterLayoutInfo.cpp:
50985 (WebCore::SVGChar::characterTransform):
50986 * rendering/SVGCharacterLayoutInfo.h:
50987 (WebCore::SVGTextChunkWalker::operator()):
50988 * rendering/SVGInlineTextBox.cpp:
50989 (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
50990 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
50991 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
50992 (WebCore::SVGInlineTextBox::paintCharacters):
50993 (WebCore::SVGInlineTextBox::paintDecoration):
50994 * rendering/SVGMarkerLayoutInfo.h:
50995 (WebCore::MarkerLayout::MarkerLayout):
50996 * rendering/SVGRenderSupport.cpp:
50997 (WebCore::applyTransformToPaintInfo):
50998 * rendering/SVGRenderSupport.h:
50999 * rendering/SVGRenderTreeAsText.cpp:
51000 (WebCore::operator<<):
51001 * rendering/SVGRenderTreeAsText.h:
51002 * rendering/SVGRootInlineBox.cpp:
51003 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
51004 (WebCore::applyTextLengthCorrectionToTextChunk):
51005 (WebCore::SVGRootInlineBox::buildLayoutInformation):
51006 * rendering/TransformState.cpp:
51007 (WebCore::TransformState::applyTransform):
51008 * rendering/TransformState.h:
51009 * svg/GradientAttributes.h:
51010 (WebCore::GradientAttributes::gradientTransform):
51011 (WebCore::GradientAttributes::setGradientTransform):
51012 * svg/PatternAttributes.h:
51013 (WebCore::PatternAttributes::patternTransform):
51014 (WebCore::PatternAttributes::setPatternTransform):
51015 * svg/SVGAnimateMotionElement.cpp:
51016 (WebCore::SVGAnimateMotionElement::resetToBaseValue):
51017 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
51018 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
51019 * svg/SVGAnimateMotionElement.h:
51020 * svg/SVGAnimateTransformElement.cpp:
51021 * svg/SVGAnimateTransformElement.h:
51022 * svg/SVGElement.h:
51023 (WebCore::SVGElement::supplementalTransform):
51024 * svg/SVGFitToViewBox.cpp:
51025 (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
51026 * svg/SVGFitToViewBox.h:
51027 * svg/SVGLocatable.cpp:
51028 (WebCore::SVGLocatable::getCTM):
51029 (WebCore::SVGLocatable::getScreenCTM):
51030 (WebCore::SVGLocatable::getTransformToElement):
51031 * svg/SVGLocatable.h:
51032 * svg/SVGMarkerElement.cpp:
51033 (WebCore::SVGMarkerElement::viewBoxToViewTransform):
51034 * svg/SVGMarkerElement.h:
51035 * svg/SVGMaskElement.cpp:
51036 (WebCore::SVGMaskElement::drawMaskerContent):
51037 * svg/SVGMatrix.idl:
51038 * svg/SVGPatternElement.cpp:
51039 (WebCore::SVGPatternElement::buildPattern):
51040 * svg/SVGPreserveAspectRatio.cpp:
51041 (WebCore::SVGPreserveAspectRatio::getCTM):
51042 * svg/SVGPreserveAspectRatio.h:
51043 * svg/SVGSVGElement.cpp:
51044 (WebCore::SVGSVGElement::viewport):
51045 (WebCore::SVGSVGElement::createSVGMatrix):
51046 (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
51047 (WebCore::SVGSVGElement::getCTM):
51048 (WebCore::SVGSVGElement::getScreenCTM):
51049 (WebCore::SVGSVGElement::viewBoxToViewTransform):
51050 * svg/SVGSVGElement.h:
51051 * svg/SVGStyledLocatableElement.cpp:
51052 (WebCore::SVGStyledLocatableElement::getCTM):
51053 (WebCore::SVGStyledLocatableElement::getScreenCTM):
51054 * svg/SVGStyledLocatableElement.h:
51055 * svg/SVGStyledTransformableElement.cpp:
51056 (WebCore::SVGStyledTransformableElement::getCTM):
51057 (WebCore::SVGStyledTransformableElement::getScreenCTM):
51058 (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
51059 (WebCore::SVGStyledTransformableElement::supplementalTransform):
51060 * svg/SVGStyledTransformableElement.h:
51061 (WebCore::SVGStyledTransformableElement::isStyledTransformable):
51062 (WebCore::SVGStyledTransformableElement::toPathData):
51063 * svg/SVGTextContentElement.cpp:
51064 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
51065 * svg/SVGTextElement.cpp:
51066 (WebCore::SVGTextElement::getScreenCTM):
51067 (WebCore::SVGTextElement::getCTM):
51068 (WebCore::SVGTextElement::animatedLocalTransform):
51069 (WebCore::SVGTextElement::supplementalTransform):
51070 * svg/SVGTextElement.h:
51071 * svg/SVGTextPathElement.cpp:
51072 * svg/SVGTransform.cpp:
51073 (SVGTransform::SVGTransform):
51074 (SVGTransform::matrix):
51075 (SVGTransform::setMatrix):
51076 * svg/SVGTransform.h:
51077 * svg/SVGTransformDistance.cpp:
51078 (WebCore::SVGTransformDistance::SVGTransformDistance):
51079 (WebCore::SVGTransformDistance::scaledDistance):
51080 (WebCore::SVGTransformDistance::isZero):
51081 * svg/SVGTransformDistance.h:
51082 * svg/SVGTransformList.cpp:
51083 (SVGTransformList::createSVGTransformFromMatrix):
51084 (SVGTransformList::concatenate):
51085 (SVGTransformList::valueAsString):
51086 * svg/SVGTransformList.h:
51087 * svg/SVGTransformable.cpp:
51088 (WebCore::SVGTransformable::getCTM):
51089 (WebCore::SVGTransformable::getScreenCTM):
51090 (WebCore::SVGTransformable::parseTransformValue):
51091 * svg/SVGTransformable.h:
51092 (WebCore::SVGTransformable::):
51093 * svg/graphics/SVGPaintServerGradient.cpp:
51094 (WebCore::SVGPaintServerGradient::gradientTransform):
51095 (WebCore::SVGPaintServerGradient::setGradientTransform):
51096 (WebCore::clipToTextMask):
51097 (WebCore::SVGPaintServerGradient::setup):
51098 * svg/graphics/SVGPaintServerGradient.h:
51099 * svg/graphics/SVGPaintServerPattern.cpp:
51100 (WebCore::SVGPaintServerPattern::patternTransform):
51101 (WebCore::SVGPaintServerPattern::setPatternTransform):
51102 (WebCore::SVGPaintServerPattern::setup):
51103 * svg/graphics/SVGPaintServerPattern.h:
51104 * svg/graphics/SVGResourceClipper.cpp:
51105 (WebCore::SVGResourceClipper::applyClip):
51106 * svg/graphics/SVGResourceMarker.cpp:
51107 (WebCore::SVGResourceMarker::markerTransformation):
51108 (WebCore::SVGResourceMarker::draw):
51109 * svg/graphics/SVGResourceMarker.h:
51110 * svg/graphics/filters/SVGFEImage.cpp:
51111 * svg/graphics/filters/SVGFETile.cpp:
51112 (WebCore::FETile::apply):
51114 2010-02-08 Stephen White <senorblanco@chromium.org>
51116 Reviewed by Dimitri Glazkov.
51118 Make an inline function containing a static var out-of-line. This is
51119 a workaround for Xcode 3.1 bug radar 7070016. We tripped on this in
51120 deviceRGBColorSpaceRef on the Chromium canaries. This is a proactive
51121 fix for the same problem in sRGBColorSpaceRef().
51123 https://bugs.webkit.org/show_bug.cgi?id=34663
51125 * platform/graphics/cg/GraphicsContextCG.cpp:
51126 (WebCore::sRGBColorSpaceRef):
51127 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
51129 2010-02-08 Nate Chapin <japhet@chromium.org>
51131 Reviewed by Dimitri Glazkov.
51133 [V8] Unify the WorkerContext V8 object wrapping code with
51134 the standard V8 object wrapping code.
51136 https://bugs.webkit.org/show_bug.cgi?id=34658
51138 * bindings/scripts/CodeGeneratorV8.pm:
51139 * bindings/v8/V8DOMWrapper.cpp:
51140 (WebCore::V8DOMWrapper::instantiateV8Object):
51141 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
51142 * bindings/v8/V8WorkerContextEventListener.cpp:
51143 (WebCore::V8WorkerContextEventListener::handleEvent):
51144 (WebCore::V8WorkerContextEventListener::getReceiverObject):
51145 * bindings/v8/WorkerContextExecutionProxy.cpp:
51146 * bindings/v8/WorkerContextExecutionProxy.h:
51147 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
51148 (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
51149 (WebCore::V8NotificationCenter::createNotificationCallback):
51150 * bindings/v8/custom/V8WorkerContextCustom.cpp:
51153 2010-02-08 Kwang Yul Seo <skyul@company100.net>
51155 Reviewed by Darin Adler.
51157 Use fastStrDup instead of strdup
51158 https://bugs.webkit.org/show_bug.cgi?id=33943
51160 Replace strdup/free with fastStrDup/fastFree.
51162 * bridge/IdentifierRep.h:
51163 (WebCore::IdentifierRep::IdentifierRep):
51164 * bridge/jni/JNIBridge.cpp:
51165 (JavaMethod::~JavaMethod):
51167 (JavaMethod::signature):
51168 * bridge/jni/jsc/JavaClassJSC.cpp:
51169 (JavaClass::JavaClass):
51170 (JavaClass::~JavaClass):
51171 * platform/network/curl/ResourceHandleCurl.cpp:
51172 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
51173 * platform/network/curl/ResourceHandleManager.cpp:
51174 (WebCore::ResourceHandleManager::~ResourceHandleManager):
51175 (WebCore::ResourceHandleManager::setCookieJarFileName):
51176 (WebCore::ResourceHandleManager::initializeHandle):
51177 * plugins/PluginStream.cpp:
51178 (WebCore::PluginStream::~PluginStream):
51179 (WebCore::PluginStream::startStream):
51180 * xml/XSLTProcessorLibxslt.cpp:
51181 (WebCore::xsltParamArrayFromParameterMap):
51182 (WebCore::freeXsltParamArray):
51184 2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
51186 Reviewed by Simon Hausmann.
51188 Fix Qt build on Windows.
51190 nmake fails to pick the right cpp file, so we have to
51191 rename the file to to a unique name.
51194 * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp.
51196 2010-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
51198 Reviewed by Dirk Schulze.
51200 All SVG *-expected.txt files contain wrong results
51201 https://bugs.webkit.org/show_bug.cgi?id=34703
51203 Finally dump meaningful information for SVG layout tests.
51204 Use 'absoluteClippedOverflowRect' which goes through the same code paths used
51205 to actually calculate repaint rects etc - instead of the legacy CSS-unaware
51206 code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'.
51207 Remove absoluteTransform() - a long standing TODO, finally not needed anymore.
51209 Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform().
51210 Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues
51211 when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well.
51213 As we're now dumping clipped overflow rects any problems with repaint rects will become
51214 immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg>
51215 element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account).
51216 Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers.
51218 Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them.
51220 * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden().
51221 * rendering/RenderObject.h: Remove absoluteTransform() method.
51222 * rendering/RenderSVGHiddenContainer.h: Ditto.
51223 * rendering/RenderSVGRoot.cpp:
51224 (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
51225 (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing
51226 along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values.
51227 (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
51228 * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore.
51229 * rendering/RenderSVGText.cpp:
51230 (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text.
51231 * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method.
51232 (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
51233 * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method.
51234 * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y.
51235 (WebCore::SVGRenderBase::isOverflowHidden):
51236 * rendering/SVGRenderSupport.h:
51237 * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()).
51238 (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees.
51239 * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform().
51240 (WebCore::absoluteTransformForRenderer):
51241 (WebCore::createMaskAndSwapContextForTextGradient):
51242 (WebCore::clipToTextMask):
51243 (WebCore::SVGPaintServerGradient::setup):
51245 2010-02-07 Daniel Bates <dbates@webkit.org>
51247 Reviewed by Darin Adler.
51249 https://bugs.webkit.org/show_bug.cgi?id=34402
51251 Implements all of the numeric CSS3 list-style-types as per
51252 section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>.
51254 Test: fast/lists/w3-css3-list-styles-numeric.html
51256 * css/CSSPrimitiveValueMappings.h:
51257 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51258 * css/CSSValueKeywords.in:
51259 * inspector/front-end/SourceCSSTokenizer.re2js:
51260 * platform/text/CharacterNames.h: Added constant hyphenMinus.
51261 * rendering/RenderListMarker.cpp:
51262 (WebCore::): Defined enum SequenceType.
51263 (WebCore::toAlphabeticOrNumeric): Added.
51264 (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric.
51265 (WebCore::toNumeric): Added.
51266 (WebCore::listMarkerSuffix):
51267 (WebCore::listMarkerText):
51268 (WebCore::RenderListMarker::paint):
51269 (WebCore::RenderListMarker::calcPrefWidths):
51270 (WebCore::RenderListMarker::getRelativeMarkerRect):
51271 * rendering/style/RenderStyle.h:
51273 * rendering/style/RenderStyleConstants.h: Added numeric list style types
51274 and fixed indent level for the enum values.
51277 2010-02-07 Ismail Donmez <ismail@namtrac.org>
51279 Reviewed by Darin Adler.
51281 Include wtf/StringExtras.h for strdup definition, which
51282 is needed for WinCE.
51284 * bridge/IdentifierRep.h:
51286 2010-02-07 Pavel Feldman <pfeldman@chromium.org>
51288 Reviewed by Timothy Hatcher.
51290 Web Inspector: Fragment-held Elements Not Shown in Inspector.
51292 https://bugs.webkit.org/show_bug.cgi?id=34680
51294 * inspector/InspectorDOMAgent.cpp:
51295 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
51296 (WebCore::InspectorDOMAgent::buildObjectForNode):
51297 * inspector/front-end/ElementsTreeOutline.js:
51298 (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
51300 2010-02-07 Jian Li <jianli@chromium.org>
51302 Reviewed by Darin Fisher.
51304 [chromium] Change chromium interface to handle DownloadURL format.
51305 https://bugs.webkit.org/show_bug.cgi?id=34655
51307 * platform/chromium/ChromiumDataObject.cpp:
51308 (WebCore::ChromiumDataObject::clear):
51309 (WebCore::ChromiumDataObject::hasData):
51310 (WebCore::ChromiumDataObject::ChromiumDataObject):
51311 * platform/chromium/ChromiumDataObject.h:
51312 * platform/chromium/ClipboardChromium.cpp:
51313 (WebCore::ClipboardChromium::setData):
51315 2010-02-06 Dimitri Glazkov <dglazkov@chromium.org>
51317 No review, rolling out r54364.
51318 http://trac.webkit.org/changeset/54364
51319 https://bugs.webkit.org/show_bug.cgi?id=34464
51321 Introduced asserts in layout tests, needs more testing
51324 * accessibility/chromium/AXObjectCacheChromium.cpp:
51325 (WebCore::AXObjectCache::postPlatformNotification):
51326 * page/chromium/ChromeClientChromium.h:
51328 2010-02-06 Dimitri Glazkov <dglazkov@chromium.org>
51330 Reviewed by Adam Barth.
51332 Using inlines and function-level statics don't mix, according to gcc.
51333 https://bugs.webkit.org/show_bug.cgi?id=34663
51335 De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines.
51337 It appears that the initialization check, generated by gcc doesn't account
51338 for a possibility that the function may be inlined, resulting in lazy
51339 initialization failure for more than one inlined instance of the function.
51341 No behavior change, so no new tests.
51343 * platform/graphics/cg/GraphicsContextCG.cpp:
51344 (WebCore::deviceRGBColorSpaceRef):
51345 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
51347 2010-02-05 Geoffrey Garen <ggaren@apple.com>
51349 Reviewed by Dan Bernstein.
51351 Added an ASSERT to catch an implausible but theoretically possible leak.
51353 In theory, if malloc allocated a UChar buffer directly after a StringImpl,
51354 the StringImpl might incorrecly assume that the UChar buffer was inline,
51355 and fail to delete it.
51357 This ASSERT is somewhat academic, since we don't use the same allocator
51358 in debug builds, but oh well.
51360 * platform/text/StringImpl.cpp:
51361 (WebCore::StringImpl::StringImpl):
51362 (WebCore::StringImpl::createUninitialized):
51363 * platform/text/StringImpl.h: Separated the inline buffer StringImpl
51364 constructor from the out-of-line buffer StringImpl constructor. Made
51365 the former ASSERT that its buffer was indeed inline, and the latter ASSERT
51366 that its buffer was indeed not inline.
51368 2010-02-05 Chris Marrin <cmarrin@apple.com>
51370 Reviewed by Simon Fraser.
51372 Fixed changed virtual function in GraphicsLayerCACF and call order issues
51373 https://bugs.webkit.org/show_bug.cgi?id=34348
51375 The correct virtual function in GraphicsLayerCACF is now being
51376 called. We also fixed an issue in QTMovieWin where the size
51377 of the movie was not being set correctly because the call order
51380 I also changed the order of a couple of calls in QTMovieWin to account
51381 for changed calling order from the logic above.
51383 * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API
51384 (WebCore::GraphicsLayerCACF::setContentsToMedia):
51385 (WebCore::GraphicsLayerCACF::updateContentsMedia):
51386 * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API
51387 (WebCore::GraphicsLayerCACF::):
51388 * platform/graphics/win/QTMovieWin.cpp:
51389 (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math
51390 (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct
51391 (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize()
51392 (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places
51394 2010-02-05 Enrica Casucci <enrica@apple.com>
51396 Reviewed by Simon Fraser.
51398 Horizontal scrollbar works in reverse at milliondollarcu.be
51399 <rdar://problem/7556121>
51400 https://bugs.webkit.org/show_bug.cgi?id=33848
51402 Added a manual test.
51404 * manual-tests/win: Added.
51405 * manual-tests/win/horizontal-scroll-composited.html: Added.
51406 * platform/graphics/win/WKCACFLayerRenderer.cpp:
51407 (WebCore::WKCACFLayerRenderer::setScrollFrame):
51408 (WebCore::WKCACFLayerRenderer::setRootChildLayer):
51410 2010-02-05 Ryan Leavengood <leavengood@gmail.com>
51412 Reviewed by David Levin.
51414 Implementation of GlyphPage::fill() for Haiku port.
51415 https://bugs.webkit.org/show_bug.cgi?id=34527
51417 Covered by existing tests.
51419 * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp
51421 2010-01-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
51423 Reviewed by Dave Hyatt.
51425 Implement flattening of framesets
51426 https://bugs.webkit.org/show_bug.cgi?id=32717
51428 The following patch, builds ontop of Antti Koivisto's frameset
51429 flattening code from the iPhone source, which itself is based on
51430 the old Nokia Series 60 source.
51432 Layout tests have been added to test the functionality and the original
51433 code which has then been fixed to make these pass, as well as support
51436 Tests: fast/frames/flattening/frameset-flattening-advanced.html
51437 fast/frames/flattening/frameset-flattening-grid.html
51438 fast/frames/flattening/frameset-flattening-simple.html
51439 fast/frames/flattening/frameset-flattening-subframe-resize.html
51440 fast/frames/flattening/frameset-flattening-subframesets.html
51442 * page/FrameView.cpp:
51443 (WebCore::FrameView::layout):
51444 (WebCore::FrameView::scheduleRelayout):
51445 * page/Settings.cpp:
51446 (WebCore::Settings::Settings):
51447 (WebCore::Settings::setFrameSetFlatteningEnabled):
51449 (WebCore::Settings::frameSetFlatteningEnabled):
51450 * rendering/RenderFrame.cpp:
51451 (WebCore::RenderFrame::layoutWithFlattening):
51452 * rendering/RenderFrame.h:
51453 * rendering/RenderFrameSet.cpp:
51454 (WebCore::RenderFrameSet::layout):
51455 (WebCore::RenderFrameSet::positionFramesWithFlattening):
51456 (WebCore::RenderFrameSet::flattenFrameSet):
51457 (WebCore::RenderFrameSet::userResize):
51458 * rendering/RenderFrameSet.h:
51460 2010-02-05 Simon Fraser <simon.fraser@apple.com>
51462 Reviewed by Dan Bernstein.
51464 Changing display type of parent of input on focus causes input field to not receive key events
51465 https://bugs.webkit.org/show_bug.cgi?id=34620
51466 <rdar://problem/7584572>
51468 When layout affects a text input, the RenderTextControl gets destroyed and
51469 recreated, which in turn makes a new innerTextElement. However, if the text field was
51470 focused, the VisibleSelection is left pointing to the old innerTextElement, so text
51471 input no longer works.
51473 The fix is to call updateFocusAppearanceSoon() when attaching the input element,
51474 which will update the selection if necessary.
51476 Test: fast/forms/restore-selection-after-layout.html
51478 * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable,
51479 m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires.
51480 * dom/Document.cpp:
51481 (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection
51482 (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter.
51483 (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down.
51485 (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false.
51486 * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined.
51487 * html/HTMLInputElement.cpp:
51488 (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true.
51490 2010-02-05 Pavel Feldman <pfeldman@chromium.org>
51492 Reviewed by Timothy Hatcher.
51494 Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns.
51496 https://bugs.webkit.org/show_bug.cgi?id=34646
51498 * inspector/front-end/CookieItemsView.js:
51499 (WebInspector.CookieItemsView):
51500 (WebInspector.CookieItemsView.prototype.show):
51501 (WebInspector.CookieItemsView.prototype._update):
51502 (WebInspector.CookieItemsView.prototype._updateWithCookies):
51503 (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
51504 (WebInspector.CookieItemsView.prototype._createDataGrid):
51505 (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare):
51506 (WebInspector.CookieItemsView.prototype._populateDataGrid):
51507 (WebInspector.CookieItemsView.prototype._createSimpleDataGrid):
51508 (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid):
51509 (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
51510 (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
51511 * inspector/front-end/DOMStorageItemsView.js:
51512 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
51513 (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
51514 * inspector/front-end/DataGrid.js:
51515 (WebInspector.DataGrid):
51516 (WebInspector.DataGrid.prototype.autoSizeColumns):
51517 * inspector/front-end/DatabaseQueryView.js:
51518 (WebInspector.DatabaseQueryView.prototype._queryFinished):
51519 * inspector/front-end/DatabaseTableView.js:
51520 (WebInspector.DatabaseTableView.prototype._queryFinished):
51521 * inspector/front-end/StoragePanel.js:
51522 (WebInspector.StoragePanel.prototype.dataGridForResult):
51524 2010-02-04 Pavel Feldman <pfeldman@chromium.org>
51526 Reviewed by Timothy Hatcher.
51528 Web Inspector: group cookies by frame, show total
51529 cookies size, allow sorting cookie table.
51531 https://bugs.webkit.org/show_bug.cgi?id=34617
51533 * English.lproj/localizedStrings.js:
51534 * inspector/InspectorController.cpp:
51535 (WebCore::InspectorController::deleteCookie):
51536 * inspector/front-end/CookieItemsView.js:
51537 (WebInspector.CookieItemsView):
51538 (WebInspector.CookieItemsView.prototype.update):
51539 (WebInspector.CookieItemsView.prototype._updateWithCookies):
51540 (WebInspector.CookieItemsView.prototype._cookiesForDomain):
51541 (WebInspector.CookieItemsView.prototype.dataGridForCookies):
51542 (WebInspector.CookieItemsView.prototype._createNodes):
51543 (WebInspector.CookieItemsView.prototype._sortData.localeCompare):
51544 (WebInspector.CookieItemsView.prototype._sortData.numberCompare):
51545 (WebInspector.CookieItemsView.prototype._sortData.expiresCompare):
51546 (WebInspector.CookieItemsView.prototype._sortData):
51547 * inspector/front-end/StoragePanel.js:
51548 (WebInspector.StoragePanel.prototype.showCookies):
51549 (WebInspector.CookieSidebarTreeElement):
51550 (WebInspector.CookieSidebarTreeElement.prototype.onselect):
51551 (WebInspector.CookieSidebarTreeElement.prototype.get subtitle):
51552 (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
51553 * inspector/front-end/inspector.js:
51554 (WebInspector.updateResource):
51556 2010-02-05 Maxime Simone <simon.maxime@gmail.com>
51558 Reviewed by David Levin.
51560 More robust conversion from BString to String for Haiku port.
51561 https://bugs.webkit.org/show_bug.cgi?id=34527
51563 Covered by existing tests.
51565 * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString.
51567 2010-02-05 Steve Falkenburg <sfalken@apple.com>
51569 Reviewed by Adam Roben.
51573 * WebCore.vcproj/WebCore.make:
51575 2010-02-05 Csaba Osztrogonác <ossy@webkit.org>
51577 Reviewed by Dirk Schulze.
51578 Rubber-stamped by Kenneth Rohde Christiansen.
51580 [Qt] Modifying SVG path dumping to equal to other ports
51581 https://bugs.webkit.org/show_bug.cgi?id=33784
51583 * platform/graphics/qt/PathQt.cpp:
51584 (WebCore::Path::debugString): Path dumping style is aproached to Mac.
51586 2010-02-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
51588 Reviewed by Gustavo Noronha.
51590 Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure
51591 https://bugs.webkit.org/show_bug.cgi?id=34317
51594 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
51595 (WebCore::mediaPlayerPrivateSourceChangedCallback):
51596 (WebCore::doGstInit):
51597 * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
51598 * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
51599 Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure.
51600 This makes sure that referer, cookies, authentication information
51601 and all kinds of other context are passed to GStreamer for websites
51602 like Vimeo or YouTube.
51604 2010-02-05 Nate Chapin <japhet@chromium.org>
51606 Reviewed by Dimitri Glazkov.
51608 [V8] Clean up code for getting a v8::FunctionTemplate.
51610 https://bugs.webkit.org/show_bug.cgi?id=34606
51612 * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public
51613 * bindings/v8/V8Binding.cpp:
51614 (WebCore::configureTemplate):
51615 * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead.
51616 (WebCore::V8DOMWrapper::getConstructor):
51617 (WebCore::V8DOMWrapper::instantiateV8Object):
51618 * bindings/v8/V8DOMWrapper.h:
51619 (WebCore::V8DOMWrapper::lookupDOMWrapper):
51620 * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates.
51621 (WebCore::V8ClassIndex::getTemplate):
51622 * bindings/v8/V8Index.h:
51623 * bindings/v8/WorkerContextExecutionProxy.cpp:
51624 (WebCore::WorkerContextExecutionProxy::toV8):
51625 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
51626 (WebCore::v8HTMLAudioElementConstructorCallback):
51627 (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
51628 * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
51629 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
51630 (WebCore::v8HTMLImageElementConstructorCallback):
51631 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
51632 * bindings/v8/custom/V8HTMLImageElementConstructor.h:
51633 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
51634 (WebCore::v8HTMLOptionElementConstructorCallback):
51635 (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
51636 * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
51637 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51638 (WebCore::createInjectedScriptHostV8Wrapper):
51640 2010-02-05 Siddharth Mathur <siddharth.mathur@nokia.com>
51642 Reviewed by Ariya Hidayat.
51644 [Qt] Build break in QtWebkit on Symbian
51645 https://bugs.webkit.org/show_bug.cgi?id=34597
51647 * plugins/PluginView.h:
51649 2010-02-05 Yury Semikhatsky <yurys@chromium.org>
51651 Reviewed by Pavel Feldman.
51653 - Use SerializedScriptValue for passing data between injected script and
51654 inspector frontend.
51655 - Remove custom JSON implementation from the instpector utility script.
51656 - Make sure that only objects created in the same ScriptState can be values
51657 of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't
51658 want ScriptObjects to leak between contexts.
51659 - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing
51660 it as additional parameter.
51662 https://bugs.webkit.org/show_bug.cgi?id=33592
51664 * bindings/js/JSInjectedScriptHostCustom.cpp:
51665 (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
51666 * bindings/js/ScriptArray.cpp:
51667 (WebCore::ScriptArray::set):
51668 * bindings/js/ScriptFunctionCall.cpp:
51669 (WebCore::ScriptFunctionCall::ScriptFunctionCall):
51670 (WebCore::ScriptFunctionCall::appendArgument):
51671 * bindings/js/ScriptFunctionCall.h:
51672 * bindings/js/ScriptObject.cpp:
51673 (WebCore::ScriptObject::set):
51674 * bindings/js/ScriptValue.cpp:
51675 (WebCore::ScriptValue::serialize):
51676 (WebCore::ScriptValue::deserialize):
51677 * bindings/js/ScriptValue.h:
51678 * bindings/v8/ScriptArray.cpp:
51679 (WebCore::ScriptArray::set):
51680 * bindings/v8/ScriptFunctionCall.cpp:
51681 (WebCore::ScriptFunctionCall::ScriptFunctionCall):
51682 (WebCore::ScriptFunctionCall::appendArgument):
51683 * bindings/v8/ScriptFunctionCall.h:
51684 * bindings/v8/ScriptObject.cpp:
51685 (WebCore::ScriptObject::set):
51686 * bindings/v8/ScriptState.h:
51687 * bindings/v8/ScriptValue.cpp:
51688 (WebCore::ScriptValue::serialize):
51689 (WebCore::deserialize):
51690 * bindings/v8/ScriptValue.h:
51691 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51692 (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
51693 * inspector/InjectedScript.cpp:
51694 (WebCore::InjectedScript::dispatch):
51695 (WebCore::InjectedScript::callFrames):
51696 (WebCore::InjectedScript::wrapForConsole):
51697 (WebCore::InjectedScript::releaseWrapperObjectGroup):
51698 * inspector/InjectedScript.h:
51699 * inspector/InjectedScriptHost.cpp:
51700 (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
51701 * inspector/InjectedScriptHost.h:
51702 * inspector/InjectedScriptHost.idl:
51703 * inspector/InspectorBackend.cpp:
51704 (WebCore::InspectorBackend::dispatchOnInjectedScript):
51705 * inspector/InspectorController.cpp:
51706 (WebCore::InspectorController::setFrontendProxyObject):
51707 (WebCore::InspectorController::didPause):
51708 (WebCore::InspectorController::didEvaluateForTestInFrontend):
51709 * inspector/InspectorFrontend.cpp:
51710 (WebCore::InspectorFrontend::InspectorFrontend):
51711 (WebCore::InspectorFrontend::newScriptArray):
51712 (WebCore::InspectorFrontend::newScriptObject):
51713 (WebCore::InspectorFrontend::populateFrontendSettings):
51714 (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
51715 (WebCore::InspectorFrontend::addConsoleMessage):
51716 (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
51717 (WebCore::InspectorFrontend::updateResource):
51718 (WebCore::InspectorFrontend::removeResource):
51719 (WebCore::InspectorFrontend::didGetResourceContent):
51720 (WebCore::InspectorFrontend::updateFocusedNode):
51721 (WebCore::InspectorFrontend::setAttachedWindow):
51722 (WebCore::InspectorFrontend::addRecordToTimeline):
51723 (WebCore::InspectorFrontend::parsedScriptSource):
51724 (WebCore::InspectorFrontend::failedToParseScriptSource):
51725 (WebCore::InspectorFrontend::addProfileHeader):
51726 (WebCore::InspectorFrontend::setRecordingProfile):
51727 (WebCore::InspectorFrontend::didGetProfileHeaders):
51728 (WebCore::InspectorFrontend::didGetProfile):
51729 (WebCore::InspectorFrontend::pausedScript):
51730 (WebCore::InspectorFrontend::setDocument):
51731 (WebCore::InspectorFrontend::setDetachedRoot):
51732 (WebCore::InspectorFrontend::setChildNodes):
51733 (WebCore::InspectorFrontend::childNodeCountUpdated):
51734 (WebCore::InspectorFrontend::childNodeInserted):
51735 (WebCore::InspectorFrontend::childNodeRemoved):
51736 (WebCore::InspectorFrontend::attributesUpdated):
51737 (WebCore::InspectorFrontend::didRemoveNode):
51738 (WebCore::InspectorFrontend::didGetChildNodes):
51739 (WebCore::InspectorFrontend::didApplyDomChange):
51740 (WebCore::InspectorFrontend::didGetEventListenersForNode):
51741 (WebCore::InspectorFrontend::didGetCookies):
51742 (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
51743 (WebCore::InspectorFrontend::addDatabase):
51744 (WebCore::InspectorFrontend::selectDatabase):
51745 (WebCore::InspectorFrontend::didGetDatabaseTableNames):
51746 (WebCore::InspectorFrontend::addDOMStorage):
51747 (WebCore::InspectorFrontend::selectDOMStorage):
51748 (WebCore::InspectorFrontend::didGetDOMStorageEntries):
51749 (WebCore::InspectorFrontend::didSetDOMStorageItem):
51750 (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
51751 (WebCore::InspectorFrontend::updateDOMStorage):
51752 (WebCore::InspectorFrontend::addNodesToSearchResult):
51753 (WebCore::InspectorFrontend::contextMenuItemSelected):
51754 (WebCore::InspectorFrontend::evaluateForTestInFrontend):
51755 (WebCore::InspectorFrontend::callSimpleFunction):
51756 * inspector/InspectorFrontend.h:
51757 (WebCore::InspectorFrontend::scriptState):
51758 * inspector/front-end/InjectedScript.js:
51759 (injectedScriptConstructor):
51760 (injectedScriptConstructor.):
51761 * inspector/front-end/InjectedScriptAccess.js:
51762 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
51763 (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
51764 (InjectedScriptAccess._installHandler):
51765 * inspector/front-end/inspector.js:
51766 (WebInspector.pausedScript):
51767 (WebInspector.addConsoleMessage):
51769 2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
51771 Reviewed by Simon Hausmann.
51773 [Qt] Generate convenience headers (QWebView, etc) using qmake
51775 In Qt this is done using syncqt, but we use a pro-file instead
51776 that generates makefile-rules for each of the extra headers.
51778 These extra headers are installed alongside the normal headers.
51780 * WebCore.pro: Use headers.pri based on DerivedSources instead
51781 of the one previously checked in in the source tree.
51783 2010-02-05 Mikhail Naganov <mnaganov@chromium.org>
51785 Reviewed by Pavel Feldman.
51787 Enable JAVASCRIPT_DEBUGGER in chromium port.
51789 https://bugs.webkit.org/show_bug.cgi?id=34638
51791 * page/Console.cpp:
51793 * page/Console.idl:
51795 2010-02-05 Pavel Feldman <pfeldman@chromium.org>
51797 Reviewed by Timothy Hatcher.
51799 Web Inspector: Tab width for javascript source is 8, should be 4
51801 https://bugs.webkit.org/show_bug.cgi?id=31248
51803 * inspector/front-end/SourceFrame.js:
51804 (WebInspector.SourceFrame):
51805 * inspector/front-end/TextEditorModel.js:
51806 (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces):
51807 (WebInspector.TextEditorModel.prototype._innerSetText):
51808 (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded):
51810 2010-02-05 Tony Chang <tony@chromium.org>
51812 Reviewed by Eric Seidel.
51814 https://bugs.webkit.org/show_bug.cgi?id=24872
51815 When pasting a list into another list should not indent another level.
51816 If the cursor is at the beginning of the line, it should insert the
51817 list items before the current list item. If the cursor is at the end
51818 of the line, it should insert the list items after the current list item.
51820 This matches Firefox and IE and makes the common activity of reordering a list
51823 This also adds a small helper method (isListItem) to htmlediting.h.
51825 Test: editing/pasteboard/paste-list-002.html
51827 * editing/ReplaceSelectionCommand.cpp:
51828 (WebCore::ReplaceSelectionCommand::doApply):
51829 (WebCore::ReplaceSelectionCommand::insertAsListItems):
51830 * editing/ReplaceSelectionCommand.h:
51831 * editing/htmlediting.cpp:
51832 (WebCore::isListItem):
51833 (WebCore::appendedSublist):
51834 * editing/htmlediting.h:
51836 2010-02-04 Mark Rowe <mrowe@apple.com>
51838 Reviewed by Timothy Hatcher.
51840 Build fix. Remove a symbol corresponding to an inline function from the linker export
51841 file to prevent a weak external failure.
51843 * WebCore.base.exp: Remove symbol.
51844 * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
51846 2010-02-04 Geoffrey Garen <ggaren@apple.com>
51848 Reviewed by Oliver Hunt.
51850 Updated to use new WeakGCPtr::clear interface.
51852 * bindings/js/JSEventListener.cpp:
51853 * bindings/js/JSEventListener.h:
51854 (WebCore::JSEventListener::invalidateJSFunction):
51856 2010-02-04 Geoffrey Garen <ggaren@apple.com>
51858 Build fix: Added a forwarding header.
51860 * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
51862 2010-02-04 Geoffrey Garen <ggaren@apple.com>
51864 Reviewed by Alexey Proskuryakov and Darin Adler.
51866 REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
51867 https://bugs.webkit.org/show_bug.cgi?id=33383
51868 <rdar://problem/7559449>
51870 There were two bugs here:
51872 1. A stale wrapper would invalidate a node's event listeners, even if
51873 the node had a fresh wrapper keeping it alive.
51875 The fix for this is for an event listener to keep a WeakGCPtr back-pointer
51876 to the wrapper it expects to mark it. The wrapper destructor checks this
51877 back-pointer, and only invalidates the event listener in the case of a match.
51879 2. Conversely, a stale wrapper would not invalidate a node's event
51880 listeners soon enough, if its destructor didn't have a chance to run
51881 before an event fired on the node. (This can only happen in cases where
51882 we've made some other error and failed to mark a wrapper that was circuitously
51883 observable in the DOM. But we know we have edge case bugs like this, and
51884 we don't want them to be crashes.)
51886 The fix for this is to check the wrapper back-pointer before firing the
51887 event listener. As long as the the wrapper back-pointer is not null,
51888 it's safe to fire the listener.
51890 * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
51892 * bindings/js/JSAbstractWorkerCustom.cpp:
51893 (WebCore::JSAbstractWorker::addEventListener):
51894 (WebCore::JSAbstractWorker::removeEventListener):
51895 * bindings/js/JSDOMApplicationCacheCustom.cpp:
51896 (WebCore::JSDOMApplicationCache::addEventListener):
51897 (WebCore::JSDOMApplicationCache::removeEventListener):
51898 * bindings/js/JSDOMWindowCustom.cpp:
51899 (WebCore::JSDOMWindow::markChildren):
51900 (WebCore::JSDOMWindow::addEventListener):
51901 (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper
51902 to the JSEventListener constructor.
51904 * bindings/js/JSEventListener.cpp:
51905 (WebCore::JSEventListener::JSEventListener):
51906 (WebCore::JSEventListener::initializeJSFunction):
51907 (WebCore::JSEventListener::invalidateJSFunction):
51908 * bindings/js/JSEventListener.h:
51909 (WebCore::JSEventListener::create):
51910 (WebCore::JSEventListener::isolatedWorld):
51911 (WebCore::JSEventListener::wrapper):
51912 (WebCore::JSEventListener::setWrapper):
51913 (WebCore::JSEventListener::jsFunction):
51914 (WebCore::createJSAttributeEventListener): Implemented the back-pointer
51915 described above. Refactored the jsFunction() accessor to return 0 if
51916 the wrapper back-pointer is 0.
51918 * bindings/js/JSEventSourceCustom.cpp:
51919 (WebCore::JSEventSource::addEventListener):
51920 (WebCore::JSEventSource::removeEventListener):
51921 * bindings/js/JSLazyEventListener.cpp:
51922 (WebCore::JSLazyEventListener::JSLazyEventListener):
51923 (WebCore::JSLazyEventListener::initializeJSFunction):
51924 * bindings/js/JSLazyEventListener.h:
51925 (WebCore::JSLazyEventListener::create):
51926 * bindings/js/JSMessagePortCustom.cpp:
51927 (WebCore::JSMessagePort::markChildren):
51928 (WebCore::JSMessagePort::addEventListener):
51929 (WebCore::JSMessagePort::removeEventListener):
51930 * bindings/js/JSNodeCustom.cpp:
51931 (WebCore::JSNode::addEventListener):
51932 (WebCore::JSNode::removeEventListener):
51933 (WebCore::JSNode::markChildren):
51934 * bindings/js/JSSVGElementInstanceCustom.cpp:
51935 (WebCore::JSSVGElementInstance::addEventListener):
51936 (WebCore::JSSVGElementInstance::removeEventListener):
51937 * bindings/js/JSWebSocketCustom.cpp:
51938 (WebCore::JSWebSocket::addEventListener):
51939 (WebCore::JSWebSocket::removeEventListener):
51940 * bindings/js/JSWorkerContextCustom.cpp:
51941 (WebCore::JSWorkerContext::markChildren):
51942 (WebCore::JSWorkerContext::addEventListener):
51943 (WebCore::JSWorkerContext::removeEventListener):
51944 * bindings/js/JSXMLHttpRequestCustom.cpp:
51945 (WebCore::JSXMLHttpRequest::markChildren):
51946 (WebCore::JSXMLHttpRequest::addEventListener):
51947 (WebCore::JSXMLHttpRequest::removeEventListener):
51948 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
51949 (WebCore::JSXMLHttpRequestUpload::markChildren):
51950 (WebCore::JSXMLHttpRequestUpload::addEventListener):
51951 (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper
51952 to the JSEventListener constructor.
51955 * bindings/js/ScriptEventListener.cpp:
51956 (WebCore::createAttributeEventListener): Updated to pass a wrapper
51957 to the JSEventListener constructor.
51958 (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction()
51959 is no longer a virtual accessor on the EventHandler base class.
51961 * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction()
51962 is no longer a virtual accessor on the EventHandler base class. Added a "JS"
51963 to invalidateEventListeners and markEventListeners to clarify that these
51964 actions are for JS event listeners only. Added a wrapper parameter to
51965 invalidateEventListeners for the back-pointer check explained above.
51967 * dom/EventListener.h:
51968 (WebCore::EventListener::invalidateJSFunction): ditto
51970 * dom/EventTarget.h:
51971 (WebCore::EventTarget::markJSEventListeners):
51972 (WebCore::EventTarget::invalidateJSEventListeners): ditto
51974 2010-02-04 Tony Chang <tony@chromium.org>
51976 Reviewed by Eric Seidel.
51978 https://bugs.webkit.org/show_bug.cgi?id=25002
51979 When inserting a new paragraph, avoid nesting empty divs. When
51980 pasting near the end of a paragraph, this prevents each paste
51981 command for getting nested one level deeper.
51983 Test: editing/inserting/paragraph-outside-nested-divs.html
51985 * editing/InsertParagraphSeparatorCommand.cpp:
51986 (WebCore::highestVisuallyEquivalentDiv):
51987 (WebCore::InsertParagraphSeparatorCommand::doApply):
51989 2010-02-04 Dumitru Daniliuc <dumi@chromium.org>
51991 Reviewed by Eric Seidel.
51993 1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always
51995 2. Jump straight to the transaction error callback when a
51996 statement fails in a way that makes sqlite automatically rollback
51998 3. Fix the code that handles the "quota reached" failure, as it is
51999 one of the failures that lead to an automatic transaction
52002 https://bugs.webkit.org/show_bug.cgi?id=34280
52004 * platform/sql/SQLiteDatabase.cpp:
52005 (WebCore::SQLiteDatabase::isAutoCommitOn):
52006 * platform/sql/SQLiteDatabase.h:
52007 * platform/sql/SQLiteTransaction.cpp:
52008 (WebCore::SQLiteTransaction::begin):
52009 (WebCore::SQLiteTransaction::commit):
52010 (WebCore::SQLiteTransaction::rollback):
52011 (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite):
52012 * platform/sql/SQLiteTransaction.h:
52013 * storage/SQLTransaction.cpp:
52014 (WebCore::SQLTransaction::SQLTransaction):
52015 (WebCore::SQLTransaction::runStatements):
52016 (WebCore::SQLTransaction::runCurrentStatement):
52017 (WebCore::SQLTransaction::handleCurrentStatementError):
52018 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
52020 2010-02-04 Peter Kasting <pkasting@google.com>
52022 Not reviewed, rollback.
52024 Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
52026 * platform/chromium/ScrollbarThemeChromiumMac.h:
52028 2010-02-04 Stephen White <senorblanco@chromium.org>
52030 Unreviewed, build fix.
52032 Fix for Chromium/Mac after palindromic scrollbar change (54345).
52034 Covered by many layout tests.
52036 * platform/chromium/ScrollbarThemeChromiumMac.h:
52037 (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
52039 2010-02-04 Clemmitt Sigler <cmsigler@gmail.com>
52041 Reviewed by David Levin.
52043 WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
52044 Updated WebCore/GNUmakefile.am to include needed files in build.
52046 https://bugs.webkit.org/show_bug.cgi?id=34387
52052 2010-02-04 Stephan Aßmus <superstippi@gmx.de>
52054 Reviewed by David Levin.
52056 Misc coding style fixes in Haiku port code.
52057 https://bugs.webkit.org/show_bug.cgi?id=34527
52061 * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0
52062 * platform/haiku/DragImageHaiku.cpp: Trailing white space.
52063 * platform/haiku/FileChooserHaiku.cpp: Sorted headers.
52064 * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h
52066 2010-02-04 Enrica Casucci <enrica@apple.com>
52068 Reviewed by Csaba Osztrogonac.
52070 Fixed crash on QT introduced with the fix for
52071 https://bugs.webkit.org/show_bug.cgi?id=34609
52073 The test has been added with the original patch.
52075 * platform/qt/ClipboardQt.cpp:
52076 (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData.
52078 2010-02-04 Christian Dywan <christian@twotoasts.de>
52080 Reviewed by Xan Lopez.
52082 Conditionalize third party cookie policy for libsoup 2.29.90.
52084 * platform/network/soup/CookieJarSoup.cpp:
52085 (WebCore::setCookies):
52086 * platform/network/soup/DNSSoup.cpp:
52087 (WebCore::prefetchDNS):
52088 * platform/network/soup/ResourceHandleSoup.cpp:
52089 (WebCore::restartedCallback):
52090 (WebCore::startHttp):
52091 * platform/network/soup/ResourceRequestSoup.cpp:
52092 (WebCore::ResourceRequest::toSoupMessage):
52093 (WebCore::ResourceRequest::updateFromSoupMessage):
52095 2010-02-04 Christian Dywan <christian@twotoasts.de>
52097 Rubber-stamped by Gustavo Noronha Silva.
52099 Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation.
52101 * platform/gtk/GOwnPtrGtk.cpp:
52103 2010-02-04 Alexey Proskuryakov <ap@apple.com>
52105 Reviewed by Darin Adler.
52107 Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
52108 https://bugs.webkit.org/show_bug.cgi?id=34520
52110 Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html
52112 * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute
52113 properties before attributes. Otherwise, copying "checked" attribute would make the cloned
52114 node checked, unchecking original (they share a name, and are thus in the same radio group).
52115 We do want the original to be unchecked, but we also want to know its original state in
52116 HTMLInputElement::copyNonAttributeProperties().
52118 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties):
52119 Use setChecked instead of plain assignment to prevent m_checked getting out of sync with
52120 checkedRadioButtons. Also, copy field related to default checked state, so that m_checked
52121 won't be overridden when copying attributes.
52123 2010-02-04 Kevin Ollivier <kevino@theolliviers.com>
52125 [wx] Build fix after addition of Clipboard::writePlainText method.
52127 * platform/wx/ClipboardWx.cpp:
52128 (WebCore::ClipboardWx::writePlainText):
52129 * platform/wx/ClipboardWx.h:
52131 2010-02-04 Enrica Casucci <enrica@apple.com>
52133 Reviewed by Oliver Hunt.
52135 REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
52136 <rdar://problem/7595685>
52137 https://bugs.webkit.org/show_bug.cgi?id=34609
52139 Test: editing/pasteboard/drop-inputtext-acquires-style.html
52141 The dragging code did not distinguish the case of dragging the content of an input control
52142 as a special case. The markup placed in the pasteboard included the style information.
52143 I've modified the Clipboard class interface adding a new method writePlainText to match the
52144 behavior of the copy and cut commands and modified the drag code to detect the special case.
52145 I've modified all the platform specific implementations of the Clipboard class.
52147 * dom/Clipboard.h: Added writePlainText pure virtual function.
52148 * editing/Editor.cpp:
52149 (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
52150 (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
52151 * editing/htmlediting.cpp:
52152 (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name
52154 * editing/htmlediting.h:
52155 * page/DragController.cpp:
52156 (WebCore::DragController::startDrag):
52157 * platform/Pasteboard.h:
52158 * platform/android/ClipboardAndroid.cpp:
52159 (WebCore::ClipboardAndroid::writePlainText): Added.
52160 * platform/android/ClipboardAndroid.h:
52161 * platform/chromium/ClipboardChromium.cpp:
52162 (WebCore::ClipboardChromium::writePlainText): Added.
52163 * platform/chromium/ClipboardChromium.h:
52164 * platform/gtk/ClipboardGtk.cpp:
52165 (WebCore::ClipboardGtk::writePlainText): Added.
52166 * platform/gtk/ClipboardGtk.h:
52167 * platform/haiku/ClipboardHaiku.cpp:
52168 (WebCore::ClipboardHaiku::writePlainText): Added.
52169 * platform/haiku/ClipboardHaiku.h:
52170 * platform/mac/ClipboardMac.h:
52171 * platform/mac/ClipboardMac.mm:
52172 (WebCore::ClipboardMac::writePlainText): Added.
52173 * platform/mac/PasteboardMac.mm:
52174 (WebCore::Pasteboard::writePlainText): Added helper function.
52175 * platform/qt/ClipboardQt.cpp:
52176 (WebCore::ClipboardQt::writePlainText): Added.
52177 * platform/qt/ClipboardQt.h:
52178 * platform/win/ClipboardWin.cpp:
52179 (WebCore::ClipboardWin::writePlainText): Added.
52180 * platform/win/ClipboardWin.h:
52182 2010-02-04 Steve Block <steveblock@google.com>
52184 Reviewed by Nate Chapin.
52186 Fix bug in V8 convertNPVariantToJValue when converting float and double types
52187 https://bugs.webkit.org/show_bug.cgi?id=34593
52189 No new tests, build fix only.
52191 * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified.
52192 (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum.
52194 2010-02-04 Chris Guillory <chris.guillory@google.com>
52196 Reviewed by Darin Fisher.
52198 [Chromium] Notify ChromeClientChromium of AccessibilityObject state
52199 change notifications.
52201 https://bugs.webkit.org/show_bug.cgi?id=34464
52203 * accessibility/chromium/AXObjectCacheChromium.cpp:
52204 (WebCore::toChromeClientChromium):
52205 (WebCore::AXObjectCache::postPlatformNotification):
52206 * page/chromium/ChromeClientChromium.h:
52208 2010-02-04 Stephen White <senorblanco@chromium.org>
52210 Unreviewed, build fix for Chromium.
52212 Revert r54341 ("[v8] Remove clear method from DOM object maps"),
52213 since it causes the worker tests to fail on Chromium.
52215 * bindings/v8/DOMData.h:
52216 (WebCore::DOMData::removeObjectsFromWrapperMap):
52217 * bindings/v8/DOMDataStore.h:
52218 (WebCore::ChunkedTable::clear):
52219 (WebCore::ChunkedTable::clearEntries):
52220 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
52221 (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
52222 * bindings/v8/V8DOMMap.cpp:
52223 (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
52224 (WebCore::removeAllDOMObjectsInCurrentThread):
52225 * bindings/v8/V8DOMMap.h:
52226 (WebCore::WeakReferenceMap::clear):
52227 * bindings/v8/WorkerScriptController.cpp:
52228 (WebCore::WorkerScriptController::~WorkerScriptController):
52230 2010-02-04 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
52232 Reviewed by Xan Lopez.
52234 [GTK] Crashes when an invalid hostname is pre-fetched
52235 https://bugs.webkit.org/show_bug.cgi?id=34602
52237 * platform/network/soup/DNSSoup.cpp:
52238 (WebCore::prefetchDNS): NULL-check the SoupURI that is created
52239 from the hostname; that will happen for invalid hostnames.
52241 2010-02-04 José Millán Soto <jmillan@igalia.com>
52243 Reviewed by Xan Lopez.
52245 [Gtk] webkitgtk crashed when Orca open
52246 https://bugs.webkit.org/show_bug.cgi?id=34463
52248 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52250 Checking if render objects are texts before calling toRenderText
52252 2010-02-04 Xan Lopez <xlopez@igalia.com>
52254 Reviewed by Gustavo Noronha.
52256 Set first party URI in all SoupMessages. This allows libsoup to
52257 implement a "no third party cookies" policy in case it wants
52258 to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and
52259 use it for SoupURI.
52261 * platform/network/soup/CookieJarSoup.cpp:
52262 (WebCore::setCookies):
52263 * platform/network/soup/ResourceHandleSoup.cpp:
52264 (WebCore::restartedCallback):
52265 (WebCore::startHttp):
52266 * platform/network/soup/ResourceRequestSoup.cpp:
52267 (WebCore::ResourceRequest::toSoupMessage):
52268 (WebCore::ResourceRequest::updateFromSoupMessage):
52270 2010-02-04 Pavel Feldman <pfeldman@chromium.org>
52272 Reviewed by Timothy Hatcher.
52274 Web Inspector: group cookies by domains, not frame's domains.
52276 https://bugs.webkit.org/show_bug.cgi?id=34599
52278 * inspector/front-end/CookieItemsView.js:
52279 (WebInspector.CookieItemsView.prototype._cookiesForDomain):
52280 * inspector/front-end/inspector.js:
52281 (WebInspector.updateResource):
52282 (WebInspector._addCookieDomain):
52284 2010-02-04 Nate Chapin <japhet@chromium.org>
52286 Reviewed by Dimitri Glazkov.
52288 [V8] Delete V8CustomBinding.h and all references to V8Custom
52290 https://bugs.webkit.org/show_bug.cgi?id=32638
52292 * bindings/v8/NPV8Object.cpp:
52293 * bindings/v8/V8DOMWindowShell.h:
52294 * bindings/v8/V8NPObject.cpp:
52295 * bindings/v8/V8Utilities.cpp:
52296 * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
52297 * bindings/v8/custom/V8AttrCustom.cpp:
52298 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
52299 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
52300 * bindings/v8/custom/V8ClipboardCustom.cpp:
52301 * bindings/v8/custom/V8CoordinatesCustom.cpp:
52302 * bindings/v8/custom/V8CustomBinding.h: Removed.
52303 * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
52304 * bindings/v8/custom/V8DOMWindowCustom.cpp:
52305 * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
52306 * bindings/v8/custom/V8DatabaseCustom.cpp:
52307 * bindings/v8/custom/V8ElementCustom.cpp:
52308 * bindings/v8/custom/V8EventSourceConstructor.cpp:
52309 * bindings/v8/custom/V8EventSourceCustom.cpp:
52310 * bindings/v8/custom/V8GeolocationCustom.cpp:
52311 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
52312 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
52313 (WebCore::v8HTMLAudioElementConstructorCallback):
52314 (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
52315 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
52316 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
52317 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
52318 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
52319 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
52320 (WebCore::v8HTMLImageElementConstructorCallback):
52321 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
52322 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
52323 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
52324 (WebCore::v8HTMLOptionElementConstructorCallback):
52325 (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
52326 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
52327 * bindings/v8/custom/V8HistoryCustom.cpp:
52328 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
52329 * bindings/v8/custom/V8LocationCustom.cpp:
52330 * bindings/v8/custom/V8MessagePortCustom.cpp:
52331 * bindings/v8/custom/V8NodeCustom.cpp:
52332 * bindings/v8/custom/V8NodeFilterCustom.cpp:
52333 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
52334 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
52335 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
52336 * bindings/v8/custom/V8SVGLengthCustom.cpp:
52337 * bindings/v8/custom/V8SharedWorkerCustom.cpp:
52338 * bindings/v8/custom/V8StorageCustom.cpp:
52339 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
52340 * bindings/v8/custom/V8WebGLArrayCustom.h:
52341 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
52342 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
52343 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
52344 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
52345 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
52346 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
52347 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
52348 * bindings/v8/custom/V8WebKitPointConstructor.cpp:
52349 * bindings/v8/custom/V8WorkerContextCustom.cpp:
52350 * bindings/v8/custom/V8WorkerCustom.cpp:
52351 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
52352 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
52353 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
52355 2010-02-04 Ariya Hidayat <ariya.hidayat@gmail.com>
52357 Reviewed by Simon Hausmann.
52359 [Qt] Unnecessary QBrush construction for doing a solid fill
52360 https://bugs.webkit.org/show_bug.cgi?id=34559
52362 Use the similar trick like r37421, i.e. use the special brush for
52363 solid color to avoid creating QBrush again and again.
52365 * platform/graphics/qt/GraphicsContextQt.cpp:
52366 (WebCore::GraphicsContext::setPlatformFillColor):
52368 2010-02-04 Dan Bernstein <mitz@apple.com>
52370 Reviewed by Simon Fraser.
52372 REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
52373 https://bugs.webkit.org/show_bug.cgi?id=34371
52375 Allow ScrollbarTheme to cap the overlap between pages, and set a cap of
52376 40 in ScrollbarThemeMac.
52378 * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages().
52379 * editing/EditorCommand.cpp:
52380 (WebCore::verticalScrollDistance): Use Scrollbar methods instead of
52381 constants, and cap the scroll distance if needed.
52382 * platform/ScrollView.cpp:
52383 (WebCore::ScrollView::updateScrollbars): Ditto.
52384 (WebCore::ScrollView::wheelEvent): Ditto.
52385 * platform/Scrollbar.cpp:
52386 (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the
52387 value from the native scrollbar theme.
52388 * platform/Scrollbar.h: Replaced scroll amount constants with static methods.
52389 (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep.
52390 (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging.
52391 * platform/ScrollbarTheme.h:
52392 (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation
52393 that returns the largest int.
52394 * platform/gtk/WheelEventGtk.cpp:
52395 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
52397 * platform/haiku/PlatformWheelEventHaiku.cpp:
52398 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
52400 * platform/mac/ScrollbarThemeMac.h:
52401 (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override
52403 * platform/mac/WheelEventMac.mm:
52404 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
52405 Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep.
52406 * platform/wx/MouseWheelEventWx.cpp:
52407 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
52409 * platform/wx/ScrollViewWx.cpp:
52410 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar
52411 methods instead of constants, and cap the scroll distance if needed.
52412 * rendering/RenderLayer.cpp:
52413 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto.
52415 2010-02-04 No'am Rosenthal <noam.rosenthal@nokia.com>
52417 Reviewed by Ariya Hidayat.
52419 [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary
52420 recaching, remove QTimer::singleShot and QPixmap::scaled, more
52421 accurate strategy of handling transform operation blends. Rotating a
52422 bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5.
52424 https://bugs.webkit.org/show_bug.cgi?id=34062
52426 This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements.
52428 * platform/graphics/qt/GraphicsLayerQt.cpp:
52429 (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching
52430 (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs
52431 (WebCore::OpacityAnimationQt::updateState): style change
52433 2010-02-04 Pavel Feldman <pfeldman@chromium.org>
52435 Reviewed by Timothy Hatcher.
52437 Web Inspector: Cookies for resources are not shown in storage panel.
52439 https://bugs.webkit.org/show_bug.cgi?id=34594
52441 * inspector/InspectorController.cpp:
52442 (WebCore::InspectorController::getCookies):
52443 * inspector/InspectorResource.cpp:
52444 (WebCore::InspectorResource::updateScriptObject):
52445 (WebCore::InspectorResource::cachedResource):
52446 * inspector/InspectorResource.h:
52447 (WebCore::InspectorResource::requestURL):
52449 2010-02-04 Anton Muhin <antonm@chromium.org>
52451 Reviewed by Adam Barth.
52453 [v8] Remove clear method from DOM object maps
52454 https://bugs.webkit.org/show_bug.cgi?id=34530
52456 No new tests. Should be covered by existent testing infrastructure.
52458 * bindings/v8/DOMData.h:
52459 * bindings/v8/DOMDataStore.h:
52460 * bindings/v8/V8DOMMap.cpp:
52461 * bindings/v8/V8DOMMap.h:
52462 * bindings/v8/WorkerScriptController.cpp:
52463 (WebCore::WorkerScriptController::~WorkerScriptController):
52465 2010-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
52467 Reviewed by Xan Lopez.
52469 [Gtk] Check if the renderer() exists in textForObject.
52471 This is fixing a crash in the textForObject method. It can
52472 happen when inspecting AtkObjects in the accerciser, then
52473 navigating to a new page and still inspecting the old tree.
52475 In this case the AccessibilityObjectWrapperAtk was still
52476 valid but the included renderer() was returning 0. Add a
52477 check for the accObject->renderer() before trying to use
52480 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52483 2010-02-04 Yury Semikhatsky <yurys@chromium.org>
52485 Reviewed by Pavel Feldman.
52487 Provide strongly typed C++ interface for inspector's injected script.
52489 https://bugs.webkit.org/show_bug.cgi?id=33616
52494 * WebCore.vcproj/WebCore.vcproj:
52495 * WebCore.xcodeproj/project.pbxproj:
52496 * bindings/js/JSInjectedScriptHostCustom.cpp:
52497 (WebCore::InjectedScriptHost::injectedScriptFor):
52498 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
52499 (WebCore::InjectedScriptHost::injectedScriptFor):
52500 * inspector/InjectedScript.cpp: Added.
52501 (WebCore::InjectedScript::InjectedScript):
52502 (WebCore::InjectedScript::dispatch):
52503 (WebCore::InjectedScript::callFrames):
52504 (WebCore::InjectedScript::wrapAndStringifyForConsole):
52505 (WebCore::InjectedScript::releaseWrapperObjectGroup):
52506 * inspector/InjectedScript.h: Added.
52507 (WebCore::InjectedScript::InjectedScript):
52508 (WebCore::InjectedScript::~InjectedScript):
52509 (WebCore::InjectedScript::hasNoValue):
52510 * inspector/InjectedScriptHost.cpp:
52511 (WebCore::InjectedScriptHost::injectedScriptForId):
52512 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
52513 * inspector/InjectedScriptHost.h:
52514 * inspector/InspectorBackend.cpp:
52515 (WebCore::InspectorBackend::dispatchOnInjectedScript):
52516 * inspector/InspectorController.cpp:
52517 (WebCore::InspectorController::InspectorController):
52518 (WebCore::InspectorController::~InspectorController):
52519 (WebCore::InspectorController::inspectedPageDestroyed):
52520 (WebCore::InspectorController::windowScriptObjectAvailable):
52521 (WebCore::InspectorController::scriptObjectReady):
52522 (WebCore::InspectorController::setFrontendProxyObject):
52523 (WebCore::InspectorController::close):
52524 (WebCore::InspectorController::getProfile):
52525 (WebCore::InspectorController::enableDebugger):
52526 (WebCore::InspectorController::didPause):
52527 (WebCore::InspectorController::injectedScriptForNodeId):
52528 * inspector/InspectorController.h:
52529 (WebCore::InspectorController::frontendScriptState):
52530 * inspector/InspectorFrontend.cpp:
52531 (WebCore::InspectorFrontend::addConsoleMessage):
52532 * inspector/front-end/InjectedScript.js:
52533 (injectedScriptConstructor):
52535 2010-02-04 Philippe Normand <pnormand@igalia.com>
52537 Rubber stamped by Xan Lopez.
52539 Missing include, build fix after landing of patch from the bug 34435.
52541 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52543 2010-02-02 Philippe Normand <pnormand@igalia.com>
52545 Reviewed by Gustavo Noronha Silva.
52547 [Gtk] libsoup critical warning in media player http cookies injection code
52548 https://bugs.webkit.org/show_bug.cgi?id=34435
52550 Fixed the critical warning and refactored the
52551 User-Agent/Referer/cookies injection code, in that order. Previous
52552 order (cookies first) was wrong because if cookies injection could
52553 not be done neither the User-Agent nor Referer were injected. Also
52554 started a non-JSC-specific, gtk-specific GOwnPtr module.
52557 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52558 (WebCore::mediaPlayerPrivateSourceChangedCallback):
52559 * platform/gtk/GOwnPtrGtk.cpp: Added.
52562 * platform/gtk/GOwnPtrGtk.h: Added.
52564 2010-02-04 Mikhail Naganov <mnaganov@chromium.org>
52566 Reviewed by Timothy Hatcher.
52568 Put JSC-specific debugger & profiler code under "USE(JSC)" defines.
52569 The plan is to enable "JAVASCRIPT_DEBUGGER" in Chromium and then
52570 make this code engine-agnostic.
52572 https://bugs.webkit.org/show_bug.cgi?id=34531
52574 * inspector/InjectedScriptHost.cpp:
52575 * inspector/InjectedScriptHost.h:
52576 * inspector/InspectorBackend.cpp:
52577 * inspector/InspectorBackend.h:
52578 * inspector/InspectorController.cpp:
52579 (WebCore::InspectorController::InspectorController):
52580 (WebCore::InspectorController::setWindowVisible):
52581 (WebCore::InspectorController::scriptObjectReady):
52582 (WebCore::InspectorController::close):
52583 (WebCore::InspectorController::didCommitLoad):
52584 * inspector/InspectorController.h:
52585 * inspector/InspectorFrontend.cpp:
52586 * inspector/InspectorFrontend.h:
52587 * inspector/JavaScriptCallFrame.cpp:
52588 * inspector/JavaScriptCallFrame.h:
52589 * inspector/JavaScriptDebugListener.h:
52590 * inspector/JavaScriptDebugServer.cpp:
52591 * inspector/JavaScriptDebugServer.h:
52592 * inspector/JavaScriptProfile.cpp:
52593 * inspector/JavaScriptProfile.h:
52594 * inspector/JavaScriptProfileNode.cpp:
52595 * inspector/JavaScriptProfileNode.h:
52596 * loader/FrameLoader.cpp:
52597 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
52599 (WebCore::Page::Page):
52601 2010-02-03 Nicholas Young <nicholas.young@nokia.com>
52603 Reviewed by Eric Carlson.
52605 Defer formatting of times displayed on media controls to the current theme.
52606 https://bugs.webkit.org/show_bug.cgi?id=34405
52608 No new tests needed. Refactoring Only.
52610 * rendering/MediaControlElements.cpp: Removed formatTime()
52611 (WebCore::MediaControlTimeDisplayElement::setCurrentValue): No longer sets inner text
52612 * rendering/MediaControlElements.h:
52613 * rendering/RenderMedia.cpp:
52614 (WebCore::RenderMedia::updateTimeDisplay): Asks the theme to format the time display elements
52615 * rendering/RenderTheme.cpp:
52616 (WebCore::RenderTheme::formatMediaControlsTime): new virtual method
52617 (WebCore::RenderTheme::formatMediaControlsCurrentTime): new virtual method
52618 (WebCore::RenderTheme::formatMediaControlsRemainingTime): new virtual method
52619 * rendering/RenderTheme.h:
52621 2010-02-03 Steve Falkenburg <sfalken@apple.com>
52623 Windows Debug_All build fix.
52625 * platform/graphics/win/WKCACFLayer.cpp:
52627 2010-02-03 Brady Eidson <beidson@apple.com>
52629 Reviewed by Alexey Proskuryakov.
52631 REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
52632 <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550
52634 Tests: fast/loader/document-with-fragment-url-1.html
52635 fast/loader/document-with-fragment-url-2.html
52636 fast/loader/document-with-fragment-url-3.html
52637 fast/loader/document-with-fragment-url-4.html
52639 * platform/KURL.cpp:
52640 (WebCore::KURL::init): When resolving new URL from an empty reference relative to an absolute URL,
52641 any fragment identifier from the absolute URL should be removed from the resulting resolution.
52643 2010-02-03 Kwang Yul Seo <skyul@company100.net>
52645 Reviewed by Eric Seidel.
52647 [BREWMP] Port TextBreakIteratorInternalICU
52648 https://bugs.webkit.org/show_bug.cgi?id=34515
52650 Port TextBreakIteratorInternalICU.
52652 * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added.
52653 (WebCore::currentSearchLocaleID):
52654 (WebCore::currentTextBreakLocaleID):
52656 2010-02-03 Adele Peterson <adele@apple.com>
52658 Reviewed by Simon Fraser.
52660 Fix for <rdar://problem/7594212>
52661 https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
52662 CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319
52664 Test: fast/css/counters/counter-before-selector-crash.html
52666 * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check.
52668 2010-02-03 Adele Peterson <adele@apple.com>
52670 Reviewed by Brady Eidson.
52672 Initialize the variable in the last checkin to false. I didn't realize DRT relies on this being false.
52673 So ports that want visited link tracking need to set that flag.
52675 * page/PageGroup.cpp:
52677 2010-02-03 Adele Peterson <adele@apple.com>
52679 Reviewed by Brady Eidson.
52681 Fix for https://bugs.webkit.org/show_bug.cgi?id=34547
52682 static shouldTrackVisitedLinks is not initialized
52684 For ports that don't call into WebKit to initialize this,
52685 we should initialize to true so they get the visited link behavior by default.
52687 * page/PageGroup.cpp:
52689 2010-02-03 Dan Bernstein <mitz@apple.com>
52691 Reviewed by Simon Fraser.
52693 <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
52694 https://bugs.webkit.org/show_bug.cgi?id=34546
52696 * manual-tests/drag-image-table-part-decorations.html: Added.
52697 * rendering/RenderFieldset.cpp:
52698 (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
52699 paint within the current painting root.
52700 * rendering/RenderTable.cpp:
52701 (WebCore::RenderTable::paintBoxDecorations): Ditto.
52702 * rendering/RenderTableCell.cpp:
52703 (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
52704 (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
52706 2010-02-03 Nate Chapin <japhet@chromium.org>
52708 Unreviewed, Chromium mac build fix.
52710 [V8] Remove unused V8Proxy* variable from generated wrapping code.
52712 * bindings/scripts/CodeGeneratorV8.pm:
52714 2010-02-03 Nate Chapin <japhet@chromium.org>
52716 Reviewed by Dimitri Glazkov.
52718 [V8] Use toV8() to wrap in the custom bindings, and remove
52719 the old wrapping code from V8DOMWrapper.
52721 https://bugs.webkit.org/show_bug.cgi?id=32563
52723 * bindings/scripts/CodeGeneratorV8.pm:
52724 * bindings/v8/ScriptController.cpp:
52725 * bindings/v8/ScriptObject.cpp:
52726 * bindings/v8/V8AbstractEventListener.cpp:
52727 * bindings/v8/V8Collection.h:
52728 * bindings/v8/V8DOMWindowShell.cpp:
52729 * bindings/v8/V8DOMWrapper.cpp:
52730 * bindings/v8/V8DOMWrapper.h:
52731 * bindings/v8/V8NodeFilterCondition.cpp:
52732 * bindings/v8/V8Proxy.cpp:
52733 * bindings/v8/WorkerContextExecutionProxy.h
52734 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
52735 * bindings/v8/custom/V8CustomPositionCallback.cpp:
52736 * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
52737 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
52738 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
52739 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
52740 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
52741 * bindings/v8/custom/V8DOMWindowCustom.cpp:
52742 * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
52743 * bindings/v8/custom/V8DocumentCustom.cpp:
52744 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
52745 * bindings/v8/custom/V8ElementCustom.cpp:
52746 * bindings/v8/custom/V8EventCustom.cpp:
52747 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
52748 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
52749 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
52750 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
52751 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
52752 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
52753 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
52754 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
52755 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
52756 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
52757 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
52758 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
52759 * bindings/v8/custom/V8MessageEventCustom.cpp:
52760 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
52761 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
52762 * bindings/v8/custom/V8NodeListCustom.cpp:
52763 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
52764 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
52765 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
52766 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
52767 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
52768 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
52770 2010-02-03 Sam Weinig <sam@webkit.org>
52772 Reviewed by Anders Carlsson.
52774 Fix drawing buttons in viewless WebKit.
52776 * platform/mac/ThemeMac.mm:
52777 (WebCore::paintButton): If there is no view, make sure to flip the
52778 context so that the button is drawn correctly.
52780 2010-02-03 Yael Aharon <yael.aharon@nokia.com>
52782 Reviewed by Kenneth Rohde Christiansen.
52784 [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
52785 https://bugs.webkit.org/show_bug.cgi?id=34425
52787 Reverting r54279, it was a misunderstanding.
52789 * platform/network/qt/SocketStreamHandlePrivate.h:
52790 * platform/network/qt/SocketStreamHandleQt.cpp:
52791 (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
52792 (WebCore::SocketStreamHandlePrivate::send):
52793 (WebCore::SocketStreamHandlePrivate::close):
52795 2010-02-03 Drew Wilson <atwilson@chromium.org>
52797 Reviewed by Alexey Proskuryakov.
52799 SharedWorkerScriptLoader should not be an ActiveDOMObject
52800 https://bugs.webkit.org/show_bug.cgi?id=34513
52802 Test: Existing tests suffice (fixes test downstream in Chrome).
52804 * workers/DefaultSharedWorkerRepository.cpp:
52805 (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
52806 Changed to no longer derive from ActiveDOMObject (handles its own refcounting).
52807 (WebCore::SharedWorkerScriptLoader::load):
52808 Now increments own refcount when a load is pending.
52809 (WebCore::SharedWorkerScriptLoader::notifyFinished):
52810 Changed to decrement refcount when load is complete.
52811 * workers/WorkerScriptLoaderClient.h:
52812 Documentation change about reliability of notifyFinished() when used from worker context.
52814 2010-02-03 Pavel Feldman <pfeldman@chromium.org>
52816 Reviewed by Timothy Hatcher.
52818 Web Inspector: Inspector renders blank scripts on reloading the webpage.
52820 https://bugs.webkit.org/show_bug.cgi?id=34537
52822 * inspector/front-end/ResourcesPanel.js:
52823 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
52825 2010-02-03 Yury Semikhatsky <yurys@chromium.org>
52827 Reviewed by Pavel Feldman.
52829 Provide strongly typed C++ interface for inspector's injected script.
52831 https://bugs.webkit.org/show_bug.cgi?id=33616
52835 * WebCore.vcproj/WebCore.vcproj:
52836 * WebCore.xcodeproj/project.pbxproj:
52837 * bindings/js/JSInjectedScriptHostCustom.cpp:
52838 (WebCore::InjectedScriptHost::injectedScriptFor):
52839 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
52840 (WebCore::InjectedScriptHost::injectedScriptFor):
52841 * inspector/InjectedScript.cpp: Added.
52842 (WebCore::InjectedScript::InjectedScript):
52843 (WebCore::InjectedScript::dispatch):
52844 (WebCore::InjectedScript::callFrames):
52845 (WebCore::InjectedScript::wrapAndStringify):
52846 (WebCore::InjectedScript::releaseWrapperObjectGroup):
52847 * inspector/InjectedScript.h: Added.
52848 (WebCore::InjectedScript::InjectedScript):
52849 (WebCore::InjectedScript::~InjectedScript):
52850 (WebCore::InjectedScript::hasNoValue):
52851 * inspector/InjectedScriptHost.cpp:
52852 (WebCore::InjectedScriptHost::injectedScriptForId):
52853 (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
52854 * inspector/InjectedScriptHost.h:
52855 * inspector/InspectorBackend.cpp:
52856 (WebCore::InspectorBackend::dispatchOnInjectedScript):
52857 * inspector/InspectorController.cpp:
52858 (WebCore::InspectorController::InspectorController):
52859 (WebCore::InspectorController::~InspectorController):
52860 (WebCore::InspectorController::inspectedPageDestroyed):
52861 (WebCore::InspectorController::windowScriptObjectAvailable):
52862 (WebCore::InspectorController::scriptObjectReady):
52863 (WebCore::InspectorController::setFrontendProxyObject):
52864 (WebCore::InspectorController::close):
52865 (WebCore::InspectorController::getProfile):
52866 (WebCore::InspectorController::enableDebugger):
52867 (WebCore::InspectorController::didPause):
52868 (WebCore::InspectorController::injectedScriptForNodeId):
52869 * inspector/InspectorController.h:
52870 (WebCore::InspectorController::frontendScriptState):
52871 * inspector/InspectorFrontend.cpp:
52872 (WebCore::InspectorFrontend::addConsoleMessage):
52874 2010-02-03 Andras Becsi <abecsi@webkit.org>
52876 Unreviewed build fix.
52878 [Qt] Roll-out r54281 because it broke the build on the Qt Release bot.
52880 * platform/graphics/qt/GraphicsLayerQt.cpp:
52881 (WebCore::GraphicsLayerQtImpl::State::State):
52882 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
52883 (WebCore::GraphicsLayerQtImpl::setBaseTransform):
52884 (WebCore::GraphicsLayerQtImpl::drawContents):
52885 (WebCore::GraphicsLayerQtImpl::notifyChange):
52886 (WebCore::GraphicsLayerQtImpl::flushChanges):
52887 (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
52888 (WebCore::applyTimingFunction):
52889 (WebCore::webkitAnimationToQtAnimationValue):
52890 (WebCore::AnimationQtBase::updateState):
52891 (WebCore::AnimationQt::updateCurrentTime):
52892 (WebCore::TransformAnimationQt::TransformAnimationQt):
52893 (WebCore::TransformAnimationQt::~TransformAnimationQt):
52894 (WebCore::TransformAnimationQt::applyFrame):
52895 (WebCore::TransformAnimationQt::updateState):
52896 (WebCore::OpacityAnimationQt::updateState):
52897 (WebCore::GraphicsLayerQt::pauseAnimation):
52899 2010-02-02 Bryan Yeung <bryeung@google.com>
52901 Reviewed by Darin Adler.
52903 Avoid using an invalidated KURL object in baseURI.
52905 https://bugs.webkit.org/show_bug.cgi?id=34492
52907 This change fixes baseURI for Chromium (where the KURL implementation
52908 does not allow invalid KURLs to carry relative paths). This is
52909 regression tested by
52910 LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
52912 This is a re-application of this patch since it was mistakenly identified as
52913 the cause of a big chromium test regression and rolled out in r54264.
52916 (WebCore::Element::baseURI):
52918 2010-02-02 Joel Stanley <joel@jms.id.au>
52920 Reviewed by David Levin.
52922 [Chromium] Make setCaretBlinkInterval static.
52923 https://bugs.webkit.org/show_bug.cgi?id=31704
52925 This is so it can be called from the newly exposed Chromium API setter
52928 * rendering/RenderThemeChromiumLinux.cpp:
52929 * rendering/RenderThemeChromiumLinux.h:
52931 2010-02-02 Yael Aharon <yael.aharon@nokia.com>
52933 Reviewed by Kenneth Rohde Christiansen.
52935 [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
52936 https://bugs.webkit.org/show_bug.cgi?id=34425
52938 Buffer the sent data in SocketStreamHandlePrivate instead of relying on
52939 the network layer to do it. This is more robust and more consistent with how
52940 Qt's HTTP stack works.
52941 Close the socket in SocketStreamHandlePrivate::close() regardless of its state.
52943 No new tests, since no new functionality is introduced.
52945 * platform/network/qt/SocketStreamHandlePrivate.h:
52946 * platform/network/qt/SocketStreamHandleQt.cpp:
52947 (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
52948 (WebCore::SocketStreamHandlePrivate::send):
52949 (WebCore::SocketStreamHandlePrivate::close):
52950 (WebCore::SocketStreamHandlePrivate::socketBytesWritten):
52952 2010-02-03 Shinichiro Hamaji <hamaji@chromium.org>
52954 Unreviewed revert of r54259 as it seems to break chromium's unit tests.
52955 The tests pass with r54257 but fail with r54260.
52956 As r54258 and r54260 don't touch code, I'm reverting this change.
52958 [V8] Generate toV8 conversion helpers, a la JSC bindings.
52959 https://bugs.webkit.org/show_bug.cgi?id=32563
52961 * bindings/v8/ScriptController.cpp:
52962 (WebCore::ScriptController::processingUserGesture):
52963 (WebCore::createScriptObject):
52964 (WebCore::ScriptController::createScriptObjectForPluginElement):
52965 * bindings/v8/ScriptObject.cpp:
52966 (WebCore::ScriptGlobalObject::set):
52967 * bindings/v8/V8AbstractEventListener.cpp:
52968 (WebCore::V8AbstractEventListener::handleEvent):
52969 * bindings/v8/V8Collection.h:
52970 (WebCore::getV8Object):
52971 (WebCore::toNativeCollection):
52972 (WebCore::getNamedPropertyOfCollection):
52973 (WebCore::collectionNamedPropertyGetter):
52974 (WebCore::getIndexedPropertyOfCollection):
52975 (WebCore::collectionIndexedPropertyGetter):
52976 (WebCore::nodeCollectionIndexedPropertyEnumerator):
52977 (WebCore::collectionIndexedPropertyEnumerator):
52978 (WebCore::collectionStringOrNullIndexedPropertyGetter):
52979 (WebCore::collectionStringIndexedPropertyGetter):
52980 (WebCore::setCollectionIndexedGetter):
52981 (WebCore::setCollectionNamedGetter):
52982 (WebCore::setCollectionStringOrNullIndexedGetter):
52983 (WebCore::setCollectionStringIndexedGetter):
52984 * bindings/v8/V8DOMWindowShell.cpp:
52985 (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
52986 * bindings/v8/V8DOMWrapper.cpp:
52987 (WebCore::downcastSVGPathSeg):
52988 (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
52989 (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
52990 (WebCore::V8DOMWrapper::convertToV8Object):
52991 (WebCore::V8DOMWrapper::instantiateV8Object):
52992 (WebCore::V8DOMWrapper::isDOMEventWrapper):
52993 (WebCore::V8DOMWrapper::htmlElementType):
52994 (WebCore::V8DOMWrapper::svgElementType):
52995 (WebCore::V8DOMWrapper::convertEventToV8Object):
52997 (WebCore::V8DOMWrapper::convertDocumentToV8Object):
52998 (WebCore::V8DOMWrapper::convertNodeToV8Object):
52999 (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
53000 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
53001 (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
53002 (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
53003 (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
53004 (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
53005 (WebCore::V8DOMWrapper::convertWindowToV8Object):
53006 (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
53007 * bindings/v8/V8DOMWrapper.h:
53008 (WebCore::V8DOMWrapper::convertToV8Object):
53009 (WebCore::V8DOMWrapper::convertNodeToV8Object):
53010 (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
53011 (WebCore::V8DOMWrapper::convertEventToV8Object):
53012 (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
53013 (WebCore::V8DOMWrapper::instantiateV8Object):
53014 * bindings/v8/V8NodeFilterCondition.cpp:
53015 (WebCore::V8NodeFilterCondition::acceptNode):
53016 * bindings/v8/V8Proxy.cpp:
53017 (WebCore::V8Proxy::setDOMException):
53018 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
53019 (WebCore::toV8Object):
53020 (WebCore::V8CanvasRenderingContext2D::createPatternCallback):
53021 * bindings/v8/custom/V8CustomPositionCallback.cpp:
53022 (WebCore::V8CustomPositionCallback::handleEvent):
53023 * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
53024 (WebCore::V8CustomPositionErrorCallback::handleEvent):
53025 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
53026 (WebCore::V8CustomSQLStatementCallback::handleEvent):
53027 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
53028 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
53029 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
53030 (WebCore::V8CustomSQLTransactionCallback::handleEvent):
53031 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
53032 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
53033 * bindings/v8/custom/V8DOMWindowCustom.cpp:
53034 (WebCore::V8DOMWindow::openCallback):
53035 (WebCore::V8DOMWindow::indexedPropertyGetter):
53036 (WebCore::V8DOMWindow::namedPropertyGetter):
53037 * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
53038 (WebCore::NAMED_PROPERTY_GETTER):
53039 * bindings/v8/custom/V8DocumentCustom.cpp:
53040 (WebCore::V8Document::evaluateCallback):
53041 (WebCore::V8Document::getCSSCanvasContextCallback):
53042 (WebCore::V8Document::implementationAccessorGetter):
53043 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
53044 (WebCore::V8Document::locationAccessorGetter):
53045 * bindings/v8/custom/V8ElementCustom.cpp:
53046 (WebCore::V8Element::setAttributeNodeCallback):
53047 (WebCore::V8Element::setAttributeNodeNSCallback):
53048 * bindings/v8/custom/V8EventCustom.cpp:
53049 (WebCore::V8Event::dataTransferAccessorGetter):
53050 (WebCore::V8Event::clipboardDataAccessorGetter):
53051 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
53052 (WebCore::getNamedItems):
53053 (WebCore::getItem):
53054 (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
53055 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
53056 (WebCore::V8Custom::v8HTMLAudioElementConstructorCallback):
53057 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
53058 (WebCore::V8HTMLCanvasElement::getContextCallback):
53059 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
53060 (WebCore::getNamedItems):
53061 (WebCore::getItem):
53062 (WebCore::V8HTMLCollection::callAsFunctionCallback):
53063 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
53064 (WebCore::V8HTMLDocument::namedPropertyGetter):
53065 (WebCore::V8HTMLDocument::allAccessorGetter):
53066 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
53067 (WebCore::V8HTMLFormElement::indexedPropertyGetter):
53068 (WebCore::V8HTMLFormElement::namedPropertyGetter):
53069 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
53070 (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
53071 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
53072 (WebCore::V8Custom::v8HTMLImageElementConstructorCallback):
53073 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
53074 (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
53075 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
53076 (WebCore::V8HTMLSelectElement::namedPropertyGetter):
53077 (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
53078 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
53079 (WebCore::createInjectedScript):
53080 (WebCore::V8InjectedScriptHost::nodeForIdCallback):
53081 (WebCore::V8InjectedScriptHost::databaseForIdCallback):
53082 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
53083 (WebCore::V8MessageChannel::constructorCallback):
53084 * bindings/v8/custom/V8MessageEventCustom.cpp:
53085 (WebCore::V8MessageEvent::portsAccessorGetter):
53086 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
53087 (WebCore::V8NamedNodeMap::indexedPropertyGetter):
53088 (WebCore::V8NamedNodeMap::namedPropertyGetter):
53089 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
53091 * bindings/v8/custom/V8NodeListCustom.cpp:
53092 (WebCore::V8NodeList::namedPropertyGetter):
53093 (WebCore::V8NodeList::callAsFunctionCallback):
53094 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
53095 (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
53096 (WebCore::V8NotificationCenter::createNotificationCallback):
53097 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
53098 (WebCore::V8SVGMatrix::multiplyCallback):
53099 (WebCore::V8SVGMatrix::inverseCallback):
53100 (WebCore::V8SVGMatrix::rotateFromVectorCallback):
53101 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
53102 (WebCore::V8StyleSheetList::namedPropertyGetter):
53103 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
53104 (WebCore::toV8Object):
53105 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
53106 (WebCore::toV8Object):
53107 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
53108 (WebCore::V8XSLTProcessor::transformToFragmentCallback):
53109 (WebCore::V8XSLTProcessor::transformToDocumentCallback):
53111 2010-02-03 Mikhail Naganov <mnaganov@chromium.org>
53113 Reviewed by Pavel Feldman.
53115 Start unforking debugger and profiler code.
53117 Remove custom implementation of Console.
53118 Add 'ScriptProfiler' and 'ScriptProfile' types.
53119 Start migration to engine-neutral types in InspectorController.
53121 https://bugs.webkit.org/show_bug.cgi?id=34481
53126 * WebCore.xcodeproj/project.pbxproj:
53127 * bindings/js/JSBindingsAllInOne.cpp:
53128 * bindings/js/JSConsoleCustom.cpp:
53129 * bindings/js/ScriptProfile.h: Added.
53130 * bindings/js/ScriptProfiler.cpp: Added.
53131 (WebCore::ScriptProfiler::start):
53132 (WebCore::ScriptProfiler::stop):
53133 * bindings/js/ScriptProfiler.h: Added.
53134 * bindings/scripts/CodeGeneratorV8.pm:
53135 * bindings/v8/ScriptProfile.h: Added.
53136 (WebCore::ScriptProfile::create):
53137 (WebCore::ScriptProfile::~ScriptProfile):
53138 (WebCore::ScriptProfile::title):
53139 (WebCore::ScriptProfile::uid):
53140 (WebCore::ScriptProfile::ScriptProfile):
53141 * bindings/v8/ScriptProfiler.cpp: Added.
53142 (WebCore::ScriptProfiler::start):
53143 (WebCore::ScriptProfiler::stop):
53144 * bindings/v8/ScriptProfiler.h: Added.
53145 * bindings/v8/custom/V8ConsoleCustom.cpp: Removed.
53146 * inspector/InspectorController.cpp:
53147 (WebCore::InspectorController::endGroup):
53148 (WebCore::InspectorController::show):
53149 (WebCore::InspectorController::setDOMStorageItem):
53150 (WebCore::InspectorController::addProfile):
53151 (WebCore::InspectorController::addProfileFinishedMessageToConsole):
53152 (WebCore::InspectorController::addStartProfilingMessageToConsole):
53153 (WebCore::InspectorController::createProfileHeader):
53154 (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
53155 (WebCore::InspectorController::startUserInitiatedProfiling):
53156 (WebCore::InspectorController::stopUserInitiatedProfiling):
53157 (WebCore::InspectorController::enableDebugger):
53158 (WebCore::InspectorController::specialPanelForJSName):
53159 * inspector/InspectorController.h:
53160 (WebCore::InspectorController::searchingForNodeInPage):
53161 * page/Console.cpp:
53162 (WebCore::Console::profile):
53163 (WebCore::Console::profileEnd):
53166 (WebCore::Console::create):
53167 (WebCore::Console::profiles):
53168 * page/Console.idl:
53170 2010-02-02 Kent Tamura <tkent@chromium.org>
53172 Reviewed by Darin Adler.
53174 Fix a bug that changes for some constraint attributes doesn't
53175 update validation CSS selectors.
53176 https://bugs.webkit.org/show_bug.cgi?id=31716
53178 - Rename HTMLFormControlElement::updateValidity() to setNeedsValidityCheck()
53179 - Introduce HTMLFormControlElement::setNeedsWillValidate()
53180 - Introduce HTMLFormControlElement::m_hasName to make willValidate()
53181 work in parseMappedAttribute().
53182 - We need to call setNeedsValidityCheck() when HTMLInputElement::step or
53183 HTMLTextAreaElement::maxLength is changed.
53185 * html/HTMLFormControlElement.cpp:
53186 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
53187 (WebCore::HTMLFormControlElement::parseMappedAttribute):
53188 (WebCore::HTMLFormControlElement::insertedIntoTree):
53189 (WebCore::HTMLFormControlElement::removedFromTree):
53190 (WebCore::HTMLFormControlElement::formDestroyed):
53191 (WebCore::HTMLFormControlElement::willValidate): Avoids function calls.
53192 (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
53193 (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
53194 * html/HTMLFormControlElement.h:
53195 (WebCore::HTMLFormControlElement::disabled): Move the code from .cpp.
53196 * html/HTMLInputElement.cpp:
53197 (WebCore::HTMLInputElement::setInputType):
53198 (WebCore::HTMLInputElement::parseMappedAttribute):
53199 (WebCore::HTMLInputElement::setValue):
53200 (WebCore::HTMLInputElement::setValueFromRenderer):
53201 (WebCore::HTMLInputElement::setFileListFromRenderer):
53202 * html/HTMLTextAreaElement.cpp:
53203 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
53204 (WebCore::HTMLTextAreaElement::setValue):
53205 * rendering/RenderTextControlMultiLine.cpp:
53206 (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
53208 2010-02-02 Roland Steiner <rolandsteiner@chromium.org>
53210 Reviewed by Adele Peterson.
53212 Bug 34198 - Ruby text should not inherit line-height
53213 (https://bugs.webkit.org/show_bug.cgi?id=34198)
53215 Resetting line-height to 'normal' in the default UA style sheet.
53216 Adding layout-test to check for this.
53218 Test: fast/ruby/ruby-line-height.html
53222 2010-02-02 James Robinson <jamesr@chromium.org>
53224 Reviewed by Dmitry Titov.
53226 Add a null check for image, which might be NULL if tileSize is empty
53227 https://bugs.webkit.org/show_bug.cgi?id=34510
53229 Test: fast/gradients/crash-on-1px-border.html
53231 * rendering/RenderBoxModelObject.cpp:
53232 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
53234 2010-02-02 Kent Tamura <tkent@chromium.org>
53236 Reviewed by Darin Adler.
53238 rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
53239 month, time and week
53240 https://bugs.webkit.org/show_bug.cgi?id=34483
53242 Tests: fast/forms/ValidityState-rangeOverflow.html
53243 fast/forms/ValidityState-rangeUnderflow.html
53245 * html/HTMLInputElement.cpp:
53246 Defines the hard limits for the types as double values.
53247 (WebCore::HTMLInputElement::rangeUnderflow): Supports the types.
53248 (WebCore::HTMLInputElement::rangeOverflow): Supports the types.
53249 (WebCore::HTMLInputElement::minimum): Supports the types.
53250 (WebCore::HTMLInputElement::maximum): Supports the types.
53252 2010-02-02 Fumitoshi Ukai <ukai@chromium.org>
53254 Reviewed by Alexey Proskuryakov.
53256 WebSocket set pending activity to avoid unexpected GC.
53257 https://bugs.webkit.org/show_bug.cgi?id=34014
53259 Test: websocket/tests/websocket-pending-activity.html
53261 * websockets/WebSocket.cpp:
53262 (WebCore::WebSocket::connect): set pending activity until it receives didClose.
53263 (WebCore::WebSocket::contextDestroyed): check socket is already closed.
53264 (WebCore::WebSocket::stop): close the connection and unset pending activity when it stops.
53265 (WebCore::WebSocket::didClose): unset pending activity.
53266 * websockets/WebSocket.h:
53267 * websockets/WebSocketChannel.cpp:
53268 (WebCore::WebSocketChannel::didReceiveData): protect this while it processes received data.
53270 2010-02-02 Gustavo Noronha Silva <gns@gnome.org>
53272 No review, rolling out r54261.
53273 http://trac.webkit.org/changeset/54261
53274 https://bugs.webkit.org/show_bug.cgi?id=34435
53276 Causes crashes on release builds
53279 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
53280 (WebCore::mediaPlayerPrivateSourceChangedCallback):
53281 * platform/gtk/GOwnPtrGtk.cpp: Removed.
53282 * platform/gtk/GOwnPtrGtk.h: Removed.
53284 2010-02-02 David Levin <levin@chromium.org>
53286 No review, rolling out r54245.
53287 http://trac.webkit.org/changeset/54245
53288 https://bugs.webkit.org/show_bug.cgi?id=34492
53290 This patch seems to have broken thousands of chromium tests on
53291 Windows (and since it was for chromium, I'm rolling it out).
53294 (WebCore::Element::baseURI):
53296 2010-02-02 Steve Falkenburg <sfalken@apple.com>
53298 Reviewed by Darin Adler.
53300 Copyright year updating for Windows version resources should be automatic
53301 https://bugs.webkit.org/show_bug.cgi?id=34503
53303 * WebCore.vcproj/QTMovieWin.rc:
53305 2010-02-02 Dimitri Glazkov <dglazkov@chromium.org>
53307 No review, rolling out r54257.
53308 http://trac.webkit.org/changeset/54257
53309 https://bugs.webkit.org/show_bug.cgi?id=34491
53311 [Chromium] broke thousands of Win tests and a few of Linux tests.
53313 * platform/graphics/skia/GraphicsContextSkia.cpp:
53314 (WebCore::GraphicsContext::beginTransparencyLayer):
53315 * platform/graphics/skia/PlatformContextSkia.cpp:
53316 (PlatformContextSkia::applyAntiAliasedClipPaths):
53317 * platform/graphics/skia/PlatformContextSkia.h:
53319 2010-02-02 Philippe Normand <pnormand@igalia.com>
53321 Reviewed by Gustavo Noronha Silva.
53323 [Gtk] libsoup critical warning in media player http cookies injection code
53324 https://bugs.webkit.org/show_bug.cgi?id=34435
53326 Fixed the critical warning and refactored the
53327 User-Agent/Referer/cookies injection code, in that order. Previous
53328 order (cookies first) was wrong because if cookies injection could
53329 not be done neither the User-Agent not Referer were injected. Also
53330 started a non-JSC-specific, gtk-specific GOwnPtr module.
53333 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
53334 (WebCore::mediaPlayerPrivateSourceChangedCallback):
53335 * platform/gtk/GOwnPtrGtk.cpp: Added.
53338 * platform/gtk/GOwnPtrGtk.h: Added.
53340 2010-02-02 Nate Chapin <japhet@chromium.org>
53342 Reviewed by Dimitri Glazkov.
53344 [V8] Use toV8() to wrap in the custom bindings, and remove
53345 the old wrapping code from V8DOMWrapper.
53347 https://bugs.webkit.org/show_bug.cgi?id=32563
53349 * bindings/v8/ScriptController.cpp:
53350 * bindings/v8/ScriptObject.cpp:
53351 * bindings/v8/V8AbstractEventListener.cpp:
53352 * bindings/v8/V8Collection.h:
53353 * bindings/v8/V8DOMWindowShell.cpp:
53354 * bindings/v8/V8DOMWrapper.cpp:
53355 * bindings/v8/V8DOMWrapper.h:
53356 * bindings/v8/V8NodeFilterCondition.cpp:
53357 * bindings/v8/V8Proxy.cpp:
53358 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
53359 * bindings/v8/custom/V8CustomPositionCallback.cpp:
53360 * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
53361 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
53362 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
53363 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
53364 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
53365 * bindings/v8/custom/V8DOMWindowCustom.cpp:
53366 * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
53367 * bindings/v8/custom/V8DocumentCustom.cpp:
53368 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
53369 * bindings/v8/custom/V8ElementCustom.cpp:
53370 * bindings/v8/custom/V8EventCustom.cpp:
53371 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
53372 * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
53373 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
53374 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
53375 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
53376 * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
53377 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
53378 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
53379 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
53380 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
53381 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
53382 * bindings/v8/custom/V8MessageChannelConstructor.cpp:
53383 * bindings/v8/custom/V8MessageEventCustom.cpp:
53384 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
53385 * bindings/v8/custom/V8NodeIteratorCustom.cpp:
53386 * bindings/v8/custom/V8NodeListCustom.cpp:
53387 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
53388 * bindings/v8/custom/V8SVGMatrixCustom.cpp:
53389 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
53390 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
53391 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
53392 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
53394 2010-02-02 Garret Kelly <gdk@chromium.org>
53396 Reviewed by David Levin.
53398 When using the Skia graphics context, the beginTransparencyLayer call
53399 currently creates a new layer, but does not keep the current
53400 compositing mode for use when merging the created layer back onto the
53401 rest of the context. This patch fixes that.
53402 https://bugs.webkit.org/show_bug.cgi?id=34491
53404 fast/backgrounds/svg-as-mask.html is affected by this change in Chromium,
53405 but not fixed. This is the first of a series of patches to fix it.
53407 * platform/graphics/skia/GraphicsContextSkia.cpp:
53408 (WebCore::GraphicsContext::beginTransparencyLayer):
53409 * platform/graphics/skia/PlatformContextSkia.cpp:
53410 (PlatformContextSkia::beginTransparencyLayer):
53411 * platform/graphics/skia/PlatformContextSkia.h:
53413 2010-02-02 Kwang Yul Seo <skyul@company100.net>
53415 Reviewed by Eric Seidel.
53417 Use WTF::getLocalTime instead of localtime_r in FTPDirectoryDocument
53418 https://bugs.webkit.org/show_bug.cgi?id=34409
53420 Platform guards for localtime_r are not needed because we already have
53421 WTF::getLocalTime which does the same thing.
53423 * loader/FTPDirectoryDocument.cpp:
53424 (WebCore::processFileDateString):
53425 * loader/FTPDirectoryParser.cpp:
53426 (WebCore::gmtimeQt):
53428 2010-02-02 Adam Roben <aroben@apple.com>
53430 Copy WebCore's bindings generation scripts to the PrivateHeaders
53433 This will allow other projects to use these scripts.
53435 Fixes <http://webkit.org/b/34498>.
53437 Reviewed by Mark Rowe.
53439 * WebCore.xcodeproj/project.pbxproj: Added the bindings generation
53440 scripst to the Copy Headers phase, and marked them as Private.
53442 2010-02-02 Adam Roben <aroben@apple.com>
53444 Copy WebCore's bindings generation scripts to a more sensible location
53446 Part of Bug 34496: Clean up WebCore's IDL/script copying
53447 <https://bugs.webkit.org/show_bug.cgi?id=34496>
53449 Reviewed by Steve Falkenburg.
53451 * WebCore.vcproj/WebCore.make:
53452 * WebCore.vcproj/WebCoreGenerated.vcproj:
53453 Instead of copying to obj/WebKit/DOMInterfaces, copy to obj/WebCore/scripts.
53455 2010-02-02 Adam Roben <aroben@apple.com>
53457 Rename the scripts used to copy WebCore's bindings generation scripts
53459 Part of Bug 34496: Clean up WebCore's IDL/script copying
53460 <https://bugs.webkit.org/show_bug.cgi?id=34496>
53462 Reviewed by Steve Falkenburg.
53464 * WebCore.vcproj/MigrateScripts: Renamed from WebCore/WebCore.vcproj/MigrateIDLAndScripts.
53465 * WebCore.vcproj/migrate-scripts.sh: Renamed from WebCore/WebCore.vcproj/migrate-idls.sh.
53467 * WebCore.vcproj/WebCoreGenerated.vcproj: Updated for renames.
53469 2010-02-02 Adam Roben <aroben@apple.com>
53471 Stop copying IDL files into $(WebKitOutputDir)
53473 No one uses these anymore (as of r52921).
53475 Part of Bug 34496: Clean up WebCore's IDL/script copying
53476 <https://bugs.webkit.org/show_bug.cgi?id=34496>
53478 Reviewed by Steve Falkenburg.
53480 * WebCore.vcproj/MigrateIDLAndScripts: Don't copy the IDL files
53481 anymore. Keep copying the scripts, though, since other projects
53482 (outside of the WebKit repository) do use those.
53484 2010-02-02 Bryan Yeung <bryeung@google.com>
53486 Reviewed by Darin Adler.
53488 Avoid using an invalidated KURL object in baseURI.
53490 https://bugs.webkit.org/show_bug.cgi?id=34492
53492 This change fixes baseURI for Chromium (where the KURL implementation
53493 does not allow invalid KURLs to carry relative paths). This is
53494 regression tested by
53495 LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
53498 (WebCore::Element::baseURI):
53500 2010-02-02 Alexey Proskuryakov <ap@apple.com>
53502 Reviewed by Darin Adler.
53504 https://bugs.webkit.org/show_bug.cgi?id=34076
53505 <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute
53507 Test: fast/forms/misplaced-img-form-registration.html
53509 * html/HTMLFormElement.cpp:
53510 (WebCore::HTMLFormElement::registerImgElement): Assert that the same image isn't added
53512 (WebCore::HTMLFormElement::removeImgElement): Similarly, assert that we're removing something
53513 that's actually registered.
53515 * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::~HTMLImageElement): If parser fails
53516 to insert the image element, then there will be no removed from tree notification either,
53517 need to unregister right away.
53519 2010-02-02 Alexander Pavlov <apavlov@chromium.org>
53521 Reviewed by Pavel Feldman.
53523 Web Inspector: Eliminate some of the platform flavor-specific stylesheet selectors
53525 Extract OS version into WebInspector.platformFlavor
53526 https://bugs.webkit.org/show_bug.cgi?id=34469
53528 * inspector/front-end/InspectorBackendStub.js:
53529 * inspector/front-end/InspectorFrontendHostStub.js:
53530 (.WebInspector.InspectorFrontendHostStub.prototype.platform):
53531 * inspector/front-end/inspector.css:
53532 * inspector/front-end/inspector.js:
53533 (WebInspector.pendingDispatches.0.URLRegExp.i.get platform):
53534 (WebInspector.get platformFlavor):
53535 (WebInspector._detectPlatformFlavor):
53536 (WebInspector.loaded):
53537 (WebInspector.toolbarDragStart):
53538 (WebInspector.isMac):
53540 2010-02-02 Steve Block <steveblock@google.com>
53542 Reviewed by Ariya Hidayat.
53544 Adds utility functions for converting between JavaInstance and NPAPI types
53545 https://bugs.webkit.org/show_bug.cgi?id=34468
53547 This is required by Android for injecting objects into V8 JavaScript.
53549 No new tests, added utility functions only.
53551 * Android.v8bindings.mk: Modified. Added JavaNPObjectV8.cpp
53552 * bridge/jni/v8/JavaNPObjectV8.cpp: Added.
53553 (JSC::Bindings::AllocJavaNPObject):
53554 (JSC::Bindings::FreeJavaNPObject):
53556 (JSC::Bindings::JavaInstanceToNPObject):
53557 (JSC::Bindings::ExtractJavaInstance):
53558 (JSC::Bindings::JavaNPObjectHasMethod):
53559 (JSC::Bindings::JavaNPObjectInvoke):
53560 (JSC::Bindings::JavaNPObjectHasProperty):
53561 (JSC::Bindings::JavaNPObjectGetProperty):
53562 * bridge/jni/v8/JavaNPObjectV8.h: Added.
53564 2010-02-02 Benjamin Poulain <benjamin.poulain@nokia.com>
53566 Reviewed by Ariya Hidayat.
53568 [Qt] Symbian plugins include a wrong header file for QPixmap
53569 https://bugs.webkit.org/show_bug.cgi?id=34475
53571 * plugins/symbian/PluginViewSymbian.cpp:
53573 2010-02-02 Pavel Feldman <pfeldman@chromium.org>
53575 Reviewed by Timothy Hatcher.
53577 Web Inspector: URLs are not syntax-higlighted as links in source view.
53579 This change enables linkifier in the NativeTextViewer. It adds
53580 "linkify" and "a_node" parse states into the highlighter in order
53581 to detect links and distinguish between resource and external ones.
53582 Contains drive-by fix for the webkit-html-* styles and moves them to the
53585 https://bugs.webkit.org/show_bug.cgi?id=34364
53587 * inspector/front-end/NativeTextViewer.js:
53588 (WebInspector.NativeTextViewer):
53589 (WebInspector.NativeTextViewer.prototype._createSpan):
53590 (WebInspector.NativeTextViewer.prototype._createLink):
53591 (WebInspector.NativeTextViewer.prototype._rewriteHref):
53592 * inspector/front-end/SourceFrame.js:
53593 (WebInspector.SourceFrame.prototype.setContent):
53594 (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
53595 * inspector/front-end/SourceHTMLTokenizer.js:
53596 (WebInspector.SourceHTMLTokenizer):
53597 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
53598 (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
53599 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
53600 (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
53601 (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
53602 (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
53603 (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
53604 * inspector/front-end/SourceHTMLTokenizer.re2js:
53605 * inspector/front-end/SourceView.js:
53606 (WebInspector.SourceView.prototype._contentLoaded):
53607 * inspector/front-end/TextEditorHighlighter.js:
53608 (WebInspector.TextEditorHighlighter):
53609 * inspector/front-end/inspector.css:
53610 * inspector/front-end/inspectorSyntaxHighlight.css:
53612 2010-02-02 Simon Hausmann <simon.hausmann@nokia.com>
53614 Reviewed by Ariya Hidayat.
53616 [Qt] Install libraries and headers in package builds
53617 https://bugs.webkit.org/show_bug.cgi?id=34325
53619 Add the QtWebKit libraries to the installable items, except on
53620 Symbian where the libraries are always linked in their final
53623 Also include the headers generated by syncqt in the installation.
53627 2010-02-02 Kavita Kanetkar <kkanetkar@chromium.org>
53629 Reviewed by Dmitry Titov.
53631 [V8] Raising an exception while setting timeout/interval from a detached frame
53632 https://bugs.webkit.org/show_bug.cgi?id=34453
53633 This fixes the issue/failing test mentioned in Chromium bug:
53634 http://code.google.com/p/chromium/issues/detail?id=32671
53637 * bindings/v8/custom/V8DOMWindowCustom.cpp:
53638 (WebCore::WindowSetTimeoutImpl):
53640 2010-02-02 Kwang Yul Seo <skyul@company100.net>
53642 Reviewed by Eric Seidel.
53644 [BREWMP] Port Screen
53645 https://bugs.webkit.org/show_bug.cgi?id=34299
53647 Get the screen size and depth from the main display bitmap.
53649 * platform/brew/ScreenBrew.cpp: Added.
53650 (WebCore::getDisplayInfo):
53651 (WebCore::screenRect):
53652 (WebCore::screenAvailableRect):
53653 (WebCore::screenDepth):
53654 (WebCore::screenDepthPerComponent):
53655 (WebCore::screenIsMonochrome):
53657 2010-02-02 Kwang Yul Seo <skyul@company100.net>
53659 Reviewed by Eric Seidel.
53661 [BREWMP] Port LocalizedStrings
53662 https://bugs.webkit.org/show_bug.cgi?id=34257
53664 Port LocalizedStrings to BREWMP.
53666 * platform/brew/LocalizedStringsBrew.cpp: Added.
53667 (WebCore::submitButtonDefaultLabel):
53668 (WebCore::inputElementAltText):
53669 (WebCore::resetButtonDefaultLabel):
53670 (WebCore::defaultLanguage):
53671 (WebCore::searchableIndexIntroduction):
53672 (WebCore::fileButtonChooseFileLabel):
53673 (WebCore::fileButtonNoFileSelectedLabel):
53674 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
53675 (WebCore::contextMenuItemTagDownloadLinkToDisk):
53676 (WebCore::contextMenuItemTagCopyLinkToClipboard):
53677 (WebCore::contextMenuItemTagOpenImageInNewWindow):
53678 (WebCore::contextMenuItemTagDownloadImageToDisk):
53679 (WebCore::contextMenuItemTagCopyImageToClipboard):
53680 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
53681 (WebCore::contextMenuItemTagCopy):
53682 (WebCore::contextMenuItemTagGoBack):
53683 (WebCore::contextMenuItemTagGoForward):
53684 (WebCore::contextMenuItemTagStop):
53685 (WebCore::contextMenuItemTagReload):
53686 (WebCore::contextMenuItemTagCut):
53687 (WebCore::contextMenuItemTagPaste):
53688 (WebCore::contextMenuItemTagNoGuessesFound):
53689 (WebCore::contextMenuItemTagIgnoreSpelling):
53690 (WebCore::contextMenuItemTagLearnSpelling):
53691 (WebCore::contextMenuItemTagSearchWeb):
53692 (WebCore::contextMenuItemTagLookUpInDictionary):
53693 (WebCore::contextMenuItemTagOpenLink):
53694 (WebCore::contextMenuItemTagIgnoreGrammar):
53695 (WebCore::contextMenuItemTagSpellingMenu):
53696 (WebCore::contextMenuItemTagShowSpellingPanel):
53697 (WebCore::contextMenuItemTagCheckSpelling):
53698 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
53699 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
53700 (WebCore::contextMenuItemTagFontMenu):
53701 (WebCore::contextMenuItemTagBold):
53702 (WebCore::contextMenuItemTagItalic):
53703 (WebCore::contextMenuItemTagUnderline):
53704 (WebCore::contextMenuItemTagOutline):
53705 (WebCore::contextMenuItemTagWritingDirectionMenu):
53706 (WebCore::contextMenuItemTagDefaultDirection):
53707 (WebCore::contextMenuItemTagLeftToRight):
53708 (WebCore::contextMenuItemTagRightToLeft):
53709 (WebCore::contextMenuItemTagInspectElement):
53710 (WebCore::searchMenuNoRecentSearchesText):
53711 (WebCore::searchMenuRecentSearchesText):
53712 (WebCore::searchMenuClearRecentSearchesText):
53713 (WebCore::unknownFileSizeText):
53714 (WebCore::AXWebAreaText):
53715 (WebCore::AXLinkText):
53716 (WebCore::AXListMarkerText):
53717 (WebCore::AXImageMapText):
53718 (WebCore::AXHeadingText):
53719 (WebCore::imageTitle):
53720 (WebCore::contextMenuItemTagTextDirectionMenu):
53721 (WebCore::AXButtonActionVerb):
53722 (WebCore::AXTextFieldActionVerb):
53723 (WebCore::AXRadioButtonActionVerb):
53724 (WebCore::AXCheckedCheckBoxActionVerb):
53725 (WebCore::AXUncheckedCheckBoxActionVerb):
53726 (WebCore::AXLinkActionVerb):
53727 (WebCore::AXMenuListPopupActionVerb):
53728 (WebCore::AXMenuListActionVerb):
53729 (WebCore::AXDefinitionListTermText):
53730 (WebCore::AXDefinitionListDefinitionText):
53731 (WebCore::validationMessageValueMissingText):
53732 (WebCore::validationMessageTypeMismatchText):
53733 (WebCore::validationMessagePatternMismatchText):
53734 (WebCore::validationMessageTooLongText):
53735 (WebCore::validationMessageRangeUnderflowText):
53736 (WebCore::validationMessageRangeOverflowText):
53737 (WebCore::validationMessageStepMismatchText):
53739 2010-02-02 Kwang Yul Seo <skyul@company100.net>
53741 Reviewed by Eric Seidel.
53743 [BREWMP] Port systemBeep
53744 https://bugs.webkit.org/show_bug.cgi?id=33601
53746 Implement systemBeep with IShell_Beep.
53748 * platform/brew/SoundBrew.cpp: Added.
53749 (WebCore::systemBeep):
53751 2010-02-02 Shinichiro Hamaji <hamaji@chromium.org>
53753 Reviewed by Eric Seidel.
53755 [Win] Utilize PrintContext to share the printing code with other ports
53756 https://bugs.webkit.org/show_bug.cgi?id=34312
53758 No new tests as this is just a small refactoring.
53760 2010-02-02 Kwang Yul Seo <skyul@company100.net>
53762 Reviewed by Eric Seidel.
53764 [BREWMP] Add conversions between IntPoint and AEEPoint
53765 https://bugs.webkit.org/show_bug.cgi?id=34194
53767 Make it easy to convert between IntPoint and AEEPoint.
53769 * platform/graphics/IntPoint.h:
53770 * platform/graphics/brew/IntPointBrew.cpp: Added.
53771 (WebCore::IntPoint::IntPoint):
53772 (WebCore::IntPoint::operator AEEPoint):
53774 2010-02-02 Steve Block <steveblock@google.com>
53776 Reviewed by Adam Barth.
53778 Adds virtual destructors for AbstractWeakReferenceMap and AbstractWeakReferenceMap::Visitor
53779 https://bugs.webkit.org/show_bug.cgi?id=34434
53781 No new tests, build fix only.
53783 * bindings/v8/V8DOMMap.h: Modified.
53784 (WebCore::AbstractWeakReferenceMap::~AbstractWeakReferenceMap): Added.
53785 (WebCore::AbstractWeakReferenceMap::Visitor::~Visitor): Added.
53787 2010-02-02 Avi Drissman <avi@chromium.org>
53789 Reviewed by Eric Seidel.
53791 Sync up Chromium Mac render theme to Mac render theme
53792 https://bugs.webkit.org/show_bug.cgi?id=34340
53794 Covered by existing layout tests.
53796 * platform/chromium/ThemeChromiumMac.mm:
53797 (WebCore::updateStates):
53798 (WebCore::checkbox):
53799 (WebCore::paintCheckbox):
53801 (WebCore::paintRadio):
53802 (WebCore::listButtonSizes):
53803 (WebCore::setupButtonCell):
53805 (WebCore::paintButton):
53806 (WebCore::ThemeChromiumMac::controlSize):
53807 (WebCore::ThemeChromiumMac::minimumControlSize):
53808 (WebCore::ThemeChromiumMac::controlBorder):
53809 (WebCore::ThemeChromiumMac::paint):
53810 * rendering/RenderThemeChromiumMac.h:
53811 * rendering/RenderThemeChromiumMac.mm:
53812 (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
53813 (WebCore::convertNSColorToColor):
53814 (WebCore::RenderThemeChromiumMac::systemColor):
53815 (WebCore::RenderThemeChromiumMac::isControlStyled):
53816 (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
53817 (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
53818 (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
53819 (WebCore::RenderThemeChromiumMac::paintMenuList):
53820 (WebCore::RenderThemeChromiumMac::paintMenuListButton):
53821 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
53822 (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
53823 (WebCore::RenderThemeChromiumMac::paintSliderTrack):
53824 (WebCore::RenderThemeChromiumMac::paintSliderThumb):
53825 (WebCore::RenderThemeChromiumMac::paintSearchField):
53826 (WebCore::RenderThemeChromiumMac::setSearchFieldSize):
53827 (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
53828 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
53829 (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
53830 (WebCore::RenderThemeChromiumMac::popupButton):
53831 (WebCore::RenderThemeChromiumMac::sliderThumbHorizontal):
53832 (WebCore::RenderThemeChromiumMac::sliderThumbVertical):
53834 2010-02-02 Kwang Yul Seo <skyul@company100.net>
53836 Reviewed by Eric Seidel.
53838 [BREWMP] Port Logging
53839 https://bugs.webkit.org/show_bug.cgi?id=34300
53841 Log calls to notImplemented() by default.
53843 * platform/brew/LoggingBrew.cpp: Added.
53844 (WebCore::InitializeLoggingChannelsIfNecessary):
53846 2010-02-02 Kwang Yul Seo <skyul@company100.net>
53848 Reviewed by Eric Seidel.
53850 [BREWMP] Port FileChooser
53851 https://bugs.webkit.org/show_bug.cgi?id=34261
53853 Port FileChooser to BREWMP.
53855 * platform/brew/FileChooserBrew.cpp: Added.
53856 (WebCore::FileChooser::basenameForWidth):
53858 2010-02-01 Zoltan Horvath <zoltan@webkit.org>
53860 Reviewed by Darin Adler.
53862 Allow custom memory allocation control for IconDatabaseClient class
53863 https://bugs.webkit.org/show_bug.cgi?id=33252
53865 Inherits the following struct from Noncopyable because it is
53866 instantiated by 'new' and no need to be copyable:
53868 class name - instantiated at: WebCore/'location'
53869 class IconDatabaseClient - loader/icon/IconDatabase.cpp:89
53871 * loader/icon/IconDatabaseClient.h:
53873 2010-02-01 Kwang Yul Seo <skyul@company100.net>
53875 Reviewed by Eric Seidel.
53877 [BREWMP] Port MIMETypeRegistry
53878 https://bugs.webkit.org/show_bug.cgi?id=34220
53880 Port MIMETypeRegistry with an extension map as other ports do.
53882 * platform/brew: Added.
53883 * platform/brew/MIMETypeRegistryBrew.cpp: Added.
53885 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
53887 2010-02-01 Dmitry Titov <dimich@chromium.org>
53889 Not reviewed, revert r54194 that fails new test on Qt and Chromium.
53890 https://bugs.webkit.org/show_bug.cgi?id=34382
53892 * html/HTMLFrameElementBase.cpp:
53893 (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
53894 (WebCore::HTMLFrameElementBase::insertedIntoDocument):
53895 * html/HTMLFrameElementBase.h:
53899 2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
53901 Reviewed by Eric Seidel.
53903 Provide a way to get page number with layoutTestController
53904 https://bugs.webkit.org/show_bug.cgi?id=33840
53906 Test: printing/page-break-always.html
53908 * WebCore.base.exp:
53909 * WebCore.xcodeproj/project.pbxproj:
53910 * page/PrintContext.cpp:
53911 (WebCore::PrintContext::pageRect): Added a getter function.
53912 (WebCore::PrintContext::computePageRects): Move its logic into computePageRectsWithPageSize.
53913 (WebCore::PrintContext::computePageRectsWithPageSize): Factored out from computePageRects for pageNumberForElement.
53914 (WebCore::enclosingBoxModelObject): Added for pageNumberForElement.
53915 (WebCore::PrintContext::pageNumberForElement): Added for testing.
53916 * page/PrintContext.h:
53918 2010-02-01 Kwang Yul Seo <skyul@company100.net>
53920 Reviewed by Eric Seidel.
53922 [BREWMP] Add conversions between IntSize and AEESize
53923 https://bugs.webkit.org/show_bug.cgi?id=34197
53925 Make it easy to convert between IntSize and AEESize.
53927 * platform/graphics/IntSize.h:
53928 * platform/graphics/brew/IntSizeBrew.cpp: Added.
53929 (WebCore::IntSize::IntSize):
53930 (WebCore::IntSize::operator AEESize):
53932 2010-02-01 Stephen White <senorblanco@chromium.org>
53934 Reviewed by Eric Seidel.
53936 Fix for Pattern transformations in Chromium/Skia. This required
53937 reworking Pattern a bit to be more like the Gradient implementation.
53938 In particular, it now holds an m_pattern reference to the
53939 platform-specific implementation, and passes along changes to the
53940 m_patternSpaceTransformation, in the same way that Gradient does for
53941 m_gradientSpaceTransformation. This is necessary since Skia creates the
53942 platform-specific pattern (SkShader) once, rather than recreating it
53944 For platforms other than Skia, m_pattern is unused, they will
53945 continue to use the static createPlatformPattern(), and the new
53946 notification functions are stubbed out. Other platforms can switch to
53947 the new implementation if they so choose.
53949 https://bugs.webkit.org/show_bug.cgi?id=24534
53951 Covered by svg/custom/pattern-y-offset.svg,
53952 svg/custom/pattern-cycle-detection.svg, and many more.
53954 * platform/graphics/Pattern.cpp:
53955 (WebCore::Pattern::Pattern):
53956 Initializer for m_pattern.
53957 (WebCore::Pattern::~Pattern):
53958 call platformDestroy().
53959 (WebCore::Pattern::setPatternSpaceTransform):
53960 Pass along the transform via setPlatformPatternSpaceTransform().
53961 (WebCore::Pattern::platformDestroy):
53962 (WebCore::Pattern::setPlatformPatternSpaceTransform):
53963 Stub implementations for non-skia platforms.
53964 * platform/graphics/Pattern.h:
53965 * platform/graphics/skia/GraphicsContextSkia.cpp:
53966 (WebCore::GraphicsContext::setPlatformFillPattern):
53967 (WebCore::GraphicsContext::setPlatformStrokePattern):
53968 Call platformPattern() instead of static version.
53969 Since Pattern now owns its SkShader, no need to unref here.
53970 * platform/graphics/skia/PatternSkia.cpp:
53971 (WebCore::Pattern::platformDestroy):
53972 Unref the SkShader on destroy.
53973 (WebCore::Pattern::platformPattern):
53974 Create the platform pattern (SkShader) once, and cache it.
53975 (WebCore::Pattern::setPlatformPatternSpaceTransform):
53976 Set the shader's local matrix from the m_patternSpaceTransformation.
53978 2010-02-01 Daniel Bates <dbates@webkit.org>
53980 Reviewed by Adam Barth.
53982 https://bugs.webkit.org/show_bug.cgi?id=27312
53984 Implements support for full page blocking via the X-XSS-Protection header.
53986 Tests: http/tests/security/xssAuditor/full-block-base-href.html
53987 http/tests/security/xssAuditor/full-block-get-from-iframe.html
53988 http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
53989 http/tests/security/xssAuditor/full-block-iframe-no-inherit.php
53990 http/tests/security/xssAuditor/full-block-javascript-link.html
53991 http/tests/security/xssAuditor/full-block-link-onclick.html
53992 http/tests/security/xssAuditor/full-block-object-tag.html
53993 http/tests/security/xssAuditor/full-block-post-from-iframe.html
53994 http/tests/security/xssAuditor/full-block-script-tag-with-source.html
53995 http/tests/security/xssAuditor/full-block-script-tag.html
53996 http/tests/security/xssAuditor/malformed-xss-protection-header.html
53998 * page/XSSAuditor.cpp:
53999 (WebCore::XSSAuditor::shouldFullPageBlockForXSSProtectionHeader): Added.
54000 (WebCore::XSSAuditor::findInRequest): Modified to call method
54001 XSSAuditor::shouldFullPageBlockForXSSProtectionHeader.
54002 * page/XSSAuditor.h: Defined method shouldFullPageBlockForXSSProtectionHeader
54003 and fixed misspelled words in large comment block.
54005 2010-02-01 Kwang Yul Seo <skyul@company100.net>
54007 Reviewed by Eric Seidel.
54009 [BREWMP] Port SharedTimer with IShell_SetTimerEx.
54010 https://bugs.webkit.org/show_bug.cgi?id=33599
54012 As fireTime passed in setSharedTimerFireTime is the absolute time,
54013 we must calcalute the interval by subtracting currentTime() from
54014 fireTime and pass the result to ISHELL_SetTimerEx.
54016 * platform/brew/SharedTimerBrew.cpp: Added.
54017 (WebCore::invokeCallback):
54018 (WebCore::setSharedTimerFiredFunction):
54019 (WebCore::setSharedTimerFireTime):
54020 (WebCore::stopSharedTimer):
54022 2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
54024 [Chromium] Unreviewed attempt to fix the chromium build.
54026 Corresponding change: http://trac.webkit.org/changeset/54182
54028 * bindings/scripts/CodeGeneratorV8.pm:
54029 * bindings/v8/ScriptController.cpp:
54030 (WebCore::ScriptController::processingUserGesture):
54031 * bindings/v8/ScriptController.h:
54033 2010-02-01 Dmitry Titov <dimich@chromium.org>
54035 Reviewed by David Levin.
54037 When a live iframe element is moved between pages, it still depends on the old page.
54038 https://bugs.webkit.org/show_bug.cgi?id=34382
54040 Test: fast/frames/iframe-reparenting-new-page.html
54042 * html/HTMLFrameElementBase.cpp:
54043 (WebCore::HTMLFrameElementBase::setName):
54044 Move the code setting the frame name into a separate function.
54046 (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
54047 (WebCore::HTMLFrameElementBase::updateLiveFrame):
54048 Update frame tree, reset page in the contentFrame and re-set the name.
54050 (WebCore::HTMLFrameElementBase::insertedIntoDocument):
54051 * html/HTMLFrameElementBase.h:
54054 (WebCore::Frame::setPage):
54055 * page/Frame.h: Add setPage method. It is only currently used when iframe is
54056 moved between pages (so the ASSERT(m_ownerElement).
54058 2010-02-01 Brady Eidson <beidson@apple.com>
54060 Reviewed by Tim Hatcher.
54062 Add common IRC ports to port blocking.
54063 <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
54065 * platform/KURL.cpp:
54066 (WebCore::portAllowed):
54068 2010-01-29 Jeremy Orlow <jorlow@chromium.org>
54070 Reviewed by Nate Chapin.
54072 [V8] Add compile time guards for IndexedDB custom functions
54073 https://bugs.webkit.org/show_bug.cgi?id=34368
54075 * bindings/v8/custom/V8IDBRequestCustom.cpp:
54076 * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
54078 2010-01-29 Gavin Barraclough <barraclough@apple.com>
54080 Reviewed by Sam Weinig + Oliver Hunt.
54082 Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
54084 Change HTMLMediaElement methods that require checking whether the event is a user gesture to
54085 be passed a boolean. This may be passed from the JSC bindings (where we have an exec state),
54086 or read from the event. Add a Flag to the IDL to mark this information is required.
54088 * WebCore.Video.exp:
54089 * bindings/js/JSDOMBinding.cpp:
54090 (WebCore::processingUserGesture):
54091 * bindings/js/JSDOMWindowCustom.cpp:
54092 (WebCore::domWindowAllowPopUp):
54093 (WebCore::JSDOMWindow::open):
54094 (WebCore::JSDOMWindow::showModalDialog):
54095 * bindings/js/JSDocumentCustom.cpp:
54096 (WebCore::JSDocument::setLocation):
54097 * bindings/js/ScriptController.cpp:
54098 (WebCore::ScriptController::processingUserGesture):
54099 (WebCore::ScriptController::processingUserGestureEvent):
54100 (WebCore::ScriptController::anyPageIsProcessingUserGesture):
54101 * bindings/js/ScriptController.h:
54102 * bindings/scripts/CodeGeneratorJS.pm:
54104 (WebCore::Event::isUserEvent):
54106 * html/HTMLMediaElement.cpp:
54107 (WebCore::HTMLMediaElement::removedFromDocument):
54108 (WebCore::HTMLMediaElement::load):
54109 (WebCore::HTMLMediaElement::play):
54110 (WebCore::HTMLMediaElement::pause):
54111 (WebCore::HTMLMediaElement::beginScrubbing):
54112 (WebCore::HTMLMediaElement::documentDidBecomeActive):
54113 (WebCore::HTMLMediaElement::webkitEnterFullScreen):
54114 * html/HTMLMediaElement.h:
54115 * html/HTMLMediaElement.idl:
54116 * loader/FrameLoader.cpp:
54117 (WebCore::FrameLoader::isProcessingUserGesture):
54118 * loader/MediaDocument.cpp:
54119 (WebCore::MediaDocument::defaultEventHandler):
54120 * page/DOMWindow.cpp:
54121 (WebCore::DOMWindow::allowPopUp):
54122 * rendering/MediaControlElements.cpp:
54123 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
54125 2010-02-01 Andreas Kling <andreas.kling@nokia.com>
54127 Reviewed by Kenneth Rohde Christiansen.
54129 [Qt] Use the fallback style on Maemo 5
54131 https://bugs.webkit.org/show_bug.cgi?id=34376
54133 * platform/qt/RenderThemeQt.cpp:
54134 (WebCore::RenderThemeQt::RenderThemeQt):
54135 (WebCore::RenderThemeQt::fallbackStyle):
54136 (WebCore::RenderThemeQt::qStyle):
54137 (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
54138 * platform/qt/RenderThemeQt.h:
54140 2010-02-01 Kavita Kanetkar <kkanetkar@chromium.org>
54142 Reviewed by Nate Chapin.
54144 [V8] Making V8 generated classes' GetTemplate() function public
54145 https://bugs.webkit.org/show_bug.cgi?id=34026
54147 * bindings/scripts/CodeGeneratorV8.pm: Generated code need not depend on V8CustomBinding.h, made GetTemplate() signature public.
54149 2010-02-01 Steve Block <steveblock@google.com>
54151 Reviewed by Ariya Hidayat.
54153 Adds V8-specific JNI bridge classes
54154 https://bugs.webkit.org/show_bug.cgi?id=34166
54156 This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
54158 No new tests, build fix only.
54160 * Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp
54161 * bridge/Bridge.h: Modified. Added missing include for Noncopyable.h
54162 * bridge/jni/v8/JNIBridgeV8.cpp: Added.
54163 (JavaField::JavaField):
54164 * bridge/jni/v8/JNIBridgeV8.h: Added.
54165 (JSC::Bindings::JavaField::name):
54166 (JSC::Bindings::JavaField::type):
54167 (JSC::Bindings::JavaField::getJNIType):
54169 2010-02-01 Steve Block <steveblock@google.com>
54171 Reviewed by Ariya Hidayat.
54173 Adds V8-specific JNI utility functions.
54174 https://bugs.webkit.org/show_bug.cgi?id=33901
54176 This is the V8 equivalent of bridge/jni/jsc/JNIUtilityPrivate.
54178 No new tests, build fix only.
54180 * Android.v8bindings.mk: Modified. Add JNIUtilityPrivate.cpp
54181 * bridge/jni/v8/JNIUtilityPrivate.cpp: Added.
54182 (JSC::Bindings::convertNPVariantToJValue):
54183 (JSC::Bindings::convertJValueToNPVariant):
54184 * bridge/jni/v8/JNIUtilityPrivate.h: Added.
54186 2010-02-01 Steve Block <steveblock@google.com>
54188 Reviewed by Ariya Hidayat.
54190 Adds V8 version of JavaClass
54191 https://bugs.webkit.org/show_bug.cgi?id=33898
54193 This is the V8 equivalent of bridge/jni/jsc/JavaClassJSC
54195 No new tests, build fix only.
54197 * Android.v8bindings.mk: Modified. Added JavaClassV8.cpp
54198 * bridge/jni/v8/JavaClassV8.cpp: Added.
54199 (JavaClass::JavaClass):
54200 (JavaClass::~JavaClass):
54201 (JavaClass::methodsNamed):
54202 (JavaClass::fieldNamed):
54203 * bridge/jni/v8/JavaClassV8.h: Added.
54205 2010-02-01 Steve Block <steveblock@google.com>
54207 Reviewed by Ariya Hidayat.
54209 Adds V8 version of JavaInstance
54210 https://bugs.webkit.org/show_bug.cgi?id=33951
54212 This is the V8 equivalent of bridge/jni/jsc/JavaInstanceJSC.
54213 Also fixes a typo in a comment in JavaInstanceJSC.cpp.
54215 No new tests, build fix only.
54217 * Android.v8bindings.mk: Modified. Added JavaInstanceV8.cpp
54218 * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified.
54219 (JavaInstance::invokeMethod): Modified. Fixed comment
54220 * bridge/jni/v8/JavaInstanceV8.cpp: Added.
54221 (JavaInstance::JavaInstance):
54222 (JavaInstance::~JavaInstance):
54223 (JavaInstance::getClass):
54224 (JavaInstance::invokeMethod):
54225 (JObjectWrapper::JObjectWrapper):
54226 (JObjectWrapper::~JObjectWrapper):
54227 * bridge/jni/v8/JavaInstanceV8.h: Added.
54228 (JSC::Bindings::JObjectWrapper::instance):
54229 (JSC::Bindings::JObjectWrapper::setInstance):
54230 (JSC::Bindings::JObjectWrapper::ref):
54231 (JSC::Bindings::JObjectWrapper::deref):
54232 (JSC::Bindings::JavaInstance::javaInstance):
54233 (JSC::Bindings::JavaInstance::begin):
54234 (JSC::Bindings::JavaInstance::end):
54235 (JSC::Bindings::JavaInstance::virtualBegin):
54236 (JSC::Bindings::JavaInstance::virtualEnd):
54238 2010-02-01 Dumitru Daniliuc <dumi@chromium.org>
54240 Reviewed by Eric Seidel.
54242 Making sure that all in-progress transactions are rolled back on
54243 the database thread before they're destroyed. Otherwise,
54244 SQLiteTransaction's destructor will try to do a rollback and that
54245 would cause an assertion failure, if the object is not destroyed
54248 https://bugs.webkit.org/show_bug.cgi?id=34152
54250 * platform/sql/SQLiteTransaction.cpp:
54251 (WebCore::SQLiteTransaction::stop):
54252 * storage/SQLTransaction.cpp:
54253 (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
54254 * storage/SQLTransaction.h:
54255 * storage/SQLTransactionCoordinator.cpp:
54256 (WebCore::SQLTransactionCoordinator::shutdown):
54258 2010-02-01 Sam Weinig <sam@webkit.org>
54260 Reviewed by Beth Dakin.
54262 Fix EXPERIMENTAL_SINGLE_VIEW_MODE build.
54264 * page/EventHandler.h:
54265 * page/mac/EventHandlerMac.mm:
54266 (WebCore::EventHandler::currentNSEvent):
54267 (WebCore::EventHandler::currentKeyboardEvent):
54268 (WebCore::EventHandler::mouseDown):
54269 (WebCore::EventHandler::mouseDragged):
54270 (WebCore::EventHandler::mouseUp):
54271 (WebCore::EventHandler::mouseMoved):
54272 (WebCore::EventHandler::keyEvent):
54273 (WebCore::EventHandler::wheelEvent):
54274 (WebCore::EventHandler::sendContextMenuEvent):
54275 (WebCore::EventHandler::eventMayStartDrag):
54276 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
54278 2010-02-01 Nate Chapin <japhet@chromium.org>
54280 Unreviewed, Chromium build fix.
54282 Failed to properly add new files for http://trac.webkit.org/changeset/54150.
54284 * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
54285 * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
54286 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
54287 * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
54288 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
54289 * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
54290 * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
54291 * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
54292 * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
54293 * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
54294 * bindings/v8/custom/V8ScreenCustom.cpp: Added.
54295 * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
54296 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
54298 2010-01-27 Matt Perry <mpcomplete@chromium.org>
54300 Reviewed by Eric Seidel.
54302 Add support for addUserScript to chromium port.
54304 * bindings/v8/ScriptController.cpp:
54305 (WebCore::ScriptController::evaluateInWorld):
54306 * bindings/v8/ScriptController.h:
54308 2010-02-01 Eric Carlson <eric.carlson@apple.com>
54310 Reviewed by Dan Bernstein.
54312 https://bugs.webkit.org/show_bug.cgi?id=34448
54313 <rdar://problem/7598130>
54315 RenderVideo::intrinsicSizeChanged infinite recursion
54317 * rendering/RenderImage.h:
54318 (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
54319 be called by RenderVideo.
54320 * rendering/RenderVideo.cpp:
54321 (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
54322 RenderVideo::intrinsicSizeChanged.
54323 (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of
54324 RenderImage::imageChanged.
54326 2010-02-01 Nate Chapin <japhet@chromium.org>
54328 Reviewed by Dimitri Glazkov.
54330 [V8] Generate toV8() converter for most WebCore->V8 conversions,
54331 and defined custom converters in their respective V8<class>Custom.cpp.
54333 Old converters in V8DOMWrapper will be deleted in a later patch.
54335 https://bugs.webkit.org/show_bug.cgi?id=32563
54337 * Android.v8bindings.mk:
54338 * WebCore.gyp/WebCore.gyp:
54340 * bindings/scripts/CodeGeneratorV8.pm:
54341 * bindings/v8/V8Collection.h:
54342 * bindings/v8/V8DOMWrapper.cpp:
54343 * bindings/v8/V8DOMWrapper.h:
54344 * bindings/v8/V8Proxy.h:
54345 * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
54346 * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
54347 * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
54348 * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
54349 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
54350 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
54351 * bindings/v8/custom/V8ConsoleCustom.cpp:
54352 * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
54353 * bindings/v8/custom/V8DOMWindowCustom.cpp:
54354 * bindings/v8/custom/V8DocumentCustom.cpp:
54355 * bindings/v8/custom/V8ElementCustom.cpp:
54356 * bindings/v8/custom/V8EventCustom.cpp:
54357 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
54358 * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
54359 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
54360 * bindings/v8/custom/V8HistoryCustom.cpp:
54361 * bindings/v8/custom/V8LocationCustom.cpp:
54362 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
54363 * bindings/v8/custom/V8NavigatorCustom.cpp:
54364 * bindings/v8/custom/V8NodeCustom.cpp:
54365 * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
54366 * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
54367 * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
54368 * bindings/v8/custom/V8ScreenCustom.cpp: Added.
54369 * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
54370 * bindings/v8/custom/V8TreeWalkerCustom.cpp:
54371 * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
54372 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
54373 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
54374 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
54375 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
54376 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
54377 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
54378 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
54379 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
54380 * dom/make_names.pl: Add options to generate wrapper factory for V8 bindings.
54382 2010-02-01 Alexander Pavlov <apavlov@chromium.org>
54384 Reviewed by Pavel Feldman.
54386 Web Inspector: lazy-load textual resources to avoid UI hangup
54387 https://bugs.webkit.org/show_bug.cgi?id=34332
54389 * inspector/front-end/ResourceView.js:
54390 (WebInspector.ResourceView.prototype._innerSelectContentTab):
54391 * inspector/front-end/SourceView.js:
54392 (WebInspector.SourceView.prototype.show):
54393 (WebInspector.SourceView.prototype.contentTabSelected):
54395 2010-02-01 Brady Eidson <beidson@apple.com>
54397 Reviewed by Adele Peterson.
54399 Crash in Safari opening new tabs to "same page"
54400 <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
54402 Test: fast/loader/crash-copying-backforwardlist.html
54404 * loader/FrameLoader.cpp:
54405 (WebCore::FrameLoader::loadItem): Null check currentItem().
54408 (WebCore::Page::goToItem): Ditto.
54410 2010-02-01 Kevin Watters <kevinwatters@gmail.com>
54412 Reviewed by Kevin Ollivier.
54414 [wx] Remove unused file that doesn't seem to belong to the port.
54416 https://bugs.webkit.org/show_bug.cgi?id=34445
54418 * platform/wx/KeyEventWin.cpp: Removed.
54420 2010-02-01 Eric Carlson <eric.carlson@apple.com>
54422 Reviewed by Adele Peterson.
54424 Fullscreen API should be on HTMLVideoElement
54425 https://bugs.webkit.org/show_bug.cgi?id=34438
54427 Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement.
54429 * html/HTMLMediaElement.cpp:
54430 * html/HTMLMediaElement.h:
54431 * html/HTMLMediaElement.idl:
54432 * html/HTMLVideoElement.cpp:
54433 (WebCore::HTMLVideoElement::paint): Removed outdated FIXME.
54434 (WebCore::HTMLVideoElement::paintCurrentFrameInContext): Ditto.
54435 (WebCore::HTMLVideoElement::webkitEnterFullScreen): Moved from HTMLMediaElement.
54436 (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
54437 (WebCore::HTMLVideoElement::webkitSupportsFullscreen): Ditto.
54438 (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
54439 * html/HTMLVideoElement.h:
54440 * html/HTMLVideoElement.idl:
54442 2010-02-01 Pavel Feldman <pfeldman@chromium.org>
54444 Reviewed by Timothy Hatcher.
54446 Web Inspector: Syntax highlighting in source view of
54447 Resources pane stops half-way.
54449 There were two problems here: (1) styles for html highlighter were not
54450 added into the css file (they used to be injected manually in the
54451 SourceFrame before). (2) 'Tag' needed to be lexer's state, not parser's.
54452 Otherwise unbalanced quotes in the text nodes were matching too match
54453 into the string tokens.
54455 https://bugs.webkit.org/show_bug.cgi?id=34359
54457 * inspector/front-end/NativeTextViewer.js:
54458 (WebInspector.NativeTextViewer.prototype._createLineDivs):
54459 (WebInspector.NativeTextViewer.prototype._lineHeight):
54460 (WebInspector.NativeTextViewer.prototype.initFontMetrics):
54461 * inspector/front-end/SourceFrame.js:
54462 (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
54463 * inspector/front-end/SourceHTMLTokenizer.js:
54464 (WebInspector.SourceHTMLTokenizer):
54465 (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
54466 * inspector/front-end/SourceHTMLTokenizer.re2js:
54467 * inspector/front-end/TextEditor.js:
54468 (WebInspector.TextEditor.prototype.initFontMetrics):
54469 (WebInspector.TextEditor.prototype._registerShortcuts):
54470 * inspector/front-end/inspectorSyntaxHighlight.css:
54472 2010-02-01 Ben Murdoch <benm@google.com>
54474 Reviewed by Darin Adler.
54476 ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
54477 https://bugs.webkit.org/show_bug.cgi?id=34335
54479 * bindings/js/ScriptCallStack.cpp:
54480 (WebCore::ScriptCallStack::ScriptCallStack): If the caller is unknown, the line number and source information is still available so pass it to the ScriptCallFrame being constructed.
54482 2010-02-01 Dirk Schulze <krit@webkit.org>
54484 Reviewed by Simon Fraser.
54486 Add back an AffineTransform class for use by SVG
54487 https://bugs.webkit.org/show_bug.cgi?id=33750
54489 These are the first steps on reimplementing AffineTransform. Unlike
54490 the old affine code, this one is platform independent like TransformationMatrix.
54491 AffineTransform has the benefit, that it stores just 6 doubles instead of
54492 16 in TransformationMatrix. The calculations of transformations are not that
54493 complex and can improve the memory usage and speed of SVG.
54494 AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
54495 least for the moment).
54496 HTML Canvas is the first that makes use of the new AffineTransform. Next patches
54497 will introduce the affine code to SVG.
54499 No new tests. The new AffineTransformation code is tested by fast/canvas.
54505 * WebCore.vcproj/WebCore.vcproj:
54506 * WebCore.xcodeproj/project.pbxproj:
54507 * html/canvas/CanvasRenderingContext2D.cpp:
54508 (WebCore::CanvasRenderingContext2D::scale):
54509 (WebCore::CanvasRenderingContext2D::rotate):
54510 (WebCore::CanvasRenderingContext2D::translate):
54511 (WebCore::CanvasRenderingContext2D::transform):
54512 (WebCore::CanvasRenderingContext2D::setTransform):
54513 (WebCore::CanvasRenderingContext2D::isPointInPath):
54514 (WebCore::CanvasRenderingContext2D::willDraw):
54515 * html/canvas/CanvasRenderingContext2D.h:
54516 * platform/graphics/GraphicsContext.h:
54517 * platform/graphics/Path.h:
54518 * platform/graphics/cairo/GraphicsContextCairo.cpp:
54519 (WebCore::GraphicsContext::getAffineCTM):
54520 (WebCore::GraphicsContext::concatCTM):
54521 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
54522 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54523 * platform/graphics/cairo/PathCairo.cpp:
54524 (WebCore::Path::transform):
54525 * platform/graphics/cairo/TransformationMatrixCairo.cpp:
54526 (WebCore::AffineTransform::operator cairo_matrix_t):
54527 * platform/graphics/cg/GraphicsContextCG.cpp:
54528 (WebCore::GraphicsContext::concatCTM):
54529 (WebCore::GraphicsContext::getAffineCTM):
54530 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
54531 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54532 * platform/graphics/cg/PathCG.cpp:
54533 (WebCore::Path::transform):
54534 * platform/graphics/cg/TransformationMatrixCG.cpp:
54535 (WebCore::AffineTransform::operator CGAffineTransform):
54536 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
54537 (WebCore::GraphicsContext::getAffineCTM):
54538 (WebCore::GraphicsContext::concatCTM):
54539 * platform/graphics/haiku/PathHaiku.cpp:
54540 (WebCore::Path::transform):
54541 * platform/graphics/qt/GraphicsContextQt.cpp:
54542 (WebCore::GraphicsContext::getAffineCTM):
54543 (WebCore::GraphicsContext::concatCTM):
54544 * platform/graphics/qt/PathQt.cpp:
54545 (WebCore::Path::transform):
54546 * platform/graphics/qt/TransformationMatrixQt.cpp:
54547 (WebCore::AffineTransform::operator QTransform):
54548 * platform/graphics/skia/GraphicsContextSkia.cpp:
54549 (WebCore::GraphicsContext::concatCTM):
54550 (WebCore::GraphicsContext::getAffineCTM):
54551 * platform/graphics/skia/PathSkia.cpp:
54552 (WebCore::Path::transform):
54553 * platform/graphics/skia/TransformationMatrixSkia.cpp:
54554 (WebCore::AffineTransform::operator SkMatrix):
54555 * platform/graphics/transforms/AffineTransform.cpp: Added.
54556 (WebCore::affineTransformDecompose):
54557 (WebCore::affineTransformCompose):
54558 (WebCore::AffineTransform::AffineTransform):
54559 (WebCore::AffineTransform::reset):
54560 (WebCore::AffineTransform::setMatrix):
54561 (WebCore::AffineTransform::isIdentity):
54562 (WebCore::AffineTransform::det):
54563 (WebCore::AffineTransform::isInvertible):
54564 (WebCore::AffineTransform::inverse):
54565 (WebCore::AffineTransform::multiply):
54566 (WebCore::AffineTransform::multLeft):
54567 (WebCore::AffineTransform::rotate):
54568 (WebCore::AffineTransform::scale):
54569 (WebCore::AffineTransform::translate):
54570 (WebCore::AffineTransform::scaleNonUniform):
54571 (WebCore::AffineTransform::rotateFromVector):
54572 (WebCore::AffineTransform::flipX):
54573 (WebCore::AffineTransform::flipY):
54574 (WebCore::AffineTransform::shear):
54575 (WebCore::AffineTransform::skew):
54576 (WebCore::AffineTransform::skewX):
54577 (WebCore::AffineTransform::skewY):
54578 (WebCore::makeMapBetweenRects):
54579 (WebCore::AffineTransform::map):
54580 (WebCore::AffineTransform::mapPoint):
54581 (WebCore::AffineTransform::mapRect):
54582 (WebCore::AffineTransform::blend):
54583 (WebCore::AffineTransform::toTransformationMatrix):
54584 * platform/graphics/transforms/AffineTransform.h: Added.
54585 (WebCore::AffineTransform::a):
54586 (WebCore::AffineTransform::setA):
54587 (WebCore::AffineTransform::b):
54588 (WebCore::AffineTransform::setB):
54589 (WebCore::AffineTransform::c):
54590 (WebCore::AffineTransform::setC):
54591 (WebCore::AffineTransform::d):
54592 (WebCore::AffineTransform::setD):
54593 (WebCore::AffineTransform::e):
54594 (WebCore::AffineTransform::setE):
54595 (WebCore::AffineTransform::f):
54596 (WebCore::AffineTransform::setF):
54597 (WebCore::AffineTransform::operator== ):
54598 (WebCore::AffineTransform::operator!=):
54599 (WebCore::AffineTransform::operator*=):
54600 (WebCore::AffineTransform::operator*):
54601 (WebCore::AffineTransform::setMatrix):
54602 * platform/graphics/win/GraphicsContextWin.cpp:
54603 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54604 * platform/graphics/wince/GraphicsContextWince.cpp:
54605 (WebCore::GraphicsContext::concatCTM):
54606 (WebCore::GraphicsContext::getAffineCTM):
54607 * platform/graphics/wx/GraphicsContextWx.cpp:
54608 (WebCore::GraphicsContext::getAffineCTM):
54609 (WebCore::GraphicsContext::concatCTM):
54610 * platform/graphics/wx/PathWx.cpp:
54611 (WebCore::Path::transform):
54612 * platform/graphics/wx/TransformationMatrixWx.cpp:
54613 (WebCore::AffineTransform::operator wxGraphicsMatrix):
54615 2010-01-29 Philippe Normand <pnormand@igalia.com>
54617 Reviewed by Eric Carlson.
54619 [GTK] set playbin mute property depending on volume value
54620 https://bugs.webkit.org/show_bug.cgi?id=31586
54622 New API in MediaPlayer for mute control. 3 new methods are
54625 - bool supportsMuting() const;
54626 - bool muted() const;
54627 - void setMuted(bool);
54629 Platform MediaPlayer implementations can support it easily if the
54630 underlying sound daemon/API supports muting (eg. not only setting
54631 volume to 0) like PulseAudio for instance on Linux. At the moment
54632 the only player supporting this new API is the
54633 MediaPlayerPrivateGStreamer.
54635 * html/HTMLMediaElement.cpp:
54636 (WebCore::HTMLMediaElement::setMuted):
54637 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
54638 (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
54639 * html/HTMLMediaElement.h:
54640 * platform/graphics/MediaPlayer.cpp:
54641 (WebCore::NullMediaPlayerPrivate::supportsMuting):
54642 (WebCore::NullMediaPlayerPrivate::setMuted):
54643 (WebCore::MediaPlayer::MediaPlayer):
54644 (WebCore::MediaPlayer::muted):
54645 (WebCore::MediaPlayer::supportsMuting):
54646 (WebCore::MediaPlayer::setMuted):
54647 (WebCore::MediaPlayer::volumeChanged):
54648 (WebCore::MediaPlayer::muteChanged):
54649 * platform/graphics/MediaPlayer.h:
54650 (WebCore::MediaPlayerClient::mediaPlayerMuteChanged):
54651 * platform/graphics/MediaPlayerPrivate.h:
54652 (WebCore::MediaPlayerPrivateInterface::supportsMuting):
54653 (WebCore::MediaPlayerPrivateInterface::setMuted):
54654 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
54655 (WebCore::mediaPlayerPrivateVolumeChangedCallback):
54656 (WebCore::notifyVolumeIdleCallback):
54657 (WebCore::mediaPlayerPrivateMuteChangedCallback):
54658 (WebCore::notifyMuteIdleCallback):
54659 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
54660 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
54661 (WebCore::MediaPlayerPrivate::volumeChangedCallback):
54662 (WebCore::MediaPlayerPrivate::volumeChanged):
54663 (WebCore::MediaPlayerPrivate::supportsMuting):
54664 (WebCore::MediaPlayerPrivate::setMuted):
54665 (WebCore::MediaPlayerPrivate::muteChangedCallback):
54666 (WebCore::MediaPlayerPrivate::muteChanged):
54667 (WebCore::MediaPlayerPrivate::createGSTPlayBin):
54668 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
54670 2010-02-01 Henry Haverinen <henry.haverinen@nokia.com>
54672 Reviewed by Simon Hausmann.
54674 [Qt] Build without SSL support is broken
54676 Added missing #ifdefs for OpenSSL support and one null-pointer
54677 check for the socket.
54679 https://bugs.webkit.org/show_bug.cgi?id=34416
54681 * platform/network/qt/SocketStreamHandlePrivate.h:
54682 * platform/network/qt/SocketStreamHandleQt.cpp:
54683 (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
54684 (WebCore::SocketStreamHandlePrivate::send):
54686 2010-02-01 Pavel Feldman <pfeldman@chromium.org>
54688 Reviewed by Timothy Hatcher.
54690 Web Inspector: Fix rest of the NativeTextViewer (line numbers,
54691 conditional breakpoints, selection).
54693 * inspector/front-end/NativeTextViewer.js:
54694 (WebInspector.NativeTextViewer):
54695 (WebInspector.NativeTextViewer.prototype._updatePreferredSize):
54696 (WebInspector.NativeTextViewer.prototype._registerMouseListeners):
54697 (WebInspector.NativeTextViewer.prototype._mouseDown):
54698 (WebInspector.NativeTextViewer.prototype._contextMenu):
54699 (WebInspector.NativeTextViewer.prototype._lineForMouseEvent):
54700 (WebInspector.NativeTextViewer.prototype._lineHeight):
54701 * inspector/front-end/TextEditor.js:
54702 (WebInspector.TextEditor):
54703 (WebInspector.TextEditor.prototype._registerMouseListeners):
54704 (WebInspector.TextEditor.prototype._offsetToLine):
54705 (WebInspector.TextEditor.prototype._lineHeight):
54706 (WebInspector.TextEditor.prototype.reveal):
54707 (WebInspector.TextEditor.prototype._paint):
54708 (WebInspector.TextEditor.prototype._updateDivDecorations):
54709 (WebInspector.TextEditor.prototype._paintSelection):
54711 2010-02-01 Steve Block <steveblock@google.com>
54713 Reviewed by Ariya Hidayat.
54715 Adds implementation of JavaString for V8.
54716 https://bugs.webkit.org/show_bug.cgi?id=33953
54718 No new tests, build fix only.
54720 * bridge/jni/JNIBridge.h: Modified. Include JavaStringV8.h for V8
54721 * bridge/jni/v8: Added.
54722 * bridge/jni/v8/JavaStringV8.h: Added.
54723 (JSC::Bindings::JavaStringImpl::init):
54724 (JSC::Bindings::JavaStringImpl::UTF8String):
54725 (JSC::Bindings::JavaStringImpl::uchars):
54726 (JSC::Bindings::JavaStringImpl::length):
54728 2010-02-01 Alex Milowski <alex@milowski.com>
54730 Reviewed by Darin Adler.
54732 Added compile time debug support for mathml layout (block boundary & baseline)
54734 * mathml/RenderMathMLBlock.cpp:
54735 (WebCore::RenderMathMLBlock::stretchToHeight):
54736 (WebCore::RenderMathMLBlock::paint):
54737 * mathml/RenderMathMLBlock.h:
54739 2010-02-01 Philippe Normand <pnormand@igalia.com>
54741 Rubber stamped by Xan Lopez.
54743 Fixed compilation warning about unsigned vs signed comparison.
54745 * plugins/gtk/PluginViewGtk.cpp:
54746 (WebCore::PluginView::paint):
54748 2010-01-31 Kent Tamura <tkent@chromium.org>
54750 Unreviewed. Revert r54112 and r54124 because of Windows build error.
54756 * WebCore.vcproj/WebCore.vcproj:
54757 * WebCore.xcodeproj/project.pbxproj:
54758 * html/canvas/CanvasRenderingContext2D.cpp:
54759 (WebCore::CanvasRenderingContext2D::scale):
54760 (WebCore::CanvasRenderingContext2D::rotate):
54761 (WebCore::CanvasRenderingContext2D::translate):
54762 (WebCore::CanvasRenderingContext2D::transform):
54763 (WebCore::CanvasRenderingContext2D::setTransform):
54764 (WebCore::CanvasRenderingContext2D::isPointInPath):
54765 (WebCore::CanvasRenderingContext2D::willDraw):
54766 * html/canvas/CanvasRenderingContext2D.h:
54767 * platform/graphics/GraphicsContext.h:
54768 * platform/graphics/Path.h:
54769 * platform/graphics/cairo/GraphicsContextCairo.cpp:
54770 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
54771 * platform/graphics/cairo/PathCairo.cpp:
54772 * platform/graphics/cairo/TransformationMatrixCairo.cpp:
54773 * platform/graphics/cg/GraphicsContextCG.cpp:
54774 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
54775 * platform/graphics/cg/PathCG.cpp:
54776 * platform/graphics/cg/TransformationMatrixCG.cpp:
54777 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
54778 * platform/graphics/haiku/PathHaiku.cpp:
54779 * platform/graphics/qt/GraphicsContextQt.cpp:
54780 * platform/graphics/qt/PathQt.cpp:
54781 * platform/graphics/qt/TransformationMatrixQt.cpp:
54782 * platform/graphics/skia/GraphicsContextSkia.cpp:
54783 * platform/graphics/skia/PathSkia.cpp:
54784 * platform/graphics/skia/TransformationMatrixSkia.cpp:
54785 * platform/graphics/transforms/AffineTransform.cpp: Removed.
54786 * platform/graphics/transforms/AffineTransform.h: Removed.
54787 * platform/graphics/wince/GraphicsContextWince.cpp:
54788 * platform/graphics/wx/GraphicsContextWx.cpp:
54789 * platform/graphics/wx/PathWx.cpp:
54790 * platform/graphics/wx/TransformationMatrixWx.cpp:
54791 (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
54793 2010-01-31 Kwang Yul Seo <skyul@company100.net>
54795 Reviewed by Darin Adler.
54797 Limit the scope of packing alignment to avoid MSVC C4103 warning.
54798 https://bugs.webkit.org/show_bug.cgi?id=34390
54800 Use pack(push, 16) and pack(pop) to limit the scope of packing
54803 * bindings/js/JSSVGPODTypeWrapper.h:
54805 2010-01-31 Kent Tamura <tkent@chromium.org>
54807 Reviewed by Darin Adler.
54809 Fix valueAsNumber calculation for type=month.
54810 https://bugs.webkit.org/show_bug.cgi?id=34304
54812 valueAsNumber calculation for type=month which was checked in as
54813 r53893 was the number of milliseconds since UNIX epoch, and it was
54814 wrong. The correct way is the number months since UNIX epoch.
54816 * html/DateComponents.cpp:
54817 (WebCore::DateComponents::setMonthsSinceEpoch):
54818 (WebCore::DateComponents::monthsSinceEpoch):
54819 * html/DateComponents.h: Declare setMonthsSinceEpoch() and monthsSinceEpoch().
54820 * html/HTMLInputElement.cpp:
54821 (WebCore::HTMLInputElement::parseToDouble):
54822 Switch to monthsSinceEpoch() for type=MONTH.
54823 (WebCore::HTMLInputElement::valueAsDate):
54824 Add code with millisecondsSinceEpoch() for MONTH because
54825 parseToDouble() changed its behavior.
54826 (WebCore::HTMLInputElement::setValueAsNumber):
54827 Use setMonthsSinceEpoch() for MONTH.
54829 2010-01-31 Dan Bernstein <mitz@apple.com>
54831 Reviewed by Timothy Hatcher.
54833 Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center
54834 https://bugs.webkit.org/show_bug.cgi?id=34398
54836 * inspector/front-end/inspector.css: Specify line-height: normal for
54837 ".console-message .bubble" and ".sidebar-tree-item .status .bubble".
54839 2010-01-28 Ojan Vafai <ojan@chromium.org>
54841 Reviewed by Darin Adler.
54843 Implement CSSOM Range.getClientRects for collapsed selections
54844 https://bugs.webkit.org/show_bug.cgi?id=34239
54846 When getting the quads for a range on a text node, allow returning
54847 zero width quads. This leaves the case of collapsed selections inside
54848 elements still not fixed, but no worse.
54850 * rendering/InlineTextBox.cpp:
54851 (WebCore::InlineTextBox::selectionRect):
54852 * rendering/RenderText.cpp:
54853 (WebCore::RenderText::absoluteQuadsForRange):
54855 2010-01-31 Oliver Hunt <oliver@apple.com>
54857 Reviewed by Simon Fraser.
54859 Animated scaling of background-image is too slow
54860 https://bugs.webkit.org/show_bug.cgi?id=33808
54862 Implement a version of the RenderImage animated scaling optimisation
54863 for background images. Due to the possibility of arbitrary transforms
54864 being applied to containing elements we explicitly check the current
54865 CTM of the context for scaling or rotation.
54867 * platform/graphics/GraphicsContext.cpp:
54868 (WebCore::GraphicsContext::drawTiledImage):
54869 * platform/graphics/GraphicsContext.h:
54870 * platform/graphics/transforms/TransformationMatrix.h:
54871 (WebCore::TransformationMatrix::isIdentityOrTranslation):
54872 * rendering/RenderBoxModelObject.cpp:
54873 (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
54874 (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
54875 (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
54876 (WebCore::RenderBoxModelScaleData::size):
54877 (WebCore::RenderBoxModelScaleData::setSize):
54878 (WebCore::RenderBoxModelScaleData::lastPaintTime):
54879 (WebCore::RenderBoxModelScaleData::setLastPaintTime):
54880 (WebCore::RenderBoxModelScaleData::useLowQualityScale):
54881 (WebCore::RenderBoxModelScaleData::transform):
54882 (WebCore::RenderBoxModelScaleData::setTransform):
54883 (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
54884 (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
54885 (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
54886 (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
54887 (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
54888 (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
54889 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
54890 * rendering/RenderBoxModelObject.h:
54892 2010-01-31 Dirk Schulze <krit@webkit.org>
54894 Reviewed by Simon Fraser.
54896 Add back an AffineTransform class for use by SVG
54897 https://bugs.webkit.org/show_bug.cgi?id=33750
54899 These are the first steps on reimplementing AffineTransform. Unlike
54900 the old affine code, this one is platform independent like TransformationMatrix.
54901 AffineTransform has the benefit, that it stores just 6 doubles instead of
54902 16 in TransformationMatrix. The calculations of transformations are not that
54903 complex and can improve the memory usage and speed of SVG.
54904 AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
54905 least for the moment).
54906 HTML Canvas is the first that makes use of the new AffineTransform. Next patches
54907 will introduce the affine code to SVG.
54909 No new tests. The new AffineTransformation code is tested by fast/canvas.
54915 * WebCore.vcproj/WebCore.vcproj:
54916 * WebCore.xcodeproj/project.pbxproj:
54917 * html/canvas/CanvasRenderingContext2D.cpp:
54918 (WebCore::CanvasRenderingContext2D::scale):
54919 (WebCore::CanvasRenderingContext2D::rotate):
54920 (WebCore::CanvasRenderingContext2D::translate):
54921 (WebCore::CanvasRenderingContext2D::transform):
54922 (WebCore::CanvasRenderingContext2D::setTransform):
54923 (WebCore::CanvasRenderingContext2D::isPointInPath):
54924 (WebCore::CanvasRenderingContext2D::willDraw):
54925 * html/canvas/CanvasRenderingContext2D.h:
54926 * platform/graphics/GraphicsContext.h:
54927 * platform/graphics/Path.h:
54928 * platform/graphics/cairo/GraphicsContextCairo.cpp:
54929 (WebCore::GraphicsContext::getAffineCTM):
54930 (WebCore::GraphicsContext::concatCTM):
54931 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
54932 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54933 * platform/graphics/cairo/PathCairo.cpp:
54934 (WebCore::Path::transform):
54935 * platform/graphics/cairo/TransformationMatrixCairo.cpp:
54936 (WebCore::AffineTransform::operator cairo_matrix_t):
54937 * platform/graphics/cg/GraphicsContextCG.cpp:
54938 (WebCore::GraphicsContext::concatCTM):
54939 (WebCore::GraphicsContext::getAffineCTM):
54940 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
54941 (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54942 * platform/graphics/cg/PathCG.cpp:
54943 (WebCore::Path::transform):
54944 * platform/graphics/cg/TransformationMatrixCG.cpp:
54945 (WebCore::AffineTransform::operator CGAffineTransform):
54946 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
54947 (WebCore::GraphicsContext::getAffineCTM):
54948 (WebCore::GraphicsContext::concatCTM):
54949 * platform/graphics/haiku/PathHaiku.cpp:
54950 (WebCore::Path::transform):
54951 * platform/graphics/qt/GraphicsContextQt.cpp:
54952 (WebCore::GraphicsContext::getAffineCTM):
54953 (WebCore::GraphicsContext::concatCTM):
54954 * platform/graphics/qt/PathQt.cpp:
54955 (WebCore::Path::transform):
54956 * platform/graphics/qt/TransformationMatrixQt.cpp:
54957 (WebCore::AffineTransform::operator QTransform):
54958 * platform/graphics/skia/GraphicsContextSkia.cpp:
54959 (WebCore::GraphicsContext::getAffineCTM):
54960 * platform/graphics/skia/PathSkia.cpp:
54961 (WebCore::Path::transform):
54962 * platform/graphics/skia/TransformationMatrixSkia.cpp:
54963 (WebCore::AffineTransform::operator SkMatrix):
54964 * platform/graphics/transforms/AffineTransform.cpp: Added.
54965 (WebCore::affineTransformDecompose):
54966 (WebCore::affineTransformCompose):
54967 (WebCore::AffineTransform::AffineTransform):
54968 (WebCore::AffineTransform::reset):
54969 (WebCore::AffineTransform::setMatrix):
54970 (WebCore::AffineTransform::isIdentity):
54971 (WebCore::AffineTransform::det):
54972 (WebCore::AffineTransform::isInvertible):
54973 (WebCore::AffineTransform::inverse):
54974 (WebCore::AffineTransform::multiply):
54975 (WebCore::AffineTransform::multLeft):
54976 (WebCore::AffineTransform::rotate):
54977 (WebCore::AffineTransform::scale):
54978 (WebCore::AffineTransform::translate):
54979 (WebCore::AffineTransform::scaleNonUniform):
54980 (WebCore::AffineTransform::rotateFromVector):
54981 (WebCore::AffineTransform::flipX):
54982 (WebCore::AffineTransform::flipY):
54983 (WebCore::AffineTransform::shear):
54984 (WebCore::AffineTransform::skew):
54985 (WebCore::AffineTransform::skewX):
54986 (WebCore::AffineTransform::skewY):
54987 (WebCore::makeMapBetweenRects):
54988 (WebCore::AffineTransform::map):
54989 (WebCore::AffineTransform::mapPoint):
54990 (WebCore::AffineTransform::mapRect):
54991 (WebCore::AffineTransform::blend):
54992 * platform/graphics/transforms/AffineTransform.h: Added.
54993 (WebCore::AffineTransform::a):
54994 (WebCore::AffineTransform::setA):
54995 (WebCore::AffineTransform::b):
54996 (WebCore::AffineTransform::setB):
54997 (WebCore::AffineTransform::c):
54998 (WebCore::AffineTransform::setC):
54999 (WebCore::AffineTransform::d):
55000 (WebCore::AffineTransform::setD):
55001 (WebCore::AffineTransform::e):
55002 (WebCore::AffineTransform::setE):
55003 (WebCore::AffineTransform::f):
55004 (WebCore::AffineTransform::setF):
55005 (WebCore::AffineTransform::operator== ):
55006 (WebCore::AffineTransform::operator!=):
55007 (WebCore::AffineTransform::operator*=):
55008 (WebCore::AffineTransform::operator*):
55009 (WebCore::AffineTransform::setMatrix):
55010 * platform/graphics/wince/GraphicsContextWince.cpp:
55011 (WebCore::GraphicsContext::concatCTM):
55012 (WebCore::GraphicsContext::getAffineCTM):
55013 * platform/graphics/wx/GraphicsContextWx.cpp:
55014 (WebCore::GraphicsContext::getAffineCTM):
55015 (WebCore::GraphicsContext::concatCTM):
55016 * platform/graphics/wx/PathWx.cpp:
55017 (WebCore::Path::transform):
55018 * platform/graphics/wx/TransformationMatrixWx.cpp:
55019 (WebCore::AffineTransform::operator wxGraphicsMatrix):
55021 2010-01-31 Pavel Feldman <pfeldman@chromium.org>
55023 Reviewed by Timothy Hatcher.
55025 Web Inspector: [REGRESSION] Breakpoint source line is not displayed
55026 in the breakpoint manager.
55028 * inspector/front-end/SourceFrame.js:
55029 (WebInspector.SourceFrame.prototype._addBreakpointToSource):
55031 2010-01-31 Pavel Feldman <pfeldman@chromium.org>
55033 Reviewed by Timothy Hatcher.
55035 Web Inspector: Introduce NativeTextViewer.
55037 This change handles rendering highlighted text, using browser's
55038 selection/drag/drop/click logic. Breakpoint decorations and
55039 program counter is working.
55041 Todo: line numbers are painted 'under' the text when scrolling
55042 horizontally, search is not yet implemented.
55044 https://bugs.webkit.org/show_bug.cgi?id=34391
55047 * WebCore.vcproj/WebCore.vcproj:
55048 * inspector/front-end/DivBasedTextViewer.js: Added.
55049 (WebInspector.DivBasedTextViewer):
55050 (WebInspector.DivBasedTextViewer.prototype._textChanged):
55051 (WebInspector.DivBasedTextViewer.prototype._createLineDivs):
55052 (WebInspector.DivBasedTextViewer.prototype._updatePreferredSize):
55053 (WebInspector.DivBasedTextViewer.prototype._scroll):
55054 (WebInspector.DivBasedTextViewer.prototype._registerMouseListeners):
55055 (WebInspector.DivBasedTextViewer.prototype._registerKeyboardListeners):
55056 (WebInspector.DivBasedTextViewer.prototype._registerClipboardListeners):
55057 (WebInspector.DivBasedTextViewer.prototype._paintSelection):
55058 (WebInspector.DivBasedTextViewer.prototype._positionDivDecoration):
55059 (WebInspector.DivBasedTextViewer.prototype._mouseDown):
55060 (WebInspector.DivBasedTextViewer.prototype._contextMenu):
55061 (WebInspector.DivBasedTextViewer.prototype._caretForMouseEvent):
55062 (WebInspector.DivBasedTextViewer.prototype._paintLine):
55063 (WebInspector.DivBasedTextViewer.prototype._createSpan):
55064 * inspector/front-end/Settings.js:
55065 * inspector/front-end/SourceFrame.js:
55066 (WebInspector.SourceFrame.prototype.clearMessages):
55067 (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
55068 (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
55069 (WebInspector.SourceFrame.prototype._addMessageToSource):
55070 (WebInspector.SourceFrame.prototype.resize):
55071 * inspector/front-end/TextEditor.js:
55072 (WebInspector.TextEditor):
55073 (WebInspector.TextEditor.prototype.setDivDecoration):
55074 (WebInspector.TextEditor.prototype._registerMouseListeners):
55075 (WebInspector.TextEditor.prototype._registerKeyboardListeners):
55076 (WebInspector.TextEditor.prototype._registerClipboardListeners):
55077 (WebInspector.TextEditor.prototype.reveal):
55078 (WebInspector.TextEditor.prototype._textChanged):
55079 (WebInspector.TextEditor.prototype.revalidateDecorationsAndPaint):
55080 (WebInspector.TextEditor.prototype._updatePreferredSize):
55081 (WebInspector.TextEditor.prototype.resize):
55082 (WebInspector.TextEditor.prototype._paintLinesContinuation):
55083 (WebInspector.TextEditor.prototype._paintLine):
55084 (WebInspector.TextEditor.prototype._contextMenu):
55085 (WebInspector.TextEditor.prototype._caretForMouseEvent):
55086 (WebInspector.TextEditor.prototype._changeFont):
55087 * inspector/front-end/TextEditorHighlighter.js:
55088 (WebInspector.TextEditorHighlighter.prototype._lex):
55089 * inspector/front-end/WebKit.qrc:
55090 * inspector/front-end/inspector.html:
55091 * inspector/front-end/textEditor.css:
55093 2010-01-31 Benjamin Poulain <benjamin.poulain@nokia.com>
55095 Reviewed by Eric Seidel.
55097 [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms
55098 https://bugs.webkit.org/show_bug.cgi?id=34168
55100 Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded
55105 2010-01-31 Yury Semikhatsky <yurys@chromium.org>
55107 Reviewed by Pavel Feldman.
55109 Make ScriptState destructor protected since all non-empty
55110 ScriptStates are managed by GC. Remove obsolete constructor.
55112 https://bugs.webkit.org/show_bug.cgi?id=34266
55114 * bindings/v8/ScriptState.cpp:
55115 * bindings/v8/ScriptState.h:
55117 2010-01-30 Simon Fraser <simon.fraser@apple.com>
55119 Reviewed by Dan Bernstein.
55121 Use CGGradient on Leopard and later, since it's faster than CGShading
55122 https://bugs.webkit.org/show_bug.cgi?id=34384
55124 Use CGGradient on Leopard and later, rather than CGShading, for
55127 * platform/graphics/Gradient.h:
55128 * platform/graphics/Gradient.cpp:
55129 (WebCore::Gradient::sortStopsIfNecessary): Utility method to sort stops.
55130 Did not call this from getColor() to avoid overhead of a function call.
55132 * platform/graphics/cg/GradientCG.cpp:
55133 (WebCore::Gradient::platformDestroy): Use CGGradientRelease() post-Tiger.
55134 (WebCore::Gradient::platformGradient): Create and return a CGGradientRef post-Tiger.
55135 (WebCore::Gradient::fill): Call new paint() method.
55136 (WebCore::Gradient::paint): New convenence method that avoids testing
55137 isRadial() in a bunch of other places.
55139 * platform/graphics/cg/GraphicsContextCG.cpp:
55140 (WebCore::GraphicsContext::fillPath): Call the gradient's paint() method.
55141 (WebCore::GraphicsContext::strokePath): Ditto
55142 (WebCore::GraphicsContext::fillRect): Ditto
55143 (WebCore::GraphicsContext::strokeRect): Ditto
55145 2010-01-30 Simon Fraser <simon.fraser@apple.com>
55147 Reviewed by Adele Peterson.
55149 Do color animations on premultiplied colors
55150 https://bugs.webkit.org/show_bug.cgi?id=34383
55152 Convert colors to premultiplied alpha before interpolating them,
55153 then convert the result back to non-premultiplied. This gives better
55154 results when animating from transparent colors.
55156 Test: transitions/color-transition-premultiplied.html
55158 * page/animation/AnimationBase.cpp:
55159 (WebCore::blendFunc):
55161 2010-01-30 Gustavo Noronha Silva <gns@gnome.org>
55163 Build fixes needed for make distcheck.
55167 2010-01-29 Mark Rowe <mrowe@apple.com>
55169 Stop copying an IDL file in to the framework wrapper.
55171 * WebCore.xcodeproj/project.pbxproj:
55173 2010-01-29 Mark Rowe <mrowe@apple.com>
55175 Sort Xcode projects.
55177 * WebCore.xcodeproj/project.pbxproj:
55179 == Rolled over to ChangeLog-2010-01-29 ==