Support iconUrl of w3c Notification
[framework/web/webkit-efl.git] / Source / WebCore / ChangeLog-2010-05-24
1 2010-05-18  Jaime Yap  <jaimeyap@google.com>
2
3         Reviewed by Pavel Feldman.
4
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
9
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):
25
26 2010-05-24  Anders Carlsson  <andersca@apple.com>
27
28         Try to fix build.
29
30         * plugins/npapi.cpp:
31         (NPN_ReloadPlugins):
32
33 2010-05-24  Anders Carlsson  <andersca@apple.com>
34
35         Reviewed by Sam Weinig.
36
37         Get rid of PlugInInfoStore.
38         https://bugs.webkit.org/show_bug.cgi?id=39608
39
40         * WebCore.gyp/WebCore.gyp:
41         * WebCore.gypi:
42         * WebCore.pro:
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.
48         * plugins/npapi.cpp:
49
50 2010-05-24  Sheriff Bot  <webkit.review.bot@gmail.com>
51
52         Unreviewed, rolling out r60068.
53         http://trac.webkit.org/changeset/60068
54         https://bugs.webkit.org/show_bug.cgi?id=39600
55
56         "Causes fast/repaint/search-field-cancel to fail." (Requested
57         by jparent on #webkit).
58
59         * rendering/RenderObject.h:
60         (WebCore::objectIsRelayoutBoundary):
61
62 2010-05-24  Jeremy Orlow  <jorlow@chromium.org>
63
64         Unreviewed.  Checked in merge error.  :-(
65
66         * CMakeLists.txt:
67
68 2010-05-24  Steve Block  <steveblock@google.com>
69
70         Reviewed by Darin Adler.
71
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
74
75         Test: fast/dom/Geolocation/ongoing-request-leak.html
76
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.
83
84 2010-05-24  MORITA Hajime  <morrita@google.com>
85
86         Reviewed by Kent Tamura.
87
88         Textarea shouldn't grow when you type.
89         https://bugs.webkit.org/show_bug.cgi?id=32077
90
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. 
97         
98         So we prevent such <textarea>'s RenderObjects from being layout
99         root.
100
101         Test: fast/forms/textarea-percentage-dimensions.html
102
103         * rendering/RenderObject.h:
104         (WebCore::objectIsRelayoutBoundary):
105
106 2010-05-20  Jeremy Orlow  <jorlow@chromium.org>
107
108         Reviewed by Alexey Proskuryakov.
109
110         Add DOMStringList idl, needed for IndexedDB and for HTML5 drag & drop
111         https://bugs.webkit.org/show_bug.cgi?id=39429
112
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
117
118         Existing tests cover the constructor.  IndexedDB will also use this
119         soon (and thus add test coverage).
120
121         * Android.mk:
122         * Android.derived.jscbindings.mk:
123         * Android.derived.v8bindings.mk:
124         * CMakeLists.txt:
125         * DerivedSources.cpp:
126         * DerivedSources.make:
127         * GNUmakefile.am:
128         * WebCore.gypi:
129         * WebCore.pri:
130         * WebCore.pro:
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
144
145 2010-05-23  Shinichiro Hamaji  <hamaji@chromium.org>
146
147         Reviewed by Alexey Proskuryakov.
148
149         0x5C of EUC-JP is not Yen Sign but U+005C
150         https://bugs.webkit.org/show_bug.cgi?id=24906
151
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
155
156         * GNUmakefile.am:
157         * WebCore.gyp/WebCore.gyp:
158         * WebCore.gypi:
159         * WebCore.pro:
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):
181
182 2010-05-23  MORITA Hajime  <morrita@google.com>
183
184         Unreviewed, rolling out r60060.
185         http://trac.webkit.org/changeset/60060
186         https://bugs.webkit.org/show_bug.cgi?id=32077
187
188         breaks chromium test
189
190         * rendering/RenderObject.h:
191         (WebCore::objectIsRelayoutBoundary):
192
193 2010-05-23  Justin Schuh  <jschuh@chromium.org>
194
195         Reviewed by Shinichiro Hamaji.
196
197         Style cleanup for r56288
198         https://bugs.webkit.org/show_bug.cgi?id=39554
199
200         Cleaning up style from a previous patch. No tests needed because no
201         logic is changed. 
202
203         * svg/SVGFEMorphologyElement.cpp:
204         (WebCore::SVGFEMorphologyElement::build):
205
206 2010-05-23  MORITA Hajime  <morrita@google.com>
207
208         Reviewed by Kent Tamura.
209
210         Textarea shouldn't grow when you type.
211         https://bugs.webkit.org/show_bug.cgi?id=32077
212
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. 
219         
220         So we prevent such <textarea>'s RenderObjects from being layout
221         root.
222
223         Test: fast/forms/textarea-percentage-dimensions.html
224
225         * rendering/RenderObject.h:
226         (WebCore::objectIsRelayoutBoundary):
227
228 2010-05-23  Sam Weinig  <sam@webkit.org>
229
230         Reviewed by Oliver Hunt.
231
232         Fix for https://bugs.webkit.org/show_bug.cgi?id=39575
233         Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject
234
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
245           patch.
246
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):
253
254 2010-05-23  Eric Seidel  <eric@webkit.org>
255
256         Unreviewed, just being a copy/paste monkey.  Oook, eeek.
257
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
260
261         Add HTML5TreeBuilder.* to each of WebKit's 85,324 build systems.
262
263         * Android.mk:
264         * CMakeLists.txt:
265         * GNUmakefile.am:
266         * WebCore.gypi:
267         * WebCore.pro:
268         * WebCore.vcproj/WebCore.vcproj:
269
270 2010-05-23  Eric Seidel  <eric@webkit.org>
271
272         Reviewed by Adam Barth.
273
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
276
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.
281
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
286         implementations.
287
288         No change in behavior, thus no new tests.
289
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.
298
299 2010-05-23  Sam Weinig  <sam@webkit.org>
300
301         Reviewed by Oliver Hunt.
302
303         Fix for https://bugs.webkit.org/show_bug.cgi?id=39574
304         Complete the merge of NamedMappedAttrMap into NamedNodeMap.
305
306         * Android.mk:
307         * CMakeLists.txt:
308         * GNUmakefile.am:
309         * WebCore.gypi:
310         * WebCore.pro:
311         * WebCore.vcproj/WebCore.vcproj:
312         * WebCore.xcodeproj/project.pbxproj:
313         * css/CSSStyleSelector.cpp:
314         (WebCore::CSSStyleSelector::canShareStyleWithElement):
315         (WebCore::CSSStyleSelector::styleForElement):
316         * dom/Element.cpp:
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):
335         * html/HTML5Token.h:
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):
351
352 2010-05-23  Adam Barth  <abarth@webkit.org>
353
354         Reviewed by Eric Seidel.
355
356         Teach HTML5 parser how to lex comments correctly
357         https://bugs.webkit.org/show_bug.cgi?id=39537
358
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.
362
363         Tests: comments01.dat
364
365         * html/HTML5Lexer.cpp:
366         (WebCore::HTML5Lexer::nextToken):
367         * html/HTML5Lexer.h:
368         * html/HTML5Token.h:
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.
381
382 2010-05-23  Adam Barth  <abarth@webkit.org>
383
384         Reviewed by Eric Seidel.
385
386         Make the html5lib parser tests run using the HTML5 parser
387         https://bugs.webkit.org/show_bug.cgi?id=39533
388
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.
392
393         Test: html5lib/webkit-runner.html
394
395         * html/HTML5Lexer.cpp:
396         (WebCore::HTML5Lexer::nextToken):
397
398 2010-05-23  Adam Barth  <abarth@webkit.org>
399
400         Reviewed by Eric Seidel.
401
402         Make HTML5 parser parse <script>alert("<hi>");</script>
403         https://bugs.webkit.org/show_bug.cgi?id=39525
404
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.
410
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
413         start.
414
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
417         first test.
418
419         * html/HTML5Lexer.cpp:
420         (WebCore::HTML5Lexer::nextToken):
421         (WebCore::HTML5Lexer::isAppropriateEndTag):
422         (WebCore::HTML5Lexer::emitCurrentTagToken):
423         * html/HTML5Lexer.h:
424         (WebCore::HTML5Lexer::setState):
425         * html/HTML5Token.h:
426         (WebCore::HTML5Token::beginEndTag):
427         (WebCore::HTML5Token::appendToCharacter):
428         (WebCore::HTML5Token::name):
429         * html/HTML5Tokenizer.cpp:
430         (WebCore::HTML5Tokenizer::write):
431
432 2010-05-23  Chris Marrin  <cmarrin@apple.com>
433
434         Reviewed by Simon Fraser.
435
436         Limit the number of tiles created for large tiled layers
437         https://bugs.webkit.org/show_bug.cgi?id=39522
438         
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.
446
447         The test LayoutTests/compositing/geometry/huge-layers.html was
448         crashing before this fix. Now it works correctly.
449
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:
456
457 2010-05-23  Noam Rosenthal  <noam.rosenthal@nokia.com>
458
459         Reviewed by Kenneth Rohde Christiansen.
460
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
463
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.
466
467         * platform/graphics/qt/GraphicsLayerQt.cpp:
468         (WebCore::TransformAnimationQt::applyFrame):
469         (WebCore::OpacityAnimationQt::applyFrame):
470
471 2010-05-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
472
473         Reviewed by Eric Seidel.
474
475         [Qt] GraphicsLayerQt: Coding style and comment fixes.
476
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:
507
508 2010-05-23  Justin Schuh  <jschuh@chromium.org>
509
510         Reviewed by Darin Adler.
511
512         Remove custom binding for Attr.value
513         https://bugs.webkit.org/show_bug.cgi?id=39499
514
515         Custom bindings are no longer needed because origin checks were moved
516         out of the bindings by: http://trac.webkit.org/changeset/59866
517
518         * Android.v8bindings.mk:
519         * WebCore.gypi:
520         * bindings/js/JSAttrCustom.cpp:
521         * bindings/v8/custom/V8AttrCustom.cpp: Removed.
522         * dom/Attr.idl:
523
524 2010-05-23  Grace Kloba  <klobag@gmail.com>
525
526         Reviewed by Nate Chapin.
527
528         Match the call of scheduleLocationChange() to its correct signature.
529         Fixes <http://webkit.org/b/39452>
530
531         The call of scheduleLocationChange() in generic and v8 bindings assuming the
532         fourth parameter is "usergesture". But it is actually the fifth parameter.
533
534         No new features. No new tests.
535
536         * bindings/generic/BindingDOMWindow.h:
537         (WebCore::::createWindow):
538         * bindings/v8/custom/V8DOMWindowCustom.cpp:
539         (WebCore::V8DOMWindow::openCallback):
540
541 2010-05-23  Eric Seidel  <eric@webkit.org>
542
543         Reviewed by Adam Barth.
544
545         Reduce copy/paste code in HTMLParser using some template functions
546         https://bugs.webkit.org/show_bug.cgi?id=39471
547
548         No functional changes, thus no tests.
549
550         * html/HTMLParser.cpp:
551         (WebCore::addTags):
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):
564
565 2010-05-22  Julie Parent  <jparent@chromium.org>
566
567         Reviewed by Adam Barth.
568
569         REGRESSION: xssAuditor tests failing in Chromium.
570         https://bugs.webkit.org/show_bug.cgi?id=39560
571
572         Follow up to r0014. Make if statement in V8 bindings match the one from jsc version.
573
574         * bindings/v8/ScriptController.cpp:
575         (WebCore::ScriptController::evaluate):
576
577 2010-05-22  Maciej Stachowiak  <mjs@apple.com>
578
579         Reviewed by Mark Rowe.
580
581         REGRESSION(r59977): platform/mac/fast/AppleScript/001.html failure
582         https://bugs.webkit.org/show_bug.cgi?id=39531
583
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.
587
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.
591         
592         * bindings/js/ScriptController.cpp:
593         (WebCore::ScriptController::ScriptController):
594         (WebCore::ScriptController::evaluateInWorld):
595         * bindings/js/ScriptController.h:
596
597 2010-05-22  Kwang Yul Seo  <skyul@company100.net>
598
599         Reviewed by Eric Seidel.
600
601         [BREWMP] Add DragData
602         https://bugs.webkit.org/show_bug.cgi?id=39469
603
604         As BREW MP does not support dragging, add dummy implementation of DragData.
605
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):
620
621 2010-05-22  Kwang Yul Seo  <skyul@company100.net>
622
623         Reviewed by Eric Seidel.
624
625         [BREWMP] Add dummy Icon
626         https://bugs.webkit.org/show_bug.cgi?id=39468
627
628         Add dummy implementation of Icon.
629
630         * platform/graphics/brew/IconBrew.cpp: Added.
631         (WebCore::Icon::~Icon):
632         (WebCore::Icon::createIconForFiles):
633         (WebCore::Icon::paint):
634
635 2010-05-22  Justin Schuh  <jschuh@chromium.org>
636
637         Reviewed by Nate Chapin.
638
639         Remove and simplify custom bindings for Node
640         https://bugs.webkit.org/show_bug.cgi?id=39467
641
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
645
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):
656         * dom/Node.idl:
657
658 2010-05-22  Justin Schuh  <jschuh@chromium.org>
659
660         Reviewed by Nate Chapin.
661
662         Remove custom bindings for NamedNodeMap.setNamedItem and .setNamedItemNS
663         https://bugs.webkit.org/show_bug.cgi?id=39462
664
665         Custom bindings are no longer needed because origin checks were moved
666         out of the bindings by: http://trac.webkit.org/changeset/59866
667
668         Behavior isn't changed and is covered by existing tests.
669
670         * bindings/js/JSNamedNodeMapCustom.cpp:
671         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
672         * dom/NamedNodeMap.idl:
673
674 2010-05-22  Daniel Bates  <dbates@rim.com>
675
676         No review, rolling out 60017.
677         http://trac.webkit.org/changeset/60017
678         https://bugs.webkit.org/show_bug.cgi?id=39339
679
680         Rolling out since this broke the build on the Windows and Qt bots.
681         Need to look into this some more.
682
683         * GNUmakefile.am:
684         * WebCore.gypi:
685         * WebCore.pro:
686         * WebCore.vcproj/WebCore.vcproj:
687         * WebCore.xcodeproj/project.pbxproj:
688         * bindings/ScriptControllerBase.h: Removed.
689         * bindings/js/ScriptController.h:
690         (WebCore::):
691         * bindings/v8/ScriptController.h:
692         (WebCore::):
693
694 2010-05-22  Daniel Bates  <dbates@rim.com>
695
696         Reviewed by Darin Adler.
697
698         Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
699         https://bugs.webkit.org/show_bug.cgi?id=39339
700
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.
704
705         No functionality was changed, so no new tests.
706
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.
713         (WebCore::):
714         * bindings/js/ScriptController.h: #include ScriptControllerBase.h
715         * bindings/v8/ScriptController.h: Ditto.
716
717 2010-05-22  Yong Li  <yoli@rim.com>
718
719         Reviewed by Darin Adler.
720
721         Fix a crash when XHTMLMP is enabled. The frame pointer in Document
722         ctor can be null.
723         https://bugs.webkit.org/show_bug.cgi?id=39448
724
725         No new tests because it is obvious and it must be reproduced with
726         XHTMLMP enabled.
727
728         * dom/Document.cpp:
729         (WebCore::Document::Document):
730
731 2010-05-22  Daniel Bates  <dbates@rim.com>
732
733         Reviewed by Adam Barth.
734
735         REGRESSION (r56295): Can't create a new wave on Google Wave
736         https://bugs.webkit.org/show_bug.cgi?id=39249
737
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.
741
742         Test: http/tests/security/xssAuditor/javascript-link-safe.html
743
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.
753         (WebCore::):
754         * bindings/v8/ScriptController.cpp:
755         (WebCore::ScriptController::evaluate): Added parameter shouldAllowXSS.
756         * bindings/v8/ScriptController.h: Added enum ShouldAllowXSS.
757         (WebCore::):
758
759 2010-05-22  Jeremy Moskovich  <jeremy@chromium.org>
760
761         Reviewed by Eric Seidel.
762
763         Document RenderObject::m_hasOverflowClip.
764
765         https://bugs.webkit.org/show_bug.cgi?id=39425
766
767         No new functionality, so no new tests.
768
769         * rendering/RenderObject.h:
770
771 2010-05-22  Kwang Yul Seo  <skyul@company100.net>
772
773         Reviewed by Eric Seidel.
774
775         [BREWMP] Add DragController
776         https://bugs.webkit.org/show_bug.cgi?id=39400
777
778         Add DragController for BREW MP.
779
780         * page/brew/DragControllerBrew.cpp: Added.
781         (WebCore::DragController::isCopyKeyDown):
782         (WebCore::DragController::dragOperation):
783         (WebCore::DragController::maxDragImageSize):
784         (WebCore::DragController::cleanupAfterSystemDrag):
785
786 2010-05-22  Leandro Pereira  <leandro@profusion.mobi>
787
788         Reviewed by Eric Seidel.
789
790         [EFL] Build fix (update source code lists).
791         http://webkit.org/b/39235
792
793         * CMakeLists.txt:
794
795 2010-05-22  Martin Robinson  <mrobinson@igalia.com>
796
797         Reviewed by Xan Lopez.
798
799         [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt
800         https://bugs.webkit.org/show_bug.cgi?id=39465
801
802         Added a helper function for converting a GDK action bitmask into a DragOperation bitmask.
803
804         No new tests as behavior has not changed.
805
806         * platform/gtk/ClipboardUtilitiesGtk.cpp:
807         (WebCore::gdkDragActionToDragOperation): Added.
808         * platform/gtk/ClipboardUtilitiesGtk.h:
809
810 2010-05-22  Patrick Gansterer  <paroga@paroga.com>
811
812         Reviewed by Eric Seidel.
813
814         [Qt] Cleanup SharedBuffer::createWithContentsOfFile
815         https://bugs.webkit.org/show_bug.cgi?id=38917
816
817         * platform/qt/SharedBufferQt.cpp:
818         (WebCore::SharedBuffer::createWithContentsOfFile):
819
820 2010-05-22  Martin Robinson  <mrobinson@igalia.com>
821
822         Reviewed by Xan Lopez.
823
824         [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation
825         https://bugs.webkit.org/show_bug.cgi?id=39459
826
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
829         GdkDragActions.
830
831         No new tests, because behavior has not changed.
832
833         * GNUmakefile.am:
834         * platform/gtk/ClipboardUtilitiesGtk.cpp: Added.
835         (WebCore::dragOperationToGdkDragActions): Added.
836         * platform/gtk/ClipboardUtilitiesGtk.h: Added.
837
838 2010-05-21  Adam Barth  <abarth@webkit.org>
839
840         Reviewed by Eric Seidel.
841
842         Parse attributes with HTML5 lexer
843         https://bugs.webkit.org/show_bug.cgi?id=39520
844
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
847         the html5lib tests.
848
849         * html/HTML5Lexer.cpp:
850         (WebCore::HTML5Lexer::nextToken):
851         * html/HTML5Lexer.h:
852         * html/HTML5Token.h:
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):
861
862 2010-05-21  Mark Rowe  <mrowe@apple.com>
863
864         60,000!
865
866         * ChangeLog: Point out revision 60,000.
867
868 2010-05-21  David Hyatt  <hyatt@apple.com>
869
870         Reviewed by Dan Bernstein.
871
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.
876         
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.
879         
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.
883             
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).
889             
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.
893
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):
948
949 2010-05-21  Mark Rowe  <mrowe@apple.com>
950
951         Reviewed by Oliver Hunt.
952
953         Teach WebKit2 to build in the Production configuration.
954
955         * Configurations/WebCore.xcconfig: Pass -allowable_client to the linker in all configurations.
956
957 2010-05-21  Chris Marrin  <cmarrin@apple.com>
958
959         Reviewed by Simon Fraser.
960
961         Implement tiled compositing layers on Windows
962         https://bugs.webkit.org/show_bug.cgi?id=39461
963         
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.
971         
972         I also got rid of all frame()/setFrame() API to reduce the number of calls to
973         override for tiling.
974         
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 
977         currently visible.
978
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
984
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.
1043
1044 2010-05-21  Geoffrey Garen  <ggaren@apple.com>
1045
1046         Reviewed by Darin Adler.
1047
1048         Fixed a typo in my last commit: Reset m_inEvaluateInWorld to
1049         wasInEvaluateInWorld, rather than false, to avoid stomping the old value
1050         when it's true.
1051         https://bugs.webkit.org/show_bug.cgi?id=39518
1052
1053         * bindings/js/ScriptController.cpp:
1054         (WebCore::ScriptController::evaluateInWorld):
1055
1056 2010-05-21  David Hyatt  <hyatt@apple.com>
1057
1058         Reviewed by Dan Bernstein.
1059
1060         https://bugs.webkit.org/show_bug.cgi?id=39516, back end support for column-span property.
1061
1062         * css/CSSComputedStyleDeclaration.cpp:
1063         (WebCore::):
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:
1078
1079 2010-05-21  Jer Noble  <jer.noble@apple.com>
1080
1081         Reviewed by Anders Carlsson.
1082
1083         Disable full-screen video on Windows
1084         https://bugs.webkit.org/show_bug.cgi?id=39506
1085         rdar://problem/8012516
1086         
1087         Disable full-screen video through MediaPlayerPrivateVisualContext since
1088         we no longer use GWorlds and QuickTime's built in full-screen support.
1089         
1090         Media layout tests updated with new expected results.        
1091         
1092         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1093         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
1094
1095 2010-05-21  Simon Fraser  <simon.fraser@apple.com>
1096
1097         Reviewed by Dan Bernstein.
1098
1099         Avoid creating huge tiled layers with accelerated compositing
1100         https://bugs.webkit.org/show_bug.cgi?id=39515
1101         
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.
1105         
1106         Constrain the size by attempting to shrink the longer dimension first.
1107
1108         Test: compositing/geometry/huge-layer.html
1109
1110         * platform/graphics/mac/GraphicsLayerCA.h:
1111         * platform/graphics/mac/GraphicsLayerCA.mm:
1112         (WebCore::GraphicsLayerCA::updateLayerPosition):
1113         (WebCore::GraphicsLayerCA::updateLayerSize):
1114         (WebCore::GraphicsLayerCA::constrainedSize):
1115
1116 2010-05-21  David Hyatt  <hyatt@apple.com>
1117
1118         Reviewed by Dan Bernstein.
1119
1120         https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color.
1121
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).
1125
1126         Modified history/self-is-visited.html to also test background colors.
1127
1128         * WebCore.base.exp:
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:
1145         (WebCore::):
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):
1226         (WebCore::write):
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:
1236         (WebCore::):
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):
1257
1258 2010-05-21  Beth Dakin  <bdakin@apple.com>
1259
1260         Reviewed by Darin Adler.
1261
1262         Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic() 
1263         while running MangleMe
1264         -and corresponding-
1265         https://bugs.webkit.org/show_bug.cgi?id=39508
1266
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 
1270         operation.
1271
1272         * rendering/RenderListMarker.cpp:
1273         (WebCore::toAlphabeticOrNumeric):
1274
1275 2010-05-21  Oliver Hunt  <oliver@apple.com>
1276
1277         Qt buildfix #2
1278
1279         * bridge/qt/qt_runtime.cpp:
1280         (JSC::Bindings::convertQVariantToValue):
1281         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1282
1283 2010-05-21  Oliver Hunt  <oliver@apple.com>
1284
1285         Qt buildfix #1
1286
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):
1295
1296 2010-05-21  Geoffrey Garen  <ggaren@apple.com>
1297
1298         Reviewed by Oliver Hunt.
1299
1300         Fixed failure seen on buildbot (due to flaky test).
1301         
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.
1306
1307         * bindings/js/ScriptController.cpp:
1308         (WebCore::ScriptController::ScriptController):
1309         (WebCore::ScriptController::evaluateInWorld):
1310         * bindings/js/ScriptController.h:
1311
1312 2010-05-21  Oliver Hunt  <oliver@apple.com>
1313
1314         Reviewed by Geoffrey Garen.
1315
1316         All callable objects should have a global object reference
1317         https://bugs.webkit.org/show_bug.cgi?id=39495
1318
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.
1322
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:
1376
1377 2010-05-21  Steve Block  <steveblock@google.com>
1378
1379         Reviewed by Jeremy Orlow.
1380
1381         Add DeviceOrientation and DeviceOrientationClient
1382         https://bugs.webkit.org/show_bug.cgi?id=39479
1383
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.
1389
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.
1393
1394         * Android.mk:
1395         * CMakeLists.txt:
1396         * GNUmakefile.am:
1397         * WebCore.base.exp:
1398         * WebCore.gypi:
1399         * WebCore.pro:
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):
1408         * page/Page.cpp:
1409         (WebCore::Page::Page):
1410         * page/Page.h:
1411         (WebCore::Page::deviceOrientation):
1412         * svg/graphics/SVGImage.cpp:
1413         (WebCore::SVGImage::dataChanged):
1414
1415 2010-05-21  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
1416
1417         Reviewed by Simon Hausmann.
1418
1419         [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
1420         https://bugs.webkit.org/show_bug.cgi?id=38324
1421
1422         * platform/graphics/qt/GraphicsLayerQt.cpp:
1423         (WebCore::GraphicsLayerQtImpl::flushChanges):
1424
1425 2010-05-21  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
1426
1427         Reviewed by Darin Fisher.
1428
1429         Fix the HistoryController::pushState.
1430
1431         It should be possible to call the pushState method from
1432         the first page in a window.
1433
1434         history.pushState doesn't work for the first page in a window.
1435         https://bugs.webkit.org/show_bug.cgi?id=39418
1436
1437         * loader/HistoryController.cpp:
1438         (WebCore::HistoryController::pushState):
1439
1440 2010-05-21  Victoria Kirst  <vrk@google.com>
1441
1442         Reviewed by David Levin.
1443
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.
1447
1448         No new tests. (Covered by existing layout tests.)
1449
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
1454         this gap.
1455
1456 2010-05-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
1457
1458         Reviewed by Eric Seidel.
1459
1460         Extra processesArguments() calls in Document::processViewport
1461         https://bugs.webkit.org/show_bug.cgi?id=39358
1462
1463         The viewport arguments are only needed when there is a frame->page(),
1464         therefore we don't need to always call processArguments().
1465
1466         * dom/Document.cpp:
1467         (WebCore::Document::processViewport):
1468
1469 2010-05-17  Philippe Normand  <pnormand@igalia.com>
1470
1471         Reviewed by Eric Carlson.
1472
1473         [GStreamer] video painting support on mac port
1474         https://bugs.webkit.org/show_bug.cgi?id=39206
1475
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.
1478
1479         * platform/graphics/gstreamer/ImageGStreamer.h:
1480         * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added.
1481         (ImageGStreamer::createImage):
1482         (ImageGStreamer::ImageGStreamer):
1483         (ImageGStreamer::~ImageGStreamer):
1484
1485 2010-05-21  Robin Cao  <robin.cao@torchmobile.com.cn>
1486
1487         Reviewed by Eric Seidel.
1488
1489         animateTransform does not work on gradientTransform
1490         https://bugs.webkit.org/show_bug.cgi?id=38115
1491
1492         Tests: svg/animations/animate-gradient-transform.html
1493
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.
1499
1500 2010-05-21  Young Han Lee  <joybro@company100.net>
1501
1502         Reviewed by Eric Seidel.
1503
1504         Fix guard around DatabaseSync
1505         https://bugs.webkit.org/show_bug.cgi?id=38897
1506
1507         * storage/DatabaseSync.cpp:
1508
1509 2010-05-21  Simon Hausmann  <simon.hausmann@nokia.com>
1510
1511         [Qt] Prospective Qt/Mac build fix
1512
1513         My cpp is paranoid and doesn't like #if Q_WS_MAC:
1514         error: #if with no expression
1515
1516         * page/qt/EventHandlerQt.cpp:
1517
1518 2010-05-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1519
1520         Reviewed by Eric Seidel.
1521
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
1525
1526         No new tests required.
1527
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):
1558
1559 2010-05-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1560
1561         Reviewed by Eric Seidel.
1562
1563         [EF] Fix support for focus ring.
1564         https://bugs.webkit.org/show_bug.cgi?id=39387
1565
1566         No new tests required.
1567
1568         * html/HTMLAnchorElement.cpp: Add EFL to #ifdef
1569         (WebCore::HTMLAnchorElement::isMouseFocusable):
1570
1571 2010-05-21  Kwang Yul Seo  <skyul@company100.net>
1572
1573         Reviewed by Eric Seidel.
1574
1575         [BREWMP] Add missing localized string symbols.
1576         https://bugs.webkit.org/show_bug.cgi?id=39394
1577
1578         Add missingPluginText and crashedPluginText.
1579
1580         * platform/brew/LocalizedStringsBrew.cpp:
1581         (WebCore::missingPluginText):
1582         (WebCore::crashedPluginText):
1583
1584 2010-05-21  Steve Block  <steveblock@google.com>
1585
1586         Reviewed by Alexey Proskuryakov.
1587
1588         Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android
1589         https://bugs.webkit.org/show_bug.cgi?id=39426
1590
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.
1594
1595         No new tests, build fix only.
1596
1597         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1598         (JavaInstance::invokeMethod):
1599
1600 2010-05-20  Tony Chang  <tony@chromium.org>
1601
1602         Reviewed by Kent Tamura.
1603
1604         escape link text when copying or dragging links on win or chromium
1605         https://bugs.webkit.org/show_bug.cgi?id=39413
1606
1607         * editing/markup.cpp:
1608         (WebCore::urlToMarkup):
1609         * editing/markup.h:
1610         * platform/chromium/ClipboardUtilitiesChromium.cpp:
1611         * platform/chromium/ClipboardUtilitiesChromium.h:
1612         * platform/win/ClipboardUtilitiesWin.cpp:
1613         * platform/win/ClipboardUtilitiesWin.h:
1614
1615 2010-05-18  Philippe Normand  <pnormand@igalia.com>
1616
1617         Reviewed by Eric Carlson.
1618
1619         [GStreamer] PlatformMedia support
1620         https://bugs.webkit.org/show_bug.cgi?id=39300
1621
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.
1626
1627         * GNUmakefile.am:
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:
1639
1640 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
1641
1642         Reviewed by Eric Seidel.
1643
1644         [BREWMP] Add dummy SSLKeyGenerator
1645         https://bugs.webkit.org/show_bug.cgi?id=39403
1646
1647         Add dummy implementation of SSLKeyGenerator.
1648
1649         * platform/brew/SSLKeyGeneratorBrew.cpp: Added.
1650         (WebCore::WebCore::getSupportedKeySizes):
1651         (WebCore::WebCore::signedPublicKeyAndChallengeString):
1652
1653 2010-05-20  Mark Rowe  <mrowe@apple.com>
1654
1655         Rubber-stamped by Dan Bernstein.
1656
1657         <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
1658
1659         * platform/mac/EmptyProtocolDefinitions.h:
1660
1661 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
1662
1663         Reviewed by Eric Seidel.
1664
1665         [BREWMP] Add Editor
1666         https://bugs.webkit.org/show_bug.cgi?id=39404
1667
1668         Implement Editor::newGeneralClipboard.
1669
1670         * editing/brew/EditorBrew.cpp: Added.
1671         (WebCore::Editor::newGeneralClipboard):
1672
1673 2010-05-20  Simon Fraser  <simon.fraser@apple.com>
1674
1675         Reviewed by Adam Roben.
1676
1677         Avoid flushing CA layers when a layout is pending
1678         https://bugs.webkit.org/show_bug.cgi?id=39463
1679         <rdar://problem/7999463>
1680
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.
1683         
1684         This fixes flashes in some types of content that dynamically add and remove layers.
1685
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.
1689         
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):
1697
1698 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
1699
1700         Reviewed by Eric Seidel.
1701
1702         [BREWMP] Don't include CoreFoundation.h when building for BREW MP
1703         https://bugs.webkit.org/show_bug.cgi?id=39405
1704
1705         Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h.
1706
1707         * WebCorePrefix.h:
1708
1709 2010-05-20  Kwang Yul Seo  <skyul@company100.net>
1710
1711         Reviewed by Eric Seidel.
1712
1713         [BREWMP] Add ScrollTheme
1714         https://bugs.webkit.org/show_bug.cgi?id=39406
1715
1716         As BREW MP always uses frame flattening, there is no need to render scorllbars.
1717         Use the default scrollbar theme with thickness 0.
1718
1719         * platform/brew/ScrollbarThemeBrew.cpp: Added.
1720         (WebCore::ScrollbarTheme::nativeTheme):
1721         (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew):
1722         * platform/brew/ScrollbarThemeBrew.h: Added.
1723
1724 2010-05-20  Jon Honeycutt  <jhoneycutt@apple.com>
1725
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>
1729
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.
1734
1735         Reviewed by Simon Fraser.
1736
1737         * manual-tests/divx-plugin-fails-to-draw.html: Added.
1738
1739         * plugins/PluginView.cpp:
1740         (WebCore::PluginView::PluginView):
1741         Initialize new member to false.
1742
1743         * plugins/PluginView.h:
1744         Added new member.
1745
1746         * plugins/win/PluginViewWin.cpp:
1747         (WebCore::PluginView::paint):
1748         Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets
1749         called.
1750         (WebCore::PluginView::setNPWindowRect):
1751         Set m_haveCalledSetWindow.
1752
1753 2010-05-20  Fumitoshi Ukai  <ukai@chromium.org>
1754
1755         Reviewed by Alexey Proskuryakov.
1756
1757         WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76
1758         https://bugs.webkit.org/show_bug.cgi?id=35572
1759
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.
1762
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):
1774          use hostName.
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:
1788
1789 2010-05-20  Adam Roben  <aroben@apple.com>
1790
1791         Stop leaking all CACFContexts
1792
1793         Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>.
1794
1795         Reviewed by Simon Fraser.
1796
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.
1801
1802 2010-05-20  Young Han Lee  <joybro@company100.net>
1803
1804         Reviewed by Darin Adler.
1805
1806         Create filenameFromString for all ports except GTK and EFL.
1807         https://bugs.webkit.org/show_bug.cgi?id=39348
1808
1809         * platform/FileSystem.cpp: Added.
1810         (WebCore::filenameFromString):
1811         * platform/FileSystem.h:
1812
1813 2010-05-20  Young Han Lee  <joybro@company100.net>
1814
1815         Reviewed by Darin Adler.
1816
1817         Port SharedBuffer to POSIX.
1818         https://bugs.webkit.org/show_bug.cgi?id=39283
1819
1820         * platform/posix/SharedBufferPOSIX.cpp: Added.
1821         (WebCore::SharedBuffer::createWithContentsOfFile):
1822
1823 2010-05-20  Zhenyao Mo  <zmo@google.com>
1824
1825         Reviewed by Dimitri Glazkov.
1826
1827         Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage
1828         https://bugs.webkit.org/show_bug.cgi?id=39077
1829
1830         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1831         (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums.
1832
1833 2010-05-20  Dan Bernstein  <mitz@apple.com>
1834
1835         Reviewed by Dave Hyatt.
1836
1837         <rdar://problem/8007953> Textarea using custom font appears blank
1838
1839         Test: fast/css/font-face-in-shadow-DOM.html
1840
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.
1845
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.
1848
1849         * dom/Element.cpp:
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):
1871
1872 2010-05-20  Jer Noble  <jer.noble@apple.com>
1873
1874         No review; build fix only.
1875
1876         When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp
1877         must include CoreGraphics/CGContext.h.
1878
1879         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1880
1881 2010-05-20  Jer Noble  <jer.noble@apple.com>
1882
1883         Reviewed by Sam Weinig.
1884
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
1888
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).
1892         
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):
1901
1902 2010-05-20  Abhishek Arya  <inferno@chromium.org>
1903
1904         Reviewed by Adam Barth.
1905
1906         Added a method to check if the security origin can access
1907         password manager.
1908         https://bugs.webkit.org/show_bug.cgi?id=38916
1909
1910         * page/SecurityOrigin.h:
1911         (WebCore::SecurityOrigin::canAccessPasswordManager):
1912
1913 2010-05-20  Darin Adler  <darin@apple.com>
1914
1915         Reviewed by Eric Seidel.
1916
1917         Fix warnings seen on the buildbots today
1918         https://bugs.webkit.org/show_bug.cgi?id=39368
1919
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.
1924
1925         * page/EventHandler.cpp:
1926         (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested
1927         by warnings in newer versions of GCC.
1928
1929         * platform/ContextMenu.cpp: Fix #if around the functions to match the #if
1930         around the call sites to avoid unused function warning.
1931
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.
1936
1937         * platform/win/SystemTimeWin.cpp:
1938         (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO.
1939
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.
1943
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.
1947
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.
1955
1956 2010-05-20  Justin Schuh  <jschuh@chromium.org>
1957
1958         Reviewed by Adam Barth.
1959
1960         Moving frame.src checks out of the bindings
1961         https://bugs.webkit.org/show_bug.cgi?id=37815
1962
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).
1968
1969         * Android.jscbindings.mk:
1970         * CMakeLists.txt:
1971         * GNUmakefile.am:
1972         * WebCore.gypi:
1973         * WebCore.pro:
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):
2067
2068 2010-05-20  Adam Roben  <aroben@apple.com>
2069
2070         Fix an HRGN leak in WKCACFLayerRenderer
2071
2072         Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION
2073         (r53686-r55990): Graphics corruption when watching video (affects
2074         youtube.com)
2075
2076         Reviewed by Darin Adler.
2077
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.
2082
2083 2010-05-20  Darin Fisher  <darin@chromium.org>
2084
2085         Reviewed by Nate Chapin.
2086
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
2090
2091         This change also includes a small bit of cleanup in V8NPObject and
2092         friends.  I moved code into the WebCore namespace where appropriate.
2093         
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.
2098
2099         * bindings/v8/NPV8Object.cpp:
2100         (WebCore::v8ObjectToNPObject):
2101         (WebCore::npCreateV8ScriptObject):
2102         (_NPN_Invoke):
2103         (_NPN_InvokeDefault):
2104         (_NPN_Evaluate):
2105         (_NPN_EvaluateHelper):
2106         (_NPN_GetProperty):
2107         (_NPN_SetProperty):
2108         (_NPN_RemoveProperty):
2109         (_NPN_HasProperty):
2110         (_NPN_HasMethod):
2111         (_NPN_SetException):
2112         (_NPN_Enumerate):
2113         (_NPN_Construct):
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:
2125
2126 2010-05-20  Marcus Bulach  <bulach@chromium.org>
2127
2128         Reviewed by Steve Block.
2129
2130         Ensure timers are stopped on Geolocation::disconnectFrame()
2131         https://bugs.webkit.org/show_bug.cgi?id=39388
2132
2133         fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests.
2134
2135         * page/Geolocation.cpp:
2136         (WebCore::Geolocation::disconnectFrame):
2137
2138 2010-05-20  James Robinson  <jamesr@chromium.org>
2139
2140         Reviewed by Eric Seidel.
2141
2142         Ensures styles are up-to-date before determining selection
2143         https://bugs.webkit.org/show_bug.cgi?id=39389
2144
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.
2151
2152         Test: editing/selection/focus-and-display-none.html
2153
2154         * page/Frame.cpp:
2155         (WebCore::Frame::notifyRendererOfSelectionChange):
2156
2157 2010-05-20  Adam Roben  <aroben@apple.com>
2158
2159         Remove code that fetched, but did nothing useful with, a CFDictionary
2160         in MediaPlayerPrivateQuickTimeVisualContext
2161
2162         I also removed the code in QTPixelBuffer that vended the dictionary.
2163
2164         Fixes <http://webkit.org/b/39435> <rdar://problem/8009278>
2165         QTPixelBuffer passes CFDictionaries across the DLL boundary, which can
2166         lead to crashes
2167
2168         Reviewed by Darin Adler.
2169
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
2175         CoreFoundation.dll.
2176
2177         * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed
2178         forward declaration.
2179
2180         * platform/graphics/win/QTPixelBuffer.cpp:
2181         * platform/graphics/win/QTPixelBuffer.h:
2182         Removed the now-unused attachments function.
2183
2184 2010-05-20  Adam Roben  <aroben@apple.com>
2185
2186         Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext
2187
2188         Fixes <http://webkit.org/b/39432> <rdar://problem/8008992>
2189
2190         Reviewed by Ada Chan
2191
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.
2198
2199 2010-05-20  Jian Li  <jianli@chromium.org>
2200
2201         Reviewed by David Levin.
2202
2203         Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h.
2204         https://bugs.webkit.org/show_bug.cgi?id=39437
2205
2206         * dom/CrossThreadTask.h:
2207         (WebCore::):
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):
2225
2226 2010-05-20  Jian Li  <jianli@chromium.org>
2227
2228         Reviewed by David Levin.
2229
2230         Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory.
2231         https://bugs.webkit.org/show_bug.cgi?id=39135
2232
2233         * GNUmakefile.am:
2234         * WebCore.gypi:
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:
2244
2245 2010-05-20  Adele Peterson  <adele@apple.com>
2246
2247         Reviewed by Mark Rowe.
2248
2249         Remove the Safari welcome page site-specific quirk, since its no longer needed.
2250
2251         * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules):
2252
2253 2010-05-20  Steve Block  <steveblock@google.com>
2254
2255         Reviewed by Jeremy Orlow.
2256
2257         Provide bindings for DeviceOrientation
2258         https://bugs.webkit.org/show_bug.cgi?id=39210
2259
2260         Tests: fast/dom/DeviceOrientation/window-property.html
2261                fast/dom/Window/window-properties-on-device-orientation.html
2262
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.
2267
2268         * Android.derived.jscbindings.mk:
2269         * Android.derived.v8bindings.mk:
2270         * Android.mk:
2271         * Configurations/FeatureDefines.xcconfig:
2272         * DerivedSources.cpp:
2273         * DerivedSources.make:
2274         * GNUmakefile.am:
2275         * WebCore.gypi:
2276         * WebCore.pri:
2277         * WebCore.pro:
2278         * WebCore.xcodeproj/project.pbxproj:
2279         * bindings/js/JSEventCustom.cpp:
2280         (WebCore::toJS):
2281         * bindings/v8/custom/V8EventCustom.cpp:
2282         (WebCore::toV8):
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.
2293         * dom/Event.cpp:
2294         (WebCore::Event::isDeviceOrientationEvent):
2295         * dom/Event.h:
2296         * dom/EventNames.h:
2297         * page/DOMWindow.h:
2298         * page/DOMWindow.idl:
2299
2300 2010-05-20  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2301
2302         Rubberstamped by Antti Koivisto.
2303
2304         Use 0.15 as text drag delay when Q_WS_MAC is defined, which is
2305         consistent with the Mac OS X platform.
2306
2307         * page/qt/EventHandlerQt.cpp:
2308
2309 2010-05-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2310
2311         Reviewed by Simon Hausmann.
2312
2313         Fix painting when using clipToImageBuffer()
2314
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
2318         the parent painter.
2319
2320         * platform/graphics/qt/GraphicsContextQt.cpp:
2321         (WebCore::TransparencyLayer::TransparencyLayer):
2322
2323 2010-05-20  Adam Langley  <agl@chromium.org>
2324
2325         Reviewed by David Levin.
2326
2327         [chromium] Avoid crash when msttcorefonts aren't provided
2328
2329         https://bugs.webkit.org/show_bug.cgi?id=39015
2330         http://code.google.com/p/chromium/issues/detail?id=43831
2331
2332         * platform/graphics/chromium/FontCacheLinux.cpp:
2333         (WebCore::FontCache::createFontPlatformData):
2334
2335 2010-05-20  Zoltan Herczeg  <zherczeg@webkit.org>
2336
2337         Reviewed by Dirk Schulze.
2338
2339         Fix a crash caused by feLigthing::apply()
2340         https://bugs.webkit.org/show_bug.cgi?id=39004
2341
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).
2345
2346         Test: svg/filters/feLighting-crash.svg
2347
2348         * svg/graphics/filters/SVGFELighting.cpp:
2349         (WebCore::FELighting::apply):
2350
2351 2010-05-20  Chris Jerdonek  <cjerdonek@webkit.org>
2352
2353         Reviewed by Eric Seidel.
2354
2355         Modified FrameLoader::urlSelected() to accept a KURL instead of a
2356         ResourceRequest.
2357
2358         https://bugs.webkit.org/show_bug.cgi?id=39320
2359
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.
2364
2365         No new functionality, so no new tests.
2366
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().
2375
2376 2010-05-20  MORITA Hajime  <morrita@google.com>
2377
2378         Reviewed by Kent Tamura.
2379
2380         2x execCommand ReadAV@NULL
2381         https://bugs.webkit.org/show_bug.cgi?id=35791
2382
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.
2388
2389         Test: editing/execCommand/35791.html
2390
2391         * dom/Position.h:
2392         (WebCore::Position::isOrphan):
2393         * editing/ApplyStyleCommand.cpp:
2394         (WebCore::ApplyStyleCommand::applyBlockStyle):
2395         * editing/VisiblePosition.h:
2396         (WebCore::VisiblePosition::isOrphan):
2397
2398 2010-05-20  Steve Block  <steveblock@google.com>
2399
2400         Reviewed by Eric Seidel.
2401
2402         PluginView contains JSC-specific code
2403         https://bugs.webkit.org/show_bug.cgi?id=38907
2404
2405         Build fix only, no new tests.
2406
2407         * plugins/PluginView.cpp:
2408         (WebCore::PluginView::start):
2409         (WebCore::PluginView::stop):
2410         (WebCore::PluginView::performRequest):
2411         * plugins/PluginView.h:
2412
2413 2010-05-17  Philippe Normand  <pnormand@igalia.com>
2414
2415         Reviewed by Eric Seidel.
2416
2417         [GStreamer] enable gst support if USE_GSTREAMER macro is defined
2418         https://bugs.webkit.org/show_bug.cgi?id=39205
2419
2420         Include gstreamer private player in the build when the
2421         USE_GSTREAMER macro is enabled.
2422
2423         * platform/graphics/MediaPlayer.cpp:
2424         (WebCore::installedMediaEngines):
2425
2426 2010-05-19  Vangelis Kokkevis  <vangelis@chromium.org>
2427
2428         Reviewed by Darin Fisher.
2429
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
2434
2435         Tests: Covered by existing compositing tests.
2436
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:
2456         (WebCore::):
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::):
2480
2481 2010-05-19  Andrey Kosyakov  <caseq@chromium.org>
2482
2483         Reviewed by Timothy Hatcher.
2484
2485         Maintain focus on help screen while it's active.
2486         https://bugs.webkit.org/show_bug.cgi?id=39237
2487
2488         * inspector/front-end/HelpScreen.js:
2489         (WebInspector.HelpScreen):
2490         (WebInspector.HelpScreen.prototype.show):
2491         (WebInspector.HelpScreen.prototype._hide):
2492         (WebInspector.HelpScreen.prototype._onBlur):
2493
2494 2010-05-19  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
2495
2496         Reviewed by Kenneth Rohde Christiansen.
2497
2498         Crash fix in the HistoryController.
2499
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.
2503
2504         A null check was added.
2505
2506         [Qt] The QWebPage crashes on history.pushState().
2507         https://bugs.webkit.org/show_bug.cgi?id=38840
2508
2509         * loader/HistoryController.cpp:
2510         (WebCore::HistoryController::pushState):
2511         (WebCore::HistoryController::replaceState):
2512
2513 2010-05-19  Darin Fisher  <darin@chromium.org>
2514
2515         Revert r59790 due to failing Chromium npruntime tests.
2516
2517         * bindings/v8/NPV8Object.cpp:
2518         (v8ObjectToNPObject):
2519         (npCreateV8ScriptObject):
2520         (_NPN_Invoke):
2521         (_NPN_InvokeDefault):
2522         (_NPN_Evaluate):
2523         (_NPN_EvaluateHelper):
2524         (_NPN_GetProperty):
2525         (_NPN_SetProperty):
2526         (_NPN_RemoveProperty):
2527         (_NPN_HasProperty):
2528         (_NPN_HasMethod):
2529         (_NPN_SetException):
2530         (_NPN_Enumerate):
2531         (_NPN_Construct):
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:
2541
2542 2010-05-19  Gavin Barraclough  <barraclough@apple.com>
2543
2544         Rubber Stamped by Sam Weinig.
2545
2546         JSFunctions are no longer a subclass of InternalFunction.
2547
2548         * bindings/js/ScriptCallStack.cpp:
2549         (WebCore::ScriptCallStack::ScriptCallStack):
2550         (WebCore::ScriptCallStack::initialize):
2551         * bindings/js/ScriptCallStack.h:
2552
2553 2010-05-19  Jian Li  <jianli@chromium.org>
2554
2555         Reviewed by Alexey Proskuryakov.
2556
2557         Refactor text encoding detection logic in FileReader.
2558         https://bugs.webkit.org/show_bug.cgi?id=39131
2559
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
2565         encoding.
2566
2567         * html/FileReader.cpp:
2568         (WebCore::FileReader::convertToText):
2569         * html/FileReader.h:
2570
2571 2010-05-19  Abhishek Arya  <inferno@chromium.org>
2572
2573         Reviewed by David Hyatt.
2574
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    
2578
2579         Test: fast/text/text-transform-nontext-node-crash.xhtml
2580
2581         * rendering/RenderText.cpp:
2582         (WebCore::RenderText::originalText):
2583         * rendering/RenderTextFragment.cpp:
2584         (WebCore::RenderTextFragment::originalText):
2585         (WebCore::RenderTextFragment::previousCharacter):
2586
2587 2010-05-19  Yaar Schnitman  <yaar@chromium.org>
2588
2589         Reviewed by Eric Seidel.
2590
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
2593
2594         * bindings/scripts/CodeGeneratorJS.pm:
2595         * bindings/scripts/test/JS/JSTestInterface.cpp:
2596         (WebCore::):
2597         * bindings/scripts/test/JS/JSTestObj.cpp:
2598         (WebCore::):
2599
2600 2010-05-19  Darin Fisher  <darin@chromium.org>
2601
2602         Reviewed by Nate Chapin.
2603
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
2607
2608         This change also includes a small bit of cleanup in V8NPObject and
2609         friends.  I moved code into the WebCore namespace where appropriate.
2610         
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.
2615
2616         * bindings/v8/NPV8Object.cpp:
2617         (WebCore::v8ObjectToNPObject):
2618         (WebCore::npCreateV8ScriptObject):
2619         (_NPN_Invoke):
2620         (_NPN_InvokeDefault):
2621         (_NPN_Evaluate):
2622         (_NPN_EvaluateHelper):
2623         (_NPN_GetProperty):
2624         (_NPN_SetProperty):
2625         (_NPN_RemoveProperty):
2626         (_NPN_HasProperty):
2627         (_NPN_HasMethod):
2628         (_NPN_SetException):
2629         (_NPN_Enumerate):
2630         (_NPN_Construct):
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:
2641
2642 2010-05-19  Yaar Schnitman  <yaar@chromium.org>
2643
2644         Unreviewed, rolling out r59769.
2645         http://trac.webkit.org/changeset/59769
2646         https://bugs.webkit.org/show_bug.cgi?id=37815
2647
2648         Broke GTK again
2649
2650         * Android.jscbindings.mk:
2651         * CMakeLists.txt:
2652         * GNUmakefile.am:
2653         * WebCore.gypi:
2654         * WebCore.pro:
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):
2740
2741 2010-05-19  Dirk Pranke  <dpranke@chromium.org>
2742
2743         Try again to roll out r58675.
2744
2745         * notifications/Notification.h:
2746         * notifications/Notification.idl:
2747
2748 2010-05-19  Enrica Casucci  <enrica@apple.com>
2749
2750         Reviewed by Dave Hyatt.
2751
2752         REGRESSION (r59385) crash destroying inline renderers
2753         https://bugs.webkit.org/show_bug.cgi?id=39143
2754         <rdar://problem/8003662>
2755         
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.
2762         
2763         Test: fast/inline-block/anonymous-block-crash.html
2764
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.
2768
2769 2010-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2770
2771         Unreviewed, rolling out r59782.
2772         http://trac.webkit.org/changeset/59782
2773         https://bugs.webkit.org/show_bug.cgi?id=39379
2774
2775         broke DRT build (Requested by dpranke on #webkit).
2776
2777         * notifications/Notification.h:
2778         (WebCore::Notification::dir):
2779         (WebCore::Notification::setDir):
2780         (WebCore::Notification::replaceId):
2781         (WebCore::Notification::setReplaceId):
2782         * notifications/Notification.idl:
2783
2784 2010-05-18  David Hyatt  <hyatt@apple.com>
2785
2786         Reviewed by Oliver Hunt.
2787
2788         https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts.
2789         
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.
2793         
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.
2798         
2799         We then recur from the outside in, applying clipping and translation as we break up the layer into strips.
2800         
2801         Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right
2802         column.
2803         
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).
2807         
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.
2810         
2811         Added fast/multicol/layers-split-across-columns.html
2812
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):
2836
2837 2010-05-18  Dirk Pranke  <dpranke@chromium.org>
2838
2839         Reviewed by Dimitri Glazkov.
2840
2841         Attempt to revert r58765 to see if it was causing a performance
2842         regression.
2843
2844         https://bugs.webkit.org/show_bug.cgi?id=39328
2845
2846         * notifications/Notification.h:
2847         * notifications/Notification.idl:
2848
2849 2010-05-19  Kevin Watters  <kevinwatters@gmail.com>
2850
2851         Reviewed by Kevin Ollivier.
2852
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
2856         
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):
2863
2864 2010-05-19  Marcus Bulach  <bulach@chromium.org>
2865
2866         Reviewed by Eric Seidel.
2867
2868         Fixes Windows Qt Release post r59772.
2869         https://bugs.webkit.org/show_bug.cgi?id=39369
2870
2871         * platform/GeolocationService.cpp:
2872
2873 2010-05-19  Eric Seidel  <eric@webkit.org>
2874
2875         Reviewed by Adam Barth.
2876
2877         Add support for handling basic <script> tags in the HTML5 Parser
2878         https://bugs.webkit.org/show_bug.cgi?id=39350
2879
2880         WebKit currently executes scripts from HTMLTokenizer in one giagantic
2881         hack.  HTML 5 requires that we execute scripts from the tree-builders/parser.
2882
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.
2888
2889         <script> support is tested by most of the layout tests.
2890
2891         * dom/ScriptElement.cpp:
2892         (WebCore::useHTML5Parser):
2893         (WebCore::ScriptElement::finishParsingChildren):
2894
2895 2010-05-19  Anders Carlsson  <andersca@apple.com>
2896
2897         Reviewed by Sam Weinig.
2898
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>
2902
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).
2905         
2906         The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same.
2907
2908         * dom/Element.cpp:
2909         (WebCore::Element::createAttributeMap):
2910         * dom/Element.h:
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):
2918         * dom/Node.cpp:
2919         (WebCore::Node::dumpStatistics):
2920         * dom/StyledElement.cpp:
2921         * dom/StyledElement.h:
2922
2923 2010-05-19  Sam Weinig  <sam@webkit.org>
2924
2925         Reviewed by Anders Carlsson.
2926
2927         Use ASSERT_UNUSED instead of UNUSED_PARAM.
2928
2929         * dom/Attribute.cpp:
2930         (WebCore::Attribute::unbindAttr):
2931
2932 2010-05-19  Sam Weinig  <sam@webkit.org>
2933
2934         Rubber-stamped by Anders Carlsson.
2935
2936         Complete the merge of MappedAttribute and Attribute.
2937
2938         Files elided for brevity.
2939
2940 2010-05-19  Marcus Bulach  <bulach@chromium.org>
2941
2942         Reviewed by Steve Block.
2943
2944         [chromium] Adds supports for layout tests using GeolocationServiceMock.
2945         https://bugs.webkit.org/show_bug.cgi?id=39081
2946
2947         Allows injection of GeolocationServiceMock factory.
2948
2949         Tests: existing fast/dom/Geolocation/*
2950
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):
2957
2958 2010-05-19  Justin Schuh  <jschuh@chromium.org>
2959
2960         Reviewed by Adam Barth.
2961
2962         Moving frame.src checks out of the bindings
2963         https://bugs.webkit.org/show_bug.cgi?id=37815
2964
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).
2970
2971         * Android.jscbindings.mk:
2972         * CMakeLists.txt:
2973         * GNUmakefile.am:
2974         * WebCore.gypi:
2975         * WebCore.pro:
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):
3069
3070 2010-05-19  Andreas Kling  <andreas.kling@nokia.com>
3071
3072         Reviewed by Darin Adler.
3073
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.
3077
3078         Also, shadowColor should initially be transparent black (4.8.11.1.6)
3079
3080         https://bugs.webkit.org/show_bug.cgi?id=38845
3081
3082         Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string.
3083
3084         Spec links:
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
3087
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:
3109
3110 2010-05-19  Andreas Kling  <andreas.kling@nokia.com>
3111
3112         Reviewed by Simon Hausmann.
3113
3114         [Qt] REGRESSION: CoolClock isn't rendered properly
3115
3116         https://bugs.webkit.org/show_bug.cgi?id=38526
3117
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.
3122
3123         Spec link:
3124         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
3125
3126         Test: fast/canvas/canvas-arc-connecting-line.html
3127
3128         * platform/graphics/qt/PathQt.cpp:
3129         (WebCore::Path::addArc):
3130
3131 2010-05-19  Alexander Pavlov  <apavlov@chromium.org>
3132
3133         Reviewed by Jeremy Orlow.
3134
3135         Fix whitespace for the bug 38906
3136         https://bugs.webkit.org/show_bug.cgi?id=39351
3137
3138         No new tests required (no code change).
3139
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):
3189         * css/CSSParser.h:
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):
3204
3205 2010-05-19  Steve Block  <steveblock@google.com>
3206
3207         Reviewed by Nate Chapin.
3208
3209         V8 code generator does not add ENABLE guards around attribute getters and setters
3210         https://bugs.webkit.org/show_bug.cgi?id=39222
3211
3212         No new tests, build fix only.
3213
3214         * bindings/scripts/CodeGeneratorV8.pm:
3215
3216 2010-05-19  Jeremy Orlow  <jorlow@chromium.org>
3217
3218         Unreviewed build fix for Chromium.
3219
3220         * storage/IndexedDatabaseImpl.cpp:
3221
3222 2010-05-17  Jeremy Orlow  <jorlow@chromium.org>
3223
3224         Reviewed by Darin Fisher.
3225
3226         Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
3227         https://bugs.webkit.org/show_bug.cgi?id=39216
3228
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.
3232
3233         Also change passing security origin strings to passing SecurityOrigin
3234         objects.
3235
3236         No behavior change because Chromium was emulating the old behavior before
3237         even though the code wasn't properly hooked up.
3238
3239         * storage/IndexedDatabase.h:
3240         * storage/IndexedDatabaseImpl.cpp:
3241         (WebCore::IndexedDatabaseImpl::open):
3242         * storage/IndexedDatabaseImpl.h:
3243         * storage/IndexedDatabaseRequest.cpp:
3244         (WebCore::IndexedDatabaseRequest::open):
3245
3246 2010-05-19  Ben Murdoch  <benm@google.com>
3247
3248         Reviewed by Darin Adler.
3249
3250         Touch events are marked DontEnum in DOMWindow.idl
3251         https://bugs.webkit.org/show_bug.cgi?id=39118
3252
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.
3256
3257         * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend,
3258             touchstart and touchmove attributes.
3259
3260 2010-05-19  Simon Hausmann  <simon.hausmann@nokia.com>
3261
3262         [Qt] Fix build warning
3263
3264         NamedAttrMap.h has been renamed to NamedNodeMap.h
3265
3266         * WebCore.pro:
3267
3268 2010-05-19  Eric Seidel  <eric@webkit.org>
3269
3270         Reviewed by Adam Barth.
3271
3272         Add an HTML parsing benchmark
3273         https://bugs.webkit.org/show_bug.cgi?id=39338
3274
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
3278         standard deviation.
3279
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.
3283
3284         * benchmarks/parser/html-parser.html: Added.
3285         * benchmarks/parser/resources/html5.html: Added.
3286
3287 2010-05-18  Yuzo Fujishima  <yuzo@google.com>
3288
3289         Reviewed by Shinichiro Hamaji.
3290
3291         Make CSS Parser properly handle only-for-pages pseudo-classes.
3292
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.
3296
3297         https://bugs.webkit.org/show_bug.cgi?id=38731
3298
3299         * css/CSSGrammar.y:
3300         * css/CSSParser.cpp:
3301         (WebCore::CSSParser::createMarginAtRule):
3302         * css/CSSParser.h:
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):
3310
3311 2010-05-19  Adam Barth  <abarth@webkit.org>
3312
3313         Reviewed by David Hyatt.
3314
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
3317
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.
3320
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):
3333
3334 2010-05-18  Eric Seidel  <eric@webkit.org>
3335
3336         Reviewed by Maciej Stachowiak.
3337
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
3340
3341         No functional changes, only moving code into smaller functions.
3342
3343         This code is already covered by numerous layout tests.
3344
3345         HTML parsing benchmark shows this to be a wash.
3346
3347         * dom/Tokenizer.h:
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:
3360
3361 2010-05-18  Adam Barth  <abarth@webkit.org>
3362
3363         Reviewed by Eric Seidel.
3364
3365         Make the HTML5 parser correctly parse <div>Hello</div>
3366         https://bugs.webkit.org/show_bug.cgi?id=39345
3367
3368         Again, this patch is covered by a large number of LayoutTests.
3369
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):
3384
3385 2010-05-18  Adam Barth  <abarth@webkit.org>
3386
3387         Reviewed by Eric Seidel.
3388
3389         Make the HTML5 parser actually parse <div></div>
3390         https://bugs.webkit.org/show_bug.cgi?id=39342
3391
3392         This patch is covered by every LayoutTest.  Yes.  All of them.  :)
3393
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):
3412
3413 2010-05-18  Tony Chang  <tony@chromium.org>
3414
3415         Reviewed by Ojan Vafai.
3416
3417         REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
3418         https://bugs.webkit.org/show_bug.cgi?id=38232
3419
3420         Test: editing/execCommand/crash-indenting-list-item.html
3421
3422         * editing/IndentOutdentCommand.cpp:
3423         (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
3424         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
3425
3426 2010-05-18  Kent Tamura  <tkent@chromium.org>
3427
3428         Reviewed by Darin Adler.
3429
3430         ':optional' pseudo selector should not be applied to <keygen> and <progress>
3431         https://bugs.webkit.org/show_bug.cgi?id=39292
3432
3433         Test: fast/css/pseudo-required-optional-unapplied.html
3434
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().
3443
3444 2010-05-18  Adam Barth  <abarth@webkit.org>
3445
3446         Reviewed by Eric Seidel.
3447
3448         Implement the DOCTYPE states for the HTML5 lexer
3449         https://bugs.webkit.org/show_bug.cgi?id=39335
3450
3451         * html/HTML5Lexer.cpp:
3452         (WebCore::HTML5Lexer::nextToken):
3453         (WebCore::emitCurrentDoctypeToken):
3454         * html/HTML5Lexer.h:
3455
3456 2010-05-18  Tony Chang  <tony@chromium.org>
3457
3458         Reviewed by Ojan Vafai.
3459
3460         [chromium] ignore IME events if the keydown event was prevented
3461         https://bugs.webkit.org/show_bug.cgi?id=37692
3462
3463         A manual test to verify the IME behavior since the existing methods of
3464         textInputController test at a lower level than the fix.
3465
3466         * manual-tests/ime-keydown-preventdefault.html: Added.
3467
3468 2010-05-18  Sam Weinig  <sam@webkit.org>
3469
3470         Fix the build for platforms that don't always include UnusedParam.h
3471
3472         * dom/Attribute.cpp:
3473
3474 2010-05-18  MORITA Hajime  <morrita@google.com>
3475
3476         Reviewed by Kent Tamura.
3477
3478         [Chromium] Windows: Determinate progress bar should have glossy overlay
3479         https://bugs.webkit.org/show_bug.cgi?id=39269
3480         
3481         - Moved animation code from RenderThemeChromiumWin to chromium tree
3482           because it should be behind the theme implementation, which lives
3483           in chromium tree.
3484         - Passed current time to the bridge, which will be used to compute
3485           the state of the theme animation.
3486         
3487         No new tests, animation effect can be confirmed only manually.
3488         
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):
3495
3496 2010-05-18  Sam Weinig  <sam@webkit.org>
3497
3498         Fix release build.
3499
3500         * dom/Attribute.cpp:
3501         (WebCore::Attribute::unbindAttr):
3502
3503 2010-05-18  Sam Weinig  <sam@webkit.org>
3504
3505         Reviewed by Maciej Stachowiak.
3506
3507         Move Attr pointer from Attribute to a global HashMap.
3508         https://bugs.webkit.org/show_bug.cgi?id=39337
3509         <rdar://problem/8001168>
3510
3511         Shaves another word off of Attribute.
3512
3513         * dom/Attr.cpp:
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):
3522         * dom/Attribute.h:
3523         (WebCore::Attribute::Attribute):
3524
3525 2010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
3526
3527         Unreviewed, forgot to svn add source file in r59619.
3528         http://trac.webkit.org/changeset/59619
3529
3530         * platform/image-decoders/openvg: Added.
3531         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
3532         (WebCore::RGBA32Buffer::asNewNativeImage):
3533
3534 2010-05-18  Yaar Schnitman  <yaar@chromium.org>
3535
3536         Unreviewed, rolling out r59693.
3537         http://trac.webkit.org/changeset/59693
3538         https://bugs.webkit.org/show_bug.cgi?id=37815
3539
3540         Broke GTK Release
3541
3542         * Android.jscbindings.mk:
3543         * CMakeLists.txt:
3544         * GNUmakefile.am:
3545         * WebCore.gypi:
3546         * WebCore.pro:
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):
3632
3633 2010-05-18  Adam Barth  <abarth@webkit.org>
3634
3635         Reviewed by Eric Seidel.
3636
3637         Implement comment states for HTML5 lexer
3638         https://bugs.webkit.org/show_bug.cgi?id=39334
3639
3640         * html/HTML5Lexer.cpp:
3641         (WebCore::HTML5Lexer::nextToken):
3642
3643 2010-05-18  Anders Carlsson  <andersca@apple.com>
3644
3645         Reviewed by Sam Weinig.
3646
3647         Move all member variables from MappedAttribute to Attribute.
3648         https://bugs.webkit.org/show_bug.cgi?id=39336
3649         <rdar://problem/8000853>
3650
3651         This saves one word because we no longer have any virtual member functions in Attribute, and
3652         thus no vtable pointer.
3653         
3654         I plan to remove MappedAttribute altogether in a subsequent commit.
3655
3656         * Android.mk:
3657         * GNUmakefile.am:
3658         * WebCore.gypi:
3659         * WebCore.pro:
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):
3666         * dom/Attribute.h:
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):
3687
3688 2010-05-18  Tony Chang  <tony@chromium.org>
3689
3690         Reviewed by Darin Adler.
3691
3692         https://bugs.webkit.org/show_bug.cgi?id=24943
3693         Command-B and Command-I do not generate keydown events in contentEditable regions.
3694
3695         * manual-tests/style-keypress-events.html: Added.
3696
3697 2010-05-18  Adam Barth  <abarth@webkit.org>
3698
3699         Reviewed by Eric Seidel.
3700
3701         Add more state to the HTML5 lexer
3702         https://bugs.webkit.org/show_bug.cgi?id=39333
3703
3704         This code is just transliteration from the spec.
3705
3706         * html/HTML5Lexer.cpp:
3707         (WebCore::HTML5Lexer::HTML5Lexer):
3708         (WebCore::HTML5Lexer::nextToken):
3709         * html/HTML5Lexer.h:
3710
3711 2010-05-18  Adam Barth  <abarth@webkit.org>
3712
3713         Reviewed by Eric Seidel.
3714
3715         Implement two more lexer states
3716         https://bugs.webkit.org/show_bug.cgi?id=39298
3717
3718         No tests because Eric is still working on wiring up the lexer to the
3719         test harness.
3720
3721         * html/HTML5Lexer.cpp:
3722         (WebCore::HTML5Lexer::nextToken):
3723         (WebCore::HTML5Lexer::emitParseError):
3724         (WebCore::HTML5Lexer::emitCurrentTagToken):
3725         * html/HTML5Lexer.h:
3726
3727 2010-05-18  Brady Eidson  <beidson@apple.com>
3728
3729         Reviewed by Maciej Stachowiak.
3730
3731         Repro crash with many Google image search results
3732         <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323
3733
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.
3736
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.
3739
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.
3741
3742         Test: fast/loader/sandboxed-plugin-crash.html
3743
3744         * CMakeLists.txt:
3745         * GNUmakefile.am:
3746         * WebCore.gypi:
3747         * WebCore.pro:
3748         * WebCore.vcproj/WebCore.vcproj:
3749         * WebCore.xcodeproj/project.pbxproj:
3750
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.
3754
3755         * loader/PluginDocument.h:
3756         (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).
3757
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):
3772
3773 2010-05-18  Sam Weinig  <sam@webkit.org>
3774
3775         Reviewed by Anders Carlsson.
3776
3777         https://bugs.webkit.org/show_bug.cgi?id=39321
3778         Reduce the size of ListHashSets used by Document
3779         <rdar://problem/7999388>
3780
3781         Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
3782         of the ListHashSets used by Document.
3783
3784         * dom/Document.cpp:
3785         (WebCore::Document::addStyleSheetCandidateNode):
3786         (WebCore::Document::recalcStyleSelector):
3787         * dom/Document.h:
3788
3789 2010-05-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3790
3791         Rubberstamped by Simon Hausmann.
3792
3793         Return null when creating an ImageBuffer failed, due to for
3794         instance a nulled pixmap.
3795
3796         * platform/graphics/qt/ImageBufferQt.cpp:
3797         (WebCore::ImageBufferData::ImageBufferData):
3798         (WebCore::ImageBuffer::ImageBuffer):
3799
3800 2010-05-18  Jian Li  <jianli@chromium.org>
3801
3802         Reviewed by Dmitry Titov.
3803
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
3806
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.
3810
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::):
3825
3826 2010-05-18  Simon Fraser  <simon.fraser@apple.com>
3827
3828         Reviewed by Darin Adler.
3829
3830         Clean up GraphicsLayer naming code
3831         https://bugs.webkit.org/show_bug.cgi?id=39316
3832
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.
3835
3836         * rendering/RenderLayerBacking.cpp:
3837         (WebCore::RenderLayerBacking::createGraphicsLayer):
3838         (WebCore::RenderLayerBacking::updateForegroundLayer):
3839         (WebCore::RenderLayerBacking::nameForLayer):
3840         * rendering/RenderLayerBacking.h:
3841
3842 2010-05-18  Justin Schuh  <jschuh@chromium.org>
3843
3844         Reviewed by Adam Barth.
3845
3846         Moving frame.src checks out of the bindings
3847         https://bugs.webkit.org/show_bug.cgi?id=37815
3848
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).
3854
3855         * Android.jscbindings.mk:
3856         * CMakeLists.txt:
3857         * GNUmakefile.am:
3858         * WebCore.gypi:
3859         * WebCore.pro:
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):
3953
3954 2010-05-18  Drew Wilson  <atwilson@chromium.org>
3955
3956         Unreviewed: Speculative build fix for Chromium win.
3957
3958         * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
3959
3960 2010-05-18  Drew Wilson  <atwilson@chromium.org>
3961
3962         Unreviewed fix for Chromium build break.
3963
3964         * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
3965
3966 2010-05-18  Daniel Cheng  <dcheng@chromium.org>
3967
3968         Reviewed by Darin Adler, Jian Li.
3969
3970         DragData::asURL() shouldn't do file validity checks
3971         https://bugs.webkit.org/show_bug.cgi?id=38711
3972
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)
3979
3980         * platform/chromium/DragDataChromium.cpp:
3981         (WebCore::DragData::asURL):
3982
3983 2010-05-18  Timothy Hatcher  <timothy@apple.com>
3984
3985         Fix a handful of various localization issues in the Web Inspector.
3986
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.
3992
3993         https://webkit.org/b/39303
3994         rdar://problem/7997101
3995
3996         Reviewed by Adam Roben.
3997
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):
4035
4036 2010-05-18  Sam Weinig  <sam@webkit.org>
4037
4038         Another attempt to fix the build.
4039
4040         * css/CSSCursorImageValue.cpp:
4041
4042 2010-05-18  Adam Roben  <aroben@apple.com>
4043
4044         Make accelerated compositing work on machines that don't support
4045         hardware vertex processing
4046
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
4050
4051         Reviewed by Eric Carlson.
4052
4053         * platform/graphics/win/WKCACFLayerRenderer.cpp:
4054         (WebCore::WKCACFLayerRenderer::createRenderer): Query the device
4055         capabilities to decide whether to request hardware or software vertex
4056         processing.
4057
4058 2010-05-18  Adam Roben  <aroben@apple.com>
4059
4060         Make WKCACFLayerRenderer robust against temporary failure of
4061         Direct3DCreate9 and IDirect3D9::CreateDevice
4062
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.
4070
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
4074
4075         Reviewed by John Sullivan.
4076
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.
4080
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
4097         device.
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.
4102
4103         * platform/graphics/win/WKCACFLayerRenderer.h: Replaced
4104         m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.
4105
4106 2010-05-18  Adam Roben  <aroben@apple.com>
4107
4108         Fix a crash when a page that uses accelerated compositing loads soon
4109         after the computer wakes from sleep
4110
4111         The set-up:
4112
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.
4118
4119         The fix:
4120
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
4125         fails.
4126
4127         There are two remaining problems:
4128           1) This results in slightly more memory usage in the case where
4129              CreateDevice fails.
4130           2) Once we get into this bad state, the WebView doesn't repaint
4131              until we navigate somewhere else.
4132
4133         (2) is covered by
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().)
4139
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
4143
4144         Reviewed by John Sullivan.
4145
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.
4150
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.
4155
4156 2010-05-18  Adam Roben  <aroben@apple.com>
4157
4158         Remove an unused member variable from WKCACFLayerRenderer
4159
4160         Rubber-stamped by Ada Chan.
4161
4162         * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,
4163         which is unused.
4164
4165 2010-05-18  Anders Carlsson  <andersca@apple.com>
4166
4167         Reviewed by Sam Weinig.
4168
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>
4172
4173         This saves about 6000 bytes on a fully loaded document.
4174
4175         * loader/DocLoader.cpp:
4176         (WebCore::DocLoader::requestPreload):
4177         (WebCore::DocLoader::clearPreloads):
4178         * loader/DocLoader.h:
4179
4180 2010-05-18  Anders Carlsson  <andersca@apple.com>
4181
4182         Revert unintended indentation and unnecessary nested name specifier.
4183
4184         * rendering/RenderBlock.cpp:
4185         (WebCore::clipOutPositionedObjects):
4186         (WebCore::RenderBlock::insertPositionedObject):
4187
4188 2010-05-18  Anders Carlsson  <andersca@apple.com>
4189
4190         Reviewed by Sam Weinig.
4191
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>
4195
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.
4198
4199         * WebCore.base.exp:
4200         * rendering/RenderBlock.cpp:
4201         (WebCore::clipOutPositionedObjects):
4202         (WebCore::RenderBlock::insertPositionedObject):
4203         * rendering/RenderBlock.h:
4204         (WebCore::RenderBlock::positionedObjects):
4205
4206 2010-05-17  Sam Weinig  <sam@webkit.org>
4207
4208         Reviewed by Darin Adler.
4209
4210         https://bugs.webkit.org/show_bug.cgi?id=39258
4211         Remove NamedAttrMap residual gunk
4212
4213         Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
4214         it contained.
4215
4216         * CMakeLists.txt:
4217         * GNUmakefile.am:
4218         * WebCore.gypi:
4219         * WebCore.pro:
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:
4229
4230 2010-05-18  Brady Eidson  <beidson@apple.com>
4231
4232         Reviewed by Eric Carlson.
4233
4234         <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org
4235
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.
4238
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.
4242         
4243         No new tests. (Currently no way to test such site specific hack behavior)
4244
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:
4250
4251 2010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
4252
4253         Reviewed by Dirk Schulze.
4254
4255         [OpenVG] Fix stupid build errors from the OpenVG Path commit
4256         https://bugs.webkit.org/show_bug.cgi?id=39228
4257
4258         * platform/graphics/openvg/PainterOpenVG.cpp:
4259         (WebCore::PainterOpenVG::clipPath):
4260         * platform/graphics/openvg/PathOpenVG.cpp:
4261         (WebCore::Path::transform):
4262
4263 2010-05-18  Chris Jerdonek  <cjerdonek@webkit.org>
4264
4265         Reviewed by Darin Adler.
4266
4267         Refactored FrameLoader::isDocumentSandboxed() from a private member function
4268         to a static, non-member, non-friend function.
4269
4270         https://bugs.webkit.org/show_bug.cgi?id=39157
4271
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.
4276
4277         No new functionality, so no new tests.
4278
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.
4294
4295 2010-05-08  Robert Hogan  <robert@roberthogan.net>
4296
4297         Reviewed by Simon Hausmann.
4298
4299         [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
4300              and http/tests/xmlhttprequest/cross-origin-authorization.html
4301
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.
4309
4310         QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
4311         unless withCredentials is set to true in the XHR.
4312
4313         QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
4314         is set to true in the XHR.
4315
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.
4322
4323         The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
4324
4325         https://bugs.webkit.org/show_bug.cgi?id=32967
4326
4327         * platform/network/qt/ResourceRequestQt.cpp:
4328         (WebCore::ResourceRequest::toNetworkRequest):
4329
4330 2010-05-18  Zoltan Herczeg  <zherczeg@webkit.org>
4331
4332         Reviewed by Kenneth Rohde Christiansen.
4333
4334         [Qt] Implementing clipToImageBuffer for Qt port.
4335         https://bugs.webkit.org/show_bug.cgi?id=24289
4336
4337         The implementation combines pixmap layers and destinationIn
4338         composition mode.
4339
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):
4349
4350 2010-05-18  Eric Seidel  <eric@webkit.org>
4351
4352         Unreviewed build fix.
4353
4354         Make it possible to enable the new HTML5Tokenizer for testing
4355         https://bugs.webkit.org/show_bug.cgi?id=39275
4356
4357         * WebCore.gypi:
4358          - Fix HTMLLexer.* -> HTML5Lexer.*
4359         * WebCore.vcproj/WebCore.vcproj:
4360          - Add HTML5Lexer and HTML5Tokenizer to project.
4361
4362 2010-05-18  Eric Seidel  <eric@webkit.org>
4363
4364         Unreviewed build fix.
4365
4366         Make it possible to enable the new HTML5Tokenizer for testing
4367         https://bugs.webkit.org/show_bug.cgi?id=39275
4368
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.
4380
4381 2010-05-18  Eric Seidel  <eric@webkit.org>
4382
4383         Reviewed by Adam Barth.
4384
4385         Make it possible to enable the new HTML5Tokenizer for testing
4386         https://bugs.webkit.org/show_bug.cgi?id=39275
4387
4388         I added html5ParserEnabled to Settings so that we can enable/disable
4389         the HTML5 parser for testing.
4390
4391         I also ripped out a bunch of dead code from HTML5Lexer.
4392
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.
4395
4396         * Android.mk:
4397         * CMakeLists.txt:
4398         * GNUmakefile.am:
4399         * WebCore.gypi:
4400         * WebCore.pro:
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):
4423         * page/Settings.h:
4424         (WebCore::Settings::setHTML5ParserEnabled):
4425         (WebCore::Settings::html5ParserEnabled):
4426
4427 2010-05-18  Maciej Stachowiak  <mjs@apple.com>
4428
4429         Not reviewed, build fix.
4430
4431         Attempt to fix build for v8 bindings (untested).
4432
4433         * bindings/v8/ScriptController.cpp:
4434         (WebCore::ScriptController::clearWindowShell):
4435         * bindings/v8/ScriptController.h:
4436
4437 2010-05-17  Maciej Stachowiak  <mjs@apple.com>
4438
4439         Reviewed by Oliver Hunt.
4440
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>
4444
4445         ~1% PLT speedup
4446         ~4% iBench HTML speedup
4447
4448         * bindings/js/GCController.cpp:
4449         (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of
4450         0.5 second.
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.
4457
4458 2010-05-18  Adam Barth  <abarth@webkit.org>
4459
4460         Reviewed by Eric Seidel.
4461
4462         Add an HTML5Token
4463         https://bugs.webkit.org/show_bug.cgi?id=39274
4464
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.
4467
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):
4478
4479 2010-05-18  Adam Barth  <abarth@webkit.org>
4480
4481         Reviewed by Eric Seidel.
4482
4483         Implement ScriptData states for HTML5Lexer
4484         https://bugs.webkit.org/show_bug.cgi?id=39273
4485
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
4489         the spec into code.
4490
4491         * html/HTML5Lexer.cpp:
4492         (WebCore::HTML5Lexer::tokenize):
4493         (WebCore::HTML5Lexer::temporaryBufferIs):
4494         * html/HTML5Lexer.h:
4495         (WebCore::HTML5Lexer::):
4496
4497 2010-05-17  Eric Seidel  <eric@webkit.org>
4498
4499         Reviewed by Adam Barth.
4500
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
4503
4504         Strictly a rename, no functionality change.
4505
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.
4511
4512 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
4513
4514         Unreviewed, rolling out r59652.
4515         http://trac.webkit.org/changeset/59652
4516         https://bugs.webkit.org/show_bug.cgi?id=39268
4517
4518         file-input-files-access test is broken on Mac (Requested by
4519         dcheng on #webkit).
4520
4521         * platform/chromium/DragDataChromium.cpp:
4522         (WebCore::DragData::asURL):
4523
4524 2010-05-17  Adam Barth  <abarth@webkit.org>
4525
4526         Reviewed by Eric Seidel.
4527
4528         Implement RAWTEXT tokenizer states
4529         https://bugs.webkit.org/show_bug.cgi?id=39267
4530
4531         More tokenizer states.  There's a bunch of functionality notImplemented
4532         that we'll come back to.
4533
4534         * html/HTML5Tokenizer.cpp:
4535         (WebCore::HTML5Tokenizer::tokenize):
4536         * html/HTML5Tokenizer.h:
4537
4538 2010-05-17  Adam Barth  <abarth@webkit.org>
4539
4540         Reviewed by Eric Seidel.
4541
4542         Implement more parser states in HTML5Tokenizer
4543         https://bugs.webkit.org/show_bug.cgi?id=39265
4544
4545         This patch implements some easy states.  I'll come back and do the
4546         harder states later.
4547
4548         * html/HTML5Tokenizer.cpp:
4549         (WebCore::HTML5Tokenizer::tokenize):
4550         (WebCore::HTML5Tokenizer::emitParseError):
4551         * html/HTML5Tokenizer.h:
4552
4553 2010-05-17  Daniel Cheng  <dcheng@chromium.org>
4554
4555         Reviewed by Darin Adler.
4556
4557         DragData::asURL() shouldn't do file validity checks
4558         https://bugs.webkit.org/show_bug.cgi?id=38711
4559
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)
4566
4567         * platform/chromium/DragDataChromium.cpp:
4568         (WebCore::DragData::asURL):
4569
4570 2010-05-17  Adam Barth  <abarth@webkit.org>
4571
4572         Reviewed by Eric Seidel.
4573
4574         Update states in HTML5Tokenizer to match HTML5 spec
4575         https://bugs.webkit.org/show_bug.cgi?id=39264
4576
4577         I've also implemented the DataState.  More states to follow.
4578
4579         * html/HTML5Tokenizer.cpp:
4580         (WebCore::HTML5Tokenizer::reset):
4581         (WebCore::HTML5Tokenizer::tokenize):
4582         * html/HTML5Tokenizer.h:
4583         (WebCore::HTML5Tokenizer::):
4584
4585 2010-05-17  Kent Tamura  <tkent@chromium.org>
4586
4587         Reviewed by Darin Adler.
4588
4589         ':valid' CSS selector should not be applied to some form controls
4590         https://bugs.webkit.org/show_bug.cgi?id=39162
4591
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.
4602
4603 2010-05-17  Adam Barth  <abarth@webkit.org>
4604
4605         Reviewed by Eric Seidel.
4606
4607         Remove load-related code from HTML5Tokenizer
4608         https://bugs.webkit.org/show_bug.cgi?id=39263
4609
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
4612         them.
4613
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:
4627
4628 2010-05-17  Adam Barth  <abarth@webkit.org>
4629
4630         Reviewed by Eric Seidel.
4631
4632         Add HTML5Tokenizer to the build system on Mac
4633         https://bugs.webkit.org/show_bug.cgi?id=39262
4634
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
4638         other platforms.
4639
4640         * WebCore.xcodeproj/project.pbxproj:
4641
4642 2010-05-17  Eric Seidel  <eric@webkit.org>
4643
4644         Reviewed by Adam Barth.
4645
4646         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4647         https://bugs.webkit.org/show_bug.cgi?id=39261
4648
4649         * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer.
4650         * html/HTML5Tokenizer.h: ditto.
4651
4652 2010-05-17  Eric Seidel  <eric@webkit.org>
4653
4654         Reviewed by Adam Barth.
4655
4656         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4657         https://bugs.webkit.org/show_bug.cgi?id=39261
4658
4659         This time copy the cpp from the right file.
4660
4661         * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp.
4662
4663 2010-05-17  Eric Seidel  <eric@webkit.org>
4664
4665         Reviewed by Adam Barth.
4666
4667         Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4668         https://bugs.webkit.org/show_bug.cgi?id=39261
4669
4670         * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h.
4671         * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h.
4672
4673 2010-05-17  MORITA Hajime  <morrita@google.com>
4674
4675         Reviewed by Kent Tamura.
4676
4677         [Chromium] Windows: Speed of indeterminate progress bar should be constant
4678         https://bugs.webkit.org/show_bug.cgi?id=39211
4679
4680         No new tests, animation effect can be confirmed only manually.
4681
4682         * rendering/RenderThemeChromiumWin.cpp:
4683         (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
4684         (WebCore::RenderThemeChromiumWin::paintProgressBar):
4685
4686 2010-05-17  Drew Wilson  <atwilson@chromium.org>
4687
4688         Unreviewed build fix for Qt and Chromium.
4689
4690         https://bugs.webkit.org/show_bug.cgi?id=39147
4691
4692         * page/Frame.h: Now includes CSSMutableStyleDeclaration.h.
4693
4694 2010-05-17  Simon Fraser  <simon.fraser@apple.com>
4695
4696         Reviewed by Darin Adler.
4697
4698         Remove unused member member from Document
4699         https://bugs.webkit.org/show_bug.cgi?id=39251
4700
4701         Remove m_associatedHistoryItems from Document; it is never used.
4702
4703         * dom/Document.h:
4704
4705 2010-05-17  Darin Adler  <darin@apple.com>
4706
4707         Fix Qt build.
4708
4709         * page/Frame.cpp:
4710         (WebCore::Frame::setTypingStyle): Move back to make non-inline.
4711         * page/Frame.h: Removed inline version of setTypingStyle.
4712
4713 2010-05-14  Darin Adler  <darin@apple.com>
4714
4715         Reviewed by Brady Eidson.
4716
4717         Frame has many trivial member functions that should be inlined
4718         https://bugs.webkit.org/show_bug.cgi?id=39147
4719
4720         * WebCore.base.exp: Export the functions that are now inlined.
4721
4722         * page/Frame.cpp:
4723         (WebCore::Frame::removeEditingStyleFromBodyElement):
4724         Removed the body of this function.
4725
4726         * page/Frame.h:
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.
4758
4759 2010-05-17  Anders Carlsson  <andersca@apple.com>
4760
4761         Reviewed by Sam Weinig.
4762
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.
4766
4767         Move rarely used member variables from StyleInheritedData and StyleVisualData to
4768         StyleRareInheritedData and StyleRareNonInheritedData, namely:
4769
4770         indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData.
4771         m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData.
4772
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==):
4809
4810 2010-05-17  Robert Hogan  <robert@webkit.org>
4811
4812         Rubber-stamped by Eric Seidel.
4813
4814         Fix --no-svg build.
4815
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.
4818
4819         * bindings/js/JSWorkerContextCustom.cpp:
4820
4821 2010-05-17  David Hyatt  <hyatt@apple.com>
4822
4823         Reviewed by Dan Bernstein.
4824
4825         https://bugs.webkit.org/show_bug.cgi?id=39231
4826
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.
4829
4830         * rendering/RenderBlock.cpp:
4831         (WebCore::RenderBlock::determineHorizontalPosition):
4832         (WebCore::RenderBlock::nodeAtPoint):
4833         (WebCore::RenderBlock::hitTestContents):
4834         (WebCore::RenderBlock::adjustForColumns):
4835
4836 2010-05-17  Jakob Petsovits  <jpetsovits@rim.com>
4837
4838         Reviewed by George Staikos.
4839
4840         [OpenVG] Add support for decoding and drawing images
4841         https://bugs.webkit.org/show_bug.cgi?id=36072
4842
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.
4846
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>.
4850
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):
4890
4891 2010-05-17  Yaar Schnitman  <yaar@chromium.org>
4892
4893         Reviewed by Darin Adler.
4894
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
4897
4898         * bindings/scripts/CodeGeneratorJS.pm:
4899         * bindings/scripts/test/JS/JSTestObj.cpp:
4900         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
4901
4902 2010-05-16  Sam Weinig  <sam@webkit.org>
4903
4904         Reviewed by Adam Barth.
4905
4906         https://bugs.webkit.org/show_bug.cgi?id=39192
4907         Remove unused PERFECT_HASH code CodeGeneratorJS.
4908
4909         * bindings/scripts/CodeGeneratorJS.pm:
4910
4911 2010-05-17  Jeremy Moskovich  <jeremy@chromium.org>
4912
4913         Reviewed by Jeremy Orlow.
4914
4915         Remove debug code that was introduced to help narrow down the
4916         source of a crash.
4917         https://bugs.webkit.org/show_bug.cgi?id=36426
4918
4919         No change in behavior, so no new tests.
4920
4921         * loader/FrameLoader.cpp:
4922         (WebCore::FrameLoader::finishedLoadingDocument):
4923
4924 2010-05-17  Andreas Kling  <andreas.kling@nokia.com>
4925
4926         Reviewed by Kenneth Rohde Christiansen.
4927
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.
4931
4932         https://bugs.webkit.org/show_bug.cgi?id=39189
4933
4934         Spec link:
4935         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
4936
4937         Test: fast/canvas/canvas-createImageData.html
4938
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:
4945
4946 2010-05-17  Antti Koivisto  <koivisto@iki.fi>
4947
4948         This was missing from previous commit.
4949
4950         * platform/qt/QWebPageClient.h:
4951         (QWebPageClient::graphicsItemVisibleRect):
4952
4953 2010-05-17  Antti Koivisto  <koivisto@iki.fi>
4954
4955         Reviewed by Kenneth Rohde Christiansen.
4956
4957         https://bugs.webkit.org/show_bug.cgi?id=39218
4958         [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
4959         
4960         Tiles sometimes flicker when exiting a zoom animation. This happens as a result
4961         of the visible rectangle being momentarily out of sync.
4962         
4963         Instead of updating the visible rect by explicitly setting it, pull it through
4964         the client and recompute in the WebKit level.
4965
4966         * page/ChromeClient.h:
4967         (WebCore::ChromeClient::visibleRectForTiledBackingStore):
4968         * page/Frame.cpp:
4969         (WebCore::Frame::tiledBackingStoreVisibleRect):
4970         * page/Frame.h:
4971         * platform/graphics/TiledBackingStore.cpp:
4972         (WebCore::TiledBackingStore::checkVisibleRectChanged):
4973         (WebCore::TiledBackingStore::createTiles):
4974         * platform/graphics/TiledBackingStore.h:
4975         * platform/graphics/TiledBackingStoreClient.h:
4976
4977 2010-05-15  Adam Roben  <aroben@apple.com>
4978
4979         Periodically try to reset a lost IDirect3DDevice9 until we succeed
4980
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>).
4983
4984         Only testable by a manual test, unfortunately.
4985
4986         Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that
4987         use hardware acceleration don't repaint after waking computer from
4988         sleep
4989
4990         Reviewed by John Sullivan.
4991
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.
4995
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
4999         rendering.
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
5020         succeeded.
5021
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.
5026
5027 2010-05-15  Adam Roben  <aroben@apple.com>
5028
5029         Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset
5030
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.
5034
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.
5039
5040         Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice
5041         might fail due to failing to destroy all D3DPOOL_DEFAULT resources
5042
5043         Reviewed by John Sullivan.
5044
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
5050         window).
5051
5052 2010-05-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
5053
5054         Rubber-stamped by Xan Lopez.
5055
5056         Build fix. Remove bashism from build system.
5057
5058         * GNUmakefile.am:
5059
5060 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
5061
5062         Unreviewed, rolling out r59483.
5063         http://trac.webkit.org/changeset/59483
5064         https://bugs.webkit.org/show_bug.cgi?id=39215
5065
5066         "page_cycler_intl1 regression on Linux" (Requested by yurys on
5067         #webkit).
5068
5069         * platform/chromium/ChromiumBridge.h:
5070         * platform/graphics/chromium/FontCacheLinux.cpp:
5071         (WebCore::FontCache::getFontDataForCharacters):
5072
5073 2010-05-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5074
5075         Reviewed by Laszlo Gombos.
5076
5077         REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
5078
5079         Patch declared a variable index, which shadowed an earlier declared
5080         variable.
5081
5082         * bridge/qt/qt_class.cpp:
5083         (JSC::Bindings::QtClass::fallbackObject):
5084
5085 2010-05-14  Andrei Popescu  <andreip@google.com>
5086
5087         Reviewed by Jeremy Orlow.
5088
5089         IDBRequest is not a proper ActiveDomObject
5090         https://bugs.webkit.org/show_bug.cgi?id=39001
5091
5092         Add IDBRequest interface to the IsActiveDomType
5093         routine of the CodeGeneratorV8.pm.
5094
5095         Rename IDBRequest::m_stopped to m_suspended and reset
5096         the flag when resume() is called.
5097
5098         No new tests, Indexed Database isn't yet testable.
5099
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:
5107
5108 2010-05-17  Xan Lopez  <xlopez@igalia.com>
5109
5110         Do not include the indexed database headers if the feature is not
5111         enabled. Should fix the build in GTK+.
5112
5113         * bindings/js/JSEventCustom.cpp:
5114
5115 2010-05-17  Xan Lopez  <xlopez@igalia.com>
5116
5117         Try to fix GTK+ build.
5118
5119         * GNUmakefile.am:
5120
5121 2010-05-14  Jeremy Orlow  <jorlow@chromium.org>
5122
5123         Reviewed by Nate Chapin.
5124
5125         Finish up IndexedDB events
5126         https://bugs.webkit.org/show_bug.cgi?id=39117
5127
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
5131         IDBResults.
5132
5133         Test: storage/indexeddb/basics.html
5134
5135         * DerivedSources.cpp:
5136         * DerivedSources.make:
5137         * GNUmakefile.am:
5138         * WebCore.gyp/WebCore.gyp:
5139         * WebCore.gypi:
5140         * WebCore.pri:
5141         * WebCore.pro:
5142         * WebCore.vcproj/WebCore.vcproj:
5143         * WebCore.xcodeproj/project.pbxproj:
5144         * bindings/js/JSEventCustom.cpp:
5145         (WebCore::toJS):
5146         * bindings/js/JSEventTarget.cpp:
5147         (WebCore::toJS):
5148         * bindings/js/JSIDBAnyCustom.cpp: Added.
5149         (WebCore::toJS):
5150         * bindings/js/JSIDBRequestCustom.cpp: Removed.
5151         * bindings/v8/custom/V8EventCustom.cpp:
5152         (WebCore::toV8):
5153         * bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
5154         (WebCore::toV8):
5155         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
5156         * dom/Event.cpp:
5157         (WebCore::Event::isIDBErrorEvent):
5158         (WebCore::Event::isIDBSuccessEvent):
5159         * dom/Event.h:
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:
5210
5211 2010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
5212
5213         Unreviewed.
5214
5215         Removed the stray equals sign from the reviewer's name in the
5216         "Reviewed by" line of the ChangeLog entry for r59596:
5217
5218         http://trac.webkit.org/changeset/59596
5219
5220 2010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
5221
5222         Reviewed by Adam Barth.
5223
5224         Refactored FrameLoader::changeLocation() and urlSelected() to share more code.
5225
5226         https://bugs.webkit.org/show_bug.cgi?id=38827
5227
5228         No change in behavior, so no new tests.
5229
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.
5248
5249 2010-05-16  Daniel Bates  <dbates@rim.com>
5250
5251         Reviewed by David Hyatt.
5252
5253         https://bugs.webkit.org/show_bug.cgi?id=39196
5254
5255         Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>.
5256
5257         Prepared on behalf of David Hyatt.
5258
5259         "Not worth the memory use." Just roll this out.
5260
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):
5366
5367 2010-05-13  Tony Chang  <tony@chromium.org>
5368
5369         Reviewed by Darin Adler.
5370
5371         REGRESSION: Crash by pasting to a textarea with white-space:nowrap
5372         https://bugs.webkit.org/show_bug.cgi?id=38992
5373
5374         Test: editing/pasteboard/paste-plaintext-nowrap.html
5375
5376         * editing/InsertParagraphSeparatorCommand.cpp:
5377         (WebCore::highestVisuallyEquivalentDivBelowRoot):
5378         (WebCore::InsertParagraphSeparatorCommand::doApply):
5379
5380 2010-05-16  David Hyatt  <hyatt@apple.com>
5381
5382         Reviewed by Dan Bernstein.
5383
5384         https://bugs.webkit.org/show_bug.cgi?id=39194
5385
5386         Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality.
5387
5388         Added fast/multicol/column-count-with-rules.html
5389
5390         * rendering/RenderBlock.cpp:
5391         (WebCore::RenderBlock::paintColumnRules):
5392         (WebCore::RenderBlock::paintColumnContents):
5393         (WebCore::RenderBlock::hitTestColumns):
5394         (WebCore::RenderBlock::adjustRectForColumns):
5395
5396 2010-05-16  Dan Bernstein  <mitz@apple.com>
5397
5398         Reviewed by Dave Hyatt.
5399
5400         Fix SVG test failures after r59588.
5401
5402         Updated SVG InlineBox virtual method overrides to match HTML ones. Removed
5403         SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares
5404         verticallyAlignBoxes().
5405
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:
5413
5414 2010-05-16  Dan Bernstein  <mitz@apple.com>
5415
5416         Reviewed by Darin Adler.
5417
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
5420
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.
5447
5448 2010-05-12  Tony Chang  <tony@chromium.org>
5449
5450         Reviewed by Darin Adler.
5451
5452         Spellcheck disabling does not disable context menu
5453         https://bugs.webkit.org/show_bug.cgi?id=25639
5454
5455         Test: editing/spelling/context-menu-suggestions.html
5456
5457         * platform/ContextMenu.cpp:
5458         (WebCore::ContextMenu::populate):
5459
5460 2010-05-16  Sam Weinig  <sam@webkit.org>
5461
5462         Reviewed by Dan Bernstein.
5463
5464         https://bugs.webkit.org/show_bug.cgi?id=39190
5465         Shave a word off of GlyphPageTreeNode
5466         <rdar://problem/7990428>
5467
5468         * platform/graphics/GlyphPageTreeNode.h:
5469         (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
5470
5471 2010-05-16  Andreas Kling  <andreas.kling@nokia.com>
5472
5473         Reviewed by Kenneth Rohde Christiansen.
5474
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.
5478
5479         https://bugs.webkit.org/show_bug.cgi?id=39175
5480
5481         Spec link:
5482         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
5483
5484         Test: fast/canvas/canvas-getImageData-invalid.html
5485
5486         * html/canvas/CanvasRenderingContext2D.cpp:
5487         (WebCore::CanvasRenderingContext2D::createImageData):
5488         (WebCore::CanvasRenderingContext2D::getImageData):
5489         (WebCore::CanvasRenderingContext2D::putImageData):
5490
5491 2010-05-16  Andreas Kling  <andreas.kling@nokia.com>
5492
5493         Reviewed by Kenneth Rohde Christiansen.
5494
5495         Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
5496         https://bugs.webkit.org/show_bug.cgi?id=39153
5497
5498         Spec link:
5499         http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
5500
5501         Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
5502
5503         * dom/CanvasSurface.cpp:
5504         (WebCore::CanvasSurface::toDataURL):
5505
5506 2010-05-16  Simon Fraser  <simon.fraser@apple.com>
5507
5508         Reviewed by Anders Carlsson.
5509
5510         Shrink SimpleFontData
5511         https://bugs.webkit.org/show_bug.cgi?id=39179
5512
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
5515         5632 to 1536 bytes.
5516
5517         * platform/graphics/SimpleFontData.h:
5518         (WebCore::SimpleFontData::boundsForGlyph):
5519
5520 2010-05-15  Simon Fraser  <simon.fraser@apple.com>
5521
5522         Reviewed by Maciej Stachowiak.
5523
5524         Reduce the size of CachedResource
5525         https://bugs.webkit.org/show_bug.cgi?id=39171
5526
5527         Make protected data members of CachedResource private, to allow for
5528         easier rearrangement, and hide the fact that enums are in bitfields.
5529         
5530         Rearrange the data members of CachedResource to save 32 bytes per instance
5531         in 64-bit. Also modernized the constructor code.
5532
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):
5578
5579 2010-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>
5580
5581         Unreviewed, rolling out r59574.
5582         http://trac.webkit.org/changeset/59574
5583         https://bugs.webkit.org/show_bug.cgi?id=39176
5584
5585         Supposedly broke cr-win, but the errors seems somewhat
5586         unrelated (Requested by abarth on #webkit).
5587
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):
5598
5599 2010-05-16  Dan Bernstein  <mitz@apple.com>
5600
5601         Reviewed by Darin Adler.
5602
5603         Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL
5604         https://bugs.webkit.org/show_bug.cgi?id=39086
5605
5606         Use global variables directly.
5607
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):
5614
5615 2010-05-16  Andreas Kling  <andreas.kling@nokia.com>
5616
5617         Reviewed by Kenneth Rohde Christiansen.
5618
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
5621
5622         https://bugs.webkit.org/show_bug.cgi?id=39150
5623
5624         Test: fast/canvas/canvas-getContext-invalid.html
5625
5626         * bindings/js/JSHTMLCanvasElementCustom.cpp:
5627         (WebCore::JSHTMLCanvasElement::getContext):
5628         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
5629         (WebCore::V8HTMLCanvasElement::getContextCallback):
5630
5631 2010-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
5632
5633         Unreviewed, rolling out r59565.
5634         http://trac.webkit.org/changeset/59565
5635         https://bugs.webkit.org/show_bug.cgi?id=39173
5636
5637         Broke GTK (Requested by abarth on #webkit).
5638
5639         * dom/CanvasSurface.cpp:
5640         (WebCore::CanvasSurface::toDataURL):
5641
5642 2010-05-15  Andreas Kling  <andreas.kling@nokia.com>
5643
5644         Reviewed by Kenneth Rohde Christiansen.
5645
5646         Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
5647         https://bugs.webkit.org/show_bug.cgi?id=39153
5648
5649         Spec link:
5650         http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
5651
5652         Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
5653
5654         * dom/CanvasSurface.cpp:
5655         (WebCore::CanvasSurface::toDataURL):
5656
5657 2010-05-15  Anders Bakken  <agbakken@gmail.com>
5658
5659         Reviewed by Kenneth Rohde Christiansen.
5660
5661         QObject::objectName() returns a QString and QtField::name()
5662         creates a temporary QByteArray object and returns constData() from it.
5663         This is not safe.
5664
5665         This patch changes the signature of the function to return a
5666         QByteArray instead of const char *.
5667
5668         https://bugs.webkit.org/show_bug.cgi?id=39010
5669
5670         * bridge/qt/qt_instance.cpp:
5671         (JSC::Bindings::QtInstance::getPropertyNames):
5672         (JSC::Bindings::QtField::name):
5673         * bridge/qt/qt_runtime.h:
5674
5675 2010-05-15  Anders Bakken  <agbakken@gmail.com>
5676
5677         Reviewed by Kenneth Rohde Christiansen.
5678
5679         Don't unnecessarily copy data when searching for methods in QtClass.
5680
5681         [Qt] JSValue QtClass::fallbackObject can be optimized
5682         https://bugs.webkit.org/show_bug.cgi?id=37684
5683
5684         * bridge/qt/qt_class.cpp:
5685         (JSC::Bindings::QtClass::fallbackObject):
5686
5687 2010-05-15  Anders Bakken  <agbakken@gmail.com>
5688
5689         Reviewed by Kenneth Rohde Christiansen.
5690
5691         Identifier::ascii() is not threadsafe and shouldn't be used for
5692         converting to and from QString/QByteArray.
5693
5694         https://bugs.webkit.org/show_bug.cgi?id=39009
5695
5696         * bridge/qt/qt_class.cpp:
5697         (JSC::Bindings::QtClass::fallbackObject):
5698         (JSC::Bindings::QtClass::fieldNamed):
5699
5700 2010-05-15  Chang Shu  <chang.shu@nokia.com>
5701
5702         Reviewed by Kenneth Rohde Christiansen.
5703
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
5708
5709         https://bugs.webkit.org/show_bug.cgi?id=39166
5710
5711         The complete test suite is in the process of checking in.
5712         https://bugs.webkit.org/show_bug.cgi?id=20553
5713
5714         * html/canvas/CanvasRenderingContext2D.cpp:
5715         (WebCore::CanvasRenderingContext2D::createImageData):
5716
5717 2010-05-15  Adam Barth  <abarth@webkit.org>
5718
5719         Reviewed by Darin Adler.
5720
5721         XMLHttpRequest.getResponseHeader doesn't need to be custom
5722         https://bugs.webkit.org/show_bug.cgi?id=39125
5723
5724         I don't see any reason this method needs to be custom.  No new tests
5725         because there's no behavior change.
5726
5727         * bindings/js/JSXMLHttpRequestCustom.cpp:
5728         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
5729         * xml/XMLHttpRequest.idl:
5730
5731 2010-05-15  Adam Barth  <abarth@webkit.org>
5732
5733         Reviewed by Darin Adler.
5734
5735         XMLHttpRequest.setRequestHeader shouldn't be custom
5736         https://bugs.webkit.org/show_bug.cgi?id=39124
5737
5738         I don't see any reason why this method needs to be custom.  No tests
5739         because no behavior change.
5740
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:
5749         (WebCore::):
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:
5764
5765 2010-05-14  Alexey Proskuryakov  <ap@apple.com>
5766
5767         Reviewed by Darin Adler.
5768
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
5772
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.
5775
5776         Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml
5777
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.
5781
5782 2010-05-15  Vangelis Kokkevis  <vangelis@chromium.org>
5783
5784         Reviewed by Darin Fisher.
5785
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
5790
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):
5802
5803 2010-05-15  Andrey Kosyakov  <caseq@chromium.org>
5804
5805         Reviewed by Timothy Hatcher.
5806
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
5811  
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):
5822         (.help-scrollable):
5823         (.help-close-button):
5824         (body.platform-mac .help-close-button):
5825         (body:not(.platform-mac) .help-close-button):
5826
5827 2010-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
5828
5829         Unreviewed, rolling out r59549.
5830         http://trac.webkit.org/changeset/59549
5831         https://bugs.webkit.org/show_bug.cgi?id=39167
5832
5833         Broke Chromium build (Requested by abarth on #webkit).
5834
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:
5842
5843 2010-05-15  Vangelis Kokkevis  <vangelis@chromium.org>
5844
5845         Reviewed by Darin Fisher.
5846
5847         Adding code path for composited layers (LayerChromium) containing only
5848         an Image element.
5849         https://bugs.webkit.org/show_bug.cgi?id=39142
5850
5851         No new tests, covered under the existing tests for composited layers.
5852
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):
5862
5863 2010-05-15  Andrei Popescu  <andreip@google.com>
5864
5865         Reviewed by Jeremy Orlow.
5866
5867         IDBRequest is not a proper ActiveDomObject
5868         https://bugs.webkit.org/show_bug.cgi?id=39001
5869
5870         Add IDBRequest interface to the IsActiveDomType
5871         routine of the CodeGeneratorV8.pm.
5872
5873         Rename IDBRequest::m_stopped to m_suspended and reset
5874         the flag when resume() is called.
5875
5876         No new tests, Indexed Database isn't yet testable.
5877
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:
5885
5886 2010-05-15  Andrei Bucur  <abucur@adobe.com>
5887
5888         Reviewed by Gustavo Noronha Silva.
5889
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.
5893
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.
5896
5897         * platform/graphics/cairo/FontCairo.cpp:
5898         (WebCore::Font::drawGlyphs):
5899         * platform/graphics/cairo/GraphicsContextCairo.cpp:
5900         (WebCore::setPlatformFill):
5901         (WebCore::setPlatformStroke):
5902
5903 2010-05-15  Yael Aharon  <yael.aharon@nokia.com>
5904
5905         Reviewed by Kent Tamura.
5906
5907         Initial support for HTMLMeterElement
5908         https://bugs.webkit.org/show_bug.cgi?id=38140
5909
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.
5913
5914         Tests: fast/dom/HTMLMeterElement/meter-element.html
5915                fast/dom/HTMLMeterElement/set-meter-properties.html
5916
5917         * DerivedSources.cpp:
5918         * DerivedSources.make:
5919         * GNUmakefile.am:
5920         * WebCore.gypi:
5921         * WebCore.pri:
5922         * WebCore.pro:
5923         * WebCore.vcproj/WebCore.vcproj:
5924         * css/CSSPrimitiveValueMappings.h:
5925         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
5926         * css/CSSValueKeywords.in:
5927         * css/html.css:
5928         (meter):
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:
5976
5977 2010-05-15  Eric Uhrhane  <ericu@chromium.org>
5978
5979         Reviewed by Dmitry Titov.
5980
5981         Add bindings for async DB API in Workers.
5982         https://bugs.webkit.org/show_bug.cgi?id=34992
5983
5984         Tests: storage/change-version-handle-reuse-worker.html
5985                storage/execute-sql-args-worker.html
5986
5987         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
5988         (WebCore::JSWorkerContext::openDatabase):
5989
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):
5992
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:
5999         
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.
6004
6005         Add the IDL for the call to openDatabase.
6006         * workers/WorkerContext.idl:
6007
6008 2010-05-15  Leandro Pereira  <leandro@profusion.mobi>
6009
6010         Reviewed by Adam Treat.
6011
6012         [EFL] Add build system for the EFL port.
6013         http://webkit.org/b/37945
6014
6015         * CMakeLists.txt: Added.
6016         * CMakeListsEfl.txt: Added.
6017         * config.h: Add conditional to look for cmakeconfig.h.
6018
6019 2010-05-15  Adam Barth  <abarth@webkit.org>
6020
6021         Reviewed by Darin Adler.
6022
6023         Clipboard.setData doesn't need to be custom
6024         https://bugs.webkit.org/show_bug.cgi?id=39133
6025
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.
6030
6031         No tests because I've maintained our current behavior.
6032
6033         * bindings/js/JSClipboardCustom.cpp:
6034         * bindings/v8/custom/V8ClipboardCustom.cpp:
6035         * dom/Clipboard.idl:
6036
6037 2010-05-15  Yaar Schnitman  <yaar@chromium.org>
6038
6039         Reviewed by Adam Barth.
6040
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
6043
6044         Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator.
6045
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:
6054         (WebCore::):
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:
6062
6063 2010-05-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
6064
6065         Reviewed by Xan Lopez.
6066
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
6069
6070         The "announcement" is now made in the form of an object attribute
6071         associated with the AtkObject.
6072
6073         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
6074         (webkit_accessible_get_attributes):
6075
6076 2010-05-15  Adam Barth  <abarth@webkit.org>
6077
6078         Reviewed by Darin Adler.
6079
6080         Show a console message when X-Frame-Options blocks a load
6081         https://bugs.webkit.org/show_bug.cgi?id=39087
6082
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.
6085
6086         * dom/Document.cpp:
6087         (WebCore::Document::processHttpEquiv):
6088
6089 2010-05-15  Ilya Tikhonovsky  <loislo@chromium.org>
6090
6091         Reviewed by Geoffrey Garen.
6092
6093         WebInspector: JSC Should provide heap size info for Timeline panel.
6094         https://bugs.webkit.org/show_bug.cgi?id=38420
6095
6096         * GNUmakefile.am:
6097         * WebCore.pro:
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:
6103
6104 2010-05-15  Dave Tapuska  <dtapuska@rim.com>
6105
6106         Reviewed by Darin Adler.
6107
6108         Fix alignment faults on ARMv5TE architectures.
6109
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.
6114
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.
6118
6119         https://bugs.webkit.org/show_bug.cgi?id=19946
6120
6121 2010-05-14  Adam Barth  <abarth@webkit.org>
6122
6123         Reviewed by Darin Adler.
6124
6125         XMLHttpRequest.overrideMimeType doesn't need to be custom
6126         https://bugs.webkit.org/show_bug.cgi?id=39127
6127
6128         I don't see any reason why this method should be custom.  No tests
6129         because no behavior change.
6130
6131         * bindings/js/JSXMLHttpRequestCustom.cpp:
6132         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
6133         * xml/XMLHttpRequest.idl:
6134
6135 2010-05-14  Adele Peterson  <adele@apple.com>
6136
6137         Reviewed by Dave Hyatt.
6138
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
6141
6142         Test: editing/selection/applystyle-to-inline-inside-block.html
6143
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).
6147
6148 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
6149
6150         Reviewed by Mark Rowe.
6151
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
6154         of nmake variables.
6155         
6156         * WebCore.vcproj/WebCore.make:
6157
6158 2010-05-14  Stephanie Lewis  <slewis@apple.com>
6159
6160         Rubber-stamped by Mark Rowe.
6161
6162         Update order files.
6163
6164         * WebCore.order:
6165
6166 2010-05-14  David Hyatt  <hyatt@apple.com>
6167
6168         Reviewed by Simon Fraser.
6169
6170         https://bugs.webkit.org/show_bug.cgi?id=39137
6171
6172         Make RenderLayers position properly inside multicolumn layout.
6173         
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.
6176         
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
6179         which it occurs.
6180         
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.
6184
6185         (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to
6186         account for RTL.
6187         
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.
6190
6191         Added fast/multicol/layers-in-multicol.html
6192
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):
6212
6213 2010-05-14  Leon Clarke  <leonclarke@google.com>
6214
6215         Reviewed by Steve Block.
6216
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
6219
6220         No new tests. Refactoring only.
6221
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):
6238
6239 2010-05-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
6240
6241         Reviewed by Kenneth Rohde Christiansen.
6242
6243         [Qt] GraphicsLayer caches directly composited images
6244         https://bugs.webkit.org/show_bug.cgi?id=38444
6245
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.
6250
6251         No new tests: this is a minor optimization.
6252
6253         * platform/graphics/qt/GraphicsLayerQt.cpp:
6254         (WebCore::GraphicsLayerQtImpl::flushChanges):
6255
6256 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
6257
6258         Reviewed by Mark Rowe.
6259
6260         Build fix. Had the environment variables wrong for source and destination of the copy operation
6261         that was added.
6262
6263         * WebCore.vcproj/WebCore.make:
6264
6265 2010-05-14  Adam Barth  <abarth@webkit.org>
6266
6267         Reviewed by Eric Seidel.
6268
6269         Remove custom bindings for HTMLInputElement
6270         https://bugs.webkit.org/show_bug.cgi?id=38344
6271
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.
6276
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):
6297
6298 2010-05-14  Kenneth Russell  <kbr@google.com>
6299
6300         Reviewed by Darin Adler.
6301
6302         Rename WebGLArray types to TypedArray types
6303         https://bugs.webkit.org/show_bug.cgi?id=39091
6304
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.
6318
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.
6322
6323         * DerivedSources.make:
6324         * GNUmakefile.am:
6325         * WebCore.gypi:
6326         * WebCore.pri:
6327         * WebCore.pro:
6328         * WebCore.xcodeproj/project.pbxproj:
6329         * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp.
6330         (WebCore::):
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.
6337         (WebCore::toJS):
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.
6358         (WebCore::):
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):
6365         (WebCore::toJS):
6366         (WebCore::JSFloatArray::set):
6367         * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp.
6368         (WebCore::):
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):
6375         (WebCore::toJS):
6376         (WebCore::JSInt16Array::set):
6377         * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp.
6378         (WebCore::):
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):
6385         (WebCore::toJS):
6386         (WebCore::JSInt32Array::set):
6387         * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp.
6388         (WebCore::):
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):
6395         (WebCore::toJS):
6396         (WebCore::JSInt8Array::set):
6397         * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp.
6398         (WebCore::):
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):
6405         (WebCore::toJS):
6406         (WebCore::JSUint16Array::set):
6407         * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp.
6408         (WebCore::):
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):
6415         (WebCore::toJS):
6416         (WebCore::JSUint32Array::set):
6417         * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp.
6418         (WebCore::):
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):
6425         (WebCore::toJS):
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.
6464         (WebCore::toV8):
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):
6480         (WebCore::toV8):
6481         * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp.
6482         (WebCore::V8Int16Array::constructorCallback):
6483         (WebCore::V8Int16Array::setCallback):
6484         (WebCore::toV8):
6485         * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp.
6486         (WebCore::V8Int32Array::constructorCallback):
6487         (WebCore::V8Int32Array::setCallback):
6488         (WebCore::toV8):
6489         * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp.
6490         (WebCore::V8Int8Array::constructorCallback):
6491         (WebCore::V8Int8Array::setCallback):
6492         (WebCore::toV8):
6493         * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp.
6494         (WebCore::V8Uint16Array::constructorCallback):
6495         (WebCore::V8Uint16Array::setCallback):
6496         (WebCore::toV8):
6497         * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp.
6498         (WebCore::V8Uint32Array::constructorCallback):
6499         (WebCore::V8Uint32Array::setCallback):
6500         (WebCore::toV8):
6501         * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp.
6502         (WebCore::V8Uint8Array::constructorCallback):
6503         (WebCore::V8Uint8Array::setCallback):
6504         (WebCore::toV8):
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):
6666
6667 2010-05-14  Steve Falkenburg  <sfalken@apple.com>
6668
6669         Reviewed by Sam Weinig.
6670
6671         <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values
6672         https://bugs.webkit.org/show_bug.cgi?id=39132
6673
6674         * platform/network/cf/ResourceHandleCFNet.cpp:
6675         (WebCore::createConnectionProperties):
6676
6677 2010-05-14  Abhishek Arya  <inferno@chromium.org>
6678
6679         Reviewed by David Hyatt.
6680
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
6684
6685         Test: fast/table/fixed-table-layout-large-colspan-crash.html
6686
6687         * rendering/FixedTableLayout.cpp:
6688         (WebCore::FixedTableLayout::calcWidthArray):
6689
6690 2010-05-14  Eric Seidel  <eric@webkit.org>
6691
6692         Unreviewed, rolling out r59489.
6693         http://trac.webkit.org/changeset/59489
6694         https://bugs.webkit.org/show_bug.cgi?id=37815
6695
6696         abarth broke the known universe and then some.
6697
6698         * Android.jscbindings.mk:
6699         * GNUmakefile.am:
6700         * WebCore.gypi:
6701         * WebCore.pro:
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):
6784
6785 2010-05-14  Justin Schuh  <jschuh@chromium.org>
6786
6787         Reviewed by Adam Barth.
6788
6789         Moving frame.src checks out of the bindings
6790         https://bugs.webkit.org/show_bug.cgi?id=37815
6791
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).
6797
6798         * Android.jscbindings.mk:
6799         * GNUmakefile.am:
6800         * WebCore.gypi:
6801         * WebCore.pro:
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):
6886
6887 2010-05-14  Sergey Ulanov  <sergeyu@chromium.org>
6888
6889         Reviewed by Dmitry Titov and Brett Wilson.
6890
6891         Adding resized image caching for Skia.
6892         https://bugs.webkit.org/show_bug.cgi?id=39085
6893
6894         Tests: HTML5 video on YouTube.
6895
6896         * platform/graphics/skia/ImageSkia.cpp:
6897         (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible.
6898
6899 2010-05-14  Alexey Proskuryakov  <ap@apple.com>
6900
6901         Reviewed by Brady Eidson.
6902
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
6905
6906         Test: fast/parser/tokenizer-close-during-document-write.html
6907
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
6911         test for that).
6912
6913 2010-05-14  Jian Li  <jianli@chromium.org>
6914
6915         Rubber-stamped by Dmitry Titov.
6916
6917         Fix the code indentation inside a namespace to be consistent with the
6918         style guide.
6919
6920         * workers/GenericWorkerTask.h:
6921
6922 2010-05-14  Jian Li  <jianli@chromium.org>
6923
6924         Reviewed by Dmitry Titov.
6925
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
6929
6930         I will have another patch to rename the file and move it to the right
6931         place.
6932
6933         * workers/GenericWorkerTask.h:
6934         (WebCore::):
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):
6952
6953 2010-05-14  Evan Martin  <evan@chromium.org>
6954
6955         Reviewed by David Levin.
6956
6957         [chromium] don't call fontconfig twice in complex text path
6958         https://bugs.webkit.org/show_bug.cgi?id=38701
6959
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.
6964
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%.
6969
6970         See also https://bugs.webkit.org/show_bug.cgi?id=37904 .
6971
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.)
6975
6976         * platform/chromium/ChromiumBridge.h:
6977         * platform/graphics/chromium/FontCacheLinux.cpp:
6978         (WebCore::FontCache::getFontDataForCharacters):
6979
6980 2010-05-14  Young Han Lee  <joybro@company100.net>
6981
6982         Reviewed by Darin Adler.
6983
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
6987
6988         No new tests, there is no new functionality.
6989
6990         * platform/network/curl/ResourceHandleManager.cpp:
6991
6992 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
6993
6994         Reviewed by Adam Roben.
6995
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.
6998
6999         * WebCore.vcproj/WebCore.make: 
7000
7001 2010-05-14  Shinichiro Hamaji  <hamaji@chromium.org>
7002
7003         Unreviewed.  Attempt to fix chromium's memory bot error.
7004
7005         More :visited link optimizations to reduce memory usage
7006         https://bugs.webkit.org/show_bug.cgi?id=39084
7007
7008         The original change (r59386) adds check for m_element in initElement.
7009         As don't initialize m_element in the constructor of CSSStyleSelector,
7010         valgrind complains.
7011
7012         * css/CSSStyleSelector.cpp:
7013         (WebCore::CSSStyleSelector::CSSStyleSelector):
7014
7015 2010-05-14  Andreas Kling  <andreas.kling@nokia.com>
7016
7017         Reviewed by Darin Adler.
7018
7019         CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
7020         https://bugs.webkit.org/show_bug.cgi?id=39031
7021
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.
7028
7029 2010-05-14  Jens Alfke  <snej@chromium.org>
7030
7031         Reviewed by John Sullivan.
7032
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.)
7036
7037         * html/HTMLInputElement.cpp:
7038         (WebCore::HTMLInputElement::handleFocusEvent):  Don't clear the autofilled flag.
7039         (WebCore::HTMLInputElement::setValueFromRenderer):  Clear the autofilled flag.
7040
7041 2010-05-14  Zhenyao Mo  <zmo@google.com>
7042
7043         Reviewed by Dimitri Glazkov.
7044
7045         Must implement OpenGL ES 2.0 semantics for NPOT textures
7046         https://bugs.webkit.org/show_bug.cgi?id=33805
7047
7048         Test: fast/canvas/webgl/texture-npot.html
7049
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):
7074
7075 2010-05-14  Andrey Kosyakov  <caseq@chromium.org>
7076
7077         Reviewed by Pavel Feldman.
7078
7079         Web Inspector: add help on keyboard shortcuts (take 2).
7080
7081         https://bugs.webkit.org/show_bug.cgi?id=38667
7082
7083         * English.lproj/localizedStrings.js:
7084         * WebCore.gypi:
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.
7113
7114 2010-05-14  Tony Gentilcore  <tonyg@chromium.org>
7115
7116         Reviewed by Darin Fisher.
7117
7118         [chromium] Update chromium port to send/receive cached metadata
7119         https://bugs.webkit.org/show_bug.cgi?id=38665
7120
7121         No new tests because no new functionality.
7122
7123         * platform/chromium/ChromiumBridge.h:
7124         * platform/network/chromium/ResourceResponse.h:
7125         (WebCore::ResourceResponse::ResourceResponse):
7126         (WebCore::ResourceResponse::responseTime):
7127         (WebCore::ResourceResponse::setResponseTime):
7128
7129 2010-05-14  Chris Evans  <cevans@chromium.org>
7130
7131         Reviewed by Adam Barth.
7132
7133         Chromium-specific fix to prevent zombie infobars.
7134
7135         https://bugs.webkit.org/show_bug.cgi?id=38948
7136
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.
7146
7147 2010-05-14  Aaron Kennedy  <tffeeb@gmail.com>
7148
7149         Reviewed by Simon Hausmann.
7150
7151         [Qt] JavaScript unable to invoke methods declared in QML
7152         https://bugs.webkit.org/show_bug.cgi?id=38949
7153
7154         JavaScript code executed by webkit cannot call into QML declared
7155         methods, as it does not check for dynamic meta objects.
7156
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.
7161
7162 2010-05-14  Ben Murdoch  <benm@google.com>
7163
7164         Reviewed by Darin Fisher.
7165
7166         Touch events are disabled by default when using V8.
7167         https://bugs.webkit.org/show_bug.cgi?id=38990
7168
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
7171         guard is present.
7172
7173         No new tests, build fix for Android.
7174
7175         * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default.
7176
7177 2010-05-14  George Wright  <gwright@rim.com>
7178
7179         Reviewed by George Staikos.
7180
7181         https://bugs.webkit.org/show_bug.cgi?id=38909
7182
7183         Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString()
7184         on the property name.
7185
7186         * bindings/js/JSDataGridColumnListCustom.cpp:
7187         (WebCore::JSDataGridColumnList::canGetItemsForName):
7188         (WebCore::JSDataGridColumnList::nameGetter):
7189
7190 2010-05-14  Andreas Kling  <andreas.kling@nokia.com>
7191
7192         Reviewed by Darin Adler.
7193
7194         Ignore invalid values for various CanvasRenderingContext2D properties
7195         (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
7196
7197         https://bugs.webkit.org/show_bug.cgi?id=38841
7198
7199         Test: fast/canvas/canvas-invalid-values.html
7200
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):
7207
7208 2010-05-13  Timothy Hatcher  <timothy@apple.com>
7209
7210         Expose WebCore::reportException and WebCore::toJSDOMWindow symbols.
7211
7212         Reviewed by Sam Weinig.
7213
7214         * WebCore.base.exp: Expose reportException and toJSDOMWindow.
7215
7216 2010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
7217
7218         Reviewed by Timothy Hatcher.
7219
7220         Web Inspector: Clearing Breakpoints Too Often
7221         https://bugs.webkit.org/show_bug.cgi?id=39094
7222
7223         Minor resets should preserve both workers and breakpoints.
7224
7225         * inspector/front-end/ScriptsPanel.js:
7226         (WebInspector.ScriptsPanel.prototype.reset):
7227
7228 2010-05-13  Simon Fraser  <simon.fraser@apple.com>
7229
7230         Reviewed by Dan Bernstein.
7231
7232         iframes in compositing layers don't redraw correctly on scrolling
7233         https://bugs.webkit.org/show_bug.cgi?id=39096
7234         
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.
7238
7239         Test: compositing/iframes/iframe-copy-on-scroll.html
7240
7241         * rendering/RenderView.cpp:
7242         (WebCore::RenderView::paintBoxDecorations):
7243
7244 2010-05-13  Simon Fraser  <simon.fraser@apple.com>
7245
7246         Reviewed by Dave Hyatt.
7247
7248         Fix scrolling in composited iframes
7249         https://bugs.webkit.org/show_bug.cgi?id=39088
7250         <rdar://problem/7980099>
7251         
7252         When propagating compositing out of iframes, we have to update the position of the iframe content
7253         layers on scrolling.
7254
7255         Test: compositing/iframes/scrolling-iframe.html
7256
7257         * page/FrameView.cpp:
7258         (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling.
7259
7260         * rendering/RenderLayerBacking.cpp:
7261         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset().
7262
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
7275
7276 2010-05-13  Sam Weinig  <sam@webkit.org>
7277
7278         Reviewed by Anders Carlsson.
7279
7280         Follow up to:
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>
7284
7285         Fix failing tests on Leopard.
7286
7287         Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods.
7288
7289         * css/CSSPrimitiveValue.cpp:
7290         (WebCore::CSSPrimitiveValue::init):
7291         (WebCore::CSSPrimitiveValue::cssText): Add extra assertion.
7292
7293 2010-05-13  Kent Tamura  <tkent@chromium.org>
7294
7295         Reviewed by Darin Adler.
7296
7297         Can't submit a form with <input type=checkbox required>
7298         https://bugs.webkit.org/show_bug.cgi?id=39065
7299
7300         Test: fast/forms/interactive-validation-required-checkbox.html
7301
7302         * html/HTMLInputElement.cpp:
7303         (WebCore::HTMLInputElement::setChecked):
7304           Update the validity cache when a checkbox state is changed.
7305
7306 2010-05-13  Kenneth Russell  <kbr@google.com>
7307
7308         Reviewed by Dimitri Glazkov.
7309
7310         Alias WebGLArray type names to TypedArray type names
7311         https://bugs.webkit.org/show_bug.cgi?id=39036
7312
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
7318         Chromium.
7319
7320         Test: revised array-unit-tests.html to test both type names.
7321         Revised global prototype and constructor tests to ignore new types.
7322
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:
7351
7352 2010-05-13  David Hyatt  <hyatt@apple.com>
7353
7354         Reviewed by Anders Carlsson.
7355
7356         https://bugs.webkit.org/show_bug.cgi?id=39084
7357
7358         Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and
7359         simplifications.
7360
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.
7364
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.
7367
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.
7370
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):
7383
7384 2010-05-13  Sam Weinig  <sam@webkit.org>
7385
7386         Reviewed by Darin Adler.
7387
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>
7391
7392         - Use an external cache to speedup cssText for CSSPrimitiveValue instead
7393           of an extra member variable.
7394
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):
7404
7405 2010-05-13  Enrica Casucci  <enrica@apple.com>
7406
7407         Reviewed by Dave Hyatt.
7408
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
7411
7412         The initial height of an empty editable block is different from the height of the same block after we add block elements
7413         and remove them.
7414         
7415         Test: editing/deleting/delete-block-contents-004.html
7416
7417         * rendering/RenderBlock.cpp:
7418         (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children.
7419
7420 2010-05-13  Brady Eidson  <beidson@apple.com>
7421
7422         Reviewed by Darin Adler.
7423
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
7426
7427         Test: fast/loader/recursive-before-unload-crash.html
7428
7429         * loader/FrameLoader.cpp:
7430         (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set.
7431         * loader/FrameLoader.h:
7432
7433         * page/Frame.cpp:
7434         (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose().
7435         * page/Frame.h:
7436         (WebCore::Frame::existingDOMWindow):
7437
7438 2010-05-13  Sheriff Bot  <webkit.review.bot@gmail.com>
7439
7440         Unreviewed, rolling out r59376.
7441         http://trac.webkit.org/changeset/59376
7442         https://bugs.webkit.org/show_bug.cgi?id=39080
7443
7444         Broke window prototype tests (Requested by jamesr on #webkit).
7445
7446         * bindings/generic/RuntimeEnabledFeatures.h:
7447         * bindings/js/JSDOMWindowCustom.cpp:
7448         (WebCore::JSDOMWindow::webGLFloatArray):
7449         * bindings/v8/custom/V8DOMWindowCustom.cpp:
7450         * page/DOMWindow.idl:
7451
7452 2010-05-13  Pavel Feldman  <pfeldman@chromium.org>
7453
7454         Reviewed by Yury Semikhatsky.
7455
7456         Web Inspector: A disabled style property cannot be deleted.
7457
7458         https://bugs.webkit.org/show_bug.cgi?id=39057
7459
7460         * inspector/InspectorDOMAgent.cpp:
7461         (WebCore::InspectorDOMAgent::applyStyleText):
7462
7463 2010-05-12  Kenneth Russell  <kbr@google.com>
7464
7465         Reviewed by Dimitri Glazkov.
7466
7467         Alias WebGLArray type names to TypedArray type names
7468         https://bugs.webkit.org/show_bug.cgi?id=39036
7469
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.
7475
7476         Test: revised array-unit-tests.html to test both type names.
7477
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:
7506
7507 2010-05-13  Brady Eidson  <beidson@apple.com>
7508
7509         Reviewed by John Sullivan.
7510
7511         Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
7512
7513         No new tests. (No change in behavior)
7514
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
7517         the flag!
7518
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:
7528
7529 2010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
7530
7531         Reviewed by Pavel Feldman.
7532
7533         Web Inspector: Event Markers should be hidden in Resource's "Size" Graph
7534         https://bugs.webkit.org/show_bug.cgi?id=39074
7535
7536         Added Show / Hide event dividers functionality to the timeline grid,
7537         and included delegation functions in AbstractTimelinePanel.
7538
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
7548
7549 2010-05-13  Chang Shu  <chang.shu@nokia.com>
7550
7551         Reviewed by Kenneth Rohde Christiansen.
7552
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
7557
7558         https://bugs.webkit.org/show_bug.cgi?id=39068
7559
7560         The complete test suite is in the process of checking in.
7561         https://bugs.webkit.org/show_bug.cgi?id=20553
7562
7563         * html/canvas/CanvasRenderingContext2D.cpp:
7564         (WebCore::CanvasRenderingContext2D::State::State):
7565
7566 2010-05-13  Yury Semikhatsky  <yurys@chromium.org>
7567
7568         Unreviewed, rolling out r59360.
7569         http://trac.webkit.org/changeset/59360
7570         https://bugs.webkit.org/show_bug.cgi?id=38667
7571
7572         It broke Chromium Win build
7573
7574         * English.lproj/localizedStrings.js:
7575         * WebCore.gypi:
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:
7609
7610 2010-05-13  Antti Koivisto  <koivisto@iki.fi>
7611
7612         Reviewed by Kenneth Rohde Christiansen.
7613
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
7616
7617         Use the dirty rect that has been adjusted for scaling instead of the original one.
7618
7619         * platform/graphics/TiledBackingStore.cpp:
7620         (WebCore::TiledBackingStore::paint):
7621
7622 2010-05-13  Chang Shu  <chang.shu@nokia.com>
7623
7624         Reviewed by Kenneth Rohde Christiansen.
7625
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
7629
7630         The complete test suite is in the process of checking in.
7631         https://bugs.webkit.org/show_bug.cgi?id=20553
7632
7633         * html/canvas/CanvasRenderingContext2D.cpp:
7634         (WebCore::CanvasRenderingContext2D::reset):
7635
7636 2010-05-13  Andrey Kosyakov  <caseq@chromium.org>
7637
7638         Reviewed by Pavel Feldman.
7639
7640         Added help screen with keyboard shortcuts.
7641         https://bugs.webkit.org/show_bug.cgi?id=38667
7642
7643         * English.lproj/localizedStrings.js:
7644         * WebCore.gypi:
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.
7671
7672 2010-05-13  Yoshiki Hayashi  <yhayashi@google.com>
7673
7674         Reviewed by Darin Adler.
7675
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
7679
7680         Test: fast/css/run-in-children.html
7681
7682         * rendering/RenderBlock.cpp:
7683         (WebCore::RenderBlock::handleRunInChild):
7684
7685 2010-05-13  Alejandro G. Castro  <alex@igalia.com>
7686
7687         Reviewed by Xan Lopez.
7688
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.
7692
7693         [GTK] Theme does not render when printing
7694         https://bugs.webkit.org/show_bug.cgi?id=38896
7695
7696         * platform/gtk/RenderThemeGtk.cpp:
7697         (WebCore::paintMozillaGtkWidget):
7698
7699 2010-05-12  Yuzo Fujishima  <yuzo@google.com>
7700
7701         Reviewed by Darin Adler.
7702
7703         Fix Bug 35014 - Modifying UA rules from page JS crashes
7704         Added a NULL check.
7705         https://bugs.webkit.org/show_bug.cgi?id=35014
7706
7707         Test: fast/css/modify-ua-rules-from-javascript.html
7708
7709         * css/CSSMutableStyleDeclaration.cpp:
7710         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
7711
7712 2010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
7713
7714         Reviewed by Adam Barth.
7715
7716         Add the parent class for Database and DatabaseSync.
7717         https://bugs.webkit.org/show_bug.cgi?id=39041
7718
7719         * GNUmakefile.am:
7720         * WebCore.gypi:
7721         * WebCore.pro:
7722         * WebCore.vcproj/WebCore.vcproj:
7723         * WebCore.xcodeproj/project.pbxproj:
7724         * storage/AbstractDatabase.cpp: Added.
7725         * storage/AbstractDatabase.h: Added.
7726
7727 2010-05-12  Noam Rosenthal  <noam.rosenthal@nokia.com>
7728
7729         Reviewed by Kenneth Rohde Christiansen.
7730
7731         [Qt] GraphicsLayer: depth-test causes flicker in certain situations
7732
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
7735
7736         Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
7737
7738         * platform/graphics/qt/GraphicsLayerQt.cpp:
7739         (WebCore::GraphicsLayerQtImpl::updateTransform):
7740
7741 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
7742
7743         Reviewed by Mark Rowe.
7744
7745         Fix layer dump to avoid spurious platform differences
7746         https://bugs.webkit.org/show_bug.cgi?id=39045
7747         
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.
7751
7752         * platform/graphics/GraphicsLayer.cpp:
7753         (WebCore::GraphicsLayer::dumpProperties):
7754
7755 2010-05-12  Sheriff Bot  <webkit.review.bot@gmail.com>
7756
7757         Unreviewed, rolling out r59270.
7758         http://trac.webkit.org/changeset/59270
7759         https://bugs.webkit.org/show_bug.cgi?id=39044
7760
7761         Caused a crash on some pages - bug 39042 (Requested by smfr on
7762         #webkit).
7763
7764         * rendering/RenderBlock.cpp:
7765         (WebCore::RenderBlock::removeChild):
7766
7767 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
7768
7769         Reviewed by David Hyatt.
7770
7771         Composited plug-ins can cause missed painting
7772         https://bugs.webkit.org/show_bug.cgi?id=39033
7773         <rdar://problem/7972478>
7774
7775         Fixed missed painting (and assertions in debug builds) related to compositing
7776         propagating out of iframes that contain plug-ins.
7777         
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.
7787         
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.
7791         
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.
7794
7795         Tests: compositing/iframes/connect-compositing-iframe-delayed.html
7796                compositing/iframes/iframe-src-change.html
7797
7798         * WebCore.base.exp: Export FrameView::enterCompositingMode()
7799
7800         * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code.
7801         * page/FrameView.cpp:
7802         (WebCore::FrameView::enterCompositingMode):
7803
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.
7814
7815 2010-05-12  Anders Carlsson  <andersca@apple.com>
7816
7817         Reviewed by Simon Fraser.
7818
7819         Shrink the size of FillLayer by moving a member variable.
7820         https://bugs.webkit.org/show_bug.cgi?id=39035
7821
7822         * rendering/style/FillLayer.cpp:
7823         (WebCore::FillLayer::FillLayer):
7824         * rendering/style/FillLayer.h:
7825
7826 2010-05-12  Sam Weinig  <sam@webkit.org>
7827
7828         Reviewed by Anders Carlsson.
7829
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
7836           to strip.
7837         - Use a member variable instead of a virtual function to determine 
7838           whether a ScheduledNavigation is a location change.
7839
7840         * WebCore.base.exp:
7841         * css/CSSHelper.cpp:
7842         (WebCore::deprecatedParseURL):
7843         * css/CSSStyleSelector.cpp:
7844         (WebCore::linkAttribute):
7845         (WebCore::CSSStyleSelector::canShareStyleWithElement):
7846         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7847         * dom/Element.cpp:
7848         (WebCore::Element::getAttribute):
7849         * dom/Element.h:
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):
7877
7878 2010-05-12  David Hyatt  <hyatt@apple.com>
7879
7880         Reviewed by Sam Weinig.
7881
7882         Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time.
7883
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.
7987
7988 2010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
7989
7990         Reviewed by Dimitri Glazkov.
7991
7992         Removing the unnecessary dirfd parameter.
7993         https://bugs.webkit.org/show_bug.cgi?id=38869
7994
7995         * platform/chromium/ChromiumBridge.h:
7996         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
7997
7998 2010-05-12  Enrica Casucci  <enrica@apple.com>
7999
8000         Reviewed by Dave Hyatt.
8001
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
8004
8005         The initial height of an empty editable block is different from the height of the same block after we add block elements
8006         and remove them.
8007         
8008         Test: editing/deleting/delete-block-contents-004.html
8009
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.
8013
8014 2010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
8015
8016         Reviewed by Dimitri Glazkov.
8017
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
8020
8021         * storage/SQLTransaction.cpp:
8022         (WebCore::SQLTransaction::postflightAndCommit):
8023
8024 2010-05-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
8025
8026         Reviewed by Kenneth Rohde Christiansen.
8027
8028         [Qt] Detect debug mode consistently
8029         https://bugs.webkit.org/show_bug.cgi?id=38863
8030
8031         No new tests as there is no new functionality.
8032
8033         * WebCore.pro:
8034
8035 2010-05-12  James Robinson  <jamesr@chromium.org>
8036
8037         Patch by Dan Bernstein.
8038
8039         Reviewed by David Hyatt.
8040
8041         Fix marking the layout root's parent as needing layout
8042         https://bugs.webkit.org/show_bug.cgi?id=37760
8043
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.
8048
8049         This patch updates FrameView::scheduleRelayoutOfSubtree to account
8050         for this case.
8051
8052         Manual test only due to subtle timing issues.
8053
8054         * manual-tests/layoutroot_detach.xml: Added.
8055         * page/FrameView.cpp:
8056         (WebCore::FrameView::scheduleRelayoutOfSubtree):
8057
8058 2010-05-12  Eric Seidel  <eric@webkit.org>
8059
8060         Unreviewed, rolling out r59245.
8061         http://trac.webkit.org/changeset/59245
8062         https://bugs.webkit.org/show_bug.cgi?id=38874
8063
8064         Broke at least one test on multiple platforms
8065
8066         * rendering/RenderBlock.cpp:
8067         (WebCore::RenderBlock::removeChild):
8068
8069 2010-05-12  Alexey Proskuryakov  <ap@apple.com>
8070
8071         Reviewed by Darin Adler.
8072
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)
8075
8076         Test: fast/images/extra-image-in-image-document.html
8077
8078         * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages
8079         after manually feeding an image - there may be more coming.
8080
8081 2010-05-12  yael aharon  <yael.aharon@nokia.com>
8082
8083         Reviewed by Dan Bernstein.
8084
8085         HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement
8086         https://bugs.webkit.org/show_bug.cgi?id=38991
8087
8088         No new tests since no new functionality was introduced.
8089
8090         * html/HTMLLabelElement.cpp:
8091         (WebCore::HTMLLabelElement::control):
8092         * html/HTMLLabelElement.h:
8093
8094 2010-05-12  David Hyatt  <hyatt@apple.com>
8095
8096         Reviewed by Darin Adler.
8097
8098         https://bugs.webkit.org/show_bug.cgi?id=38891
8099
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).
8103
8104         In addition when the first-letter was floated/positioned, the text child was not correctly returned, but the container itself was
8105         returned instead.
8106
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).
8110
8111         No new tests, since there's a timing component to reproducing the issue.
8112
8113         * rendering/RenderBlock.cpp:
8114         (WebCore::RenderBlock::updateFirstLetter):
8115
8116 2010-05-12  Enrica Casucci  <enrica@apple.com>
8117
8118         Reviewed by Dave Hyatt.
8119
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
8122
8123         The initial height of an empty editable block is different from the height of the same block after we add block elements
8124         and remove them.
8125         
8126         Test: editing/deleting/delete-block-contents-004.html
8127
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.
8131
8132 2010-05-12  Pavel Feldman  <pfeldman@chromium.org>
8133
8134         Reviewed by Timothy Hatcher.
8135
8136         Web Inspector: disabling style property on container breaks styles inspection for given node.
8137
8138         https://bugs.webkit.org/show_bug.cgi?id=39005
8139
8140         Tests: inspector/styles-disable-inherited.html
8141                inspector/styles-disable-then-enable.html
8142
8143         * inspector/front-end/StylesSidebarPane.js:
8144         (WebInspector.StylesSidebarPane.prototype._containsInherited):
8145         (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
8146
8147 2010-05-12  Abhishek Arya  <inferno@chromium.org>
8148
8149         Reviewed by Darin Adler.
8150
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
8154
8155         Test: fast/innerHTML/innerHTML-special-elements.html
8156
8157         * editing/markup.cpp:
8158         (WebCore::appendStartMarkup):
8159
8160 2010-05-12  Beth Dakin  <bdakin@apple.com>
8161
8162         Reviewed by Darin Adler.
8163
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
8166         -and corresponding-
8167         <rdar://problem/7941504>
8168
8169         Move m_mediaCanStartListeners HashSet to Document away from Page.
8170         * dom/Document.cpp:
8171         (WebCore::Document::Document):
8172         (WebCore::Document::addMediaCanStartListener):
8173         (WebCore::Document::removeMediaCanStartListener):
8174         (WebCore::Document::takeAnyMediaCanStartListener):
8175         * dom/Document.h:
8176         * page/Page.cpp:
8177         (WebCore::Page::takeAnyMediaCanStartListener):
8178         * page/Page.h:
8179         (WebCore::Page::canStartMedia):
8180
8181 2010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
8182
8183         Reviewed by Pavel Feldman.
8184
8185         WebInspector: Sometimes ResourceRequest records aren't connected to the initiator.
8186         https://bugs.webkit.org/show_bug.cgi?id=38925
8187
8188         * inspector/InspectorTimelineAgent.cpp:
8189         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
8190         * inspector/InspectorTimelineAgent.h:
8191         (WebCore::):
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):
8207
8208 2010-05-12  Kent Tamura  <tkent@chromium.org>
8209
8210         Reviewed by Darin Adler.
8211
8212         placeholder text should be stripped from line breaks
8213         https://bugs.webkit.org/show_bug.cgi?id=36291
8214
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.
8219
8220         Test: fast/forms/placeholder-stripped.html
8221
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().
8235
8236 2010-05-10  Rodrigo Belem  <rodrigo.belem@openbossa.org>
8237
8238         Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
8239
8240         [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
8241         https://bugs.webkit.org/show_bug.cgi?id=26224
8242
8243         This patch adds the ability, in the QtWebkit build system, to change
8244         the installation path.
8245
8246         * WebCore.pro:
8247
8248 2010-05-12  Jer Noble  <jer.noble@apple.com>
8249
8250         Reviewed by Darin Adler.
8251         
8252         Bug 38689: #34005 will break fullscreen video playback
8253         https://bugs.webkit.org/show_bug.cgi?id=38689
8254         
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.
8259
8260         * platform/graphics/MediaPlayer.h:
8261         (WebCore::PlatformMedia::):
8262         (WebCore::):
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):
8269
8270 2010-05-12  Young Han Lee  <joybro@company100.net>
8271
8272         Reviewed by Darin Adler.
8273
8274         Add missing ENABLE(SVG) guards.
8275         https://bugs.webkit.org/show_bug.cgi?id=38892
8276
8277         * rendering/RenderSVGResourceClipper.cpp:
8278         * rendering/RenderSVGResourceMarker.cpp:
8279         * rendering/RenderSVGResourceMasker.cpp:
8280
8281 2010-05-12  Pavel Feldman  <pfeldman@chromium.org>
8282
8283         Reviewed by Yury Semikhatsky.
8284
8285         Web Inspector: align sidebar checkboxes on windows.
8286
8287         https://bugs.webkit.org/show_bug.cgi?id=38986
8288
8289         * inspector/front-end/StylesSidebarPane.js:
8290         * inspector/front-end/inspector.css:
8291         (.sidebar-pane-subtitle):
8292         (body.platform-windows .sidebar-pane-subtitle):
8293
8294 2010-05-10  yael aharon  <yael.aharon@nokia.com>
8295
8296         Reviewed by Darin Adler.
8297
8298         Support control attribute of HTMLLabelElement
8299         https://bugs.webkit.org/show_bug.cgi?id=38688
8300
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.
8305
8306         Test: fast/dom/HTMLLabelElement/click-label.html
8307         Test: fast/dom/HTMLLabelElement/focus-label.html
8308         Test: fast/dom/HTMLLabelElement/label-control.html
8309
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.
8327
8328 2010-05-12  Steve Block  <steveblock@google.com>
8329
8330         Reviewed by David Levin.
8331
8332         Android's writeToFile() is buggy
8333         https://bugs.webkit.org/show_bug.cgi?id=38908
8334
8335         No new tests, build fix only.
8336
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):
8340
8341 2010-05-10  Philippe Normand  <pnormand@igalia.com>
8342
8343         Reviewed by David Levin.
8344
8345         [GStreamer] incoherent #ifdef in GOwnPtrGStreamer.h
8346         https://bugs.webkit.org/show_bug.cgi?id=38839
8347
8348         Fixed #ifdef/curly braces coherence.
8349
8350         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
8351         (WTF::GstElement):
8352
8353 2010-05-10  Philippe Normand  <pnormand@igalia.com>
8354
8355         Reviewed by Dirk Schulze.
8356
8357         [GStreamer] un-needed cairo.h include
8358         https://bugs.webkit.org/show_bug.cgi?id=38837
8359
8360         Cairo not used in the sink anymore. So it's not needed to include
8361         the header.
8362
8363         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
8364
8365 2010-05-12  Zoltan Herczeg  <zherczeg@webkit.org>
8366
8367         Reviewed by Nikolas Zimmermann.
8368
8369         Build fix for Windows and Chromium builds.
8370
8371         * WebCore.gypi:
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):
8384
8385 2010-05-12  Zoltan Herczeg  <zherczeg@webkit.org>
8386
8387         Reviewed by Nikolas Zimmermann.
8388
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
8392
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).
8402
8403         Indentation is removed of the modified header files in svg/graphics/filters
8404
8405         * GNUmakefile.am:
8406         * WebCore.pro:
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:
8452         (WebCore::):
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):
8467
8468 2010-05-12  Xan Lopez  <xlopez@igalia.com>
8469
8470         Reviewed by Nikolas Zimmermann.
8471
8472         Add missing AM_V_GEN directives to generation rules so that they
8473         remain silent when requested.
8474
8475         * GNUmakefile.am:
8476
8477 2010-05-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
8478
8479         Reviewed by Jeremy Orlow.
8480
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
8485
8486         No new tests required.
8487
8488         * platform/efl/ScrollbarEfl.cpp:
8489         (scrollbarEflEdjeMessage):
8490
8491 2010-05-12  MORITA Hajime  <morrita@google.com>
8492
8493         Reviewed by Kent Tamura.
8494
8495         [Chromium] Support HTML5 <progress> element on Windows.
8496         https://bugs.webkit.org/show_bug.cgi?id=37308
8497
8498         Extended ChromiumBridge to handle progress bar painting,
8499         and added delegations to it.
8500         
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.
8504
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:
8517
8518 2010-05-12  Marcus Bulach  <bulach@chromium.org>
8519
8520         Reviewed by Steve Block.
8521
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
8525
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:
8537
8538 2010-05-12  Marcus Bulach  <bulach@chromium.org>
8539
8540         Reviewed by Steve Block.
8541
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
8548
8549         * platform/chromium/GeolocationServiceChromium.h:
8550
8551 2010-05-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>
8552
8553         Reviewed by Dirk Schulze.
8554
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
8558         "1".
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
8562
8563         Test: svg/dom/svgpath-getPathSegAtLength.html
8564
8565         * svg/SVGPathSegList.cpp:
8566         (WebCore::SVGPathSegList::getPathSegAtLength):
8567
8568 2010-05-11  David Hyatt  <hyatt@apple.com>
8569
8570         Reviewed by Maciej Stachowiak.
8571
8572         https://bugs.webkit.org/show_bug.cgi?id=38976, fast/css/pseudo-cache-stale.html has incorrect results.
8573
8574         Make sure to trigger a relayout of any objects whose first-line styles change dynamically.
8575
8576         * dom/Element.cpp:
8577         (WebCore::Element::pseudoStyleCacheIsInvalid):
8578
8579 2010-05-11  Joseph Pecoraro  <joepeck@webkit.org>
8580
8581         Reviewed by Timothy Hatcher.
8582
8583         Web Inspector: Shorthand Properties Getting Deleted When Editing
8584         https://bugs.webkit.org/show_bug.cgi?id=38958
8585
8586         * inspector/front-end/DOMAgent.js:
8587         (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values
8588
8589 2010-05-11  Tony Chang  <tony@chromium.org>
8590
8591         Reviewed by Darin Fisher.
8592
8593         [chromium] Remove subframe scrollbar routing (r58937)
8594         https://bugs.webkit.org/show_bug.cgi?id=38894
8595
8596         * page/chromium/EventHandlerChromium.cpp:
8597         (WebCore::EventHandler::passMousePressEventToSubframe):
8598
8599 2010-05-11  Simon Fraser  <simon.fraser@apple.com>
8600
8601         Reviewed by Maciej Stachowiak.
8602
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>
8606         
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.
8610
8611         Test: compositing/geometry/composited-html-size.html
8612
8613         * rendering/RenderLayerCompositor.cpp:
8614         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
8615
8616 2010-05-11  Anders Carlsson  <andersca@apple.com>
8617
8618         Reviewed by Mark Rowe.
8619
8620         https://bugs.webkit.org/show_bug.cgi?id=38961
8621         Move some member variables around to reduce class sizes.
8622
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.
8626
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):
8633
8634 2010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
8635
8636         Reviewed by Adam Barth.
8637
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
8641
8642         * bindings/generic/RuntimeEnabledFeatures.cpp:
8643         (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
8644         * bindings/generic/RuntimeEnabledFeatures.h:
8645
8646 2010-05-11  MORITA Hajime  <morrita@google.com>
8647
8648         Reviewed by Dirk Schulze.
8649
8650         CSS SVG font doesn't recognize URL without element reference
8651         https://bugs.webkit.org/show_bug.cgi?id=37144
8652
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.
8656         
8657         Test: svg/custom/svg-fonts-with-no-element-reference.html
8658
8659         * loader/CachedFont.cpp:
8660         (WebCore::CachedFont::getSVGFontById):
8661
8662 2010-05-11  Jer Noble  <jer.noble@apple.com>
8663
8664         No Review.
8665         
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".
8669         
8670         * WebCore.vcproj/QTMovieWin.vcproj:
8671
8672 2010-05-11  Jer Noble  <jer.noble@apple.com>
8673
8674         19 media tests are crashing on Windows Release
8675         https://bugs.webkit.org/show_bug.cgi?id=38950
8676         rdar://problem/7971658
8677
8678         Reviewed by Darin Adler.
8679
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.
8682         
8683         * WebCore.vcproj/QTMovieWin.vcproj:
8684
8685 2010-05-11  Darin Adler  <darin@apple.com>
8686
8687         Reviewed by Beth Dakin.
8688
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
8692
8693         * dom/Document.cpp:
8694         (WebCore::Document::addMediaCanStartListener): Added.
8695         (WebCore::Document::removeMediaCanStartListener): Added.
8696
8697         * dom/Document.h: Added add/removeMediaCanStartListener.
8698
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.
8708
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
8714         a function.
8715
8716         * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary.
8717
8718 2010-05-11  Brian Weinstein  <bweinstein@apple.com>
8719
8720         Reviewed by Steve Falkenburg and Jon Honeycutt.
8721         Patch by Gavin Barraclough.
8722
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>
8726         
8727         Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
8728
8729         No new tests because no change in behavior.
8730
8731         * WebCore.vcproj/WebCore.vcproj:
8732
8733 2010-05-11  Beth Dakin  <bdakin@apple.com>
8734
8735         Reviewed by Darin Adler.
8736
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
8740
8741         * page/Page.cpp:
8742         (WebCore::Page::takeAnyMediaCanStartListener):
8743         (WebCore::Page::setCanStartMedia):
8744         * page/Page.h:
8745
8746 2010-05-11  Alexey Proskuryakov  <ap@apple.com>
8747
8748         Reviewed by Brady Eidson.
8749
8750         https://bugs.webkit.org/show_bug.cgi?id=37989
8751         Safari (still) doesn't always send basic credentials preemptively
8752
8753         Test: http/tests/xmlhttprequest/basic-auth-default.html
8754
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.
8758
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:]):
8765
8766 2010-05-11  Kevin Watters  <kevinwatters@gmail.com>
8767
8768         Reviewed by Kevin Ollivier.
8769
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
8772
8773         * platform/graphics/wx/FontPlatformData.h:
8774         (WebCore::FontPlatformData::nsFont):
8775         * platform/graphics/wx/FontPlatformDataWxMac.mm:
8776         (DegToRad):
8777         (OSXCreateNSFont):
8778         (WebCore::FontPlatformData::cacheNSFont):
8779         * platform/graphics/wx/SimpleFontDataWx.cpp:
8780         (WebCore::SimpleFontData::platformWidthForGlyph):
8781
8782 2010-05-11  Avi Drissman  <avi@chromium.org>
8783
8784         Reviewed by Darin Fisher.
8785
8786         [Chromium] Pipe RTL info into WebPopupMenuInfo
8787         https://bugs.webkit.org/show_bug.cgi?id=38749
8788
8789         * platform/chromium/PopupMenuChromium.cpp:
8790         (WebCore::PopupContainer::menuStyle):
8791         * platform/chromium/PopupMenuChromium.h:
8792
8793 2010-05-11  Mark Rowe  <mrowe@apple.com>
8794
8795         Fix the world.
8796
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.
8803
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
8806         has been reverted.
8807
8808         * Configurations/FeatureDefines.xcconfig:
8809
8810 2010-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
8811
8812         Reviewed by Darin Adler.
8813
8814         REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
8815         https://bugs.webkit.org/show_bug.cgi?id=38913
8816
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.
8821
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.
8835
8836 2010-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
8837
8838         Unreviewed, rolling out r59171.
8839         http://trac.webkit.org/changeset/59171
8840         https://bugs.webkit.org/show_bug.cgi?id=38933
8841
8842         "Broke the world" (Requested by bweinstein on #webkit).
8843
8844         * WebCore.vcproj/WebCore.vcproj:
8845
8846 2010-05-11  Brian Weinstein  <bweinstein@apple.com>
8847
8848         Reviewed by Steve Falkenburg.
8849         Patch by Gavin Barraclough.
8850
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>
8854         
8855         Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
8856
8857         No new tests because no change in behavior.
8858
8859         * WebCore.vcproj/WebCore.vcproj:
8860
8861 2010-05-11  Jian Li  <jianli@chromium.org>
8862
8863         Unreviewed. Fix compiling erron on snow leopard.
8864
8865         * html/FileThreadTask.h:
8866         (WebCore::createFileThreadTask):
8867
8868 2010-05-11  Jian Li  <jianli@chromium.org>
8869
8870         Reviewed by Dmitry Titov.
8871
8872         Expose FileReader interface.
8873         https://bugs.webkit.org/show_bug.cgi?id=38609
8874
8875         Test: fast/files/file-reader.html
8876
8877         * Configurations/FeatureDefines.xcconfig:
8878         * DerivedSources.cpp:
8879         * DerivedSources.make:
8880         * GNUmakefile.am:
8881         * WebCore.gypi:
8882         * WebCore.pri:
8883         * WebCore.vcproj/WebCore.vcproj:
8884         * WebCore.xcodeproj/project.pbxproj:
8885         * bindings/js/JSEventTarget.cpp:
8886         (WebCore::toJS):
8887         * bindings/v8/V8DOMWrapper.cpp:
8888         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
8889         * html/FileError.idl:
8890         * html/FileReader.idl: Added.
8891         * page/DOMWindow.idl:
8892
8893 2010-05-11  Xan Lopez  <xlopez@igalia.com>
8894
8895         Reviewed by Gustavo Noronha.
8896
8897         [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation
8898         https://bugs.webkit.org/show_bug.cgi?id=38653
8899
8900         Check if willSendRequest cancelled the request before setting the
8901         first party for the cookies in the message, otherwise we'll get a
8902         critical warning.
8903
8904         * platform/network/soup/ResourceHandleSoup.cpp:
8905         (WebCore::restartedCallback):
8906
8907 2010-05-11  Jer Noble  <jer.noble@apple.com>
8908
8909         Reviewed by Adele Peterson.
8910
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
8914         
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.
8918         
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.
8922         
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.
8926         
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):
8936
8937 2010-05-11  Patrick Gansterer  <paroga@paroga.com>
8938
8939         Reviewed by Adam Roben.
8940
8941         Port SharedBuffer to WinCE.
8942         https://bugs.webkit.org/show_bug.cgi?id=37222
8943
8944         Use only functions which are available on Win32 and WinCE.
8945
8946         * platform/win/SharedBufferWin.cpp:
8947         (WebCore::SharedBuffer::createWithContentsOfFile):
8948
8949 2010-05-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
8950
8951         Reviewed by Kenneth Rohde Christiansen.
8952
8953         [Qt] fast/text/find-hidden-text.html
8954         https://bugs.webkit.org/show_bug.cgi?id=32922
8955
8956         Use the real page step for populating the QStyleOption otherwhise
8957         the size can be negative, which can break the QStyle used.
8958
8959         * platform/qt/ScrollbarThemeQt.cpp:
8960         (WebCore::styleOptionSlider):
8961
8962 2010-05-11  Pavel Feldman  <pfeldman@chromium.org>
8963
8964         Reviewed by Yury Semikhatsky.
8965
8966         Web Inspector: make styles rendering more user-friendly.
8967
8968         https://bugs.webkit.org/show_bug.cgi?id=36747
8969
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):
8983         (.styles-section):
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):
9007
9008 2010-05-11  Nikolas Zimmermann  <nzimmermann@rim.com>
9009
9010         Reviewed by Dirk Schulze.
9011
9012         Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
9013         https://bugs.webkit.org/show_bug.cgi?id=38799
9014
9015         Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox.
9016         Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites.
9017
9018         Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests.
9019
9020         Tests: svg/text/text-hkern-on-vertical-text.svg
9021                svg/text/text-vkern-on-horizontal-text.svg
9022
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.
9060         (WebCore::):
9061         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
9062         (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo):
9063
9064 2010-05-11  Zoltan Herczeg  <zherczeg@webkit.org>
9065
9066         Reviewed by Dirk Schulze.
9067
9068         RenderSVGImage::imageChanged should invalidate the SVG filter cache
9069         https://bugs.webkit.org/show_bug.cgi?id=38838
9070
9071         Test: svg/filters/filteredImage.svg
9072
9073         * rendering/RenderSVGImage.cpp:
9074         (WebCore::RenderSVGImage::imageChanged):
9075
9076 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9077
9078         Fix asserting GTK build.
9079
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.
9084
9085         * rendering/RenderObject.cpp:
9086         (WebCore::RenderObject::repaintUsingContainer):
9087
9088 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9089
9090         Fix warning on Windows about unreachable code.
9091
9092         * rendering/RenderLayerCompositor.cpp:
9093         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
9094
9095 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9096
9097         Reviewed by Anders Carlsson
9098
9099         Allow compositing layers to be connected across iframe boundaries on Mac
9100         https://bugs.webkit.org/show_bug.cgi?id=38856
9101         
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
9106         are composited.
9107
9108         The bug is timing-sensitive, involving compositing in iframes, and I was not able to
9109         concoct a good testcase.
9110
9111         * rendering/RenderObject.cpp:
9112         (WebCore::RenderObject::repaintUsingContainer):
9113
9114 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9115
9116         Reviewed by Anders Carlsson
9117
9118         Allow compositing layers to be connected across iframe boundaries on Mac
9119         https://bugs.webkit.org/show_bug.cgi?id=38856
9120
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
9123         enclosing document.
9124
9125         Tests: compositing/iframes/connect-compositing-iframe.html
9126                compositing/iframes/connect-compositing-iframe2.html
9127                compositing/iframes/connect-compositing-iframe3.html
9128
9129         * page/FrameView.h:
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.
9135
9136         * rendering/RenderLayer.cpp:
9137         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
9138         (WebCore::RenderLayer::isSelfPaintingLayer):
9139
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.
9145
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.
9170
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.
9174
9175 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9176
9177         Reviewed by Anders Carlsson
9178
9179         Allow compositing layers to be connected across iframe boundaries on Mac
9180         https://bugs.webkit.org/show_bug.cgi?id=38856
9181
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).
9185         
9186         * rendering/RenderLayerBacking.cpp:
9187         (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we
9188         can simplify this method.
9189
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.
9194
9195         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine
9196         whether to parent the iframe's layers.
9197         
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.
9203
9204 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9205
9206         Reviewed by Anders Carlsson
9207
9208         Allow compositing layers to be connected across iframe boundaries on Mac
9209         https://bugs.webkit.org/show_bug.cgi?id=38856
9210         
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.
9213
9214         * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum.
9215         (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment.
9216
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
9229             attachment.
9230         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on
9231             attachment.
9232
9233 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9234
9235         Reviewed by Anders Carlsson
9236
9237         Allow compositing layers to be connected across iframe boundaries on Mac
9238         https://bugs.webkit.org/show_bug.cgi?id=38856
9239
9240         Clean up the geometry logic when propagating compositing out of iframes.
9241
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.
9245         
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.
9249
9250 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
9251
9252         Reviewed by Anders Carlsson
9253
9254         Allow compositing layers to be connected across iframe boundaries on Mac
9255         https://bugs.webkit.org/show_bug.cgi?id=38856
9256
9257         Clean up some methods related to composited iframes. No behavioral changes.
9258
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().
9263         
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
9268         null).
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().
9275
9276 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
9277
9278         Reviewed by Brady Eidson.
9279
9280         Cleaning up and fixing the existing JSC DB bindings.
9281         https://bugs.webkit.org/show_bug.cgi?id=34994
9282
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):
9292
9293 2010-05-10  Fumitoshi Ukai  <ukai@chromium.org>
9294
9295         Reviewed by Alexey Proskuryakov.
9296
9297         WebSocket needs to suspend/resume as Active DOM object.
9298         https://bugs.webkit.org/show_bug.cgi?id=38171
9299
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.
9307
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):
9317           Mark suspended.
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:
9357
9358 2010-05-07  Dumitru Daniliuc  <dumi@chromium.org>
9359
9360         Reviewed by Brady Eidson.
9361
9362         Implement the JSC bindings for the sync DB API.
9363         https://bugs.webkit.org/show_bug.cgi?id=34994
9364
9365         * bindings/js/JSDatabaseSyncCustom.cpp:
9366         (WebCore::JSDatabaseSync::changeVersion):
9367         (WebCore::createTransaction):
9368         * bindings/js/JSSQLTransactionSyncCustom.cpp:
9369         (WebCore::JSSQLTransactionSync::executeSql):
9370
9371 2010-05-10  Dean Jackson  <dino@apple.com>
9372
9373         Reviewed by Simon Fraser.
9374
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.
9378
9379         Test: animations/animation-shorthand-removed.html
9380
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):
9386
9387 2010-05-10  Sam Weinig  <sam@webkit.org>
9388
9389         Reviewed by Darin Adler.
9390
9391         Fix for https://bugs.webkit.org/show_bug.cgi?id=38583
9392         <rdar://problem/7948784> Crash in Element::normalizeAttributes.
9393
9394         Test: fast/dom/Element/normalize-crash.html
9395
9396         * dom/Element.cpp:
9397         (WebCore::Element::normalizeAttributes): Copy attributes to a vector
9398         before iterating.
9399         * dom/NamedAttrMap.cpp:
9400         (WebCore::NamedNodeMap::copyAttributesToVector): Added.
9401         * dom/NamedAttrMap.h:
9402
9403 2010-05-10  Jian Li  <jianli@chromium.org>
9404
9405         Reviewed by Adam Barth.
9406
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
9410
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.
9413
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):
9421
9422 2010-05-10  Mark Rowe  <mrowe@apple.com>
9423
9424         Fix the 32-bit WebKit2 build.
9425
9426         * WebCore.base.exp:
9427
9428 2010-05-07  Jon Honeycutt  <jhoneycutt@apple.com>
9429
9430         Crash closing window containing Flash plug-in
9431         https://bugs.webkit.org/show_bug.cgi?id=38797
9432         <rdar://problem/7935266>
9433
9434         Reviewed by Eric Seidel.
9435
9436         Test: plugins/geturlnotify-during-document-teardown.html
9437
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.
9442
9443 2010-05-10  Alexey Proskuryakov  <ap@apple.com>
9444
9445         Reviewed by Darin Adler.
9446
9447         Based on a patch by Eric Seidel.
9448
9449         https://bugs.webkit.org/show_bug.cgi?id=28697
9450         <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
9451
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.
9455
9456         Test: fast/dom/Range/remove-all-children-crash.html
9457
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.
9465
9466         * dom/Document.cpp:
9467         (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9468
9469         * dom/Document.h: 
9470         (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9471
9472         * dom/Range.h:
9473         * dom/Range.cpp:
9474         (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9475         (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
9476
9477 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
9478
9479         Reviewed by Adam Barth.
9480
9481         Implement the V8 bindings for the sync DB API.
9482         https://bugs.webkit.org.show_bug.cgi?id=34994
9483
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):
9491
9492 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
9493
9494         Reviewed by Adam Barth.
9495
9496         Clean up and fix the existing V8 DB bindings.
9497         https://bugs.webkit.org/show_bug.cgi?id=34994
9498
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):
9506
9507 2010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
9508
9509         [wx] Build fix for wx 2.8 after complex text changes.
9510
9511         * platform/graphics/wx/FontPlatformDataWxMac.mm:
9512         (WebCore::FontPlatformData::nsFont):
9513         * platform/graphics/wx/SimpleFontDataWx.cpp:
9514         (WebCore::SimpleFontData::platformWidthForGlyph):
9515
9516 2010-05-10  John Gregg  <johnnyg@google.com>
9517
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
9521
9522         * html/canvas/WebGLIntegralTypedArrayBase.h:
9523
9524 2010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
9525
9526         [wx] Build fix for wx trunk after complex text changes.
9527
9528         * platform/graphics/wx/FontPlatformDataWx.cpp:
9529         (WebCore::FontPlatformData::FontPlatformData):
9530
9531 2010-05-10  Tony Gentilcore  <tonyg@chromium.org>
9532
9533         Reviewed by Adam Barth.
9534
9535         Provide mechanism to cache metadata for a resource
9536         https://bugs.webkit.org/show_bug.cgi?id=37874
9537
9538         No new tests because no new functionality.
9539
9540         * WebCore.gypi:
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):
9566         * loader/loader.h:
9567         * platform/network/ResourceHandle.cpp:
9568         (WebCore::ResourceHandle::cacheMetadata):
9569         * platform/network/ResourceHandle.h:
9570         * platform/network/ResourceHandleClient.h:
9571         (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
9572
9573 2010-05-09  Kenneth Russell  <kbr@google.com>
9574
9575         Reviewed by Dimitri Glazkov.
9576
9577         Refactor WebGLArray types to share more code
9578         https://bugs.webkit.org/show_bug.cgi?id=37712
9579
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.
9586
9587         No new tests; existing tests cover this functionality. Ran all
9588         WebGL layout tests in Safari and Chromium on Mac OS X.
9589
9590         * WebCore.gypi:
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):
9652
9653 2010-05-10  Kenneth Russell  <kbr@google.com>
9654
9655         Reviewed by Dimitri Glazkov.
9656
9657         Refactor WebGLArray types to share more code
9658         https://bugs.webkit.org/show_bug.cgi?id=37712
9659
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.
9666
9667         No new tests; existing tests cover this functionality. Ran all
9668         WebGL layout tests in Safari and Chromium on Mac OS X.
9669
9670         * WebCore.gypi:
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):
9732
9733 2010-05-10  Brent Fulgham  <bfulgham@webkit.org>
9734
9735         Build fix, not reviewed.
9736
9737         Correct post-build copy command for WinCairo port to make sure
9738         cairo headers are available for WebKit.dll build.
9739
9740         * WebCore.vcproj/WebCore.vcproj:
9741
9742 2010-05-10  Dirk Schulze  <krit@webkit.org>
9743
9744         Reviewed by Nikolas Zimmermann.
9745
9746         Further optimization for SVG's repaintRect calculation
9747         https://bugs.webkit.org/show_bug.cgi?id=38820
9748         
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.
9757         
9758         No behavior changes, the smaller repaintRects cause updates for DRT results.
9759
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):
9783
9784 2010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
9785
9786         Reviewed by Pavel Feldman.
9787
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
9793
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):
9800
9801 2010-05-10  Csaba Osztrogonác  <ossy@webkit.org>
9802
9803         Rubber-stamped by Simon Hausmann.
9804
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.
9807
9808         https://bugs.webkit.org/show_bug.cgi?id=32967
9809
9810         * platform/network/qt/ResourceRequestQt.cpp:
9811         (WebCore::ResourceRequest::toNetworkRequest):
9812
9813 2010-05-10  Markus Goetz  <Markus.Goetz@nokia.com>
9814
9815         Reviewed by Simon Hausmann.
9816
9817         Qt after 4.6.3 has its integrated DNS cache. Therefore some
9818         code is not necessary anymore.
9819
9820         https://bugs.webkit.org/show_bug.cgi?id=38834
9821
9822         * platform/network/qt/DnsPrefetchHelper.h:
9823         (WebCore::DnsPrefetchHelper::lookup):
9824         (WebCore::DnsPrefetchHelper::lookedUp):
9825
9826 2010-05-10  Chris Jerdonek  <cjerdonek@webkit.org>
9827
9828         Reviewed by Darin Adler.
9829
9830         Asserted that Node::setDocument() is not being used to change
9831         the document of a node.
9832
9833         https://bugs.webkit.org/show_bug.cgi?id=38821
9834
9835         * dom/Node.cpp:
9836         (WebCore::Node::setDocument):
9837           Added an ASSERT at the beginning of the function.
9838         * dom/Node.h:
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
9841           prior document.
9842
9843 2010-05-10  Dirk Schulze  <krit@webkit.org>
9844
9845         Reviewed by Darin Adler.
9846
9847         SVG FilterEffects need more detailed DRT information
9848         https://bugs.webkit.org/show_bug.cgi?id=38683
9849
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.
9852
9853         No changed behaior, so no new test added.
9854
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:
9871         (WebCore::):
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:
9928
9929 2010-05-10  Jeremy Orlow  <jorlow@chromium.org>
9930
9931         Reviewed by Nate Chapin.
9932
9933         Change IndexedDB to use events instead of callbacks
9934         https://bugs.webkit.org/show_bug.cgi?id=38594
9935
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).
9940
9941         This change also introduces JSC bindings that match the level of
9942         functionality the V8 bindings have.
9943
9944         Still not testable, but that shoudl change shortly.
9945
9946         * DerivedSources.cpp:
9947         * DerivedSources.make:
9948         * GNUmakefile.am:
9949         * WebCore.gypi:
9950         * WebCore.pri:
9951         * WebCore.pro:
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:
10003
10004 2010-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
10005
10006         Not reviewed: rollback the commit r59062
10007
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):
10014
10015 2010-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
10016
10017         Reviewed by Pavel Feldman.
10018
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
10024
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):
10031
10032 2010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
10033
10034         Reviewed by Pavel Feldman.
10035
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
10039
10040         * inspector/front-end/TimelinePanel.js:
10041         (WebInspector.TimelinePanel):
10042         (WebInspector.TimelinePanel.prototype._refreshRecords):
10043
10044 2010-05-07  Sam Weinig  <sam@webkit.org>
10045
10046         Reviewed by Darin Adler.
10047
10048         Fix for https://bugs.webkit.org/show_bug.cgi?id=38557
10049         r58526 introduced a ~30% regression on Dromaeo JS lib
10050
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.
10058
10059         * bindings/js/JSDocumentCustom.cpp:
10060         (WebCore::JSDocument::markChildren):
10061         * bindings/js/JSNodeCustom.cpp:
10062         (WebCore::JSNode::markChildren):
10063         * dom/Node.cpp:
10064         (WebCore::Node::removeCachedTagNodeList):
10065         (WebCore::Node::getElementsByTagNameNS):
10066         * dom/NodeRareData.h:
10067
10068 2010-05-08  Antonio Gomes  <tonikitoo@webkit.org>
10069
10070         Unreviewed attempt to fix Windows build.
10071
10072         * page/SpatialNavigation.h:
10073         (WebCore::fudgeFactor):
10074
10075 2010-05-03  Antonio Gomes  <tonikitoo@webkit.org>
10076
10077         Reviewed by Kenneth Christiansen.
10078
10079         Spatial Navigation: create a getter for the "fudgeFactor"
10080         https://bugs.webkit.org/show_bug.cgi?id=38488
10081
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.
10086
10087         No behaviour change.
10088
10089         * page/SpatialNavigation.cpp:
10090         (WebCore::scrollIntoView):
10091         (WebCore::deflateIfOverlapped):
10092         * page/SpatialNavigation.h:
10093         (WebCore::fudgeFactor):
10094
10095 2010-05-08  Stuart Morgan  <stuartmorgan@chromium.org>
10096
10097         Reviewed by Darin Adler.
10098
10099         Change the npapi.h header guards to match the npapi-headers repository
10100         copy.
10101
10102         https://bugs.webkit.org/show_bug.cgi?id=38666
10103
10104         * bridge/npapi.h:
10105
10106 2010-05-08  Stuart Morgan  <stuartmorgan@chromium.org>
10107
10108         Reviewed by Darin Fisher.
10109
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.
10113
10114         https://bugs.webkit.org/show_bug.cgi?id=38666
10115
10116         * bridge/npapi.h:
10117         (_NPPrint::):
10118         (_NPCocoaEvent::):
10119         * bridge/npruntime.h:
10120
10121 2010-05-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
10122
10123         Reviewed by Darin Adler.
10124
10125         Fix guard around IndexedDatabase
10126         https://bugs.webkit.org/show_bug.cgi?id=38710
10127
10128         No new tests, there is no new functionality.
10129
10130         * page/PageGroup.h:
10131
10132 2010-05-08  Luiz Agostini  <luiz.agostini@openbossa.org>
10133
10134         Reviewed by Simon Hausmann.
10135
10136         [Qt] Platform plugin
10137         https://bugs.webkit.org/show_bug.cgi?id=38438
10138
10139         Select popups delegate private API. To provide select popup delegates
10140         a plugin that implements QWebKitPlatformPlugin must be found
10141         in QCoreApplication::libraryPaths.
10142
10143         * WebCore.pro:
10144
10145 2010-05-08  Leandro Pereira  <leandro@profusion.mobi>
10146
10147         Reviewed by Gustavo Noronha Silva.
10148
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
10152
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):
10171
10172 2010-05-08  Leandro Pereira  <leandro@profusion.mobi>
10173
10174         Reviewed by Gustavo Noronha Silva.
10175
10176         ResourceHandleSoup should depend only on GLib, not on GTK+.
10177         http://webkit.org/b/38763
10178
10179         * platform/network/soup/ResourceHandleSoup.cpp: Include glib.h
10180         instead of gtk/gtk.h.
10181
10182 2010-05-08  Eric Seidel  <eric@webkit.org>
10183
10184         Unreviewed, rolling out r59023.
10185         http://trac.webkit.org/changeset/59023
10186         https://bugs.webkit.org/show_bug.cgi?id=37874
10187
10188         Caused Chromium Windows build to fail to link.
10189
10190         * WebCore.gypi:
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:
10199         * loader/loader.h:
10200         * platform/network/ResourceHandle.cpp:
10201         * platform/network/ResourceHandle.h:
10202         * platform/network/ResourceHandleClient.h:
10203
10204 2010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
10205
10206         Reviewed by Timothy Hatcher.
10207
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
10214
10215         * inspector/front-end/TextPrompt.js:
10216         (WebInspector.TextPrompt.prototype._completionsReady):
10217
10218 2010-05-08  Tony Gentilcore  <tonyg@chromium.org>
10219
10220         Reviewed by Darin Fisher.
10221
10222         Provide mechanism to store cached metadata on a CachedResource.
10223         https://bugs.webkit.org/show_bug.cgi?id=37874
10224
10225         No new tests because no new functionality.
10226
10227         * WebCore.gypi:
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):
10253         * loader/loader.h:
10254         * platform/network/ResourceHandle.cpp:
10255         (WebCore::ResourceHandle::cacheMetadata):
10256         * platform/network/ResourceHandle.h:
10257         * platform/network/ResourceHandleClient.h:
10258         (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
10259
10260 2010-05-08  Michael Nordman  <michaeln@google.com>
10261
10262         Reviewed by Dmitry Titov.
10263
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
10267
10268         No new tests. There are no script visible changes.
10269
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):
10274
10275 2010-05-08  Robert Hogan  <robert@roberthogan.net>
10276
10277         Reviewed by Simon Hausmann.
10278
10279         [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
10280              and http/tests/xmlhttprequest/cross-origin-authorization.html
10281
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.
10289
10290         QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
10291         unless withCredentials is set to true in the XHR.
10292
10293         QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
10294         is set to true in the XHR.
10295
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.
10302
10303         The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
10304
10305         https://bugs.webkit.org/show_bug.cgi?id=32967
10306
10307         * platform/network/qt/ResourceRequestQt.cpp:
10308         (WebCore::ResourceRequest::toNetworkRequest):
10309
10310 2010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
10311
10312         Reviewed by Pavel Feldman.
10313
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
10316
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):
10325
10326 2010-05-05  Robert Hogan  <robert@webkit.org>
10327
10328         Reviewed by Alexey Proskuryakov.
10329
10330         [Qt] Fix encoding of status message in Plugin API
10331
10332         https://bugs.webkit.org/show_bug.cgi?id=35144
10333
10334         Spotted by Alexey Proskuryakov.
10335
10336         * plugins/PluginView.cpp:
10337         (WebCore::PluginView::status):
10338
10339 2010-05-08  Dirk Schulze  <krit@webkit.org>
10340
10341         Unreviewed win build fix.
10342
10343         JS bindings were missing in DerivedSources.cpp
10344
10345         * DerivedSources.cpp:
10346
10347 2010-05-08  Dirk Schulze  <krit@webkit.org>
10348
10349         Uneviewed fix of Win bot
10350
10351         Added JS bindings to Win build system.
10352
10353         * WebCore.vcproj/WebCore.vcproj:
10354
10355 2010-05-08  Dirk Schulze  <krit@webkit.org>
10356
10357         Unreviewed try to fix Win bot.
10358
10359         SVGFont's VKern implementation missing
10360         https://bugs.webkit.org/show_bug.cgi?id=38663
10361
10362         * bindings/scripts/CodeGeneratorJS.pm:
10363
10364 2010-05-08  Dirk Schulze  <krit@webkit.org>
10365
10366         Reviewed by Nikolas Zimmermann.
10367
10368         SVGFont's VKern implementation missing
10369         https://bugs.webkit.org/show_bug.cgi?id=38663
10370
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.
10374
10375         Test: svg/text/text-vkern.svg
10376
10377         * Android.derived.jscbindings.mk:
10378         * Android.derived.v8bindings.mk:
10379         * Android.mk:
10380         * DerivedSources.make:
10381         * GNUmakefile.am:
10382         * WebCore.gyp/WebCore.gyp:
10383         * WebCore.gypi:
10384         * WebCore.pri:
10385         * WebCore.pro:
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.
10419         * svg/svgtags.in:
10420
10421 2010-05-08  Jer Noble  <jer.noble@apple.com>
10422
10423         Unreviewed, just fixing windows build.
10424
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.
10428
10429 2010-05-08  Eric Seidel  <eric@webkit.org>
10430
10431         Unreviewed, just reverting commit.
10432
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
10435
10436         Test: fast/js/global-resolve-through-eval.html
10437
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:
10451         (WebCore::):
10452         * bindings/scripts/test/JS/JSTestObj.cpp:
10453         (WebCore::):
10454         * workers/WorkerThread.cpp:
10455         (WebCore::WorkerThreadShutdownFinishTask::performTask):
10456         (WebCore::WorkerThreadShutdownStartTask::performTask):
10457
10458 2010-05-07  Zoltan Herczeg  <zherczeg@webkit.org>
10459
10460         Reviewed by Dirk Schulze
10461
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
10464
10465         It is ((x ^ (1 / 2.4)) * 1.055) - 0.055
10466
10467         Chromium pixel tests cover the issue.
10468
10469         * platform/graphics/ImageBuffer.cpp:
10470         (WebCore::ImageBuffer::transformColorSpace):
10471
10472 2010-05-04  Jer Noble  <jer.noble@apple.com>
10473
10474         Reviewed by Eric Carlson
10475
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>
10479
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.
10488         
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):
10500         (QTMovie::play):
10501         (QTMovie::pause):
10502         (QTMovie::rate):
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):
10513         (QTMovie::load):
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.
10567
10568 2010-05-04  Jer Noble  <jer.noble@apple.com>
10569
10570         Reviewed by Eric Carlson
10571
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>
10575
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).
10580
10581         * platform/graphics/MediaPlayer.cpp:
10582         (WebCore::installedMediaEngines):
10583
10584 2010-05-04  Jer Noble  <jer.noble@apple.com>
10585
10586         Reviewed by Maciej Stachowiak
10587
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>
10591
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.
10595         
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.
10602
10603 2010-05-04  Jer Noble  <jer.noble@apple.com>
10604
10605         Reviewed by Eric Carlson
10606
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>
10610
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.
10618
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.
10621
10622 2010-05-04  Jer Noble  <jer.noble@apple.com>
10623
10624         Reviewed by Maciej Stachowiak
10625
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>
10629         
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
10633         in a future patch. 
10634
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:
10650
10651 2010-05-04  Jer Noble  <jer.noble@apple.com>
10652
10653         Reviewed by Anders Carlsson
10654
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>
10658
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.
10663         
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.
10667         
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.
10671         
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.
10675         
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.
10684
10685 2010-05-07  Eric Uhrhane  <ericu@chromium.org>
10686
10687         Reviewed by Dmitry Titov.
10688
10689         JSCallbackData is deleted on the Main thread, not the Context thread.
10690         https://bugs.webkit.org/show_bug.cgi?id=38623
10691
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.
10695
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.
10700
10701         (WebCore::DeleteCallbackDataTask):
10702         This is the task that can get posted to the context thread for cleanup.
10703
10704         * bindings/js/JSCustomVoidCallback.cpp:
10705         * bindings/js/JSCustomVoidCallback.h:
10706         This callback isn't autogenerated, so we have to do the cleanup manually.
10707
10708         * bindings/scripts/CodeGeneratorJS.pm:
10709         Add the proper cleanup to all autogenerated callbacks.
10710
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.
10715
10716 2010-05-07  Eric Seidel  <eric@webkit.org>
10717
10718         Reviewed by Adam Barth.
10719
10720         Fix JSC binding generation to match webkit style
10721         https://bugs.webkit.org/show_bug.cgi?id=38173
10722
10723         Add spaces around "|" to match webkit style.
10724
10725         * bindings/scripts/CodeGeneratorJS.pm:
10726         * bindings/scripts/test/JS/JSTestObj.cpp:
10727
10728 2010-05-07  Dumitru Daniliuc  <dumi@chromium.org>
10729
10730         Reviewed by Brady Eidson.
10731
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
10734
10735         * DerivedSources.cpp:
10736         * DerivedSources.make:
10737         * GNUmakefile.am:
10738         * WebCore.gypi:
10739         * WebCore.pri:
10740         * WebCore.pro:
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:
10782
10783 2010-05-07  Beth Dakin  <bdakin@apple.com>
10784
10785         Reviewed by Simon Fraser.
10786
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
10791
10792         This patch reverts back to pre-r58797 behavior when 
10793         shouldPropagateCompositingToIFrameParent() is false.
10794         * rendering/RenderLayerBacking.cpp:
10795         (WebCore::RenderLayerBacking::paintingGoesToWindow):
10796
10797 2010-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
10798
10799         Unreviewed, rolling out r58963.
10800         http://trac.webkit.org/changeset/58963
10801         https://bugs.webkit.org/show_bug.cgi?id=38773
10802
10803         Broke Chromium layout tests. (Requested by dcheng on #webkit).
10804
10805         * platform/chromium/DragDataChromium.cpp:
10806         (WebCore::DragData::asURL):
10807
10808 2010-05-07  Martin Robinson  <mrobinson@igalia.com>
10809
10810         Reviewed by Gustavo Noronha Silva.
10811
10812         https://bugs.webkit.org/show_bug.cgi?id=38769
10813         ClipboardGtk should write the URL label in the text portion of the DataObject
10814
10815         No tests as this code path is currently unused in the GTK+ port.
10816
10817         * platform/gtk/ClipboardGtk.cpp:
10818         (WebCore::ClipboardGtk::writeURL): Write the label to the text portion of the DataObject, instead of the URL.
10819
10820 2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>
10821
10822         Reviewed by Dirk Schulze.
10823
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
10826
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.
10829
10830         * rendering/RenderSVGResourceClipper.cpp:
10831         (WebCore::RenderSVGResourceClipper::createClipData):
10832
10833 2010-05-07  Daniel Cheng  <dcheng@chromium.org>
10834
10835         Reviewed by Jian Li.
10836
10837         [chromium] DragDataChromium::asURL() shouldn't do file validity checks
10838         https://bugs.webkit.org/show_bug.cgi?id=38711
10839
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.
10843
10844         No new tests.
10845
10846         * platform/chromium/DragDataChromium.cpp:
10847         (WebCore::DragData::asURL):
10848
10849 2010-05-07  Simon Fraser  <simon.fraser@apple.com>
10850
10851         Reviewed by Dan Bernstein.
10852
10853         Fix debug-only render tree output to show object addresses in hex.
10854
10855         * rendering/RenderTreeAsText.cpp:
10856         (WebCore::writeRenderObject):
10857         (WebCore::write):
10858
10859 2010-05-07  Alexey Proskuryakov  <ap@apple.com>
10860
10861         Reviewed by Adele Peterson.
10862
10863         https://bugs.webkit.org/show_bug.cgi?id=38546
10864         Node.focus() fails to move focus from subframe properly
10865
10866         Test: fast/frames/take-focus-from-iframe.html
10867
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.
10871
10872 2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>
10873
10874         Reviewed by Dirk Schulze.
10875
10876         svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly
10877         https://bugs.webkit.org/show_bug.cgi?id=37798
10878
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.
10886
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.
10892
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.
10895
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.
10904
10905 2010-05-06  Kenneth Russell  <kbr@google.com>
10906
10907         Reviewed by Dimitri Glazkov.
10908
10909         WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c)
10910         https://bugs.webkit.org/show_bug.cgi?id=38039
10911
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.
10920
10921         Tests: fast/canvas/webgl/array-get-and-set-method-removal.html
10922                fast/canvas/webgl/array-get-out-of-bounds.html
10923
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:
10970
10971 2010-05-07  Pavel Feldman  <pfeldman@chromium.org>
10972
10973         Not reviewed: chromium dev tools tests fix.
10974         Add a more strict check prior to accessing constructor property in
10975         Web Inspector frontend.
10976
10977         * inspector/front-end/InjectedScript.js:
10978         (injectedScriptConstructor):
10979
10980 2010-05-07  Pavel Feldman  <pfeldman@chromium.org>
10981
10982         Reviewed by Joseph Pecoraro.
10983
10984         Web Inspector: On Linux/Windows panel history is
10985         traversed while iterating over words in text prompt.
10986
10987         https://bugs.webkit.org/show_bug.cgi?id=38740
10988
10989         * inspector/front-end/TextPrompt.js:
10990         (WebInspector.TextPrompt):
10991         * inspector/front-end/inspector.js:
10992         (WebInspector.documentKeyDown):
10993
10994 2010-05-07  Pavel Feldman  <pfeldman@chromium.org>
10995
10996         Reviewed by Timothy Hatcher.
10997
10998         Web Inspector: come up with InjectedScript._className that works for both JSC and V8.
10999
11000         https://bugs.webkit.org/show_bug.cgi?id=38755
11001
11002         * inspector/front-end/InjectedScript.js:
11003         (injectedScriptConstructor):
11004
11005 2010-05-07  Joseph Pecoraro  <joepeck@webkit.org>
11006
11007         Reviewed by Adam Barth.
11008
11009         document.write is not synchronous after page load
11010         https://bugs.webkit.org/show_bug.cgi?id=38146
11011
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.
11017
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.
11021
11022         Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html
11023
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
11028         * dom/Tokenizer.h:
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.
11034
11035 2010-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
11036
11037         Reviewed by Simon Hausmann.
11038
11039         [Qt] Fix rendering of -webkit-user-select: none
11040
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.
11045
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.
11049
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.
11056
11057         https://bugs.webkit.org/show_bug.cgi?id=38523
11058
11059         * platform/graphics/qt/GraphicsContextQt.cpp:
11060
11061 2010-05-07  Ben Murdoch  <benm@google.com>
11062
11063         Reviewed by Darin Adler.
11064
11065         Potential crash in EventHandler::handleTouchEvent
11066         https://bugs.webkit.org/show_bug.cgi?id=38646
11067
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.
11070
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.
11073
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).
11079
11080 2010-05-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11081
11082         Rubber-stamped by Kenneth Rohde Christiansen.
11083
11084         [GTK] Fails to build on GTK+ < 2.14
11085         https://bugs.webkit.org/show_bug.cgi?id=38746
11086
11087         Build fix only. Do basically the same as gtk_adjustment_configure
11088         would do if we are bellow GTK+ 2.14.
11089
11090         * platform/gtk/ScrollViewGtk.cpp:
11091         (WebCore::AdjustmentConfigure):
11092
11093 2010-05-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11094
11095         Rubber-stamped by Xan Lopez.
11096
11097         Crash with MgOpenModerna font, with non-UTF-8 character
11098         https://bugs.webkit.org/show_bug.cgi?id=37795
11099
11100         NULL-check the font platform data, for now, to avoid the crash.
11101
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
11104         licensing.
11105
11106         * platform/graphics/cairo/FontCacheCairo.cpp:
11107         (WebCore::FontCache::getFontDataForCharacters):
11108
11109 2010-05-07  MORITA Hajime  <morrita@google.com>
11110
11111         Reviewed by Eric Seidel.
11112
11113         [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm
11114         https://bugs.webkit.org/show_bug.cgi?id=37204
11115
11116         Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme.
11117         Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac.
11118         
11119         No new tests; Should have no behavioural change.
11120
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):        
11145
11146 2010-05-06  Fumitoshi Ukai  <ukai@chromium.org>
11147
11148         Reviewed by Alexey Proskuryakov.
11149
11150         JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
11151         https://bugs.webkit.org/show_bug.cgi?id=38719
11152
11153         * platform/graphics/wince/FontCustomPlatformData.cpp:
11154         (WebCore::createUniqueFontName):
11155           Remove WTF:: prefix from randomNumber()
11156         * platform/network/FormDataBuilder.cpp:
11157         (WebCore::FormDataBuilder::generateUniqueBoundaryString):
11158           Ditto.
11159
11160 2010-04-27  Tony Chang  <tony@chromium.org>
11161
11162         Reviewed by Eric Seidel.
11163
11164         [chromium] clicking a scrollbar in an iframe shouldn't lose the selection
11165         https://bugs.webkit.org/show_bug.cgi?id=38189
11166
11167         Test: fast/events/mousedown-in-subframe-scrollbar.html
11168
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.
11173
11174 2010-05-06  Simon Fraser  <simon.fraser@apple.com>
11175
11176         Reviewed by Dan Bernstein.
11177
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
11180         
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
11183         elements.
11184         
11185         Test: compositing/layer-creation/overflow-scroll-overlap.html
11186
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.
11194
11195 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
11196
11197         Not reviewed, build fix.
11198
11199         Try again - with quotes this time. *facepalm*
11200
11201         * dom/Notation.cpp:
11202
11203 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
11204
11205         Not reviewed, build fix.
11206
11207         Speculative fix for Qt and Gtk.
11208
11209         * dom/Notation.cpp:
11210
11211 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
11212
11213         Not reviewed, build fix.
11214
11215         Fix an assert that I failed to update in my earlier change.
11216
11217         * dom/CharacterData.h:
11218         (WebCore::CharacterData::CharacterData):
11219
11220 2010-05-06  Alexey Proskuryakov  <ap@apple.com>
11221
11222         Reviewed by Geoff Garen.
11223
11224         https://bugs.webkit.org/show_bug.cgi?id=38697
11225         REGRESSION (r58299): Replying on reddit.com no longer works
11226
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.
11230
11231 2010-05-06  Jian Li  <jianli@chromium.org>
11232
11233         Reviewed by Adam Barth.
11234
11235         Improve code generator scripts to support converting ScriptString.
11236         https://bugs.webkit.org/show_bug.cgi?id=38699
11237
11238         Change both JSC and V8 generators to introduce "ConvertScriptString"
11239         attribute to allow converting from ScriptString. Also updated the
11240         bindings test result.
11241
11242         These changes are necessary in order to avoid adding custom binding codes
11243         when we add the FileReader interface.
11244
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:
11253         (WebCore::):
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):
11262         (WebCore::):
11263
11264 2010-05-06  Jian Li  <jianli@chromium.org>
11265
11266         Reviewed by Adam Barth.
11267
11268         Improve code generator scripts to pass additional ScriptExecutionContext
11269         argument to the constructor.
11270         https://bugs.webkit.org/show_bug.cgi?id=38687
11271
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
11275         features.
11276
11277         These changes are necessary in order to avoid adding custom binding codes
11278         when we add the FileReader interface.
11279
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):
11295
11296 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
11297
11298         Build fix, not reviewed.
11299         
11300         Speculative Windows and Debug build fixes for the last change.
11301
11302         * dom/Node.h:
11303         (WebCore::Node::inDocument):
11304         (WebCore::Node::setFlag):
11305
11306 2010-05-06  James Robinson  <jamesr@chromium.org>
11307
11308         Reviewed by Eric Seidel.
11309
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
11312
11313         Fixes:
11314         - replace NULL with 0
11315         - remove unusued locals
11316         - add parens around ambiguous looking compound predicates like (a || b && c)
11317
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
11325
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):
11345
11346 2010-05-06  Ada Chan  <adachan@apple.com>
11347
11348         Reviewed by David Kilzer.
11349
11350         https://bugs.webkit.org/show_bug.cgi?id=38695
11351         
11352         Check the result from widget() for NULL before accessing it.
11353
11354         * rendering/RenderIFrame.cpp:
11355         (WebCore::RenderIFrame::calcHeight):
11356         (WebCore::RenderIFrame::calcWidth):
11357
11358 2010-05-06  Maciej Stachowiak  <mjs@apple.com>
11359
11360         Reviewed by Darin Adler.
11361
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>
11365
11366         Looks like a 1-2% speedup on PLT.
11367
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.
11372         
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.
11379         
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.
11398         * dom/Node.h:
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):
11433         (WebCore::Node::):
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):
11457         * dom/Node.cpp:
11458         (WebCore::Node::trackForDebugging): Adjusted for changes in
11459         flag handling.
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)
11471         * dom/Comment.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
11476         handling.
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
11482         * dom/Document.h:
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
11488         * dom/Element.cpp:
11489         (WebCore::Element::getAttribute): Adjusted for changes in flag
11490         handling.
11491         (WebCore::Element::setAttribute): ditto
11492         (WebCore::Element::hasAttributes): ditto
11493         (WebCore::Element::recalcStyle): ditto
11494         (WebCore::Element::finishParsingChildren): ditto
11495         * dom/Element.h:
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
11500         handling.
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.
11511         * dom/Text.h:
11512         (WebCore::Text::Text): Inline (moved from .cpp)
11513         * dom/Text.cpp:
11514         * html/HTMLAnchorElement.cpp:
11515         (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
11516         flag handling.
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
11528         element.
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
11551         an svg element.
11552         (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
11553         changes.
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
11563         element.
11564
11565 2010-05-06  Adam Barth  <abarth@webkit.org>
11566
11567         Unreviewed.  Fix indent.  Sorry, my OCD was acting up.
11568
11569         * page/EventHandler.cpp:
11570         (WebCore::EventHandler::handleMouseReleaseEvent):
11571
11572 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11573
11574         Reviewed by Joseph Pecoraro.
11575
11576         Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
11577
11578         https://bugs.webkit.org/show_bug.cgi?id=38660
11579
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):
11586
11587 2010-05-06  Luiz Agostini  <luiz.agostini@openbossa.org>
11588
11589         Rubber-stamped by Simon Hausmann.
11590
11591         [Qt] use QT_MOBILE_THEME in Symbian
11592         https://bugs.webkit.org/show_bug.cgi?id=38440
11593
11594         Putting QT_MOBILE_THEME into use for Symbian.
11595
11596         * WebCore.pro:
11597
11598 2010-05-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
11599
11600         Unreviewed, build fix WinCE for QtWebKit.
11601
11602         [Qt] Compilation with Plugins disabled is broken
11603         https://bugs.webkit.org/show_bug.cgi?id=31407
11604
11605         Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
11606         Windows.
11607
11608         Thanks for Ismail "cartman" Donmez for help.
11609
11610         No new tests, as there is no new functionality.
11611
11612         * WebCore.gypi:
11613         * WebCore.pro:
11614         * platform/qt/TemporaryLinkStubs.cpp: Removed.
11615         * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
11616
11617 2010-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
11618
11619         Reviewed by Kenneth Rohde Christiansen.
11620
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
11623
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.
11626
11627         * platform/network/qt/QNetworkReplyHandler.cpp:
11628
11629 2010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11630
11631         Reviewed by Xan Lopez.
11632
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.
11635
11636         * platform/gtk/ScrollViewGtk.cpp:
11637         (WebCore::ScrollView::setGtkAdjustments):
11638
11639 2010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11640
11641         Reviewed by Xan Lopez.
11642
11643         [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
11644         https://bugs.webkit.org/show_bug.cgi?id=38657
11645
11646         Fix resetting adjustment values. In the page cache case, we were
11647         confusing page_size and upper, leading to stray scrollbars
11648         sometimes.
11649
11650         * platform/gtk/ScrollViewGtk.cpp:
11651         (WebCore::ScrollView::setGtkAdjustments):
11652
11653 2010-05-06  Darin Adler  <darin@apple.com>
11654
11655         Reviewed by Beth Dakin.
11656
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
11659
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.
11662
11663         * page/Page.cpp:
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
11667         from the set.
11668
11669 2010-05-05  Ojan Vafai  <ojan@chromium.org>
11670
11671         Reviewed by Darin Adler.
11672
11673         shift+click on an existing selection doesn't work right
11674         https://bugs.webkit.org/show_bug.cgi?id=36542
11675
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.
11679
11680         Test: editing/selection/shift-click.html
11681
11682         * page/EventHandler.cpp:
11683         (WebCore::textDistance):
11684         (WebCore::EventHandler::handleMousePressEventSingleClick):
11685
11686 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11687
11688         Reviewed by Timothy Hatcher.
11689
11690         Web Inspector: implement panels history traversal on Cmd+Left/Right.
11691
11692         https://bugs.webkit.org/show_bug.cgi?id=38649
11693
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):
11704
11705 2010-05-03  Evan Martin  <evan@chromium.org>
11706
11707         Reviewed by Eric Seidel.
11708
11709         [chromium] use glyphDataForCharacter so we hit the glyphdata cache
11710         https://bugs.webkit.org/show_bug.cgi?id=38500
11711
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.
11716
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.
11721
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.
11725
11726         * platform/graphics/chromium/FontLinux.cpp:
11727         (WebCore::TextRunWalker::nextScriptRun):
11728         (WebCore::TextRunWalker::setupFontForScriptRun):
11729
11730 2010-05-06  Martin Robinson  <mrobinson@webkit.org>
11731
11732         Reviewed by Gustavo Noronha Silva.
11733
11734         [GTK] Enable DOM clipboard and drag-and-drop access
11735         https://bugs.webkit.org/show_bug.cgi?id=30623
11736
11737         Convert dragging portion of drag-and-drop to use DataObjectGtk.
11738
11739         No new tests, because functionality has not changed.
11740
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.
11748
11749 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11750
11751         Reviewed by Timothy Hatcher.
11752
11753         Web Inspector: Do not show content tab for resources
11754         not supporting content preview.
11755
11756         https://bugs.webkit.org/show_bug.cgi?id=38635
11757
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):
11769
11770 2010-05-06  Antonio Gomes  <tonikitoo@webkit.org>
11771
11772         Reviewed by Kenneth Christiansen.
11773
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
11776
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.
11782
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().
11786
11787         No behavior change. It is a preparation for supporting scrollable containers in Spatial
11788         Navigation.
11789
11790         * page/FocusController.cpp:
11791         (WebCore::FocusController::advanceFocusDirectionally):
11792         (WebCore::FocusController::findFocusableNodeInDirection):
11793         (WebCore::FocusController::deepFindFocusableNodeInDirection):
11794         * page/FocusController.h:
11795
11796 2010-05-06  Csaba Osztrogonác  <ossy@webkit.org>
11797
11798         Unreviewed WinCE buildfix after r58842.
11799         Preprocessor doesn't understand "true", changed to "1"
11800
11801         * platform/graphics/MediaPlayer.cpp:
11802
11803 2010-05-06  Mikhail Naganov  <mnaganov@chromium.org>
11804
11805         Reviewed by Pavel Feldman.
11806
11807         Temporarily disable 'console.profiles' until we can distinguish
11808         functions from different frames
11809
11810         https://bugs.webkit.org/show_bug.cgi?id=38638
11811
11812         * bindings/v8/custom/V8ConsoleCustom.cpp:
11813         (WebCore::V8Console::profilesAccessorGetter):
11814
11815 2010-05-06  Steve Block  <steveblock@google.com>
11816
11817         Reviewed by Eric Seidel.
11818
11819         MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
11820         https://bugs.webkit.org/show_bug.cgi?id=38544
11821
11822         No new tests, build fix only.
11823
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:
11846
11847 2010-05-05  Alejandro G. Castro  <alex@igalia.com>
11848
11849         Reviewed by Xan Lopez.
11850
11851         Fixed the gobject introspection compilation with the new DOM
11852         bindings, we needed to add DOM objects.
11853
11854         * GNUmakefile.am:
11855
11856 2010-05-06  Adam Barth  <abarth@webkit.org>
11857
11858         Reviewed by Eric Seidel.
11859
11860         drop support for sessionStorage in sandbox iframes
11861         https://bugs.webkit.org/show_bug.cgi?id=38151
11862
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.
11868
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):
11878
11879 2010-05-06  Andy Estes  <aestes@apple.com>
11880
11881         Reviewed by Maciej Stachowiak.
11882
11883         Allow forms submitting to target="_blank" to open popups if the submission
11884         originated from a user gesture.
11885
11886         https://bugs.webkit.org/show_bug.cgi?id=37335
11887         <rdar://problem/7884980>
11888
11889         Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
11890
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().
11896
11897 2010-05-06  Xan Lopez  <xlopez@igalia.com>
11898
11899         Rubber-stamped by Eric Seidel.
11900
11901         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
11902         https://bugs.webkit.org/show_bug.cgi?id=38577
11903
11904         Thinko caught while refactoring, $custom variable was not
11905         initialized.
11906
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):
11912
11913 2010-05-06  Xan Lopez  <xlopez@igalia.com>
11914
11915         Rubber-stamped by Eric Seidel.
11916
11917         [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
11918         https://bugs.webkit.org/show_bug.cgi?id=38577
11919
11920         Refactor GenerateProperty out of GenerateProperties. This is in
11921         preparation for EventListeren attributes, which won't generate
11922         normal GObject properties.
11923
11924         * bindings/scripts/CodeGeneratorGObject.pm:
11925
11926 2010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11927
11928         Reviewed by Joseph Pecoraro.
11929
11930         Web Inspector: follow up to linkify event listeners.
11931
11932         https://bugs.webkit.org/show_bug.cgi?id=38257
11933
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:
11941
11942 2010-05-05  Charles Wei  <charles.wei@torchmobile.com.cn>
11943
11944         Reviewed by George Staikos
11945
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
11948
11949         Tests: fast/wcss/wap-input-format.xhtml
11950                fast/wcss/wap-input-required.xhtml
11951
11952         * css/CSSParser.cpp:
11953         (WebCore::CSSParser::parseValue):
11954         (WebCore::CSSParser::parseWCSSInputProperty):
11955         * css/CSSParser.h:
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):
11978
11979 2010-05-05  MORITA Hajime  <morrita@google.com>
11980
11981         Reviewed by Darin Adler.
11982
11983         https://bugs.webkit.org/show_bug.cgi?id=38150
11984         Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
11985
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.
11989         
11990         No new tests. No behavioral change.
11991
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):
11999
12000 2010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
12001
12002         Reviewed by Timothy Hatcher.
12003
12004         Web Inspector: Line Numbers should be Aligned with the Source Code Line
12005         https://bugs.webkit.org/show_bug.cgi?id=38593
12006
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.
12010
12011         * inspector/front-end/textViewer.css:
12012         (.webkit-line-number): added vertical-align: top
12013
12014 2010-05-05  Dan Bernstein  <mitz@apple.com>
12015
12016         Fix the decelerated compositing build.
12017
12018         * page/FrameView.cpp:
12019         (WebCore::FrameView::isEnclosedInCompositingLayer):
12020         * page/FrameView.h:
12021
12022 2010-05-05  Gavin Barraclough  <barraclough@apple.com>
12023
12024         Reviewed by Darin Adler.
12025
12026         Bug 38604 - workers-gc2 crashing on Qt
12027
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.
12035
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.
12039
12040         WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
12041
12042         * platform/ThreadGlobalData.cpp:
12043         (WebCore::ThreadGlobalData::~ThreadGlobalData):
12044         (WebCore::ThreadGlobalData::destroy):
12045         * platform/ThreadGlobalData.h:
12046         * workers/WorkerThread.cpp:
12047         (WebCore::WorkerThread::workerThread):
12048
12049 2010-05-05  Dan Bernstein  <mitz@apple.com>
12050
12051         Reviewed by Simon Fraser.
12052
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
12055
12056         Test: compositing/iframes/iframe-in-composited-layer.html
12057
12058         * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
12059         * page/FrameView.cpp:
12060         (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
12061         * page/FrameView.h:
12062
12063 2010-05-05  Chris Marrin  <cmarrin@apple.com>
12064
12065         Reviewed by Simon Fraser.
12066
12067         Got composited iframes showing up on Mac again
12068         https://bugs.webkit.org/show_bug.cgi?id=38565
12069
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.
12076
12077         Test: compositing/iframes/composited-iframe-alignment.html
12078
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):
12084
12085 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
12086
12087         Reviewed by Darin Adler.
12088
12089         https://bugs.webkit.org/show_bug.cgi?id=38260
12090         <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
12091
12092         Broken all the way since r4 (yes, that's a revision number).
12093
12094         Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
12095
12096         * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
12097
12098 2010-05-05  Chris Fleizach  <cfleizach@apple.com>
12099
12100         Reviewed by Beth Dakin.
12101
12102         Many AXUnknown showing up in the hierarchy
12103         https://bugs.webkit.org/show_bug.cgi?id=38607
12104
12105         The RenderTableSection should not be an accessible element.
12106
12107         Test: platform/mac/accessibility/parent-of-table-row-is-table.html
12108
12109         * accessibility/AccessibilityRenderObject.cpp:
12110         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
12111
12112 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
12113
12114         Reviewed by Simon Hausmann.
12115
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.
12118
12119         https://bugs.webkit.org/show_bug.cgi?id=38612
12120
12121         Buildfix for QT_VERSION >= 0x040700 after r58810.
12122
12123         * platform/graphics/MediaPlayer.cpp:
12124
12125 2010-05-05  Jian Li  <jianli@chromium.org>
12126
12127         Reviewed by David Levin.
12128
12129         XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
12130         https://bugs.webkit.org/show_bug.cgi?id=37771
12131
12132         Test: http/tests/local/formdata/upload-events.html
12133
12134         * xml/XMLHttpRequest.cpp:
12135         (WebCore::XMLHttpRequest::createRequest):
12136
12137 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
12138
12139         Reviewed by Simon Hausmann.
12140
12141         [Qt] Qt port should use its own QUuid class to create UUID string.
12142         https://bugs.webkit.org/show_bug.cgi?id=38581
12143
12144         * platform/UUID.cpp:
12145         (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
12146
12147 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
12148
12149         Roll out r58830 for breaking tests.
12150
12151         Was: https://bugs.webkit.org/show_bug.cgi?id=38546
12152         Node.focus() fails to move focus from subframe properly
12153
12154         * html/HTMLFrameElementBase.cpp:
12155         (WebCore::HTMLFrameElementBase::setFocus):
12156
12157 2010-05-05  Jian Li  <jianli@chromium.org>
12158
12159         Reviewed by Adam Barth.
12160
12161         Implement FileReader class.
12162         https://bugs.webkit.org/show_bug.cgi?id=38157
12163
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.
12166
12167         New test will be added when a IDL is exposed and the FILE_READER is turned
12168         on.
12169
12170         * GNUmakefile.am:
12171         * WebCore.gypi:
12172         * WebCore.pro:
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:
12189
12190 2010-05-05  Steve Falkenburg  <sfalken@apple.com>
12191
12192         Reviewed by Maciej Stachowiak.
12193
12194         REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
12195         https://bugs.webkit.org/show_bug.cgi?id=38595
12196
12197         * platform/graphics/cg/ImageSourceCG.cpp:
12198         (WebCore::ImageSource::setData):
12199
12200 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
12201
12202         Reviewed by Adele Peterson.
12203
12204         https://bugs.webkit.org/show_bug.cgi?id=38546
12205         Node.focus() fails to move focus from subframe properly
12206
12207         Test: fast/frames/take-focus-from-iframe.html
12208
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.
12212
12213 2010-05-05  Alexey Proskuryakov  <ap@apple.com>
12214
12215         Reviewed by Adele Peterson.
12216
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.
12220
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.
12223
12224         * manual-tests/focus-change-between-key-events.html: Added.
12225
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
12229         separate events.
12230
12231 2010-05-05  Steve Block  <steveblock@google.com>
12232
12233         Reviewed by Adam Barth.
12234
12235         MediaError.h is missing PassRefPtr.h include
12236         https://bugs.webkit.org/show_bug.cgi?id=38575
12237
12238         No new tests, build fix only.
12239
12240         * html/MediaError.h:
12241
12242 2010-05-05  Alexander Pavlov  <apavlov@chromium.org>
12243
12244         Reviewed by Pavel Feldman.
12245
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
12248
12249         * inspector/front-end/AuditLauncherView.js:
12250         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
12251         (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
12252
12253 2010-05-05  Pavel Feldman  <pfeldman@chromium.org>
12254
12255         Reviewed by Joseph Pecoraro.
12256
12257         Web Inspector: Doubleclick on line number should not trigger source editing.
12258
12259         https://bugs.webkit.org/show_bug.cgi?id=38588
12260
12261         * inspector/front-end/TextViewer.js:
12262         (WebInspector.TextViewer.prototype._handleDoubleClick):
12263
12264 2010-05-05  Martin Robinson  <mrobinson@webkit.org>
12265
12266         Reviewed by Gustavo Noronha.
12267
12268         [GTK] Enable DOM clipboard and drag-and-drop access
12269         https://bugs.webkit.org/show_bug.cgi?id=30623
12270
12271         Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
12272
12273         No new tests as functionality has not changed.
12274
12275         * platform/gtk/PasteboardHelper.cpp:
12276         (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
12277         (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
12278
12279 2010-05-05  Stuart Morgan  <stuartmorgan@chromium.org>
12280
12281         Reviewed by Darin Fisher.
12282
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).
12288
12289         https://bugs.webkit.org/show_bug.cgi?id=37961
12290
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):
12325
12326 2010-05-05  Steve Block  <steveblock@google.com>
12327
12328         Reviewed by Pavel Feldman.
12329
12330         Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
12331         https://bugs.webkit.org/show_bug.cgi?id=38531
12332
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).
12336
12337         No new tests, build fix only.
12338
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:
12347
12348 2010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
12349
12350         Rubber-stamped by Simon Hausmann.
12351
12352         [Qt] REGRESSION(r56869): WinCE build is broken
12353         https://bugs.webkit.org/show_bug.cgi?id=36929
12354
12355         * WebCore.pro: LIBS += -lOle32 added.
12356
12357 2010-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
12358
12359         Reviewed by Tor Arne Vestbø.
12360
12361         [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
12362
12363         Fall back to the Phonon backend until the release situation has been cleared up.
12364
12365         * WebCore.pro:
12366
12367 2010-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
12368
12369         Reviewed by Pavel Feldman.
12370
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
12373
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):
12386
12387 2010-05-05  Nikolas Zimmermann  <nzimmermann@rim.com>
12388
12389         Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
12390
12391         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
12392         (WebKit::kit):
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):
12397         (WebKit::core):
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:]):
12413         (core):
12414         (kit):
12415         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
12416
12417 2010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
12418
12419         Reviewed by Pavel Feldman.
12420
12421         Web Inspector: FontView needs Cleanup
12422         https://bugs.webkit.org/show_bug.cgi?id=38567
12423
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.
12427
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
12432
12433 2010-05-05  Dirk Schulze  <krit@webkit.org>
12434
12435         Reviewed by Nikolas Zimmermann.
12436
12437         SVG hit testing is *way* too slow
12438         https://bugs.webkit.org/show_bug.cgi?id=19312
12439
12440         Use the cached stroke and fill boundaries in RenderPath as a heuristik to
12441         speed up SVG's hit testing.
12442
12443         No new tests added.
12444
12445         * rendering/RenderPath.cpp:
12446         (WebCore::RenderPath::fillContains):
12447         (WebCore::RenderPath::strokeContains):
12448
12449 2010-05-04  Dumitru Daniliuc  <dumi@chromium.org>
12450
12451         Reviewed by Adam Barth.
12452
12453         Auto-generate all Database callbacks.
12454         https://bugs.webkit.org/show_bug.cgi?id=38503
12455
12456         * DerivedSources.cpp:
12457         * DerivedSources.make:
12458         * GNUmakefile.am:
12459         * WebCore.gypi:
12460         * WebCore.pri:
12461         * WebCore.pro:
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.
12512
12513 2010-05-04  Chris Marrin  <cmarrin@apple.com>
12514
12515         Reviewed by Simon Fraser.
12516
12517         Made composited iframes work on Windows
12518         https://bugs.webkit.org/show_bug.cgi?id=32446
12519         
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.
12525         
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.
12531         
12532         I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
12533
12534         Test: compositing/iframes/composited-parent-iframe.html
12535
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:
12539
12540 2010-05-03  Alexey Proskuryakov  <ap@apple.com>
12541
12542         Reviewed by Adam Barth.
12543
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
12546
12547         This is a hardening fix, and behavior really depends on what an underlying networking layer
12548         does. So, no test.
12549
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.
12554
12555 2010-05-04  Zhenyao Mo  <zmo@google.com>
12556
12557         Reviewed by Dimitri Glazkov.
12558
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
12561
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):
12588
12589 2010-05-04  Luiz Agostini  <luiz.agostini@openbossa.org>
12590
12591         Reviewed by Simon Hausmann.
12592
12593         [Qt] QT_MOBILE_THEME compile time flag
12594         https://bugs.webkit.org/show_bug.cgi?id=38439
12595
12596         Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
12597         USE(QT_MOBILE_THEME).
12598
12599         * WebCore.pro:
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:
12607
12608 2010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
12609
12610         Reviewed by Dan Bernstein.
12611
12612         SVG fonts trigger GlyphPage::fill with null font
12613         https://bugs.webkit.org/show_bug.cgi?id=38530
12614
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.
12618
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
12622
12623 2010-05-04  Kent Tamura  <tkent@chromium.org>
12624
12625         Reviewed by David Levin (and unofficially by Enrica Casucci).
12626
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
12630
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
12634         is not inserted.
12635         To fix this problem, use the original text or the URL as an anchor
12636         text.
12637
12638         Test: editing/pasteboard/drag-drop-url-text.html
12639
12640         * page/DragController.cpp:
12641         (WebCore::documentFragmentFromDragData):
12642
12643 2010-05-04  Steve Block  <steveblock@google.com>
12644
12645         Reviewed by Darin Adler.
12646
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
12649
12650         No new tests, build fix only.
12651
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
12655
12656 2010-05-04  Steve Block  <steveblock@google.com>
12657
12658         Reviewed by Darin Adler.
12659
12660         New FileSystemPOSIX functions cause linker errors on Android
12661         https://bugs.webkit.org/show_bug.cgi?id=38521
12662
12663         No new tests, build fix only.
12664
12665         * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
12666         * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
12667
12668 2010-05-04  Pavel Feldman  <pfeldman@chromium.org>
12669
12670         Reviewed by Timothy Hatcher.
12671
12672         Web Inspector: restore main and sidebar scroller positions
12673         when switching between panels.
12674
12675         https://bugs.webkit.org/show_bug.cgi?id=38522
12676
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):
12689
12690 2010-05-04  Steven Lai  <steven_lai@asia.apple.com>
12691
12692         Reviewed by Darin Adler.
12693
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 
12696
12697         Tests: fast/dom/HTMLInputElement/clone-input-checked.html
12698                fast/dom/clone-node-z-index.html
12699
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:
12707
12708 2010-04-29  John Gregg  <johnnyg@google.com>
12709
12710         Reviewed by Dmitry Titov.
12711
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
12716
12717         Tests: fast/notifications/notifications-replace.html
12718                fast/notifications/notifications-rtl.html
12719
12720         * notifications/Notification.h:
12721         (WebCore::Notification::dir):
12722         (WebCore::Notification::setDir):
12723         (WebCore::Notification::replaceId):
12724         (WebCore::Notification::setReplaceId):
12725         * notifications/Notification.idl:
12726
12727 2010-05-04  Alejandro G. Castro  <alex@igalia.com>
12728
12729         Reviewed by Xan Lopez.
12730
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.
12734
12735         * bindings/scripts/CodeGeneratorGObject.pm:
12736
12737 2010-05-03  Joseph Pecoraro  <joepeck@webkit.org>
12738
12739         Reviewed by Dan Bernstein.
12740
12741         REGRESSION: Text clipped in absolutely positioned search inputs
12742         https://bugs.webkit.org/show_bug.cgi?id=38468
12743
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
12746         centered text.
12747
12748         * rendering/RenderTextControlSingleLine.cpp:
12749         (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
12750         (WebCore::RenderTextControlSingleLine::controlClipRect):
12751
12752 2010-05-04  Alexander Pavlov  <apavlov@chromium.org>
12753
12754         Reviewed by Timothy Hatcher.
12755
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
12758
12759         * inspector/front-end/StylesSidebarPane.js:
12760         (WebInspector.StylePropertyTreeElement.prototype):
12761
12762 2010-05-04  Ben Murdoch  <benm@google.com>
12763
12764         Reviewed by Simon Hausmann.
12765
12766         Crash in handleTouchEvent: using dangling node ptrs in hashmap
12767         https://bugs.webkit.org/show_bug.cgi?id=38514
12768
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.
12774
12775         Test: fast/events/touch/touch-stale-node-crash.html
12776
12777         * page/EventHandler.cpp:
12778         (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
12779
12780 2010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
12781
12782         Reviewed by Pavel Feldman.
12783
12784         Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
12785         https://bugs.webkit.org/show_bug.cgi?id=38510
12786
12787         * inspector/front-end/inspector.js:
12788         (WebInspector.set attached): resize the drawer after docking/undocking
12789
12790 2010-05-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
12791
12792         Unreviewed, build fix for Symbian.
12793
12794         [Symbian] Build fix after r58598. 
12795
12796         Use C99 integer types for the Symbian plugin
12797         implementation.
12798
12799         No new tests, as there is no new functionality.
12800
12801         * plugins/symbian/PluginPackageSymbian.cpp:
12802         (WebCore::PluginPackage::NPVersion):
12803         * plugins/symbian/PluginViewSymbian.cpp:
12804         (WebCore::PluginView::handlePostReadFile):
12805
12806 2010-05-04  Nikolas Zimmermann  <nzimmermann@rim.com>
12807
12808         Reviewed by Dirk Schulze.
12809
12810         Split SVGCharacterLayoutInfo in smaller pieces
12811         https://bugs.webkit.org/show_bug.cgi?id=38513
12812
12813         Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
12814         This is a preparation for more work in the text area.
12815
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.
12832
12833 2010-05-04  Xan Lopez  <xlopez@igalia.com>
12834
12835         Reviewed by Holger Freyther.
12836
12837         [GTK] GObject DOM bindings
12838         https://bugs.webkit.org/show_bug.cgi?id=33590
12839
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).
12843
12844         * bindings/scripts/CodeGeneratorGObject.pm:
12845
12846 2010-04-30  Alexander Pavlov  <apavlov@chromium.org>
12847
12848         Reviewed by Yury Semikhatsky.
12849
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
12852
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).
12856
12857         * GNUmakefile.am:
12858         * WebCore.gypi:
12859         * WebCore.pro:
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):
12888
12889 2010-05-04  Mikhail Naganov  <mnaganov@chromium.org>
12890
12891         Reviewed by Pavel Feldman.
12892
12893         Display "Recording..." item when recording an user-initiated CPU profile.
12894
12895         https://bugs.webkit.org/show_bug.cgi?id=38043
12896
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):
12904
12905 2010-05-04  Tucker Jay  <jay.tucker@nokia.com>
12906
12907         Reviewed by Holger Freyther.
12908
12909         Animated GIF images does not animate 10x as expected by default.
12910         https://bugs.webkit.org/show_bug.cgi?id=36818
12911
12912         Added test case to existing manual test to test the
12913         fixed functionality.
12914
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):
12919
12920 2010-05-04  Dirk Schulze  <krit@webkit.org>
12921
12922         Unreviewed sort of XCodes project file.
12923
12924         * WebCore.xcodeproj/project.pbxproj:
12925
12926 2010-05-03  Steven Lai  <steven_lai@asia.apple.com>
12927
12928         Reviewed by Brady Eidson.
12929
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)
12935
12936         Tests: fast/loader/hashchange-event-async.html
12937
12938         * dom/Document.cpp: reverted hashchange() event back to async
12939         (WebCore::Document::enqueueHashchangeEvent):
12940
12941 2010-05-03  Holger Hans Peter Freyther  <zecke@selfish.org>
12942
12943         Rubber-stamped by Xan Lopez.
12944
12945         [Cairo,WX] Stop leaking a FontPlatformData.
12946         https://bugs.webkit.org/show_bug.cgi?id=37500
12947
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
12952         fixing that.
12953
12954         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
12955         (WebCore::SimpleFontData::smallCapsFontData):
12956         * platform/graphics/wx/SimpleFontDataWx.cpp:
12957         (WebCore::SimpleFontData::smallCapsFontData):
12958
12959 2010-05-03  James Robinson  <jamesr@chromium.org>
12960
12961         Reviewed by Eric Seidel.
12962
12963         Clean up a few compiler warnings
12964         https://bugs.webkit.org/show_bug.cgi?id=38073
12965
12966         * html/TextMetrics.h:
12967         (WebCore::TextMetrics::width):
12968         * rendering/style/StyleRareInheritedData.h:
12969         * rendering/style/StyleRareNonInheritedData.h:
12970
12971 2010-05-02  Dumitru Daniliuc  <dumi@chromium.org>
12972
12973         Reviewed by Adam Barth.
12974
12975         Add the ability to auto-generate callbacks to all code generators.
12976         https://bugs.webkit.org/show_bug.cgi?id=38414
12977
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.
12995
12996 2010-05-03  Kevin Watters  <kevinwatters@gmail.com>
12997
12998         Reviewed by Kevin Ollivier.
12999
13000         [wx] Build and use Mac's ComplexTextController to support complex text in wx.
13001         https://bugs.webkit.org/show_bug.cgi?id=38482
13002
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:
13015         (toCTFontRef):
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):
13037         (GetTextExtent):
13038         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
13039         (WebCore::drawTextWithSpacing):
13040         * platform/wx/wxcode/win/fontprops.cpp:
13041         (wxFontContainsCharacters):
13042         * wscript:
13043
13044 2010-05-03  Abhishek Arya  <inferno@chromium.org>
13045
13046         Reviewed by Adam Barth.
13047
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
13051
13052         Test: editing/execCommand/clipboard-access.html
13053
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):
13062         * page/Settings.h:
13063         (WebCore::Settings::javaScriptCanAccessClipboard):
13064
13065 2010-05-03  Alexey Proskuryakov  <ap@apple.com>
13066
13067         Reviewed by Adam Barth.
13068
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
13071
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.
13074
13075         * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
13076         the beginning, so that an initial document would get correct flags.
13077
13078 2010-05-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
13079
13080         Reviewed by Darin Adler.
13081
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
13085
13086         No new tests: compile fix.
13087
13088         * bindings/js/JSWebGLArrayBufferConstructor.cpp:
13089
13090 2010-05-03  Eric Seidel  <eric@webkit.org>
13091
13092         Unreviewed, rolling out r58685.
13093         http://trac.webkit.org/changeset/58685
13094         https://bugs.webkit.org/show_bug.cgi?id=38461
13095
13096         Broke a test on Gtk
13097
13098         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13099         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
13100
13101 2010-05-03  Yael Aharon  <yael.aharon@nokia.com>
13102
13103         Reviewed by Darin Adler.
13104
13105         Use HTML5 number parsing in HTMLProgressElement
13106         https://bugs.webkit.org/show_bug.cgi?id=38434
13107
13108         Use parseToDoubleForNumberType instead of toDouble.
13109         Throw an exception when the number is NaN or Infinity.
13110
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:
13118
13119 2010-05-03  Jens Alfke  <snej@chromium.org>
13120
13121         Reviewed by Darin Fisher.
13122
13123         [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
13124         https://bugs.webkit.org/show_bug.cgi?id=38397
13125
13126         No tests (functionality is exposed only through native WebKit API.)
13127
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
13133
13134 2010-05-03  Philippe Normand  <pnormand@igalia.com>
13135
13136         Reviewed by Eric Carlson.
13137
13138         [GStreamer] forgotten call to durationChanged in updateStates()
13139         https://bugs.webkit.org/show_bug.cgi?id=38461
13140
13141         Notify MediaPlayer if duration is known after playback started.
13142
13143         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13144         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
13145
13146 2010-05-03  Ryuan Choi  <ryuan.choi@gmail.com>
13147
13148         Reviewed by Darin Adler.
13149
13150         fixing build break due to clearWatch() when Geolocation feature is
13151         disabled.
13152
13153         https://bugs.webkit.org/show_bug.cgi?id=38091
13154
13155         no test because this is a build fix only
13156
13157         * page/Geolocation.cpp:
13158         (WebCore::Geolocation::clearWatch):
13159
13160 2010-05-03  Stephan Aßmus  <superstippi@gmx.de>
13161
13162         Reviewed by Holger Freyther.
13163
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
13167
13168         No new tests needed.
13169
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.
13174
13175 2010-05-03  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
13176
13177         Reviewed by Simon Hausmann.
13178
13179         [Qt] GraphicsLayer: support webGL
13180         https://bugs.webkit.org/show_bug.cgi?id=35388
13181
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
13185         QGraphicsWebView.
13186         Fine-tuned texture and handling and image to texture conversion to
13187         work also when drawTexture() blitting is used.
13188
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:
13205
13206 2010-05-03  Janne Koskinen  <janne.p.koskinen@digia.com>
13207
13208         Reviewed by Simon Hausmann.
13209
13210         [Qt] Fix qtlibraryinfix not to contain space
13211
13212         List catenation with += adds whitespace cutting the infix
13213         from the final target.
13214
13215         * WebCore.pro:
13216
13217 2010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
13218
13219         Reviewed by Simon Hausmann.
13220
13221         [Qt] Fix rendering of <button> elements on Mac OS X
13222
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.
13226
13227         https://bugs.webkit.org/show_bug.cgi?id=38458
13228
13229         * platform/qt/RenderThemeQt.cpp:
13230         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
13231
13232 2010-04-30  Philippe Normand  <pnormand@igalia.com>
13233
13234         Reviewed by Eric Seidel.
13235
13236         [GStreamer] endless loop after playback ended
13237         https://bugs.webkit.org/show_bug.cgi?id=38384
13238
13239         At playback end ensure duration() will return a valid duration if
13240         we managed to calculate it based on current position.
13241
13242         Test: media/video-duration-known-after-eos.html
13243
13244         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13245         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
13246
13247 2010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
13248
13249         [Qt] Fix build break on Mac OS X
13250
13251         * plugins/mac/PluginPackageMac.cpp: Use correct type
13252         * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
13253
13254 2010-05-03  Thomas Zander <t.zander@nokia.com>
13255
13256         Reviewed by Simon Hausmann.
13257
13258         [Qt] Fix library infix usage when compiling inside of Qt
13259
13260         Don't apply the infix when building inside Qt, as that's done through the
13261         inclusion of qbase.pri.
13262
13263         * WebCore.pro:
13264
13265 2010-05-02  Dan Bernstein  <mitz@apple.com>
13266
13267         Reviewed by Simon Fraser.
13268
13269         Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
13270         https://bugs.webkit.org/show_bug.cgi?id=38445
13271
13272         Test: editing/selection/mixed-editability-11.html
13273
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().
13283
13284 2010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
13285
13286         Reviewed by Simon Hausmann.
13287
13288         [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
13289         https://bugs.webkit.org/show_bug.cgi?id=38324
13290
13291         * platform/network/NetworkStateNotifier.h:
13292         * platform/network/qt/NetworkStateNotifierQt.cpp:
13293
13294 2010-04-29  Janne Koskinen  <janne.p.koskinen@digia.com>
13295
13296         Reviewed by Simon Hausmann.
13297
13298         [Qt] QtWebKit versioning added
13299         https://bugs.webkit.org/show_bug.cgi?id=37207
13300
13301         QtWebkit releases separated from Qt release cycle.
13302
13303         * WebCore.pro:
13304
13305 2010-05-02  Joseph Pecoraro  <joepeck@webkit.org>
13306
13307         Reviewed by Timothy Hatcher.
13308
13309         Web Inspector: Old Style trimWhitespace() should be trim()
13310         https://bugs.webkit.org/show_bug.cgi?id=38441
13311
13312         * inspector/front-end/SourceFrame.js:
13313         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
13314
13315 2010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
13316
13317         Reviewed by Simon Hausmann.
13318
13319         [Qt] Fix compilation with QT_NO_LINEEDIT
13320         https://bugs.webkit.org/show_bug.cgi?id=38324
13321
13322         * platform/qt/RenderThemeQt.cpp:
13323         (WebCore::RenderThemeQt::~RenderThemeQt):
13324         (WebCore::RenderThemeQt::findFrameLineWidth):
13325
13326 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
13327
13328         Not reviewed: Touch inspector controller to kick windows tests.
13329
13330         * inspector/InspectorController.cpp:
13331
13332 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
13333
13334         Reviewed by Timothy Hatcher.
13335
13336         Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
13337
13338         https://bugs.webkit.org/show_bug.cgi?id=38432
13339
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):
13346         ():
13347
13348 2010-05-02  Dirk Schulze  <krit@webkit.org>
13349
13350         Reviewed by Nikolas Zimmermann.
13351
13352         SVG hkern implementation incomplete
13353         https://bugs.webkit.org/show_bug.cgi?id=38407
13354
13355         Test: svg/text/text-hkern.svg
13356
13357         The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
13358         by accident.
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.
13365
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:
13384
13385 2010-05-02  Pavel Feldman  <pfeldman@chromium.org>
13386
13387         Reviewed by Timothy Hatcher.
13388
13389         Web Inspector: debugger shortcuts are processed twice if source frame has focus.
13390
13391         https://bugs.webkit.org/show_bug.cgi?id=38431
13392
13393         * inspector/front-end/SourceFrame.js:
13394         (WebInspector.SourceFrame):
13395         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
13396
13397 2010-05-02  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
13398
13399         Reviewed by Eric Seidel.
13400
13401         [Qt] Build error in GraphicsContext3DQt.cpp
13402         https://bugs.webkit.org/show_bug.cgi?id=38382
13403
13404         Removed duplicate implementation of isGLES2Compliant from
13405         GraphicsContext3DQt.cpp. Removed deprecated API stuff for
13406         texImage2D/texSubImage2D.
13407         * platform/graphics/qt/GraphicsContext3DQt.cpp:
13408
13409 2010-05-02  Garret Kelly  <gdk@chromium.org>
13410
13411         Reviewed by David Levin.
13412
13413         Make the Touch RuntimeEnabledFeature disabled by default.
13414         https://bugs.webkit.org/show_bug.cgi?id=38392
13415
13416         * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
13417
13418 2010-05-02  Michael Nordman  <michaeln@google.com>
13419
13420         Reviewed by Dmitry Titov.
13421
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.
13425
13426         https://bugs.webkit.org/show_bug.cgi?id=38295
13427
13428         No new tests. This doesn't have script visible artifacts.
13429
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:
13445
13446 2010-05-02  Noam Rosenthal  <noam.rosenthal@nokia.com>
13447
13448         Reviewed by Adele Peterson.
13449
13450         Webkit doesn't compile with 3D-canvas enabled and video disabled
13451         https://bugs.webkit.org/show_bug.cgi?id=38297
13452
13453         Added a #ifdef ENABLE(VIDEO) to WebGL code
13454
13455         No new tests: compile fix.
13456
13457         * bindings/js/JSWebGLRenderingContextCustom.cpp:
13458         (WebCore::JSWebGLRenderingContext::texImage2D):
13459         (WebCore::JSWebGLRenderingContext::texSubImage2D):
13460
13461 2010-05-01  Evan Stade  <estade@chromium.org>
13462
13463         Reviewed by David Levin.
13464
13465         [chromium] Skia needs to fade DragImages
13466         https://bugs.webkit.org/show_bug.cgi?id=38008
13467
13468         tested by DragImageTest
13469
13470         * platform/chromium/DragImageChromiumSkia.cpp:
13471         (WebCore::dissolveDragImageToFraction):implement
13472         (WebCore::createDragImageFromImage):deep copy instead of shallow
13473
13474 2010-05-01  Maciej Stachowiak  <mjs@apple.com>
13475
13476         Reviewed by Sam Weinig.
13477
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>
13481
13482         Tests:
13483             manual-tests/visited-link-new-window.html
13484
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.
13497
13498 2010-05-01  Yael Aharon  <yael.aharon@nokia.com>
13499
13500         Reviewed by Darin Adler.
13501
13502         Move number parsing code out of HTMLInputElement.
13503         https://bugs.webkit.org/show_bug.cgi?id=38203
13504
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.
13507
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):
13521
13522 2010-05-01  Xan Lopez  <xlopez@igalia.com>
13523
13524         Reviewed by Oliver Hunt.
13525
13526         [GTK] GObject DOM bindings
13527         https://bugs.webkit.org/show_bug.cgi?id=33590
13528
13529         Unify more logic to skip functions into SkipFunction, and
13530         whitelist the two [Custom] methods in HTMLCollection.idl.
13531
13532         * bindings/scripts/CodeGeneratorGObject.pm:
13533
13534 2010-05-01  Robert Hogan  <robert@webkit.org>
13535
13536         Reviewed by Simon Hausmann.
13537
13538         [Qt] Add smart paste support
13539
13540         https://bugs.webkit.org/show_bug.cgi?id=38136
13541
13542         * WebCore.pro:
13543         * editing/qt/SmartReplaceQt.cpp: Added.
13544         (WebCore::isCharacterSmartReplaceExempt):
13545         * platform/qt/PasteboardQt.cpp:
13546         (WebCore::Pasteboard::writeSelection):
13547         (WebCore::Pasteboard::canSmartReplace):
13548
13549 2010-04-30  Yoshiki Hayashi  <yhayashi@google.com>
13550
13551         Reviewed by Shinichiro Hamaji.
13552
13553         https://bugs.webkit.org/show_bug.cgi?id=38249
13554         
13555         Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
13556
13557         Test: fast/flexbox/child-flexing.html
13558
13559         * rendering/RenderFlexibleBox.cpp:
13560         (WebCore::RenderFlexibleBox::allowedChildFlex):
13561
13562 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
13563
13564         Reviewed by Darin Adler.
13565
13566         Add layoutTestController.setPrinting()
13567         https://bugs.webkit.org/show_bug.cgi?id=37203
13568
13569         Use the renderer's width insteead of screen's width as the width of
13570         a screen depends on machines.
13571
13572         * rendering/RenderTreeAsText.cpp:
13573         (WebCore::externalRepresentation):
13574
13575 2010-04-30  Joseph Pecoraro  <joepeck@webkit.org>
13576
13577         Reviewed by Timothy Hatcher.
13578
13579         Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
13580         https://bugs.webkit.org/show_bug.cgi?id=38366
13581
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.
13586
13587         * page/Console.cpp:
13588
13589 2010-04-28  Joseph Pecoraro  <joepeck@webkit.org>
13590
13591         Reviewed by Oliver Hunt.
13592
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
13595
13596         Test: fast/css/input-search-padding.html
13597
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.
13603
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">
13610
13611 2010-04-30  Jon Honeycutt  <jhoneycutt@apple.com>
13612
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
13615
13616         Reviewed by Darin Adler.
13617
13618         * manual-tests/onfocus-alert-blinking-caret.html: Added.
13619
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.
13631
13632         * page/EventHandler.h:
13633         Declare lostMouseCapture().
13634
13635 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
13636
13637         Unreviewed, build fix.
13638
13639         [Chromium] Added a simple IdentifierRep struct and removed dependency on
13640         IdentifierRep.h.
13641
13642         * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
13643
13644 2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
13645
13646         Unreviewed, build fix.
13647
13648         [Chromium] Remove bridge/ from include paths.
13649
13650         * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
13651
13652 2010-04-30  Abhishek Arya  <inferno@chromium.org>
13653
13654         Reviewed by David Kilzer.
13655
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
13659
13660         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
13661
13662         * page/DragController.cpp:
13663         (WebCore::DragController::tryDocumentDrag):
13664         (WebCore::DragController::concludeEditDrag):
13665         * page/DragController.h:
13666         (WebCore::DragController::draggingImageURL):
13667         (WebCore::DragController::documentUnderMouse):
13668
13669 2010-04-29  James Robinson  <jamesr@chromium.org>
13670
13671         Reviewed by Simon Fraser.
13672
13673         Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
13674         https://bugs.webkit.org/show_bug.cgi?id=38286
13675
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.
13682
13683         This is tested by the fast/repaint/fixed-* tests when run in pixel
13684         mode.
13685
13686         Test: fast/repaint/fixed-move-after-keyboard-scroll.html
13687
13688         * page/FrameView.h:
13689         * platform/ScrollView.cpp:
13690         (WebCore::ScrollView::valueChanged):
13691         * platform/ScrollView.h:
13692         (WebCore::ScrollView::scrollPositionChanged):
13693
13694 2010-04-30  Anders Carlsson  <andersca@apple.com>
13695
13696         Reviewed by Darin Adler.
13697
13698         Use C99 integer types in more places.
13699
13700         * manual-tests/NPN_Invoke/main.c:
13701         (NPP_New):
13702         (NPP_NewStream):
13703         (NPP_WriteReady):
13704         (NPP_Write):
13705         (NPP_HandleEvent):
13706         (functionPointerForTVector):
13707         * plugins/mac/PluginViewMac.cpp:
13708         (WebCore::PluginView::platformGetValueStatic):
13709         (WebCore::PluginView::handlePostReadFile):
13710
13711 2010-04-30  Darin Adler  <darin@apple.com>
13712
13713         Reviewed by Oliver Hunt.
13714
13715         Remove unused scrollRectIntoViewRecursively function
13716         https://bugs.webkit.org/show_bug.cgi?id=38403
13717
13718         * page/Chrome.cpp:
13719         (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
13720         in the scrollRectIntoViewRecursively function.
13721
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.
13726
13727 2010-04-30  Anders Carlsson  <andersca@apple.com>
13728
13729         Another Qt build fix.
13730
13731         * plugins/qt/PluginViewQt.cpp:
13732         (WebCore::PluginView::platformGetValueStatic):
13733
13734 2010-04-30  Anders Carlsson  <andersca@apple.com>
13735
13736         Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
13737
13738         * bridge/npapi.h:
13739
13740 2010-04-30  Anders Carlsson  <andersca@apple.com>
13741
13742         Try to fix the Qt build this time.
13743
13744         * plugins/qt/PluginPackageQt.cpp:
13745         (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
13746         (WebCore::PluginPackage::NPVersion):
13747
13748 2010-04-30  Anders Carlsson  <andersca@apple.com>
13749
13750         Yet another build fix.
13751
13752         * plugins/gtk/PluginPackageGtk.cpp:
13753         (WebCore::PluginPackage::NPVersion):
13754
13755 2010-04-30  Anders Carlsson  <andersca@apple.com>
13756
13757         Fix build.
13758
13759         * bridge/npapi.h:
13760
13761 2010-04-30  Jian Li  <jianli@chromium.org>
13762
13763         Reviewed by Darin Fisher.
13764
13765         [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
13766         https://bugs.webkit.org/show_bug.cgi?id=38228
13767
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):
13776
13777 2010-04-30  Anders Carlsson  <andersca@apple.com>
13778
13779         Reviewed by Dan Bernstein.
13780
13781         Final part of 
13782         
13783         https://bugs.webkit.org/show_bug.cgi?id=20784
13784         move npapi.h to C99 integer types
13785
13786         * bridge/npapi.h:
13787         Remove the old types.
13788
13789 2010-04-30  Sheriff Bot  <webkit.review.bot@gmail.com>
13790
13791         Unreviewed, rolling out r58569.
13792         http://trac.webkit.org/changeset/58569
13793         https://bugs.webkit.org/show_bug.cgi?id=38399
13794
13795         This broke the GTK bots due to bad GC behavior (Requested by
13796         ericu on #webkit).
13797
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:
13810
13811 2010-04-30  Anders Carlsson  <andersca@apple.com>
13812
13813         Fix GTK+ build.
13814
13815         * plugins/gtk/PluginViewGtk.cpp:
13816         (WebCore::PluginView::handlePostReadFile):
13817         (WebCore::PluginView::platformGetValueStatic):
13818
13819 2010-04-30  Anders Carlsson  <andersca@apple.com>
13820
13821         Fix Qt build.
13822
13823         * plugins/qt/PluginViewQt.cpp:
13824         (WebCore::PluginView::handlePostReadFile):
13825         (WebCore::PluginView::platformGetValue):
13826
13827 2010-04-30  Anders Carlsson  <andersca@apple.com>
13828
13829         Reviewed by Timothy Hatcher.
13830
13831         Next step towards fixing
13832         
13833         https://bugs.webkit.org/show_bug.cgi?id=20784
13834         move npapi.h to C99 integer types
13835
13836         Use the C99 types everywhere. The "old" types are still around but will be removed
13837         in a subsequent commit.
13838
13839         * bridge/npapi.h:
13840         (_NPCocoaEvent::):
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:
13854         (NPN_MemAlloc):
13855         (NPN_MemFlush):
13856         (NPN_PostURLNotify):
13857         (NPN_PostURL):
13858         (NPN_Write):
13859         * plugins/npfunctions.h:
13860         * plugins/win/PluginPackageWin.cpp:
13861         (WebCore::PluginPackage::NPVersion):
13862         * plugins/win/PluginViewWin.cpp:
13863         (WebCore::PluginView::handlePostReadFile):
13864
13865 2010-04-30  Peter Kasting  <pkasting@google.com>
13866
13867         Reviewed by David Levin.
13868
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
13873
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
13877         objects.
13878
13879         No layout tests because this does not change the visible output of decoding in any way.
13880
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:
13890         (WebCore::):
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:
13898
13899 2010-04-30  Brady Eidson  <beidson@apple.com>
13900
13901         Reviewed by Eric Carlson.
13902
13903         <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
13904
13905         No new tests. (Currently no way to test such site specific hack behavior)
13906
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.
13914
13915 2010-04-30  Dan Bernstein  <mitz@apple.com>
13916
13917         Reviewed by Adele Peterson.
13918
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
13921
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
13924         glyph overflow.
13925
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.
13951
13952 2010-04-30  Chris Marrin  <cmarrin@apple.com>
13953
13954         Reviewed by Simon Fraser.
13955
13956         Reversed the order of the CSSMatrix.multiply method
13957         https://bugs.webkit.org/show_bug.cgi?id=38337
13958
13959         Test: transforms/svg-vs-css.xhtml
13960
13961         * css/WebKitCSSMatrix.cpp:
13962         (WebCore::WebKitCSSMatrix::multiply):
13963         * platform/graphics/transforms/TransformationMatrix.cpp:
13964
13965 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
13966
13967         Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
13968
13969         * WebCore.gypi:
13970
13971 2010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
13972
13973         Reviewed by Dan Bernstein.
13974
13975         Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
13976         https://bugs.webkit.org/show_bug.cgi?id=38334
13977
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:
13982
13983 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
13984
13985         Reviewed by Simon Fraser.
13986
13987         SHOULD NEVER BE REACHED assertion loading forbes.com
13988         https://bugs.webkit.org/show_bug.cgi?id=38272
13989
13990         Ignore page media related pseudo classes.
13991
13992         Test: printing/pseudo-class-outside-page.html
13993
13994         * css/CSSStyleSelector.cpp:
13995         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13996
13997 2010-04-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
13998
13999         Unreviewed, build fix.
14000
14001         Fix compiler warning "suggest parentheses around"
14002
14003         No new tests as there is no new functionality.
14004
14005         * svg/SVGAnimateElement.cpp:
14006         (WebCore::SVGAnimateElement::calculateFromAndToValues):
14007
14008 2010-04-30  Kent Tamura  <tkent@chromium.org>
14009
14010         Unreviewed. Regression fix.
14011
14012         Revert a part of r58564 to be compatible with prior behavior
14013         https://bugs.webkit.org/show_bug.cgi?id=38383
14014
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.
14019
14020 2010-04-29  Jeremy Orlow  <jorlow@chromium.org>
14021
14022         Reviewed by Darin Fisher.
14023
14024         Change StorageEvent.uri to StorageEvent.url to match the spec
14025         https://bugs.webkit.org/show_bug.cgi?id=38331
14026
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
14031         spec.
14032
14033         This stuff is covered by existing tests.
14034
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:
14042
14043 2010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>
14044
14045         Reviewed by Dirk Schulze.
14046
14047         REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
14048         https://bugs.webkit.org/show_bug.cgi?id=38385
14049
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.
14052
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.
14058
14059         Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
14060
14061         Tests: svg/custom/repaint-stroke-width-changes.svg
14062
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):
14091
14092 2010-04-30  Eric Uhrhane  <ericu@chromium.org>
14093
14094         Reviewed by Dmitry Titov.
14095
14096         Add bindings for async DB API in Workers.
14097         https://bugs.webkit.org/show_bug.cgi?id=34992
14098
14099         Tests: storage/change-version-handle-reuse-worker.html
14100                storage/execute-sql-args-worker.html
14101
14102         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
14103         (WebCore::JSWorkerContext::openDatabase):
14104
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):
14107
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:
14114         
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.
14119
14120         Add the IDL for the call to openDatabase.
14121         * workers/WorkerContext.idl:
14122
14123 2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
14124
14125         Reviewed by Darin Adler.
14126
14127         Unnecessary PrintContext::end() calls
14128         https://bugs.webkit.org/show_bug.cgi?id=38247
14129
14130         Refactoring only, so no new tests.
14131
14132         * page/PrintContext.cpp:
14133         (WebCore::PrintContext::pageNumberForElement):
14134         (WebCore::PrintContext::numberOfPages):
14135
14136 2010-04-30  Kent Tamura  <tkent@chromium.org>
14137
14138         Reviewed by Adele Peterson.
14139
14140         Implement interactive behavior of spin buttons.
14141         https://bugs.webkit.org/show_bug.cgi?id=35686
14142
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).
14147
14148         SpinButtonElement tracks the mouse pointer position, and
14149         RenderTheme sets ControlStates::SpinUpState if the pointer is on
14150         the upper side.
14151
14152         Test: platform/mac/fast/forms/input-number-click.html
14153
14154         * dom/Element.h:
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):
14185
14186 2010-04-30  Yael Aharon  <yael.aharon@nokia.com>
14187
14188         Reviewed by Kenneth Rohde Christiansen.
14189
14190         [Qt] Enable DOMWindow constructor for HTMLProgressElement
14191         https://bugs.webkit.org/show_bug.cgi?id=38333
14192
14193         Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
14194
14195         * WebCore.pri:
14196
14197 2010-04-30  Kent Tamura  <tkent@chromium.org>
14198
14199         Reviewed by Adele Peterson.
14200
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
14204
14205         The implementation uses NSStepperCell. Like the other Mac
14206         controls, it has only three candidates for sizes.
14207
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
14210         editable block.
14211
14212         Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
14213                platform/mac/fast/forms/input-appearance-spinbutton.html
14214
14215         * dom/Element.cpp:
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.
14260
14261 2010-04-29  Adam Barth  <abarth@webkit.org>
14262
14263         Unreviewed.  Update JSC CodeGenerator baseline.  Not sure how I missed
14264         this one earlier.
14265
14266         * bindings/scripts/test/JS/JSTestObj.cpp:
14267         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
14268
14269 2010-04-29  Justin Garcia  <justin.garcia@apple.com>
14270
14271         Reviewed by Adele Peterson.
14272
14273         Need to updateLayout after typing commands too
14274         https://bugs.webkit.org/show_bug.cgi?id=38352
14275
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.
14280
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):
14291
14292 2010-04-29  Dan Bernstein  <mitz@apple.com>
14293
14294         Reviewed by Simon Fraser.
14295
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
14298
14299         Tests: media/audio-only-video-intrinsic-size.html
14300                media/media-document-audio-size.html
14301
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.
14307
14308 2010-04-29  Anders Carlsson  <andersca@apple.com>
14309
14310         Reviewed by Dan Bernstein.
14311
14312         First part of
14313         https://bugs.webkit.org/show_bug.cgi?id=20784
14314         move npapi.h to C99 integer types.
14315
14316         Add nptypes.h to the build.
14317
14318         * WebCore.xcodeproj/project.pbxproj:
14319         * bridge/npapi.h:
14320         * bridge/npruntime.h:
14321         * bridge/nptypes.h: Added.
14322
14323 2010-04-29  Xan Lopez  <xlopez@igalia.com>
14324
14325         Rubber-stamped by Adam Barth.
14326
14327         Update GObject bindings test results. We are actually moving
14328         backwards here, but we'll update them again when we figure out
14329         what broke.
14330
14331         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
14332         (webkit_dom_test_obj_set_property):
14333         (webkit_dom_test_obj_get_property):
14334
14335 2010-04-29  Sam Weinig  <sam@webkit.org>
14336
14337         Reviewed by Anders Carlsson.
14338
14339         Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
14340         MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
14341
14342         * platform/mac/ThemeMac.mm:
14343         (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
14344
14345 2010-04-29  Adam Barth  <abarth@webkit.org>
14346
14347         Reviewed by Eric Seidel.
14348
14349         CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
14350         https://bugs.webkit.org/show_bug.cgi?id=38338
14351
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
14357         code.
14358
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):
14393
14394 2010-04-29  Gustavo Noronha Silva  <gustavo.noronhaollabora.co.uk>
14395
14396         Reviewed by Xan Lopez.
14397
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
14400
14401         Use the default cursor instead of hard-coding left pointer.
14402
14403         * platform/gtk/CursorGtk.cpp:
14404         (WebCore::Cursor::Cursor):
14405         (WebCore::pointerCursor):
14406
14407 2010-04-29  Ilya Tikhonovsky  <loislo@chromium.org>
14408
14409         Reviewed by Yury Semikhatsky.
14410
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
14415
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):
14425
14426 2010-04-29  Anton Muhin  <antonm@chromium.org>
14427
14428         Reviewed by Darin Adler.
14429
14430         Let's cache nodelists instead of DynamicNodeList::Caches
14431         https://bugs.webkit.org/show_bug.cgi?id=33696
14432
14433         Test: fast/dom/Element/node-list-identity.html
14434
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
14447         * dom/Node.cpp:
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
14459         * dom/Node.h:
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
14467
14468 2010-04-29  Mikhail Naganov  <mnaganov@chromium.org>
14469
14470         Reviewed by Yury Semikhatsky.
14471
14472         [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
14473
14474         https://bugs.webkit.org/show_bug.cgi?id=38330
14475
14476         * bindings/v8/ScriptProfileNode.cpp:
14477         (WebCore::ScriptProfileNode::totalTime):
14478         (WebCore::ScriptProfileNode::selfTime):
14479
14480 2010-04-28  Dimitri Glazkov  <dglazkov@chromium.org>
14481
14482         Reviewed by Darin Adler.
14483
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
14486
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.
14490
14491         The underlying rules are:
14492
14493         * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
14494
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.
14497
14498         Test: fast/forms/implicit-submission.html
14499
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
14512             necessary.
14513
14514 2010-04-29  Paweł Hajdan, Jr.  <phajdan.jr@chromium.org>
14515
14516         Reviewed by Jeremy Orlow.
14517
14518         Fix building with libpng-1.4.
14519         https://bugs.webkit.org/show_bug.cgi?id=33287
14520
14521         No new tests (no behavior change).
14522
14523         Original patch by John Bowler <jbowler@acm.org>
14524
14525         * platform/image-encoders/skia/PNGImageEncoder.cpp:
14526         (WebCore::PNGImageEncoder::encode):
14527
14528 2010-04-29  Adam Langley  <agl@chromium.org>
14529
14530         Reviewed by David Levin.
14531
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.
14535
14536         https://bugs.webkit.org/show_bug.cgi?id=38217
14537
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
14546           larger.)
14547
14548 2010-04-29  Alex Milowski  <alex@milowski.com>
14549
14550         Reviewed by Kenneth Rohde Christiansen.
14551
14552         Updates to the Qt build to enable building MathML support.
14553
14554         * WebCore.pri:
14555         * WebCore.pro:
14556
14557 2010-04-29  Xan Lopez  <xlopez@igalia.com>
14558
14559         Reviewed by Gustavo Noronha.
14560
14561         [GTK] GObject DOM bindings
14562         https://bugs.webkit.org/show_bug.cgi?id=33590
14563
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.
14567
14568         * bindings/scripts/CodeGeneratorGObject.pm:
14569
14570 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
14571
14572         Reviewed by Kenneth Rohde Christiansen.
14573
14574         [Qt] Speed up text layouting
14575         https://bugs.webkit.org/show_bug.cgi?id=31719
14576
14577         Use QFontMetrics::width() for the text width calculation instead
14578         of QTextLayout. This avoids expensive bearing calculations and the
14579         line breaking code.
14580
14581         * platform/graphics/qt/FontQt.cpp:
14582         (WebCore::Font::floatWidthForComplexText):
14583
14584 2010-04-29  Kwang Yul Seo  <skyul@company100.net>
14585
14586         Reviewed by Simon Hausmann.
14587
14588         [WINCE] Export g_stackBase with JS_EXPORTDATA
14589         https://bugs.webkit.org/show_bug.cgi?id=37437
14590
14591         Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
14592
14593         * platform/wince/SharedTimerWince.cpp:
14594
14595 2010-04-29  Adam Barth  <abarth@webkit.org>
14596
14597         Reviewed by Maciej Stachowiak.
14598
14599         Remove custom bindings for PopStateEvent.initPopStateEvent
14600         https://bugs.webkit.org/show_bug.cgi?id=38311
14601
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
14605         generator.
14606
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:
14614         (WebCore::):
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:
14626
14627 2010-04-29  Kent Tamura  <tkent@chromium.org>
14628
14629         Reviewed by Darin Adler.
14630
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
14633
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.
14636
14637         Test: editing/pasteboard/drag-drop-input-textarea.html
14638
14639         * dom/InputElement.cpp:
14640         (WebCore::InputElement::handleBeforeTextInsertedEvent):
14641         * html/HTMLTextAreaElement.cpp:
14642         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
14643
14644 2010-04-29  Adam Barth  <abarth@webkit.org>
14645
14646         Reviewed by Maciej Stachowiak.
14647
14648         Remove custom bindings for NodeFilter.acceptNode
14649         https://bugs.webkit.org/show_bug.cgi?id=38309
14650
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
14653         did nothing.
14654
14655         * WebCore.gypi:
14656         * bindings/js/JSNodeFilterCustom.cpp:
14657         * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
14658         * dom/NodeFilter.idl:
14659
14660 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
14661
14662         Reviewed by Laszlo Gombos.
14663
14664         [Qt] QtWebkit doesn't link with 3D canvas
14665         https://bugs.webkit.org/show_bug.cgi?id=38299
14666
14667         Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
14668
14669         No new tests: build fix
14670
14671         * platform/graphics/qt/GraphicsContext3DQt.cpp:
14672         (WebCore::GraphicsContext3D::isGLES2Compliant):
14673
14674 2010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
14675
14676         Reviewed by Tor Arne Vestbø.
14677
14678         [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
14679         https://bugs.webkit.org/show_bug.cgi?id=38316
14680
14681         Accessing properties of a deleted objects doesn't throw an exception
14682         anymore.
14683
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.
14687
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.
14691
14692 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
14693
14694         Reviewed by Simon Hausmann.
14695
14696         Reverse animations don't work in some use cases        
14697         https://bugs.webkit.org/show_bug.cgi?id=38075
14698
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.
14701
14702         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
14703         animation correctly.
14704
14705         * platform/graphics/qt/GraphicsLayerQt.cpp:
14706         (WebCore::TransformAnimationQt::applyFrame):
14707
14708 2010-04-29  Jan Hanssen  <jhanssen@codeaurora.org>
14709
14710         Reviewed by Adam Barth.
14711
14712         HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
14713         https://bugs.webkit.org/show_bug.cgi?id=26016
14714
14715         Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
14716
14717         Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
14718
14719         * html/HTMLOptionElement.cpp:
14720         (WebCore::HTMLOptionElement::ownerSelectElement):
14721         Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
14722
14723 2010-04-29  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
14724
14725         Reviewed by Eric Seidel.
14726
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
14731
14732         No new tests required.
14733
14734         * WebCore.base.exp:
14735         * platform/Widget.cpp:
14736         (WebCore::Widget::frameRectsChanged):
14737         * platform/Widget.h:
14738
14739 2010-04-29  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
14740
14741         Reviewed by Simon Hausmann.
14742
14743         [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant() 
14744         https://bugs.webkit.org/show_bug.cgi?id=38216
14745
14746         * platform/graphics/qt/GraphicsContext3DQt.cpp:
14747         (WebCore::GraphicsContext3D::isGLES2Compliant):
14748
14749 2010-04-29  Zhenyao Mo  <zmo@google.com>
14750
14751         Reviewed by Dimitri Glazkov.
14752
14753         Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
14754         https://bugs.webkit.org/show_bug.cgi?id=38235
14755
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):
14766
14767 2010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
14768
14769         Reviewed by Simon Hausmann.
14770
14771         [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
14772         https://bugs.webkit.org/show_bug.cgi?id=38076
14773
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.
14778
14779         http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
14780         the animation is toggled frequently.
14781
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):
14790
14791 2010-04-28  Luiz Agostini  <luiz.agostini@openbossa.org>
14792
14793         Reviewed by Simon Fraser.
14794
14795         Media queries empty values
14796         https://bugs.webkit.org/show_bug.cgi?id=38116
14797
14798         Adding isValid() method to MediaQueryExp to make it possible to differentiate
14799         between queries with empty values and queries with invalid values.
14800
14801         Test: fast/media/media-query-invalid-value.html
14802
14803         * css/MediaQueryEvaluator.cpp:
14804         (WebCore::MediaQueryEvaluator::eval):
14805         * css/MediaQueryExp.cpp:
14806         (WebCore::MediaQueryExp::MediaQueryExp):
14807         * css/MediaQueryExp.h:
14808         (WebCore::MediaQueryExp::isValid):
14809
14810 2010-04-28  Pavel Feldman  <pfeldman@chromium.org>
14811
14812         Reviewed by Yury Semikhatsky.
14813
14814         Web Inspector: Allow editing script resources when resource tracking is enabled.
14815
14816         https://bugs.webkit.org/show_bug.cgi?id=38269
14817
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):
14830
14831 2010-04-25  Antonio Gomes  <tonikitoo@webkit.org>
14832
14833         Reviewed by Darin Adler.
14834
14835         Clicking a scrollbar blurs the currently focused element
14836         https://bugs.webkit.org/show_bug.cgi?id=16809
14837
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.
14843
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.
14846
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.
14850
14851         Tests: scrollbars/scrollbar-click-does-not-blur-content.html
14852                scrollbars/scrollbar-iframe-click-does-not-blur-content.html
14853
14854         * page/EventHandler.cpp:
14855         (WebCore::EventHandler::dispatchMouseEvent):
14856
14857 2010-04-28  Dan Bernstein  <mitz@apple.com>
14858
14859         Rubber-stamped by Maciej Stachowiak.
14860
14861         Try to fix test failures seen on the Leopard build bot after r58467
14862
14863         * platform/graphics/SimpleFontData.cpp:
14864         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
14865         calling widthForGlyph(), as the latter uses the former.
14866
14867 2010-04-28  Martin Robinson  <mrobinson@webkit.org>
14868
14869         Reviewed by Gustavo Noronha.
14870
14871         [GTK] Enable DOM clipboard and drag-and-drop access
14872         https://bugs.webkit.org/show_bug.cgi?id=30623
14873
14874         Make ClipboardGtk a "live" DataTransfer object, able to modify
14875         the clipboard when setData(...) is called.
14876
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 &nbsp; from plain text.
14896         (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
14897         (WebCore::DataObjectGtk::setText): Clean &nbsp; 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.
14910
14911 2010-04-28  Martin Robinson  <mrobinson@webkit.org>
14912
14913         Reviewed by Gustavo Noronha.
14914
14915         [GTK] Enable DOM clipboard and drag-and-drop access
14916         https://bugs.webkit.org/show_bug.cgi?id=30623
14917
14918         Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
14919
14920         No new tests, because pasteboard DataTransfer tests will be enabled
14921         with the completion of the GTK+ DataTransfer object.
14922
14923         * platform/gtk/PasteboardGtk.cpp:
14924         (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
14925
14926 2010-04-28  Dan Bernstein  <mitz@apple.com>
14927
14928         Reviewed by Adele Peterson.
14929
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
14932
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.
14936
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.
14946
14947 2010-04-28  Mark Rowe  <mrowe@apple.com>
14948
14949         Reviewed by Adele Peterson.
14950
14951         <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
14952
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.
14957
14958         * css/CSSStyleSheet.cpp:
14959         (WebCore::CSSStyleSheet::cssRules):
14960
14961 2010-04-28  Mike Thole  <mthole@apple.com>
14962
14963         Reviewed by Mark Rowe.
14964
14965         Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
14966
14967         * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
14968         * WebCore.ProtectionSpaceAuthCallback.exp: Added.
14969         * WebCore.xcodeproj/project.pbxproj:
14970
14971 2010-04-28  Evan Martin  <evan@chromium.org>
14972
14973         Reviewed by David Levin.
14974
14975         [chromium] revert getFontDataForCharacters change in r58341
14976         https://bugs.webkit.org/show_bug.cgi?id=38288
14977
14978         It caused a performance regression.
14979
14980         * platform/chromium/ChromiumBridge.h:
14981         * platform/graphics/chromium/FontCacheLinux.cpp:
14982         (WebCore::FontCache::getFontDataForCharacters):
14983
14984 2010-04-28  Eric Seidel  <eric@webkit.org>
14985
14986         Unreviewed, rolling out r58441.
14987         http://trac.webkit.org/changeset/58441
14988         https://bugs.webkit.org/show_bug.cgi?id=37618
14989
14990         Broke 3 test on Qt.
14991
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):
14999
15000 2010-04-28  Darin Adler  <darin@apple.com>
15001
15002         Reviewed by Dan Bernstein.
15003
15004         Remove some obsolete scrolling code
15005         https://bugs.webkit.org/show_bug.cgi?id=38293
15006
15007         * page/Chrome.cpp:
15008         (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
15009         * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
15010
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.
15015
15016         * platform/HostWindow.h: Removed scrollRectIntoView.
15017
15018         * platform/ScrollView.cpp:
15019         (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
15020         since I was able to do most of the tasks listed here.
15021
15022         * rendering/RenderLayer.cpp:
15023         (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
15024         ScrollView* argument to Chrome::scrollRectIntoView.
15025
15026 2010-04-28  Mike Thole  <mthole@apple.com>
15027
15028         Reviewed by David Kilzer.
15029
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
15033
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:
15045         (WebCore::):
15046         * platform/network/ResourceHandle.h:
15047         * platform/network/ResourceHandleClient.h:
15048         (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
15049         * platform/network/mac/AuthenticationMac.mm:
15050         (WebCore::mac):
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.
15059
15060 2010-04-28  Abhishek Arya  <inferno@chromium.org>
15061
15062         Reviewed by Eric Seidel.
15063
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
15067
15068         Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
15069
15070         * page/DragController.cpp:
15071         (WebCore::DragController::tryDocumentDrag):
15072         (WebCore::DragController::concludeEditDrag):
15073         * page/DragController.h:
15074         (WebCore::DragController::draggingImageURL):
15075         (WebCore::DragController::documentUnderMouse):
15076
15077 2010-04-28  Dumitru Daniliuc  <dumi@chromium.org>
15078
15079         Unreviewed, fixing a build problem introduced by the previous patch.
15080
15081         * storage/DatabaseSync.cpp:
15082         (WebCore::DatabaseSync::openDatabaseSync):
15083
15084 2010-04-23  Dumitru Daniliuc  <dumi@chromium.org>
15085
15086         Reviewed by Jeremy Orlow.
15087
15088         Adding some required classes for the sync WebSQLDatabases API.
15089         https://bugs.webkit.org/show_bug.cgi?id=34994
15090
15091         * GNUmakefile.am:
15092         * WebCore.gypi:
15093         * WebCore.pro:
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):
15118
15119 2010-04-28  İsmail Dönmez  <ismail@namtrac.org>
15120
15121         Reviewed by Simon Hausmann.
15122
15123         Fix compilation with QT_NO_CURSOR defined.
15124
15125         * platform/qt/QWebPageClient.h:
15126         (QWebPageClient::resetCursor):
15127         (QWebPageClient::setCursor):
15128
15129 2010-04-28  Abhishek Arya  <inferno@chromium.org>
15130
15131         Reviewed by Alexey Proskuryakov.
15132
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
15135
15136         Test: http/tests/appcache/different-https-origin-resource-main.html
15137
15138         * loader/appcache/ManifestParser.cpp:
15139         (WebCore::parseManifest):
15140
15141 2010-04-28  Sam Weinig  <sam@webkit.org>
15142
15143         Reviewed by Mark Rowe.
15144
15145         Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
15146         and later.
15147
15148         * Configurations/WebCore.xcconfig:
15149
15150 2010-04-28  Darin Adler  <darin@apple.com>
15151
15152         Reviewed by Adele Peterson.
15153
15154         REGRESSION: Autoscroll does not work in Mail messages
15155         https://bugs.webkit.org/show_bug.cgi?id=38267
15156         rdar://problem/7559799
15157
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.
15160
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.
15164
15165         There were three problems:
15166
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.
15172
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.
15175
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.
15181
15182         * page/FrameView.cpp:
15183         (WebCore::FrameView::scrollToAnchor): Fixed comment.
15184
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.
15188
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.
15194
15195 2010-04-21  Ojan Vafai  <ojan@chromium.org>
15196
15197         Reviewed by Adele Peterson.
15198
15199         http://trac.webkit.org/changeset/57215 caused perf/memory regressions
15200         https://bugs.webkit.org/show_bug.cgi?id=37292
15201
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.
15205
15206         * platform/graphics/FontFastPath.cpp:
15207         (WebCore::Font::canUseGlyphCache):
15208
15209 2010-04-28  Beth Dakin  <bdakin@apple.com>
15210
15211         Reviewed by Darin Adler.
15212
15213         Fix for <rdar://problem/7474349>
15214
15215         Add a synchronous display mechanism for WKCACFLayerRenderer. 
15216
15217         * platform/graphics/win/WKCACFLayerRenderer.cpp:
15218         (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is 
15219         just like setRootContents(), but it calls paint() instead of 
15220         renderSoon().
15221         * platform/graphics/win/WKCACFLayerRenderer.h:
15222
15223 2010-04-28  Dmitry Titov  <dimich@chromium.org>
15224
15225         Reviewed by Geoffrey Garen.
15226
15227         REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
15228         https://bugs.webkit.org/show_bug.cgi?id=37554
15229
15230         The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
15231
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):
15242
15243         Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
15244         and 'true' for WorkerContext when script is terminated.
15245         * dom/ScriptExecutionContext.h:
15246         * dom/Document.h:
15247         (WebCore::Document::isJSExecutionTerminated):
15248         * workers/WorkerContext.cpp:
15249         (WebCore::WorkerContext::isJSExecutionTerminated):
15250         * workers/WorkerContext.h:
15251
15252 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
15253
15254         Reviewed by Yury Semikhatsky.
15255
15256         WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
15257         https://bugs.webkit.org/show_bug.cgi?id=38270
15258
15259         * inspector/front-end/ResourcesPanel.js:
15260         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
15261
15262 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
15263
15264         Reviewed by Yury Semikhatsky.
15265
15266         WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
15267         https://bugs.webkit.org/show_bug.cgi?id=38264
15268
15269         * inspector/front-end/TimelinePanel.js:
15270         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
15271         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
15272
15273 2010-04-28  Pavel Feldman  <pfeldman@chromium.org>
15274
15275         Reviewed by Timothy Hatcher.
15276
15277         Web Inspector: Linkify node and function in the event listeners panel.
15278
15279         https://bugs.webkit.org/show_bug.cgi?id=38251
15280
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):
15297         ():
15298         * inspector/front-end/StylesSidebarPane.js:
15299         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
15300         * inspector/front-end/inspector.css:
15301         (.node-link):
15302
15303 2010-04-28  Julien Chaffraix  <jchaffraix@webkit.org>
15304
15305         Reviewed by Alexey Proskuryakov.
15306
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>
15310
15311         Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
15312                http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
15313
15314         Rolling the patch in as I could not reproduce Qt results locally.
15315
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
15320         "Origin" header.
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.
15324
15325 2010-04-28  Noam Rosenthal  <noam.rosenthal@nokia.com>
15326
15327         Reviewed by Kenneth Rohde Christiansen.
15328
15329         [Qt] GraphicsLayer: preserves-3d and backface visibility
15330         https://bugs.webkit.org/show_bug.cgi?id=35312
15331
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.
15334
15335         WebKitSite/blog-files/3d-transforms test now work with Qt.
15336
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):
15343
15344 2010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
15345
15346         Reviewed by Yury Semikhatsky.
15347
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
15351
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):
15372
15373 2010-04-28  Marcus Bulach  <bulach@chromium.org>
15374
15375         Reviewed by Jeremy Orlow.
15376
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
15379
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):
15399
15400 2010-04-28  Andrey Kosyakov  <caseq@chromium.org>
15401
15402         Reviewed by Yury Semikhatsky.
15403
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
15407
15408         Test: http/tests/inspector/console-resource-errors.html
15409
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):
15417
15418 2010-04-28  Yury Semikhatsky  <yurys@chromium.org>
15419
15420         Reviewed by Pavel Feldman.
15421
15422         Support pause on exceptions in v8 implementation of ScriptDebugServer.
15423
15424         https://bugs.webkit.org/show_bug.cgi?id=38205        
15425
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:
15434
15435 2010-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
15436
15437         Unreviewed, rolling out r58313.
15438         http://trac.webkit.org/changeset/58313
15439         https://bugs.webkit.org/show_bug.cgi?id=38253
15440
15441         Regression evident in pixel tests: the search icon is always
15442         clipped at the bottom. (Requested by jorlow on #webkit).
15443
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:
15451
15452 2010-04-28  Justin McPherson <justin.mcpherson@nokia.com>
15453
15454         Reviewed by Simon Hausmann.
15455
15456         [Qt] Fix detection of Qt 4.7's multimedia libraries
15457
15458         QtMultimedia has been split into an additional media services library, which
15459         we're using. mediaservices depends on multimedia.
15460
15461         * WebCore.pro:
15462
15463 2010-04-28  Shinichiro Hamaji  <hamaji@chromium.org>
15464
15465         Unreviewed attempt to fix the chromium build.
15466
15467         Add layoutTestController.setPrinting()
15468         https://bugs.webkit.org/show_bug.cgi?id=37203
15469
15470         * rendering/RenderTreeAsText.cpp:
15471
15472 2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
15473
15474         Reviewed by Darin Adler and Eric Seidel.
15475
15476         Add layoutTestController.setPrinting()
15477         https://bugs.webkit.org/show_bug.cgi?id=37203
15478
15479         Added RenderAsTextPrintingMode as a behavior of externalRepresentation.
15480
15481         Now ~PrintContext() calls end() automatically.
15482
15483         * page/PrintContext.cpp:
15484         (WebCore::PrintContext::~PrintContext):
15485         * rendering/RenderTreeAsText.cpp:
15486         (WebCore::externalRepresentation):
15487         * rendering/RenderTreeAsText.h:
15488         (WebCore::):
15489
15490 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
15491
15492         Reviewed by Eric Seidel.
15493
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
15497
15498         * css/CSSParser.cpp:
15499         (WebCore::CSSParser::parseValue):
15500         (WebCore::CSSParser::parsePage):
15501         * css/CSSParser.h:
15502
15503 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
15504
15505         Reviewed by Dimitri Glazkov.
15506
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
15510
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.
15514
15515         * css/CSSParser.cpp:
15516         (WebCore::CSSParser::parseValue):
15517         (WebCore::CSSParser::parseSize):
15518         (WebCore::CSSParser::parseSizeParameter):
15519         * css/CSSParser.h:
15520         (WebCore::CSSParser::):
15521         * css/CSSValueKeywords.in:
15522
15523 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
15524
15525         Reviewed by Eric Seidel.
15526
15527         Enhance CSS parser for Paged Media (Iteration 2)
15528         Parse and hold paged media rules in CSSStyleSelector.
15529
15530         https://bugs.webkit.org/show_bug.cgi?id=35782
15531
15532         Test: printing/page-rule-css-text.html
15533
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:
15551         * css/StyleBase.h:
15552         (WebCore::StyleBase::isPageRule):
15553
15554 2010-04-27  Daniel Bates  <dbates@rim.com>
15555
15556         Reviewed by Oliver Hunt.
15557
15558         https://bugs.webkit.org/show_bug.cgi?id=37686
15559
15560         Fixes an issue where the canvas method strokeRect will stroke a
15561         rectangle whose dimensions are 0 when lineWidth > 1.
15562
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
15566         are zero.
15567
15568         Tests: fast/canvas/canvas-clearRect.html
15569                fast/canvas/canvas-fillRect.html
15570
15571         * html/canvas/CanvasRenderingContext2D.cpp:
15572         (WebCore::validateRectForCanvas): Return false if height, width == 0.
15573
15574 2010-04-27  Adam Barth  <abarth@webkit.org>
15575
15576         Reviewed by Eric Seidel.
15577
15578         Remove obsolete custom bindings file
15579         https://bugs.webkit.org/show_bug.cgi?id=38223
15580
15581         We don't need these files anymore because they are empty.
15582
15583         * Android.jscbindings.mk:
15584         * GNUmakefile.am:
15585         * WebCore.pro:
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.
15592
15593 2010-04-27  Daniel Cheng  <dcheng@chromium.org>
15594
15595         Reviewed by Jian Li.
15596
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
15599
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().
15604
15605         No new tests.
15606
15607         * platform/chromium/ClipboardChromium.cpp:
15608         (WebCore::ClipboardChromium::getData):
15609         (WebCore::ClipboardChromium::types):
15610
15611 2010-04-27  Simon Fraser  <simon.fraser@apple.com>
15612
15613         Reviewed by the inimitable Dan Bernstein.
15614
15615         SVG as background image renders incorrectly after zooming
15616         https://bugs.webkit.org/show_bug.cgi?id=38215
15617         
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.
15623
15624         Test: fast/images/svg-background-partial-redraw.html
15625
15626         * svg/graphics/SVGImage.cpp:
15627         (WebCore::SVGImage::draw):
15628
15629 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
15630
15631         Reviewed by David Hyatt.
15632
15633         Retry of: Enhance CSS parser for Paged Media (Iteration 1)
15634
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.
15637
15638         https://bugs.webkit.org/show_bug.cgi?id=35329
15639
15640         Test: fast/css/parsing-page-rule.html
15641
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):
15650         * css/CSSParser.h:
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:
15658
15659 2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
15660
15661         Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.
15662
15663         * loader/DocumentThreadableLoader.cpp:
15664         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
15665         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
15666         (WebCore::DocumentThreadableLoader::loadRequest):
15667
15668 2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
15669
15670         Reviewed by Alexey Proskuryakov.
15671
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>
15675
15676         Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
15677                http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
15678
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
15683         "Origin" header.
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.
15687
15688 2010-04-27  Sam Weinig  <sam@webkit.org>
15689
15690         Reviewed by Maciej Stachowiak.
15691
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
15694
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
15698         any symbols.
15699
15700 2010-04-27  Dumitru Daniliuc  <dumi@chromium.org>
15701
15702         Reviewed by David Levin.
15703
15704         Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases.
15705         https://bugs.webkit.org/show_bug.cgi?id=38191
15706
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.
15710
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):
15728
15729 2010-04-27  Garret Kelly  <gdk@chromium.org>
15730
15731         Reviewed by Darin Fisher.
15732
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
15737
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:
15749         * dom/Element.idl:
15750         * page/DOMWindow.idl:
15751
15752 2010-04-27  Jens Alfke  <snej@chromium.org>
15753
15754         Reviewed by Darin Fisher.
15755
15756         [Chromium] Add some notifications and an accessor to WebKit API
15757         https://bugs.webkit.org/show_bug.cgi?id=37625
15758
15759         * dom/Node.cpp:
15760         (WebCore::Node::hasNonEmptyBoundingBox): New method.
15761         * dom/Node.h:
15762         * html/HTMLAnchorElement.cpp:
15763         (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
15764
15765 2010-04-27  Jochen Eisinger  <jochen@chromium.org>
15766
15767         Reviewed by Shinichiro Hamaji.
15768
15769         Fix gyp build on Mac OS X with enable_svg=0.
15770         https://bugs.webkit.org/show_bug.cgi?id=38192
15771
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.
15775
15776 2010-04-27  Kinuko Yasuda  <kinuko@chromium.org>
15777
15778         Reviewed by Jian Li.
15779
15780         [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
15781         https://bugs.webkit.org/show_bug.cgi?id=38207
15782
15783         No new tests.
15784
15785         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
15786
15787 2010-04-27  François Sausset  <sausset@gmail.com>
15788
15789         Reviewed by Kenneth Rohde Christiansen.
15790
15791         Implementation of the MathML mroot & msqrt elements.
15792         https://bugs.webkit.org/show_bug.cgi?id=37044
15793
15794         Test: mathml/presentation/roots.xhtml
15795
15796         * WebCore.xcodeproj/project.pbxproj:
15797         * css/mathml.css:
15798         (mroot):
15799         (mroot > * + *):
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.
15814
15815 2010-04-27  Darin Adler  <darin@apple.com>
15816
15817         Reviewed by Maciej Stachowiak.
15818
15819         I noticed an unused forwarding header.
15820
15821         * ForwardingHeaders/runtime/PropertyMap.h: Removed.
15822
15823 2010-04-27  James Robinson  <jamesr@chromium.org>
15824
15825         Reviewed by Adam Barth.
15826
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
15829
15830         * bindings/scripts/CodeGeneratorV8.pm:
15831         * bindings/v8/V8Proxy.cpp:
15832         (WebCore::V8Proxy::callFunction):
15833
15834 2010-04-27  Eric Seidel  <eric@webkit.org>
15835
15836         Unreviewed, rolling out r58318.
15837         http://trac.webkit.org/changeset/58318
15838         https://bugs.webkit.org/show_bug.cgi?id=37215
15839
15840         Broke test on Tiger.  Might just need updated results,
15841         unclear.
15842
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):
15850
15851 2010-04-27  Evan Martin  <evan@chromium.org>
15852
15853         Reviewed by David Levin.
15854
15855         [chromium] bold bengali text not rendered properly on Linux
15856         https://bugs.webkit.org/show_bug.cgi?id=37904
15857
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).
15862
15863         Test: fast/text/international/bold-bengali.html
15864
15865         * platform/graphics/chromium/FontCacheLinux.cpp:
15866         (WebCore::FontCache::getFontDataForCharacters):
15867
15868 2010-04-27  James Robinson  <jamesr@chromium.org>
15869
15870         Reviewed by Darin Adler.
15871
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
15874
15875         Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
15876         and functions mixed in.
15877
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):
15897
15898 2010-04-27  Jian Li  <jianli@chromium.org>
15899
15900         Reviewed by Darin Adler.
15901
15902         Sending a package file using FormData crashes WebKit on Mac.
15903         https://bugs.webkit.org/show_bug.cgi?id=37882
15904
15905         Can't add a layout test because DRT does not support generating the file name.
15906
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):
15915
15916 2010-04-27  Adam Barth  <abarth@webkit.org>
15917
15918         Reviewed by Eric Seidel.
15919
15920         Remove custom NodeIterator bindings
15921         https://bugs.webkit.org/show_bug.cgi?id=38188
15922
15923         Another example of CallWith=ScriptState.  This case shows us the right
15924         way to handle the interaction with exception codes.
15925
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.
15931
15932         * WebCore.gypi:
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:
15941         (WebCore::):
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):
15955         (WebCore::):
15956         * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
15957         * dom/NodeIterator.idl:
15958
15959 2010-04-27  Adam Barth  <abarth@webkit.org>
15960
15961         Reviewed by Darin Adler.
15962
15963         Remove copy/paste addEventListener "custom" bindings via code generation
15964         https://bugs.webkit.org/show_bug.cgi?id=38210
15965
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.
15969
15970         Idea shamelessly stolen from the V8 code generator.
15971
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.
15976
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:
15992         (WebCore::):
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):
16004         (WebCore::):
16005         * dom/MessagePort.idl:
16006         * dom/Node.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:
16016
16017 2010-04-27  Sam Weinig  <sam@webkit.org>
16018
16019         Rubber-stamped by Beth Dakin.
16020
16021         Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
16022
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:
16030
16031 2010-04-27  Ben Murdoch  <benm@google.com>
16032
16033         Reviewed by Simon Hausmann.
16034
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
16037
16038         No new tests required, only updating documentation.
16039
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.
16043
16044 2010-04-27  Simon Fraser  <simon.fraser@apple.com>
16045
16046         Reviewed by Darin Adler, Maciej Stachowiak.
16047
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
16050
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).
16055         
16056         Use this new method to determine whether to trigger a style recalc in the parent document
16057         when an iframe becomes composited.
16058         
16059         Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
16060
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:
16071
16072 2010-04-27  Andrey Kosyakov  <caseq@chromium.org>
16073
16074         Reviewed by Yury Semikhatsky.
16075
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
16079
16080         Test: http/tests/inspector/console-resource-errors.html
16081
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):
16089
16090 2010-04-27  Vitaly Repeshko  <vitalyr@chromium.org>
16091
16092         Reviewed by Nate Chapin.
16093
16094         [V8] Fix XHR memory leak in GC controller.
16095         https://bugs.webkit.org/show_bug.cgi?id=38202
16096
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.
16103
16104         * bindings/v8/V8GCController.cpp:
16105         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
16106
16107 2010-04-27  Adam Barth  <abarth@webkit.org>
16108
16109         Unreviewed.  Regenerate reference bindings code generator output.
16110
16111         * bindings/scripts/test/V8/V8TestObj.cpp:
16112         (WebCore::TestObjInternal::withScriptStateVoidCallback):
16113         (WebCore::TestObjInternal::withScriptStateObjCallback):
16114
16115 2010-04-27  Joseph Pecoraro  <joepeck@webkit.org>
16116
16117         Reviewed by Dan Bernstein.
16118
16119         <input type="search"> with uneven padding causes text clipping
16120         https://bugs.webkit.org/show_bug.cgi?id=38160
16121
16122         Test: fast/css/input-search-padding.html
16123
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.
16129
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">
16136
16137 2010-04-27  Thomas Zander <t.zander@nokia.com>
16138
16139         Reviewed by Simon Hausmann.
16140
16141         [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
16142
16143         Disable thumb mode due to library size limitations, just like it's done
16144         for the sbs/sbsv2 based build system.
16145
16146         * WebCore.pro:
16147
16148 2010-04-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16149
16150         Reviewed by Kenneth Rohde Christiansen.
16151
16152         [Qt] Make sure WebKit is not compiled using C++0x.
16153         https://bugs.webkit.org/show_bug.cgi?id=37867
16154
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.
16157
16158         Patch by Thiago Macieira <thiago.macieira@nokia.com>
16159
16160         * WebCore.pro:
16161
16162 2010-04-27  Jeremy Orlow  <jorlow@chromium.org>
16163
16164         Unreviewed build fix.
16165
16166         Revert 58274 and 58269 (WebSQLDatabase changes)
16167         https://bugs.webkit.org/show_bug.cgi?id=38191
16168
16169         Chromium bots are hitting ASSERTS when running layout tests.
16170
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):
16182
16183 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
16184
16185         Unreviewed, fix build breakage by reverting r58299.
16186
16187         * css/CSSGrammar.y:
16188         * css/CSSParser.cpp:
16189         (WebCore::CSSParser::CSSParser):
16190         (WebCore::CSSParser::clearProperties):
16191         * css/CSSParser.h:
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:
16199
16200 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
16201
16202         Reviewed by Shinichiro Hamaji.
16203
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.
16207
16208         https://bugs.webkit.org/show_bug.cgi?id=37787
16209
16210         No new tests are added because the original behavior is accidentally OK.
16211
16212         * css/CSSSelector.cpp:
16213         (WebCore::CSSSelector::RareData::parseNth):
16214
16215 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
16216
16217         Reviewed by David Hyatt.
16218
16219         Enhance CSS parser for Paged Media (Iteration 1)
16220
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.
16223
16224         https://bugs.webkit.org/show_bug.cgi?id=35329
16225
16226         Test: fast/css/parsing-page-rule.html
16227
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):
16238         * css/CSSParser.h:
16239         * css/CSSSelector.cpp:
16240         (WebCore::CSSSelector::extractPseudoType):
16241         * css/CSSSelector.h:
16242         (WebCore::CSSSelector::):
16243         * css/tokenizer.flex:
16244
16245 2010-04-27  Adam Barth  <abarth@webkit.org>
16246
16247         Reviewed by Eric Seidel.
16248
16249         Remove custom bindings for TreeWalker
16250         https://bugs.webkit.org/show_bug.cgi?id=38182
16251
16252         This custom code is just CallWith=ScriptState.
16253
16254         * WebCore.gypi:
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:
16262
16263 2010-04-27  Eric Seidel  <eric@webkit.org>
16264
16265         Reviewed by Adam Barth.
16266
16267         Move code out of GenerateImplementation to make it more smaller
16268         https://bugs.webkit.org/show_bug.cgi?id=38176
16269
16270         * bindings/scripts/CodeGeneratorJS.pm:
16271          - Move some code into a new GenerateAttributesHashTable method.
16272
16273 2010-04-26  Adam Barth  <abarth@webkit.org>
16274
16275         Reviewed by Eric Seidel.
16276
16277         Add CallWith=DynamicFrame to CodeGenerator
16278         https://bugs.webkit.org/show_bug.cgi?id=38174
16279
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.
16283
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:
16295         (WebCore::):
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):
16316         (WebCore::):
16317         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
16318         * html/HTMLFormElement.idl:
16319
16320 2010-04-26  Adam Barth  <abarth@webkit.org>
16321
16322         Unreviewed.  Update comment to better reflect reality.
16323
16324         * bindings/scripts/test/TestObj.idl:
16325
16326 2010-04-26  Adam Barth  <abarth@webkit.org>
16327
16328         Reviewed by Eric Seidel.
16329
16330         Add ObjC and GObject to run-bindings-test
16331         https://bugs.webkit.org/show_bug.cgi?id=38168
16332
16333         Added expected results.
16334
16335         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added.
16336         (WebKit::kit):
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):
16363         (WebKit::core):
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:]):
16404         (core):
16405         (kit):
16406         * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added.
16407
16408 2010-04-26  Adam Barth  <abarth@webkit.org>
16409
16410         Reviewed by Eric Seidel.
16411
16412         Add testing infrastructure for JSC bindings generator
16413         https://bugs.webkit.org/show_bug.cgi?id=38167
16414
16415         This required moving the test files around a bit more.
16416
16417         * bindings/scripts/test/JS/JSTestObj.cpp: Added.
16418         (WebCore::):
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):
16464         (WebCore::toJS):
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.
16475         (WebCore::):
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):
16513         (WebCore::toV8):
16514         (WebCore::V8TestObj::derefObject):
16515         * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h.
16516
16517 2010-04-26  Oliver Hunt  <oliver@apple.com>
16518
16519         Reviewed by Gavin Barraclough.
16520
16521         Need to support more efficient dispatch of lightweight builtins
16522         https://bugs.webkit.org/show_bug.cgi?id=38155
16523
16524         Update bindings generation to include new thunk generator field
16525         in the property map hash tables.
16526
16527         * bindings/scripts/CodeGeneratorJS.pm:
16528
16529 2010-04-26  Adam Barth  <abarth@webkit.org>
16530
16531         Reviewed by Eric Seidel.
16532
16533         Move bindings test directory into the scripts directory
16534         https://bugs.webkit.org/show_bug.cgi?id=38161
16535
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.
16539
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.
16542         (WebCore::):
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):
16580         (WebCore::toV8):
16581         (WebCore::V8TestObj::derefObject):
16582         * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h.
16583
16584 2010-04-26  Daniel Cheng  <dcheng@chromium.org>
16585
16586         Reviewed by Jian Li.
16587
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
16590
16591         No new tests.
16592
16593         * platform/chromium/ChromiumDataObject.h:
16594         (WebCore::ChromiumDataObject::setURL):
16595
16596 2010-04-26  Daniel Cheng  <dcheng@chromium.org>
16597
16598         Reviewed by Jian Li.
16599
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
16602
16603         Test will be checked in with WebCore/platform/mac fix.
16604
16605         * platform/chromium/ClipboardChromium.cpp:
16606         (WebCore::ClipboardChromium::getData):
16607         (WebCore::ClipboardChromium::types):
16608
16609 2010-04-26  Maciej Stachowiak  <mjs@apple.com>
16610
16611         Reviewed by Darin Adler.
16612
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
16615
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
16619         3.7%.
16620        
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).
16635
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
16665
16666 2010-04-26  Sam Weinig  <sam@webkit.org>
16667
16668         Reviewed by Alexey Proskuryakov.
16669
16670         Remove last use of WEB_THREAD.
16671
16672         * platform/mac/WebCoreObjCExtras.mm:
16673         (WebCoreObjCScheduleDeallocateOnMainThread): This can always use
16674         isMainThread().
16675
16676 2010-04-26  Dumitru Daniliuc  <dumi@chromium.org>
16677
16678         Reviewed by Dimitri Glazkov.
16679
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.
16684
16685         https://bugs.webkit.org/show_bug.cgi?id=36251
16686
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):
16700
16701 2010-04-26  Geoffrey Garen  <ggaren@apple.com>
16702
16703         Reviewed by Sam Weinig.
16704
16705         <rdar://problem/7766413>
16706         
16707         Fixed a crash seen when using the JavaScriptCore API with WebKit.
16708         
16709         No layout test because DumpRenderTree doesn't use the JavaScriptCore API
16710         in this way.
16711
16712         * bindings/js/JSEventListener.cpp:
16713         (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr.
16714         JavaScriptCore no longer allows this.
16715
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
16719         default behaviors.
16720
16721 2010-04-25  Sam Weinig  <sam@webkit.org>
16722
16723         Reviewed by Maciej Stachowiak.
16724
16725         Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
16726         Disentangle initializing the main thread from initializing threading
16727
16728         * WebCore.xcodeproj/project.pbxproj: Sort files.
16729
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
16733         thread.
16734
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.
16743
16744 2010-04-26  Yongjun Zhang  <yongjun_zhang@apple.com>
16745
16746         Reviewed by Alexey Proskuryakov.
16747         
16748         https://bugs.webkit.org/show_bug.cgi?id=38128
16749         Don't add empty credential to CredentialStorage.
16750         
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.
16754         
16755         No new tests added since this only affects credential entered by user from credential dialog,
16756         which is not testable in DRT.
16757
16758         * platform/network/mac/ResourceHandleMac.mm:
16759         (WebCore::ResourceHandle::receivedCredential):
16760
16761 2010-04-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16762
16763         Reviewed by Simon Hausmann.
16764
16765         [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately
16766         https://bugs.webkit.org/show_bug.cgi?id=38123
16767
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.
16772
16773         No new tests, no new functionality.
16774
16775         * WebCore.pro:
16776
16777 2010-04-26  Roman Gershman  <romange@google.com>
16778
16779         Reviewed by Adam Barth.
16780
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.
16783
16784         https://bugs.webkit.org/show_bug.cgi?id=37977
16785
16786         * manual-tests/chromium/suggestions-popup-font-change.html: Added.
16787
16788 2010-04-26  Luiz Agostini  <luiz.agostini@openbossa.org>
16789
16790         Reviewed by Kenneth Rohde Christiansen.
16791
16792         View modes names in CSSValueKeywords.in
16793         https://bugs.webkit.org/show_bug.cgi?id=38125
16794
16795         View mode names has changed in previous patch but CSSValueKeywords.in file was
16796         not updated.
16797
16798         * css/CSSValueKeywords.in:
16799
16800 2010-04-26  Simon Hausmann  <simon.hausmann@nokia.com>
16801
16802         Reviewed by Kenneth Rohde Christiansen.
16803
16804         [Qt] Fix compilation with RVCT 4
16805         https://bugs.webkit.org/show_bug.cgi?id=37727
16806
16807         Swap extern and declspec to fix visibility of symbol imported from QtGui.
16808
16809         * page/qt/EventHandlerQt.cpp:
16810
16811 2010-04-26  Ruben Van Boxem  <vanboxem.ruben@gmail.com>
16812
16813         Reviewed by Adam Roben.
16814
16815         Fixes for Win64 compilation under gcc (mingw-w64)
16816
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
16824
16825 2010-04-26  Markus Goetz  <Markus.Goetz@nokia.com>
16826
16827         Reviewed by Simon Hausmann.
16828
16829         [Qt] HTTP pipelining efficiency increase
16830         https://bugs.webkit.org/show_bug.cgi?id=38062
16831
16832         Increase number of network requests that are fed into
16833         QNetworkAccessManager.
16834
16835         * platform/network/qt/ResourceRequestQt.cpp:
16836         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
16837
16838 2010-04-26  Ilya Tikhonovsky  <loislo@chromium.org>
16839
16840         Reviewed by Yury Semikhatsky.
16841
16842         Web Inspector: undefined shows up on inspector.
16843         https://bugs.webkit.org/show_bug.cgi?id=38120
16844
16845         * inspector/front-end/ScriptsPanel.js:
16846         (WebInspector.ScriptsPanel.prototype.hide):
16847         * inspector/front-end/SourceFrame.js:
16848         (WebInspector.SourceFrame.prototype.set visible):
16849
16850 2010-04-26  Bruno Schmidt  <bruno.schmidt@gmail.com>
16851
16852         Reviewed by Kenneth Rohde Christiansen.
16853
16854         [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
16855         causes Segmentation Fault
16856         https://bugs.webkit.org/show_bug.cgi?id=34729
16857
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
16865         reference.
16866
16867         * bridge/qt/qt_runtime.cpp:
16868         (JSC::Bindings::convertValueToQVariant):
16869         (JSC::Bindings::convertQVariantToValue): change to root.get()
16870
16871 2010-04-26  Pavel Feldman  <pfeldman@chromium.org>
16872
16873         Reviewed by Yury Semikhatsky.
16874
16875         Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo".
16876
16877         https://bugs.webkit.org/show_bug.cgi?id=38107
16878
16879         * inspector/front-end/SummaryBar.js:
16880         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
16881         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
16882
16883 2010-04-26  Andreas Kling  <andreas.kling@nokia.com>
16884
16885         Reviewed by Tor Arne Vestbø.
16886
16887         [Qt] Fix compilation against Qt 4.7
16888
16889         Some QtMultimedia things have been moved into QtMediaServices
16890         https://bugs.webkit.org/show_bug.cgi?id=38111
16891
16892         * WebCore.pro:
16893         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
16894         (WebCore::MediaPlayerPrivate::supportsType):
16895         (WebCore::MediaPlayerPrivate::totalBytes):
16896
16897 2010-04-26  Zoltan Herczeg  <zherczeg@webkit.org>
16898
16899         Reviewed by Dirk Schulze.
16900
16901         Call setStrokeStyle in applyStrokeStyleToContext
16902         https://bugs.webkit.org/show_bug.cgi?id=37849
16903
16904         Not all platforms set the stroke style to solid if they
16905         get an empty line dash array. Some just ignore the operation.
16906
16907         * rendering/SVGRenderSupport.cpp:
16908         (WebCore::applyStrokeStyleToContext):
16909
16910 2010-04-23  Ilya Tikhonovsky  <loislo@chromium.org>
16911
16912         Reviewed by Pavel Feldman.
16913
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
16917
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):
16943
16944 2010-04-25  Kent Tamura  <tkent@chromium.org>
16945
16946         Reviewed by Darin Adler.
16947
16948         WebKit crashes with deeply nested divs
16949         https://bugs.webkit.org/show_bug.cgi?id=18282
16950
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().
16954
16955         Test: fast/parser/element-nesting-cap.html
16956
16957         * dom/Node.h:
16958         * dom/XMLTokenizer.cpp:
16959         (WebCore::XMLTokenizer::pushCurrentNode):
16960         * html/HTMLParser.cpp:
16961
16962         * GNUmakefile.am:
16963         * WebCore.gypi:
16964         * WebCore.pro:
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:
16986
16987 2010-04-25  Andrey Kosyakov  <caseq@chromium.org>
16988
16989         Reviewed by Adam Barth.
16990
16991         Get context properly when event handler was created on
16992         the main world.
16993         https://bugs.webkit.org/show_bug.cgi?id=37947
16994
16995         Test: http/tests/security/isolatedWorld/dispatchEvent.html
16996
16997         * bindings/v8/WorldContextHandle.cpp:
16998         (WebCore::WorldContextHandle::adjustedContext):
16999
17000 2010-04-25  yael aharon  <yael.aharon@nokia.com>
17001
17002         Reviewed by Adele Peterson.
17003
17004         Allow styling of HTMLProgressElement.
17005         https://bugs.webkit.org/show_bug.cgi?id=37901
17006
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.
17009
17010         Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
17011
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:
17037
17038 2010-04-24  Simon Fraser  <simon.fraser@apple.com>
17039
17040         Reviewed by Dan Bernstein.
17041
17042         Don't propagate compositing out of iframes on Mac
17043         https://bugs.webkit.org/show_bug.cgi?id=38072
17044
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.
17048
17049         * rendering/RenderLayerCompositor.cpp:
17050         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
17051
17052 2010-04-24  Anton Muhin  <antonm@chromium.org>
17053
17054         Reviewed by Darin Adler.
17055
17056         Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
17057
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
17063
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
17069         (WTF::):
17070
17071 2010-04-24  Julien Chaffraix  <jchaffraix@webkit.org>
17072
17073         Reviewed by Alexey Proskuryakov.
17074
17075         protocolHostAndPortEquals host check makes a wrong assumption
17076         https://bugs.webkit.org/show_bug.cgi?id=37777
17077
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.
17081
17082         Test: http/tests/appcache/credential-url.html
17083
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.
17089
17090 2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
17091
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)
17094
17095         * rendering/SVGRenderSupport.cpp:
17096
17097 2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
17098
17099         Not reviewed. Fix release builds, wrap resourceMode assertion in NDEBUG blocks, use UNUSED_PARAM() otherwhise.
17100
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):
17108
17109 2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
17110
17111         Reviewed by Dirk Schulze.
17112
17113         SVGPaintServer needs to be converted to the new RenderSVGResource* system
17114         https://bugs.webkit.org/show_bug.cgi?id=37986
17115
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.
17119
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.
17133
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.
17367
17368 2010-04-23  Zhenyao Mo  <zmo@google.com>
17369
17370         Reviewed by Darin Fisher.
17371
17372         Add isGLES2Compliant to GraphicsContext3D: make the method const.
17373         https://bugs.webkit.org/show_bug.cgi?id=37872
17374
17375         * platform/graphics/GraphicsContext3D.h: Make isGLES2Compliant() const.
17376         * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
17377         (WebCore::GraphicsContext3D::isGLES2Compliant):
17378
17379 2010-04-23  Qi Zhang  <qi.2.zhang@nokia.com>
17380
17381         Reviewed by Laszlo Gombos.
17382
17383         [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
17384         https://bugs.webkit.org/show_bug.cgi?id=37276
17385
17386         QPainterPath::contains doesn't count the point on the bound.
17387
17388         * platform/graphics/qt/PathQt.cpp:
17389         (WebCore::isPointOnPathBorder):
17390         (WebCore::Path::contains):
17391
17392 2010-04-23  Sam Weinig  <sam@webkit.org>
17393
17394         Reviewed by David Levin.
17395
17396         Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
17397         Split up Threading.h
17398
17399         Add necessary forwarding headers.
17400
17401         * ForwardingHeaders/wtf/Atomics.h: Added.
17402         * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
17403         * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
17404
17405 2010-04-23  Rafael Weinstein  <rafaelw@grafaelw.sfo.corp.google.com>
17406
17407         Reviewed by Darin Fisher.
17408
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.
17413
17414         https://bugs.webkit.org/show_bug.cgi?id=38013
17415
17416         * page/WindowFeatures.cpp:
17417         (WebCore::WindowFeatures::setWindowFeature):
17418         * page/WindowFeatures.h:
17419
17420 2010-04-23  Dan Bernstein  <mitz@apple.com>
17421
17422         Reviewed by Simon Fraser.
17423
17424         <rdar://problem/7898436> :after content is duplicated
17425
17426         Test: fast/css-generated-content/after-duplicated-after-split.html
17427
17428         * rendering/RenderInline.cpp:
17429         (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list.
17430
17431 2010-04-23  Adele Peterson  <adele@apple.com>
17432
17433         Fixing the Tiger build for real.
17434
17435         * platform/graphics/mac/SimpleFontDataMac.mm:
17436
17437 2010-04-23  Adele Peterson  <adele@apple.com>
17438
17439         Fixing the Tiger build.
17440
17441         * platform/graphics/mac/SimpleFontDataMac.mm:
17442         (WebCore::SimpleFontData::platformBoundsForGlyph):
17443
17444 2010-04-23  Jian Li  <jianli@chromium.org>
17445
17446         Reviewed by Dmitry Titov.
17447
17448         Add FileError for File API.
17449         https://bugs.webkit.org/show_bug.cgi?id=37840
17450
17451         The test will be added when implementing FileReader and FilerWriter.
17452
17453         * Android.derived.jscbindings.mk:
17454         * Android.derived.v8bindings.mk:
17455         * DerivedSources.cpp:
17456         * DerivedSources.make:
17457         * GNUmakefile.am:
17458         * WebCore.gypi:
17459         * WebCore.pri:
17460         * WebCore.pro:
17461         * WebCore.vcproj/WebCore.vcproj:
17462         * WebCore.xcodeproj/project.pbxproj:
17463         * dom/ExceptionCode.h:
17464         (WebCore::):
17465         * html/FileError.h: Added.
17466         * html/FileError.idl: Added.
17467         * page/DOMWindow.idl:
17468
17469 2010-04-23  Jian Li  <jianli@chromium.org>
17470
17471         Reviewed by Adam Barth.
17472
17473         Improve code generator scripts to handle OR ('|') condition in the
17474         extended attributes.
17475         https://bugs.webkit.org/show_bug.cgi?id=37998
17476
17477         * bindings/scripts/CodeGeneratorJS.pm:
17478         * bindings/scripts/CodeGeneratorObjC.pm:
17479         * bindings/scripts/CodeGeneratorV8.pm:
17480         * bindings/scripts/IDLStructure.pm:
17481
17482 2010-04-23  Adele Peterson  <adele@apple.com>
17483
17484         Reviewed by Dan Bernstein.
17485
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
17488
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.
17491
17492         Covered by existing tests.  This should not cause any change in functionality.
17493
17494         Updated for removal of GlyphMetricsMap.cpp
17495         * Android.mk:
17496         * GNUmakefile.am:
17497         * WebCore.gypi:
17498         * WebCore.vcproj/WebCore.vcproj:
17499         * WebCore.xcodeproj/project.pbxproj:
17500
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):
17511
17512         * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
17513         Call boundsForGlyph instead of metricsForGlyph.
17514         * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
17515         ditto.
17516         * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit):
17517         Call setMetricsForGlyph for both glyph maps.
17518
17519         Break getters and setters for metricsForGlyph into widthForGlyph and boundsForGlyph, maintaining present behavior.
17520         * platform/graphics/SimpleFontData.h:
17521         (WebCore::):
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):
17552
17553 2010-04-23  Xiaomei Ji  <xji@chromium.org>
17554
17555         Reviewed by Dan Bernstein and Darin Adler
17556
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
17561
17562         Test: editing/inserting/caret-position.html
17563
17564         * rendering/RenderText.cpp:
17565         (WebCore::RenderText::localCaretRect):
17566
17567 2010-04-23  No'am Rosenthal  <noam.rosenthal@nokia.com>
17568
17569         Reviewed by Kenneth Rohde Christiansen.
17570
17571         [Qt] [Performance] GraphicsLayer: constructing the layers takes too long
17572         https://bugs.webkit.org/show_bug.cgi?id=36365
17573
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.
17577
17578         The way to solve it is by having GraphicsLayerQt manage the cache directly
17579         via QPixmapCache, instead of using QGraphicsItem cache modes.
17580
17581         FPS measurement shows significant improvement (20FPS before, 40FPS after)
17582         on several use-cases, including blog-files/leaves on a desktop environment.
17583
17584         * platform/graphics/qt/GraphicsLayerQt.cpp:
17585         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
17586         (WebCore::GraphicsLayerQtImpl::recache):
17587         (WebCore::GraphicsLayerQtImpl::paint):
17588         (WebCore::GraphicsLayerQtImpl::flushChanges):
17589
17590 2010-04-23  James Robinson  <jamesr@chromium.org>
17591
17592         Reviewed by Dimitri Glazkov.
17593
17594         Avoid marking symbols as dllexport in chromium win builds
17595         https://bugs.webkit.org/show_bug.cgi?id=38058
17596
17597         No new tests.
17598
17599         * config.h:
17600
17601 2010-04-23  MORITA Hajime  <morrita@google.com>
17602
17603         Reviewed by Nikolas Zimmermann.
17604
17605         https://bugs.webkit.org/show_bug.cgi?id=37187
17606         SVG <use href="foo"> is interpreted as <use href="#foo">
17607
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".
17611         
17612         Test: svg/custom/broken-internal-references.svg
17613
17614         * svg/SVGElement.cpp:
17615         (WebCore::SVGElement::insertedIntoDocument):
17616         * svg/SVGURIReference.cpp:
17617         (WebCore::SVGURIReference::getTarget):
17618
17619 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
17620
17621         Reviewed by Dan Bernstein.
17622
17623         ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com
17624         https://bugs.webkit.org/show_bug.cgi?id=38066
17625         
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.
17629
17630         Test: compositing/composited-negative-zindex-child.html
17631
17632         * rendering/RenderLayerCompositor.cpp:
17633         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
17634
17635 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
17636
17637         Reviewed by Dan Bernstein.
17638
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
17641
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.
17645         
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).
17650         
17651         Not testable, since the flash is very transitory and cannot be captured in a pixel test.
17652
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()
17659         method.
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.
17664
17665 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
17666
17667         Reviewed by Dan Bernstein.
17668
17669         CompositeAnimation::updateKeyframeAnimations() can make a KeyframeAnimation for animation "none"
17670         https://bugs.webkit.org/show_bug.cgi?id=38017
17671
17672         Check to see if the animation name is "none", and don't fire off a keyframe animation in
17673         that case.
17674
17675         * page/animation/CompositeAnimation.cpp:
17676         (WebCore::CompositeAnimation::updateKeyframeAnimations):
17677
17678 2010-04-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
17679
17680         Reviewed by Kenneth Rohde Christiansen.
17681
17682         [Qt] Disable Netscape plugin support for minimal configuration
17683         https://bugs.webkit.org/show_bug.cgi?id=38026
17684
17685         No new tests, as there is no new functionality.
17686
17687         * WebCore.pri:
17688
17689 2010-04-23  Shinichiro Hamaji  <hamaji@chromium.org>
17690
17691         Reviewed by Darin Adler.
17692
17693         Need borderAndPadding(Width|Height)
17694         https://bugs.webkit.org/show_bug.cgi?id=38046
17695
17696         Refactoring only, so no new tests.
17697
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):
17759
17760 2010-04-23  David Kilzer  <ddkilzer@apple.com>
17761
17762         Size mismatch between format string and argument in dumpTextEncodingNameMap()
17763
17764         Reviewed by Darin Adler.
17765
17766         See Bug 38030 and r58157.
17767
17768         * platform/text/TextEncodingRegistry.cpp:
17769         (WebCore::dumpTextEncodingNameMap): Assigned
17770         textEncodingNameMap->size() to an unsigned variable before using
17771         it in the fprintf() statement.
17772
17773 2010-04-23  David Kilzer  <ddkilzer@apple.com>
17774
17775         BUILD FIX: Attempt to fix Windows build after Bug 36187 landed in r58168
17776
17777         * DerivedSources.cpp: Changed include of JSMedia.cpp to
17778         JSStyleMedia.cpp.
17779
17780 2010-04-23  David Kilzer  <ddkilzer@apple.com>
17781
17782         BUILD FIX: Fix Mac build after Bug 36187 landed in r58168
17783
17784         * WebCore.xcodeproj/project.pbxproj: Renamed DOMMedia.h,
17785         DOMMedia.mm, DOMMediaInternal.h to DOMStyleMedia.h,
17786         DOMStyleMedia.mm, DOMStyleMediaInternal.h.  
17787
17788 2010-04-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
17789
17790         Unreviewed build fix.
17791
17792         Change Media to StyleMedia
17793
17794         * DerivedSources.make:
17795
17796 2010-04-23  Xan Lopez  <xlopez@igalia.com>
17797
17798         Try to fix the GTK+ bots.
17799
17800         * GNUmakefile.am:
17801
17802 2010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
17803
17804         Reviewed by Laszlo Gombos.
17805
17806         Rename window.media to window.styleMedia
17807         https://bugs.webkit.org/show_bug.cgi?id=36187
17808
17809         Rename the interface Media to StyleMedia as required by the
17810         new CSSOM View spec.
17811
17812         * Android.derived.jscbindings.mk:
17813         * Android.derived.v8bindings.mk:
17814         * GNUmakefile.am:
17815         * WebCore.gypi:
17816         * WebCore.pri:
17817         * WebCore.pro:
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:
17836
17837 2010-04-23  Yury Semikhatsky  <yurys@chromium.org>
17838
17839         Reviewed by Pavel Feldman.
17840
17841         Web Inspector: provide JSC implementation for scopeType method on
17842         call frame and use same jsvascript code for JSC and v8 when collecting
17843         scope chain data.
17844
17845         https://bugs.webkit.org/show_bug.cgi?id=37663
17846
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.):
17856
17857 2010-04-23  Alexander Pavlov  <apavlov@chromium.org>
17858
17859         Reviewed by Pavel Feldman.
17860
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
17863
17864         * inspector/front-end/AuditRules.js:
17865         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
17866
17867 2010-04-23  Ilya Tikhonovsky  <loislo@chromium.org>
17868
17869         Reviewed by Yury Semikhatsky.
17870
17871         WebInspector: Flaky Inspector tests.
17872         https://bugs.webkit.org/show_bug.cgi?id=36217
17873
17874         * inspector/InspectorController.cpp:
17875         (WebCore::InspectorController::didCommitLoad):
17876
17877 2010-04-23  Yaar Schnitman  <yaar@chromium.org>
17878
17879         Reviewed by Adam Barth.
17880
17881         Auto-generate WebGLRenderingContext overloads in V8
17882         https://bugs.webkit.org/show_bug.cgi?id=37818
17883
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.
17890
17891 2010-04-23  Jeff Schiller  <codedread@gmail.com>
17892
17893         Reviewed by Nikolas Zimmermann.
17894
17895         Display tooltips when hovering over SVG elements, Bug 16854
17896         https://bugs.webkit.org/show_bug.cgi?id=16854
17897
17898         Manual test added for verifying tooltips.
17899
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
17906
17907 2010-04-23  David Kilzer  <ddkilzer@apple.com>
17908
17909         <http://webkit.org/b/38032> No need to content sniff 304 responses
17910         <rdar://problem/7891726>
17911
17912         Reviewed by Brady Eidson.
17913
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.
17918
17919 2010-04-23  David Kilzer  <ddkilzer@apple.com>
17920
17921         <http://webkit.org/b/38030> Add WebCore::dumpTextEncodingNameMap() to dump text encoding map on debug builds
17922
17923         Reviewed by Alexey Proskuryakov.
17924
17925         * platform/text/TextEncodingRegistry.cpp:
17926         (WebCore::dumpTextEncodingNameMap): Added.
17927         * platform/text/TextEncodingRegistry.h:
17928         (WebCore::dumpTextEncodingNameMap): Added declaration.
17929
17930 2010-04-22  Tony Chang  <tony@chromium.org>
17931
17932         Reviewed by Dan Bernstein.
17933
17934         Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products
17935         https://bugs.webkit.org/show_bug.cgi?id=37950
17936
17937         Test: editing/text-iterator/rtl-selection-crash.html
17938
17939         * editing/TextIterator.cpp:
17940         (WebCore::TextIterator::handleTextNode):
17941
17942 2010-04-22  Maciej Stachowiak  <mjs@apple.com>
17943
17944         Reviewed by Dan Bernstein and Beth Dakin.
17945
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>
17949
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.
17956         
17957         Tests: accessibility/image-link-inline-cont.html
17958                accessibility/image-link.html
17959                accessibility/inline-continuations.html
17960
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.
17979
17980 2010-04-22  Shinichiro Hamaji  <hamaji@chromium.org>
17981
17982         Reviewed by Darin Adler.
17983
17984         REGRESSION: TextIterator may use freed memory
17985         https://bugs.webkit.org/show_bug.cgi?id=37973
17986
17987         Added TextIterator::m_text to hold the returned String.
17988
17989         No new tests because there are no behavior change, but
17990         copy-backslash-with-euc.html on chromium-win should test this.
17991
17992         * editing/TextIterator.cpp:
17993         (WebCore::TextIterator::emitText):
17994         * editing/TextIterator.h:
17995
17996 2010-04-22  Michael Forney  <mforney@mforney.org>
17997
17998         Reviewed by Adam Barth.
17999
18000         https://bugs.webkit.org/show_bug.cgi?id=37761
18001
18002         Only include JSDatabase.h and JSDatabaseCallback.h when database is
18003         enabled. This partially fixes building with --disable-database.
18004
18005         * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around
18006         database-related headers.
18007
18008 2010-04-22  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
18009
18010         Reviewed by Darin Adler.
18011
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. 
18016
18017         No new tests.
18018
18019         Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
18020
18021         * html/HTMLInputElement.cpp:
18022         (WebCore::HTMLInputElement::shouldUseInputMethod):
18023
18024 2010-04-22  Yaar Schnitman  <yaar@chromium.org>
18025
18026         Reviewed by Adam Barth.
18027
18028         Integrate v8 testing utility with webkit tests
18029         https://bugs.webkit.org/show_bug.cgi?id=37731
18030
18031         * bindings/v8/test/run_tests.py: Removed.
18032
18033 2010-04-22  Zhenyao Mo  <zmo@google.com>
18034
18035         Reviewed by Darin Fisher.
18036
18037         Add isGLES2Compliant to GraphicsContext3D
18038         https://bugs.webkit.org/show_bug.cgi?id=37872
18039
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):
18046
18047 2010-04-22  Fumitoshi Ukai  <ukai@chromium.org>
18048
18049         Reviewed by Adam Barth.
18050
18051         MD5 is required for WebSocket new protocol implementation
18052         https://bugs.webkit.org/show_bug.cgi?id=37913
18053
18054         * ForwardingHeaders/wtf/MD5.h: Added.
18055
18056 2010-04-22  Alexey Proskuryakov  <ap@apple.com>
18057
18058         Reviewed by Darin Adler.
18059
18060         https://bugs.webkit.org/show_bug.cgi?id=38012
18061         REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard
18062
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.
18065
18066 2010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18067
18068         Reviewed by Darin Adler.
18069
18070         Fix the MSVC 64bit build.
18071         https://bugs.webkit.org/show_bug.cgi?id=37980
18072
18073         * platform/text/TextStream.cpp:
18074         * platform/text/TextStream.h:
18075         * plugins/win/PluginViewWin.cpp:
18076         (WebCore::PluginView::platformStart):
18077
18078 2010-04-22  Dave Moore  <davemoore@chromium.org>
18079
18080         Reviewed by Dimitri Glazkov.
18081
18082         Added notification when the favicons for a page are changed
18083         from a script.
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().
18087
18088         https://bugs.webkit.org/show_bug.cgi?id=33812
18089
18090         Test: fast/dom/icon-url-property.html
18091
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:
18105
18106 2010-04-22  Xan Lopez  <xlopez@igalia.com>
18107
18108         Reviewed by Gustavo Noronha.
18109
18110         [GTK] GObject DOM bindings
18111         https://bugs.webkit.org/show_bug.cgi?id=33590
18112
18113         Extend the bindings to cover most of Document.idl
18114
18115         * GNUmakefile.am:
18116         * bindings/gobject/WebKitDOMBinding.cpp:
18117         (WebKit::createWrapper):
18118         (WebKit::kit):
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:
18180         * dom/Node.idl:
18181
18182 2010-04-22  Eric Carlson  <eric.carlson@apple.com>
18183
18184         Reviewed by Simon Fraser.
18185
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>
18189
18190         No new tests, we don't have infrastructure in DRT to test with streamed
18191         movies.
18192
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:
18200
18201 2010-04-22  Zhenyao Mo  <zmo@google.com>
18202
18203         Reviewed by Dimitri Glazkov.
18204
18205         Regression: framebufferRenderbuffer crashes with null renderBuffer
18206         https://bugs.webkit.org/show_bug.cgi?id=37963
18207
18208         * html/canvas/WebGLRenderingContext.cpp:
18209         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input.
18210
18211 2010-04-22  Zhenyao Mo  <zmo@google.com>
18212
18213         Reviewed by Dimitri Glazkov.
18214
18215         Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
18216         https://bugs.webkit.org/show_bug.cgi?id=37281
18217
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.
18224
18225 2010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
18226
18227         Reviewed by Xan Lopez.
18228
18229         [GTK] Mute/unmute button on <video> elements are backwards
18230         https://bugs.webkit.org/show_bug.cgi?id=33967
18231
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.
18235
18236         * platform/gtk/RenderThemeGtk.cpp:
18237         (WebCore::RenderThemeGtk::initMediaStyling):
18238
18239 2010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18240
18241         Reviewed by Eric Seidel.
18242
18243         Fix build if NPAPI support is disabled
18244         https://bugs.webkit.org/show_bug.cgi?id=36621
18245
18246         No new tests, this is a build fix.
18247         Re-submit r58043 with fix for EFL.
18248
18249         * plugins/PluginViewNone.cpp:
18250
18251 2010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
18252
18253         Reviewed by Xan Lopez.
18254
18255         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
18256         WebKitGtk
18257         https://bugs.webkit.org/show_bug.cgi?id=34449
18258
18259         Implement ATK_ROLE_COMBO_BOX.
18260
18261         * accessibility/gtk/AccessibilityObjectAtk.cpp:
18262         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
18263         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
18264         (atkRole):
18265
18266 2010-04-22  Nikolas Zimmermann  <nzimmermann@rim.com>
18267
18268         Reviewed by Dirk Schulze.
18269
18270         SVGPaintServer needs to be converted to the new RenderSVGResource* system
18271         https://bugs.webkit.org/show_bug.cgi?id=37986
18272
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.
18275
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.
18313
18314 2010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18315
18316         Reviewed by Simon Hausmann.
18317
18318         [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
18319
18320         This prevents the dependent headers from being included by
18321         qt/include/QtWebKit/QtWebKit
18322
18323         * WebCore.pro:
18324
18325 2010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18326
18327         Reviewed by Adam Roben.
18328
18329         EFL does not support PluginDatabase yet.
18330         http://webkit.org/b/37854
18331
18332         No behavior changes, so no new tests were added.
18333
18334         * loader/FrameLoader.cpp:
18335         (WebCore::FrameLoader::defaultObjectContentType):
18336
18337 2010-04-22  Ilya Tikhonovsky  <loislo@chromium.org>
18338
18339         Reviewed by Yury Semikhatsky.
18340
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
18343
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):
18352
18353 2010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18354
18355         Reviewed by Simon Fraser.
18356
18357         Rename window.media to window.styleMedia
18358         https://bugs.webkit.org/show_bug.cgi?id=36187
18359
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
18363         making use of it.
18364
18365         * page/AbstractView.idl:
18366         * page/DOMWindow.cpp:
18367         (WebCore::DOMWindow::styleMedia):
18368         * page/DOMWindow.h:
18369         * page/DOMWindow.idl:
18370
18371 2010-04-22  Anton Muhin  <antonm@chromium.org>
18372
18373         Reviewed by Adam Barth.
18374
18375         [v8] Do not pass empty handle into SetHiddenValue which would crash.
18376         https://bugs.webkit.org/show_bug.cgi?id=37801
18377
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
18381
18382 2010-04-22  Stephan Aßmus  <superstippi@gmx.de>
18383
18384         Reviewed by David Levin.
18385
18386         [Haiku] Implement ImageBuffer support
18387         https://bugs.webkit.org/show_bug.cgi?id=35288
18388
18389         Covered by existing tests.
18390
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.
18394
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):
18418             Implemented.
18419         (WebCore::putImageData):
18420             Common code for the next two methods.
18421         (WebCore::ImageBuffer::putUnmultipliedImageData),
18422         (WebCore::ImageBuffer::putPremultipliedImageData):
18423             Implemented.
18424         (WebCore::ImageBuffer::toDataURL):
18425             Uses Haiku "Translation Kit" to convert image data to data
18426             of the requested mime type.
18427
18428 2010-04-22  Adam Barth  <abarth@webkit.org>
18429
18430         Unreviewed, rolling out r58069.
18431         http://trac.webkit.org/changeset/58069
18432         https://bugs.webkit.org/show_bug.cgi?id=27751
18433
18434         Broke compile on Windows.
18435
18436         * WebCore.base.exp:
18437         * editing/EditorCommand.cpp:
18438         (WebCore::supportedPaste):
18439         (WebCore::createCommandMap):
18440         * page/Settings.cpp:
18441         (WebCore::Settings::Settings):
18442         * page/Settings.h:
18443
18444 2010-04-22  Abhishek Arya  <inferno@chromium.org>
18445
18446         Reviewed by Adam Barth.
18447
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
18451
18452         Test: editing/execCommand/clipboard-access.html
18453
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):
18462         * page/Settings.h:
18463         (WebCore::Settings::javaScriptCanAccessClipboard):
18464
18465 2010-04-22  Stephan Aßmus  <superstippi@gmx.de>
18466
18467         Reviewed by David Levin.
18468
18469         [Haiku] Improve SimpleFontDataHaiku
18470         https://bugs.webkit.org/show_bug.cgi?id=37411
18471
18472         Covered by existing tests.
18473
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. 
18485
18486 2010-04-21  Steve Block  <steveblock@google.com>
18487
18488         Reviewed by Kenneth Rohde Christiansen.
18489
18490         Replace Geolocation::suspend()/resume() which are required by Android.
18491         https://bugs.webkit.org/show_bug.cgi?id=37942
18492
18493         These methods were removed in Bug 36255.
18494
18495         Build fix only, no new tests.
18496
18497         * page/Geolocation.cpp:
18498         (WebCore::Geolocation::suspend):
18499         (WebCore::Geolocation::resume):
18500         * page/Geolocation.h:
18501
18502 2010-04-21  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
18503
18504         In HTMLInputElement.cpp there are numerous style
18505         violations.
18506
18507         This patch includes style changes to fix existing style
18508         deviations in this file.
18509
18510         Rubber stamped by Darin Adler.
18511
18512         Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881>
18513
18514         * html/HTMLInputElement.cpp:
18515
18516 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18517
18518         Reviewed by Adam Roben.
18519
18520         Add missing EFL WebCore file.
18521         http://webkit.org/b/37854
18522
18523         No behavior changes, so no new tests were added.
18524
18525         * bindings/js/ScriptControllerEfl.cpp: Added.
18526         (WebCore::ScriptController::createScriptInstanceForWidget):
18527
18528 2010-04-21  Simon Fraser  <simon.fraser@apple.com>
18529
18530         Reviewed by Dan Bernstein.
18531
18532         Printing Core Animation-based plug-ins is broken
18533         https://bugs.webkit.org/show_bug.cgi?id=37967
18534
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.
18539
18540         * page/FrameView.cpp:
18541         (WebCore::FrameView::paintContents):
18542
18543 2010-04-21  François Sausset  <sausset@gmail.com>
18544
18545         Reviewed by Kenneth Rohde Christiansen.
18546
18547         Fix to take into account a change made in "StringImpl".
18548         https://bugs.webkit.org/show_bug.cgi?id=37763
18549
18550         * mathml/RenderMathMLOperator.cpp:
18551         (WebCore::RenderMathMLOperator::updateFromElement):
18552
18553 2010-04-21  Andy Estes  <aestes@apple.com>
18554
18555         Reviewed by Darin Adler.
18556
18557         Create a template for creating reference-counted Windows GDI handles.
18558         Refactor RefCountedHFONT to use this template.
18559
18560         https://bugs.webkit.org/show_bug.cgi?id=37952
18561
18562         No change in behavior.
18563
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.
18581
18582 2010-04-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
18583
18584         Reviewed by Darin Adler.
18585
18586         Fix build if NPAPI support is disabled
18587         https://bugs.webkit.org/show_bug.cgi?id=36621
18588
18589         No new tests, this is a build fix.
18590         Re-submit r56585 with fix for Chromium.
18591
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)
18600
18601 2010-04-21  David Yonge-Mallo  <davinci@chromium.org>
18602
18603         Reviewed by Dan Bernstein.
18604
18605         ZWNJ - Display non-printing, invisible character
18606         https://bugs.webkit.org/show_bug.cgi?id=16131
18607
18608         Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path.
18609
18610         Tests: fast/text/format-control.html
18611                fast/text/zero-width-characters.html
18612
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.
18619
18620 2010-04-21  Charles Wei  <charles.wei@torchmobile.com.cn>
18621
18622         Reviewed by George Staikos.
18623
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
18627
18628         No new tests since this only fixes the build problem.
18629
18630         * dom/Document.cpp:
18631         (WebCore::Document::isXHTMLMPDocument):
18632
18633 2010-04-21  Shinichiro Hamaji  <hamaji@chromium.org>
18634
18635         Reviewed by Darin Adler.
18636
18637         Call sites of TextIterator constructor are difficult to read
18638         https://bugs.webkit.org/show_bug.cgi?id=37909
18639
18640         Now we use enum parameters instead of boolean parameters and
18641         boolean version of constructors are eliminated.
18642
18643         This change also changes the names of boolean members so they are
18644         now third person singular.
18645
18646         No new tests because this is just a refactoring.
18647
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:
18664         (WebCore::):
18665         * editing/VisibleSelection.cpp:
18666         (WebCore::VisibleSelection::appendTrailingWhitespace):
18667         * editing/visible_units.cpp:
18668         (WebCore::nextBoundary):
18669
18670 2010-04-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
18671
18672         Reviewed by Kenneth Rohde Christiansen.
18673
18674         Add PageClientQt files.
18675
18676         [Qt] PageClientQt specific implementation for QWidget
18677         https://bugs.webkit.org/show_bug.cgi?id=37858
18678
18679         * WebCore.pro:
18680
18681 2010-04-21  Diego Escalante Urrelo  <descalante@igalia.com>
18682
18683         Reviewed by Xan Lopez.
18684
18685         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
18686         WebKitGtk
18687         https://bugs.webkit.org/show_bug.cgi?id=34449
18688
18689         Implement ATK_ROLE_SEPARATOR.
18690
18691         * accessibility/AccessibilityRenderObject.cpp:
18692         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
18693         * accessibility/gtk/AccessibilityObjectAtk.cpp:
18694         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
18695
18696 2010-04-21  David Leong  <david.leong@nokia.com>
18697
18698         Reviewed by Simon Hausmann.
18699
18700         [Qt] Symbian apps crash on exit due to a bad qObject_cast.
18701
18702         https://bugs.webkit.org/show_bug.cgi?id=37303
18703
18704         Added check for NULL to avoid the crash. Reworked to fix memory leak
18705            
18706         * plugins/symbian/PluginViewSymbian.cpp:
18707         (WebCore::PluginView::platformDestroy):
18708
18709 2009-04-21  Chris Fleizach  <cfleizach@apple.com>
18710
18711         Reviewed by Alexey Proskuryakov.
18712
18713         aria-liveregion-notifications.html fails on leopard release bot
18714         https://bugs.webkit.org/show_bug.cgi?id=37112
18715
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.
18719    
18720         This change is aimed to avoid flakiness seen in DRT when the notification handlers
18721         are not being called at the appropriate time.
18722
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
18727
18728         * accessibility/mac/AccessibilityObjectWrapper.h:
18729         * accessibility/mac/AccessibilityObjectWrapper.mm:
18730         (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
18731         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
18732
18733 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
18734
18735         Reviewed by NOBODY (Leopard build fix).
18736         Remove old exports.
18737
18738         * WebCore.base.exp:
18739
18740 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
18741
18742         Reviewed by Darin Adler.
18743
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.
18746
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):
18755
18756 2010-04-21  Mark Rowe  <mrowe@apple.com>
18757
18758         Reviewed by Eric Carlson.
18759
18760         <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
18761
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.
18764
18765         * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
18766
18767 2010-04-21  Mark Rowe  <mrowe@apple.com>
18768
18769         Reviewed by Maciej Stachowiak.
18770
18771         <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
18772
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.
18775
18776         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
18777         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
18778
18779 2010-04-21  Sam Weinig  <sam@webkit.org>
18780
18781         Reviewed by Geoffrey Garen.
18782
18783         Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
18784         Wean JavaScriptCore off calls to isMainThread()
18785
18786         No change in behavior.
18787
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 
18792         execution.
18793
18794         * bindings/js/WorkerScriptController.cpp:
18795         (WebCore::WorkerScriptController::WorkerScriptController):
18796         Explicitly set a small stack type for the workers JSGlobalData. 
18797
18798 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
18799
18800         Reviewed by NOBODY (Qt build fix).
18801
18802         * WebCore.gypi:
18803         * WebCore.pro:
18804         * platform/text/qt/StringQt.cpp: Removed.
18805
18806 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
18807
18808         Reviewed by Oliver Hunt, Darin Adler.
18809
18810         Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
18811         Add include for StringHash.h.
18812
18813         * WebCore.xcodeproj/project.pbxproj:
18814         * bridge/c/c_class.cpp:
18815
18816 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
18817
18818         Tiger build fix.
18819
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).
18824
18825 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
18826
18827         Reviewed by Adam Roben.
18828
18829         Windows build fix.
18830
18831         * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
18832         for now, as it's mistakenly missing from WebKitSupportLibrary headers.
18833
18834 2010-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
18835
18836         Reviewed by Darin Adler.
18837
18838         REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
18839         https://bugs.webkit.org/show_bug.cgi?id=37902
18840
18841         The issue is due to MSVC creating enums as signed. The fix is to store the value
18842         as unsigned.
18843
18844         Test: http://acid3.acidtests.org/
18845
18846         * rendering/style/RenderStyle.h:
18847         (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
18848
18849 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
18850
18851         Reviewed by Brady Eidson.
18852
18853         https://bugs.webkit.org/show_bug.cgi?id=37933
18854         <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
18855
18856         Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
18857
18858         This improves integration between ResourceHandle and Apple networking libraries.
18859
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.
18864
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.
18870
18871 2010-04-21  Xiaomei Ji  <xji@chromium.org>
18872
18873         Reviewed by Dimitri Glazkov
18874
18875         This patch fixes [chromium] RTL <select> dropdown box expands to right
18876         instead of left.
18877         https://bugs.webkit.org/show_bug.cgi?id=37232
18878
18879         No automatic test is possible.
18880
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 
18884         for RTL.
18885
18886 2010-04-21  anton muhin  <antonm@google.com>
18887
18888         Reviewed by Adam Barth.
18889
18890         [v8] Bail out if fetching of Object.prototype fails.
18891         https://bugs.webkit.org/show_bug.cgi?id=37661
18892
18893         If for any reason we failed to fetch Object.prototype, context cannot
18894         be properly initialized and we bail out.
18895
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
18900
18901 2010-04-21  Timothy Hatcher  <timothy@apple.com>
18902
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.
18905
18906         https://bugs.webkit.org/show_bug.cgi?id=37357
18907
18908         Reviewed by Darin Adler.
18909
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.
18915
18916 2010-04-21  Xan Lopez  <xlopez@igalia.com>
18917
18918         Try to fix compilation on GTK+ debug bots.
18919
18920         * bindings/gobject/WebKitDOMBinding.cpp:
18921         (WebKit::createWrapper):
18922
18923 2010-04-21  Jakub Wieczorek  <jwieczorek@webkit.org>
18924
18925         Reviewed by Darin Adler.
18926
18927         List item markers are not always updated after changes in the DOM.
18928         https://bugs.webkit.org/show_bug.cgi?id=37060
18929
18930         In particular, they would not be updated when adding/removing an item
18931         that is not a direct child of the list element.
18932
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
18939
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):
18951
18952 2010-04-21  Xan Lopez  <xlopez@igalia.com>
18953
18954         Reviewed by Adam Barth.
18955
18956         [GTK] GObject DOM bindings
18957         https://bugs.webkit.org/show_bug.cgi?id=33590
18958
18959         Initial version of the GObject DOM bindings.
18960
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
18966         follow-up patch.
18967
18968         * GNUmakefile.am:
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):
18978         (WebKit::kit):
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.
18986         * dom/Node.idl:
18987
18988 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18989
18990         Reviewed by Xan Lopez.
18991
18992         Wrong header being included in FontPlatformDataCairo.cpp
18993         https://bugs.webkit.org/show_bug.cgi?id=37829
18994
18995         No behavior changes, so no new tests were added.
18996
18997         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
18998
18999 2010-04-21  Adam Roben  <aroben@apple.com>
19000
19001         Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
19002
19003         Fixes <http://webkit.org/b/37922>.
19004
19005         Reviewed by Dave Hyatt.
19006
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.
19011
19012 2010-04-21  Zoltan Herczeg  <zherczeg@webkit.org>
19013
19014         Reviewed by Kenneth Rohde Christiansen.
19015
19016         [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
19017         https://bugs.webkit.org/show_bug.cgi?id=37844
19018
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
19023
19024         * platform/graphics/qt/ImageDecoderQt.cpp:
19025         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
19026
19027 2010-04-21  Benjamin Poulain  <ikipou@gmail.com>
19028
19029         Reviewed by Simon Fraser.
19030
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
19033
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 
19036         scrolling.
19037
19038         The rect is now updated while scrolling so the region updated correspond to the
19039         region of the element on the screen.
19040
19041         The method RenderLayer::updateRepaintRectsAfterScroll() updates
19042         the repaint rect of all fixed tree after scroll.
19043
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
19048
19049         * page/FrameView.cpp:
19050         (WebCore::FrameView::scrollPositionChanged):
19051         * rendering/RenderLayer.cpp:
19052         (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
19053         * rendering/RenderLayer.h:
19054
19055 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
19056
19057         Reviewed by Adam Roben.
19058
19059         Update EFL port to match recent API changes.
19060         http://webkit.org/b/37853
19061
19062         No behavior changes, so no new tests were added.
19063
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:
19071
19072 2010-04-21  Avi Drissman  <avi@chromium.org>
19073
19074         Reviewed by Simon Fraser.
19075
19076         JPG images fail to print in Chromium
19077         https://bugs.webkit.org/show_bug.cgi?id=37796
19078
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.
19080
19081         * platform/graphics/cg/ImageSourceCG.cpp:
19082         (WebCore::ImageSource::setData):
19083
19084 2010-04-21  Marcus Bulach  <bulach@chromium.org>
19085
19086         Reviewed by Nate Chapin.
19087
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.
19091
19092         * bindings/scripts/CodeGeneratorV8.pm:
19093         * bindings/v8/V8DOMWrapper.cpp:
19094         * bindings/v8/custom/V8EventSourceConstructor.cpp:
19095         (WebCore::V8EventSource::constructorCallback):
19096
19097 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
19098
19099         Reviewed by Nikolas Zimmermann.
19100
19101         Add missing includes to platform/posix/FileSystemPOSIX.cpp
19102         https://bugs.webkit.org/show_bug.cgi?id=37861
19103
19104         No behavior changes, so no new tests were added.
19105
19106         * platform/posix/FileSystemPOSIX.cpp:
19107
19108 2010-04-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
19109
19110         Reviewed by Simon Fraser.
19111
19112         [Qt] Fix or remove the runtime flag for accelerated compositing.
19113
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.
19117
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.
19121
19122         https://bugs.webkit.org/show_bug.cgi?id=37313
19123
19124         Pages under LayoutTests/compositing now work under QWebView, even when
19125         QWebSettings::AcceleratedCompositingEnabled is on.
19126
19127         * page/ChromeClient.h:
19128         (WebCore::ChromeClient::allowsAcceleratedCompositing):
19129         * platform/qt/QWebPageClient.h:
19130         (QWebPageClient::allowsAcceleratedCompositing):
19131         * rendering/RenderLayerCompositor.cpp:
19132         (WebCore::RenderLayerCompositor::canBeComposited):
19133
19134 2010-04-21  Ryosuke Niwa  <rniwa@webkit.org>
19135
19136         No review. Spurious whitespace was removed from project file.
19137
19138         * WebCore.xcodeproj/project.pbxproj:
19139
19140 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
19141
19142         Reviewed by Eric Seidel.
19143
19144         [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
19145         https://bugs.webkit.org/show_bug.cgi?id=37912
19146
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.
19149
19150         * WebCore.xcodeproj/project.pbxproj:
19151         * editing/CompositeEditCommand.cpp:
19152         (WebCore::CompositeEditCommand::moveParagraphs):
19153
19154 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
19155
19156         Reviewed by Justin Garcia.
19157
19158         Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
19159         https://bugs.webkit.org/show_bug.cgi?id=19539
19160
19161         Fixes a bug where two consecutive lists are not merged if they have been converted
19162         from ordered/unordered lists inside another list.
19163
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.
19170
19171         Test: editing/execCommand/insert-lists-inside-another-list.html
19172
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:
19179
19180 2010-04-20  Alexey Proskuryakov  <ap@apple.com>
19181
19182         Reviewed by Darin Adler.
19183
19184         https://bugs.webkit.org/show_bug.cgi?id=37776
19185         <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
19186
19187         * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
19188         for Roman letters and punctuation.
19189
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
19194         to their keycodes.
19195
19196 2010-04-20  Shinichiro Hamaji  <hamaji@chromium.org>
19197
19198         Reviewed by Darin Adler and Alexey Proskuryakov.
19199
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
19202
19203         Tests: editing/execCommand/transpose-backslash-with-euc.html
19204                editing/pasteboard/copy-backslash-with-euc.html
19205
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:
19214         (WebCore::):
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:
19234
19235 2010-04-20  Nate Chapin  <japhet@chromium.org>
19236
19237         Reviewed by Dimitri Glazkov.
19238
19239         https://bugs.webkit.org/show_bug.cgi?id=37367
19240
19241         Fix style violations in code generated by CodeGeneratorV8.pm.
19242
19243         * bindings/scripts/CodeGeneratorV8.pm:
19244         * bindings/v8/test/V8TestObj.cpp:
19245         * bindings/v8/test/V8TestObj.h:
19246
19247 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
19248
19249         Unreviewed, rolling out r57924.
19250         http://trac.webkit.org/changeset/57924
19251         https://bugs.webkit.org/show_bug.cgi?id=37898
19252
19253         It broke 3-4 test on all bot (Requested by Ossy on #webkit).
19254
19255         * page/AbstractView.idl:
19256         * page/DOMWindow.cpp:
19257         (WebCore::DOMWindow::media):
19258         * page/DOMWindow.h:
19259         * page/DOMWindow.idl:
19260
19261 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
19262
19263         Reviewed by Oliver Hunt.
19264
19265         Bug 37895 - Share common code from UStringImplBase with StringImpl
19266         Add forwarding header.
19267
19268         * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
19269
19270 2010-04-20  Adam Barth  <abarth@webkit.org>
19271
19272         Unreviewed build fix fro Chromium.
19273
19274         * loader/DocumentWriter.cpp:
19275
19276 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
19277
19278         Reviewed by Timothy Hatcher.
19279
19280         Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
19281
19282         https://bugs.webkit.org/show_bug.cgi?id=37820
19283
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):
19290
19291 2010-04-20  Adam Barth  <abarth@webkit.org>
19292
19293         Reviewed by Eric Seidel.
19294
19295         Factor DocumentWriter out of FrameLoader
19296         https://bugs.webkit.org/show_bug.cgi?id=37175
19297
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.
19302
19303         No tests because there is no behavior change (hopefully!).
19304
19305         * Android.mk:
19306         * GNUmakefile.am:
19307         * WebCore.base.exp:
19308         * WebCore.gypi:
19309         * WebCore.pro:
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):
19354
19355 2010-04-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19356
19357         Reviewed by Simon Fraser.
19358
19359         Rename window.media to window.styleMedia
19360         https://bugs.webkit.org/show_bug.cgi?id=36187
19361
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
19365         making use of it.
19366
19367         * page/AbstractView.idl:
19368         * page/DOMWindow.cpp:
19369         (WebCore::DOMWindow::styleMedia):
19370         * page/DOMWindow.h:
19371         * page/DOMWindow.idl:
19372
19373 2010-04-20  Timothy Hatcher  <timothy@apple.com>
19374
19375         Fix matching of "file:///*" patterns by not trying to compare the host. The host is
19376         irrelevant for file URLs.
19377
19378         Also fix comparisons to be case insensitive.
19379
19380         https://bugs.webkit.org/show_bug.cgi?id=37889
19381
19382         Reviewed by Dave Hyatt.
19383
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.
19390
19391 2010-04-20  Justin Schuh  <jschuh@chromium.org>
19392
19393         Reviewed by Adam Barth.
19394
19395         Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
19396         https://bugs.webkit.org/show_bug.cgi?id=37331
19397
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).
19401
19402         Tests: media/svg-as-image-with-media-blocked.html
19403
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):
19408         * page/Settings.h:
19409         (WebCore::Settings::isMediaEnabled):
19410         * svg/graphics/SVGImage.cpp: Disables media in dummy page
19411         (WebCore::SVGImage::dataChanged):
19412
19413 2010-04-19  Antonio Gomes  <tonikitoo@webkit.org>
19414
19415         Reviewed by Simon Fraser.
19416
19417         Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
19418         https://bugs.webkit.org/show_bug.cgi?id=37802
19419
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,
19423         and exit earlier.
19424
19425         No behavior change, it is just a safe assignment shortcut.
19426
19427         * page/FocusController.cpp:
19428         (WebCore::updateFocusCandidateIfCloser):
19429
19430 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
19431
19432         Reviewed by Dan Bernstein.
19433
19434         Hook compositing layers together across iframes
19435         https://bugs.webkit.org/show_bug.cgi?id=37878
19436         
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.
19441
19442         Test: compositing/iframes/composited-iframe.html
19443
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.
19453
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.
19461
19462         * rendering/RenderObject.h:
19463         (WebCore::RenderObject::isRenderIFrame): Base class returns false.
19464
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.
19469
19470 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
19471
19472         Reviewed by NOBODY (build fix).
19473         Speculative tiger build fix.
19474
19475         * WebCore.NPAPI.exp:
19476         * WebCore.PluginHostProcess.exp:
19477         * WebCore.base.exp:
19478
19479 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
19480
19481         Reviewed by Timothy Hatcher.
19482
19483         Web Inspector: add basic script editing capabilities to the front-end.
19484
19485         https://bugs.webkit.org/show_bug.cgi?id=37875
19486
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):
19521
19522 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
19523
19524         Reviewed by Geoff Garen.
19525
19526         Add forwarding header.
19527
19528         * ForwardingHeaders/runtime/RopeImpl.h: Added.
19529
19530 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
19531
19532         Reviewed by Geoff Garen.
19533
19534         Bug 37828 - Move WebCore's String classes to WTF
19535
19536         Move these classes up to WTF so they are available to all clients of WTF (in
19537         particular JSC).
19538
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; }").
19543
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
19546         subsequent patch.
19547
19548         * Android.mk:
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.
19556         * GNUmakefile.am:
19557         * WebCore.gypi:
19558         * WebCore.pro:
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:
19573
19574 2010-04-20  Kent Tamura  <tkent@chromium.org>
19575
19576         Reviewed by Darin Adler.
19577
19578         Change a parameter type of chooseIconForFiles()
19579         https://bugs.webkit.org/show_bug.cgi?id=37504
19580
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.
19585
19586         * loader/EmptyClients.h:
19587         (WebCore::EmptyChromeClient::chooseIconForFiles):
19588         * page/Chrome.cpp:
19589         (WebCore::Chrome::chooseIconForFiles):
19590         * page/Chrome.h:
19591         * page/ChromeClient.h:
19592
19593 2010-04-20  Diego Escalante Urrelo  <descalante@igalia.com>
19594
19595         Reviewed by Xan Lopez.
19596
19597         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
19598         WebKitGtk
19599         https://bugs.webkit.org/show_bug.cgi?id=34449
19600
19601         Implement ATK_ROLE_FORM.
19602
19603         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
19604         (webkit_accessible_get_role):
19605
19606 2010-04-20  Martin Robinson  <mrobinson@webkit.org>
19607
19608         Reviewed by Gustavo Noronha Silva.
19609
19610         [GTK] Enable DOM clipboard and drag-and-drop access
19611         https://bugs.webkit.org/show_bug.cgi?id=30623
19612
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.
19616
19617         No new tests as functionality has not changed.
19618
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.
19642
19643 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
19644
19645         Reviewed by Anders Carlsson.
19646
19647         backgroundColor is oddly indented in layer tree dump
19648         https://bugs.webkit.org/show_bug.cgi?id=37885
19649
19650         The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
19651         to be written twice.
19652         
19653         * platform/graphics/GraphicsLayer.cpp:
19654         (WebCore::GraphicsLayer::dumpProperties):
19655
19656 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
19657
19658         Reviewed by Dimitri Glazkov.
19659
19660         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
19661         https://bugs.webkit.org/show_bug.cgi?id=37741
19662
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.
19667
19668         * Android.mk:
19669         * GNUmakefile.am:
19670         * WebCore.gypi:
19671         * WebCore.pro:
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.
19686
19687 2010-04-20  Robin Cao  <robin.webkit@gmail.com>
19688
19689         Reviewed by Dirk Schulze.
19690
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
19693
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.
19697
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.
19700
19701         * svg/SVGAnimateElement.cpp:
19702         (WebCore::SVGAnimateElement::calculateFromAndToValues):
19703         (WebCore::SVGAnimateElement::resetToBaseValue):
19704
19705 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
19706
19707         Unreviewed, rolling out r57892.
19708         http://trac.webkit.org/changeset/57892
19709         https://bugs.webkit.org/show_bug.cgi?id=37864
19710
19711         Caused an assertion in Mac builds (Requested by smfr on
19712         #webkit).
19713
19714         * WebCore.xcodeproj/project.pbxproj:
19715         * editing/Editor.cpp:
19716         (WebCore::Editor::insideVisibleArea):
19717         * page/Frame.cpp:
19718         (WebCore::Frame::ownerRenderer):
19719         * page/Frame.h:
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:
19727
19728 2010-04-20  Jakub Wieczorek  <jwieczorek@webkit.org>
19729
19730         Reviewed by Darin Adler.
19731
19732         RenderListItem: change enclosingList() to only traverse the render tree.
19733         https://bugs.webkit.org/show_bug.cgi?id=37319
19734
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.
19737
19738         Covered by existing tests.
19739
19740         * rendering/RenderListItem.cpp:
19741         (WebCore::enclosingList):
19742         (WebCore::previousListItem):
19743         (WebCore::RenderListItem::explicitValueChanged):
19744
19745 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
19746
19747         Reviewed by Dan Bernstein.
19748
19749         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
19750         https://bugs.webkit.org/show_bug.cgi?id=37741
19751
19752         Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
19753         RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
19754
19755         * WebCore.xcodeproj/project.pbxproj:
19756         * editing/Editor.cpp:
19757         (WebCore::Editor::insideVisibleArea):
19758         * page/Frame.cpp:
19759         (WebCore::Frame::ownerRenderer):
19760         * page/Frame.h:
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):
19771
19772 2010-04-20  Jay Civelli  <jcivelli@chromium.org>
19773
19774         Reviewed by Dimitri Glazkov.
19775
19776         [chromium] Pressing tab now closes the select popup as it should.
19777         https://bugs.webkit.org/show_bug.cgi?id=37721
19778
19779         * platform/chromium/PopupMenuChromium.cpp:
19780         (WebCore::PopupListBox::handleKeyEvent):
19781
19782 2010-04-20  Yaar Schnitman  <yaar@chromium.org>
19783
19784         Reviewed by Nate Chapin.
19785
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
19788
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".
19799
19800 2010-04-20  Evan Stade  <estade@chromium.org>
19801
19802         Reviewed by David Levin.
19803
19804         [chromium] crash when dragging images
19805         https://bugs.webkit.org/show_bug.cgi?id=37715
19806
19807         NULL check the return value of nativeImageForCurrentFrame(),
19808         and NULL check Image just for good measure.
19809
19810         Tested by new DragImageTest unit test.
19811
19812         * platform/chromium/DragImageChromiumSkia.cpp:
19813         (WebCore::createDragImageFromImage):
19814
19815 2010-04-20  Dirk Schulze  <krit@webkit.org>
19816
19817         Reviewed by Nikolas Zimmermann.
19818
19819         SVGResourceFilter needs to be moved to under Renderers
19820         https://bugs.webkit.org/show_bug.cgi?id=35320
19821
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
19827         implemented.
19828
19829         No behavior changes, so no new tests were added.
19830
19831         * Android.mk:
19832         * GNUmakefile.am:
19833         * WebCore.gypi:
19834         * WebCore.pro:
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:
19845         (WebCore::):
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:
19934         (WebCore::):
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:
19947         (WebCore::):
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):
19955
19956 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
19957
19958         Unreviewed, rolling out r57880.
19959         http://trac.webkit.org/changeset/57880
19960         https://bugs.webkit.org/show_bug.cgi?id=37846
19961
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).
19965
19966         * Android.mk:
19967         * GNUmakefile.am:
19968         * WebCore.gypi:
19969         * WebCore.pro:
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:
19980         (WebCore::):
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:
20054         (WebCore::):
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:
20069         (WebCore::):
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:
20098
20099 2010-04-20  Dirk Schulze  <krit@webkit.org>
20100
20101         Reviewed by Nikolas Zimmermann.
20102
20103         SVGResourceFilter needs to be moved to under Renderers
20104         https://bugs.webkit.org/show_bug.cgi?id=35320
20105
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
20111         implemented.
20112
20113         No behavior changes, so no new tests were added.
20114
20115         * Android.mk:
20116         * GNUmakefile.am:
20117         * WebCore.gypi:
20118         * WebCore.pro:
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:
20129         (WebCore::):
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:
20217         (WebCore::):
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:
20230         (WebCore::):
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):
20236
20237 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
20238
20239         Rubber stamped by Maciej Stachowiak (relanding r57829).
20240         Added missing JS_EXPORTDATA
20241
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):
20253
20254 2010-04-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
20255
20256         Reviewed by Antti Koivisto.
20257
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
20263         value.
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.
20266
20267         * platform/graphics/qt/GraphicsLayerQt.cpp:
20268         (WebCore::AnimationQtBase::AnimationQtBase):
20269         (WebCore::TransformAnimationQt::~TransformAnimationQt):
20270         (WebCore::TransformAnimationQt::applyFrame):
20271         (WebCore::GraphicsLayerQt::addAnimation):
20272
20273 2010-04-19  Leandro Pereira  <leandro@profusion.mobi>
20274
20275         Reviewed by David Hyatt.
20276
20277         Add missing dummy implementations in PluginPackageNone and PluginViewNone.
20278         http://webkit.org/b/37478
20279
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.
20285
20286 2010-04-19  Simon Fraser  <simon.fraser@apple.com>
20287
20288         Reviewed by Geoff Garen.
20289
20290         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
20291         https://bugs.webkit.org/show_bug.cgi?id=37741
20292
20293         Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
20294         since it's only used for <object> fallback.
20295
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:
20303
20304 2010-04-19  Simon Fraser  <simon.fraser@apple.com>
20305
20306         Reviewed by Darin Adler.
20307
20308         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
20309         https://bugs.webkit.org/show_bug.cgi?id=37741
20310
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.
20314         
20315         There should be no functionality difference with this change, so no new tests.
20316         
20317         Fixing up renderer names in the layout tests will be done in a later pass.
20318         
20319         Fix build systems to include the new files.
20320         
20321         * Android.mk:
20322         * GNUmakefile.am:
20323         * WebCore.gypi:
20324         * WebCore.pro:
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:
20349
20350 2010-04-19  Dumitru Daniliuc  <dumi@chromium.org>
20351
20352         Reviewed by Geoffrey Garen.
20353
20354         Bindings clean-up.
20355         https://bugs.webkit.org/show_bug.cgi?id=37833
20356
20357         Move some WebSQLDatabases logic out of the bindings into
20358         DOMWindow.cpp where it should be.
20359
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):
20366
20367 2010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
20368
20369         Fix the Mac builders for now by restoring the keepAlive function.
20370
20371         * plugins/PluginViewNone.cpp:
20372         (WebCore::PluginView::keepAlive):
20373
20374 2010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
20375
20376         [wx] Build fix, remove a method that has been moved to PluginView.cpp.
20377
20378         * plugins/PluginViewNone.cpp:
20379
20380 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
20381
20382         Reviewed by NOBODY (rolling out r57829).
20383         This broke windows.
20384
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):
20393
20394 2010-04-19  Mark Rowe  <mrowe@apple.com>
20395
20396         Build fix.
20397
20398         * platform/graphics/mac/GraphicsContext3DMac.cpp:
20399
20400 2010-04-19  Chris Fleizach  <cfleizach@apple.com>
20401
20402         Reviewed by Beth Dakin.
20403
20404         AX: aria-haspopup needs to be exposed
20405         https://bugs.webkit.org/show_bug.cgi?id=37808
20406
20407         Test: platform/mac/accessibility/element-haspopup.html
20408
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:]):
20418
20419 2010-04-19  Anders Carlsson  <andersca@apple.com>
20420
20421         Reviewed by Sam Weinig.
20422
20423         Fix a crash when rendering <select> elements with WebKit2.
20424
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.
20429
20430 2010-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
20431
20432         Reviewed by Darin Adler.
20433
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
20436
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.
20440
20441         Test: fast/dom/Node/fragment-mutation.html
20442
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.
20448         * dom/Node.cpp:
20449         (WebCore::Node::checkReplaceChild): Cleaned up comments.
20450         (WebCore::Node::checkAddChild): Ditto.
20451
20452 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
20453
20454         Reviewed by Simon Fraser.
20455
20456         Fix regression introduced in r57820.
20457
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.
20462
20463 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
20464
20465         Reviewed by Sam Weinig.
20466
20467         https://bugs.webkit.org/show_bug.cgi?id=37745
20468         Move string uniquing tables to (new) WTFThreadData class.
20469
20470         Remove AtomicString's dependency on ThreadGlobalData so that we can move
20471         WebCore's string classes up to WTF.
20472
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().
20484
20485 2010-04-19  Ada Chan  <adachan@apple.com>
20486
20487         Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
20488         in #if ENABLE(DOM_STORAGE).
20489
20490         * page/Settings.cpp:
20491         (WebCore::Settings::Settings):
20492         * page/Settings.h:
20493
20494 2010-04-19  Dave Moore  <davemoore@chromium.org>
20495
20496         Reviewed by Dimitri Glazkov.
20497
20498         Added notification when the favicons for a page are changed
20499         from a script.
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().
20503
20504         https://bugs.webkit.org/show_bug.cgi?id=33812
20505
20506         Test: fast/dom/icon-url-property.html
20507
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:
20521
20522 2010-04-19  Ada Chan  <adachan@apple.com>
20523
20524         Reviewed by Jeremy Orlow.
20525
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.
20530
20531         * WebCore.base.exp: Export Settings::setSessionStorageQuota().
20532         * page/Page.cpp:
20533         (WebCore::Page::sessionStorage):
20534         * page/Settings.cpp:
20535         (WebCore::Settings::Settings):
20536         (WebCore::Settings::setSessionStorageQuota):
20537         * page/Settings.h:
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:
20545
20546 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
20547
20548         Reviewed by Simon Fraser.
20549
20550         Setting media element 'src' attribute should trigger immediate load
20551         https://bugs.webkit.org/show_bug.cgi?id=37728
20552
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.
20560
20561 2010-04-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
20562
20563         Reviewed by Simon Hausmann.
20564
20565         [Qt] Fix compilation against namespaced Qt.
20566
20567         * platform/graphics/GraphicsLayer.h:
20568         * platform/graphics/Tile.h:
20569         * platform/graphics/qt/MediaPlayerPrivateQt.h:
20570         * platform/network/qt/NetworkStateNotifierPrivate.h:
20571
20572 2010-04-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
20573
20574         Reviewed by Kenneth Rohde Christiansen.
20575
20576         [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
20577
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.
20582
20583         https://bugs.webkit.org/show_bug.cgi?id=36832
20584
20585         No functional change so no new tests.
20586
20587         * platform/qt/SharedTimerQt.cpp:
20588         (WebCore::SharedTimerQt::SharedTimerQt):
20589         (WebCore::SharedTimerQt::destroy):
20590         (WebCore::SharedTimerQt::inst):
20591
20592 2010-04-19  Dan Bernstein  <mitz@apple.com>
20593
20594         Reviewed by Darin Adler.
20595
20596         Make the fix for <rdar://problem/7873647> from r57759 more robust.
20597
20598         * rendering/RenderLayer.cpp:
20599         (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
20600
20601 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
20602
20603         Unreviewed. Chromium build fix.
20604
20605         * bindings/v8/JavaScriptCallFrame.h:
20606
20607 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
20608
20609         Reviewed by Pavel Feldman.
20610
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
20614         inspected context.
20615
20616         https://bugs.webkit.org/show_bug.cgi?id=37755
20617
20618         * WebCore.gyp/WebCore.gyp:
20619         * WebCore.gypi:
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.):
20649
20650 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
20651
20652         Rubber Stamped by Adam Roben
20653
20654         Chromium Release Build Fix.
20655
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.
20659
20660 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
20661
20662         Reviewed by Dave Hyatt.
20663
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
20666
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.
20670
20671         Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
20672
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):
20684         Ditto.
20685         * css/CSSComputedStyleDeclaration.h:
20686         (WebCore::computedStyle):
20687         Take into consideration the pseudo-element.
20688
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:
20699
20700         * css/CSSStyleSelector.cpp:
20701         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
20702         Refactored to use pseudoId.
20703
20704         * dom/Element.cpp:
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.
20707         * dom/Element.h:
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.
20710
20711         * dom/Node.h:
20712         (WebCore::Node::computedStyle):
20713         Ditto.
20714         * dom/Node.cpp:
20715         (WebCore::Node::virtualComputedStyle):
20716         Get the computed style for the pseudo-element if it has been specified.
20717
20718         * page/DOMWindow.cpp:
20719         (WebCore::DOMWindow::getComputedStyle):
20720         Ditto.
20721
20722 2010-04-18  Simon Hausmann  <simon.hausmann@nokia.com>
20723
20724         Reviewed by Laszlo Gombos.
20725
20726         [Qt] Fix JavaScriptCore's include path for WinCE builds
20727
20728         https://bugs.webkit.org/show_bug.cgi?id=36751
20729
20730         * WebCore.pro:
20731
20732 2010-04-17  Alexey Proskuryakov  <ap@apple.com>
20733
20734         Reviewed by Adam Barth.
20735
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
20739
20740         Tests: 
20741         * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
20742         * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
20743
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.
20746
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.
20750
20751         * html/HTMLFrameSetElement.idl: Ditto.
20752
20753 2010-04-17  Juan C. Montemayor  <jmonte03@cs.tufts.edu>
20754
20755         Reviewed by Joseph Pecoraro.
20756
20757         Databases pane doesn't recognize table creation/deletion
20758         https://bugs.webkit.org/show_bug.cgi?id=20219
20759
20760         * inspector/front-end/DatabaseQueryView.js:
20761         (WebInspector.DatabaseQueryView.prototype._queryFinished):
20762
20763 2010-04-17  Yaar Schnitman  <yaar@chromium.org>
20764
20765         Reviewed by Adam Barth.
20766
20767         Auto-generate V8 bindings for canvas.* overloads
20768         https://bugs.webkit.org/show_bug.cgi?id=37453
20769
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).
20776
20777 2010-04-17  Yury Semikhatsky  <yurys@chromium.org>
20778
20779         Reviewed by Pavel Feldman.
20780
20781         Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
20782
20783         https://bugs.webkit.org/show_bug.cgi?id=37740
20784
20785         * GNUmakefile.am:
20786         * WebCore.gypi:
20787         * WebCore.pro:
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:
20809
20810 2010-04-17  Vangelis Kokkevis  <vangelis@chromium.org>
20811
20812         Reviewed by Dimitri Glazkov.
20813
20814         Adding definition of GLES2Context class.
20815         https://bugs.webkit.org/show_bug.cgi?id=37541
20816
20817         No new functionality implemented yet, no tests.
20818
20819         * WebCore.gypi: Added GLES2Context.h
20820         * platform/chromium/GLES2Context.h: Added.
20821
20822 2010-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
20823
20824         Reviewed by Darin Adler.
20825
20826         Crash while handling SVG font in the wrong namespace imported with @font-face
20827         https://bugs.webkit.org/show_bug.cgi?id=18862
20828
20829         Test: fast/invalid/invalidSVGFont.html
20830
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.
20835
20836 2010-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
20837
20838         Unreviewed, rolling out r57770.
20839         http://trac.webkit.org/changeset/57770
20840         https://bugs.webkit.org/show_bug.cgi?id=37746
20841
20842         8 test cases crashed (Requested by Ossy on #webkit).
20843
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):
20850
20851 2010-04-16  Daniel Bates  <dbates@rim.com>
20852
20853         Reviewed by Adam Treat.
20854
20855         https://bugs.webkit.org/show_bug.cgi?id=36312
20856
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/>.
20860
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.
20871         * dom/Document.h:
20872         * dom/ViewportArguments.cpp: Added.
20873         (WebCore::setViewportFeature):
20874         (WebCore::viewportErrorMessageTemplate):
20875         (WebCore::viewportErrorMessageLevel):
20876         (WebCore::reportViewportWarning):
20877         * dom/ViewportArguments.h: Added.
20878         (WebCore::):
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.
20886
20887 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
20888
20889         Reviewed by Antti Koivisto.
20890
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
20896         value.
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.
20899
20900         * platform/graphics/qt/GraphicsLayerQt.cpp:
20901         (WebCore::AnimationQtBase::AnimationQtBase):
20902         (WebCore::TransformAnimationQt::~TransformAnimationQt):
20903         (WebCore::TransformAnimationQt::applyFrame):
20904         (WebCore::GraphicsLayerQt::addAnimation):
20905
20906 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
20907
20908         Reviewed by NOBODY (arm build fix).
20909
20910         * bindings/js/JSDesktopNotificationsCustom.cpp:
20911         (WebCore::JSNotification::addEventListener):
20912         (WebCore::JSNotification::removeEventListener):
20913
20914 2010-04-16  Dmitry Titov  <dimich@chromium.org>
20915
20916         Reviewed by Yury Semikhatsky.
20917
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
20920
20921         Existing worker-close.html will now work in Chromium.
20922
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.
20928
20929 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
20930
20931         Reviewed by Sam Weinig.
20932
20933         https://bugs.webkit.org/show_bug.cgi?id=37735
20934         Remove JSC specific code from WebCore::AtomicString
20935
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.
20939
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):
21022
21023 2010-04-16  Fumitoshi Ukai  <ukai@chromium.org>
21024
21025         Reviewed by Alexey Proskuryakov.
21026
21027         WebSocket crash when it receives bad header.
21028         https://bugs.webkit.org/show_bug.cgi?id=37682
21029
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.
21034
21035         Test: websocket/tests/bad-handshake-crash.html
21036
21037         * websockets/WebSocketHandshake.cpp:
21038         (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
21039
21040 2010-04-16  Dan Bernstein  <mitz@apple.com>
21041
21042         Reviewed by Simon Fraser.
21043
21044         <rdar://problem/7873647> Crash when updating hover state
21045
21046         Test: fast/dynamic/hover-style-recalc-crash.html
21047
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.
21052
21053         * rendering/RenderLayer.cpp:
21054         (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
21055         updated into vectors, then update their active and hover states.
21056
21057 2010-04-16  Dumitru Daniliuc  <dumi@chromium.org>
21058
21059         Reviewed by Alexey Proskuryakov.
21060
21061         Make Safari correctly allocate 5MB of DB storage to all new
21062         origins.
21063         https://bugs.webkit.org/show_bug.cgi?id=36671
21064
21065         Eric fixed the same problem in
21066         DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
21067         to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
21068
21069         * storage/DatabaseTracker.cpp:
21070         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
21071
21072 2010-04-16  Kinuko Yasuda  <kinuko@chromium.org>
21073
21074         Reviewed by Jian Li.
21075
21076         Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
21077         https://bugs.webkit.org/show_bug.cgi?id=37218
21078
21079         No new tests; tests will be added when we add upper layer implementations.
21080
21081         * GNUmakefile.am:
21082         * WebCore.gypi:
21083         * WebCore.pro:
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
21094
21095 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
21096
21097         Reviewed by Oliver Hunt.
21098
21099         Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
21100         (Following on from bug #37675).
21101
21102         Remove ustring() method, and constructor passed a UString.
21103
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:
21118
21119 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
21120  
21121         Reviewed by Simon Hausmann.
21122  
21123         [Qt] WebGL is not visible when QGLWidget viewport is used
21124         https://bugs.webkit.org/show_bug.cgi?id=37070
21125  
21126         Added HostWindow parameter to the constructor of GraphicsContext3D.
21127         Shared OpenGL context is initialized with parent QGLWidget.
21128  
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):
21141
21142 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
21143
21144         Reviewed by Simon Hausmann.
21145
21146         [Qt] WebKit compilation fails with --3d-canvas
21147         https://bugs.webkit.org/show_bug.cgi?id=37699 
21148         
21149         API for readPixels() has been changed. 
21150
21151         * platform/graphics/qt/GraphicsContext3DQt.cpp:
21152         (WebCore::GraphicsContext3D::readPixels):
21153
21154 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
21155
21156         Reviewed by Antti Koivisto.
21157
21158         [Qt]QtLauncher crash on page with CSS 3D transform
21159         https://bugs.webkit.org/show_bug.cgi?id=36859
21160
21161         Added a neccessary null-pointer check, lack of which created the crash circumstances.
21162
21163         Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
21164
21165         * platform/graphics/qt/GraphicsLayerQt.cpp:
21166         (WebCore::GraphicsLayerQtImpl::flushChanges):
21167
21168 2010-04-16  Anders Carlsson  <andersca@apple.com>
21169
21170         Reviewed by Sam Weinig.
21171
21172         Make sure to update the current graphics context when calling out to AppKit.
21173
21174         * platform/mac/ThemeMac.mm:
21175         (WebCore::paintCheckbox):
21176         (WebCore::paintRadio):
21177
21178 2010-04-15  Gavin Barraclough  <barraclough@apple.com>
21179
21180         Reviewed by Sam Weinig & Oliver Hunt.
21181
21182         https://bugs.webkit.org/show_bug.cgi?id=37675
21183         Remove casts/constructors to/from JSC::UString type from WebCore::String
21184         
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.
21188
21189         This patch only changes the class String, once this has landed StringImpl, and
21190         hopefully AtomicString too, should follow suit.
21191
21192         This patch adds:
21193             WebCore::identifierToString
21194             WebCore::ustringToString
21195             WebCore::stringToUString
21196
21197         - to JSDOMBindings.h, and updates code to call these methods.
21198
21199         * WebCore.base.exp:
21200         * WebCore.order:
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):
21364         * platform/KURL.h:
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:
21371
21372 2010-04-16  Anders Carlsson  <andersca@apple.com>
21373
21374         Reviewed by David Hyatt.
21375
21376         Always pass a view to the AppKit drawing functions.
21377         https://bugs.webkit.org/show_bug.cgi?id=37724
21378
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):
21389
21390 2010-04-16  Alexey Proskuryakov  <ap@apple.com>
21391
21392         Reviewed by Dan Bernstein.
21393
21394         https://bugs.webkit.org/show_bug.cgi?id=37718
21395         Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
21396
21397         Test: fast/events/recorded-keydown-event.html
21398
21399         * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
21400         frameless.
21401
21402 2010-04-16  Jian Li  <jianli@chromium.org>
21403
21404         Reviewed by Dmitry Titov.
21405
21406         Update FormDataList to fix style violations in old code.
21407         https://bugs.webkit.org/show_bug.cgi?id=37689
21408
21409         * html/FormDataList.h:
21410         (WebCore::FormDataList::appendData):
21411         (WebCore::FormDataList::appendBlob):
21412
21413 2010-04-16  Anders Carlsson  <andersca@apple.com>
21414
21415         Fix WebKit2 build.
21416
21417         * WebCore.base.exp:
21418
21419 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
21420
21421         Reviewed by Dimitri Glazkov.
21422
21423         [chromium] Fix Mac build.
21424         https://bugs.webkit.org/show_bug.cgi?id=37436
21425
21426         * platform/chromium/PopupMenuChromium.h:
21427
21428 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
21429
21430         Reviewed by Dimitri Glazkov.
21431
21432         [chromium] Select popups would assert when destroyed.
21433         https://bugs.webkit.org/show_bug.cgi?id=37436
21434
21435
21436         * platform/chromium/PopupMenuChromium.cpp:
21437         (WebCore::PopupContainer::PopupContainer):
21438         (WebCore::PopupContainer::showPopup):
21439         (WebCore::PopupContainer::notifyPopupHidden):
21440         * platform/chromium/PopupMenuChromium.h:
21441
21442 2010-04-16  Antonio Gomes  <tonikitoo@webkit.org>
21443
21444         Unreviewed QtWebKit (with Qt 4.7) build fix.
21445
21446         Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
21447         renamed the variable used.
21448
21449         * platform/graphics/qt/FontPlatformDataQt.cpp:
21450         (WebCore::FontPlatformData::FontPlatformData):
21451
21452 2010-04-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
21453
21454         Reviewed by Kenneth Rohde Christiansen.
21455
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.
21459
21460         [Qt] GraphicsLayer: performance optimizations
21461         https://bugs.webkit.org/show_bug.cgi?id=35393
21462
21463         No new tests. Still no FPS benchmarks available (on any platform)
21464         but animations are noticably better.
21465
21466         * platform/graphics/qt/GraphicsLayerQt.cpp:
21467         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
21468         (WebCore::GraphicsLayerQtImpl::paint):
21469         (WebCore::GraphicsLayerQtImpl::flushChanges):
21470         (WebCore::TransformAnimationQt::updateState):
21471
21472 2010-04-16  Simon Hausmann  <simon.hausmann@nokia.com>
21473
21474         Reviewed by Kenneth Rohde Christiansen.
21475
21476         [Qt] WebCore::Font::font() causes a QFont detach
21477         https://bugs.webkit.org/show_bug.cgi?id=37683
21478
21479         Moved the setStyleStrategy call to FontPlatformData
21480         to avoid the detach.
21481
21482         Thanks to Holger for spotting this.
21483
21484         * platform/graphics/qt/FontPlatformDataQt.cpp:
21485         (WebCore::FontPlatformData::FontPlatformData):
21486         * platform/graphics/qt/FontQt.cpp:
21487         (WebCore::Font::font):
21488
21489 2010-04-15  Matt Perry  <mpcomplete@chromium.org>
21490
21491         Reviewed by Adam Barth.
21492
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
21498
21499         * bindings/v8/V8DOMWindowShell.cpp:
21500         (WebCore::V8DOMWindowShell::createNewContext):
21501
21502 2010-04-15  Luiz Agostini  <luiz.agostini@openbossa.org>
21503
21504         Reviewed by Antti Koivisto.
21505
21506         No default selection for <select multiple> menu lists.
21507         https://bugs.webkit.org/show_bug.cgi?id=37530
21508
21509         Manual test: manual-tests/no-listbox-rendering.html
21510
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.
21514
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.
21518
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.
21522
21523         * dom/SelectElement.cpp:
21524         (WebCore::SelectElement::recalcListItems):
21525         (WebCore::SelectElement::reset):
21526         * manual-tests/no-listbox-rendering.html: Added.
21527
21528 2010-04-15  Zhenyao Mo  <zmo@google.com>
21529
21530         Reviewed by Dimitri Glazkov.
21531
21532         Index validation code validates too many vertex attributes
21533         https://bugs.webkit.org/show_bug.cgi?id=31892
21534
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().
21543
21544 2010-04-16  Adam Roben  <aroben@apple.com>
21545
21546         Don't assert when soft-linked libraries can't be found
21547
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.
21550
21551         Reviewed by Sam Weinig.
21552
21553         * platform/win/SoftLinking.h:
21554         (SOFT_LINK): Don't assert when LoadLibrary fails.
21555
21556 2010-04-15  Dmitry Titov  <dimich@chromium.org>
21557
21558         Unreviewed, rolling out r57688.
21559         http://trac.webkit.org/changeset/57688
21560         https://bugs.webkit.org/show_bug.cgi?id=34992
21561
21562         Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
21563
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:
21576
21577 2010-04-15  Yury Semikhatsky  <yurys@google.com>
21578
21579         Reviewed by Pavel Feldman.
21580     
21581         Support basic debugging capabilities including step in/over/out in v8
21582         implementation of ScriptDebugServer.
21583
21584         https://bugs.webkit.org/show_bug.cgi?id=37604
21585
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):
21623
21624 2010-04-15  Jian Li  <jianli@chromium.org>
21625
21626         Reviewed by Dmitry Titov.
21627
21628         Support using FormData to send a sliced file via XHR.
21629         https://bugs.webkit.org/show_bug.cgi?id=36678
21630
21631         Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
21632
21633         * html/Blob.h:
21634         (WebCore::Blob::isFile):
21635         * html/DOMFormData.cpp:
21636         (WebCore::DOMFormData::append):
21637         * html/File.h:
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):
21649
21650 2010-04-15  Zhenyao Mo  <zmo@google.com>
21651
21652         Reviewed by Dimitri Glazkov.
21653
21654         Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
21655         https://bugs.webkit.org/show_bug.cgi?id=37178
21656
21657         Test: fast/canvas/webgl/point-size.html
21658
21659         * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
21660         (WebCore::GraphicsContext3D::GraphicsContext3D):
21661
21662 2010-04-15  Eric Uhrhane  <ericu@chromium.org>
21663
21664         Reviewed by Dmitry Titov.
21665
21666         Add bindings for async DB API in Workers.
21667         https://bugs.webkit.org/show_bug.cgi?id=34992
21668
21669         Tests: storage/change-version-handle-reuse-worker.html
21670                storage/execute-sql-args-worker.html
21671
21672         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
21673         (WebCore::JSWorkerContext::openDatabase):
21674
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):
21677
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:
21684         
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.
21689
21690         Add the IDL for the call to openDatabase.
21691         * workers/WorkerContext.idl:
21692
21693 2010-04-15  Nicolas Weber  <thakis@chromium.org>
21694
21695         Reviewed by Dimitri Glazkov.
21696
21697         Fix drag image thumbnails for indexed images.
21698         https://bugs.webkit.org/show_bug.cgi?id=37621
21699
21700         * platform/chromium/DragImageChromiumMac.cpp:
21701         (WebCore::scaleDragImage): Always use RGB color space.
21702         (WebCore::dissolveDragImageToFraction): Always use RGB color space.
21703
21704 2010-04-15  Adam Roben  <aroben@apple.com>
21705
21706         Expose UserContentURLPattern as WebKit SPI
21707
21708         Fixes <http://webkit.org/b/37354>.
21709
21710         Reviewed by Tim Hatcher.
21711
21712         * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
21713         the file.
21714
21715         * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
21716         "Private".
21717
21718         * page/UserContentURLPattern.h:
21719         (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
21720         default constructor.
21721         (WebCore::UserContentURLPattern::isValid): Added this getter.
21722
21723 2010-04-15  Chris Fleizach  <cfleizach@apple.com>
21724
21725         Reviewed by Beth Dakin.
21726
21727         AXHelp is being appended from ancestors incorrectly
21728         https://bugs.webkit.org/show_bug.cgi?id=37659
21729
21730         Test: platform/mac/accessibility/unexpected-help-text.html
21731
21732         * accessibility/AccessibilityRenderObject.cpp:
21733         (WebCore::AccessibilityRenderObject::helpText):
21734
21735 2010-04-15  David Hyatt  <hyatt@apple.com>
21736
21737         Reviewed by Anders Carlsson.
21738
21739         https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
21740         a pseudoelement.
21741         
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.
21745         
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.
21748
21749         * css/CSSStyleSelector.cpp:
21750         (WebCore::CSSStyleSelector::styleForElement):
21751         (WebCore::CSSStyleSelector::pseudoStyleForElement):
21752         * dom/Element.cpp:
21753         (WebCore::Element::pseudoStyleCacheIsInvalid):
21754         * rendering/style/RenderStyle.cpp:
21755         (WebCore::RenderStyle::getCachedPseudoStyle):
21756         (WebCore::RenderStyle::addCachedPseudoStyle):
21757         * rendering/style/RenderStyle.h:
21758         (WebCore::):
21759         (WebCore::InheritedFlags::cachedPseudoStyles):
21760
21761 2010-04-15  Albert J. Wong  <ajwong@chromium.org>
21762
21763         Unreviewed, rolling out r57660.
21764         http://trac.webkit.org/changeset/57660
21765         https://bugs.webkit.org/show_bug.cgi?id=37604
21766
21767         Broke a large number of inspector layout tests in chromium.
21768
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):
21795
21796 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
21797
21798         Reviewed by Dimitri Glazkov.
21799
21800         DatabaseTracker refactoring: remove the dependency on
21801         OriginQuotaManager from DatabaseTracker.h
21802         https://bugs.webkit.org/show_bug.cgi?id=31482
21803
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):
21828
21829 2010-04-15  Zhenyao Mo  <zmo@google.com>
21830
21831         Reviewed by Adam Barth.
21832
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
21836
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.
21840
21841 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
21842
21843         Reviewed by Simon Fraser.
21844
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
21847
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.
21850
21851         * page/SpatialNavigation.cpp:
21852         (WebCore::hasOffscreenRect):
21853
21854 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
21855
21856         Reviewed by Simon Fraser.
21857
21858         Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
21859         https://bugs.webkit.org/show_bug.cgi?id=37634
21860
21861         This assignment line is not longer needed after r57061, bug that refactored all
21862         assignment logic to happen lines below in the method.
21863
21864         * page/FocusController.cpp:
21865         (WebCore::updateFocusCandidateIfCloser):
21866
21867 2010-04-15  Yury Semikhatsky  <yurys@google.com>
21868
21869         Reviewed by Pavel Feldman.
21870     
21871         Support basic debugging capabilities including step in/over/out in v8
21872         implementation of ScriptDebugServer.
21873
21874         https://bugs.webkit.org/show_bug.cgi?id=37604
21875
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):
21913
21914 2010-04-15  Nikolas Zimmermann  <nzimmermann@rim.com>
21915
21916         Reviewed by Beth Dakin.
21917
21918         RenderSVGResource <-> id mapping should be cached
21919         https://bugs.webkit.org/show_bug.cgi?id=37575
21920
21921         Test: svg/custom/clip-path-id-changes.svg
21922
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):
21935
21936 2010-04-15  Justin Schuh  <jschuh@chromium.org>
21937
21938         Reviewed by Dimitri Glazkov.
21939
21940         LayoutTest breakage in V8 bindings after r57627
21941         https://bugs.webkit.org/show_bug.cgi?id=37660
21942
21943         Fixes breakage of the following tests due to an error in V8 bindings for
21944         NamedNodeMap:
21945         hc_namednodemapinuseattributeerr.html
21946         hc_namednodemapsetnameditemreturnvalue.html
21947         hc_namednodemapwrongdocumenterr.html
21948         hc_namednodemapinvalidtype1.html
21949         NamedNodeMap-setNamedItem-crash.html
21950
21951         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
21952         (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
21953         (WebCore::V8NamedNodeMap::setNamedItemCallback):
21954
21955 2010-04-15  David Hyatt  <hyatt@apple.com>
21956
21957         Reviewed by Anders Carlsson.
21958
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.
21961
21962         * rendering/RenderBlock.cpp:
21963         (WebCore::RenderBlock::updateFirstLetter):
21964         * rendering/style/RenderStyle.cpp:
21965         (WebCore::RenderStyle::getCachedPseudoStyle):
21966
21967 2010-04-15  Ben Murdoch  <benm@google.com>
21968
21969         Unreviewed, rolling out r57652.
21970         http://trac.webkit.org/changeset/57652
21971         https://bugs.webkit.org/show_bug.cgi?id=37609
21972
21973         Caused a build break on Chromium Mac and Layout Test fail on
21974         Qt
21975
21976         * platform/PlatformTouchPoint.h:
21977         (WebCore::PlatformTouchPoint::):
21978         * platform/qt/PlatformTouchPointQt.cpp:
21979         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
21980
21981 2010-04-15  Yaar Schnitman  <yaar@chromium.org>
21982
21983         Reviewed by Nate Chapin.
21984
21985         Overloads auto-generation in V8
21986         https://bugs.webkit.org/show_bug.cgi?id=37373
21987
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.
21989
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).
21991
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.
21995
21996 2010-04-15  Ben Murdoch  <benm@google.com>
21997
21998         Reviewed by Kenneth Rohde Christiansen.
21999
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
22003
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.
22008
22009         As the TouchStationary state is not handled in the EventHandler,
22010         there is no change in functionality so no new tests are required.
22011
22012         * platform/PlatformTouchPoint.h:
22013         (WebCore::PlatformTouchPoint::): Remove TouchStationary.
22014         * platform/qt/PlatformTouchPointQt.cpp:
22015         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
22016
22017 2010-04-15  Steve Falkenburg  <sfalken@apple.com>
22018
22019         Reviewed by Adam Roben.
22020
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)
22024         
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.
22027         
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:
22031         
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.
22035         
22036         - The overhead involved in generating a constant stream of 5ms timers still swamped
22037           the CPU, resulting in continued high CPU utilization.
22038           
22039         To fix this, I changed the throttling code to:
22040         
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.
22043           
22044         - Process remaining delayed WM_USER+1 messages on a 16ms timer.
22045         
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.
22048
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.
22055
22056 2010-04-15  Shinichiro Hamaji  <hamaji@chromium.org>
22057
22058         Reviewed by David Levin.
22059
22060         LEAK: in ThreadableWebSocketChannel::create()
22061         https://bugs.webkit.org/show_bug.cgi?id=37584
22062
22063         No new tests because this change just fixes a leak.
22064
22065         * websockets/WorkerThreadableWebSocketChannel.cpp:
22066         (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
22067         * websockets/WorkerThreadableWebSocketChannel.h:
22068         (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
22069
22070 2010-04-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
22071
22072         Reviewed by Eric Seidel.
22073
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
22077
22078         * wml/WMLOptionElement.h:
22079         * wml/WMLSelectElement.h:
22080
22081 2010-04-15  Bruno Schmidt  <bruno.schmidt@gmail.com>
22082
22083         Reviewed by Kenneth Rohde Christiansen.
22084
22085         [Qt] Null QObjects properties cause Segmentation Fault
22086         https://bugs.webkit.org/show_bug.cgi?id=34730
22087
22088         QObjects exported to the QWebkit javascript with properties that are
22089         a null "QObject*" cause Segmentation Fault.
22090
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:
22095
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
22104
22105 2010-04-14  Simon Fraser  <simon.fraser@apple.com>
22106
22107         Reviewed by Dan Bernstein.
22108
22109         Repaint of fixed, transformed element is broken
22110         https://bugs.webkit.org/show_bug.cgi?id=37637
22111
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
22115         position.
22116         
22117         Also cache style()->position() in a local variable for performance.
22118         
22119         Test: fast/repaint/fixed-tranformed.html
22120
22121         * rendering/RenderBox.cpp:
22122         (WebCore::RenderBox::computeRectForRepaint):
22123
22124 2010-04-14  Luiz Agostini  <luiz.agostini@openbossa.org>
22125
22126         Reviewed by Kenneth Rohde Christiansen.
22127
22128         Changing view mode names due to specification changes
22129         https://bugs.webkit.org/show_bug.cgi?id=37615
22130
22131         test: fast/media/media-feature-wgt-view-mode.html
22132
22133         specification: http://dev.w3.org/2006/waf/widgets-vmmf/
22134
22135         * css/MediaQueryEvaluator.cpp:
22136         (WebCore::view_modeMediaFeatureEval):
22137         * page/ChromeClient.h:
22138         (WebCore::ChromeClient::isWindowed):
22139         (WebCore::ChromeClient::isMaximized):
22140         (WebCore::ChromeClient::isMinimized):
22141
22142 2010-04-14  Adam Barth  <abarth@webkit.org>
22143
22144         Unreviewed attempt to fix Qt build.
22145
22146         * bindings/js/JSNodeCustom.cpp:
22147
22148 2010-04-14  Justin Schuh  <jschuh@chromium.org>
22149
22150         Reviewed by Adam Barth.
22151
22152         Javascript URL can be set as iframe.src via multiple DOM aliases
22153         https://bugs.webkit.org/show_bug.cgi?id=37031
22154
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.
22161
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):
22183         (WebCore::toV8):
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):
22192         * dom/Attr.idl:
22193         * dom/NamedNodeMap.idl:
22194         * dom/Node.idl:
22195
22196 2010-04-14  Alejandro G. Castro  <alex@igalia.com>
22197
22198         Reviewed by Xan Lopez.
22199
22200         We have to check if the resource handler is cancelled before
22201         checking the client, other case it could crash.
22202
22203         * platform/network/soup/ResourceHandleSoup.cpp:
22204         (WebCore::parseDataUrl):
22205
22206 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
22207
22208         Unreviewed, rolling out r57609.
22209         http://trac.webkit.org/changeset/57609
22210         https://bugs.webkit.org/show_bug.cgi?id=37614
22211
22212         "Broke multiple builders.  Probably needs new test results,
22213         but may be an Inspector bug." (Requested by eseidel on
22214         #webkit).
22215
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):
22223
22224 2010-04-14  Steve Falkenburg  <sfalken@apple.com>
22225
22226         Reviewed by Dan Bernstein.
22227
22228         Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
22229         https://bugs.webkit.org/show_bug.cgi?id=37599
22230
22231         * platform/graphics/win/FontCacheWin.cpp:
22232         (WebCore::fontDataFromDescriptionAndLogFont):
22233         (WebCore::FontCache::getLastResortFallbackFont):
22234
22235 2010-04-14  Andrey Kosyakov  <caseq@chromium.ru>
22236
22237         Reviewed by Timothy Hatcher.
22238
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
22242
22243         Test: inspector/console-resource-errors.html
22244
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):
22252
22253 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
22254
22255         Unreviewed, rolling out r57599.
22256         http://trac.webkit.org/changeset/57599
22257         https://bugs.webkit.org/show_bug.cgi?id=37605
22258
22259         "Broke Chromium build" (Requested by dglazkov on #webkit).
22260
22261         * platform/chromium/PopupMenuChromium.cpp:
22262         (WebCore::PopupContainer::PopupContainer):
22263         (WebCore::PopupContainer::showPopup):
22264         (WebCore::PopupContainer::notifyPopupHidden):
22265         * platform/chromium/PopupMenuChromium.h:
22266
22267 2010-04-14  Aaron Boodman  <aa@chromium.org>
22268
22269         Reviewed by David Levin.
22270
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.
22274
22275         https://bugs.webkit.org/show_bug.cgi?id=36623
22276
22277         Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
22278
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.
22290
22291 2010-04-14  Anders Carlsson  <andersca@apple.com>
22292
22293         Reviewed by Sam Weinig.
22294
22295         Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
22296         https://bugs.webkit.org/show_bug.cgi?id=37601
22297
22298         * platform/mac/ThemeMac.h:
22299         * platform/mac/ThemeMac.mm:
22300         (-[WebCoreFlippedView isFlipped]):
22301         (WebCore::paintButton):
22302         (WebCore::ThemeMac::ensuredView):
22303
22304 2010-04-14  Jay Civelli  <jcivelli@chromium.org>
22305  
22306         Reviewed by Dimitri Glazkov.
22307
22308         [chromium] Select popups would assert when destroyed.
22309         https://bugs.webkit.org/show_bug.cgi?id=37436
22310  
22311         * platform/chromium/PopupMenuChromium.cpp:
22312         (WebCore::PopupContainer::PopupContainer):
22313         (WebCore::PopupContainer::showPopup):
22314         (WebCore::PopupContainer::notifyPopupHidden):
22315         * platform/chromium/PopupMenuChromium.h:
22316  
22317
22318 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
22319
22320         Reviewed by Jian Li.
22321
22322         Remove an incorrect ASSERT in UniscribeHelper::draw().
22323         https://bugs.webkit.org/show_bug.cgi?id=37533
22324
22325         * platform/graphics/chromium/UniscribeHelper.cpp:
22326         (WebCore::UniscribeHelper::draw):
22327
22328 2010-04-14  Pavel Feldman  <pfeldman@chromium.org>
22329
22330         Reviewed by Timothy Hatcher.
22331
22332         Web Inspector: readline shortcuts don't work in Chromium.
22333
22334         * inspector/front-end/TextPrompt.js:
22335         (WebInspector.TextPrompt.prototype._onKeyDown):
22336         (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
22337
22338 2010-04-14  Alexander Pavlov  <apavlov@chromium.org>
22339
22340         Reviewed by Timothy Hatcher.
22341
22342         Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
22343         https://bugs.webkit.org/show_bug.cgi?id=37582
22344
22345         * inspector/front-end/TextPrompt.js:
22346         (WebInspector.TextPrompt.prototype.complete):
22347         (WebInspector.TextPrompt.prototype._completionsReady):
22348         (WebInspector.TextPrompt.prototype._tabKeyPressed):
22349
22350 2010-04-14  Jeff Schiller  <codedread@gmail.com>
22351
22352         Reviewed by Dirk Schulze.
22353
22354         Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
22355
22356         * svg/SVGParserUtilities.cpp:
22357         (WebCore::SVGPathSegListBuilder::build):
22358
22359 2010-04-14  Alexander Pavlov  <apavlov@chromium.org>
22360
22361         Reviewed by Joseph Pecoraro.
22362
22363         Web Inspector: Ctrl-L (Clear History) does nothing on Windows
22364         https://bugs.webkit.org/show_bug.cgi?id=37579
22365
22366         * inspector/front-end/ConsoleView.js:
22367         (WebInspector.ConsoleView):
22368
22369 2010-04-14  Anton Muhin  <antonm@chromium.org>
22370
22371         Not review, build fix.
22372
22373         Add <limits.h> include to bring UINT_MAX.
22374
22375         * html/canvas/WebGLArray.h:
22376
22377 2010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
22378
22379         Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
22380
22381         * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
22382
22383 2010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
22384
22385         Reviewed by Dirk Schulze.
22386
22387         SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
22388         https://bugs.webkit.org/show_bug.cgi?id=37568
22389
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()
22403
22404         Adapt all callsites to the renames above.
22405         No new tests, as this doesn't affect anything except memory overhead.
22406
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):
22469
22470 2010-04-14  Zhenyao Mo  <zmo@google.com>
22471
22472         Reviewed by Dimitri Glazkov.
22473
22474         readPixels must take PACK_ALIGNMENT into account
22475         https://bugs.webkit.org/show_bug.cgi?id=34718
22476
22477         Test: fast/canvas/webgl/read-pixels.html
22478
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.
22487
22488 2010-04-13  Dirk Schulze  <krit@webkit.org>
22489
22490         Reviewed by Eric Seidel.
22491
22492         REGRESSION(r57511): many new graphics / svg related leaks
22493         https://bugs.webkit.org/show_bug.cgi?id=37527
22494
22495         The content of a HashMap was not correctly deleted. Fixed this
22496         in the DTor and in invalidateClient of RenderSVGResourceClipper.
22497
22498         * rendering/RenderSVGResourceClipper.cpp:
22499         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
22500         (WebCore::RenderSVGResourceClipper::invalidateClient):
22501
22502 2010-04-13  Zhenyao Mo  <zmo@google.com>
22503
22504         Reviewed by Oliver Hunt.
22505
22506         Fix a potential integer overflow in WebGL*Array::slice()
22507         https://bugs.webkit.org/show_bug.cgi?id=37466
22508
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.
22525
22526 2010-04-13  Darin Fisher  <darin@chromium.org>
22527
22528         Reviewed by Brady Eidson.
22529
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.
22533
22534         https://bugs.webkit.org/show_bug.cgi?id=37126
22535
22536         Tests: fast/loader/frame-location-change-not-added-to-history.html
22537                fast/loader/frame-src-change-not-added-to-history.html
22538
22539         * loader/FrameLoader.cpp:
22540         (WebCore::FrameLoader::clientRedirected):
22541         (WebCore::FrameLoader::findFrameForNavigation):
22542         * loader/HistoryController.cpp:
22543         (WebCore::HistoryController::currentItemShouldBeReplaced):
22544         * loader/HistoryController.h:
22545
22546 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
22547
22548         Reviewed by Oliver Hunt.
22549
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.
22553
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.
22562
22563         * bindings/js/ScriptController.cpp:
22564         (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match
22565         similar code.
22566
22567 2010-04-13  Chang Shu  <chang.shu@nokia.com>
22568
22569         Reviewed by Darin Fisher.
22570
22571         https://bugs.webkit.org/show_bug.cgi?id=34653
22572
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.
22575
22576         Test: http/tests/xmlhttprequest/request-encoding2.html
22577
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):
22585
22586 2010-04-12  Timothy Hatcher  <timothy@apple.com>
22587
22588         SecurityOrigin needs a way to remove individual OriginAccessEntries
22589         https://bugs.webkit.org/show_bug.cgi?id=37449
22590
22591         Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html
22592
22593         Reviewed by Dave Hyatt.
22594
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.
22608
22609 2010-04-13  Timothy Hatcher  <timothy@apple.com>
22610
22611         Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
22612         And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
22613
22614         SecurityOrigin needs a way to remove individual OriginAccessEntries
22615         https://bugs.webkit.org/show_bug.cgi?id=37449
22616
22617         Reviewed by Dave Hyatt.
22618
22619         * WebCore.base.exp:
22620         * page/SecurityOrigin.cpp:
22621         (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
22622         (WebCore::SecurityOrigin::resetOriginAccessWhitelists):
22623         * page/SecurityOrigin.h:
22624
22625 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
22626
22627         Reviewed by Mark Rowe.
22628
22629         Tidied up some more DOMWrapperWorld lifetime issues.
22630         
22631         Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them.
22632
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.
22639
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.
22648
22649         * dom/Document.cpp:
22650         (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(),
22651         which is slightly faster and simpler than iterator comparison.
22652
22653 2010-04-13  Dumitru Daniliuc  <dumi@chromium.org>
22654
22655         Reviewed by Adam Barth.
22656
22657         Make all HTML5 DB callbacks run in the correct context.
22658         https://bugs.webkit.org/show_bug.cgi?id=27698
22659
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
22664
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):
22707
22708 2010-04-13  Mikhail Naganov  <mnaganov@chromium.org>
22709
22710         Reviewed by Pavel Feldman.
22711
22712         Fix search behavior in Profiles tab.
22713
22714         https://bugs.webkit.org/show_bug.cgi?id=37498
22715
22716         * inspector/front-end/ProfileView.js:
22717         (WebInspector.CPUProfileView.profileCallback):
22718         (WebInspector.CPUProfileView):
22719
22720 2010-04-13  David Hyatt  <hyatt@apple.com>
22721
22722         Reviewed by Oliver Hunt.
22723
22724         https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it.
22725
22726         * rendering/style/RenderStyle.cpp:
22727         (WebCore::RenderStyle::RenderStyle):
22728         (WebCore::RenderStyle::operator==):
22729         (WebCore::RenderStyle::diff):
22730         * rendering/style/RenderStyle.h:
22731         (WebCore::):
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):
22766
22767 2010-04-12  yael aharon  <yael.aharon@nokia.com>
22768
22769         Reviewed by Tor Arne Vestbo.
22770
22771         Minor fix to pass RenderProgress instead of RenderObject
22772         https://bugs.webkit.org/show_bug.cgi?id=37481
22773
22774         * accessibility/AXObjectCache.cpp:
22775         (WebCore::AXObjectCache::getOrCreate):
22776         * accessibility/AccessibilityProgressIndicator.cpp:
22777         (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
22778         (WebCore::AccessibilityProgressIndicator::create):
22779         * accessibility/AccessibilityProgressIndicator.h:
22780
22781 2010-04-13  David Hyatt  <hyatt@apple.com>
22782
22783         Reviewed by Oliver Hunt.
22784
22785         https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData
22786
22787         * rendering/style/RenderStyle.cpp:
22788         (WebCore::RenderStyle::RenderStyle):
22789         (WebCore::RenderStyle::operator==):
22790         (WebCore::RenderStyle::diff):
22791         * rendering/style/RenderStyle.h:
22792         (WebCore::):
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):
22831
22832 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22833
22834         Reviewed by David Levin.
22835
22836         [Haiku] Use the system clipboard instead of a private clipboard.
22837                 Fix various problems in the previous implementation.
22838
22839         https://bugs.webkit.org/show_bug.cgi?id=37421
22840
22841         No new tests needed.
22842
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):
22860             - Implemented.
22861         (WebCore::Pasteboard::writeURL):
22862             - Needs to use AddData(B_MIME_TYPE) instead of AddString().
22863         (WebCore::Pasteboard::clear):
22864
22865 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22866
22867         Reviewed by David Levin.
22868
22869         [Haiku] Fix bridging Widget to native top-level BView.
22870         https://bugs.webkit.org/show_bug.cgi?id=37419
22871
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.
22881
22882         No new tests needed.
22883
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.
22904
22905 2010-04-13  Jeremy Moskovich  <jeremy@chromium.org>
22906
22907         Reviewed by David Levin.
22908
22909         Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
22910
22911         https://bugs.webkit.org/show_bug.cgi?id=36426
22912
22913         No new tests as there is no new functionality.
22914
22915         * loader/FrameLoader.cpp:
22916         (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
22917
22918 2010-04-13  Abhishek Arya  <inferno@chromium.org>
22919
22920         Reviewed by Adam Barth.
22921
22922         Add a null ptr check for m_popupClient.
22923
22924         * platform/chromium/PopupMenuChromium.cpp:
22925         (WebCore::PopupListBox::abandon): Add a null ptr check
22926
22927 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22928
22929         Reviewed by David Levin.
22930
22931         [Haiku] Use the system's default font family as last fall back font.
22932         https://bugs.webkit.org/show_bug.cgi?id=37501
22933
22934         No new tests needed.
22935
22936         * platform/graphics/haiku/FontCacheHaiku.cpp:
22937         (WebCore::FontCache::getLastResortFallbackFont):
22938             - Use the system's default font family (from be_plain_font global).
22939
22940 2010-04-13  Eskil Blomfeldt <eblomfel@trolltech.com>, Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
22941
22942         Reviewed by Simon Hausmann.
22943
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
22946
22947         * platform/graphics/qt/FontQt.cpp:
22948         (WebCore::Font::floatWidthForComplexText):
22949         (WebCore::Font::font):
22950
22951 2010-04-13  Alexander Pavlov  <apavlov@chromium.org>
22952
22953         Reviewed by Pavel Feldman.
22954
22955         Web Inspector: Cannot effectively delete properties in the Styles sidebar pane
22956         https://bugs.webkit.org/show_bug.cgi?id=37499
22957
22958         * inspector/InspectorDOMAgent.cpp:
22959         (WebCore::InspectorDOMAgent::applyStyleText):
22960
22961 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22962
22963         Reviewed by David Levin.
22964
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
22967
22968         Covered by existing tests.
22969
22970         * platform/haiku/MIMETypeRegistryHaiku.cpp:
22971         (WebCore::):
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.
22977
22978 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22979
22980         Reviewed by David Levin.
22981
22982         [Haiku] Use all the new system cursors available in recent Haiku revisions.
22983         <https://bugs.webkit.org/show_bug.cgi?id=37385>
22984
22985         Covered by existing tests.
22986
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.
23030
23031 2010-04-13  Dirk Schulze  <krit@webkit.org>
23032
23033         Reviewed by Nikolas Zimmermann.
23034
23035         <clipPath> doesn't correctly handle <text> elements
23036         https://bugs.webkit.org/show_bug.cgi?id=12571
23037
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.
23044
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
23077
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:
23096
23097 2010-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>
23098
23099         Reviewed by Dirk Schulze.
23100
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
23103
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.
23109
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?).
23114
23115         Doesn't affect any tests, only performance.
23116
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):
23186
23187 2010-04-13  Mikhail Naganov  <mnaganov@chromium.org>
23188
23189         Unreviewed Qt build fix: add new .idl files to WebCore.pri
23190
23191         * WebCore.pri:
23192
23193 2010-04-12  Mikhail Naganov  <mnaganov@chromium.org>
23194
23195         Reviewed by Yury Semikhatsky.
23196
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
23199         aligned with JSC.
23200
23201         https://bugs.webkit.org/show_bug.cgi?id=37448
23202
23203         * DerivedSources.cpp:
23204         * DerivedSources.make:
23205         * GNUmakefile.am:
23206         * WebCore.gypi:
23207         * WebCore.pro:
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.
23249         (WebCore::toV8):
23250         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Added.
23251         (WebCore::V8ScriptProfileNode::childrenAccessorGetter):
23252         (WebCore::V8ScriptProfileNode::callUIDAccessorGetter):
23253         (WebCore::toV8):
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:
23265
23266 2010-04-12  Antonio Gomes  <tonikitoo@webkit.org>
23267
23268         Reviewed by Simon Fraser.
23269
23270         Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
23271         https://bugs.webkit.org/show_bug.cgi?id=37461
23272
23273         getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when
23274         the node is currently offscreen in an scroll overflowed content.
23275
23276         Test: fast/events/spatial-navigation/snav-simple-content-overflow.html
23277
23278         * page/SpatialNavigation.cpp:
23279         (WebCore::renderRectRelativeToRootDocument):
23280
23281 2010-04-12  Antonio Gomes  <tonikitoo@webkit.org>
23282
23283         Unreviewed style fix.
23284
23285         * page/FocusController.cpp:
23286         (WebCore::updateFocusCandidateIfCloser):
23287
23288 2010-04-08  yael aharon  <yael.aharon@nokia.com>
23289
23290         Reviewed by Darin Adler.
23291
23292         Accessibility support for progress element
23293         https://bugs.webkit.org/show_bug.cgi?id=37275
23294
23295         Implement AccessibilityProgressIndicator to hook up progress element to accessibility framework.
23296
23297         Test: platform/mac/accessibility/progressbar.html
23298
23299         * GNUmakefile.am:
23300         * WebCore.gypi:
23301         * WebCore.pro:
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:
23321
23322 2010-04-12  Dumitru Daniliuc  <dumi@chromium.org>
23323
23324         Reviewed by Dimitri Glazkov.
23325
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
23329
23330         * bindings/js/JSDOMWindowCustom.cpp:
23331         (WebCore::JSDOMWindow::openDatabase):
23332         * bindings/v8/custom/V8DOMWindowCustom.cpp:
23333         (WebCore::V8DOMWindow::openDatabaseCallback):
23334
23335 2010-04-12  Steve Falkenburg  <sfalken@apple.com>
23336
23337         Reviewed by Dan Bernstein.
23338
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
23343         
23344         Look harder for a suitable last-resort font. Previously, we checked for
23345         "Times New Roman" followed by DEFAULT_GUI_FONT.
23346         
23347         We now look for:
23348         - Typically installed Unicode-capable fonts, in order of coverage
23349         - DEFAULT_GUI_FONT
23350         - SPI_GETNONCLIENTMETRICS fonts
23351         
23352         * platform/graphics/win/FontCacheWin.cpp:
23353         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
23354         (WebCore::FontCache::getLastResortFallbackFont):
23355
23356 2010-04-12  David Hyatt  <hyatt@apple.com>
23357
23358         Reviewed by Dan Bernstein.
23359
23360         https://bugs.webkit.org/show_bug.cgi?id=37469, clean up ShadowData to be encapsulated properly.
23361
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):
23417
23418 2010-04-12  David Hyatt  <hyatt@apple.com>
23419
23420         Reviewed by Mark Rowe.
23421
23422         https://bugs.webkit.org/show_bug.cgi?id=37463, clean up NinePieceImage.
23423
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):
23437
23438 2010-04-12  David Hyatt  <hyatt@apple.com>
23439
23440         Reviewed by Sam Weinig.
23441
23442         https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids.
23443
23444         Added fast/history/multiple-classes-visited.html.
23445
23446         * css/CSSStyleSelector.cpp:
23447         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
23448
23449 2010-04-12  Dirk Schulze  <krit@webkit.org>
23450
23451         Unreviewed build fix.
23452
23453         Make comma/whitespace around arc flags optional in SVG path syntax
23454         https://bugs.webkit.org/show_bug.cgi?id=37431
23455
23456         Fix the SL build.
23457
23458         * svg/SVGParserUtilities.cpp:
23459         (WebCore::parseArcFlag):
23460
23461 2010-04-12  Jeff Schiller  <codedread@gmail.com>
23462
23463         Reviewed by Dirk Schulze.
23464
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
23467
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()
23471
23472 2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
23473
23474         Unreviewed, rolling out r57468.
23475         http://trac.webkit.org/changeset/57468
23476         https://bugs.webkit.org/show_bug.cgi?id=37433
23477
23478         Broke the world...  Must have applied the patch wrong
23479         (Requested by abarth on #webkit).
23480
23481         * Android.mk:
23482         * GNUmakefile.am:
23483         * WebCore.base.exp:
23484         * WebCore.gypi:
23485         * WebCore.pro:
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):
23534
23535 2010-04-11  Adam Barth  <abarth@webkit.org>
23536
23537         Reviewed by Eric Seidel.
23538
23539         Factor DocumentWriter out of FrameLoader
23540         https://bugs.webkit.org/show_bug.cgi?id=37175
23541
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.
23546
23547         No tests because there is no behavior change (hopefully!).
23548
23549         * Android.mk:
23550         * GNUmakefile.am:
23551         * WebCore.base.exp:
23552         * WebCore.gypi:
23553         * WebCore.pro:
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):
23598
23599 2010-04-07  Tony Chang  <tony@chromium.org>
23600
23601         Reviewed by Eric Seidel.
23602
23603         [chromium] implement getData('text/html') for paste and drop events
23604         https://bugs.webkit.org/show_bug.cgi?id=37193
23605
23606         Tests: editing/pasteboard/onpaste-text-html.html
23607                fast/events/ondrop-text-html.html
23608
23609         * platform/chromium/ClipboardChromium.cpp:
23610         (WebCore::):
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
23615
23616 2010-04-10  Adam Barth  <abarth@webkit.org>
23617
23618         Unreviewed.  Rename m_forceSandboxFlags to m_forcedSandoxFlags, as
23619         requested by Darin Adler.
23620
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):
23628
23629 2010-04-10  Mark Rowe  <mrowe@apple.com>
23630
23631         Reviewed by Dan Bernstein.
23632
23633         <rdar://problem/7845305> Further adoption of formal protocols for delegates.
23634
23635         Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
23636
23637         * WebCore.xcodeproj/project.pbxproj:
23638         * platform/mac/EmptyProtocolDefinitions.h: Renamed from WebKit/mac/Misc/EmptyProtocolDefinitions.h.
23639         * platform/network/mac/ResourceHandleMac.mm:
23640
23641 2010-04-10  Chris Evans  <cevans@chromium.org>
23642
23643         Reviewed by Adam Barth.
23644
23645         Defense in depth: make sure an SVG document in the <img> context has
23646         a unique origin.
23647
23648         https://bugs.webkit.org/show_bug.cgi?id=37392
23649
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.
23659
23660 2010-04-10  Vangelis Kokkevis  <vangelis@chromium.org>
23661
23662         Reviewed by Dimitri Glazkov.
23663
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
23667
23668         No new functionality, no new tests.
23669
23670         * WebCore.gypi:
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.
23683
23684 2010-04-10  Robert Hogan  <robert@webkit.org>
23685
23686         Reviewed by Kenneth Rohde Christiansen.
23687
23688         Refactor Qt DRT support in QtWebKit
23689
23690         https://bugs.webkit.org/show_bug.cgi?id=35844
23691
23692         * WebCore.pro: Add DumpRenderTreeSupportQt.cpp
23693
23694 2010-04-10  Joseph Pecoraro  <joepeck@webkit.org>
23695
23696         Reviewed by David Kilzer.
23697
23698         Missing CONTEXT_MENUS Guards
23699         https://bugs.webkit.org/show_bug.cgi?id=37398
23700
23701         Added missing ENABLE(CONTEXT_MENUS) guards.
23702
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:
23709
23710 2010-04-10  Stephan Aßmus  <superstippi@gmx.de>
23711
23712         Reviewed by Eric Seidel.
23713
23714         [Haiku] Fix crash in Gradient::fill()
23715         https://bugs.webkit.org/show_bug.cgi?id=37386
23716
23717         Covered by existing tests.
23718
23719         * platform/graphics/haiku/GradientHaiku.cpp:
23720         (WebCore::Gradient::fill):
23721             - Make sure the platform gradient is already cached before
23722               dereferencing its pointer.
23723
23724 2010-04-10  Stephan Aßmus  <superstippi@gmx.de>
23725
23726         Reviewed by Eric Seidel.
23727
23728         [Haiku] Fix build of ImageHaiku.cpp
23729         <https://bugs.webkit.org/show_bug.cgi?id=37384>
23730
23731         No new tests needed.
23732
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
23738               this name.
23739
23740 2010-04-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
23741
23742         Reviewed by Kenneth Rohde Christiansen.
23743
23744         [Qt] Implement Desktop Notifications API for QtWebKit
23745         https://bugs.webkit.org/show_bug.cgi?id=35503
23746
23747         No new tests enabled as notification DRT tests are
23748         disabled at the moment.
23749
23750         * WebCore.pri: Add files to the build system and turn
23751         on the feature by default.
23752
23753         * WebCore.pro: Add files to the build system
23754
23755         * bindings/js/JSDesktopNotificationsCustom.cpp:
23756         (WebCore::JSNotificationCenter::requestPermission):
23757         (WebCore::JSNotification::addEventListener):
23758         (WebCore::JSNotification::removeEventListener):
23759         Fix build regresssion.
23760
23761 2010-04-09  Pavel Feldman  <pfeldman@chromium.org>
23762
23763         Reviewed by Joseph Pecoraro.
23764
23765         Web Inspector: Console with two recursive arrays causes infinite loop trying to display.
23766         https://bugs.webkit.org/show_bug.cgi?id=37133
23767
23768         * inspector/front-end/ConsoleView.js:
23769         (WebInspector.ConsoleView.prototype._printArray):
23770         (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
23771         * inspector/front-end/InjectedScript.js:
23772         (injectedScriptConstructor):
23773
23774 2010-04-09  Kevin Watters  <kevinwatters@gmail.com>
23775
23776         Reviewed by Eric Seidel.
23777
23778         [wx] Basic implementation of SVG support for wx port.
23779
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:
23804         * wscript:
23805
23806 2010-04-09  Evan Martin  <evan@chromium.org>
23807
23808         Reviewed by Darin Adler.
23809
23810         StorageEvent destructor should be in StorageEvent.cpp
23811         https://bugs.webkit.org/show_bug.cgi?id=37356
23812
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.
23816
23817         * storage/StorageEvent.cpp:
23818         (WebCore::StorageEvent::~StorageEvent):
23819         * storage/StorageEvent.h:
23820
23821 2010-04-09  Young Han Lee  <joybro@company100.net>
23822
23823         Reviewed by Eric Seidel.
23824
23825         [WINCE] Add forwarding header for UnicodeWince.h
23826         https://bugs.webkit.org/show_bug.cgi?id=37224
23827
23828         * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Added.
23829
23830 2010-04-09  Geoffrey Garen  <ggaren@apple.com>
23831
23832         Reviewed by Sam "R the K!" Weinig.
23833
23834         Tidied up some more DOMWrapperWorld lifetime issues.
23835
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.
23840
23841         * bindings/js/DOMWrapperWorld.h:
23842         (WebCore::DOMWrapperWorld::didCreateWrapperCache):
23843         (WebCore::DOMWrapperWorld::didDestroyWrapperCache): A few renames for
23844         clarity.
23845
23846         * bindings/js/JSDOMBinding.cpp:
23847         * bindings/js/JSDOMBinding.h: Converted forgetAllDOMNodesForDocument
23848         to a Document member function, for the same reason.
23849
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
23857         caches.
23858
23859 2010-04-09  Chris Marrin  <cmarrin@apple.com>
23860
23861         Reviewed by Simon Fraser.
23862
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
23865
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.
23872
23873         Test: animations/dynamic-stylesheet-loading.html
23874
23875         * dom/Document.cpp: Added brackets
23876         (WebCore::Document::updateStyleSelector):
23877         * page/animation/KeyframeAnimation.cpp: Added assert and protection
23878         (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
23879
23880 2010-04-09  Jaime Yap  <jaimeyap@google.com>
23881
23882         Reviewed by Pavel Feldman.
23883
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
23887
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):
23896
23897 2010-04-09  Abhishek Arya  <inferno@chromium.org>
23898
23899         Reviewed by Adam Barth.
23900
23901         Prevent HTTP responses served with JSON content type from being rendered as HTML. 
23902
23903         Test: http/tests/security/xss-DENIED-mime-type-execute-as-html.html
23904
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. 
23909
23910 2010-04-09  Shinichiro Hamaji  <hamaji@chromium.org>
23911
23912         Reviewed by Eric Seidel.
23913
23914         Prevent wrong use of PrintContext
23915         https://bugs.webkit.org/show_bug.cgi?id=37194
23916
23917         No new tests because this doesn't change the behavior.
23918
23919         * page/PrintContext.cpp:
23920         (WebCore::PrintContext::PrintContext):
23921         (WebCore::PrintContext::~PrintContext):
23922         (WebCore::PrintContext::begin):
23923         (WebCore::PrintContext::end):
23924         * page/PrintContext.h:
23925
23926 2010-04-09  Vitaly Repeshko  <vitalyr@chromium.org>
23927
23928         Reviewed by Darin Fisher.
23929
23930         [V8] SerializedScriptValue value doesn't follow the spec for DOM objects and files
23931         https://bugs.webkit.org/show_bug.cgi?id=37094
23932
23933         This patch adds support for file-related types.
23934
23935         * bindings/v8/SerializedScriptValue.cpp:
23936         (WebCore::):
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):
23954
23955 2010-04-09  Geoffrey Garen  <ggaren@apple.com>
23956
23957         Reviewed by Cameron Zwarich.
23958         
23959         Tidied up some DOMWrapperWorld lifetime issues.
23960
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.
23966         
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.
23971
23972         * bindings/js/JSDOMWindowBase.cpp:
23973         (WebCore::JSDOMWindowBase::commonJSGlobalData): Used the work-around below.
23974
23975         * bindings/js/ScriptController.cpp:
23976         (WebCore::ScriptController::createWorld): Nixed IsolatedWorld, which is
23977         now superfluous.
23978
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.
23984
23985 2010-04-09  Yaar Schnitman  <yaar@chromium.org>
23986
23987         Reviewed by Nate Chapin.
23988
23989         Testing utility for CodeGeneratorV8.pm
23990         https://bugs.webkit.org/show_bug.cgi?id=37286
23991
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.
23997
23998 2010-04-09  Darin Adler  <darin@apple.com>
23999
24000         Reviewed by Maciej Stachowiak.
24001
24002         https://bugs.webkit.org/show_bug.cgi?id=37370
24003         Division by 0 in RenderBoxModelObject::calculateFillTileSize
24004
24005         Test: fast/backgrounds/background-fill-zero-area-crash.html
24006
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.
24010
24011 2010-04-09  Alexey Proskuryakov  <ap@apple.com>
24012
24013         Reviewed by Maciej Stachowiak.
24014
24015         https://bugs.webkit.org/show_bug.cgi?id=24572
24016         XMLHttpRequest.statusText returns always "OK" on Mac
24017
24018         Covered by existing tests, which now pass.
24019
24020         * WebCore.base.exp:
24021         * platform/mac/WebCoreSystemInterface.h:
24022         * platform/mac/WebCoreSystemInterface.mm:
24023         Added a WebKitSystemInterface method to fetch status line.
24024
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.
24029
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.
24034
24035 2010-04-09  David Hyatt  <hyatt@apple.com>
24036
24037         Reviewed by Oliver Hunt.
24038
24039         https://bugs.webkit.org/show_bug.cgi?id=37361, clean up FillLayer.
24040
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):
24068
24069 2010-04-09  Sam Weinig  <sam@webkit.org>
24070
24071         Add another missing export to fix the build.
24072
24073         * WebCore.base.exp:
24074
24075 2010-04-09  David Hyatt  <hyatt@apple.com>
24076
24077         Reviewed by Adam Roben.
24078
24079         https://bugs.webkit.org/show_bug.cgi?id=37353, clean up cursors used by RenderStyles.
24080
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):
24092
24093 2010-04-09  David Hyatt  <hyatt@apple.com>
24094
24095         Reviewed by Adam Roben.
24096         
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.
24100
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):
24217
24218 2010-04-09  Andrey Kosyakov  <caseq@chromium.org>
24219
24220         Reviewed by Darin Adler.
24221
24222         Fixed ResourceError::failingURL() and ResourceResponse::httpStatusText()
24223         to return meaningful values.
24224         https://bugs.webkit.org/show_bug.cgi?id=37274
24225
24226         * platform/network/mac/ResourceErrorMac.mm:
24227         (WebCore::ResourceError::platformLazyInit):
24228         * platform/network/mac/ResourceResponseMac.mm:
24229         (WebCore::ResourceResponse::platformLazyInit):
24230
24231 2010-04-09  Jeremy Orlow  <jorlow@chromium.org>
24232
24233         Reviewed by Darin Adler.
24234
24235         Move the IDB::open ExceptionCode paramter to be last
24236         https://bugs.webkit.org/show_bug.cgi?id=37277
24237
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.
24244
24245         No functional change.
24246
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:
24256
24257 2010-04-09  Dmitry Titov  <dimich@chromium.org>
24258
24259         Reviewed by Darin Adler.
24260
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
24263
24264         Test: fast/workers/worker-close-more.html
24265
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.
24275
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().
24281
24282         * workers/DedicatedWorkerContext.cpp:
24283         (WebCore::DedicatedWorkerContext::postMessage):
24284         Removed check that immediately disables postMessage from WorkerContext after close().
24285
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.
24293
24294         * workers/WorkerThread.cpp:
24295         (WebCore::WorkerThread::workerThread):
24296         (WebCore::WorkerThread::stop):
24297         Use new forbidExecution(TerminateRunningScript) to immediately terminate the JS.
24298
24299 2010-04-09  Kent Tamura  <tkent@chromium.org>
24300
24301         Reviewed by Darin Adler.
24302
24303         Implement interactive validation for forms.
24304         https://bugs.webkit.org/show_bug.cgi?id=34930
24305
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.
24311
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
24318
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:
24333
24334 2010-04-09  Sam Weinig  <sam@webkit.org>
24335
24336         Fix the mac WebKit2 build.
24337
24338         * WebCore.base.exp:
24339
24340 2010-04-08  Alexey Proskuryakov  <ap@apple.com>
24341
24342         Reviewed by Darin Adler.
24343
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
24346
24347         Test: fast/events/gc-freeze-with-attribute-listeners.html
24348
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
24351         have a wrapper.
24352
24353         * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Don't create
24354         wrappers for attribute event listeners - if there is a node, JSLazyEventListener::initializeJSFunction()
24355         will create one.
24356
24357         * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the problem
24358         we are stepping around now.
24359
24360 2010-04-09  Xan Lopez  <xlopez@igalia.com>
24361
24362         Reviewed by Gustavo Noronha.
24363
24364         WebGtk GLib-CRITICAL Segmentation fault
24365         https://bugs.webkit.org/show_bug.cgi?id=34937
24366
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.
24370
24371         * plugins/gtk/PluginPackageGtk.cpp:
24372         (WebCore::PluginPackage::fetchInfo):
24373
24374 2010-04-09  Pavel Feldman  <pfeldman@chromium.org>
24375
24376         Reviewed by Yury Semikhatsky.
24377
24378         Web Inspector: Cannot select elements within iframes with the magnifying glass.
24379
24380         https://bugs.webkit.org/show_bug.cgi?id=31732
24381
24382         * inspector/InspectorController.cpp:
24383         (WebCore::InspectorController::inspect):
24384         (WebCore::InspectorController::handleMousePress):
24385         * inspector/InspectorController.h:
24386         * page/EventHandler.cpp:
24387         (WebCore::EventHandler::handleMousePressEvent):
24388
24389 2010-04-09  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
24390
24391         Reviewed by Simon Hausmann.
24392
24393         [Qt]Fix compile error with QT_NO_PROPERTIES
24394         https://bugs.webkit.org/show_bug.cgi?id=36526
24395
24396         Disable dynamic properties when QT_NO_PROPERTIES is defined.
24397
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::):
24407
24408 2010-04-09  David Leong  <david.leong@nokia.com>
24409
24410         Reviewed by Simon Hausmann.
24411
24412         [Qt] Symbian apps crash on exit due to a bad qObject_cast.
24413
24414         https://bugs.webkit.org/show_bug.cgi?id=37303
24415
24416         Added check for NULL to avoid the crash.
24417
24418         * plugins/symbian/PluginViewSymbian.cpp:
24419         (WebCore::PluginView::platformDestroy):
24420
24421 2010-04-09  Mark Rowe  <mrowe@apple.com>
24422
24423         Reviewed by Oliver Hunt.
24424
24425         <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
24426
24427         * WebCore.xcodeproj/project.pbxproj: Wire up the script.  Remove the three inappropriate
24428         files from the Copy Bundle Resources build phase.
24429
24430 2010-04-09  Zhenyao Mo  <zmo@google.com>
24431
24432         Reviewed by Darin Fisher.
24433
24434         Passing null WebGLObjects should synthesize INVALID_VALUE error
24435         https://bugs.webkit.org/show_bug.cgi?id=37047
24436
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.
24454
24455 2010-04-09  Zhenyao Mo  <zmo@google.com>
24456
24457         Reviewed by Dimitri Glazkov.
24458
24459         Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D
24460         https://bugs.webkit.org/show_bug.cgi?id=37174
24461
24462         Test: fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
24463
24464         * platform/graphics/mac/GraphicsContext3DMac.cpp: resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D.
24465         (WebCore::GraphicsContext3D::copyTexImage2D):
24466         (WebCore::GraphicsContext3D::copyTexSubImage2D):
24467
24468 2010-04-09  Evan Stade  <estade@chromium.org>
24469
24470         Reviewed by Dimitri Glazkov.
24471
24472         [chromium] <select> dropdowns don't die when an item is selected
24473         https://bugs.webkit.org/show_bug.cgi?id=37243
24474
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:
24480
24481 2010-04-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
24482
24483         Reviewed by Simon Hausmann.
24484
24485         [Qt] Fix crashes with package builds in release
24486
24487         * WebCore.pro: Don't add NDEBUG to the defines here, add it from JavaScriptCore.pri
24488
24489 2010-04-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24490
24491         Reviewed by Simon Fraser.
24492
24493         Remove "all" value from the view-mode media feature (as agreed on
24494         1-Apr-2010) in the Widgets voice conf.
24495
24496         * css/CSSValueKeywords.in:
24497         * css/MediaQueryEvaluator.cpp:
24498         (WebCore::view_modeMediaFeatureEval):
24499
24500 2010-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>
24501
24502         Unreviewed, rolling out r57286.
24503         http://trac.webkit.org/changeset/57286
24504         https://bugs.webkit.org/show_bug.cgi?id=37312
24505
24506         "Caused intermittent test failures on all Mac bots."
24507         (Requested by eseidel on #webkit).
24508
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):
24533
24534 2010-04-09  Andras Becsi  <abecsi@webkit.org>
24535
24536         Reviewed by Simon Hausmann.
24537
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
24540
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.
24545
24546         * WebCore.pri: remove --preprocessor usage
24547         * css/make-css-file-arrays.pl: remove gcc dependency
24548
24549 2010-04-08  Chris Evans  <cevans@chromium.org>
24550
24551         Reviewed by Sam Weinig.
24552
24553         Use the new UserGestureIndictor for _blank POST requests.
24554
24555         https://bugs.webkit.org/show_bug.cgi?id=34541
24556
24557         Test: fast/events/popup-blocked-to-post-blank.html
24558
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
24567           open a new window.
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
24573           callback.
24574         * dom/UserGestureIndicator.h:
24575         * dom/UserGestureIndicator.cpp:
24576         (WebCore::UserGestureIndicator::UserGestureIndicator):
24577           Add ability to store a negative indication.
24578
24579 2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
24580
24581         Reviewed by Simon Fraser.
24582
24583         Spatial Navigation: proper handle negative x or y coordinates
24584         https://bugs.webkit.org/show_bug.cgi?id=36773
24585
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
24588         any of such cases.
24589
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
24593         logic.
24594
24595         Test: fast/events/spatial-navigation/snav-offscreen-content.html
24596
24597         * page/SpatialNavigation.cpp:
24598         (WebCore::distanceDataForNode):
24599         (WebCore::checkNegativeCoordsForNode):
24600
24601 2010-04-08  Dumitru Daniliuc  <dumi@chromium.org>
24602
24603         Reviewed by Geoffrey Garen.
24604
24605         Create the creation callback is the current world.
24606         https://bugs.webkit.org/show_bug.cgi?id=37290
24607
24608         * bindings/js/JSDatabaseCallback.cpp:
24609         (WebCore::JSDatabaseCallback::JSDatabaseCallback):
24610
24611 2010-04-08  David Hyatt  <hyatt@apple.com>
24612
24613         Reviewed by Oliver Hunt.
24614
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.
24618
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.
24623
24624         * css/CSSGrammar.y:
24625         * css/CSSStyleSelector.cpp:
24626         (WebCore::CSSStyleSelector::styleForElement):
24627         * dom/Document.cpp:
24628         (WebCore::Document::Document):
24629         * dom/Document.h:
24630         (WebCore::Document::usesLinkRules):
24631         (WebCore::Document::setUsesLinkRules):
24632
24633 2010-04-08  David Hyatt  <hyatt@apple.com>
24634
24635         Reviewed by Oliver Hunt.
24636
24637         Caught by pixel tests.  I missed patching the borderRightColor() call for fieldset border painting so the
24638         border stopped showing up.
24639         
24640         * rendering/RenderFieldset.cpp:
24641         (WebCore::RenderFieldset::paintBorderMinusLegend):
24642
24643 2010-04-07  David Hyatt  <hyatt@apple.com>
24644
24645         Reviewed by Oliver Hunt.
24646
24647         https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited.
24648
24649         This patch implements the policy described by David Baron here:
24650         
24651         http://dbaron.org/mozilla/visited-privacy
24652         
24653         Added new tests in fast/history.
24654
24655         * WebCore.base.exp:
24656         Expose functions needed for the WebKit SPI used by layout tests.
24657
24658         * WebCore.xcodeproj/project.pbxproj:
24659         * accessibility/AccessibilityRenderObject.cpp:
24660         (WebCore::AccessibilityRenderObject::isVisited):
24661         Make sure accessibility objects still return visited information.
24662         
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.
24671
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).
24691
24692         * dom/Element.cpp:
24693         (WebCore::Element::pseudoStyleCacheIsInvalid):
24694         Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed.
24695
24696         * inspector/InspectorDOMAgent.cpp:
24697         (WebCore::InspectorDOMAgent::getStyles):
24698         Let the Web Inspector see :visited computed styles by default.
24699         
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.
24704
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).
24753     
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:
24761         (WebCore::):
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
24771         all).
24772
24773         (WebCore::):
24774         * svg/graphics/SVGPaintServer.cpp:
24775         (WebCore::SVGPaintServer::fillPaintServer):
24776         (WebCore::SVGPaintServer::strokePaintServer):
24777         Patch SVG fill/stroke painting to honor :visited.
24778
24779 2010-04-08  Benjamin Otte  <otte@gnome.org>
24780
24781         Reviewed by Gustavo Noronha.
24782
24783         Fix build with MathML enabled.
24784
24785         * GNUmakefile.am:
24786
24787 2010-04-08  Daniel Bates  <dbates@rim.com>
24788
24789         No review, rolling out 56655.
24790         http://trac.webkit.org/changeset/56655
24791         https://bugs.webkit.org/show_bug.cgi?id=9268
24792
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.
24798
24799         We need to look into this issue some more.
24800
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:
24808
24809 2010-03-30  Dumitru Daniliuc  <dumi@chromium.org>
24810
24811         Reviewed by Dimitri Glazkov.
24812
24813         Refactor DatabaseTracker, part 1: Remove the dependency on
24814         OriginQuotaManager from DatabaseTracker.h.
24815
24816         https://bugs.webkit.org/show_bug.cgi?id=31482
24817
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):
24841
24842 2010-04-08  Kwang Yul Seo  <skyul@company100.net>
24843
24844         Reviewed by Simon Hausmann.
24845
24846         [WINCE] Replace max with std::max
24847         https://bugs.webkit.org/show_bug.cgi?id=37201
24848
24849         std::max is preferred.
24850
24851         * platform/wince/FileSystemWince.cpp:
24852         (WebCore::makeAllDirectories):
24853         (WebCore::pathGetFileName):
24854
24855 2010-04-08  Antonio Gomes  <tonikitoo@webkit.org>
24856
24857         Reviewed by Laszlo Gombos.
24858
24859         [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility
24860         https://bugs.webkit.org/show_bug.cgi?id=36405
24861
24862         * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp.
24863         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24864
24865 2010-04-08  Pavel Feldman  <pfeldman@chromium.org>
24866
24867         Reviewed by Yury Semikhatsky.
24868
24869         Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.
24870
24871         https://bugs.webkit.org/show_bug.cgi?id=37267
24872
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:
24882         (WebCore::):
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):
24903
24904 2010-04-01  Antonio Gomes  <tonikitoo@webkit.org>
24905
24906         Reviewed by David Hyatt.
24907
24908         [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
24909         https://bugs.webkit.org/show_bug.cgi?id=29431
24910
24911         Test: fast/overflow/scrollbar-restored-and-then-locked.html
24912
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.
24917
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.
24921
24922         Two optional parameters were also added to Frame's createView method, for horizontal and vertical
24923         lock state persistence cross page loads.
24924
24925         * page/Frame.cpp:
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):
24938
24939 2010-04-08  Yury Semikhatsky  <yurys@chromium.org>
24940
24941         Reviewed by Pavel Feldman.
24942
24943         Correctly save number of properties when object being serialized
24944         have properties in its prorotype.
24945
24946         https://bugs.webkit.org/show_bug.cgi?id=37263
24947
24948         * bindings/v8/SerializedScriptValue.cpp:
24949         (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
24950         (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
24951
24952 2010-04-08  Jeremy Orlow  <jorlow@chromium.org>
24953
24954         Reviewed by Yury Semikhatsky.
24955
24956         IDB callbacks should fire asynchronously
24957         https://bugs.webkit.org/show_bug.cgi?id=37265
24958
24959         Fix the firing behavior of the callbacks to not be synchronous.
24960
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.
24963
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:
24973
24974 2010-04-08  Kent Tamura  <tkent@chromium.org>
24975
24976         Reviewed by Darin Adler.
24977
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
24980
24981         Remove checks against m_form and m_hasName in
24982         HTMLFormControlElement::willValidate(), and remove the code to
24983         track their updates.
24984
24985         Test: fast/forms/willvalidate.html
24986
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.
25001
25002 2010-04-08  Young Han Lee  <joybro@company100.net>
25003
25004         Reviewed by Simon Hausmann.
25005
25006         [WINCE] Add missing headers
25007         https://bugs.webkit.org/show_bug.cgi?id=37199
25008
25009         Include missing headers.
25010
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:
25017
25018 2010-04-08  Kwang Yul Seo  <skyul@company100.net>
25019
25020         Reviewed by Simon Hausmann.
25021
25022         [WINCE] Use WebCore::instanceHandle()
25023         https://bugs.webkit.org/show_bug.cgi?id=37202
25024
25025         Page::instanceHandle() is moved to WebCore::instanceHandle().
25026
25027         * platform/wince/PasteboardWince.cpp:
25028         (WebCore::Pasteboard::Pasteboard):
25029         * platform/wince/SharedTimerWince.cpp:
25030         (WebCore::initializeOffScreenTimerWindow):
25031
25032 2010-04-08  Vitaly Repeshko  <vitalyr@chromium.org>
25033
25034         Reviewed by Dimitri Glazkov.
25035
25036         [V8] Fix crash in NodeFilterCondition in detached iframe
25037         https://bugs.webkit.org/show_bug.cgi?id=37234
25038
25039         Test: fast/dom/node-filter-detached-iframe-crash.html
25040
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:
25048
25049 2010-04-08  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
25050
25051         Reviewed by Simon Hausmann.
25052
25053          [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp
25054          https://bugs.webkit.org/show_bug.cgi?id=37226
25055
25056         * platform/graphics/qt/GraphicsContext3DQt.cpp:
25057         (WebCore::GraphicsContext3D::shaderSource):
25058
25059 2010-04-08  Chris Evans  <cevans@chromium.org>
25060
25061         Reviewed by Adam Barth.
25062
25063         Sanity: apply a max node depth to XML parsing.
25064
25065         https://bugs.webkit.org/show_bug.cgi?id=37247
25066
25067         Test: fast/images/svg-nested.html
25068
25069         * dom/XMLTokenizer.cpp:
25070         (WebCore::XMLTokenizer::pushCurrentNode):
25071           Error out the parse upon a really large node depth.
25072
25073 2010-04-07  Dumitru Daniliuc  <dumi@chromium.org>
25074
25075         Reviewed by Jeremy Orlow.
25076
25077         Fix Chromium's HTML5 DB support in --single-process mode.
25078         https://bugs.webkit.org/show_bug.cgi?id=37186.
25079
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.
25084
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.
25088
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):
25103
25104 2010-04-07  Chris Marrin  <cmarrin@apple.com>
25105
25106         Reviewed by Steve Falkenburg.
25107
25108         Remove QuartzCoreInterface from the build
25109         
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.
25112
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):
25124
25125 2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
25126
25127         Unreviewed, rolling out r57178.
25128         http://trac.webkit.org/changeset/57178
25129         https://bugs.webkit.org/show_bug.cgi?id=37240
25130
25131         Caused chromium browser_test and ui_test regressions
25132         (Requested by ojan on #webkit).
25133
25134         * bindings/v8/ScriptController.cpp:
25135         (WebCore::ScriptController::processingUserGesture):
25136
25137 2010-04-07  Jian Li  <jianli@chromium.org>
25138
25139         Reviewed by Adam Barth and Dmitry Titov.
25140
25141         Add the comment and assert that we're generating version 4 random number
25142         based UUIDs.
25143         https://bugs.webkit.org/show_bug.cgi?id=36472
25144
25145         * platform/UUID.cpp:
25146         (WebCore::createCanonicalUUIDString):
25147         * platform/UUID.h:
25148
25149 2010-04-07  Erik Arvidsson  <arv@chromium.org>
25150
25151         Reviewed by Adam Barth.
25152
25153         Allow white listing access from origin to local origin.
25154         https://bugs.webkit.org/show_bug.cgi?id=37228
25155
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.
25159
25160         Test: http/tests/security/local-image-from-remote-whitelisted.html
25161
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
25169
25170 2010-04-07  Luiz Agostini  <luiz.agostini@openbossa.org>
25171
25172         Reviewed by Darin Adler.
25173
25174         Adding static method zero() to classes IntPoint and FloatPoint.
25175         https://bugs.webkit.org/show_bug.cgi?id=37220
25176
25177         Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler.
25178
25179         * platform/graphics/FloatPoint.h:
25180         (WebCore::FloatPoint::zero):
25181         * platform/graphics/IntPoint.h:
25182         (WebCore::IntPoint::zero):
25183         (WebCore::IntPoint::clampNegativeToZero):
25184
25185 2010-04-07  Alexey Proskuryakov  <ap@apple.com>
25186
25187         * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment.
25188
25189 2010-04-07  Alexey Proskuryakov  <ap@apple.com>
25190
25191         Reviewed by Darin Adler.
25192
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
25196
25197         * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added
25198         a constant for ProtectionSpaceAuthenticationSchemeUnknown.
25199
25200         * platform/network/cf/AuthenticationCF.cpp: (WebCore::core):
25201         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod):
25202         Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
25203
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.
25208
25209 2010-04-07  Jaime Yap  <jaimeyap@google.com>
25210
25211         Reviewed by Pavel Feldman.
25212
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
25216
25217         No new tests.
25218
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):
25236
25237 2010-04-07  Jay Civelli  <jcivelli@chromium.org>
25238
25239         Reviewed by Jian Li.
25240
25241         [chromium] Fixing a NULL pointer being dereferenced in some cases.
25242         https://bugs.webkit.org/show_bug.cgi?id=37141
25243
25244         Test: platform/chromium/fast/forms/search-popup-crasher.html
25245
25246         * platform/chromium/PopupMenuChromium.cpp:
25247         (WebCore::PopupMenu::~PopupMenu):
25248
25249 2010-04-07  Kinuko Yasuda  <kinuko@chromium.org>
25250
25251         Reviewed by Jian Li.
25252
25253         Add skeleton FileStream module for providing sync file operations for FileAPI
25254         https://bugs.webkit.org/show_bug.cgi?id=37217
25255
25256         For now the module just defines an interface and is almost empty.
25257         Implementation will be added.
25258
25259         No new tests; will be added when we have complete implementation.
25260
25261         * GNUmakefile.am:
25262         * WebCore.gypi:
25263         * WebCore.pro:
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):
25276
25277 2010-04-07  Oliver Hunt  <oliver@apple.com>
25278
25279         Reviewed by Darin Adler.
25280
25281         Remove some unnecessary uses of commonJSGlobalData
25282         https://bugs.webkit.org/show_bug.cgi?id=37229
25283
25284         Pass the ExecState down to identifierFromNPIdentifier and update call sites
25285
25286         * bridge/NP_jsobject.cpp:
25287         (_NPN_Invoke):
25288         (_NPN_GetProperty):
25289         (_NPN_SetProperty):
25290         (_NPN_RemoveProperty):
25291         (_NPN_HasProperty):
25292         (_NPN_HasMethod):
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:
25298
25299 2010-04-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25300
25301         Reviewed by Darin Adler.
25302
25303         Poor rendering on lala.com with frame flattening
25304         https://bugs.webkit.org/show_bug.cgi?id=37164
25305
25306         Do not flatten offscreen iframes.
25307
25308         Test: fast/frames/flattening/iframe-flattening-offscreen.html
25309
25310         * rendering/RenderPartObject.cpp:
25311         (WebCore::RenderPartObject::flattenFrame):
25312         * rendering/RenderPartObject.h:
25313
25314 2010-04-07  Abhishek Arya  <inferno@chromium.org>
25315
25316         Reviewed by Adam Barth.
25317
25318         [V8] Add a missing check for constructor call in WebKitPointConstructor.
25319         https://bugs.webkit.org/show_bug.cgi?id=37210
25320
25321         Test: fast/constructors/constructor-as-function-crash.html
25322
25323         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
25324         (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call.
25325
25326 2010-04-07  Enrica Casucci  <enrica@apple.com>
25327
25328         Reviewed by Darin Adler.
25329
25330         https://bugs.webkit.org/show_bug.cgi?id=37219
25331         
25332         This change disables text caret for the iPhone platflorm.
25333         Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0.
25334
25335         * editing/SelectionController.cpp:
25336         (WebCore::SelectionController::recomputeCaretRect):
25337         (WebCore::SelectionController::paintCaret):
25338         * page/Frame.cpp:
25339         (WebCore::Frame::paintDragCaret):
25340
25341 2010-04-07  Enrica Casucci  <enrica@apple.com>
25342
25343         Reviewed by Dave Hyatt.
25344
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>
25348         
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.
25357         
25358         The original version of this patch has been written by Dan Bernstein.
25359
25360         Test: fast/repaint/stacked-diacritics.html
25361
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:
25392         (WebCore::):
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:
25470
25471 2010-04-07  Joseph Pecoraro  <joepeck@webkit.org>
25472
25473         Reviewed by Darin Adler.
25474
25475         Fix incorrect white-space in WebGLRenderingContext.idl
25476         https://bugs.webkit.org/show_bug.cgi?id=31339
25477
25478         * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace.
25479
25480 2010-04-07  Rodrigo Belem  <rodrigo.belem@openbossa.org>
25481
25482         Reviewed by Simon Hausmann.
25483
25484         [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc)
25485         https://bugs.webkit.org/show_bug.cgi?id=37173
25486
25487         This patch sets the correct path to the classheaders.pri and then
25488         fixes the installation of the generated headers.
25489
25490         * WebCore.pro:
25491
25492 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
25493
25494         Reviewed by Kenneth Christiansen.
25495
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
25498
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.
25502
25503         * page/FocusController.cpp:
25504         (WebCore::FocusController::findFocusableNodeInDirection):
25505
25506 2010-04-07  Andrey Kosyakov  <caseq@chromium.org>
25507
25508         Reviewed by Yury Semikhatsky.
25509
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
25515
25516         * dom/Document.cpp:
25517         (WebCore::Document::reportException):
25518         (WebCore::Document::addMessage):
25519         * dom/Document.h:
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):
25550
25551 2010-04-07  Dawit Alemayehu  <adawit@kde.org>
25552
25553         Reviewed by Simon Hausmann.
25554
25555         https://bugs.webkit.org/show_bug.cgi?id=36827
25556
25557         Replaced the 'shouldTreatAsAttachment' function with a more generic 
25558         function that returns the content disposition type.
25559
25560         See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
25561
25562         * platform/network/HTTPParsers.cpp:
25563         (WebCore::contentDispositionType):
25564         * platform/network/HTTPParsers.h:
25565         (WebCore::):
25566
25567 2010-04-07  Vitaly Repeshko  <vitalyr@chromium.org>
25568
25569         Reviewed by Yury Semikhatsky.
25570
25571         [V8] Throw exception in SerializedScriptValue on input errors
25572         https://bugs.webkit.org/show_bug.cgi?id=37160
25573
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
25577
25578         * bindings/scripts/CodeGeneratorV8.pm: Custom processing for
25579         function arguments of type SerializedScriptValue.
25580
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
25586         thrown.
25587
25588         SerializedScriptValue::create callers updated to check for
25589         exceptions:
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):
25603
25604 2010-04-07  Alexander Pavlov  <apavlov@chromium.org>
25605
25606         Reviewed by Pavel Feldman.
25607
25608         Web Inspector: Provide a placeholder for resources with no content available
25609         https://bugs.webkit.org/show_bug.cgi?id=37142
25610
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):
25620
25621 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25622
25623         Reviewed by Laszlo Gombos.
25624
25625         https://bugs.webkit.org/show_bug.cgi?id=36750
25626
25627         [Qt] Package build without touch support is broken
25628
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.
25632
25633         * dom/Document.idl: Use conditional instead of #ifdef.
25634         * dom/Element.idl: Ditto.
25635         * page/DOMWindow.idl: Ditto.
25636
25637 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25638
25639         Reviewed by Holger Freyther.
25640
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.
25644
25645         * DerivedSources.cpp:
25646         * DerivedSources.make:
25647         * GNUmakefile.am:
25648
25649 2010-04-06  Jeremy Orlow  <jorlow@chromium.org>
25650
25651         Reviewed by Adam Barth.
25652
25653         V8CustomIDBCallbacks<> should not hold a reference to the frame
25654         https://bugs.webkit.org/show_bug.cgi?id=37154
25655
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.
25660
25661         Doesn't work enough to test yet.
25662
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):
25673
25674 2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
25675
25676         Unreviewed, rolling out r57196.
25677         http://trac.webkit.org/changeset/57196
25678         https://bugs.webkit.org/show_bug.cgi?id=37196
25679
25680         Multiple layout test failures on Chromium (Requested by yurys
25681         on #webkit).
25682
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):
25701
25702 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25703
25704         Unreviewed, rolling out r57199.
25705         http://trac.webkit.org/changeset/57199
25706         https://bugs.webkit.org/show_bug.cgi?id=36750
25707
25708         Breaks non-touch enabled build
25709
25710         * dom/Document.idl:
25711         * dom/Element.idl:
25712         * page/DOMWindow.idl:
25713
25714 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25715
25716         Reviewed by Laszlo Gombos.
25717
25718         https://bugs.webkit.org/show_bug.cgi?id=36750
25719
25720         [Qt] Package build without touch support is broken
25721
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.
25725
25726         * dom/Document.idl: Use conditional instead of #ifdef.
25727         * dom/Element.idl: Ditto.
25728         * page/DOMWindow.idl: Ditto.
25729
25730 2010-04-07  Jaime Yap  <jaimeyap@google.com>
25731
25732         Reviewed by Yury Semikhatsky.
25733
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
25737
25738         No new tests.
25739
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):
25757
25758 2010-04-06  Greg Bolsinga  <bolsinga@apple.com>
25759
25760         Reviewed by Darin Adler.
25761
25762         https://bugs.webkit.org/show_bug.cgi?id=37188
25763         WebCore::page::Geolocation::m_shouldClearCache is not used.
25764
25765         * page/Geolocation.cpp:
25766         (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
25767         * page/Geolocation.h:
25768         (WebCore::Geolocation::): Ditto.
25769
25770 2010-04-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
25771
25772         Reviewed by Eric Seidel.
25773
25774         Remove obsolete MOBILE flag
25775         https://bugs.webkit.org/show_bug.cgi?id=37125
25776
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.
25780
25781         No new tests as there is no new functionality.
25782
25783         * config.h:
25784         * html/HTMLTokenizer.cpp:
25785
25786 2010-04-06  Adam Barth  <abarth@webkit.org>
25787
25788         Reviewed by Eric Seidel.
25789
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
25792
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.
25796
25797         Test: fast/workers/worker-terminate-forever.html
25798
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.
25807
25808 2010-04-06  Kinuko Yasuda  <kinuko@chromium.org>
25809
25810         Reviewed by Jian Li.
25811
25812         Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
25813         https://bugs.webkit.org/show_bug.cgi?id=36938
25814
25815         No new tests; will be added when we implement upper layers.
25816
25817         * platform/FileSystem.h:
25818         (WebCore::):
25819         * platform/posix/FileSystemPOSIX.cpp:
25820         (WebCore::openFile):
25821         (WebCore::closeFile):
25822         (WebCore::seekFile):
25823         (WebCore::truncateFile):
25824         (WebCore::writeToFile):
25825         (WebCore::readFromFile):
25826
25827 2010-04-06  Nicolas Weber  <thakis@chromium.org>
25828
25829         Reviewed by Dimitri Glazkov.
25830
25831         Implement DragImage functionality for chromium/mac.
25832         https://bugs.webkit.org/show_bug.cgi?id=37069
25833
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.
25845
25846 2010-04-06  Chris Evans  <cevans@chromium.org>
25847
25848         Reviewed by Adam Barth.
25849
25850         Use the new UserGestureIndictor to process javascript:window.open()
25851
25852         https://bugs.webkit.org/show_bug.cgi?id=37138
25853
25854         * bindings/v8/ScriptController.cpp
25855         (WebCore::ScriptController::processingUserGesture):
25856           Use the new UserGestureIndicator when processing a
25857           javascript:window.open()
25858
25859 2010-04-06  Vangelis Kokkevis  <vangelis@chromium.org>
25860
25861         Reviewed by Dimitri Glazkov.
25862
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
25867
25868         No new functionality so no new tests.
25869
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):
25980
25981 2010-04-06  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
25982
25983         Reviewed by Laszlo Gombos.
25984
25985         [Qt] WebKit does not build on Windows with --3d-canvas
25986         https://bugs.webkit.org/show_bug.cgi?id=37026
25987
25988         * platform/graphics/GraphicsContext3D.h:
25989         * platform/graphics/qt/GraphicsContext3DQt.cpp:
25990         (WebCore::GraphicsContext3D::getActiveAttrib):
25991         (WebCore::GraphicsContext3D::getActiveUniform):
25992
25993 2010-04-06  Abhinav Mithal <abhinav.mithal@nokia.com>
25994
25995         Reviewed by Laszlo Gombos.
25996
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
25999
26000         Do not define XP_WIN if WebKit is compiled for Symbian.
26001
26002         No new tests as there is no new functionality.
26003
26004         * bridge/npapi.h:
26005
26006 2010-04-06  Chris Fleizach  <cfleizach@apple.com>
26007
26008         Reviewed by Beth Dakin.
26009
26010         aria-label doesn't work on image map area
26011         https://bugs.webkit.org/show_bug.cgi?id=36977
26012
26013         Test: platform/mac/accessibility/area-with-aria-label.html
26014
26015         * accessibility/AccessibilityImageMapLink.cpp:
26016         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
26017
26018 2010-04-06  James Robinson  <jamesr@chromium.org>
26019
26020         Reviewed by Simon Fraser.
26021
26022         Reverts the incorrect fixed position fastpath scrolling logic
26023         https://bugs.webkit.org/show_bug.cgi?id=33150
26024
26025         This code does not properly handle overflow or transforms on fixed
26026         position elements, causing repaint bugs on scroll.
26027
26028         No new tests.
26029
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):
26039
26040 2010-04-06  Kevin Ollivier  <kevino@theolliviers.com>
26041
26042         [wx] Build fix for wxMac / Cocoa on wx trunk.
26043         
26044         * platform/wx/wxcode/mac/carbon/fontprops.mm:
26045         (wxFontContainsCharacters):
26046
26047 2010-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
26048
26049         Reviewed by Darin Adler.
26050
26051         JS code generator does not support feature conditional attributes that are writable
26052         https://bugs.webkit.org/show_bug.cgi?id=37149
26053
26054         Write out the feature #ifdef not only for the getter, but also for the setter
26055         function.
26056
26057         * bindings/scripts/CodeGeneratorJS.pm:
26058
26059 2010-04-06  Evan Stade  <estade@chromium.org>
26060
26061         Reviewed by Dimitri Glazkov.
26062
26063         [chromium] need DragImage implementation
26064         https://bugs.webkit.org/show_bug.cgi?id=35811
26065
26066         Use the DragImageRef that the DragController passes to us.
26067
26068         This was previously committed but rolled back for breaking layout
26069         tests. The fix is on the WebKit/chromium side.
26070
26071         * WebCore.gyp/WebCore.gyp:
26072         * WebCore.gypi:
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:
26089
26090 2010-04-01  Yuzo Fujishima  <yuzo@google.com>
26091
26092         Reviewed by Darin Adler.
26093
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
26100
26101         Test: fast/css/invalid-not-with-simple-selector-sequence.html
26102
26103         * css/CSSGrammar.y:
26104         * css/CSSSelector.cpp:
26105         (WebCore::CSSSelector::isSimple):
26106         * css/CSSSelector.h:
26107
26108 2010-04-06  Andy Estes  <aestes@apple.com>
26109
26110         Rubber-stamped by Dan Bernstein.
26111
26112         Remove non-ASCII characters from license headers to fix build errors on
26113         Japanese Windows.
26114
26115         https://bugs.webkit.org/show_bug.cgi?id=37008
26116
26117         * dom/UserGestureIndicator.cpp:
26118         * dom/UserGestureIndicator.h:
26119
26120 2010-04-06  Andrei Popescu  <andreip@google.com>
26121
26122         Reviewed by Dimitri Glazkov.
26123
26124         [V8][Android] PageCache crashes when JavaScript is disabled
26125         https://bugs.webkit.org/show_bug.cgi?id=37150
26126
26127         This patch ensures that saving and restoration of the script
26128         state only happens when JS is enabled and each frame has a
26129         non-null context.
26130
26131         No new tests: existing tests show the feature is working
26132         when JS is enabled. When JS is disabled, manual testing
26133         is required.
26134
26135         * bindings/v8/ScriptCachedFrameData.cpp:
26136         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
26137         (WebCore::ScriptCachedFrameData::restore):
26138
26139 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
26140
26141         Unreviewed build fix.
26142
26143         Web Inspector: missed files were added.
26144
26145
26146         * GNUmakefile.am:
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):
26161
26162 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
26163
26164         Reviewed by Pavel Feldman.
26165
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
26170
26171         * WebCore.gypi:
26172         * WebCore.pro:
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:
26188         (WebCore::):
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):
26203
26204 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
26205
26206         Reviewed by Laszlo Gombos.
26207
26208         Remove unused DIRECTIONAL_PAD_NAVIGATION
26209         https://bugs.webkit.org/show_bug.cgi?id=37134
26210
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.
26214
26215         However bug 23163 landed some code relying on the build flag supposedly to be added,
26216         and is now dead code in trunk.
26217
26218         * dom/Element.cpp:
26219         (WebCore::Element::updateFocusAppearance):
26220
26221 2010-04-06  Mattias Nissler  <mnissler@chromium.org>
26222
26223         Reviewed by Pavel Feldman.
26224
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
26231
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):
26242
26243 2010-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
26244
26245         Reviewed by Yury Semikhatsky.
26246
26247         [V8] Extend the set of types supported by SerializedScriptValue
26248         https://bugs.webkit.org/show_bug.cgi?id=37052
26249
26250         New types include sparse arrays, Uint32, Date, and ImageData.
26251
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.
26256
26257         Deserialization process now avoids exposing the tags using a set
26258         of factory functions for complex objects instead.
26259
26260         Internal buffer type changed to uint8_t to be independent of
26261         whether char is signed or not.
26262
26263         * bindings/v8/SerializedScriptValue.cpp:
26264         (WebCore::):
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):
26323
26324 2010-04-06  Csaba Osztrogonác  <ossy@webkit.org>
26325
26326         Unreviewed buildfix for --minimal build.
26327         Buildfix after r57134. Add ENABLE(WORKERS) guard.
26328
26329         original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
26330
26331         * bindings/js/JSWorkerContextErrorHandler.cpp:
26332
26333 2010-04-06  Dirk Schulze  <krit@webkit.org>
26334
26335         Reviewed by Oliver Hunt.
26336
26337         SVG/SMIL parse failure on attribute keySplines
26338         https://bugs.webkit.org/show_bug.cgi?id=37071
26339
26340         Test: svg/animations/animate-keySplines.html
26341
26342         The String in 'keySplines' can have multiple spaces between numbers
26343         and delimiters. The parsing code is inspired by SVGParserUtilities
26344         and respects this.
26345
26346         * svg/SVGAnimationElement.cpp:
26347         (WebCore::parseKeySplines):
26348
26349 2010-04-06  Yury Semikhatsky  <yurys@chromium.org>
26350
26351         Reviewed by Pavel Feldman.
26352
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.
26362
26363         This patch also makes uncaught exceptions that happen in the onerror
26364         listener be reported to the Worker's onerror handler.
26365
26366         https://bugs.webkit.org/show_bug.cgi?id=36375
26367
26368         * Android.jscbindings.mk:
26369         * GNUmakefile.am:
26370         * WebCore.gypi:
26371         * WebCore.pro:
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:
26398
26399 2010-04-06  Pavel Feldman  <pfeldman@chromium.org>
26400
26401         Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
26402
26403 2010-04-05  MORITA Hajime  <morrita@google.com>
26404
26405         Reviewed by Darin Adler.
26406
26407         RenderProgress.cpp is missing CurrentTime.h
26408         https://bugs.webkit.org/show_bug.cgi?id=37080
26409
26410         No new tests. just fixed compilation error.
26411
26412         * rendering/RenderProgress.cpp:
26413
26414
26415 2010-04-05  Eric Uhrhane  <ericu@chromium.org>
26416
26417         Reviewed by Brady Eidson.
26418
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
26421
26422         The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
26423
26424         No new tests.
26425
26426         * storage/DatabaseTracker.cpp:
26427         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
26428
26429 2010-04-05  Anthony Ricaud  <rik@webkit.org>
26430
26431         Reviewed by Timothy Hatcher.
26432
26433         Web Inspector: Audits launcher view is unusable with a small height window
26434         https://bugs.webkit.org/show_bug.cgi?id=37109
26435
26436         Use flex box instead of absolute positioning to avoid overlapping elements.
26437
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):
26444
26445 2010-04-05  Luiz Agostini  <luiz.agostini@openbossa.org>
26446
26447         Reviewed by Kenneth Rohde Christiansen.
26448
26449         [Qt] Maemo5 theme - wrong spelling
26450         https://bugs.webkit.org/show_bug.cgi?id=37110
26451
26452         Correcting wrong spelling in RenderThemeQt.cpp.
26453
26454         * platform/qt/RenderThemeQt.cpp:
26455
26456 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
26457
26458         Reviewed by Kenneth Rohde Christiansen.
26459
26460         Add EFL-specific code to platform/Platform*Event.h.
26461         http://webkit.org/b/36309
26462
26463         * platform/PlatformWheelEvent.h:
26464         * platform/PlatformMouseEvent.h:
26465         * platform/PlatformKeyboardEvent.h:
26466
26467 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
26468
26469         Reviewed by Kenneth Rohde Christiansen.
26470
26471         Add EFL-specific code to platform/graphics/*.h.
26472         http://webkit.org/b/36308
26473
26474         * platform/graphics/Icon.h:
26475         * platform/graphics/IntRect.h:
26476         * platform/graphics/FloatRect.h:
26477         * platform/graphics/IntPoint.h:
26478
26479 2010-04-05  Robert Hogan  <robert@webkit.org>
26480
26481         Reviewed by Kenneth Rohde Christiansen.
26482
26483         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
26484
26485         Put a maximum on consecutive redirections so we don't have to
26486         worry about whether it's the same url or not.
26487
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.
26491
26492         https://bugs.webkit.org/show_bug.cgi?id=37097
26493
26494         * platform/network/qt/QNetworkReplyHandler.cpp:
26495         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
26496         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
26497         * platform/network/qt/QNetworkReplyHandler.h:
26498
26499 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
26500
26501         Reviewed by Darin Adler and Dimitri Glazkov.
26502
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
26506
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
26510
26511         * dom/Document.cpp:
26512         (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
26513             call to ensure that object loads start before firing window load.
26514         * dom/Node.cpp:
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.
26521
26522 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
26523
26524         Reviewed by Laszlo Gombos.
26525
26526         Cleaned up spatial-navigation-test-cases.html by removing the wrongly
26527         used <frameset> tag.
26528
26529         Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
26530
26531         * manual-tests/spatial-navigation/frameset.html: Added.
26532         * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
26533
26534 2010-04-05  Mark Rowe  <mrowe@apple.com>
26535
26536         Reviewed by Adele Peterson.
26537
26538         Roll out r56989 as it introduced crashes in Mail.
26539         <http://webkit.org/b/37115> / <rdar://problem/7829331>
26540
26541         * dom/Position.cpp:
26542         (WebCore::Position::isCandidate):
26543         * dom/PositionIterator.cpp:
26544         (WebCore::PositionIterator::isCandidate):
26545
26546 2010-04-05  Darin Adler  <darin@apple.com>
26547
26548         Reviewed by Sam Weinig.
26549
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
26552
26553         Test: fast/images/move-image-to-new-document.html
26554
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.
26570
26571         * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
26572         so it can be called by HTMLVideoElement.cpp.
26573
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.
26578
26579 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
26580
26581         Reviewed by Kenneth Rohde Christiansen.
26582
26583         [Symbian] Consolidate Symbian WINSCW environment configuration
26584         https://bugs.webkit.org/show_bug.cgi?id=37100
26585
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.
26588
26589         No new tests as there is no new functionality.
26590
26591         * config.h:
26592
26593 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
26594
26595         Reviewed by Kenneth Rohde Christiansen.
26596
26597         Add missing ClipboardEfl.h to platform/efl.
26598         http://webkit.org/b/36242
26599
26600         * platform/efl/ClipboardEfl.h: Added.
26601
26602 2010-04-05  Yuta Kitamura  <yutak@chromium.org>
26603
26604         Reviewed by Darin Adler.
26605
26606         Escape control characters in CSS string value when it is serialilzed.
26607
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
26611         this issue.
26612
26613         As a side effect, two separate codes for escaping CSS strings are merged, and
26614         become a public function (quoteCSSString).
26615
26616         CSS string value is not correctly serialized when it contains binary characters
26617         https://bugs.webkit.org/show_bug.cgi?id=28938
26618
26619         Test: fast/css/string-quote-binary.html
26620
26621         * css/CSSParser.cpp:
26622         (WebCore::isCSSTokenizerIdentifier):
26623         (WebCore::isCSSTokenizerURL):
26624         (WebCore::quoteCSSString):
26625         (WebCore::quoteCSSStringIfNeeded):
26626         (WebCore::quoteCSSURLIfNeeded):
26627         * css/CSSParser.h:
26628         * css/CSSPrimitiveValue.cpp:
26629         (WebCore::CSSPrimitiveValue::cssText):
26630         * css/FontFamilyValue.cpp:
26631         (WebCore::FontFamilyValue::cssText):
26632
26633 2010-04-05  John Gregg  <johnnyg@google.com>
26634
26635         Reviewed by Darin Adler.
26636
26637         Notifications should not resolve an empty icon parameter as a relative URL
26638         https://bugs.webkit.org/show_bug.cgi?id=36862
26639
26640         * notifications/Notification.cpp:
26641         (WebCore::Notification::Notification):
26642
26643 2010-04-05  Darin Adler  <darin@apple.com>
26644
26645         Reviewed by Mark Rowe.
26646
26647         Removed some unneeded type casts.
26648
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.
26659
26660 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
26661
26662         Unreviewed, rolling out r57081.
26663         http://trac.webkit.org/changeset/57081
26664         https://bugs.webkit.org/show_bug.cgi?id=37121
26665
26666         We think it triggered two tests to fail on Tiger because of
26667         race conditions (Requested by abarth on #webkit).
26668
26669         * dom/Node.cpp:
26670         (WebCore::Node::dispatchGenericEvent):
26671         * html/HTMLSelectElement.cpp:
26672         (WebCore::HTMLSelectElement::parseMappedAttribute):
26673
26674 2010-04-05  Brady Eidson  <beidson@apple.com>
26675
26676         Reviewed by Oliver Hunt.
26677
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
26680
26681         No new tests. (No behavior change)
26682
26683         * storage/StorageNamespaceImpl.cpp:
26684         (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
26685
26686 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
26687
26688         Unreviewed, rolling out r57030.
26689         http://trac.webkit.org/changeset/57030
26690         https://bugs.webkit.org/show_bug.cgi?id=37114
26691
26692         Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
26693         chromium port (Requested by jamesr on #webkit).
26694
26695         * rendering/RenderBlock.h:
26696         * rendering/RenderBlockLineLayout.cpp:
26697         (WebCore::RenderBlock::layoutInlineChildren):
26698
26699 2010-04-05  Alexey Proskuryakov  <ap@apple.com>
26700
26701         Reviewed by Darin Adler.
26702
26703         https://bugs.webkit.org/show_bug.cgi?id=37111
26704         <rdar://problem/7790327> Draw replacement text when plug-in host crashes
26705
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).
26713
26714         * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
26715         since it's now used from WebKit.
26716
26717         * rendering/RenderEmbeddedObject.cpp:
26718         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
26719         initializer.
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.
26728
26729         * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
26730         actual replacement text.
26731
26732         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
26733         setShowsMissingPluginIndicator(), which no longer takes an argument.
26734
26735         * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
26736
26737 2010-04-05  Chris Fleizach  <cfleizach@apple.com>
26738
26739         Reviewed by Darin Adler.
26740
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
26743
26744         When aria-selected is changed in the DOM, it will trigger a selected children change notification. 
26745
26746         Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
26747
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.
26760         * dom/Element.cpp:
26761         (WebCore::Element::updateAfterAttributeChanged):
26762
26763 2010-04-05  Adam Treat  <atreat@rim.com>
26764
26765         Reviewed by Darin Adler.
26766
26767         Fix regression in pixel test for animated svg background images.
26768
26769         https://bugs.webkit.org/show_bug.cgi?id=37027
26770
26771         * svg/graphics/SVGImage.cpp:
26772         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
26773
26774 2010-04-05  Robert Hogan  <robert@webkit.org>
26775
26776         Reviewed by Kenneth Rohde-Christiansen.
26777
26778         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
26779
26780         Qt enters an infinite loop if a redirect response redirects to itself.
26781
26782         Fixes http/tests/xmlhttprequest/connection-error-sync.html
26783
26784         https://bugs.webkit.org/show_bug.cgi?id=37097
26785
26786         * platform/network/qt/QNetworkReplyHandler.cpp:
26787         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
26788
26789 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
26790
26791         Unreviewed, revert r57078.
26792
26793         * Android.jscbindings.mk:
26794         * GNUmakefile.am:
26795         * WebCore.gypi:
26796         * WebCore.pro:
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:
26817
26818 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
26819
26820         Reviewed by Darin Adler.
26821
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
26825
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
26829
26830         * dom/Node.cpp:
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.
26837
26838 2010-04-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26839
26840         Reviewed by Dave Hyatt.
26841
26842         iframe flattening doesn't flatten
26843         https://bugs.webkit.org/show_bug.cgi?id=36798
26844
26845         Fixed to the iframe flattening code so that the iframes on
26846         http://www.samisite.com/test-csb2nf/id43.htm are actually
26847         flattened.
26848
26849         Covered by current tests.
26850
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
26859         relayout.
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):
26867
26868 2010-04-05  Vitaly Repeshko  <vitalyr@chromium.org>
26869
26870         Reviewed by Yury Semikhatsky.
26871
26872         [V8] Extend the set of types supported by SerializedScriptValue
26873         https://bugs.webkit.org/show_bug.cgi?id=37052
26874
26875         New types include sparse arrays, Uint32, Date, and ImageData.
26876
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.
26881
26882         Deserialization process now avoids exposing the tags using a set
26883         of factory functions for complex objects instead.
26884
26885         Internal buffer type changed to uint8_t to be independent of
26886         whether char is signed or not.
26887
26888         * bindings/v8/SerializedScriptValue.cpp:
26889         (WebCore::):
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):
26948
26949 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
26950
26951         Reviewed by Pavel Feldman.
26952
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.
26962
26963         This patch also makes uncaught exceptions that happen in the onerror
26964         listener be reported to the Worker's onerror handler.
26965
26966         https://bugs.webkit.org/show_bug.cgi?id=36375
26967
26968         * WebCore.gypi:
26969         * WebCore.pro:
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:
26994
26995 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
26996
26997         Reviewed by Darin Adler.
26998
26999         Fix some  "explicit braces to avoid ambiguous 'else'" warnings
27000         https://bugs.webkit.org/show_bug.cgi?id=37088
27001
27002         * dom/Node.cpp:
27003         (WebCore::Node::dispatchGenericEvent):
27004         * page/DOMWindow.cpp:
27005         (WebCore::DOMWindow::dispatchEvent):
27006
27007 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27008
27009         Reviewed by Kenneth Rohde Christiansen.
27010
27011         Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
27012
27013         Instead of defining and undefining it later, let's not
27014         define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
27015
27016         No new tests as there is no new functionality.
27017
27018         * config.h:
27019
27020 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27021
27022         Reviewed by Kenneth Rohde Christiansen.
27023
27024         [Qt] [Symbian] Remove obsolete build flags for Symbian
27025         https://bugs.webkit.org/show_bug.cgi?id=37083
27026
27027         Symbian port of QtWebKit port does not use icu, so it does 
27028         not need U_HAVE_* defines.
27029
27030         Symbian now has inttypes.h as part of OpenC.
27031
27032         stdio.h, limits.h and MathExtras.h are already included in
27033         more appropriate locations.
27034
27035         No new tests as there is no new functionality.
27036
27037         * config.h:
27038
27039 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
27040
27041         Not reviewed: chromium build fix.
27042
27043         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
27044         (WebCore::V8InspectorFrontendHost::platformCallback):
27045         (WebCore::V8InspectorFrontendHost::portCallback):
27046
27047 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
27048
27049         Reviewed by Yury Semikhatsky.
27050
27051         Web Inspector: [REGRESSION] platform detection in Chromium
27052         has regressed to unknown.
27053
27054         https://bugs.webkit.org/show_bug.cgi?id=37081
27055
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:
27065
27066 2010-04-05  Andrey Kosyakov  <caseq@chromium.org>
27067
27068         Reviewed by Yury Semikhatsky.
27069
27070         Remove logging of successful XHR and worker's importScript()
27071         to inspector console
27072         https://bugs.webkit.org/show_bug.cgi?id=37078
27073
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):
27086
27087 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
27088
27089         Not reviewed. Rolling out chromium changes r57028 and r57032
27090         for breaking chromium layout tests.
27091
27092         * WebCore.gyp/WebCore.gyp:
27093         * WebCore.gypi:
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:
27104
27105 2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
27106
27107         Reviewed by Simon Fraser.
27108         Patch by Antonio Gomes <tonikitoo@webkit.org>
27109
27110         Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
27111
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.
27118
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.
27125
27126         No behaviour change at this point. Mostly moving code around to the place
27127         where it should live in.
27128
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:
27139
27140 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
27141
27142         Reviewed by Timothy Hatcher.
27143
27144         Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
27145
27146         https://bugs.webkit.org/show_bug.cgi?id=37072
27147
27148         * inspector/front-end/StylesSidebarPane.js:
27149         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
27150
27151 2010-04-03  yael aharon  <yael.aharon@nokia.com>
27152
27153         Reviewed by Darin Adler.
27154
27155         Enable HTMLProgressElement for Safari on OSX
27156         https://bugs.webkit.org/show_bug.cgi?id=36961
27157
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):
27166
27167 2010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>
27168
27169         Unreviewed.
27170
27171         Fix debug build with GCC >= 4.3.
27172
27173         * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
27174
27175 2010-04-03  Kenneth Russell  <kbr@google.com>
27176
27177         Reviewed by Darin Fisher.
27178
27179         Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
27180         https://bugs.webkit.org/show_bug.cgi?id=36574
27181
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.
27188
27189         Test: fast/canvas/webgl/null-uniform-location.html
27190
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):
27216
27217 2010-04-02  Andy Estes  <aestes@apple.com>
27218
27219         Reviewed by Adam Barth.
27220
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.
27225
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
27228         through the DOM.
27229
27230         https://bugs.webkit.org/show_bug.cgi?id=37008
27231
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
27235
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().
27248         * dom/Event.cpp:
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
27264         being processed.
27265         (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
27266         (WebCore::EventHandler::handleMouseReleaseEvent): Same.
27267         (WebCore::EventHandler::keyEvent): Same.
27268         (WebCore::EventHandler::handleTouchEvent): Same.
27269
27270 2010-04-02  Justin Schuh  <jschuh@chromium.org>
27271
27272         Reviewed by Alexey Proskuryakov.
27273
27274         XHR allows arbitrary XSRF across domains 
27275         https://bugs.webkit.org/show_bug.cgi?id=36843
27276
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.
27280
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
27285
27286         * loader/DocumentThreadableLoader.cpp:
27287         (WebCore::DocumentThreadableLoader::preflightFailure):
27288
27289 2010-04-02  Nayan Kumar K  <nayankk@gmail.com>
27290
27291         Reviewed by Eric Seidel.
27292
27293         Fix for WML enabled build failure.
27294
27295         https://bugs.webkit.org/show_bug.cgi?id=36648
27296
27297         * wml/WMLOptionElement.cpp:
27298         (WebCore::WMLOptionElement::disabled):
27299         * wml/WMLOptionElement.h:
27300         * wml/WMLSelectElement.cpp:
27301         (WebCore::WMLSelectElement::listBoxSelectItem):
27302         * wml/WMLSelectElement.h:
27303
27304 2010-04-02  MORITA Hajime  <morrita@google.com>
27305
27306         Reviewed by Alexey Proskuryakov.
27307
27308         https://bugs.webkit.org/show_bug.cgi?id=37011
27309         Position::primaryDirection() should not use its own accessor.
27310
27311         No new tests. This is small clenaup with no behaviour change.
27312
27313         * dom/Position.cpp:
27314         (WebCore::Position::primaryDirection):
27315
27316 2010-04-02  Eric Uhrhane  <ericu@chromium.org>
27317
27318         Reviewed by Brady Eidson.
27319
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
27322
27323         No new tests.  Requires testing on Safari on Windows.
27324
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.
27327
27328 2010-04-02  Michael Nordman  <michaeln@google.com>
27329
27330         Reviewed by Nate Chapin.
27331
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
27335
27336         No new tests, new new functionality.
27337
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):
27345
27346 2010-04-02  James Robinson  <jamesr@chromium.org>
27347
27348         Reviewed by Simon Fraser.
27349
27350         Remove an ASSERT that sometimes flakes due to time dependent animations
27351         https://bugs.webkit.org/show_bug.cgi?id=37048
27352
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.
27356
27357         No change in behavior, no new tests.
27358
27359         * rendering/RenderLayer.cpp:
27360         (WebCore::RenderLayer::updateLayerPositions):
27361
27362 2010-04-02  Evan Stade  <estade@chromium.org>
27363
27364         Reviewed by Adam Barth.
27365
27366         [chromium] need DragImage implementation
27367         https://bugs.webkit.org/show_bug.cgi?id=35811
27368
27369         Add two files that failed to get added in my previous patch.
27370
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):
27385
27386 2010-04-02  Jer Noble  <jer.noble@apple.com>
27387
27388         Reviewed by Eric Carlson.
27389
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.
27393
27394         https://bugs.webkit.org/show_bug.cgi?id=36624
27395
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.
27402
27403 2010-04-02  James Robinson  <jamesr@chromium.org>
27404
27405         Reviewed by Darin Adler.
27406
27407         Splits RenderBlock::layoutInline into smaller functions
27408         https://bugs.webkit.org/show_bug.cgi?id=36921
27409
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.
27414
27415         Perf neutral on the page cyclers.  This doesn't introduce any function
27416         calls into the hottest layout paths inside layoutRunsAndFloats and
27417         findNextLineBreak.
27418
27419         No change in behavior, no new tests.
27420
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):
27428
27429 2010-04-02  Evan Stade  <estade@chromium.org>
27430
27431         Reviewed by Eric Seidel.
27432
27433         [chromium] need DragImage implementation
27434         https://bugs.webkit.org/show_bug.cgi?id=35811
27435
27436         Basic implementation using SkBitmap. Transformations are not supported
27437         yet. No implementation for mac.
27438
27439         * WebCore.gyp/WebCore.gyp:
27440         * WebCore.gypi:
27441         * platform/chromium/DragImageChromium.cpp:
27442         * platform/chromium/DragImageRef.h:
27443
27444 2010-04-02  Evan Martin  <evan@chromium.org>
27445
27446         Reviewed by Eric Seidel.
27447
27448         [chromium] font fallback for generic fonts picks wrong font
27449         https://bugs.webkit.org/show_bug.cgi?id=37033
27450
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.
27454
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.
27459
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.
27464
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.
27467
27468         * platform/graphics/chromium/FontCacheLinux.cpp:
27469         (WebCore::FontCache::createFontPlatformData):
27470
27471 2010-04-02  Andrew Scherkus  <scherkus@chromium.org>
27472
27473         Reviewed by Eric Carlson and Eric Seidel.
27474
27475         Don't stop the playback event timer when media resource loading has suspended.
27476         https://bugs.webkit.org/show_bug.cgi?id=37003
27477
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.
27481
27482         Test: http/tests/media/video-play-suspend.html
27483
27484         * html/HTMLMediaElement.cpp:
27485         (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
27486
27487 2010-04-02  Darin Adler  <darin@apple.com>
27488
27489         Fix mispelling that broke the build.
27490
27491         * html/canvas/CanvasRenderingContext2D.cpp:
27492         * html/canvas/CanvasRenderingContext2D.h:
27493         Dashbard -> Dashboard.
27494
27495 2010-04-02  David Levin  <levin@chromium.org>
27496
27497         Reviewed by Darin Adler.
27498
27499         (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
27500         https://bugs.webkit.org/show_bug.cgi?id=36906
27501
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.
27535
27536 2010-04-02  Zhenyao Mo  <zmo@google.com>
27537
27538         Reviewed by Eric Seidel.
27539
27540         Implement and test new framebuffer object attachment behavior.
27541         https://bugs.webkit.org/show_bug.cgi?id=35611
27542
27543         Test: fast/canvas/webgl/framebuffer-object-attachment.html
27544
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):
27569
27570 2010-04-02  Kent Tamura  <tkent@chromium.org>
27571
27572         Reviewed by Darin Adler.
27573
27574         Form control state shouldn't be restored for hidden inputs.
27575         https://bugs.webkit.org/show_bug.cgi?id=26241
27576
27577         To fix this issue, we don't save values if it is not changed from
27578         the default value.
27579
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.
27585
27586         Test: fast/forms/state-restore-to-non-edited-controls.html
27587
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.
27593
27594 2010-04-02  Kent Tamura  <tkent@chromium.org>
27595
27596         Reviewed by Darin Adler.
27597
27598         Forms with autocomplete=off should not consume saved state
27599         https://bugs.webkit.org/show_bug.cgi?id=36762
27600         
27601         Introduce Element::shouldSaveAndRestoreFormControlState() to check
27602         if we should save and restore control state.
27603
27604         Test: fast/forms/state-restore-to-non-autocomplete-form.html
27605
27606         * dom/Document.cpp:
27607         (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState().
27608         * dom/Element.h:
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.
27623
27624 2010-04-02  Simon Fraser  <simon.fraser@apple.com>
27625
27626         Reviewed by Darin Adler.
27627
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
27630
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
27634         every time.
27635         
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.
27638
27639         * platform/graphics/mac/GraphicsLayerCA.h:
27640         * platform/graphics/mac/GraphicsLayerCA.mm:
27641         (WebCore::GraphicsLayerCA::setContentsToImage):
27642
27643 2010-04-02  Simon Fraser  <simon.fraser@apple.com>
27644
27645         Reviewed by Darin Adler.
27646
27647         Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements
27648         https://bugs.webkit.org/show_bug.cgi?id=36994
27649         
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.
27652
27653         * page/FrameView.cpp:
27654         (WebCore::FrameView::scrollPositionChanged):
27655         * page/FrameView.h:
27656         (WebCore::FrameView::hasFixedObjects):
27657
27658 2010-04-02  Nate Chapin  <japhet@chromium.org>
27659
27660         Rubber-stamped by Dimitri Glazkov.
27661
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.
27665
27666         * bindings/scripts/CodeGeneratorV8.pm:
27667
27668 2010-04-01  Nate Chapin  <japhet@chromium.org>
27669
27670         Reviewed by Dimitri Glazkov.
27671
27672         [V8] Generalize (and generate!) the creation of hidden references
27673         between JS wrappers.
27674         
27675         https://bugs.webkit.org/show_bug.cgi?id=36777
27676
27677         * Android.v8bindings.mk:
27678         * WebCore.gypi:
27679         * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in
27680         attribute getters.
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:
27691         (WebCore::toV8):
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:
27698         (WebCore::toV8):
27699         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
27700         * bindings/v8/custom/V8ScreenCustom.cpp: Removed.
27701         * bindings/v8/custom/V8StyleSheetCustom.cpp:
27702         (WebCore::toV8):
27703         * loader/appcache/DOMApplicationCache.h:
27704         (WebCore::DOMApplicationCache::frame): Add frame() accessor.
27705
27706
27707 2010-04-01  Pavel Feldman  <pfeldman@chromium.org>
27708
27709         Reviewed by Timothy Hatcher.
27710
27711         Web Inspector: start editing DOM and styles on click-and-pause.
27712
27713         https://bugs.webkit.org/show_bug.cgi?id=36965
27714
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):
27739
27740 2010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27741
27742         Unreviewed build fix when building --no-svg.
27743
27744         Build fix after r56941. Add ENABLE(SVG) guard.
27745
27746         * rendering/RenderLayer.cpp:
27747         (WebCore::RenderLayer::updateLayerPositions):
27748
27749 2010-04-02  Yury Semikhatsky  <yurys@chromium.org>
27750
27751         Reviewed by Pavel Feldman.
27752
27753         Implement InspectorFrontendHost::showContextMenu for Chromium.
27754  
27755         Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent.
27756  
27757         https://bugs.webkit.org/show_bug.cgi?id=36817
27758
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):
27781
27782 2010-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
27783
27784         Reviewed by Pavel Feldman.
27785
27786         WebInspector: Timeline Overview pane should support short records filtering.
27787         https://bugs.webkit.org/show_bug.cgi?id=37020
27788
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):
27800
27801 2010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27802
27803         Reviewed by Eric Seidel.
27804
27805         Accept XHTML-MP content type as XHTML content
27806         https://bugs.webkit.org/show_bug.cgi?id=34262
27807
27808         Enable processing XHTML-MP mime type as an XHTML document
27809         even if XHTML-MP support is not enabled.
27810
27811         * platform/MIMETypeRegistry.cpp:
27812         (WebCore::initializeSupportedNonImageMimeTypes):
27813
27814 2010-04-02  Adam Barth  <abarth@webkit.org>
27815
27816         Reviewed by Daniel Bates.
27817
27818         Make XSSAuditor go fast with large POST data
27819         https://bugs.webkit.org/show_bug.cgi?id=36694
27820
27821         There were two things slowing down this bechmark:
27822
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.
27826
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.
27830
27831         * GNUmakefile.am:
27832         * WebCore.gypi:
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):
27854
27855 2010-04-02  Roland Steiner  <rolandsteiner@chromium.org>
27856
27857         Reviewed by Eric Seidel.
27858
27859         Bug 36741 -  Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate()
27860         https://bugs.webkit.org/show_bug.cgi?id=36741
27861         
27862         Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version.
27863         Update PositionIterator::isCandidate() to mirror Position::isCandidate().
27864
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.
27868
27869         Tests: ran all tests in 'editing'.
27870
27871         * dom/Position.cpp:
27872         (WebCore::Position::isCandidate):
27873         * dom/PositionIterator.cpp:
27874         (WebCore::PositionIterator::isCandidate):
27875
27876 2010-04-02  Steve Falkenburg  <sfalken@apple.com>
27877
27878         Reviewed by Dan Bernstein.
27879
27880         Database code falsely returns errors due to errant pointer check
27881         https://bugs.webkit.org/show_bug.cgi?id=37014
27882
27883         r56943 introduced a check to see if there were any unprocessed
27884         SQL commands after calling sqlite3_prepare16_v2.
27885
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.
27890
27891         Fix is to store the strippedWhiteSpace in a temporary String
27892         so we can access it via character ptr later in the function.
27893
27894         * platform/sql/SQLiteStatement.cpp:
27895         (WebCore::SQLiteStatement::prepare):
27896
27897 2010-04-01  MORITA Hajime  <morrita@google.com>
27898
27899         Reviewed by Darin Adler.
27900
27901         setting document.title doesn't change document.title value 
27902         https://bugs.webkit.org/show_bug.cgi?id=36802
27903
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.
27907         
27908         Test: fast/dom/Document/title-with-multiple-children.html
27909
27910         * html/HTMLTitleElement.cpp:
27911         (WebCore::HTMLTitleElement::setText):
27912
27913 2010-04-01  Luiz Agostini  <luiz.agostini@openbossa.org>
27914
27915         Reviewed by Kenneth Rohde Christiansen.
27916
27917         [Qt] Maemo5 theme - <select multiple> custom rendering
27918         https://bugs.webkit.org/show_bug.cgi?id=36369
27919
27920         Customizing rendering of <select multiple> elements in Maemo5.
27921
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:
27929
27930 2010-04-01  Kinuko Yasuda  <kinuko@chromium.org>
27931
27932         Reviewed by Dmitry Titov.
27933
27934         Add FileThread for async file operation support in FileReader and FileWriter
27935         https://bugs.webkit.org/show_bug.cgi?id=36896
27936
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
27940         by default.
27941
27942         No new tests, will add ones when after adding modules which use the thread.
27943
27944         * Configurations/FeatureDefines.xcconfig:
27945         * GNUmakefile.am:
27946         * WebCore.gypi:
27947         * WebCore.pro:
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:
27971         (WebCore::):
27972         (WebCore::getChannelFromName):
27973         * platform/Logging.h:
27974
27975 2010-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
27976
27977         Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
27978         https://bugs.webkit.org/show_bug.cgi?id=36977
27979
27980         * accessibility/AccessibilityImageMapLink.cpp:
27981         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
27982
27983 2010-04-01  MORITA Hajime  <morrita@google.com>
27984
27985         Reviewed by Darin Adler.
27986
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
27991
27992         Added guards nodes from foreign documents to DOMSelection APIs.
27993
27994         Tests: editing/selection/DOMSelection-DocumentType.html
27995                editing/selection/DOMSelection-crossing-document.html
27996
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:
28007
28008 2010-04-01  Chris Evans  <cevans@chromium.org>
28009
28010         Reviewed by Adam Barth.
28011
28012         Fix a NULL pointer crash if @import fails to load a stylesheet.
28013
28014         https://bugs.webkit.org/show_bug.cgi?id=36804
28015
28016         Test: fast/xsl/xslt-bad-import-uri.html
28017
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.
28026
28027 2010-04-01  Alexey Proskuryakov  <ap@apple.com>
28028
28029         Reviewed by Darin Adler.
28030
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
28034
28035         Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html
28036                http/tests/xmlhttprequest/access-control-response-with-body.html
28037
28038         * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
28039         Don't send data to the client when handling a preflight request.
28040
28041 2010-04-01  Ada Chan  <adachan@apple.com>
28042
28043         Reviewed by Darin Adler.
28044         
28045         Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
28046         Ditto for DatabaseTracker::deleteDatabase().
28047         
28048         https://bugs.webkit.org/show_bug.cgi?id=36988
28049
28050         * storage/DatabaseTracker.cpp:
28051         (WebCore::DatabaseTracker::deleteOrigin):
28052         (WebCore::DatabaseTracker::deleteDatabase):
28053         * storage/DatabaseTracker.h:
28054
28055 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
28056
28057         No review.
28058
28059         Remove some casts that I indended to remove before committing r56948.
28060
28061         * rendering/RenderTreeAsText.cpp:
28062         (WebCore::writeRenderObject):
28063         (WebCore::write):
28064
28065 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
28066
28067         Reviewed by Darin Adler.
28068
28069         Assertion failure (willBeComposited == needsToBeComposited(layer)) in
28070         RenderLayerCompositor::computeCompositingRequirements() on hulu.com
28071         https://bugs.webkit.org/show_bug.cgi?id=36516
28072         
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().
28076         
28077         Fix by adding a canBeComposited() method that we call before testing
28078         whether the layer should go into compositing mode.
28079
28080         Test: compositing/self-painting-layers2.html
28081
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().
28091
28092 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
28093
28094         Reviewed by Darin Adler.
28095
28096         https://bugs.webkit.org/show_bug.cgi?id=36980
28097         Add object addresses to debug showLayerTree() output.
28098         
28099         Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree()
28100         output.
28101
28102         * platform/text/TextStream.cpp:
28103         (WebCore::TextStream::operator<<):
28104         * platform/text/TextStream.h:
28105         * rendering/RenderLayer.cpp:
28106         (showLayerTree):
28107         * rendering/RenderTreeAsText.cpp:
28108         (WebCore::writeRenderObject):
28109         (WebCore::write):
28110         * rendering/RenderTreeAsText.h:
28111
28112 2010-03-29  Dumitru Daniliuc  <dumi@chromium.org>
28113
28114         Reviewed by Dimitri Glazkov.
28115
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.
28119
28120         Test: storage/executesql-accepts-only-one-statement.html
28121
28122         * platform/sql/SQLiteStatement.cpp:
28123         (WebCore::SQLiteStatement::prepare):
28124
28125 2010-04-01  James Robinson  <jamesr@chromium.org>
28126
28127         Reviewed by Simon Fraser.
28128
28129         Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions
28130         https://bugs.webkit.org/show_bug.cgi?id=33520
28131
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.
28136
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
28141
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:
28155
28156 2010-04-01  Daniel Bates  <dbates@rim.com>
28157
28158         Reviewed by Darin Adler.
28159
28160         https://bugs.webkit.org/show_bug.cgi?id=36901
28161
28162         Removed functions Range::operator == and Range::operator != as they
28163         were using C++ code that was not sound and hence may have undefined
28164         behavior.
28165
28166         Test case: manual-tests/crash-on-find-with-no-selection.html
28167
28168         * dom/Range.cpp:
28169         (WebCore::areRangesEqual): Added.
28170         * dom/Range.h:
28171         * editing/markup.cpp:
28172         (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
28173         * manual-tests/crash-on-find-with-no-selection.html: Added.
28174         * page/Frame.cpp:
28175         (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
28176
28177 2010-04-01  Geoffrey Garen  <ggaren@apple.com>
28178
28179         Reviewed by Sam Weinig.
28180
28181         Synchronous rendering when setting form control values slows down JavaScript
28182         https://bugs.webkit.org/show_bug.cgi?id=36967
28183
28184         This patch basically reverts http://trac.webkit.org/changeset/19006.
28185         
28186         Dan asked me to investigate why 19006 is no longer needed. I have two answers:
28187
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.
28190
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.)
28194
28195         * html/HTMLInputElement.cpp:
28196         (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved
28197         setNeedsValidityCheck() outside of individual 'if' clauses, since they all
28198         called it.
28199         
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().
28204         
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.)
28208
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.
28212
28213 2010-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
28214
28215         Reviewed by Pavel Feldman.
28216
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
28221
28222         * bindings/v8/V8Proxy.cpp:
28223         (WebCore::V8Proxy::callFunction):
28224         * dom/Node.cpp:
28225         (WebCore::Node::dispatchGenericEvent):
28226         * page/DOMWindow.cpp:
28227         (WebCore::DOMWindow::dispatchEvent):
28228
28229 2010-04-01  Chris Fleizach  <cfleizach@apple.com>
28230
28231         Reviewed by Beth Dakin.
28232
28233         Bug 36977 - aria-label doesn't work on image map area
28234         https://bugs.webkit.org/show_bug.cgi?id=36977
28235
28236         Test: platform/mac/accessibility/area-with-aria-label.html
28237
28238         * accessibility/AccessibilityImageMapLink.cpp:
28239         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
28240
28241 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
28242
28243         Reviewed by Dan Bernstein.
28244
28245         Assertion failure: !repaintContainer || repaintContainer == this
28246         https://bugs.webkit.org/show_bug.cgi?id=36672
28247         
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.
28252         
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.
28255
28256         Test: compositing/repaint/inline-repaint-container.html
28257
28258         * rendering/RenderText.cpp:
28259         (WebCore::RenderText::clippedOverflowRectForRepaint):
28260
28261 2010-04-01  Csaba Osztrogonác  <ossy@webkit.org>
28262
28263         Reviewed by Jian Li.
28264
28265         [Qt] REGRESSION(r56869): Windows build is broken
28266         https://bugs.webkit.org/show_bug.cgi?id=36929
28267
28268         * WebCore.pro: LIBS += -lOle32 added.
28269         * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before.
28270
28271 2010-04-01  Chris Fleizach  <cfleizach@apple.com>
28272
28273         Reviewed by Beth Dakin.
28274
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
28277
28278         Test: accessibility/crash-with-noelement-selectbox.html
28279
28280         When a <select> element had no options, the selectedIndex == -1 and that was being
28281         used to index into an empty array.
28282
28283         * accessibility/AccessibilityRenderObject.cpp:
28284         (WebCore::AccessibilityRenderObject::stringValue):
28285
28286 2010-04-01  MORITA Hajime  <morrita@google.com>
28287
28288         Reviewed by Shinichiro Hamaji.
28289
28290         https://bugs.webkit.org/show_bug.cgi?id=36948
28291         Refactoring: Position::primaryDirection() should be extracted.
28292
28293         No new tests. No functinal change.
28294
28295         * dom/Position.cpp:
28296         (WebCore::Position::getInlineBoxAndOffset):
28297         (WebCore::Position::primaryDirection): Added
28298         * dom/Position.h:
28299         * editing/VisiblePosition.cpp:
28300         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
28301         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
28302
28303 2010-04-01  Alexander Pavlov  <apavlov@chromium.org>
28304
28305         Reviewed by Pavel Feldman.
28306
28307         Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
28308         https://bugs.webkit.org/show_bug.cgi?id=36952
28309
28310         * inspector/front-end/AuditRules.js:
28311         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
28312
28313 2010-03-31  Jeremy Orlow  <jorlow@chromium.org>
28314
28315         Reviewed by Nate Chapin.
28316
28317         Misc IndexedDatabase cleanup
28318         https://bugs.webkit.org/show_bug.cgi?id=36889
28319
28320         No functional changes.
28321
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
28327
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.
28336
28337 2010-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>
28338
28339         Reviewed by Dirk Schulze.
28340
28341         REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
28342         https://bugs.webkit.org/show_bug.cgi?id=27183
28343
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)
28348
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
28354
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):
28386
28387 2010-04-01  Vitaly Repeshko  <vitalyr@chromium.org>
28388
28389         Reviewed by Darin Fisher.
28390
28391         [V8] Quick fix for failure in SerializedScriptValue
28392         https://bugs.webkit.org/show_bug.cgi?id=36943
28393
28394         This allows the web worker layout tests to pass again.
28395
28396         * bindings/v8/SerializedScriptValue.h:
28397         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
28398
28399 2010-03-31  MORITA Hajime  <morrita@google.com>
28400         
28401         Reviewed by Darin Adler.
28402
28403         Crash when writing into a detached TITLE element
28404         https://bugs.webkit.org/show_bug.cgi?id=25567
28405         
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.
28411
28412         Test: fast/dom/title-content-write-set.html
28413
28414         * dom/Document.cpp:
28415         (WebCore::Document::setTitle):
28416
28417 2010-04-01  Roland Steiner  <rolandsteiner@chromium.org>
28418
28419         Reviewed by Darin Adler.
28420
28421         Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
28422         https://bugs.webkit.org/show_bug.cgi?id=36803
28423
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').
28426
28427         Test: fast/ruby/ruby-inline-table.html
28428
28429         * rendering/RenderObject.cpp:
28430         (WebCore::RenderObject::createObject):
28431
28432 2010-03-31  Geoffrey Garen  <ggaren@apple.com>
28433
28434         Reviewed by Darin Adler.
28435
28436         Crash submitting display:none textarea in a form
28437         https://bugs.webkit.org/show_bug.cgi?id=36905
28438
28439         Test: fast/forms/textarea-submit-crash.html
28440
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.
28445
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.
28449
28450 2010-03-31  Chris Fleizach  <cfleizach@apple.com>
28451
28452         Reviewed by Darin Adler.
28453
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
28456
28457         Provide a way through WebKit to set an accessible label that describes the web area.
28458
28459         Test: platform/mac/accessibility/html-with-aria-label.html
28460
28461         * accessibility/AccessibilityObject.h:
28462         (WebCore::AccessibilityObject::setAccessibleName):
28463         * accessibility/AccessibilityRenderObject.cpp:
28464         (WebCore::AccessibilityRenderObject::accessibilityDescription):
28465         (WebCore::AccessibilityRenderObject::setAccessibleName):
28466         * accessibility/AccessibilityRenderObject.h:
28467
28468 2010-03-31  Mark Rowe  <mrowe@apple.com>
28469
28470         Reviewed by Darin Adler.
28471
28472         <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"
28473
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.
28477
28478 2010-03-31  Gavin Barraclough  <barraclough@apple.com>
28479
28480         Reviewed by Oliver Hunt.
28481
28482         Remove dependency on TextBreakIterator from StringImpl.cpp,
28483         and from member methods of String.
28484
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.
28490
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):
28510
28511 2010-03-31  Vitaly Repeshko  <vitalyr@chromium.org>
28512
28513         Reviewed by David Levin.
28514
28515         [V8] SerializedScriptValue must be deserialized only once and in the right context
28516         https://bugs.webkit.org/show_bug.cgi?id=36892
28517
28518         See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the
28519         corresponding JSC change.
28520
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.
28525
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.
28529
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.
28532
28533         * bindings/scripts/CodeGeneratorV8.pm:
28534         * bindings/v8/SerializedScriptValue.h:
28535         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
28536         * bindings/v8/custom/V8MessageEventCustom.cpp:
28537         (WebCore::V8MessageEvent::initMessageEventCallback):
28538
28539 2010-03-31  Adam Barth  <abarth@webkit.org>
28540
28541         Reviewed by Darin Fisher.
28542
28543         Cleanup RedirectScheduler
28544         https://bugs.webkit.org/show_bug.cgi?id=36874
28545
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.
28550
28551         No new tests because this change should be API identical with the
28552         existing RedirectScheduler.
28553
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:
28596
28597 2010-03-31  Zhenyao Mo  <zmo@google.com>
28598
28599         Reviewed by Darin Fisher.
28600
28601         Hook up WebGLContextAttributes to OpenGL context creation code
28602         https://bugs.webkit.org/show_bug.cgi?id=33416
28603
28604         Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
28605
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):
28622
28623 2010-03-31  Jian Li  <jianli@chromium.org>
28624
28625         Reviewed by Dmitry Titov.
28626
28627         Add support to create UUID string.
28628         https://bugs.webkit.org/show_bug.cgi?id=36472
28629
28630         * GNUmakefile.am:
28631         * WebCore.gypi:
28632         * WebCore.pro:
28633         * WebCore.vcproj/WebCore.vcproj:
28634         * WebCore.xcodeproj/project.pbxproj:
28635         * platform/UUID.cpp: Added.
28636         (WebCore::createCanonicalUUIDString):
28637         * platform/UUID.h: Added.
28638
28639 2010-03-31  Darin Adler  <darin@apple.com>
28640
28641         * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings.
28642
28643 2010-03-31  Luiz Agostini  <luiz.agostini@openbossa.org>
28644
28645         Reviewed by Kenneth Rohde Christiansen.
28646
28647         [Qt] Maemo5 theme - form controls style
28648         https://bugs.webkit.org/show_bug.cgi?id=36370
28649
28650         Adjusting Mameo5 form elements rendering.
28651
28652         * WebCore.pri:
28653         * WebCore.pro:
28654         * css/themeQtMaemo5.css: Added.
28655         (select):
28656         (select:disabled):
28657         (select:active):
28658         (select:active:disabled):
28659         (textarea):
28660         (textarea:disabled):
28661         (textarea:active):
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:
28679
28680 2010-03-31  Alexey Proskuryakov  <ap@apple.com>
28681
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)
28684
28685         Addressing additional review comments.
28686
28687         * rendering/RenderWidget.cpp: Removed an unneeded include.
28688         * rendering/RenderWidget.h: Reworded the new comment.
28689
28690 2010-03-31  Alexey Proskuryakov  <ap@apple.com>
28691
28692         Reviewed by Dan Bernstein.
28693
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)
28696
28697         * manual-tests/plugin-in-iframe-scroll.html: Added.
28698         * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added.
28699
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.
28704
28705         * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer
28706         in window coordinates.
28707
28708         * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline.
28709
28710 2010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28711
28712         Unreviewed crash fix.
28713
28714         Crash with frame flattening on after r56854
28715         https://bugs.webkit.org/show_bug.cgi?id=36894
28716
28717         Solution tested by Greg Bolsinga, thanks.
28718
28719         * page/FrameView.cpp:
28720         (WebCore::FrameView::avoidScrollbarCreation):
28721         * platform/ScrollView.cpp:
28722         (WebCore::ScrollView::setHasHorizontalScrollbar):
28723         (WebCore::ScrollView::setHasVerticalScrollbar):
28724
28725 2010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28726
28727         Reviewed by Antti Koivisto.
28728
28729         iframe flattening doesn't flatten
28730         https://bugs.webkit.org/show_bug.cgi?id=36798
28731
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.
28735
28736         Do not suppress scrollbars as that is wrong according to
28737         Dave Hyatt.
28738
28739         Covered by current tests.
28740
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):
28751
28752 2010-03-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28753
28754         Reviewed by Antti Koivisto.
28755
28756         iframe flattening doesn't flatten
28757         https://bugs.webkit.org/show_bug.cgi?id=36798
28758
28759         Fix wrongly reversing logic in frame flattening check.
28760
28761         Tests:
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
28766
28767         * rendering/RenderPartObject.cpp:
28768         (WebCore::RenderPartObject::flattenFrame):
28769
28770 2010-03-31  Marcus Bulach  <bulach@chromium.org>
28771
28772         Reviewed by Jeremy Orlow.
28773
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
28779
28780         * loader/EmptyClients.h:
28781         (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame):
28782         * page/Chrome.cpp:
28783         (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame):
28784         * page/Chrome.h:
28785         * page/ChromeClient.h:
28786         * page/Geolocation.cpp:
28787         (WebCore::Geolocation::disconnectFrame):
28788
28789 2010-03-31  Yael Aharon  <yael.aharon@nokia.com>
28790
28791         Reviewed by Antti Koivisto.
28792
28793         Add animation to progress element
28794         https://bugs.webkit.org/show_bug.cgi?id=36664
28795
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.
28799
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:
28822
28823 2010-03-31  Pavel Feldman  <pfeldman@chromium.org>
28824
28825         Not reviewed. Rolling out r56829 since it broke chromium layout tests.
28826
28827         [REGRESSION] Inspector tests started crashing since r56829
28828         https://bugs.webkit.org/show_bug.cgi?id=36888
28829
28830         * bindings/scripts/CodeGeneratorV8.pm:
28831         * bindings/v8/V8Utilities.cpp:
28832         * bindings/v8/V8Utilities.h:
28833         * loader/FrameLoaderClient.h:
28834
28835 2010-03-31  Pavel Feldman  <pfeldman@chromium.org>
28836
28837         Reviewed by Timothy Hatcher.
28838
28839         Web Inspector: creating new style bugfixing.
28840
28841         https://bugs.webkit.org/show_bug.cgi?id=36884
28842
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.
28850
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):
28865
28866 2010-03-31  Yury Semikhatsky  <yurys@chromium.org>
28867
28868         Unreviewed. Chromium build fix: create missing v8::HandleScope.
28869
28870         https://bugs.webkit.org/show_bug.cgi?id=36828
28871
28872         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
28873         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
28874
28875 2010-03-31  Yury Semikhatsky  <yurys@chromium.org>
28876
28877         Reviewed by Pavel Feldman.
28878
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).
28880
28881         https://bugs.webkit.org/show_bug.cgi?id=36828
28882
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):
28892
28893 2010-03-31  Mattias Nissler  <mnissler@google.com>
28894
28895         Reviewed by Pavel Feldman.
28896
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
28901
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):
28908
28909 2010-03-30  Jeremy Orlow  <jorlow@chromium.org>
28910
28911         Reviewed by Nate Chapin.
28912
28913         IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest
28914         https://bugs.webkit.org/show_bug.cgi?id=36830
28915
28916         Still not enough hooked up to test.  Soon!
28917
28918         * WebCore.gypi:
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:
28936
28937 2010-03-31  Zhenyao Mo  <zmo@google.com>
28938
28939         Reviewed by Darin Fisher.
28940
28941         Implement memmove behavior for WebGLArray set()
28942         https://bugs.webkit.org/show_bug.cgi?id=35619
28943
28944         New test cases are added to fast/canvas/webgl/array-setters.html.
28945
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):
28948
28949 2010-03-31  Benjamin Poulain  <benjamin.poulain@nokia.com>
28950
28951         Reviewed by Darin Adler.
28952
28953         tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual
28954         https://bugs.webkit.org/show_bug.cgi?id=36810
28955
28956         Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox
28957
28958         * rendering/RenderBox.h:
28959         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
28960         * rendering/RenderObject.h:
28961
28962 2010-03-31  John Gregg  <johnnyg@google.com>
28963
28964         Reviewed by Darin Fisher.
28965
28966         [chromium] add logging of cross-frame property accesses for site isolation
28967         https://bugs.webkit.org/show_bug.cgi?id=35773
28968
28969         No new tests as no new functionality.
28970
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):
28977
28978 2010-03-30  Gavin Barraclough  <barraclough@apple.com>
28979
28980         Rubber stamped by Sam Weinig.
28981
28982         https://bugs.webkit.org/show_bug.cgi?id=36866
28983         Move CString to WTF
28984
28985         * Android.mk:
28986         * ForwardingHeaders/wtf/text: Added.
28987         * ForwardingHeaders/wtf/text/CString.h: Added.
28988         * GNUmakefile.am:
28989         * WebCore.base.exp:
28990         * WebCore.gypi:
28991         * WebCore.order:
28992         * WebCore.pro:
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:
29008         * dom/Element.cpp:
29009         * dom/Node.cpp:
29010         * dom/Position.cpp:
29011         * dom/Range.cpp:
29012         * dom/Text.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:
29191
29192 2010-03-30  Kent Tamura  <tkent@chromium.org>
29193
29194         Reviewed by Brady Eidson.
29195
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
29199
29200         RenderFileUploadControl::chooseIconForFiles was called before
29201         m_fileChooser was initialized.
29202
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:
29214
29215 2010-03-30  Stanislav Paltis  <Stanislav.Paltis@nokia.com>
29216
29217         Reviewed by Laszlo Gombos.
29218
29219         [Qt] qmake/symbian build failure
29220         https://bugs.webkit.org/show_bug.cgi?id=36745
29221
29222         Fix build break in Symbian build introduced in r56714,
29223         by modifying comment escape character from ";" to "#".
29224
29225         * WebCore.pro:
29226
29227 2010-03-30  Kevin Ollivier  <kevino@theolliviers.com>
29228
29229         [wx] Build fix after new localized string addition.
29230
29231         * platform/wx/LocalizedStringsWx.cpp:
29232         (WebCore::missingPluginText):
29233
29234 2010-03-30  Sam Weinig  <sam@webkit.org>
29235
29236         Reviewed by Anders Carlsson.
29237
29238         Add missing export.
29239
29240         * WebCore.base.exp:
29241
29242 2010-03-30  Enrica Casucci  <enrica@apple.com>
29243
29244         Reviewed by Darin Adler.
29245
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
29249
29250         Test: fast/text/multiglyph-characters.html
29251
29252         Characters with multiple glyph were not supported correctly.
29253         Computing the advance width was producing a division by zero.
29254         
29255         * platform/graphics/mac/ComplexTextController.cpp:
29256         (WebCore::ComplexTextController::advance):
29257
29258 2010-03-30  Chris Evans  <cevans@chromium.org>
29259
29260         Reviewed by Adam Barth.
29261
29262         Taint the canvas if an SVG-derived pattern is rendered into it.
29263
29264         https://bugs.webkit.org/show_bug.cgi?id=36838
29265
29266         Test: fast/canvas/svg-taint.html
29267
29268         * html/canvas/CanvasRenderingContext2D.cpp:
29269         (WebCore::CanvasRenderingContext2D::createPattern):
29270           Take into account the image's hasSingleSecurityOrigin() property.
29271
29272 2010-03-30  Alexey Proskuryakov  <ap@apple.com>
29273
29274         Reviewed by Darin Adler.
29275
29276         https://bugs.webkit.org/show_bug.cgi?id=36616
29277         Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
29278
29279         https://bugs.webkit.org/show_bug.cgi?id=36797
29280         For non-Roman layouts, keydown Event.keyCode is always 0
29281
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?).
29288
29289         * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Added comments.
29290
29291 2010-03-30  Marcus Bulach  <bulach@chromium.org>
29292
29293         Reviewed by Darin Fisher.
29294
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
29298
29299         * platform/chromium/GeolocationServiceChromium.cpp:
29300         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
29301         (WebCore::GeolocationServiceChromium::setIsAllowed):
29302         (WebCore::GeolocationServiceChromium::setLastPosition):
29303         * platform/chromium/GeolocationServiceChromium.h:
29304
29305 2010-03-30  Adam Langley  <agl@chromium.org>
29306
29307         Reviewed by David Levin.
29308
29309         [chromium] linux: prefer the "hinting" fontconfig preference.
29310
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.
29314
29315         https://bugs.webkit.org/show_bug.cgi?id=36602
29316
29317         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
29318         (WebCore::FontPlatformData::setupPaint):
29319
29320 2010-03-30  Pavel Feldman  <pfeldman@chromium.org>
29321
29322         Reviewed by Timothy Hatcher.
29323
29324         Web Inspector: Copying from the Content tab in Resources includes line numbers.
29325
29326         https://bugs.webkit.org/show_bug.cgi?id=35104
29327
29328         * inspector/front-end/TextViewer.js:
29329         (WebInspector.TextViewer):
29330         (WebInspector.TextViewer.prototype._beforeCopy):
29331         (WebInspector.TextViewer.prototype._copy):
29332
29333 2010-03-30  Pavel Feldman  <pfeldman@chromium.org>
29334
29335         Reviewed by Timothy Hatcher.
29336
29337         Web Inspector: Do not send empty matching rules for pseudo elements to frontend.
29338
29339         https://bugs.webkit.org/show_bug.cgi?id=36834
29340
29341         * inspector/InspectorDOMAgent.cpp:
29342         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
29343         * inspector/front-end/StylesSidebarPane.js:
29344         (WebInspector.StylesSidebarPane.prototype._update):
29345
29346 2010-03-30  Dirk Schulze  <krit@webkit.org>
29347
29348         Reviewed by Nikolas Zimmermann.
29349
29350         Cannot animate "points" attribute for <svg:polygon>
29351         https://bugs.webkit.org/show_bug.cgi?id=21371
29352
29353         Add animation support for 'points' on polygons in SVG. 
29354
29355         Test: svg/animations/animate-points.html
29356
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:
29369
29370 2010-03-30  Alexander Pavlov  <apavlov@chromium.org>
29371
29372         Reviewed by Pavel Feldman.
29373
29374         Web Inspector: Audits: bad CSS selector results in exception inside evaluated code
29375         https://bugs.webkit.org/show_bug.cgi?id=36821
29376
29377         * inspector/front-end/AuditRules.js:
29378         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
29379         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
29380
29381 2010-03-29  Janne Koskinen  <janne.p.koskinen@digia.com>
29382
29383         Reviewed by Simon Hausmann.
29384
29385         [Qt] Package build fixes for Symbian
29386
29387         * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option
29388
29389         qtlibinfix adds possibility having multiple versions of Qt in Symbian devices.
29390         Fix also allows unfrozen DLL exports during development.
29391
29392         * Removed heap size configuration. DLLs don't have a heap.
29393
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.
29397
29398         * WebCore.pro:
29399
29400 2010-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
29401
29402         Reviewed by Pavel Feldman.
29403
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
29407
29408         * inspector/front-end/TimelinePanel.js:
29409         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
29410         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
29411         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
29412
29413 2010-03-30  Adam Roben  <aroben@apple.com>
29414
29415         Enable extra Direct3D debugging information in Debug builds
29416
29417         This makes it easier to track down memory leaks and misuses of the D3D
29418         APIs in Debug builds.
29419
29420         Fixes <http://webkit.org/b/36820>
29421
29422         Reviewed by John Sullivan.
29423
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.
29427
29428 2010-03-30  Luiz Agostini  <luiz.agostini@openbossa.org>
29429
29430         Reviewed by Kenneth Rohde Christiansen.
29431
29432         [Qt] Maemo5 theme - QtMaemoWebPopup class
29433         https://bugs.webkit.org/show_bug.cgi?id=36790
29434
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.
29437
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.
29441
29442         * WebCore.pri:
29443         * WebCore.pro:
29444
29445 2010-03-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
29446
29447         Reviewed by David Kilzer.
29448
29449         Guard Geolocation files with ENABLE_GEOLOCATION
29450         https://bugs.webkit.org/show_bug.cgi?id=25756
29451
29452         The intent is to guard the Geolocation implementation files 
29453         and minimize the impact on on clients/call sites.
29454
29455         * DerivedSources.make:
29456         * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION
29457         is enabled.
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:
29475
29476 2010-03-30  Andrey Kosyakov  <caseq@chromium.org>
29477
29478         Reviewed by Pavel Feldman.
29479
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
29484
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):
29500
29501 2010-03-30  Kristian Monsen  <kristianm@google.com>
29502
29503         Reviewed by David Levin.
29504
29505         [v8] Add if ENABLE guard for Worker specific code.
29506         https://bugs.webkit.org/show_bug.cgi?id=36597
29507
29508         Build fix only, no new tests.
29509
29510         * bindings/v8/V8DOMWrapper.h:
29511
29512 2010-03-29  Jeremy Orlow  <jorlow@chromium.org>
29513
29514         Reviewed by Darin Fisher.
29515
29516         More IndexedDB work
29517         https://bugs.webkit.org/show_bug.cgi?id=36770
29518
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.
29523
29524         New layout tests starting with the next patch (which should make indexedDB.open() "work").
29525
29526         * WebCore.gypi:
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):
29556
29557 2010-03-30  Dirk Schulze  <krit@webkit.org>
29558
29559         Reviewed by Nikolas Zimmermann.
29560
29561         SVG Glyph transformations wrong on use of SVGFont
29562         https://bugs.webkit.org/show_bug.cgi?id=36731
29563
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.
29567
29568         Test: svg/custom/glyph-transformation-with-hkern.svg
29569
29570         * rendering/SVGRootInlineBox.cpp:
29571         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
29572
29573 2010-03-30  Dirk Schulze  <krit@webkit.org>
29574
29575         Reviewed by Nikolas Zimmermann.
29576
29577         SVG Animation doesn't respect 'currentColor'
29578         https://bugs.webkit.org/show_bug.cgi?id=36695
29579
29580         Test: svg/custom/animation-currentColor.svg
29581
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.
29584
29585         * svg/SVGAnimationElement.cpp:
29586         (WebCore::adjustForCurrentColor):
29587         (WebCore::SVGAnimationElement::startedActiveInterval):
29588
29589 2010-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
29590
29591         Reviewed by Pavel Feldman.
29592
29593         Web Inspector: Visible/captured records counter should be implemented in Timeline panel.
29594         https://bugs.webkit.org/show_bug.cgi?id=36708
29595
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):
29607
29608 2010-03-30  Philippe Normand  <pnormand@igalia.com>
29609
29610         [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
29611         https://bugs.webkit.org/show_bug.cgi?id=36653
29612
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.
29616
29617         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
29618         (WebCore::mimeTypeCache):
29619
29620 2010-03-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
29621
29622         Reviewed by Eric Seidel.
29623
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.
29631
29632         https://bugs.webkit.org/show_bug.cgi?id=36698
29633
29634         * wml/WMLOptionElement.h:
29635         (WebCore::WMLOptionElement::disabled):
29636         * wml/WMLSelectElement.h:
29637         (WebCore::WMLSelectElement::listBoxSelectItem):
29638
29639 2010-03-29  Shinichiro Hamaji  <hamaji@chromium.org>
29640
29641         Reviewed by David Hyatt.
29642
29643         No vertical scrollbar after the CSS class change
29644         https://bugs.webkit.org/show_bug.cgi?id=36461
29645
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.
29650
29651         * page/FrameView.cpp:
29652         (WebCore::FrameView::layout):
29653
29654 2010-03-29  Chris Evans  <cevans@chromium.org>
29655
29656         Reviewed by Adam Barth.
29657
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.
29661
29662         https://bugs.webkit.org/show_bug.cgi?id=36692
29663
29664         Test: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
29665
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.
29683
29684 2010-03-29  Rafael Weinstein  <rafaelw@chromium.org>
29685
29686         Reviewed by Adam Barth.
29687
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.
29691
29692         * notifications/Notification.cpp:
29693         (WebCore::Notification::Notification):
29694         * notifications/NotificationCenter.cpp:
29695         (WebCore::NotificationCenter::checkPermission):
29696         * notifications/NotificationPresenter.h:
29697
29698 2010-03-29  Luiz Agostini  <luiz.agostini@openbossa.org>
29699
29700         Reviewed by Kenneth Rohde Christiansen.
29701
29702         [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup
29703         https://bugs.webkit.org/show_bug.cgi?id=36769
29704
29705         Adding method itemIsSelected() to QtAbstractWebPopup.
29706
29707         * platform/qt/QtAbstractWebPopup.h:
29708         (WebCore::QtAbstractWebPopup::itemIsSelected):
29709
29710 2010-03-29  Dawit Alemayehu  <adawit@kde.org>
29711
29712         Reviewed by Simon Hausmann.
29713
29714         Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.*
29715
29716         https://bugs.webkit.org/show_bug.cgi?id=36395
29717
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
29723         QtWebKit.
29724
29725         * platform/network/HTTPParsers.cpp:
29726         (WebCore::shouldTreatAsAttachment):
29727         * platform/network/HTTPParsers.h:
29728
29729 2010-03-29  Chris Fleizach  <cfleizach@apple.com>
29730
29731         Reviewed by Beth Dakin.
29732
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
29735
29736         Test: platform/mac/accessibility/aria-liveregion-on-image.html
29737
29738         * accessibility/AccessibilityRenderObject.cpp:
29739         (WebCore::AccessibilityRenderObject::contentChanged):
29740
29741 2010-03-29  Stephen White  <senorblanco@chromium.org>
29742
29743         Reviewed by Dave Hyatt.
29744
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).
29753
29754         https://bugs.webkit.org/show_bug.cgi?id=36556
29755
29756         Covered by fast/css/cssText-cache.html, and more.
29757
29758         * css/CSSPrimitiveValue.cpp:
29759         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
29760         (WebCore::CSSPrimitiveValue::cleanup):
29761         (WebCore::CSSPrimitiveValue::cssText):
29762         * css/CSSPrimitiveValue.h:
29763
29764 2010-03-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29765
29766         Reviewed by Simon Fraser.
29767
29768         Add support for Widgets 1.0: View Mode Media Feature
29769         https://bugs.webkit.org/show_bug.cgi?id=35446
29770
29771         When enabling Web Widgets, add support for the view-mode media
29772         feature (http://www.w3.org/TR/widgets-vmmf/).
29773
29774         Test: fast/media/media-feature-wgt-view-mode.html
29775
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):
29785
29786 2010-03-29  Kenneth Russell  <kbr@google.com>
29787
29788         Reviewed by Darin Fisher.
29789
29790         Eliminate use of GL_BGRA in GraphicsContext3DSkia.cpp
29791         https://bugs.webkit.org/show_bug.cgi?id=36737
29792
29793         No new tests; ran WebGL demos in Chromium on Windows to verify fix.
29794
29795         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
29796         (WebCore::GraphicsContext3D::getImageData):
29797
29798 2010-03-29  Alexander Pavlov  <apavlov@chromium.org>
29799
29800         Reviewed by Pavel Feldman.
29801
29802         Web Inspector: Cover the Audits panel with tests
29803         https://bugs.webkit.org/show_bug.cgi?id=36613
29804
29805         Sort results, add a few drive-by fixes and refactorings to improve testability.
29806
29807         Test: inspector/audits-panel-functional.html
29808
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):
29827
29828 2010-03-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29829
29830         Reviewed by nobody, build fix.
29831
29832         [Qt] Fix build break introduced in r56724.
29833
29834         * WebCore.pro:
29835
29836 2010-03-29  Alexander Pavlov  <apavlov@chromium.org>
29837
29838         Reviewed by Pavel Feldman.
29839
29840         Web Inspector should highlight when clicking a node's closing tag
29841         https://bugs.webkit.org/show_bug.cgi?id=16258
29842
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):
29859         ():
29860
29861 2010-03-29  Marcus Bulach  <bulach@chromium.org>
29862
29863         Reviewed by Jeremy Orlow.
29864
29865         https://bugs.webkit.org/show_bug.cgi?id=36315
29866
29867         Remove obsolete Geolocation::m_currentPosition
29868         (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676)
29869
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):
29876
29877 2010-03-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29878
29879         Reviewed by Simon Hausmann.
29880
29881         [Qt] Do not generate INSTALLS for webkit when building inside Qt.
29882         Qt will do this for us.
29883
29884         * WebCore.pro:
29885
29886 2010-03-29  Antti Koivisto  <koivisto@iki.fi>
29887
29888         Reviewed by Kenneth Rohde Christiansen.
29889
29890         https://bugs.webkit.org/show_bug.cgi?id=36703
29891         Timer restart loop during page loading
29892         
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.
29896
29897         * loader/loader.cpp:
29898         (WebCore::Loader::Host::nonCacheRequestComplete):
29899         (WebCore::Loader::Host::servePendingRequests):
29900
29901 2010-03-29  Thomas Zander  <t.zander@nokia.com>
29902
29903         Reviewed by Simon Hausmann.
29904
29905         [Qt] Shadowbuilds of WebCore with Qt on Symbian fails.
29906
29907         https://bugs.webkit.org/show_bug.cgi?id=36749
29908
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.
29912
29913         * WebCore.pro: Fix for shadow builds inside Qt.
29914
29915 2010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29916
29917         Reviewed by Antti Koivisto.
29918
29919         Implement flattening for iframes.
29920
29921         Refactoring of frameset flattening code to reuse it for
29922         iframe flattening.
29923
29924         Tests: fast/frames/flattening/iframe-flattening-simple.html
29925
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):
29933         * page/Settings.h:
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:
29949
29950 2010-03-29  Andrei Popescu  <andreip@google.com>
29951
29952         Reviewed by Adam Barth.
29953
29954         Page Cache does not work on Android with V8
29955         https://bugs.webkit.org/show_bug.cgi?id=36665
29956
29957         No new tests, existing tests should suffice, this is platform code.
29958
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.
29963
29964         Note that isolated worlds are not taken into account in any way,
29965         as Android does not use them.
29966
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:
29977
29978 2010-03-29  Thomas Zander  <t.zander@nokia.com>
29979
29980         Reviewed by Simon Hausmann.
29981
29982         [Qt] Make it possible to build using both Windows and Linux for Symbian
29983         https://bugs.webkit.org/show_bug.cgi?id=36748
29984
29985         * WebCore.pro: don't assume Windows buildsystem is the only one
29986         and exclude the windows-only setters from the linux builds.
29987
29988 2010-03-29  Thomas Zander  <t.zander@nokia.com>
29989
29990         Reviewed by Simon Hausmann.
29991
29992         https://bugs.webkit.org/show_bug.cgi?id=36745
29993
29994         [Qt] Fix def file builds with Qt 4.7.
29995
29996         Switched to using DEF_FILE, which is the official variable.
29997
29998         * WebCore.pro: Use DEF_FILE
29999
30000 2010-03-24  Jeremy Orlow  <jorlow@chromium.org>
30001
30002         Reviewed by Darin Fisher.
30003
30004         A few more steps towards IndexedDB
30005         https://bugs.webkit.org/show_bug.cgi?id=36546
30006
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.
30011
30012         Not enough hooked up yet to test.  Soon though...
30013
30014         * WebCore.gypi:
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):
30032
30033 2010-03-29  Mikhail Naganov  <mnaganov@chromium.org>
30034
30035         Reviewed by Pavel Feldman.
30036
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.
30040
30041         https://bugs.webkit.org/show_bug.cgi?id=34319
30042
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):
30051
30052 2010-03-26  Philippe Normand  <pnormand@igalia.com>
30053
30054         Reviewed by Eric Seidel.
30055
30056         [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
30057         https://bugs.webkit.org/show_bug.cgi?id=36653
30058
30059         Defined the static variables using DEFINE_STATIC_GLOBAL.
30060
30061         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
30062         (WebCore::mimeTypeCache):
30063
30064 2010-03-26  Philippe Normand  <pnormand@igalia.com>
30065
30066         Reviewed by Eric Seidel.
30067
30068         [GStreamer] player header cleanups
30069         https://bugs.webkit.org/show_bug.cgi?id=36656
30070
30071         Destructor made private and added missing
30072         mediaPlayerPrivateMuteChangedCallback declaration.
30073
30074         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
30075
30076 2010-03-29  Yury Semikhatsky  <yurys@chromium.org>
30077
30078         Reviewed by Pavel Feldman.
30079
30080         Protect global object from being GC'ed if there are messages written to console from the iframe with that global object.
30081
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.
30083
30084         https://bugs.webkit.org/show_bug.cgi?id=36612
30085
30086         Test: http/tests/inspector-enabled/console-log-before-frame-navigation.html
30087
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.):
30101
30102 2010-03-26  Philippe Normand  <pnormand@igalia.com>
30103
30104         Reviewed by Eric Carlson.
30105
30106         It should be possible to use GStreamer in addition to another media engine
30107         https://bugs.webkit.org/show_bug.cgi?id=36654
30108
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+).
30112
30113         * GNUmakefile.am:
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:
30182
30183 2010-03-28  Alexey Proskuryakov  <ap@apple.com>
30184
30185         Reviewed by Sam Weinig.
30186
30187         https://bugs.webkit.org/show_bug.cgi?id=36733
30188         Use a common header for Windows virtual key codes on all platforms
30189
30190         No change in functionality, so no new tests.
30191
30192         * platform/WindowsKeyboardCodes.h: Added. Define VK_* key codes as macros, matching Windows.
30193
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.
30203
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.
30207
30208         * GNUmakefile.am:
30209         * WebCore.gypi:
30210         Replaced KeyboardCodes.h with WindowsKeyboardCodes.h.
30211
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.
30217
30218         * config.h: Removed a hack to include KeyboardCodes.h, it shouldn't be necessary any more.
30219
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.
30228
30229 2010-03-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30230
30231         Reviewed by Simon Hausmann.
30232
30233         [Qt] Remove the definition of WTF_CHANGES guards from the build system
30234         https://bugs.webkit.org/show_bug.cgi?id=31670
30235
30236         No new tests as there is no new functionality.
30237
30238         * WebCore.pri: Remove the definition of WTF_CHANGES
30239         as it is already defined in config.h
30240
30241 2010-03-28  Sam Weinig  <sam@webkit.org>
30242
30243         Reviewed by Dan Bernstein.
30244
30245         Clean up the Xcode project a bit.
30246
30247         * WebCore.xcodeproj/project.pbxproj:
30248
30249 2010-03-28  Pavel Feldman  <pfeldman@chromium.org>
30250
30251         Reviewed by Timothy Hatcher.
30252
30253         Web Inspector: Toggling style properties on/off does not always work.
30254
30255         https://bugs.webkit.org/show_bug.cgi?id=36720
30256
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):
30265
30266 2010-03-28  Pavel Feldman  <pfeldman@chromium.org>
30267
30268         Reviewed by Timothy Hatcher.
30269
30270         Web Inspector: resource links should navigate to resource panel enabler when resource tracking is off.
30271
30272         https://bugs.webkit.org/show_bug.cgi?id=36722
30273
30274         * English.lproj/localizedStrings.js:
30275         * inspector/front-end/inspector.js:
30276         (WebInspector.documentMouseOver):
30277         (WebInspector.documentClick.followLink):
30278         (WebInspector.documentClick):
30279
30280 2010-03-28  Dirk Schulze  <krit@webkit.org>
30281
30282         Unreviewed build-fix for chromium linux.
30283
30284         SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
30285         https://bugs.webkit.org/show_bug.cgi?id=36185
30286
30287         * svg/SVGStyledElement.cpp:
30288         (WebCore::SVGStyledElement::invalidateResources):
30289
30290 2010-03-28  Dirk Schulze  <krit@webkit.org>
30291
30292         Reviewed by Nikolas Zimmermann.
30293
30294         SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
30295         https://bugs.webkit.org/show_bug.cgi?id=36185
30296
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.
30302
30303         * Android.mk:
30304         * GNUmakefile.am:
30305         * WebCore.gypi:
30306         * WebCore.pro:
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:
30314         (WebCore::):
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:
30370         (WebCore::):
30371         (WebCore::SVGResource::isFilter):
30372         * svg/graphics/SVGResourceMarker.cpp: Removed.
30373         * svg/graphics/SVGResourceMarker.h: Removed.
30374
30375 2010-03-28  Joseph Pecoraro  <joepeck@webkit.org>
30376
30377         Reviewed by Pavel Feldman.
30378
30379         Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation
30380         https://bugs.webkit.org/show_bug.cgi?id=36719
30381
30382           Consolidates the generation of Element Tree Hierarchy attribute code
30383           generation to a single function: _attributeHTML.
30384
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.
30390
30391 2010-03-28  Joseph Pecoraro  <joepeck@webkit.org>
30392
30393         Reviewed by Pavel Feldman.
30394
30395         Web Inspector: Edit Tag Names
30396         https://bugs.webkit.org/show_bug.cgi?id=36481
30397
30398           Ensure blacklisting happens by checking it in _startEditingTagName
30399           instead of all the possible entry points.
30400
30401         * inspector/front-end/ElementsTreeOutline.js:
30402         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): don't check blacklist here.
30403         (WebInspector.ElementsTreeElement.prototype._startEditingTagName): check blacklist here.
30404
30405 2010-03-28  Kim Grönholm  <kim.gronholm@nomovok.com>
30406
30407         Reviewed by Simon Hausmann.
30408
30409         [Qt] GraphicsLayer: Timing functions don't work with transitions
30410         https://bugs.webkit.org/show_bug.cgi?id=36589
30411
30412         If the animation value doesn't have timing function set, we need to
30413         use the animation's timing function.
30414         
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.
30418
30419         Test case: https://bugs.webkit.org/attachment.cgi?id=51619
30420
30421         * platform/graphics/qt/GraphicsLayerQt.cpp:
30422         (WebCore::applyTimingFunction):
30423         (WebCore::AnimationQt:::AnimationQtBase):
30424         (WebCore::AnimationQt::updateCurrentTime):
30425
30426 2010-03-27  Joseph Pecoraro  <joepeck@webkit.org>
30427
30428         Reviewed by Pavel Feldman.
30429
30430         Web Inspector: Edit Tag Names
30431         https://bugs.webkit.org/show_bug.cgi?id=36481
30432
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.
30436
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
30442
30443 2010-03-27  Joseph Pecoraro  <joepeck@webkit.org>
30444
30445         Reviewed by Pavel Feldman.
30446
30447         Web Inspector: Edit Tag Names
30448         https://bugs.webkit.org/show_bug.cgi?id=36481
30449         
30450         Allow editing an Element's Tag Name by double clicking
30451         on the tag name in the Element's Tree Hierarchy.
30452         
30453           The usual asynchronous InspectorBackend, InspectorDOMAgent, InspectorFrontend flow.
30454
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:
30467
30468         * inspector/front-end/DOMAgent.js:
30469
30470           Handle the UI for editing an Element's tag name.
30471
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
30484
30485           Miscellaneous updates.
30486
30487         * inspector/front-end/treeoutline.js: fixed a typo.
30488
30489 2010-03-27  Dmitry Gorbik  <socket.h@gmail.com>
30490
30491         Reviewed by Pavel Feldman.
30492
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
30496
30497         * inspector/front-end/InjectedScript.js:
30498         (injectedScriptConstructor):
30499
30500 2010-03-27  Dan Bernstein  <mitz@apple.com>
30501
30502         Reviewed by Darin Adler.
30503
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
30506
30507         * css/CSSPrimitiveValue.cpp:
30508         (WebCore::CSSPrimitiveValue::createColor): Reverted to returning an RGB color value rather than an
30509         identifier for the transparent color.
30510
30511 2010-03-26  Joseph Pecoraro  <joepeck@webkit.org>
30512
30513         Reviewed by Pavel Feldman.
30514
30515         Web Inspector: Converge Inspector ids to be long, not ints
30516         https://bugs.webkit.org/show_bug.cgi?id=36706
30517
30518           Part 1: Converge on `long` for callIds, nodeIds, and other Ids.
30519
30520         * inspector/InspectorController.cpp:
30521         * inspector/InspectorController.h:
30522         * inspector/InspectorDOMAgent.cpp:
30523         * inspector/InspectorFrontend.cpp:
30524         * inspector/InspectorFrontend.h:
30525
30526 2010-03-27  Pavel Feldman  <pfeldman@chromium.org>
30527
30528         Reviewed by Timothy Hatcher.
30529
30530         Web Inspector: add layout test for styles panel.
30531
30532         https://bugs.webkit.org/show_bug.cgi?id=36699
30533
30534         Test: inspector/elements-panel-styles.html
30535
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):
30543
30544 2010-03-27  Mark Rowe  <mrowe@apple.com>
30545
30546         Reviewed by Darin Adler.
30547
30548         CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type.
30549         <http://webkit.org/b/36680> / <rdar://problem/7801016>
30550
30551         Test: fast/dom/setPrimitiveValue-exceptions.html
30552
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.
30558
30559 2010-03-27  Robert Hogan  <robert@webkit.org>
30560
30561         Reviewed by nobody, fix typo in previous commit.
30562
30563         Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
30564          when pluginsEnabled is false
30565
30566         Fix parentheses typo in r56661. This happened while rebasing and was not present
30567         in the reviewed patch, so committing unreviewed.
30568
30569         https://bugs.webkit.org/attachment.cgi?id=49515
30570
30571         * loader/FrameLoader.cpp:
30572         (WebCore::FrameLoader::requestObject):
30573
30574 2010-03-26  Robert Hogan  <robert@roberthogan.net>
30575
30576         Reviewed by Simon Hausmann.
30577
30578         Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
30579          when pluginsEnabled is false.
30580
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.
30585
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.
30590
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.
30595
30596         For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.
30597
30598         https://bugs.webkit.org/show_bug.cgi?id=32196
30599
30600         Test: plugins/application-plugin-plugins-disabled.html
30601
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):
30623
30624 2010-03-27  Dan Bernstein  <mitz@apple.com>
30625
30626         Reviewed by Mark Rowe.
30627
30628         Fix Acid3 text-shadow rendering regression introduced in r56597.
30629
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.
30633
30634 2010-03-26  Daniel Bates  <dbates@rim.com>
30635
30636         Reviewed by Beth Dakin.
30637
30638         https://bugs.webkit.org/show_bug.cgi?id=9268
30639
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 (*).
30646
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.
30651
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.
30655
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
30673
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:
30684
30685 2010-03-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30686
30687         Unreviewed, minor build fix.
30688
30689         [Gtk] Guard defined but not used function
30690         
30691         Eliminate the "defined but not used" warning after r52684.
30692         No new tests as there is no new functionality.
30693
30694         * platform/ContextMenu.cpp:
30695
30696 2010-03-26  Justin Schuh  <jschuh@chromium.org>
30697
30698         Reviewed by Adam Barth.
30699
30700         Security: iFrame.src accepts JavaScript URL via nodeValue or textContent
30701         https://bugs.webkit.org/show_bug.cgi?id=36502
30702
30703         Overrode inherited nodeValue and textContent in Attr.idl so they proxy 
30704         to value, which performs a security check.
30705
30706         Test: http/tests/security/xss-DENIED-iframe-src-alias.html
30707
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):
30718         * dom/Attr.idl:
30719
30720 2010-03-26  Eric Carlson  <eric.carlson@apple.com>
30721
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.
30725
30726         Don't require plug-in backed <video> and <audio> elements to be in the document to play.
30727
30728         * html/HTMLMediaElement.cpp:
30729         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_proxyWidget
30730         (WebCore::HTMLMediaElement::createRenderer): Set renderer widget if it has already been
30731         allocated.
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:
30741
30742         * loader/EmptyClients.h:
30743         (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Add declaration.
30744
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.
30749
30750         * loader/FrameLoader.h: Declare loadMediaPlayerProxyPlugin.
30751
30752         * loader/FrameLoaderClient.h: Declare createMediaPlayerProxyPlugin.
30753
30754         * rendering/RenderEmbeddedObject.cpp:
30755         (WebCore::RenderEmbeddedObject::updateWidget): Call loadMediaPlayerProxyPlugin when passed an
30756         audio or video node.
30757
30758         * rendering/RenderLayerCompositor.cpp:
30759         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
30760
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:
30765
30766 2010-03-26  Simon Fraser  <simon.fraser@apple.com>
30767
30768         Reviewed by Dan Bernstein, Darin Adler.
30769
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>
30773         
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.
30777
30778         Tests: plugins/reentrant-update-widget-positions.html
30779                plugins/update-widgets-crash.html
30780
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().
30785         
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.
30793
30794 2010-03-26 Beth Dakin <bdakin@apple.com>
30795
30796         Reviewed by Darin Adler.
30797
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>
30802
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.
30808
30809         * rendering/RenderSVGResourceClipper.cpp:
30810         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
30811
30812 2010-03-26  Joseph Pecoraro  <joepeck@webkit.org>
30813
30814         Reviewed by Dave Hyatt.
30815
30816         Generated run-in Content is Mistakenly Getting Deleted
30817         https://bugs.webkit.org/show_bug.cgi?id=36505
30818         <rdar://problem/7767161>
30819
30820         Test: fast/runin/generated2.html
30821         Test: fast/runin/generated3.html
30822         Test: fast/runin/generated4.html
30823
30824         Do not destroy :before/:after generated content with display run-in
30825         when relaying out different nodes. Have their real owners correctly
30826         handle them.
30827
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
30831
30832 2010-03-25  Ojan Vafai  <ojan@chromium.org>
30833
30834         Reviewed by Darin Adler.
30835
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
30838
30839         * WebCore.base.exp:
30840         * editing/SelectionController.cpp:
30841         (WebCore::SelectionController::modify):
30842         * editing/SelectionController.h:
30843
30844 2010-03-26  Janne Koskinen  <janne.p.koskinen@digia.com>
30845
30846         Reviewed by Laszlo Gombos.
30847
30848         Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets.
30849         https://bugs.webkit.org/show_bug.cgi?id=34081
30850
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.
30854
30855         * config.h:
30856
30857 2010-03-26  Andrey Kosyakov  <caseq@chromium.org>
30858
30859         Reviewed by Pavel Feldman.
30860
30861
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
30865
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):
30878
30879 2010-03-26  Yael Aharon  <yael.aharon@nokia.com>
30880
30881         Reviewed by Antti Koivisto.
30882
30883         Fix the rendering of HTMLProgressElement
30884         https://bugs.webkit.org/show_bug.cgi?id=36206
30885
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.
30889
30890         * css/html.css:
30891         (progress):
30892         * rendering/RenderProgress.cpp:
30893         (WebCore::RenderProgress::RenderProgress):
30894         (WebCore::RenderProgress::updateFromElement):
30895         * rendering/RenderProgress.h:
30896         (WebCore::RenderProgress::isProgress):
30897
30898 2010-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
30899
30900         Unreviewed build fix.
30901
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
30906
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.
30910
30911 2010-03-26  Shu Chang  <chang.shu@nokia.com>
30912
30913         Reviewed by Eric Seidel.
30914
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
30918
30919         Test: http/tests/appcache/fallback.html
30920
30921         * platform/network/qt/ResourceHandleQt.cpp:
30922         (WebCore::ResourceHandle::cancel):
30923
30924 2010-03-26  Stephen White  <senorblanco@chromium.org>
30925
30926         Unreviewed; build fix.
30927
30928         Rolling out 56620; too many layout test failures.
30929
30930         Covered by fast/css/*.
30931
30932         * css/CSSPrimitiveValue.cpp:
30933         (WebCore::CSSPrimitiveValue::cleanup):
30934         (WebCore::CSSPrimitiveValue::cssText):
30935         * css/CSSPrimitiveValue.h:
30936         (WebCore::CSSPrimitiveValue::):
30937
30938 2010-03-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
30939
30940         Reviewed by Simon Hausmann.
30941
30942         [Qt] Build JavaScriptCore as a static library.
30943         https://bugs.webkit.org/show_bug.cgi?id=36590
30944
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.
30948
30949         * WebCore.pro:
30950
30951 2010-03-26  Olivier Goffart  <ogoffart@trolltech.com>
30952
30953         Reviewed by Simon Hausmann.
30954
30955         [Qt] Fix compilation on Windows
30956
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.
30961
30962         * dom/XMLTokenizerQt.cpp:
30963         (WebCore::handleElementNamespaces):
30964
30965 2010-03-24  Stephen White  <senorblanco@chromium.org>
30966
30967         Reviewed by Darin Adler.
30968
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).
30977
30978         https://bugs.webkit.org/show_bug.cgi?id=36556
30979
30980         Covered by fast/css/large-number-round-trip.html, and more.
30981
30982         * css/CSSPrimitiveValue.cpp:
30983         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30984         (WebCore::CSSPrimitiveValue::cleanup):
30985         (WebCore::CSSPrimitiveValue::cssText):
30986         * css/CSSPrimitiveValue.h:
30987
30988 2010-03-26  Qi Zhang  <qi.2.zhang@nokia.com>
30989
30990         Reviewed by Laszlo Gombos.
30991
30992         [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed
30993         https://bugs.webkit.org/show_bug.cgi?id=35005
30994
30995         To support negative width or height at context.drawImage
30996
30997         * platform/graphics/qt/StillImageQt.cpp:
30998         (WebCore::StillImage::draw):
30999
31000 2010-03-08  Philippe Normand  <pnormand@igalia.com>
31001
31002         Reviewed by Gustavo Noronha.
31003
31004         [GStreamer] soften dependency on libsoup in the http src element
31005         https://bugs.webkit.org/show_bug.cgi?id=35864
31006
31007         Replaced SoupURI calls with KURL and pause/resume internal soup
31008         messages only if the element is compiled for a port depending on
31009         libsoup.
31010
31011         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
31012         (webkit_web_src_init):
31013         (webKitWebSrcSetUri):
31014         (webKitWebSrcNeedDataMainCb):
31015         (webKitWebSrcEnoughDataMainCb):
31016
31017 2010-03-25  Ilya Tikhonovsky  <loislo@chromium.org>
31018
31019         Reviewed by Pavel Feldman.
31020
31021         Web Inspector: Shot record filter is implemented in Timeline Panel.
31022         https://bugs.webkit.org/show_bug.cgi?id=36606
31023
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:
31035
31036 2010-03-25  Pavel Feldman  <pfeldman@chromium.org>
31037
31038         Reviewed by Timothy Hatcher.
31039
31040         Web Inspector: Implement CSSStyleSelector::pseudoStyleForElement and use it in the InspectorDOMAgent.
31041
31042         https://bugs.webkit.org/show_bug.cgi?id=36509
31043
31044         This change provides pseudo elements information into the inspector styles sidebar pane.
31045         Changes applied:
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.
31054
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:
31086         (WebCore::):
31087
31088 2010-03-25  Charlie Reis  <creis@chromium.org>
31089
31090         Reviewed by Adam Barth.
31091
31092         onbeforeunload not called at window close + frame or iframe focused
31093         https://bugs.webkit.org/show_bug.cgi?id=27481
31094
31095         Test: fast/events/onbeforeunload-focused-iframe.html
31096
31097         Replaces initial manual tests with a layout test.
31098
31099         * manual-tests/onbeforeunload-focused-iframe.html: Removed.
31100         * manual-tests/resources/focused-iframe.html: Removed.
31101
31102 2010-03-25  Eric Uhrhane  <ericu@chromium.org>
31103
31104         Reviewed by David Levin.
31105
31106         Missing lock in call to doneCreatingDatabase
31107         https://bugs.webkit.org/show_bug.cgi?id=36473
31108
31109         Added new test storage/open-database-over-quota.html.
31110
31111         * storage/DatabaseTracker.cpp:
31112         (WebCore::DatabaseTracker::canEstablishDatabase):  Added missing lock call.
31113
31114 2010-03-25  Ojan Vafai  <ojan@chromium.org>
31115
31116         Reviewed by Eric Seidel.
31117
31118         [chromium] REGRESSION: Some LayoutTests fail after r56567
31119         https://bugs.webkit.org/show_bug.cgi?id=36630
31120
31121         Fix boolean logic goofup. This was a last minute code review
31122         change that didn't get tested on Windows before commit.
31123
31124         * editing/SelectionController.cpp:
31125         (WebCore::SelectionController::setIsDirectional):
31126
31127 2010-03-25  Dan Bernstein  <mitz@apple.com>
31128
31129         Reviewed by Darin Adler.
31130
31131         <rdar://problem/7728903> Support color bitmap fonts
31132
31133         Test: platform/mac/fonts/color-bitmap.html
31134
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()
31140         factors it in.
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.
31149
31150 2010-03-25  Adam Barth  <abarth@webkit.org>
31151
31152         Reviewed by Sam Weinig.
31153
31154         Implement allow-top-navigation for HTML5 sandbox attribute
31155         https://bugs.webkit.org/show_bug.cgi?id=36549
31156
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
31163
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
31181           it's forbidden.
31182         * loader/FrameLoaderTypes.h:
31183           Introduce a bit for SandboxedTopNavigation.
31184         (WebCore::):
31185
31186 2010-03-25  Dumitru Daniliuc  <dumi@chromium.org>
31187
31188         Unreviewed, Chromium build fix.
31189
31190         V8CustomVoidCallback should not check if a return value is a
31191         boolean. It should only convert the value to a boolean.
31192
31193         * bindings/v8/custom/V8CustomVoidCallback.cpp:
31194         (WebCore::invokeCallback):
31195
31196 2010-03-25  Dmitry Titov  <dimich@chromium.org>
31197
31198         No review, rolling out r56585.
31199         http://trac.webkit.org/changeset/56585
31200         https://bugs.webkit.org/show_bug.cgi?id=36621
31201
31202         Broke Chromium builds on waterfall
31203
31204         * plugins/PluginView.cpp:
31205         (WebCore::PluginView::getValue):
31206         * plugins/PluginView.h:
31207         * plugins/PluginViewNone.cpp:
31208         (WebCore::PluginView::setJavaScriptPaused):
31209
31210 2010-03-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
31211
31212         Reviewed by Darin Adler.
31213
31214         Fix build if NPAPI support is disabled
31215         https://bugs.webkit.org/show_bug.cgi?id=36621
31216
31217         No new tests, this is a build fix.
31218
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
31226         PLATFORM(MAC)
31227
31228 2010-03-25  Drew Wilson  <atwilson@chromium.org>
31229
31230         Reviewed by Nate Chapin.
31231
31232         [v8] Error in getScriptExecutionContext() when worker context is terminating.
31233         https://bugs.webkit.org/show_bug.cgi?id=36565
31234
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".
31237
31238         Test: Existing worker tests suffice.
31239
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().
31255
31256 2010-03-25  Simon Hausmann  <simon.hausmann@nokia.com>
31257
31258         Reviewed by Kenneth Rohde Christiansen.
31259
31260         [Qt] Fix the package build on Maemo 5
31261
31262         https://bugs.webkit.org/show_bug.cgi?id=36607
31263
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.
31266
31267         * WebCore.pri:
31268
31269 2010-03-24  Dumitru Daniliuc  <dumi@chromium.org>
31270
31271         Reviewed by Dimitri Glazkov.
31272
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
31276         r54981.
31277
31278         https://bugs.webkit.org/show_bug.cgi?id=36569
31279
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:
31287
31288 2010-03-25  Dmitry Titov  <dimich@chromium.org>
31289
31290         Unreviewed, fix Chromium tests.
31291
31292         Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that
31293         have unspecified port to return invalidPortNumber from KURL::port().
31294
31295         * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports.
31296         (WebCore::KURL::port):
31297
31298 2010-03-25  Dirk Schulze  <krit@webkit.org>
31299
31300         Reviewed by Nikolas Zimmermann.
31301
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
31305
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
31310         opposite.
31311
31312         No new test cases added. No change in functionality.
31313
31314         * platform/graphics/cairo/PathCairo.cpp:
31315         (WebCore::Path::contains):
31316         * rendering/RenderPath.cpp:
31317         (WebCore::RenderPath::paint):
31318
31319 2010-03-25  Ojan Vafai  <ojan@chromium.org>
31320
31321         Reviewed by David Levin.
31322
31323         mouse-based selections are always directional on Windows/Linux
31324         https://bugs.webkit.org/show_bug.cgi?id=25195
31325
31326         Change m_lastChangeWasHorizontalExtension to m_isDirectional
31327         and make m_isDirectional always be true for Windows/Linux.
31328
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):
31343
31344 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
31345
31346         Revert r56565 which was based on an incorrect premise.
31347
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):
31360
31361 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
31362
31363         Reviewed by Eric Carlson.
31364
31365         Make calls to m_keyframeAnimations.checkConsistency() debug-only
31366         https://bugs.webkit.org/show_bug.cgi?id=36555
31367
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.
31371         
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):
31384
31385 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
31386
31387         Reviewed by Geoffrey Garen.
31388
31389         https://bugs.webkit.org/show_bug.cgi?id=36557
31390         Animations use the wrong timing-function sometimes
31391         
31392         Fix an issue where animations picked the wrong style for their "unanimated" value.
31393         
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.
31398         
31399         Instead, we need to use the "current" style, which is the one that causes the animation
31400         to kick off.
31401
31402         Tests: animations/longhand-timing-function.html
31403                animations/transition-and-animation-3.html
31404                animations/unanimated-style.html
31405
31406         * page/animation/CompositeAnimation.cpp:
31407         (WebCore::CompositeAnimation::updateKeyframeAnimations):
31408
31409 2010-03-25  Gavin Barraclough  <barraclough@apple.com>
31410
31411         Reviewed by Geoff Garen.
31412
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()).
31416
31417         * bridge/NP_jsobject.cpp:
31418         (_NPN_Enumerate):
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):
31428
31429 2010-03-25  Jakub Wieczorek  <jwieczorek@webkit.org>
31430
31431         Reviewed by Eric Seidel.
31432
31433         [Qt] RenderTheme: fix size adjustment for text fields
31434         https://bugs.webkit.org/show_bug.cgi?id=36413
31435
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.
31440
31441         * platform/qt/RenderThemeQt.cpp:
31442         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
31443
31444 2010-03-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
31445
31446         Reviewed by Simon Hausmann.
31447
31448         [Qt] Implement ChromeClient::windowResizerRect()
31449
31450         https://bugs.webkit.org/show_bug.cgi?id=21300
31451
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.
31455
31456         * platform/qt/QWebPageClient.h:
31457
31458 2010-03-25  Joseph Pecoraro  <joepeck@webkit.org>
31459
31460         Reviewed by Pavel Feldman.
31461
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
31464
31465         * inspector/front-end/inspector.js:
31466         (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep.
31467
31468 2010-03-25  Jochen Eisinger  <jochen@chromium.org>
31469
31470         Reviewed by Jeremy Orlow.
31471
31472         Forward DatabaseTracker::canEstablishDatabase to chromium layer.
31473         https://bugs.webkit.org/show_bug.cgi?id=36595
31474
31475         * storage/chromium/DatabaseObserver.h:
31476         * storage/chromium/DatabaseTrackerChromium.cpp:
31477         (WebCore::DatabaseTracker::canEstablishDatabase):
31478
31479 2010-03-25  yael aharon  <yael.aharon@nokia.com>
31480
31481         Reviewed by Laszlo Gombos.
31482
31483         [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian
31484         https://bugs.webkit.org/show_bug.cgi?id=35112
31485
31486         Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView.
31487
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):
31497
31498 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
31499
31500         Reviewed by Adele Peterson.
31501
31502         https://bugs.webkit.org/show_bug.cgi?id=35714
31503         Computed style on delayed transform animations is incorrect
31504         
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
31507         style.
31508         
31509         Fix by checking to see whether we've in the delay phase (with no backwards-fill)
31510         in KeyframeAnimation::getAnimatedStyle().
31511
31512         Test: compositing/animation/computed-style-during-delay.html
31513
31514         * page/animation/KeyframeAnimation.cpp:
31515         (WebCore::KeyframeAnimation::getAnimatedStyle):
31516
31517 2010-03-25  Yury Semikhatsky  <yurys@chromium.org>
31518
31519         Reviewed by Pavel Feldman.
31520
31521         Initialize Web Inspector title with inspected page URL when opening Web Inspector.
31522
31523         https://bugs.webkit.org/show_bug.cgi?id=36534
31524
31525         * inspector/InspectorController.cpp:
31526         (WebCore::InspectorController::setFrontend):
31527
31528 2010-03-25  Antti Koivisto  <koivisto@iki.fi>
31529
31530         Reviewed by Kenneth Rohde Christiansen.
31531
31532         https://bugs.webkit.org/show_bug.cgi?id=36316
31533         Tiles of selected content do not update if not in viewport
31534         
31535         Don't clip repaints to viewport when tiling is enabled.
31536
31537         * page/Frame.cpp:
31538         (WebCore::Frame::setView):
31539         (WebCore::Frame::setTiledBackingStoreEnabled):
31540
31541 2010-03-25  Diego Gonzalez  <diego.gonzalez@openbossa.org>
31542
31543         Reviewed by Eric Seidel.
31544
31545         Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
31546         on WebKit.pri
31547
31548         [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
31549         https://bugs.webkit.org/show_bug.cgi?id=36547
31550
31551         * WebCore.pri:
31552
31553 2010-03-25  Pavel Feldman  <pfeldman@chromium.org>
31554
31555         Reviewed by Timothy Hatcher.
31556
31557         Web Inspector: Expect console object wrapping to fail.
31558
31559         https://bugs.webkit.org/show_bug.cgi?id=36587
31560
31561         * inspector/front-end/InjectedScript.js:
31562         (injectedScriptConstructor):
31563
31564 2010-03-25  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
31565
31566         Reviewed by Eric Seidel.
31567
31568         https://bugs.webkit.org/show_bug.cgi?id=36371
31569         [Gtk] Elements with a title attribute should not be ignored
31570
31571         * accessibility/AccessibilityRenderObject.cpp:
31572         (AccessibilityRenderObject::accessibilityIsIgnored):
31573
31574 2010-03-24  Steve Block  <steveblock@google.com>
31575
31576         Reviewed by David Levin.
31577
31578         Adds a missing ENABLE(WORKERS) guards to the V8 bindings.
31579         https://bugs.webkit.org/show_bug.cgi?id=36550
31580
31581         Build fix only, no new tests.
31582
31583         * bindings/v8/V8DOMWrapper.cpp:
31584         (WebCore::V8DOMWrapper::instantiateV8Object):
31585
31586 2010-03-25  Leandro Pereira  <leandro@profusion.mobi>
31587
31588         Reviewed by Eric Seidel.
31589
31590         Add EFL-specific code to platform/ScrollView.cpp and
31591         platform/Scrollbar.cpp.
31592         http://webkit.org/b/36305
31593
31594         * platform/ScrollView.cpp:
31595         * platform/Scrollbar.cpp:
31596
31597 2010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
31598
31599         Reviewed by Eric Seidel.
31600
31601         [Qt]Fix compile error with QT_NO_LIBRARY
31602         https://bugs.webkit.org/show_bug.cgi?id=36533
31603
31604         * platform/FileSystem.h:
31605         * platform/qt/FileSystemQt.cpp:
31606         (WebCore::unloadModule):
31607
31608 2010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
31609
31610         Reviewed by Eric Seidel.
31611
31612         [Qt]Fix compile error with QT_NO_ANIMATION
31613         https://bugs.webkit.org/show_bug.cgi?id=36526
31614
31615         * platform/graphics/qt/GraphicsLayerQt.cpp:
31616         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
31617         * platform/graphics/qt/GraphicsLayerQt.h:
31618
31619 2010-03-25  Tony Chang  <tony@chromium.org>
31620
31621         Reviewed by Eric Seidel.
31622
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.
31627
31628         Covered by existing tests (fast/events/drag-and-drop.html).
31629
31630         * dom/Clipboard.cpp:
31631         (WebCore::dragOpFromIEOp):
31632         (WebCore::Clipboard::destinationOperation):
31633         (WebCore::Clipboard::setDestinationOperation):
31634
31635 2010-03-25  Fumitoshi Ukai  <ukai@chromium.org>
31636
31637         Reviewed by Eric Seidel.
31638
31639         [Qt] websocket/tests/long-invalid-header.html fails
31640         https://bugs.webkit.org/show_bug.cgi?id=36492
31641
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.
31645
31646         * websockets/WebSocketHandshake.cpp:
31647         (WebCore::trimConsoleMessage):
31648         (WebCore::WebSocketHandshake::readServerHandshake):
31649         (WebCore::WebSocketHandshake::readHTTPHeaders):
31650
31651 2010-03-24  Jon Honeycutt  <jhoneycutt@apple.com>
31652
31653         <rdar://problem/7780798> Missing plug-ins should be represented by text
31654         only, instead of lego block
31655
31656         https://bugs.webkit.org/show_bug.cgi?id=36583
31657
31658         Reviewed by Dan Bernstein.
31659
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.
31664
31665 2010-03-24  Vangelis Kokkevis  <vangelis@chromium.org>
31666
31667         Reviewed by Dimitri Glazkov.
31668
31669         Removing unecessary redraws of LayerSkia contents:
31670         https://bugs.webkit.org/show_bug.cgi?id=36470
31671
31672         Test: No new functionality added, no tests.
31673
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.
31687
31688 2010-03-24  Mark Rowe  <mrowe@apple.com>
31689
31690         Revert the portion of r56489 that dealt with port zero as it introduced some test failures.
31691
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.
31696
31697 2010-03-24  Gavin Barraclough  <barraclough@apple.com>
31698
31699         Reviewed by Sam Weinig.
31700
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.
31706
31707 2010-03-24  Mark Rowe  <mrowe@apple.com>
31708
31709         Reviewed by Darin Adler.
31710
31711         WebKit should treat port numbers outside the valid range as being blacklisted
31712         <http://webkit.org/b/36571> / <rdar://problem/7790908>
31713
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.
31720
31721 2010-03-24  Sam Weinig  <sam@webkit.org>
31722
31723         Reviewed by Mark Rowe.
31724
31725         Add some missing exports.
31726
31727         * WebCore.base.exp:
31728
31729 2010-03-24  Gavin Barraclough  <barraclough@apple.com>
31730
31731         Reviewed by Sam Weinig.
31732
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.
31739
31740         * platform/text/String.cpp:
31741         (WebCore::String::latin1):
31742         (WebCore::putUTF8triple):
31743         (WebCore::String::utf8):
31744         (WebCore::String::fromUTF8):
31745
31746 2010-03-24  Dmitry Titov  <dimich@chromium.org>
31747
31748         No review, rolling out r56453.
31749         http://trac.webkit.org/changeset/56453
31750         https://bugs.webkit.org/show_bug.cgi?id=36426
31751
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
31755
31756         * loader/FrameLoader.cpp:
31757         (WebCore::FrameLoader::finishedLoadingDocument):
31758
31759 2010-03-24  Ilya Tikhonovsky  <loislo@chromium.org>
31760
31761         Reviewed by Pavel Feldman.
31762
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
31766
31767
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):
31773
31774 2010-03-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
31775
31776         Reviewed by Eric Carlson.
31777
31778         [GStreamer] Fails to go to Loaded state because of floating point discrepancies
31779         https://bugs.webkit.org/show_bug.cgi?id=35891
31780
31781         Use the m_fillStatus variable, which is more reliable, instead of
31782         using the calculation, for the completed case.
31783
31784         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
31785         (WebCore::MediaPlayerPrivate::fillTimerFired):
31786
31787 2010-03-24  Dmitry Titov  <dimich@chromium.org>
31788
31789         Unreviewed, Chromium test fix.
31790
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*).
31794
31795         Fixing test fast/events/custom-event.html
31796
31797         * bindings/v8/custom/V8EventCustom.cpp:
31798
31799 2010-03-24  MORITA Hajime  <morrita@google.com>
31800
31801         Reviewed by Darin Adler.
31802
31803         Refactoring: HTMLFormControlElement should not have redundant null check
31804         https://bugs.webkit.org/show_bug.cgi?id=36487
31805         
31806         No new tests as there is no new functionality.        
31807
31808         * html/HTMLFormControlElement.cpp:
31809         (WebCore::HTMLFormControlElement::dispatchFocusEvent):
31810         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
31811
31812 2010-03-24  Eric Uhrhane  <ericu@chromium.org>
31813
31814         Reviewed by Alexey Proskuryakov.
31815
31816         DOMCoreException needs NoStaticTables modifier
31817         https://bugs.webkit.org/show_bug.cgi?id=36458
31818
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.
31823
31824         * dom/DOMCoreException.idl:  Added NoStaticTables.
31825
31826 2010-03-24  Drew Wilson  <atwilson@chromium.org>
31827
31828         Reviewed by Dmitry Titov.
31829
31830         Failed assertion in V8Proxy::setDOMException() if worker is shutting down.
31831         https://bugs.webkit.org/show_bug.cgi?id=36514
31832
31833         Test: none (existing worker tests suffice)
31834
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.
31838
31839 2010-03-23  Evan Martin  <evan@chromium.org>
31840
31841         Reviewed by Dmitry Titov.
31842
31843         [chromium] use integral glyph widths
31844         https://bugs.webkit.org/show_bug.cgi?id=36510
31845
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.
31851
31852         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
31853         (WebCore::SimpleFontData::platformWidthForGlyph):
31854         round glyph widths to integers.
31855
31856 2010-03-24  Dean Jackson  <dino@apple.com>
31857
31858         Reviewed by Kevin Decker.
31859
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).
31865
31866         * platform/graphics/mac/GraphicsLayerCA.mm:
31867         (WebCore::GraphicsLayerCA::setupAnimation):
31868
31869 2010-03-24  Hayato Ito  <hayato@chromium.org>
31870
31871         Reviewed by Shinichiro Hamaji.
31872
31873         Refactor computePageRects so that Mac can make use of it.
31874         https://bugs.webkit.org/show_bug.cgi?id=36159
31875
31876         Refactoring only, so no new tests.
31877
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:
31886
31887 2010-03-24  Jeremy Moskovich  <jeremy@chromium.org>
31888
31889         Reviewed by Jeremy Orlow.
31890
31891         Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
31892
31893         https://bugs.webkit.org/show_bug.cgi?id=36426
31894
31895         No new tests as there is no new functionality.
31896
31897         * loader/FrameLoader.cpp:
31898         (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
31899
31900 2010-03-24  Anton Muhin  <antonm@chromium.org>
31901
31902         Reviewed by Nate Chapin.
31903
31904         Use newly introduced SetPrototype method to deal with global objects.
31905         https://bugs.webkit.org/show_bug.cgi?id=36497
31906
31907         No new tests, should be covered by the current test infrastructure.
31908
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):
31915
31916 2010-03-24  Dmitry Titov  <dimich@chromium.org>
31917
31918         Unreviewed, Chromium build fix.
31919
31920         * platform/chromium/PopupMenuChromium.cpp:
31921         (WebCore::PopupContainer::PopupContainer): Fix order of initializers.
31922         (WebCore::PopupContainer::layout): Remove unused variable.
31923
31924 2010-03-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31925
31926         Reviewed by Simon Hausmann.
31927
31928         Add a way to check if the page client is making use of
31929         a QWidget.
31930
31931         * platform/qt/QWebPageClient.h:
31932         (QWebPageClient::isQWidgetClient):
31933
31934 2010-03-24  Jay Campan  <jcampan@google.com>
31935
31936         Reviewed by Darin Fisher.
31937
31938         Making Chromium select popups not steal activation from the browser.
31939         Select popups are now like autocomplete popups, shown in non-activated
31940         windows.
31941         https://bugs.webkit.org/show_bug.cgi?id=36062
31942
31943         * page/chromium/ChromeClientChromium.h:
31944         * platform/chromium/PopupMenuChromium.cpp:
31945         (WebCore::):
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):
31967
31968 2010-03-10  David Levin  <levin@chromium.org>
31969
31970         Reviewed by Oliver Hunt.
31971
31972         Need to move items that CanvasRenderingContext2D depends on into CanvasSurface.
31973         https://bugs.webkit.org/show_bug.cgi?id=35453
31974
31975         Prepartory changes to allow for an OffscreenCanvas which may be used in a worker
31976         or outside of the DOM.
31977
31978         No change in functionality, so new tests.
31979
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.
32020
32021 2010-03-24  Alexander Pavlov  <apavlov@chromium.org>
32022
32023         Reviewed by Pavel Feldman.
32024
32025         Inspector: XML Tags should not be converted to lowercase
32026         https://bugs.webkit.org/show_bug.cgi?id=28600
32027
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):
32035
32036 2010-03-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
32037
32038         Reviewed by Antti Koivisto.
32039
32040         Add support for DOM Level 3 Custom Event
32041         http://www.w3.org/TR/DOM-Level-3-Events
32042
32043         V8 Generator change by Nate Chapin <japhet@chromium.org>, Thanks!
32044
32045         Test: fast/events/custom-event.html
32046
32047         * DerivedSources.cpp:
32048         * GNUmakefile.am:
32049         * WebCore.gypi:
32050         * WebCore.pri:
32051         * WebCore.pro:
32052         * WebCore/DerivedSources.make:
32053         * WebCore.vcproj/WebCore.vcproj:
32054         * WebCore.xcodeproj/project.pbxproj:
32055         * bindings/js/JSEventCustom.cpp:
32056         (WebCore::toJS):
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):
32068         * dom/Event.cpp:
32069         (WebCore::Event::isCustomEvent):
32070         * dom/Event.h:
32071
32072 2010-03-24  Alexander Pavlov  <apavlov@chromium.org>
32073
32074         Reviewed by Pavel Feldman.
32075
32076         Web Inspector: Error when highlighting JavaScript with an invalid mime type
32077         https://bugs.webkit.org/show_bug.cgi?id=36530
32078
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):
32086
32087 2010-03-24  Pavel Feldman  <pfeldman@chromium.org>
32088
32089         Not reviewed. Chromium test fix: added a frameCount check to the
32090         debugger function call.
32091
32092         * bindings/v8/V8Proxy.cpp:
32093         (WebCore::V8Proxy::createUtilityContext):
32094
32095 2010-03-19  Miikka Heikkinen  <miikka.heikkinen@digia.com>
32096
32097         Reviewed by Simon Hausmann.
32098
32099         [Qt] Support for QT_LIBINFIX in Symbian builds
32100
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.
32104
32105         * WebCore.pro:
32106
32107 2010-03-24  Kent Tamura  <tkent@chromium.org>
32108
32109         Reviewed by Darin Adler.
32110
32111         Make Icon::createIconForFiles() optional.
32112         https://bugs.webkit.org/show_bug.cgi?id=35072
32113
32114         r54923 made Icon::createIconForFiles() deprecated. However moving
32115         existing icon loading code to outside of WebCore is not good.  So,
32116         we assume:
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().
32121
32122         This patch removes a call to Icon::createIconForFiles() from
32123         FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of
32124         non-Chromium ports calls Icon::createIconForFiles().
32125
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.
32141
32142 2010-03-23  Dan Bernstein  <mitz@apple.com>
32143
32144         Fixed typos.
32145
32146         * manual-tests/plugin-visible-rect-change.html:
32147
32148 2010-03-23  Dan Bernstein  <mitz@apple.com>
32149
32150         Reviewed by John Sullivan.
32151
32152         WebCore part of
32153         <rdar://problem/7197736> Plug-in clip rect does not update when overflow
32154         clip changes
32155         https://bugs.webkit.org/show_bug.cgi?id=36479.
32156
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.
32170
32171 2010-03-23  Simon Fraser  <simon.fraser@apple.com>
32172
32173         Reviewed by Dan Bernstein.
32174
32175         Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
32176         https://bugs.webkit.org/show_bug.cgi?id=34065
32177         
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.
32182
32183         Test: compositing/geometry/empty-embed-rects.html
32184
32185         * rendering/RenderLayerCompositor.cpp:
32186         (WebCore::RenderLayerCompositor::addToOverlapMap):
32187         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
32188
32189 2010-03-23  David Levin  <levin@chromium.org>
32190
32191         Reviewed by Nate Chapin.
32192
32193         [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
32194         https://bugs.webkit.org/show_bug.cgi?id=36506
32195
32196         Test: http/tests/xmlhttprequest/send-undefined-and-null.html
32197
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
32203         request body.
32204
32205 2010-03-23  Chris Evans  <cevans@chromium.org>
32206
32207         Reviewed by Darin Adler.
32208
32209         Fix hard-to-see crash due to incorrect libxml API usage.
32210
32211         https://bugs.webkit.org/show_bug.cgi?id=36000
32212
32213         Test: fast/text/bad-encoding.html
32214
32215         * dom/XMLTokenizerLibxml2.cpp:
32216         (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context.
32217
32218 2010-03-23  Nate Chapin  <japhet@chromium.org>
32219
32220         Unreviewed, revert r56376.
32221
32222         This revision introduced a crash in a couple of layout tests
32223         on Chromium Linux.
32224
32225         * page/chromium/ChromeClientChromium.h:
32226         * platform/chromium/PopupMenuChromium.cpp:
32227         (WebCore::):
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):
32239
32240 2010-03-23  David Hyatt  <hyatt@apple.com>
32241
32242         Reviewed by Simon Fraser and Darin Adler.
32243
32244         https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted.
32245
32246         Added fast/css/nth-child-implied-step.html
32247
32248         * css/CSSGrammar.y:
32249         * css/tokenizer.flex:
32250
32251 2010-03-23  Darin Adler  <darin@apple.com>
32252
32253         Reviewed by Sam Weinig.
32254
32255         Reduce and straighten internal use of DOMImplementation
32256         https://bugs.webkit.org/show_bug.cgi?id=36501
32257
32258         * WebCore.xcodeproj/project.pbxproj: Xcode decided to
32259         re-sort this file.
32260
32261         * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h.
32262
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.
32267
32268         * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h.
32269
32270         * html/HTMLViewSourceDocument.cpp:
32271         (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a
32272         DOMImplementation object just to use a class member function.
32273
32274         * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h.
32275
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
32283         function.
32284
32285 2010-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
32286
32287         Reviewed by Kenneth Rohde Christiansen.
32288
32289         [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists.
32290         https://bugs.webkit.org/show_bug.cgi?id=36367
32291
32292         Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5.
32293
32294         * WebCore.pri:
32295
32296 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32297
32298         Reviewed by David Kilzer.
32299
32300         Upstream iPhone KeyEvent platform code and share with Mac platform
32301         https://bugs.webkit.org/show_bug.cgi?id=35870
32302
32303         * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif.
32304         * platform/iphone/KeyEventIPhone.mm: Fixed headers.
32305
32306 2010-03-23  David Hyatt  <hyatt@apple.com>
32307
32308         Reviewed by Jeremy Orlow.
32309
32310         https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative
32311         one (-).
32312
32313         Added fast/css/nth-child-unary-prefix.html
32314
32315         * css/tokenizer.flex:
32316
32317 2010-03-23  Andrey Kosyakov  <caseq@chromium.org>
32318
32319         Reviewed by Dmitry Titov.
32320
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
32326
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):
32360
32361 2010-03-22  David Hyatt  <hyatt@apple.com>
32362
32363         Reviewed by Sam Weinig.
32364
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).
32367
32368         Added fast/events/focusinout.html
32369
32370         * dom/Document.cpp:
32371         (WebCore::Document::setFocusedNode):
32372         * dom/Event.cpp:
32373         (WebCore::Event::aliasedType):
32374         (WebCore::Event::hasAliasedType):
32375         * dom/Event.h:
32376         * dom/EventNames.h:
32377         * dom/EventTarget.cpp:
32378         (WebCore::EventTarget::fireEventListeners):
32379         * dom/EventTarget.h:
32380         * dom/Node.cpp:
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):
32395
32396 2010-03-23  MORITA Hajime  <morrita@google.com>
32397
32398         Reviewed by Alexey Proskuryakov.
32399
32400         WebCore::SelectionController::setSelection NULL pointer
32401         https://bugs.webkit.org/show_bug.cgi?id=31545
32402
32403         Added missing NULL-check that other APIs have.
32404
32405         Test: svg/dom/frame-related-api-during-load.html
32406
32407         * svg/SVGSVGElement.cpp:
32408         (WebCore::SVGSVGElement::deselectAll):
32409
32410 2010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>
32411
32412         Reviewed by Simon Hausmann.
32413
32414         [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
32415         https://bugs.webkit.org/show_bug.cgi?id=36444
32416
32417         Handle duplicated or unsorted colorStop at platformDestory
32418
32419         * platform/graphics/qt/GradientQt.cpp:
32420         (WebCore::Gradient::platformGradient):
32421
32422 2010-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
32423
32424         Unreviewed build fix.
32425
32426         Try to make the window buildbot happy.
32427
32428         * xml/XMLHttpRequestProgressEventThrottle.cpp:
32429         * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the
32430         static const in the cpp file.
32431
32432 2010-03-23  Pavel Feldman  <pfeldman@chromium.org>
32433
32434         Reviewed by Timothy Hatcher.
32435
32436         Web Inspector: make gear menu appear on styles panel at all times.
32437
32438         https://bugs.webkit.org/show_bug.cgi?id=36490
32439
32440         * inspector/front-end/inspector.css:
32441
32442 2010-03-23  Pavel Feldman  <pfeldman@chromium.org>
32443
32444         Reviewed by Timothy Hatcher.
32445
32446         Web Inspector: render nodes in inherited style bars as links.
32447
32448         https://bugs.webkit.org/show_bug.cgi?id=36486
32449
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:
32459
32460 2010-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
32461
32462         Reviewed by Alexey Proskuryakov.
32463
32464         [XHR] onProgress event needs to be dispatched according to what the specification states
32465         https://bugs.webkit.org/show_bug.cgi?id=18654
32466
32467         Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
32468
32469         * Android.mk:
32470         * GNUmakefile.am:
32471         * WebCore.gypi:
32472         * WebCore.pro:
32473         * WebCore.vcproj/WebCore.vcproj:
32474         * WebCore.xcodeproj/project.pbxproj:
32475         Added XMLHttpRequestProgressEventThrottle to the build systems.
32476
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.
32509         (WebCore::):
32510         (WebCore::XMLHttpRequestProgressEventThrottle::suspended):
32511
32512 2010-03-23  Pavel Feldman  <pfeldman@chromium.org>
32513
32514         Reviewed by Timothy Hatcher.
32515
32516         Web Inspector: Element inspector search funtion: Error dispatching: performSearch.
32517
32518         https://bugs.webkit.org/show_bug.cgi?id=36488
32519
32520         Test: inspector/elements-panel-search.html
32521
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):
32528
32529 2010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>
32530
32531         Reviewed by Simon Hausmann.
32532
32533         [Qt]  fast/canvas/patternfill-repeat.html failed.
32534         https://bugs.webkit.org/show_bug.cgi?id=34477
32535
32536         Change Pattern to expose the repeatX and repeatY
32537         At GraphicsContextQt to apply repeatX and repeatY
32538
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):
32546
32547 2010-03-23  Alex Milowski  <alex@milowski.com>
32548
32549         Reviewed by Kenneth Rohde Christiansen.
32550
32551         Removed the use of beta STIX fonts.
32552
32553         * css/mathml.css:
32554
32555 2010-03-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
32556
32557         Reviewed by Holger Freyther.
32558
32559         [GTK] Does not build with latest GTK+ development release
32560         https://bugs.webkit.org/show_bug.cgi?id=36398
32561
32562         Fix building with newest GTK+ versions.
32563
32564         * GNUmakefile.am:
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):
32578
32579 2010-03-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
32580
32581         Reviewed by Kenneth Rohde Christiansen.
32582
32583         [Qt] Remove support for Qt v4.4
32584         https://bugs.webkit.org/show_bug.cgi?id=36389
32585
32586         No new tests as there is no new functionality.
32587
32588         * WebCore.pri:
32589         * WebCore.pro:
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:
32600
32601 2010-03-23  Kent Tamura  <tkent@chromium.org>
32602
32603         Reviewed by Adam Barth.
32604
32605         Add checks if setNeedsWillValidateCheck() and
32606         setNeedsValidityCheck() are called correctly.
32607         https://bugs.webkit.org/show_bug.cgi?id=34924
32608
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.
32613
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.
32618
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):
32641
32642 2010-03-22  Pavel Feldman  <pfeldman@chromium.org>
32643
32644         Reviewed by Dave Hyatt.
32645
32646         Web Inspector: display CSS selector source line in the styles sidebar pane.
32647
32648         https://bugs.webkit.org/show_bug.cgi?id=36414
32649
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.
32653
32654         Test: inspector/styles-source-lines.html
32655
32656         * css/CSSGrammar.y:
32657         * css/CSSParser.cpp:
32658         (WebCore::CSSParser::CSSParser):
32659         (WebCore::CSSParser::lex):
32660         (WebCore::CSSParser::countLines):
32661         (WebCore::CSSParser::createStyleRule):
32662         * css/CSSParser.h:
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):
32676
32677 2010-03-22  Qi Zhang  <qi.2.zhang@nokia.com>
32678
32679         Reviewed by Laszlo Gombos.
32680
32681         [Qt] Fix arc function in canvas
32682         https://bugs.webkit.org/show_bug.cgi?id=36296
32683
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.
32685
32686         * platform/graphics/qt/PathQt.cpp:
32687         (WebCore::Path::addArc):
32688
32689 2010-03-19  Abhishek Arya  <inferno@chromium.org>
32690
32691         Reviewed by Adam Barth.
32692
32693         https://bugs.webkit.org/show_bug.cgi?id=36339
32694         Off-by-one memory corruption fix for long invalid websockets upgrade header
32695
32696         Test: websocket/tests/long-invalid-header.html
32697
32698         * websockets/WebSocketHandshake.cpp:
32699         (WebCore::WebSocketHandshake::readServerHandshake):
32700
32701 2010-03-22  Fumitoshi Ukai  <ukai@chromium.org>
32702
32703         Unreviewed build fix for Chromim Mac at r56376
32704
32705         Fix initializer order  of PopupContainer.
32706
32707         * platform/chromium/PopupMenuChromium.cpp:
32708         (WebCore::PopupContainer::PopupContainer):
32709
32710 2010-03-22  Jay Campan  <jcampan@google.com>
32711
32712         Reviewed by Darin Fisher.
32713
32714         Making Chromium select popups not steal activation from the browser.
32715         Select popups are now like autocomplete popups, shown in non-activated
32716         windows.
32717         https://bugs.webkit.org/show_bug.cgi?id=36062
32718
32719         * page/chromium/ChromeClientChromium.h:
32720         * platform/chromium/PopupMenuChromium.cpp:
32721         (WebCore::):
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):
32732
32733 2010-03-22  Dmitry Titov  <dimich@chromium.org>
32734
32735         Reviewed by Nate Chapin.
32736
32737         [v8] Crash if the worker is terminated before its initial script is executed.
32738         https://bugs.webkit.org/show_bug.cgi?id=36336
32739
32740         Test: fast/workers/termination-early.html
32741
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:
32746
32747 2010-03-22  Andrey Kosyakov  <caseq@chromium.org>
32748
32749         Reviewed by Pavel Feldman.
32750
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
32755
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):
32761
32762 2010-03-22  Darin Fisher  <darin@chromium.org>
32763
32764         Reviewed by Brady Eidson.
32765
32766         HistoryController::replaceState() should modify m_currentItem
32767         instead of the current HistoryItem of the BackForwardList.
32768
32769         https://bugs.webkit.org/show_bug.cgi?id=36435
32770
32771         Test: fast/loader/stateobjects/replacestate-in-iframe.html
32772
32773         * loader/HistoryController.cpp:
32774         (WebCore::HistoryController::replaceState):
32775
32776 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32777
32778         Reviewed by David Kilzer.
32779
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>
32783
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.
32787
32788           Shared code usable by either mac or iphone platforms.
32789
32790         * platform/cocoa/KeyEventCocoa.h:
32791         * platform/cocoa/KeyEventCocoa.mm:
32792         (WebCore::keyIdentifierForCharCode):
32793         (WebCore::windowsKeyCodeForKeyCode):
32794         (WebCore::windowsKeyCodeForCharCode):
32795
32796           Make use of the shared code. Keep anything platform specific in the
32797           original file before calling the shared code.
32798
32799         * platform/iphone/KeyEventIPhone.mm:
32800         (WebCore::keyIdentifierForKeyEvent):
32801         * platform/mac/KeyEventMac.mm:
32802         (WebCore::keyIdentifierForKeyEvent):
32803         (WebCore::windowsKeyCodeForKeyEvent):
32804
32805 2010-03-22  Kevin Decker  <kdecker@apple.com>
32806
32807         Reviewed by Simon Fraser.
32808
32809         https://bugs.webkit.org/show_bug.cgi?id=36328
32810
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.
32822
32823 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32824
32825         Reviewed by David Kilzer.
32826
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>
32830
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.
32833
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:
32840
32841 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32842
32843         Reviewed by David Kilzer.
32844
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>
32848
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)
32854
32855 2010-03-22  Kevin Decker  <kdecker@apple.com>
32856     
32857         Attempt to fix the Leopard build.
32858         * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants.
32859
32860 2010-03-22  Justin Schuh  <jschuh@chromium.org>
32861
32862         Reviewed by Dirk Schulze.
32863
32864         Out of bounds read in SVG feColorMatrix filter
32865         https://bugs.webkit.org/show_bug.cgi?id=32714
32866
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.
32870
32871         Tests: svg/filters/feColorMatrix-invalid-value.svg
32872                svg/filters/feColorMatrix-values.svg
32873
32874         * svg/SVGFEColorMatrixElement.cpp:
32875         (WebCore::SVGFEColorMatrixElement::build):
32876
32877 2010-03-22  Philippe Normand  <pnormand@igalia.com>
32878
32879         Reviewed by Eric Carlson.
32880
32881         [GStreamer] Use ImageBuffer API to do painting
32882         https://bugs.webkit.org/show_bug.cgi?id=35783
32883
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.
32887
32888         * GNUmakefile.am:
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:
32898
32899 2010-03-22  Beth Dakin  <bdakin@apple.com>
32900
32901         Reviewed by Darin Adler.
32902
32903         Fix for <rdar://problem/7766437> With Web Inspector opened, a crash 
32904         occurs at Webcore:getMatchedCSSRules() when navigating to a 
32905         previous page
32906
32907         defaultView() can legitimately by null (as it is in this case), so 
32908         it must be null-checked.
32909
32910         * inspector/InspectorDOMAgent.cpp:
32911         (WebCore::InspectorDOMAgent::getStyles):
32912         (WebCore::InspectorDOMAgent::getComputedStyle):
32913         (WebCore::InspectorDOMAgent::getMatchedCSSRules):
32914
32915 2010-03-22  Kevin Decker  <kdecker@apple.com>
32916
32917         Reviewed by Darin.
32918
32919         https://bugs.webkit.org/show_bug.cgi?id=36328
32920         
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.
32933
32934 2010-03-22  Jakub Wieczorek  <faw217@gmail.com>
32935
32936         Reviewed by Kenneth Rohde Christiansen.
32937
32938         [Qt] Phonon media backend: expose supported MIME types to WebCore
32939
32940         https://bugs.webkit.org/show_bug.cgi?id=33453
32941
32942         MediaPlayerPrivate should expose the MIME types that are supported
32943         by the underlying backend in Phonon.
32944
32945         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
32946         (WebCore::MediaPlayerPrivate::supportedTypesCache):
32947         (WebCore::MediaPlayerPrivate::getSupportedTypes):
32948         (WebCore::MediaPlayerPrivate::supportsType):
32949         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
32950
32951 2010-03-22  Alexander Pavlov  <apavlov@chromium.org>
32952
32953         Reviewed by Pavel Feldman.
32954
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
32957
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):
32964
32965 2010-03-22  Darin Adler  <darin@apple.com>
32966
32967         Reviewed by Dan Bernstein.
32968
32969         TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
32970         https://bugs.webkit.org/show_bug.cgi?id=36381
32971
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.
32984
32985 2010-03-22  Eric Carlson  <eric.carlson@apple.com>
32986
32987         Reviewed by Sam Weinig.
32988
32989         Typo in GPL license text
32990         https://bugs.webkit.org/show_bug.cgi?id=36442
32991
32992         Fix typo - "aint with this library" -> "along with this library".
32993
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:
33001
33002 2010-03-22  Jakub Wieczorek  <jwieczorek@webkit.org>
33003
33004         Reviewed by Simon Hausmann.
33005
33006         [Qt] Don't construct a QLineEdit every time when painting a text field
33007         https://bugs.webkit.org/show_bug.cgi?id=36373
33008
33009         Instead, keep one instance per RenderTheme around.
33010
33011         * platform/qt/RenderThemeQt.cpp:
33012         (WebCore::findFrameLineWidth):
33013
33014 2010-03-22  Luiz Agostini  <luiz.agostini@openbossa.org>
33015
33016         Reviewed by Kenneth Rohde Christiansen.
33017
33018         [Qt] Multiselect Popup - adjusting QtAbstractWebPopup
33019         https://bugs.webkit.org/show_bug.cgi?id=36186
33020
33021         QtAbstractWebPopup must provide new methods to be used by its descendants that
33022         wish to handle <select multiple> elements.
33023
33024         * platform/qt/QtAbstractWebPopup.cpp:
33025         (WebCore::QtAbstractWebPopup::selectItem):
33026         (WebCore::QtAbstractWebPopup::multiple):
33027         * platform/qt/QtAbstractWebPopup.h:
33028
33029 2010-03-22  Alex Milowski  <alex@milowski.com>
33030
33031         Reviewed by Kenneth Rohde Christiansen.
33032
33033         Added basic support for mfrac (fractions)
33034
33035         Test: mathml/presentation/fractions.xhtml
33036
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.
33045
33046 2010-03-22  Kevin Decker  <kdecker@apple.com>
33047
33048         Reviewed by John Sullivan.
33049
33050         https://bugs.webkit.org/show_bug.cgi?id=36328
33051
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.
33057
33058 2010-03-22  Yury Semikhatsky  <yurys@chromium.org>
33059
33060         Reviewed by Pavel Feldman.
33061
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. 
33063
33064         https://bugs.webkit.org/show_bug.cgi?id=31171
33065
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.
33074
33075 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33076
33077         Reviewed by Simon Hausmann.
33078
33079         Add EFL-specific code to page/EventHandler.cpp.
33080         http://webkit.org/b/36306
33081
33082         * page/EventHandler.cpp:
33083
33084 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33085
33086         Reviewed by Simon Hausmann.
33087
33088         Add EFL-specific code to platform/DragImage.h and
33089         platform/DragData.h.
33090         http://webkit.org/b/36310
33091
33092         * platform/DragImage.h:
33093         * platform/DragData.h:
33094
33095 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33096
33097         Reviewed by Simon Hausmann.
33098
33099         Add EFL-specific code to platform/FileSystem.h.
33100         http://webkit.org/b/36313
33101
33102         * platform/FileSystem.h:
33103
33104 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33105
33106         Reviewed by Simon Hausmann.
33107
33108         Add EFL-specific code to platform/Cursor.h.
33109         http://webkit.org/b/36319
33110
33111         * platform/Cursor.h:
33112
33113 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33114
33115         Reviewed by Simon Hausmann.
33116
33117         Add EFL-specific code to platform/NotImplemented.h.
33118         http://webkit.org/b/36320
33119
33120         * platform/NotImplemented.h:
33121
33122 2010-03-21  Kim Grönholm  <kim.gronholm@nomovok.com>
33123
33124         Reviewed by Simon Hausmann.
33125
33126         [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly
33127         https://bugs.webkit.org/show_bug.cgi?id=35520
33128         
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.
33134
33135         Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890
33136                https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889
33137             
33138
33139         * platform/graphics/qt/GraphicsLayerQt.cpp:
33140         (WebCore::TransformAnimationQt::applyFrame):
33141
33142 2010-03-21  Dmitry Gorbik  <socket.h@gmail.com>
33143
33144         <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell
33145
33146         Reviewed by David Kilzer.
33147
33148         Fixed width calculation for cells with span when <col> is defined.
33149
33150         Test: fast/table/col-width-span-expand.html
33151
33152         * rendering/RenderTableCell.cpp:
33153         (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width
33154         in case of <col> defined and span > 1.
33155
33156 2010-03-20  Antonio Gomes  <tonikitoo@webkit.org>
33157
33158         Reviewed by Kenneth Christiansen.
33159         Patch by Antonio Gomes <tonikitoo@webkit.org>
33160
33161         Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I)
33162         https://bugs.webkit.org/show_bug.cgi?id=36168
33163
33164         Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167.
33165         No functionalty change.
33166
33167         * page/FocusController.cpp:
33168         (WebCore::updateFocusCandidateIfCloser):
33169         * page/SpatialNavigation.cpp:
33170         (WebCore::distanceInDirection):
33171
33172 2010-03-20  Kevin Ollivier  <kevino@theolliviers.com>
33173
33174         [wx] Build fixes after recent changes.
33175
33176         * platform/graphics/wx/ImageWx.cpp:
33177         * wscript:
33178
33179 2010-03-20  Joseph Pecoraro  <joepeck@webkit.org>
33180
33181         Reviewed by David Kilzer.
33182
33183         Assertion failure in media/video-controls-with-mutation-event-handler.html
33184         https://bugs.webkit.org/show_bug.cgi?id=36376
33185
33186         Test: media/video-controls-with-mutation-event-handler.html
33187
33188         Break early (when not attached) in the defaultEventHandler before the
33189         slider is completely set up.
33190
33191         * rendering/MediaControlElements.cpp:
33192         (WebCore::MediaControlTimelineElement::defaultEventHandler):
33193         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
33194         * rendering/RenderMedia.cpp:
33195         (WebCore::RenderMedia::createVolumeSlider):
33196
33197 2010-03-19  Shinichiro Hamaji  <hamaji@chromium.org>
33198
33199         Reviewed by Dan Bernstein.
33200
33201         WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c)
33202         https://bugs.webkit.org/show_bug.cgi?id=34641
33203
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.
33208
33209         Test: fast/css/first-letter-block-form-controls-crash.html
33210
33211         * rendering/RenderBlock.cpp:
33212         (WebCore::RenderBlock::updateFirstLetter):
33213
33214 2010-03-19  Adam Barth  <abarth@webkit.org>
33215
33216         Reviewed by Daniel Bates.
33217
33218         Change XSSAuditor block syntax
33219         https://bugs.webkit.org/show_bug.cgi?id=34436
33220
33221         Update our blocking syntax to something more reasonable.  Also,
33222         implemented a way for a web site to disable the filter.
33223
33224         Tests: http/tests/security/xssAuditor/no-protection-script-tag.html
33225                http/tests/security/xssAuditor/xss-protection-parsing-01.html
33226
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:
33235         (WebCore::):
33236
33237 2010-03-19  Eric Uhrhane  <ericu@chromium.org>
33238
33239         Reviewed by Dmitry Titov.
33240
33241         Refactor DatabaseTracker.cpp for thread safety
33242         https://bugs.webkit.org/show_bug.cgi?id=34991
33243
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.
33251
33252         No new tests.
33253
33254         Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it.
33255
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):
33262
33263         Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic.
33264
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):
33277
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.
33283
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):
33322
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):
33336
33337         Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs.  There's a new tryLock() function in addition to the existing lock().
33338
33339         * storage/OriginQuotaManager.cpp:
33340         (WebCore::OriginQuotaManager::tryLock):
33341         (WebCore::OriginQuotaManager::trackOrigin):
33342         * storage/OriginQuotaManager.h:
33343
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.
33347
33348 2010-03-19  Luiz Agostini  <luiz.agostini@openbossa.org>
33349
33350         Reviewed by Antti Koivisto.
33351
33352         Multiselect popups - rendering
33353         https://bugs.webkit.org/show_bug.cgi?id=36006
33354
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.
33357
33358         Theme stylesheet mechanism has been used to change the appearance of the elements.
33359
33360         Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects
33361         the needed information to render <select multiple> comboboxes.
33362
33363         * WebCore.pri:
33364         * WebCore.pro:
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:
33378
33379 2010-03-19  Zhenyao Mo  <zmo@google.com>
33380
33381         Reviewed by Oliver Hunt.
33382
33383         Update WebGLArray.slice() to new spec
33384         https://bugs.webkit.org/show_bug.cgi?id-35612
33385
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.
33415
33416 2010-03-19  Yong Li <yong.li@torchmobile.com> and Andy Estes <aestes@apple.com>
33417
33418         Reviewed by Darin Adler.
33419
33420         Ensure the segments inside SharedBuffer are merged before constructing
33421         a CFData with it.
33422
33423         https://bugs.webkit.org/show_bug.cgi?id=50843
33424
33425         * manual-tests/WebKitSite.webarchive: Added.
33426         * manual-tests/webarchive-test.html: Added.
33427         * platform/cf/SharedBufferCF.cpp:
33428         (WebCore::SharedBuffer::createCFData):
33429
33430 2010-03-19  Justin Schuh  <jschuh@chromium.org>
33431
33432         Reviewed by Oliver Hunt.
33433
33434         Security: ReadAV@NULL for negative feMorphology filter radius
33435         https://bugs.webkit.org/show_bug.cgi?id=34566
33436
33437         Prevents building the filter if either radius is negative.
33438         Catches negative radii resulting from conversions.
33439
33440         Test: svg/filters/feMorphology-invalid-radius.svg
33441
33442         * svg/SVGFEMorphologyElement.cpp:
33443         (WebCore::SVGFEMorphologyElement::build):
33444         * svg/graphics/filters/SVGFEMorphology.cpp:
33445         (WebCore::FEMorphology::apply):
33446
33447 2010-03-19  Chris Marrin  <cmarrin@apple.com>
33448
33449         Reviewed by Simon Fraser.
33450
33451         Fixed a crash with AnimationController getting deleted out from under itself.
33452         
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.
33459
33460         Test: transitions/transition-end-event-destroy-iframe.html
33461
33462         * page/animation/AnimationController.cpp:
33463         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
33464
33465 2010-03-19  Luiz Agostini  <luiz.agostini@openbossa.org>
33466
33467         Reviewed by Antti Koivisto.
33468
33469         Multiselect Popup - PopupMenuClient extension
33470         https://bugs.webkit.org/show_bug.cgi?id=36178
33471
33472         PopupMenuClient class is the interface used by combobox popup implementations.
33473         It needs to be extended to handle <select multiple> needs.
33474
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.
33478
33479         RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient
33480         and to have the new methods implemented.
33481
33482         * platform/PopupMenuClient.h:
33483         * rendering/RenderMenuList.cpp:
33484         (WebCore::RenderMenuList::listBoxSelectItem):
33485         (WebCore::RenderMenuList::multiple):
33486         * rendering/RenderMenuList.h:
33487
33488 2010-03-19  Simon Fraser  <simon.fraser@apple.com>
33489
33490         Reviewed by Dimitri Glazkov.
33491
33492         https://bugs.webkit.org/show_bug.cgi?id=36387
33493         REGRESSION: Can "uncheck" radio buttons by clicking on them
33494         
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.
33497         
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.
33500
33501         Test: fast/forms/radio-checkbox-restore-indeterminate.html
33502
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
33510         to the spec.
33511
33512 2010-03-19  Alexander Pavlov  <apavlov@chromium.org>
33513
33514         Reviewed by Pavel Feldman.
33515
33516         Web Inspector: caret moves past prompt in javascript console
33517         https://bugs.webkit.org/show_bug.cgi?id=26602
33518
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.
33522
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):
33528
33529 2010-03-19  Adam Roben  <aroben@apple.com>
33530
33531         Windows clean build fix after r56192
33532
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.)
33537
33538         * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a
33539         build.
33540
33541 2010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
33542
33543         Reviewed by David Kilzer.
33544
33545         Assertion failure in media/video-controls-with-mutation-event-handler.html
33546         https://bugs.webkit.org/show_bug.cgi?id=36376
33547
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.
33550
33551         * rendering/RenderMedia.cpp:
33552         (WebCore::RenderMedia::createVolumeSlider):
33553
33554 2010-03-19  Brady Eidson  <beidson@apple.com>
33555
33556         Reviewed by Darin Adler.
33557
33558         3 of the new HTML5 loading events need to be asynchronous.
33559
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
33565
33566         Document already had an asynchronous event delivery mechanism for storage events, so
33567         we can repurpose that for all async events.
33568
33569         No new tests. (No change in behavior)
33570
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.
33583         * dom/Document.h:
33584         (WebCore::):
33585
33586         * history/CachedFrame.cpp:
33587         (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent
33588
33589         * loader/FrameLoader.cpp:
33590         (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent
33591
33592         * storage/StorageEventDispatcher.cpp:
33593         (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent
33594
33595 2010-03-19  Kevin Decker  <kdecker@apple.com>
33596
33597         Reviewed by Darin Adler and Brady Eidson.
33598
33599         First step toward:
33600         https://bugs.webkit.org/show_bug.cgi?id=36328
33601
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. 
33605
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. 
33611
33612 2010-03-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
33613
33614         Reviewed by Simon Hausmann.
33615
33616         [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6
33617         https://bugs.webkit.org/show_bug.cgi?id=36348
33618
33619         Backing store implementation for QtWebKit requires at least Qt
33620         version 4.6.
33621
33622         No new tests as there is no new functionality.
33623
33624         * WebCore.pri:
33625
33626 2010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
33627
33628         Reviewed by David Kilzer.
33629
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
33632
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
33635
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.
33639
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
33650
33651 2010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
33652
33653         Reviewed by David Kilzer.
33654
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
33657
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.
33661
33662           Added new files to the build.
33663
33664         * GNUmakefile.am:
33665         * WebCore.gypi:
33666         * WebCore.pro:
33667         * WebCore.vcproj/WebCore.vcproj:
33668         * WebCore.xcodeproj/project.pbxproj:
33669
33670           Renamed and moved class SliderRange to StepRange.
33671
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
33683
33684 2010-03-19  Antti Koivisto  <koivisto@iki.fi>
33685
33686         Reviewed by Simon Hausmann.
33687
33688         https://bugs.webkit.org/show_bug.cgi?id=36366
33689         Repaint loop when painting using scaled CTMs with different translations
33690
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).
33696
33697         * rendering/RenderBoxModelObject.cpp:
33698         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
33699
33700 2010-03-19  Pavel Feldman  <pfeldman@chromium.org>
33701
33702         Reviewed by Timothy Hatcher.
33703
33704         Web Inspector: editing shorthands does not always work.
33705
33706         https://bugs.webkit.org/show_bug.cgi?id=36362
33707
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):
33719
33720 2010-03-19  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
33721
33722         Reviewed by Simon Hausmann.
33723
33724         [Qt] Don't replace clip when drawing complex text
33725
33726         * platform/graphics/qt/FontQt.cpp:
33727
33728 2010-03-18  Darin Fisher  <darin@chromium.org>
33729
33730         Reviewed by Adam Barth.
33731
33732         If a frame is already in the document, then setting its "src" attribute
33733         should add the resultant navigation to history.
33734
33735         https://bugs.webkit.org/show_bug.cgi?id=9166
33736
33737         This behavior is specified in section 4.8.2 of the HTML5 spec.
33738
33739         Test: fast/loader/frame-src-change-added-to-history.html
33740
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:
33748
33749 2010-03-18  Chris Evans  <cevans@chromium.org>
33750
33751         Reviewed by Nikolas Zimmermann.
33752
33753         Fix a minor crash with mismatched array sizes in SVG animation
33754         elements.
33755
33756         https://bugs.webkit.org/show_bug.cgi?id=35606
33757
33758         Test: svg/animations/keypoints-mismatch.svg
33759
33760         * svg/SVGAnimationElement.cpp:
33761         (WebCore::SVGAnimationElement::startedActiveInterval):
33762         Globally apply validations relevant to all animation types.
33763
33764 2010-03-18  Vangelis Kokkevis  <vangelis@chromium.org>
33765
33766         Reviewed by Adam Barth.
33767
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
33772         it.
33773
33774         Test: No new exposed functionality so no new tests.
33775
33776         * WebCore.gypi:
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
33789           for backing store.
33790
33791 2010-03-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
33792
33793         Reviewed by Darin Adler.
33794
33795         Make setPrinting() with printing=false, restore the previous
33796         media type in use.
33797
33798         Test: fast/media/print-restores-previous-mediatype.html
33799
33800         * page/Frame.cpp:
33801         (WebCore::Frame::setPrinting):
33802         * page/FrameView.cpp:
33803         (WebCore::FrameView::adjustMediaTypeForPrinting):
33804         * page/FrameView.h:
33805
33806 2010-03-18  David Kilzer  <ddkilzer@apple.com>
33807
33808         <http://webkit.org/b/36338> Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration
33809
33810         Rubber-stamped by Darin Adler.
33811
33812         This declaration should have been removed in r47440.
33813
33814         * rendering/RenderReplaced.h:
33815         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed.
33816
33817 2010-03-18  Jian Li  <jianli@chromium.org>
33818
33819         Reviewed by Dmitry Titov.
33820
33821         Dragging a PDF image triggers assertion in DragController::startDrag()
33822         https://bugs.webkit.org/show_bug.cgi?id=36247
33823
33824         Test: fast/images/drag-pdf-as-image.html
33825
33826         * platform/graphics/cg/PDFDocumentImage.cpp:
33827         (WebCore::PDFDocumentImage::filenameExtension):
33828         * platform/graphics/cg/PDFDocumentImage.h:
33829
33830 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
33831
33832         Reviewed by Dan Bernstein.
33833
33834         Avoid taking a reference to a String owned by a temporary AtomicString.
33835
33836         * css/CSSSelector.cpp:
33837         (WebCore::CSSSelector::RareData::parseNth):
33838
33839 2010-03-18  Chris Marrin  <cmarrin@apple.com>
33840
33841         Reviewed by Simon Fraser.
33842
33843         Fixed parenting issues with HW layers on Windows
33844         https://bugs.webkit.org/show_bug.cgi?id=32449
33845         
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().
33852         
33853         This also removed moveLayer(), which is not used and may not be safe in how
33854         it copies.
33855
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:
33865
33866 2010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
33867
33868         Unreviewed, build fix.
33869
33870         [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break
33871         due to http://trac.webkit.org/changeset/56192,
33872
33873         * WebCore.gyp/WebCore.gyp: Changed the order.
33874
33875 2010-03-18  David Hyatt  <hyatt@apple.com>
33876
33877         Reviewed by Oliver Hunt.
33878
33879         https://bugs.webkit.org/show_bug.cgi?id=36325
33880
33881         Add support for stopImmediatePropagation from DOM Level 3 Events.
33882
33883         Added fast/events/stop-immediate-propagation.html.
33884
33885         * dom/Event.cpp:
33886         (WebCore::Event::Event):
33887         * dom/Event.h:
33888         (WebCore::Event::timeStamp):
33889         (WebCore::Event::stopPropagation):
33890         (WebCore::Event::stopImmediatePropagation):
33891         (WebCore::Event::propagationStopped):
33892         (WebCore::Event::immediatePropagationStopped):
33893         * dom/Event.idl:
33894         * dom/EventTarget.cpp:
33895         (WebCore::EventTarget::fireEventListeners):
33896
33897 2010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
33898
33899         Unreviewed, build fix.
33900
33901         Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium.
33902         The accessor was removed in http://trac.webkit.org/changeset/56188.
33903
33904         * page/Geolocation.h:
33905         (WebCore::Geolocation::frame): Added back.
33906
33907 2010-03-18  Brent Fulgham  <bfulgham@webkit.org>
33908
33909         Reviewed by Adam Roben.
33910
33911         Help reduce build problems due to font declarations.
33912         https://bugs.webkit.org/show_bug.cgi?id=36190
33913
33914         Functions unchanged, no new tests.
33915
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):
33949
33950 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
33951
33952         No review.
33953
33954         Fix brace style after r56170.
33955         
33956         * css/CSSStyleSelector.cpp:
33957         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
33958
33959 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
33960
33961         Reviewed by Dave Hyatt.
33962
33963         https://bugs.webkit.org/show_bug.cgi?id=36274
33964         CSS3 :nth-child selector 'odd' keyword case sensitivity test fails
33965         
33966         The tests for "odd", "even" etc. for nth-child selectors should be case insensitive.
33967
33968         Test: fast/css/nth-child-odd-case-insensitive.html
33969
33970         * css/CSSSelector.cpp:
33971         (WebCore::CSSSelector::RareData::parseNth):
33972
33973 2010-03-18  David Hyatt  <hyatt@apple.com>
33974
33975         Reviewed by Oliver Hunt.
33976
33977         https://bugs.webkit.org/show_bug.cgi?id=36265
33978
33979         Add support for event.defaultPrevented from DOM level 3.
33980     
33981         Added fast/events/defaultprevented.html
33982
33983         * dom/Event.idl:
33984
33985 2010-03-18  Darin Adler  <darin@apple.com>
33986
33987         Reviewed by Kenneth Rohde Christiansen.
33988
33989         Remove Geolocation.lastPosition, no longer in the spec.
33990         https://bugs.webkit.org/show_bug.cgi?id=36255
33991         rdar://problem/7746357
33992
33993         * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual.
33994
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.
33998
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.
34004
34005         * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in
34006         the Geolocation specification.
34007
34008 2010-03-18  David Hyatt  <hyatt@apple.com>
34009
34010         Reviewed by Simon Fraser.
34011
34012         https://bugs.webkit.org/show_bug.cgi?id=36275
34013
34014         Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless
34015         restriction on :not.)
34016
34017         Added fast/css/invalid-not-with-pseudo-element.html
34018
34019         * css/CSSGrammar.y:
34020         * css/CSSSelector.h:
34021         (WebCore::CSSSelector::matchesPseudoElement):
34022
34023 2010-03-18  Dan Bernstein  <mitz@apple.com>
34024
34025         Reviewed by Darin Adler.
34026
34027         <rdar://problem/7761400> Rework the fix for
34028         https://bugs.webkit.org/show_bug.cgi?id=18722
34029
34030         Test: fast/dynamic/float-remove-above-line-2.html
34031
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.
34041
34042 2010-03-18  Antti Koivisto  <koivisto@iki.fi>
34043
34044         Reviewed by Kenneth Rohde Christiansen.
34045
34046         https://bugs.webkit.org/show_bug.cgi?id=36102
34047         [Qt] Scaling control API for tiled backing store
34048         
34049         Commit the new scale synchronously after unfreeze to avoid ugliness.
34050
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:
34057
34058 2010-03-18  David Hyatt  <hyatt@apple.com>
34059
34060         Reviewed by Simon Fraser.
34061
34062         https://bugs.webkit.org/show_bug.cgi?id=36281
34063
34064         Make sure an exception is raised if an @import rule is inserted in the wrong place.
34065         
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.
34069
34070         Added fast/css/invalid-import-insertion.html
34071
34072         * css/CSSPrimitiveValue.cpp:
34073         (WebCore::CSSPrimitiveValue::createColor):
34074         * css/CSSStyleSheet.cpp:
34075         (WebCore::CSSStyleSheet::insertRule):
34076
34077 2010-03-18  Luiz Agostini  <luiz.agostini@openbossa.org>
34078
34079         Reviewed by Kenneth Rohde Christiansen.
34080
34081         Multiselect Popup - Listbox click simulation
34082         https://bugs.webkit.org/show_bug.cgi?id=36177
34083
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.
34087
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.
34092
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:
34100
34101 2010-03-12  Ojan Vafai  <ojan@chromium.org>
34102
34103         Reviewed by David Levin.
34104
34105         smartdelete should only occur after double-click
34106         https://bugs.webkit.org/show_bug.cgi?id=35314
34107
34108         1. Consolidate all notions of selection-granularity into SelectionController.
34109         2. Now only mouse-based selections store a selection-granularity. This matches NSTextView.
34110
34111         New tests were added in http://trac.webkit.org/changeset/55913.
34112
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):
34146         * page/Frame.cpp:
34147         (WebCore::Frame::Frame):
34148         (WebCore::Frame::selectionGranularity):
34149         * page/Frame.h:
34150         * rendering/RenderTextControl.cpp:
34151         (WebCore::RenderTextControl::setSelectionRange):
34152
34153 2010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
34154
34155         Unreviewed, build fix.
34156
34157         [V8] Turn npObjectTypeInfo into a function, make everyone happy.
34158
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
34164
34165 2010-03-18  David Hyatt  <hyatt@apple.com>
34166
34167         Reviewed by Simon Fraser.
34168
34169         https://bugs.webkit.org/show_bug.cgi?id=36283
34170         
34171         The wrong constants were being used for the code that attempted to compact the background-repeat shorthand to
34172         a single value.
34173
34174         Added fast/backgrounds/background-repeat-computed-style.html
34175
34176         * css/CSSComputedStyleDeclaration.cpp:
34177         (WebCore::fillRepeatToCSSValue):
34178
34179 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
34180
34181         Reviewed by Dave Hyatt.
34182
34183         https://bugs.webkit.org/show_bug.cgi?id=36273
34184         CSS3 :indeterminate and input type=radio test fails
34185
34186         The :indeterminate pseudo-class should apply to both radio buttons and checkboxes.
34187
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
34196         and checkboxes.
34197
34198 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
34199
34200         Reviewed by Dave Hyatt.
34201
34202         https://bugs.webkit.org/show_bug.cgi?id=36271
34203         CSS3 :enabled on an input type=hidden element fails
34204         
34205         The CSS3 selectors spec now makes it clear that hidden inputs should respect
34206         the :enabled and :disabled pseudo-classes.
34207
34208         Test: fast/forms/hidden-input-enabled.html
34209
34210         * css/CSSStyleSelector.cpp:
34211         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove checks for hidden inputs.
34212
34213 2010-03-18  Enrica Casucci  <enrica@apple.com>
34214
34215         Reviewed by Simon Fraser.
34216
34217         Intro text at Star Wars demo is clipped.
34218         <rdar://problem/7560979>
34219         https://bugs.webkit.org/show_bug.cgi?id=33909
34220         
34221         Test: compositing/repaint/layer-repaint.html
34222         
34223         We are flipping the coordinates for drawing, therefore
34224         we must flip them also when we invalidate the rectangles.
34225
34226         * platform/graphics/win/GraphicsLayerCACF.cpp:
34227         (WebCore::WebLayer::setNeedsDisplay):
34228
34229 2010-03-18  Nate Chapin  <japhet@chromium.org>
34230
34231         Unreviewed, Chromium build fix.
34232
34233         Missed a #include in V8Collection.h.
34234
34235         * bindings/v8/V8Collection.h:
34236
34237 2010-03-18  David Hyatt  <hyatt@apple.com>
34238
34239         Reviewed by Simon Fraser.
34240
34241         Fix for https://bugs.webkit.org/show_bug.cgi?id=36284.
34242         
34243         Make sure the CSS parser properly rejects negative border widths.
34244
34245         Added fast/borders/negative-border-width.html
34246
34247         * css/CSSParser.cpp:
34248         (WebCore::CSSParser::parseValue):
34249
34250 2010-03-18  Nate Chapin  <japhet@chromium.org>
34251
34252         Reviewed by Dimitri Glazkov.
34253
34254         [V8] Remove V8Index.h and all references to V8ClassIndex.
34255         
34256         https://bugs.webkit.org/show_bug.cgi?id=33477
34257
34258         * WebCore.gypi:
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:
34299
34300 2010-03-18  Yury Semikhatsky  <yurys@chromium.org>
34301
34302         Reviewed by Pavel Feldman.
34303
34304         Preserve console history between debugging sessions.
34305
34306         https://bugs.webkit.org/show_bug.cgi?id=36223
34307
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):
34314
34315 2010-03-18  Kim Grönholm  <kim.gronholm@nomovok.com>
34316
34317         Reviewed by Simon Hausmann.
34318
34319         [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected
34320         https://bugs.webkit.org/show_bug.cgi?id=36219
34321         
34322         addAnimation and pauseAnimation were handling animation state changes in
34323         the wrong way.
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.
34329         
34330         LayoutTests/animations/play-state.html now passed on Qt.
34331
34332         * platform/graphics/qt/GraphicsLayerQt.cpp:
34333         (WebCore::AnimationQtBase::AnimationQtBase):
34334         (WebCore::TransformAnimationQt::updateState):
34335         (WebCore::GraphicsLayerQt::addAnimation):
34336         (WebCore::GraphicsLayerQt::pauseAnimation):
34337
34338 2010-03-18  Adam Langley  <agl@chromium.org>
34339
34340         Reviewed by David Levin.
34341
34342         [chromium] Fix inverted logic in per-strike renderer patch.
34343
34344         I screwed up in r55089 and got one of the conditions backwards. Thanks
34345         to Roman Tsisyk for pointing it out.
34346
34347         https://bugs.webkit.org/show_bug.cgi?id=35495
34348
34349         Test: platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html
34350
34351         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
34352         (WebCore::FontPlatformData::querySystemForRenderStyle):
34353
34354 2010-03-18  Pavel Feldman  <pfeldman@chromium.org>
34355
34356         Reviewed by Timothy Hatcher.
34357
34358         Web Inspector: Show inherited styles for a selected DOM element
34359
34360         https://bugs.webkit.org/show_bug.cgi?id=28039
34361
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):
34374
34375 2010-03-15  Antonio Gomes  <tonikitoo@webkit.org>
34376
34377         Reviewed by Gustavo Noronha.
34378         Patch by Antonio Gomes <tonikitoo@webkit.org>
34379
34380         Spatial Navigation: Add isNull() and document() convenience methods to FocusCandidate.
34381         https://bugs.webkit.org/show_bug.cgi?id=36167
34382
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.
34387
34388         A followup refactoring patch will be making use of these helper methods.
34389
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.
34397
34398 2010-03-18  Noam Rosenthal  <noam.rosenthal@nokia.com>
34399
34400         Reviewed by Antti Koivisto.
34401
34402         [Qt] [Performance] GraphicsLayerQt updates the scene too often
34403         https://bugs.webkit.org/show_bug.cgi?id=36158
34404
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.
34408
34409         This has shown a visual improvement on several test-cases.
34410
34411         * Makefile:
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):
34432
34433 2010-03-18  Stephen White  <senorblanco@chromium.org>
34434
34435         Reviewed by Oliver Hunt.
34436
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.
34446
34447         https://bugs.webkit.org/show_bug.cgi?id=36199
34448
34449         Covered by fast/canvas/set-colors.html.
34450
34451         * css/CSSParser.cpp:
34452         (WebCore::parseInt):
34453         (WebCore::CSSParser::parseColor):
34454         * html/canvas/CanvasStyle.cpp:
34455         (WebCore::CanvasStyle::applyFillColor):
34456
34457 2010-03-18  David Kilzer  <ddkilzer@apple.com>
34458
34459         <http://webkit.org/b/36246> Node::removeAllEventListenersSlowCase is declared but not used
34460
34461         Reviewed by Sam Weinig.
34462
34463         * dom/Node.h:
34464         (WebCore::Node::removeAllEventListenersSlowCase): Removed
34465         declaration.  Implementation was removed in r48701.
34466
34467 2010-03-17  Stephan Aßmus  <superstippi@gmx.de>
34468
34469         Reviewed by Oliver Hunt.
34470
34471         [Haiku] Implement ImageBuffer support
34472         https://bugs.webkit.org/show_bug.cgi?id=35288
34473
34474         Covered by existing tests.
34475
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.
34479
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):
34489
34490 2010-03-17  Holger Hans Peter Freyther  <zecke@selfish.org>
34491
34492         Rubber stamped by Gustavo Noronha Silva.
34493
34494         [Gtk+] Avoid making a copy of the HTTPHeaderMap.
34495
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.
34500
34501         This extra copy can be avoided easily by storing
34502         the result as a const reference.
34503
34504         * platform/network/soup/ResourceRequestSoup.cpp:
34505         (WebCore::ResourceRequest::toSoupMessage):
34506         * platform/network/soup/ResourceResponseSoup.cpp:
34507         (WebCore::ResourceResponseSoup::toSoupMessage):
34508
34509 2010-03-17  Alexander Pavlov  <apavlov@chromium.org>
34510
34511         Reviewed by Pavel Feldman.
34512
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
34515
34516         * inspector/front-end/ResourcesPanel.js:
34517         (WebInspector.ResourcesPanel.prototype.showResource):
34518
34519 2010-03-17  Brady Eidson  <beidson@apple.com>
34520
34521         Reviewed by Darin Adler.
34522
34523         databaseIdentifiers are not filtered for slashes
34524         <rdar://problem/7708789> and https://bugs.webkit.org/show_bug.cgi?id=36243
34525
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).
34530
34531         No new tests - It's unclear how a test could possibly work into our testing
34532         infrastructure.
34533
34534         * page/SecurityOrigin.cpp:
34535         (WebCore::): Added a 128-bool table "needsEscaping" that has a true/false answer
34536           for lower-ASCII.
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:
34549
34550 2010-03-17  Dmitry Titov  <dimich@chromium.org>
34551
34552         Reviewed by Dimitri Glazkov.
34553
34554         [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread.
34555         https://bugs.webkit.org/show_bug.cgi?id=36239
34556
34557         Test: fast/workers/termination-with-port-messages.html
34558
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
34566
34567 2010-03-17  José Millán Soto  <jmillan@igalia.com>
34568
34569         Reviewed by Adam Barth.
34570
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
34573
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.
34579
34580         * GNUmakefile.am:
34581         * html/HTMLAnchorElement.cpp:
34582         (WebCore::HTMLAnchorElement::parseMappedAttribute):
34583         * html/HTMLLinkElement.cpp:
34584         (WebCore::HTMLLinkElement::process):
34585         * page/Chrome.cpp:
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):
34598
34599 2010-03-17  Kenneth Russell  <kbr@google.com>
34600
34601         Reviewed by Darin Fisher.
34602
34603         Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093
34604         https://bugs.webkit.org/show_bug.cgi?id=36233
34605
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.
34611
34612         Built and tested WebKit and Chromium and ran all WebGL layout
34613         tests in both.
34614
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):
34629
34630 2010-03-17  Yael Aharon  <yael.aharon@nokia.com>
34631
34632         Reviewed by Darin Adler.
34633
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.
34639
34640         No new tests, as no new functionality introduced.
34641
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:
34656
34657 2010-03-17  Antonio Gomes  <tonikitoo@webkit.org>
34658
34659         Mac Buildfix: Using ASSERT_UNUSED instead of ASSERT.
34660
34661         Reviewed by Simon fraser.
34662         Patch by Antonio Gomes <tonikitoo@webkit.org>
34663
34664         * dom/SelectElement.cpp:
34665         (WebCore::SelectElement::listBoxDefaultEventHandler):
34666
34667 2010-03-17  Enrica Casucci  <enrica@apple.com>
34668
34669         Reviewed by Darin Adler.
34670
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>
34674
34675         * platform/graphics/win/GraphicsLayerCACF.cpp:
34676         (WebCore::WebLayer::drawInContext): Modified to use the correct font on Windows.
34677
34678 2010-03-16  Luiz Agostini  <luiz.agostini@openbossa.org>
34679
34680         Reviewed by Antti Koivisto.
34681
34682         [Qt] Multiselect Popup - SelectElement refactoring.
34683         https://bugs.webkit.org/show_bug.cgi?id=36124
34684
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.
34688
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.
34692
34693         * dom/SelectElement.cpp:
34694         (WebCore::SelectElement::updateSelectedState):
34695         (WebCore::SelectElement::listBoxDefaultEventHandler):
34696         * dom/SelectElement.h:
34697
34698 2010-03-17  Nate Chapin  <japhet@chromium.org>
34699
34700         Unreviewed, Chromium build fix.
34701
34702         Delete the correct file this time.
34703
34704         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp.
34705         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
34706
34707 2010-03-17  Nate Chapin  <japhet@chromium.org>
34708
34709         Reviewed by Dimitri Glazkov.
34710
34711         [V8] Remove custom bindings callbacks that aren't in use.
34712         (The relevant .idl doesn't mark them as V8Custom or Custom).
34713         
34714         https://bugs.webkit.org/show_bug.cgi?id=33066
34715
34716         * Android.v8bindings.mk:
34717         * WebCore.gypi:
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.
34730
34731 2010-03-17  Steve Block  <steveblock@google.com>
34732
34733         Reviewed by Dimitri Glazkov.
34734
34735         Adds ENABLE(WORKERS) guards to V8 bindings
34736         https://bugs.webkit.org/show_bug.cgi?id=36221
34737
34738         Build fix only, no new tests.
34739
34740         * bindings/v8/V8DOMWrapper.cpp:
34741         (WebCore::V8DOMWrapper::instantiateV8Object):
34742         * bindings/v8/V8Proxy.cpp:
34743         (WebCore::toV8Context):
34744
34745 2010-03-17  Yury Semikhatsky  <yurys@chromium.org>
34746
34747         Reviewed by Pavel Feldman.
34748
34749         Remove unused reference to InspectorController from InspectorFrontend.
34750
34751         https://bugs.webkit.org/show_bug.cgi?id=36218
34752
34753         * inspector/InspectorFrontend.h:
34754
34755 2010-03-17 Ilya Tikhonovsky  <loislo@chromium.org>
34756
34757         Reviewed by Pavel Feldman.
34758
34759         WebInspector: Timeline improvements - next iteration.
34760
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.
34765
34766         https://bugs.webkit.org/show_bug.cgi?id=36122
34767
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):
34798
34799 2010-03-17  Alexander Pavlov  <apavlov@chromium.org>
34800
34801         Reviewed by Pavel Feldman.
34802
34803         Web Inspector: Reimplement style-related audits using native API
34804         https://bugs.webkit.org/show_bug.cgi?id=36172
34805
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):
34832
34833 2010-03-17  Steve Block  <steveblock@google.com>
34834
34835         Reviewed by Jeremy Orlow.
34836
34837         Replace instances of bzero in WebCore/bridge common code with memset
34838         https://bugs.webkit.org/show_bug.cgi?id=36214
34839
34840         Syntax change only, no new tests.
34841
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):
34852
34853 2010-03-17  Yury Semikhatsky  <yurys@chromium.org>
34854
34855         Reviewed by Pavel Feldman.
34856
34857         Mark inspector resources as changed so that they are reloaded on the next frontend connection.
34858         
34859         Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection.
34860
34861         https://bugs.webkit.org/show_bug.cgi?id=36183
34862
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):
34871
34872 2010-03-17  Pavel Feldman  <pfeldman@chromium.org>
34873
34874         Reviewed by Timothy Hatcher.
34875
34876         Web Inspector: Capture main resource load events in timeline panel.
34877
34878         https://bugs.webkit.org/show_bug.cgi?id=36188
34879
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):
34887
34888 2010-03-17  Zoltan Horvath  <zoltan@webkit.org>
34889
34890         Reviewed by Eric Seidel.
34891
34892         Allow custom memory allocation control for AtomicString class
34893         https://bugs.webkit.org/show_bug.cgi?id=35907
34894
34895         Inherits the following class from FastAllocBase because it is
34896         instantiated by 'new':
34897
34898         class name   - instantiated at: WebCore/'location'
34899         AtomicString - WebCore/html/HTMLTableElement.cpp:525
34900
34901         * platform/text/AtomicString.h:
34902
34903 2010-03-16  John Abd-El-Malek  <jam@chromium.org>
34904
34905         Reviewed by Darin Fisher.
34906
34907         Give keyboard focus to PluginDocuments by default
34908         https://bugs.webkit.org/show_bug.cgi?id=36147
34909
34910         Test: http/tests/plugins/plugin-document-has-focus.html
34911
34912         * loader/PluginDocument.cpp:
34913         (WebCore::PluginDocument::pluginNode):
34914         * loader/PluginDocument.h:
34915         * page/EventHandler.cpp:
34916         (WebCore::eventTargetNodeForDocument):
34917
34918 2010-03-16  Chris Fleizach  <cfleizach@apple.com>
34919
34920         Reviewed by Darin Adler.
34921
34922         REGRESSION (r53857): Crash when tabbing to <map>
34923         https://bugs.webkit.org/show_bug.cgi?id=36017
34924
34925         Test: fast/events/imagemap-norender-crash.html
34926
34927         * html/HTMLMapElement.cpp:
34928         (WebCore::HTMLMapElement::imageElement):
34929
34930 2010-03-16  Brent Fulgham  <bfulgham@webkit.org>
34931
34932         Build fix.  No Review.
34933
34934         Correct missing includes in cURL network backend introduced
34935         by recent changes in WebKit.
34936
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.
34943
34944 2010-03-16  Zhenyao Mo  <zmo@google.com>
34945
34946         Reviewed by Darin Fisher.
34947
34948         Hook up WebGLContextAttributes to OpenGL context creation code
34949         https://bugs.webkit.org/show_bug.cgi?id=33416
34950
34951         Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
34952
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.
34959
34960 2010-03-16  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
34961
34962         Reviewed by Xan Lopez.
34963
34964         https://bugs.webkit.org/show_bug.cgi?id=35504
34965         [Gtk] Evaluate and fix AtkTable for layout tables
34966
34967         Causes "layout tables" to be exposed as AccessibilityTables for Gtk.
34968
34969         * accessibility/AccessibilityTable.cpp:
34970         (AccessibilityTable::isTableExposableThroughAccessibility):
34971
34972 2010-03-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
34973
34974         Unreviewed. Build fix for distcheck.
34975
34976         * GNUmakefile.am:
34977
34978 2010-03-15  Darin Fisher  <darin@chromium.org>
34979
34980         Reviewed by Adam Barth.
34981
34982         https://bugs.webkit.org/show_bug.cgi?id=36152
34983         [chromium] Add support for history.pushState and history.replaceState
34984
34985         This is covered by the existing tests in fast/loader/stateobjects
34986
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
34992         and the spec.
34993
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.
34999
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.
35003
35004 2010-03-16  Adam Roben  <aroben@apple.com>
35005
35006         Fix linker warnings when building WebCore on Windows
35007
35008         Rubber-stamped by Steve Falkenburg.
35009
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.
35013
35014 2010-03-15  Antti Koivisto  <koivisto@iki.fi>
35015
35016         Reviewed by Simon Hausmann.
35017
35018         https://bugs.webkit.org/show_bug.cgi?id=36121
35019         [Qt] Make WebKit scrollbars work with tiling
35020          
35021         Translate coordinates correctly.
35022
35023         * page/Frame.cpp:
35024         (WebCore::Frame::tiledBackingStorePaintEnd):
35025
35026 2010-03-16  Jakub Wieczorek  <jwieczorek@webkit.org>
35027
35028         Reviewed by Eric Seidel.
35029
35030         [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes
35031         when no media services can be found.
35032
35033         https://bugs.webkit.org/show_bug.cgi?id=36142
35034
35035         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
35036         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35037
35038 2010-03-16  Adam Barth  <abarth@webkit.org>
35039
35040         Unreviewed.
35041
35042         noscript tag should render when @sandbox disables JavaScript
35043         https://bugs.webkit.org/show_bug.cgi?id=36092
35044
35045         Add missing "!" in plugin code.  Should fix plugins/embed-inside-object
35046         on Gtk and Qt.
35047
35048         * plugins/PluginView.cpp:
35049         (WebCore::PluginView::load):
35050
35051 2010-03-16  Nate Chapin  <japhet@chromium.org>
35052
35053         Reviewed by Dimitri Glazkov.
35054
35055         [V8] Delete DerivedSourcesAllInOne.cpp.
35056
35057         https://bugs.webkit.org/show_bug.cgi?id=33048
35058
35059         * Android.v8bindings.mk:
35060         * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
35061
35062 2010-03-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35063
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
35066         more testable.
35067
35068         * platform/gtk/RenderThemeGtk.cpp:
35069         (WebCore::RenderThemeGtk::paintMediaPlayButton):
35070
35071 2010-03-16  Pavel Feldman  <pfeldman@chromium.org>
35072
35073         Reviewed by Timothy Hatcher.
35074
35075         Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML.
35076
35077         https://bugs.webkit.org/show_bug.cgi?id=35025
35078
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):
35089
35090 2010-03-12  Antonio Gomes  <tonikitoo@webkit.org>
35091
35092         Reviewed by Simon Fraser.
35093         Patch by Antonio Gomes <tonikitoo@webkit.org>
35094
35095         Spatial Navigation: Add a scrollIntoView call when focusing an element.
35096         https://bugs.webkit.org/show_bug.cgi?id=36020
35097
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 .
35105
35106         * page/FocusController.cpp:
35107         (WebCore::FocusController::advanceFocusDirectionally):
35108         * page/SpatialNavigation.cpp:
35109         (WebCore::scrollIntoView):
35110         * page/SpatialNavigation.h:
35111
35112 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35113
35114         Reviewed by Eric Seidel.
35115
35116         [GTK] Position queries are lagging
35117         https://bugs.webkit.org/show_bug.cgi?id=34372
35118
35119         Normalize timeout priorities through the GStreamer media player as
35120         a whole. This should help avoid that any of them is starved.
35121
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):
35132
35133 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35134
35135         Reviewed by Eric Seidel.
35136
35137         [GTK] Position queries are lagging
35138         https://bugs.webkit.org/show_bug.cgi?id=34372
35139
35140         Use default priority also for parsing data: URIs.
35141
35142         * platform/network/soup/ResourceHandleSoup.cpp:
35143         (WebCore::startData):
35144
35145 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35146
35147         Reviewed by Eric Seidel.
35148
35149         [GTK] Position queries are lagging
35150         https://bugs.webkit.org/show_bug.cgi?id=34372
35151
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.
35156
35157         * platform/gtk/SharedTimerGtk.cpp:
35158         (WebCore::setSharedTimerFireTime):
35159
35160 2010-03-16  Xan Lopez  <xlopez@igalia.com>
35161
35162         Reviewed by Gustavo Noronha.
35163
35164         Add support for Fast Mobile Scrolling in the build system.
35165
35166         * GNUmakefile.am:
35167
35168 2010-03-11  Yury Semikhatsky <yurys@chromium.org>
35169
35170         Reviewed by Pavel Feldman.
35171
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.
35173
35174         Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
35175         https://bugs.webkit.org/show_bug.cgi?id=35036
35176
35177         * GNUmakefile.am:
35178         * WebCore.Inspector.exp:
35179         * WebCore.base.exp:
35180         * WebCore.gypi:
35181         * WebCore.order:
35182         * WebCore.pro:
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):
35265         * page/Page.cpp:
35266         (WebCore::Page::Page):
35267         (WebCore::Page::~Page):
35268         * page/Page.h:
35269         * platform/ContextMenu.cpp:
35270         (WebCore::ContextMenu::populate):
35271         (WebCore::ContextMenu::addInspectElementItem):
35272
35273 2010-03-16  Pavel Feldman  <pfeldman@chromium.org>
35274
35275         Reviewed by Timothy Hatcher.
35276
35277         Web Inspector: migrate to native styles inspector in
35278         order to inspect styles from foreighn domains.
35279
35280         https://bugs.webkit.org/show_bug.cgi?id=36117
35281
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.):
35345
35346 2010-03-16  Shinichiro Hamaji  <hamaji@chromium.org>
35347
35348         Reviewed by Darin Adler.
35349
35350         RenderText::m_text should be a String, not RefPtr<StringImpl>
35351         https://bugs.webkit.org/show_bug.cgi?id=36010
35352
35353         Refactoring only, so no new tests.
35354
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):
35375
35376 2010-03-16  Adam Barth  <abarth@webkit.org>
35377
35378         Reviewed by Darin Adler.
35379
35380         noscript tag should render when @sandbox disables JavaScript
35381         https://bugs.webkit.org/show_bug.cgi?id=36092
35382
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
35386         about @sandbox.
35387
35388         Test: fast/frames/sandboxed-iframe-noscript.html
35389
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):
35401
35402 2010-03-15  John Gregg  <johnnyg@google.com>
35403
35404         Reviewed by David Levin.
35405
35406         Notification object should expose absolute URL of icon
35407         https://bugs.webkit.org/show_bug.cgi?id=35800
35408
35409         Covered by existing tests.
35410
35411         * notifications/Notification.cpp:
35412         (WebCore::Notification::Notification):
35413         * notifications/Notification.h:
35414         (WebCore::Notification::iconURL):
35415
35416 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35417
35418         Reviewed by Holger Freyther.
35419
35420         Add EFL port files to platform/efl.
35421         http://webkit.org/b/35887
35422
35423         * platform/efl/ClipboardEfl.cpp: Added.
35424         * platform/efl/PasteboardEfl.cpp: Added.
35425
35426 2010-03-15  Kent Tamura  <tkent@chromium.org>
35427
35428         Reviewed by Eric Seidel.
35429
35430         Don't submit disabled menu options.
35431         https://bugs.webkit.org/show_bug.cgi?id=35056
35432
35433         Test: fast/forms/menulist-disabled-selected-option.html
35434
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
35440          other browsers.
35441
35442 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35443
35444         Reviewed by Holger Freyther.
35445
35446         Add EFL port files to platform/efl.
35447         http://webkit.org/b/35884
35448
35449         * platform/efl/FileSystemEfl.cpp: Added.
35450
35451 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35452
35453         Reviewed by Holger Freyther.
35454
35455         Add EFL port files to platform/efl.
35456         http://webkit.org/b/35882
35457
35458         * platform/efl/ContextMenuItemEfl.cpp: Added.
35459
35460 2010-03-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
35461
35462         Reviewed by Holger Freyther.
35463
35464         https://bugs.webkit.org/show_bug.cgi?id=35502
35465         [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText
35466
35467         Simple change to stop tables from implementing AtkText.
35468
35469         * accessibility/gtk/AccessibilityObjectAtk.cpp:
35470         (getInterfaceMaskFromObject):
35471
35472 2010-03-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
35473
35474         Reviewed by Adam Barth.
35475
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
35485
35486         * page/EventSource.cpp:
35487         (WebCore::EventSource::parseEventStreamLine):
35488
35489 2010-03-15  Valters Svabe  <vsvabe@gmail.com>
35490
35491         Reviewed by Darin Adler.
35492
35493         :after selector displays in wrong place with nested div
35494         https://bugs.webkit.org/show_bug.cgi?id=32288
35495         
35496         Make sure we don't append things after :after-generated content, if
35497         it's inside an anonymous block.
35498
35499         Test: fast/css-generated-content/block-after.html
35500
35501         * rendering/RenderBlock.cpp:
35502         (WebCore::RenderBlock::addChild):
35503
35504 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35505
35506         Reviewed by Eric Seidel.
35507
35508         Add EFL port files to platform/efl.
35509         http://webkit.org/b/35885
35510
35511         * platform/efl/KURLEfl.cpp: Added.
35512
35513 2010-03-15  Chris Fleizach  <cfleizach@apple.com>
35514
35515         Reviewed by Beth Dakin.
35516
35517         VO not able to perform a VO-spacebar on facebook links
35518         https://bugs.webkit.org/show_bug.cgi?id=36132
35519
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.
35522
35523         Test: accessibility/label-element-press.html
35524
35525         * html/HTMLLabelElement.cpp:
35526         (WebCore::HTMLLabelElement::accessKeyAction):
35527
35528 2010-03-15  Cameron Zwarich  <zwarich@apple.com>
35529
35530         Reviewed by Geoff Garen.
35531
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>
35535
35536         * bindings/js/GCController.cpp:
35537         (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is
35538         active rather than hitting the CRASH() reentrancy guard.
35539
35540 2010-03-15  Simon Fraser  <simon.fraser@apple.com>
35541
35542         Reviewed by Dan Bernstein.
35543
35544         Drop out of compositing mode when no elements need to composite
35545         https://bugs.webkit.org/show_bug.cgi?id=36134
35546
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.
35549
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().
35554         
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.
35561         
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.
35567
35568 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35569
35570         Reviewed by Kenneth Rohde Christiansen.
35571
35572         Add EFL port files to platform/efl.
35573         http://webkit.org/b/35888
35574
35575         * platform/efl/SoundEfl.cpp: Added.
35576
35577 2010-03-15  Andy Estes  <aestes@apple.com>
35578
35579         Reviewed by John Sullivan.
35580
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
35585         the gesture.
35586
35587         https://bugs.webkit.org/show_bug.cgi?id=29601
35588         <rdar://problem/7453254>
35589
35590         Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
35591                fast/events/platform-wheelevent-in-scrolling-div.html
35592
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.
35600
35601 2010-03-15  Philippe Normand  <pnormand@igalia.com>
35602
35603         Reviewed by Gustavo Noronha Silva.
35604
35605         [GStreamer] duration query optimizations
35606         https://bugs.webkit.org/show_bug.cgi?id=36116
35607
35608         Don't reattempt duration queries that previously failed and cache
35609         media duration only if it's known.
35610
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:
35617
35618 2010-03-11  Peter Kasting  <pkasting@google.com>
35619
35620         Reviewed by Adam Barth.
35621
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
35625         data.
35626
35627         https://bugs.webkit.org/show_bug.cgi?id=36040
35628
35629         No functional change, so no tests.
35630
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):
35661
35662 2010-03-15  Philippe Normand  <pnormand@igalia.com>
35663
35664         Reviewed by Gustavo Noronha Silva.
35665
35666         [GStreamer] updateStates called for all elements posting a state-change
35667         https://bugs.webkit.org/show_bug.cgi?id=36115
35668
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
35674         playbin element.
35675
35676 2010-03-15  Jian Li  <jianli@chromium.org>
35677
35678         Reviewed by Nate Chapin.
35679
35680         [v8] Add V8 bindings for DOMFormData.
35681         https://bugs.webkit.org/show_bug.cgi?id=36026
35682
35683         Test: http/tests/local/send-form-data.html
35684
35685         * Android.v8bindings.mk:
35686         * WebCore.gypi:
35687         * bindings/v8/V8Index.h:
35688         * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added.
35689         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
35690         (WebCore::V8XMLHttpRequest::sendCallback):
35691
35692 2010-03-15  Jian Li  <jianli@chromium.org>
35693
35694         Reviewed by Sam Weinig.
35695
35696         Add DOMFormData.idl to expose FormData interface.
35697         https://bugs.webkit.org/show_bug.cgi?id=36024
35698         
35699         The implementation is based on XMLHttpRequest 2 spec:
35700         http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
35701
35702         Test: http/tests/local/send-form-data.html
35703
35704         * Android.derived.jscbindings.mk:
35705         * Android.derived.v8bindings.mk:
35706         * Android.jscbindings.mk:
35707         * DerivedSources.cpp:
35708         * DerivedSources.make:
35709         * GNUmakefile.am:
35710         * WebCore.pri:
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:
35719
35720 2010-03-15  Patrik Persson  <patrik.j.persson@ericsson.com>
35721
35722         Reviewed by Darin Adler.
35723
35724         https://bugs.webkit.org/show_bug.cgi?id=32369
35725
35726         Revise iframe sandbox behavior to match the updated HTML5 spec.
35727
35728         - Enables window.sessionStorage in sandboxed iframes.
35729
35730         - Raises SECURITY_ERR exceptions when window.localStorage or
35731           window.openDatabase() is blocked by iframe sandboxing.
35732
35733           Note: window.sessionStorage does not raise exceptions.
35734
35735         WebKit would previously return null references in these cases.  The
35736         new behavior is in accordance with HTML5:
35737
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
35741
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
35756
35757 2010-03-15  Alexander Pavlov  <apavlov@chromium.org>
35758
35759         Reviewed by Timothy Hatcher.
35760
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
35764
35765         * English.lproj/localizedStrings.js:
35766         * GNUmakefile.am:
35767         * WebCore.gypi:
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):
35794
35795 2010-03-15  Philippe Normand  <pnormand@igalia.com>
35796
35797         Reviewed by Gustavo Noronha Silva.
35798
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
35801
35802         Replaced g_idle_add calls with Timers immediately started once
35803         only. The g_timeout_add was replaced by a periodic Timer.
35804
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:
35817
35818 2010-03-12  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35819
35820         Reviewed by Eric Carlson.
35821
35822         media/video-preload.html fails
35823         https://bugs.webkit.org/show_bug.cgi?id=35793
35824
35825         Only effectively load, and start buffering when playing, or when
35826         the preload attribute is set.
35827
35828         Test: media/video-preload.html
35829
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:
35837
35838 2010-03-15  Shu Chang  <Chang.Shu@nokia.com>
35839
35840         Reviewed by Holger Freyther.
35841
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
35846
35847         * platform/graphics/qt/GradientQt.cpp:
35848         (WebCore::Gradient::platformGradient):
35849
35850 2010-03-11  Antonio Gomes  <tonikitoo@webkit.org>
35851
35852         Rubber-stamped by Holger Freyther.
35853         Patch by Antonio Gomes <tonikitoo@webkit.org>
35854
35855         Some minor code clean ups in SpatialNavigation.cpp
35856
35857         * page/SpatialNavigation.cpp:
35858         (WebCore::distanceInDirection):
35859         (WebCore::deflateIfOverlapped):
35860
35861 2010-03-13  Ilya Tikhonovsky  <loislo@chromium.org>
35862
35863         Reviewed by Timothy Hatcher.
35864
35865         WebInspector: Position of GraphBar elements is calculating more carefully
35866         and they fully visible at the bottom of Timeline panel.
35867        
35868         http://bugs.webkit.org/show_bug.cgi?id=35966
35869
35870         * inspector/front-end/TimelinePanel.js:
35871         (WebInspector.TimelineRecordGraphRow.prototype.update):
35872
35873 2010-03-15  MORITA Hajime  <morrita@google.com>
35874
35875         Reviewed by Alexey Proskuryakov.
35876
35877         Selection.modify extends too far with 'lineboundary'.
35878         https://bugs.webkit.org/show_bug.cgi?id=33413
35879
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.
35885
35886         Test: editing/selection/extend-selection-expected.txt
35887
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.
35894         
35895 2010-03-14  Yuzo Fujishima  <yuzo@google.com>
35896
35897         Reviewed by Shinichiro Hamaji.
35898
35899         Always call PrintContext.end() from PrintContext::pageNumberForElement().
35900
35901         Without this change, WebKit remains in printing mode after determining the page number if the specified element is found.
35902
35903         https://bugs.webkit.org/show_bug.cgi?id=36049
35904
35905         Test: printing/return-from-printing-mode.html
35906
35907         * page/PrintContext.cpp:
35908         (WebCore::PrintContext::pageNumberForElement):
35909
35910 2010-03-11  Philippe Normand  <pnormand@igalia.com>
35911
35912         Reviewed by Gustavo Noronha Silva.
35913
35914         [GStreamer] progressTimer never stopped after EOS
35915         https://bugs.webkit.org/show_bug.cgi?id=36007
35916
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).
35922
35923         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35924         (WebCore::MediaPlayerPrivate::updateStates):
35925
35926 2010-03-14  Chang Shu  <chang.shu@nokia.com>
35927
35928         Reviewed by Simon Hausmann.
35929
35930         [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS
35931         on Symbian platform.
35932         https://bugs.webkit.org/show_bug.cgi?id=35919
35933
35934         * WebCore.pro:
35935
35936 2010-03-14  Yael Aharon  <yael.aharon@nokia.com>
35937
35938         Reviewed by Darin Adler.
35939
35940         Support for HTMLProgressElement
35941         https://bugs.webkit.org/show_bug.cgi?id=35937
35942
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
35947         separate patch.
35948
35949         Tests: fast/dom/HTMLProgressElement/progress-element.html
35950                fast/dom/HTMLProgressElement/set-progress-properties.html
35951
35952         * DerivedSources.cpp:
35953         * DerivedSources.make:
35954         * GNUmakefile.am:
35955         * WebCore.gypi:
35956         * WebCore.pri:
35957         * WebCore.pro:
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:
35965         * css/html.css:
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):
36013
36014 2010-03-14  Oliver Hunt  <oliver@apple.com>
36015
36016         Reviewed by Darin Adler.
36017
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
36020
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"
36024
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
36032         may hit it.
36033
36034         * dom/Clipboard.cpp:
36035         (WebCore::Clipboard::Clipboard):
36036         (WebCore::dragOpFromIEOp):
36037         (WebCore::Clipboard::destinationOperation):
36038         * dom/Clipboard.h:
36039         (WebCore::Clipboard::dropEffect):
36040         (WebCore::Clipboard::dropEffectIsUninitialized):
36041         * page/DragController.cpp:
36042         (WebCore::defaultOperationForDrag):
36043         (WebCore::DragController::tryDHTMLDrag):
36044
36045 2010-03-14  Antti Koivisto  <koivisto@iki.fi>
36046
36047         Reviewed by Simon Hausmann.
36048         
36049         https://bugs.webkit.org/show_bug.cgi?id=35146
36050         Support tiled backing store
36051
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.
36057         
36058         The tile management code is platform independent. This patch has simple QPixmap
36059         based tile implementation for Qt.
36060         
36061         The feature is behind ENABLE_TILED_BACKING_STORE flag.
36062
36063         * WebCore.pri:
36064         * WebCore.pro:
36065         * page/Frame.cpp:
36066         (WebCore::Frame::Frame):
36067         (WebCore::Frame::setTiledBackingStoreEnabled):
36068         (WebCore::Frame::tiledBackingStorePaintBegin):
36069         (WebCore::Frame::tiledBackingStorePaint):
36070         (WebCore::Frame::tiledBackingStorePaintEnd):
36071         (WebCore::Frame::tiledBackingStoreContentsRect):
36072         * page/Frame.h:
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):
36080         * page/Settings.h:
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):
36126
36127 2010-03-14  Dan Bernstein  <mitz@apple.com>
36128
36129         Reviewed by Darin Adler.
36130
36131         WebCore part of removing support for legacy versions of Core Graphics
36132
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
36148         parameter.
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.
36156
36157 2010-03-14  Jessie Berlin  <jberlin@webkit.org>
36158
36159         Reviewed by Sam Weinig.
36160
36161         "event.ctrlKey" is always false when dragging an element with "ctrl" key down
36162         https://bugs.webkit.org/show_bug.cgi?id=17113
36163
36164         No new tests.
36165
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.
36169
36170 2010-03-13  Antonio Gomes  <tonikitoo@webkit.org>
36171
36172         Not reviewed identation fix.
36173
36174         * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
36175
36176 2010-03-13  Kim Grönholm  <kim.gronholm@nomovok.com>
36177
36178         Reviewed by Kenneth Rohde Christiansen.
36179
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
36182
36183         * platform/graphics/qt/GraphicsLayerQt.cpp:
36184         (WebCore::OpacityAnimationQt::applyFrame):
36185
36186 2010-03-13  Kim Grönholm  <kim.gronholm@nomovok.com>
36187
36188         Reviewed by Kenneth Rohde Christiansen.
36189
36190         [Qt] GraphicsLayer: Opacity transitions end with begin value
36191         https://bugs.webkit.org/show_bug.cgi?id=36019
36192
36193         * platform/graphics/qt/GraphicsLayerQt.cpp:
36194         (WebCore::AnimationQt::updateCurrentTime):
36195
36196 2010-03-13  Dirk Schulze  <krit@webkit.org>
36197
36198         No review, rolling out r55927.
36199         http://trac.webkit.org/changeset/55927
36200         https://bugs.webkit.org/show_bug.cgi?id=35793
36201
36202         Breaks Gtk build bots.
36203
36204         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
36205         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
36206         (WebCore::MediaPlayerPrivate::load):
36207         (WebCore::MediaPlayerPrivate::setPreload):
36208         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
36209
36210 2010-03-12  Dirk Schulze  <krit@webkit.org>
36211
36212         Reviewed by Nikolas Zimmermann.
36213
36214         SVG Glyphs - transform path not context
36215         https://bugs.webkit.org/show_bug.cgi?id=36070
36216
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.
36221
36222         * svg/SVGFont.cpp:
36223         (WebCore::Font::drawTextUsingSVGFont):
36224
36225 2010-03-12  Beth Dakin  <bdakin@apple.com>
36226
36227         Reviewed by Simon Fraser.
36228
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>
36233
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 
36237         compatibility. 
36238
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:
36247
36248 2010-03-12  James Robinson  <jamesr@chromium.org>
36249
36250         Reviewed by Adam Barth.
36251
36252         Add virtual destructor to DOMWrapperWorld
36253         https://bugs.webkit.org/show_bug.cgi?id=36077
36254
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.
36259
36260         No new tests, no change in behavior
36261
36262         * bindings/v8/DOMWrapperWorld.h:
36263         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
36264
36265
36266 2010-03-11  Gavin Barraclough  <barraclough@apple.com>
36267
36268         Reviewed by Oliver Hunt.
36269
36270         Bug 36075 - Clean up screwyness re static string impls & Identifiers.
36271
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.
36278
36279 2010-03-12  Enrica Casucci  <enrica@apple.com>
36280
36281         Reviewed by Simon Fraser.
36282
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>
36286
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.
36292           
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.
36298         
36299         Tests: compositing/geometry/horizontal-scroll-composited.html
36300                compositing/geometry/vertical-scroll-composited.html
36301
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.
36315
36316 2010-03-12  Robert Hogan  <robert@webkit.org>
36317
36318         Not reviewed, build fix.
36319
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.
36323
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.
36326
36327         Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073
36328
36329         * page/GeolocationPositionCache.cpp:
36330
36331 2010-03-12  Dan Bernstein  <mitz@apple.com>
36332
36333         Reviewed by Alexey Proskuryakov.
36334
36335         <rdar://problem/7709115> REGRESSION: toolbar is missing at http://www.glom.org/
36336         https://bugs.webkit.org/show_bug.cgi?id=35507
36337
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.
36342
36343 2010-03-12  Gavin Barraclough  <barraclough@apple.com>
36344
36345         Reviewed by Geoff Garen.
36346
36347         Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash
36348
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).
36353
36354         * platform/text/qt/TextBreakIteratorQt.cpp:
36355         (WebCore::wordBreakIterator):
36356         (WebCore::characterBreakIterator):
36357         (WebCore::lineBreakIterator):
36358         (WebCore::sentenceBreakIterator):
36359
36360 2010-03-12  Dirk Schulze  <krit@webkit.org>
36361
36362         Reviewed by Nikolas Zimmermann.
36363
36364         SVG fallback color doesn't work for bogus gradients.
36365         https://bugs.webkit.org/show_bug.cgi?id=35479
36366
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.
36369
36370         Test: svg/custom/gradient-with-1d-boundingbox.svg
36371
36372         * svg/graphics/SVGPaintServer.cpp:
36373         (WebCore::SVGPaintServer::strokePaintServer):
36374         * svg/graphics/SVGPaintServerGradient.cpp:
36375         (WebCore::SVGPaintServerGradient::setup):
36376
36377 2010-03-12  David Hyatt  <hyatt@apple.com>
36378
36379         Reviewed by Dan Bernstein.
36380
36381         https://bugs.webkit.org/show_bug.cgi?id=36069
36382         
36383         Eliminate InlineRunBox.
36384
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):
36445
36446 2010-03-12  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
36447
36448         Reviewed by Eric Carlson.
36449
36450         media/video-preload.html fails
36451         https://bugs.webkit.org/show_bug.cgi?id=35793
36452
36453         Only effectively load, and start buffering when playing, or when
36454         the preload attribute is set.
36455
36456         Test: media/video-preload.html
36457
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:
36465
36466 2010-03-12  Dmitry Titov  <dimich@chromium.org>
36467
36468         Not reviewed, build fix.
36469
36470         Reverts 55920 and 55921. Landing for Jian Li.
36471
36472         * Android.derived.jscbindings.mk:
36473         * Android.derived.v8bindings.mk:
36474         * DerivedSources.cpp:
36475         * DerivedSources.make:
36476         * GNUmakefile.am:
36477         * WebCore.gypi:
36478         * WebCore.pri:
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:
36491
36492 2010-03-12  Jakob Petsovits  <jpetsovits@rim.com>
36493
36494         Reviewed by Dirk Schulze.
36495
36496         [OpenVG] Add support for drawing text to PainterOpenVG
36497         https://bugs.webkit.org/show_bug.cgi?id=35581
36498
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
36502         manually before.
36503
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:
36511
36512 2010-03-12  Jakob Petsovits  <jpetsovits@rim.com>
36513
36514         Reviewed by Dirk Schulze.
36515
36516         [OpenVG] Use masks to implement non-rectilinear clipping
36517         https://bugs.webkit.org/show_bug.cgi?id=35544
36518
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.
36522
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.
36526
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::):
36549
36550 2010-03-12  Jian Li  <jianli@chromium.org>
36551
36552         Reviewed by Sam Weinig.
36553
36554         Add DOMFormData.idl to expose FormData interface.
36555         https://bugs.webkit.org/show_bug.cgi?id=36024
36556         
36557         The implementation is based on XMLHttpRequest 2 spec:
36558         http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
36559
36560         Test: http/tests/local/send-form-data.html
36561
36562         * Android.derived.jscbindings.mk:
36563         * Android.derived.v8bindings.mk:
36564         * DerivedSources.cpp:
36565         * DerivedSources.make:
36566         * GNUmakefile.am:
36567         * WebCore.pri:
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:
36576
36577 2010-03-12  Jakob Petsovits  <jpetsovits@rim.com>
36578
36579         Reviewed by Dirk Schulze.
36580
36581         [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces
36582         https://bugs.webkit.org/show_bug.cgi?id=35538
36583
36584         SurfaceOpenVG can now not only encapsulate pbuffer
36585         and window surfaces but also VGImage-based ones.
36586
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:
36593
36594 2010-03-12  Alpha Lam  <hclam@chromium.org>
36595
36596         Reviewed by Eric Carlson.
36597
36598         Fix a crash when resource loading of media element is canceled.
36599         https://bugs.webkit.org/show_bug.cgi?id=35992
36600
36601         Use of HTMLMediaElement::duration() after resource loading was canceled
36602         will cause a crash. This is because HTMLMediaElement::m_player is used
36603         when NULL.
36604         Test: http/tests/media/video-cancel-load.html
36605
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.
36611
36612 2010-03-12  Dan Bernstein  <mitz@apple.com>
36613
36614         Reviewed by Darin Adler.
36615
36616         <rdar://problem/7725534> CSSPrimitiveValue::parserValue() returns deleted memory
36617         https://bugs.webkit.org/show_bug.cgi?id=20069
36618
36619         No test added, since with the CSS variables feature disabled, the pointer
36620         to the freed memory is never dereferenced.
36621
36622         * css/CSSPrimitiveValue.cpp:
36623         (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from
36624         a static table.
36625         (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change.
36626
36627 2010-03-12  Dan Bernstein  <mitz@apple.com>
36628
36629         Build fix.
36630
36631         * platform/chromium/PlatformKeyboardEventChromium.cpp:
36632
36633 2010-03-12  Dan Bernstein  <mitz@apple.com>
36634
36635         Reviewed by Darin Adler.
36636
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
36639
36640         Test: fast/events/overflow-scroll-fake-mouse-move.html
36641
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.
36646
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
36652         move events.
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
36656         to fire soon.
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.
36687
36688 2010-03-12  Kent Hansen  <kent.hansen@nokia.com>
36689
36690         Reviewed by Darin Adler.
36691
36692         Webkit doesn't build with workers on and database off
36693         https://bugs.webkit.org/show_bug.cgi?id=35997
36694
36695         Added missing ENABLE(DATABASE) guards.
36696
36697         * workers/WorkerThread.cpp:
36698         (WebCore::WorkerThreadShutdownStartTask::performTask):
36699
36700 2010-03-12  Dan Winship  <danw@gnome.org>
36701
36702         Reviewed by Gustavo Noronha.
36703
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.
36707
36708         * platform/network/soup/CookieJarSoup.cpp:
36709         (WebCore::defaultCookieJar):
36710
36711 2010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
36712
36713         Reviewed by Laszlo Gombos.
36714
36715         [Qt] Enable network state notifier when compiling against Qt 4.7
36716         https://bugs.webkit.org/show_bug.cgi?id=35983
36717
36718         * WebCore.pri:
36719         * platform/network/qt/NetworkStateNotifierPrivate.h:
36720         * platform/network/qt/NetworkStateNotifierQt.cpp:
36721
36722 2010-03-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
36723
36724         Reviewed by Adam Treat.
36725
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
36728
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.
36732
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):
36751
36752 2010-03-11  Aaron Boodman  <aa@chromium.org>
36753
36754         Kill WebDocument::applicationID() (part 1).
36755
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
36760
36761         * notifications/Notification.cpp:
36762         (WebCore::Notification::Notification):
36763         * notifications/NotificationCenter.cpp:
36764         (WebCore::NotificationCenter::checkPermission):
36765         * notifications/NotificationPresenter.h:
36766
36767 2010-03-11  Dmitry Titov  <dimich@chromium.org>
36768
36769         Reviewed by David Levin.
36770
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
36773
36774         No new tests, no changes in functionality.
36775
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):
36793
36794 2010-03-11  Gavin Barraclough  <barraclough@apple.com>
36795
36796         Rubber stamped by Oliver Hunt.
36797
36798         Remove nonsense comments used in development & commited in error.
36799
36800         * platform/text/StringImpl.h:
36801
36802 2010-03-11  Gavin Barraclough  <barraclough@apple.com>
36803
36804         Reviewed by Oliver Hunt.
36805
36806         https://bugs.webkit.org/show_bug.cgi?id=36041
36807         Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
36808
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.
36812
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'.
36826
36827 2010-03-11  Mark Rowe  <mrowe@apple.com>
36828
36829         Reviewed by David Kilzer.
36830
36831         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
36832
36833         Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
36834
36835         * Configurations/Base.xcconfig:
36836
36837 2010-03-11  Jungshik Shin  <jshin@chromium.org>
36838
36839         [Chromium]: Plane 2 characters are rendered "blank" 
36840          (not even empty boxes) on Windows even when there are fonts to
36841          cover them. 
36842
36843         https://bugs.webkit.org/show_bug.cgi?id=35605
36844
36845         Test:LayoutTests/fast/text/international/plane2.html 
36846
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).
36852
36853 2010-03-11  Leandro Pereira  <leandro@profusion.mobi>
36854
36855         Reviewed by Holger Freyther.
36856
36857         Add EFL port files to platform/efl.
36858         http://webkit.org/b/35889
36859
36860         * platform/efl/SystemTimeEfl.cpp: Added.
36861
36862 2010-03-11  Mark Rowe  <mrowe@apple.com>
36863
36864         Reviewed by Tim Hatcher.
36865
36866         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
36867
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.
36870
36871         Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
36872
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.
36875
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.
36878
36879         * Configurations/Base.xcconfig:
36880         * Configurations/DebugRelease.xcconfig:
36881         * Configurations/FeatureDefines.xcconfig:
36882         * Configurations/Version.xcconfig:
36883         * Configurations/WebCore.xcconfig:
36884
36885 2010-03-11  Anders Carlsson  <andersca@apple.com>
36886
36887         Reviewed by David Hyatt.
36888
36889         Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
36890
36891         * loader/EmptyClients.h:
36892         * page/Chrome.cpp:
36893         * page/Chrome.h:
36894         * page/ChromeClient.h:
36895         * platform/HostWindow.h:
36896
36897 2010-03-11  Nate Chapin  <japhet@chromium.org>
36898
36899         Reviewed by Dimitri Glazkov.
36900
36901         [V8] Remove DOMObjectsInclude.h and update headers accordingly.
36902
36903         https://bugs.webkit.org/show_bug.cgi?id=36036
36904
36905         * WebCore.gypi:
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:
36914
36915 2010-03-11  Simon Fraser  <simon.fraser@apple.com>
36916
36917         Reviewed by Mark Rowe.
36918
36919         Remove duplicate entries revealed after sorting.
36920
36921         * WebCore.xcodeproj/project.pbxproj:
36922
36923 2010-03-11  Simon Fraser  <simon.fraser@apple.com>
36924
36925         Reviewed by Mark Rowe.
36926
36927         Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file
36928         every time you opened it).
36929
36930         * WebCore.xcodeproj/project.pbxproj:
36931
36932 2010-03-11  Nate Chapin  <japhet@chromium.org>
36933
36934         Reviewed by Dimitri Glazkov.
36935
36936         Fix style issues and improve comments from 
36937         http://trac.webkit.org/changeset/55853.
36938
36939         https://bugs.webkit.org/show_bug.cgi?id=36029
36940
36941         * platform/animation/TimingFunction.h:
36942         (WebCore::TimingFunction::TimingFunction):
36943
36944 2010-03-11  Chris Fleizach  <cfleizach@apple.com>
36945
36946         Reviewed by Beth Dakin.
36947
36948         accessibilityIsIgnoredBase() needs to respect when platform says include
36949         https://bugs.webkit.org/show_bug.cgi?id=36025
36950
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.
36953
36954         * accessibility/AccessibilityList.cpp:
36955         (WebCore::AccessibilityList::accessibilityIsIgnored):
36956         * accessibility/AccessibilityListBox.cpp:
36957         (WebCore::AccessibilityListBox::accessibilityIsIgnored):
36958         * accessibility/AccessibilityObject.h:
36959         (WebCore::):
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):
36986
36987 2010-03-11  Kenneth Russell  <kbr@google.com>
36988
36989         Reviewed by Dimitri Glazkov.
36990
36991         Fix build breakage with ENABLE_3D_CANVAS=0
36992         https://bugs.webkit.org/show_bug.cgi?id=35995
36993
36994         No new tests; verified in Chromium that WebGL is disabled in
36995         ENABLE_3D_CANVAS=0 builds.
36996
36997         * bindings/v8/custom/V8DocumentCustom.cpp:
36998         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
36999
37000 2010-03-11  Nate Chapin  <japhet@chromium.org>
37001
37002         Unreviewed, Chromium mac build fix.
37003
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.
37007
37008         * platform/animation/TimingFunction.h:
37009         (WebCore::TimingFunction::TimingFunction):
37010
37011 2010-03-11  Chris Fleizach  <cfleizach@apple.com>
37012
37013         Fixing GTK. No review.
37014
37015         support lang attribute on <option> elements
37016         https://bugs.webkit.org/show_bug.cgi?id=36021
37017  
37018         We don't need to cast to AccessibilityRenderObject to get language().
37019
37020         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
37021         (webkit_accessible_document_get_locale):
37022
37023 2010-03-11  Chris Fleizach  <cfleizach@apple.com>
37024
37025         Reviewed by Darin Adler.
37026
37027         support lang attribute on <option> elements
37028         https://bugs.webkit.org/show_bug.cgi?id=36021
37029
37030         Allow non AccessibilityRenderObject classes to access the lang
37031         attribute by moving the useful code into AccessibilityObject.
37032
37033         Test: platform/mac/accessibility/option-with-lang.html
37034
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:
37044
37045 2010-03-11  Diego Gonzalez  <diego.gonzalez@openbossa.org>
37046
37047         Reviewed by Simon Hausmann.
37048
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
37051
37052         * page/qt/EventHandlerQt.cpp:
37053         (WebCore::EventHandler::accessKeyModifiers):
37054
37055 2010-03-08  Brett Wilson  <brettw@chromium.org>
37056
37057         Reviewed by Adam Barth.
37058
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.
37062
37063         * platform/KURLGoogle.cpp:
37064         (WebCore::KURL::isHierarchical):
37065
37066 2010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
37067
37068         Reviewed by Tor Arne Vestbø.
37069
37070         [Qt] Make it possible to do builds with separate debug info in packages
37071
37072         * WebCore.pro:
37073
37074 2010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
37075
37076         Reviewed by Tor Arne Vestbø.
37077
37078         [Qt] Avoid double-buffering with Qt image decoders
37079
37080         Pass QIODevice::Unbuffered when opening the QBuffer that
37081         wraps the image data, to hint to Qt that no extra buffering
37082         is needed.
37083
37084         * platform/graphics/qt/ImageDecoderQt.cpp:
37085         (WebCore::ImageDecoderQt::setData):
37086
37087 2010-03-10  Ben Murdoch  <benm@google.com>
37088
37089         Reviewed by Jeremy Orlow.
37090
37091         [Android] The platform touch events on Android are missing support
37092         for key modifiers.
37093         https://bugs.webkit.org/show_bug.cgi?id=35521
37094
37095         Add support in PlatformToucHEventAndroid for the platform supplying
37096         key modifiers with touch events.
37097
37098         Fixes Android so it now passes basic-single-touch-events.html.
37099
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.
37107
37108 2010-03-10  Steve Block  <steveblock@google.com>
37109
37110         Reviewed by Jeremy Orlow.
37111
37112         Implements Geolocation maximumAge property
37113         https://bugs.webkit.org/show_bug.cgi?id=30676
37114
37115         Test: fast/dom/Geolocation/maximum-age.html
37116
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.
37131
37132 2010-03-11  Csaba Osztrogonác  <ossy@webkit.org>
37133
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)
37136
37137         * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added. 
37138
37139 2010-03-11  Csaba Osztrogonác  <ossy@webkit.org>
37140
37141         [Qt] Unreviewed buildfix after r55833.
37142
37143         Rename all instances of data() to characters()
37144
37145         * bridge/qt/qt_class.cpp:
37146         (JSC::Bindings::QtClass::fieldNamed):
37147         * bridge/qt/qt_runtime.cpp:
37148         (JSC::Bindings::convertValueToQVariant):
37149
37150 2010-03-11  Zoltan Horvath  <zoltan@webkit.org>
37151
37152         Reviewed by Simon Hausmann.
37153
37154         Allow custom memory allocation control for RenderLayerBacking class
37155         https://bugs.webkit.org/show_bug.cgi?id=35857
37156
37157         Inherits the following class from Noncopyable because it is
37158         instantiated by 'new' and no need to be copyable:                                     
37159
37160         class name    - instantiated at: WebCore/'location'
37161         RenderLayerBacking - rendering/RenderLayer.cpp:3047
37162
37163         * rendering/RenderLayerBacking.h:
37164
37165 2010-03-11  Zoltan Horvath  <zoltan@webkit.org>
37166
37167         Reviewed by Simon Hausmann.
37168
37169         Allow custom memory allocation control for TimingFunction struct
37170         https://bugs.webkit.org/show_bug.cgi?id=35855
37171
37172         Inherits the following struct from FastAllocBase because it is 
37173         instantiated by 'new':
37174
37175         class name    - instantiated at: WebCore/'location'
37176         TimingFuction - platform/graphics/GraphicsLayer.h:89
37177
37178         * platform/animation/TimingFunction.h:
37179
37180 2010-03-10  Gavin Barraclough  <barraclough@apple.com>
37181
37182         Rubber stamped by Oliver Hunt.
37183         
37184         Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
37185
37186         * bridge/jni/jsc/JavaStringJSC.h:
37187         (JSC::Bindings::JavaStringImpl::uchars):
37188         * platform/text/AtomicString.cpp:
37189         (WebCore::AtomicString::add):
37190         (WebCore::AtomicString::find):
37191
37192 2010-03-10  Gavin Barraclough  <barraclough@apple.com>
37193
37194         Reviewed by Mark Rowe.
37195
37196         Fix for r55825, threadsafeCopy no longer needs to special-case for
37197         empty strings (in fact, doing so results in leaks).
37198
37199         * platform/text/StringImpl.cpp:
37200         (WebCore::StringImpl::threadsafeCopy):
37201
37202 2010-03-10  Chang Shu  <chang.shu@nokia.com>
37203
37204         Reviewed by Darin Adler.
37205
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
37209
37210         * css/CSSParser.cpp:
37211         (WebCore::CSSParser::parseColorParameters):
37212
37213 2010-03-10  Gavin Barraclough  <barraclough@apple.com>
37214
37215         Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
37216
37217         https://bugs.webkit.org/show_bug.cgi?id=35991
37218         Would be faster to not use a thread specific to implement StringImpl::empty()
37219
37220         Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static,
37221         shared by all threads.
37222
37223         ~2% progression on Dromaeo DOM core & JS lib tests.
37224
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):
37236
37237 2010-03-08  Dumitru Daniliuc  <dumi@chromium.org>
37238
37239         Reviewed by Adam Barth.
37240
37241         Adding support for the optional creation callback that could be
37242         passed to openDatabase().
37243
37244         Tests: storage/open-database-creation-callback.html
37245                storage/open-database-creation-callback-isolated-world.html
37246
37247         https://bugs.webkit.org/show_bug.cgi?id=34726
37248
37249         * Android.jscbindings.mk
37250         * Android.v8bindings.mk
37251         * GNUmakefile.am:
37252         * WebCore.gypi:
37253         * WebCore.pro:
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:
37291
37292 2010-03-10  Justin Schuh  <jschuh@chromium.org>
37293
37294         Reviewed by Adam Barth.
37295
37296         Make Chrome consistently handle leading format characters in URLs
37297
37298         https://bugs.webkit.org/show_bug.cgi?id=35948
37299
37300         Test: http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html
37301
37302         * platform/KURLGoogle.cpp:
37303
37304 2010-03-10  Jian Li  <jianli@chromium.org>
37305
37306         Reviewed by Dmitry Titov.
37307
37308         Implementing DOMFormData class.
37309         https://bugs.webkit.org/show_bug.cgi?id=35707
37310
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.
37315
37316         The DOMFormData IDL interface will be exposed in another patch and the
37317         test will be added then.
37318
37319         * Android.mk:
37320         * GNUmakefile.am:
37321         * WebCore.gypi:
37322         * WebCore.pro:
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:
37342
37343 2010-03-10  Chris Fleizach  <cfleizach@apple.com>
37344
37345         Reviewed by Beth Dakin.
37346
37347         VoiceOver can navigate to hidden content in widget (WAI-ARIA)
37348         https://bugs.webkit.org/show_bug.cgi?id=35986
37349
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.
37354
37355         Test: accessibility/aria-hidden-with-elements.html
37356
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):
37391
37392 2010-03-10  Dmitry Titov  <dimich@chromium.org>
37393
37394         Reviewed by Darin Adler.
37395
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
37398
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
37401
37402         * dom/Document.cpp:
37403         (WebCore::Document::postTask): Always use the same task queue, independent of what thread is posting the task.
37404
37405 2010-03-10  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
37406
37407         Reviewed by Darin Fisher.
37408
37409         Allow a plugin to participate in the browser's print workflow.
37410         https://bugs.webkit.org/show_bug.cgi?id=35550
37411
37412         * loader/PluginDocument.cpp:
37413         * loader/PluginDocument.h:
37414
37415 2010-03-10  Ilya Tikhonovsky  <loislo@loislo-macbookpro.local>
37416
37417         Reviewed by Pavel Feldman.
37418
37419         Sidebar resize element height was adjusted.
37420         Display name for Function Call details was adjusted.
37421
37422         https://bugs.webkit.org/show_bug.cgi?id=35939
37423
37424         * inspector/front-end/TimelinePanel.js:
37425         (WebInspector.TimelinePanel.prototype._refreshRecords):
37426         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
37427
37428 2010-03-10  Charles Wei  <charles.wei@torchmobile.com.cn>
37429
37430         Reviewed by George Staikos.
37431
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.
37434
37435         No new tests as all the xhtml test cases in LayoutTests/dom/xhtml fails without this fix when XHTMLMP is enabled.
37436
37437         * dom/Document.cpp:
37438         (WebCore::Document::isXHTMLMPDocument):
37439         * dom/XMLTokenizerLibxml2.cpp:
37440         (WebCore::XMLTokenizer::internalSubset):
37441         (WebCore::externalSubsetHandler):
37442
37443 2010-03-10  Garret Kelly  <gdk@chromium.org>
37444
37445         Reviewed by Darin Fisher.
37446
37447         Adding all of the touch-related sources into Chromium's WebCore build.
37448         https://bugs.webkit.org/show_bug.cgi?id=35874
37449
37450         Patch tested against the try bots, but the feature is exercised in the
37451         fast/events/touch tests.
37452
37453         * WebCore.gypi:
37454
37455 2010-03-10  Pavel Feldman  <pfeldman@chromium.org>
37456
37457         Reviewed by Timothy Hatcher.
37458
37459         Web Inspector: now that audits panel is added, add it to the
37460         enums (for storing last active, etc.).
37461
37462         https://bugs.webkit.org/show_bug.cgi?id=35980
37463
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):
37473
37474 2010-03-10  Nate Chapin  <japhet@chromium.org>
37475
37476         Reviewed by Dimitri Glazkov.
37477
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
37480         information.
37481
37482         https://bugs.webkit.org/show_bug.cgi?id=35941
37483
37484         Refactoring only, so new tests.
37485
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:
37529
37530 2010-03-10  Antonio Gomes  <tonikitoo@webkit.org>
37531
37532         Reviewed by Dave Hyatt.
37533         Patch by Antonio Gomes <tonikitoo@webkit.org>
37534
37535         Extend keyboard navigation to allow directional navigation (Manual tests)
37536         https://bugs.webkit.org/show_bug.cgi?id=18662
37537
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.
37541
37542         * manual-tests/spatial-navigation/links.html: Added.
37543         * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: Added.
37544
37545 2010-03-10  Leandro Pereira  <leandro@profusion.mobi>
37546
37547         Reviewed by Kenneth Rohde Christiansen.
37548
37549         Add EFL port files to platform/efl.
37550         http://webkit.org/b/35890
37551
37552         * platform/efl/ScrollbarEfl.h: Added.
37553         * platform/efl/ScrollbarThemeEfl.h: Added.
37554
37555 2010-03-10  Pavel Feldman  <pfeldman@chromium.org>
37556
37557         Reviewed by Timothy Hatcher.
37558
37559         Web Inspector: Audits panel needs an icon.
37560         Landing icon attached by Timothy. Enabling panel!
37561
37562         https://bugs.webkit.org/show_bug.cgi?id=35945
37563
37564         * WebCore.gypi:
37565         * inspector/front-end/Images/auditsIcon.png: Added.
37566         * inspector/front-end/WebKit.qrc:
37567         * inspector/front-end/inspector.css:
37568
37569 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
37570
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.
37574
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:
37587
37588 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
37589
37590         Rubber-stamped by Xan Lopez.
37591
37592         Fix ready state when buffering under PLAYING. We should not go
37593         back to HaveNothing in that case.
37594
37595         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37596         (WebCore::MediaPlayerPrivate::updateStates):
37597
37598 2010-03-10  Ada Chan  <adachan@apple.com>
37599
37600         Reviewed by Adam Roben.
37601
37602         https://bugs.webkit.org/show_bug.cgi?id=35976
37603
37604         Retrieve any dwItemData that's set on the context menu item in contextMenuItemByIdOrPosition().
37605
37606         * platform/win/ContextMenuWin.cpp:
37607
37608 2010-03-10  Jeremy Orlow  <jorlow@chromium.org>
37609
37610         Reviewed by Darin Fisher.
37611
37612         Add IndexedDatabase class and hook it up.
37613         https://bugs.webkit.org/show_bug.cgi?id=35927
37614
37615         This change is mostly just adding the plumbing necessary for
37616         the IndexedDatabaseRequest and IndexedDatabaseSync (not written
37617         yet).
37618
37619         This code is non-functional, so no tests (yet).
37620
37621         * WebCore.gyp/WebCore.gyp:
37622         * WebCore.gypi:
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):
37636
37637 2010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
37638
37639         Reviewed by Sam Weinig.
37640
37641         Add one more parent check during node removal.
37642         https://bugs.webkit.org/show_bug.cgi?id=35818
37643
37644         Test: fast/dom/Node/mutation-blur.html
37645
37646         * dom/ContainerNode.cpp:
37647         (WebCore::ContainerNode::removeChild): Added check.
37648
37649 2010-03-10  Pavel Feldman  <pfeldman@chromium.org>
37650
37651         Not reviewed: added missing quote into localized strings.
37652
37653         * English.lproj/localizedStrings.js:
37654
37655 2010-03-10  Jeremy Orlow  <jorlow@chromium.org>
37656
37657         Commit files that were supposed to go in with the last checkin.
37658
37659 2010-03-10  Jeremy Orlow  <jorlow@chromium.org>
37660
37661         Reviewed by Dimitry Glazkov.
37662
37663         Baby steps towards IndexedDB: Start implementing callbacks.
37664         https://bugs.webkit.org/show_bug.cgi?id=35911
37665
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.
37670
37671         Code is not testible because it doesn't work (yet).
37672
37673         * WebCore.gypi:
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:
37688
37689 2010-03-10  Holger Hans Peter Freyther  <zecke@selfish.org>
37690
37691         Reviewed by Simon Hausmann.
37692
37693         [Qt] Non animated gifs are animated in QtWebKit
37694         https://bugs.webkit.org/show_bug.cgi?id=35955
37695
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.
37699
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):
37705
37706 2010-03-07  Holger Hans Peter Freyther  <zecke@selfish.org>
37707
37708         Reviewed by Darin Adler.
37709
37710         [CAIRO] DoS on iexploder test with high text stroke width.
37711         https://bugs.webkit.org/show_bug.cgi?id=33759
37712
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.
37720
37721         Test: fast/text/text-stroke-width-cairo-dos.html
37722
37723         * platform/graphics/cairo/FontCairo.cpp:
37724         (WebCore::Font::drawGlyphs):
37725
37726 2010-03-10  Andrey Kosyakov  <caseq@chromium.org>
37727
37728         Reviewed by Pavel Feldman.
37729
37730         Web Inspector: display list of active workers & support debugging
37731         with fake workers.
37732         https://bugs.webkit.org/show_bug.cgi?id=35568
37733
37734         * English.lproj/localizedStrings.js:
37735         * WebCore.gypi:
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):
37745         * dom/Document.h:
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):
37816
37817 2010-03-10  Roland Steiner  <rolandsteiner@chromium.org>
37818
37819         Unreviewed build fix. Fix variable name change that somehow didn't
37820         make it into the patch.
37821
37822 2010-03-10  Roland Steiner  <rolandsteiner@chromium.org>
37823
37824         Reviewed by David Levin.
37825
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
37828         
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).
37833
37834         Tests: editing/pasteboard/dataTransfer-setData-getData.html
37835
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:
37847         (WebCore::):
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):
37856
37857 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
37858
37859         Reviewed by Timothy Hatcher.
37860
37861         Web Inspector: REGRESSION: Tall image resources are cropped over the bottom.
37862
37863         https://bugs.webkit.org/show_bug.cgi?id=34720
37864
37865         * inspector/front-end/inspector.css:
37866
37867 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
37868
37869         Reviewed by Timothy Hatcher.
37870
37871         Web Inspector: REGRESSION: Pressing up/down arrow key to change numeric
37872         value in CSS property takes focus away.
37873
37874         https://bugs.webkit.org/show_bug.cgi?id=34697
37875
37876         * inspector/front-end/StylesSidebarPane.js:
37877         (WebInspector.StylePropertyTreeElement.prototype):
37878         (WebInspector.StylePropertyTreeElement.prototype.):
37879
37880 2010-03-09  Tony Chang  <tony@chromium.org>
37881
37882         Reviewed by Adam Barth.
37883
37884         https://bugs.webkit.org/show_bug.cgi?id=21840
37885         https://bugs.webkit.org/show_bug.cgi?id=23993
37886
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.
37891
37892         Tests: editing/deleting/backspace-avoid-preceding-style.html
37893                editing/inserting/replace-at-visible-boundary.html
37894
37895         * editing/ReplaceSelectionCommand.cpp:
37896         (WebCore::positionAvoidingPrecedingNodes):
37897         (WebCore::ReplaceSelectionCommand::doApply):
37898
37899 2010-03-09  Brady Eidson  <beidson@apple.com>
37900
37901         Reviewed by Tim Hatcher.
37902
37903         REGRESSION: WebInspector docking busted on Windows
37904         <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
37905
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.
37908
37909         Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the
37910         InspectorController in WebCore.
37911
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
37914         it indirectly.
37915
37916         * WebCore.base.exp:
37917
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
37925           window.
37926         (WebCore::InspectorController::populateScriptObjects):
37927         * inspector/InspectorController.h:
37928
37929 2010-03-09  Alexey Proskuryakov  <ap@apple.com>
37930
37931         Reviewed by Mark Rowe.
37932
37933         https://bugs.webkit.org/show_bug.cgi?id=35951
37934         <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
37935
37936         * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too.
37937
37938 2010-03-09  Alexey Proskuryakov  <ap@apple.com>
37939
37940         Reviewed by Oliver Hunt.
37941
37942         https://bugs.webkit.org/show_bug.cgi?id=35951
37943         <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
37944
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
37947         lifetime.
37948
37949 2010-03-09  Ojan Vafai  <ojan@chromium.org>
37950
37951         Reviewed by Darin Adler.
37952
37953         Fix review comment accidentally overlooked in bug 35713
37954         https://bugs.webkit.org/show_bug.cgi?id=35947
37955
37956         * editing/DeleteSelectionCommand.cpp:
37957         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
37958         * editing/DeleteSelectionCommand.h:
37959
37960 2010-03-03  Ojan Vafai  <ojan@chromium.org>
37961
37962         Reviewed by Adam Barth.
37963
37964         undo after smartdelete should select the deleted space
37965         https://bugs.webkit.org/show_bug.cgi?id=35713
37966
37967         TextEdit behavior is to select the deleted space after a smartdelete.
37968
37969         Tests: editing/undo/undo-smart-delete-reversed-selection.html
37970                editing/undo/undo-smart-delete-word.html
37971
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.
37981
37982 2010-03-09  Steve Falkenburg  <sfalken@apple.com>
37983
37984         Rubber stamped by Adam Roben.
37985
37986         Load debug version of graphics library in Windows Debug_All builds.
37987
37988         * platform/graphics/win/WKCACFLayerRenderer.cpp:
37989         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
37990
37991 2010-03-09  Brady Eidson  <beidson@apple.com>
37992
37993         Reviewed by Darin Adler.
37994
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
37997
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.
38001
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.
38005
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.
38008
38009         Test: http/tests/plugins/third-party-cookie-accept-policy.html
38010
38011         * loader/ResourceLoader.cpp:
38012         (WebCore::ResourceLoader::load): Don't load a resource without first giving the request 
38013           a firstPartyForCookies URL.
38014
38015 2010-03-09  Andy Estes  <aestes@apple.com>
38016
38017         Reviewed by Adele Peterson.
38018
38019         Check for null renderer in scrollNode().
38020         https://bugs.webkit.org/show_bug.cgi?id=34700
38021
38022         Test: fast/events/remove-child-onscroll.html
38023
38024         * page/EventHandler.cpp:
38025         (WebCore::scrollNode): Return early if node->renderer() == 0
38026
38027 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38028
38029         Unreviewed distcheck fix.
38030
38031         * GNUmakefile.am:
38032
38033 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38034
38035         Unreviewed build fix (only exposed by make distcheck). The
38036         SharedWorkers files are not built, they need to be distributed.
38037
38038         * GNUmakefile.am:
38039
38040 2010-03-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38041
38042         Reviewed by Dirk Schulze.
38043
38044         [GStreamer] Buffering logic is not correct, and does not work very well
38045         https://bugs.webkit.org/show_bug.cgi?id=35706
38046
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
38051         change handling.
38052
38053         No behaviour change expected.
38054
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:
38061
38062 2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38063
38064         Reviewed by Dirk Schulze.
38065
38066         [GStreamer] Buffering logic is not correct, and does not work very well
38067         https://bugs.webkit.org/show_bug.cgi?id=35706
38068
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
38072         future.
38073
38074         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38075         (WebCore::MediaPlayerPrivate::load):
38076
38077 2010-03-09  Chris Fleizach  <cfleizach@apple.com>
38078
38079         Reviewed by Darin Adler.
38080
38081         AX: hit testing a list box doesn't work anymore
38082         https://bugs.webkit.org/show_bug.cgi?id=35893
38083
38084         Since <option> elements don't have renderers, their hit testing needs
38085         to be handled with a special case.
38086
38087         Test: platform/mac/accessibility/listbox-hit-test.html
38088
38089         * accessibility/AccessibilityRenderObject.cpp:
38090         (WebCore::AccessibilityRenderObject::ariaIsHidden):
38091         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
38092
38093 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
38094
38095         Reviewed by Timothy Hatcher.
38096
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)
38105
38106         https://bugs.webkit.org/show_bug.cgi?id=35860
38107
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):
38181
38182 2010-03-09  Yury Semikhatsky  <yurys@chromium.org>
38183
38184         Reviewed by Pavel Feldman.
38185  
38186         When enable resource tracking state changes use the same method as
38187         location.reload for reloading inspected page.
38188
38189         https://bugs.webkit.org/show_bug.cgi?id=35923
38190
38191         * inspector/InspectorBackend.cpp:
38192         (WebCore::InspectorBackend::reloadPage):
38193         * inspector/InspectorController.cpp:
38194         (WebCore::InspectorController::enableResourceTracking):
38195
38196 2010-03-09  Pavel Feldman  <pfeldman@chromium.org>
38197
38198         Reviewed by Timothy Hatcher.
38199
38200         Web Inspector: highlight text node containers while searching for node.
38201
38202         https://bugs.webkit.org/show_bug.cgi?id=35912
38203
38204         * inspector/InspectorController.cpp:
38205         (WebCore::InspectorController::mouseDidMoveOverElement):
38206
38207 2010-03-09  Philippe Normand  <pnormand@igalia.com>
38208
38209         Reviewed by Gustavo Noronha Silva.
38210
38211         [GStreamer] player code cleanups
38212         https://bugs.webkit.org/show_bug.cgi?id=35868
38213
38214         Cleaned up the private instance variables of the player.
38215
38216         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38217         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
38218         (WebCore::MediaPlayerPrivate::fillTimerFired):
38219         (WebCore::MediaPlayerPrivate::mediaLocationChanged):
38220         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
38221
38222 2010-03-09  Philippe Normand  <pnormand@igalia.com>
38223
38224         Reviewed by Gustavo Noronha Silva.
38225
38226         [GStreamer] player code cleanups
38227         https://bugs.webkit.org/show_bug.cgi?id=35868
38228
38229         Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}.
38230
38231         * GNUmakefile.am:
38232         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added.
38233         (WTF::GstElement):
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.
38241         (WTF::SoupURI):
38242         * platform/network/soup/GOwnPtrSoup.h: Added.
38243         * platform/network/soup/ResourceHandleSoup.cpp:
38244         * platform/network/soup/ResourceRequestSoup.cpp:
38245
38246 2010-03-09  Shinichiro Hamaji  <hamaji@chromium.org>
38247
38248         Reviewed by Eric Seidel.
38249
38250         [Chromium] Should remove paddings of Win/Linux chromium's buttons
38251         https://bugs.webkit.org/show_bug.cgi?id=35629
38252
38253         No new tests, but we may need to rebaseline bunch of expectation
38254         images in chromium's tree.
38255
38256         * rendering/RenderThemeChromiumSkia.cpp:
38257         * rendering/RenderThemeChromiumSkia.h:
38258
38259 2010-03-08  Kent Tamura  <tkent@chromium.org>
38260
38261         Reviewed by Adam Barth.
38262
38263         Implement HTML5 <hgroup> element.
38264         https://bugs.webkit.org/show_bug.cgi?id=33369
38265
38266         <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>.
38267         <hgroup> has no specific parsing rules.
38268
38269         Test: fast/html/hgroup-element.html
38270
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.
38280
38281 2010-03-08  Tony Chang  <tony@chromium.org>
38282
38283         Reviewed by Adam Barth.
38284
38285         https://bugs.webkit.org/show_bug.cgi?id=32131
38286         Crash when inserting an ordered list.
38287
38288         Test: editing/execCommand/insert-ordered-list.html
38289
38290         * editing/CompositeEditCommand.cpp:
38291         (WebCore::CompositeEditCommand::moveParagraphs):
38292         * editing/TextIterator.cpp:
38293         (WebCore::TextIterator::rangeFromLocationAndLength):
38294
38295 2010-03-08  Darin Adler  <darin@apple.com>
38296
38297         Reviewed by Dan Bernstein.
38298
38299         Added a test for crash when you quit inside an unload handler.
38300         rdar://problem/6958347
38301
38302         * manual-tests/quit-inside-unload.html: Added.
38303
38304 2010-03-08  Darin Adler  <darin@apple.com>
38305
38306         Reviewed by Jon Honeycutt.
38307
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
38311
38312         * manual-tests/video-in-non-frontmost-tab.html: Added.
38313         * manual-tests/resources/video-tab.html: Added.
38314
38315         * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and
38316         added the mediaCanStart function as well as a boolean,
38317         m_isWaitingUntilMediaCanStart.
38318
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.
38328
38329 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
38330
38331         [GTK] Unreviewed buildfix after r55688.
38332
38333         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
38334         (webKitWebSrcStart):
38335
38336 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
38337
38338         [GTK] Unreviewed buildfix after r55688.
38339
38340         * platform/network/soup/ResourceHandleSoup.cpp:
38341         (WebCore::):
38342
38343 2010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
38344
38345         [Qt] Unreviewed buildfix after r55688.
38346
38347         * platform/network/qt/ResourceHandleQt.cpp:
38348         (WebCore::ResourceHandle::loadResourceSynchronously):
38349
38350 2010-03-08  Alexey Proskuryakov  <ap@apple.com>
38351
38352         Reviewed by Darin Adler.
38353
38354         https://bugs.webkit.org/show_bug.cgi?id=35879
38355         Eliminate m_mightDownloadFromHandle
38356
38357         It was only used on Mac, and unnecessarily complicated the code.
38358
38359         No change in behavior, thus no test.
38360
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):
38375
38376 2010-03-02  Peter Kasting  <pkasting@google.com>
38377
38378         Reviewed by Adam Barth.
38379
38380         Clean up usage of m_failed in open-source image decoders, part 1.
38381         https://bugs.webkit.org/show_bug.cgi?id=35411
38382         
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.
38388
38389         Overriding setFailed() is coming in a subsequent patch because it can be
38390         hairy and needs close review.
38391
38392         No functional change, so no tests.
38393
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:
38440
38441 2010-03-08  Chris Marrin  <cmarrin@apple.com>
38442
38443         Reviewed by Darin Adler.
38444
38445         Disallow WebGL when HW comp is not turned on at runtime
38446         https://bugs.webkit.org/show_bug.cgi?id=35759
38447
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.
38451
38452         * html/HTMLCanvasElement.cpp:
38453         (WebCore::HTMLCanvasElement::getContext):
38454
38455 2010-03-08  Darin Adler  <darin@apple.com>
38456
38457         Reviewed by Jon Honeycutt.
38458
38459         https://bugs.webkit.org/show_bug.cgi?id=35876
38460
38461         Fix minor style issues in HTMLMediaElement and classes derived from it.
38462         Made many public members private and protected.
38463
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.
38467
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.
38471
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.
38483
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.
38487
38488 2010-03-08  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38489
38490         Reviewed by Xan Lopez.
38491
38492         https://bugs.webkit.org/show_bug.cgi?id=30895
38493         [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
38494
38495         Gives platforms the ability to exclude parts of an AccessibilityTable
38496         from the accessible hierarchy.
38497
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):
38510
38511 2010-03-08  Jian Li  <jianli@chromium.org>
38512
38513         No review. Fix build break on Tiger intel release.
38514
38515         * html/Blob.cpp:
38516         * html/Blob.h:
38517
38518 2010-03-02  Adam Treat  <atreat@rim.com>
38519
38520         Reviewed by Dave Hyatt.
38521
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
38526
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
38529         these bools.
38530
38531         No tests as this change should not introduce any behavior changes in any
38532         of the ports.
38533
38534         https://bugs.webkit.org/show_bug.cgi?id=34214
38535
38536         * loader/EmptyClients.h:
38537         (WebCore::EmptyChromeClient::invalidateContents):
38538         (WebCore::EmptyChromeClient::invalidateWindow):
38539         (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
38540         (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
38541         * page/Chrome.cpp:
38542         (WebCore::Chrome::invalidateContents):
38543         (WebCore::Chrome::invalidateWindow):
38544         (WebCore::Chrome::invalidateContentsAndWindow):
38545         (WebCore::Chrome::invalidateContentsForSlowScroll):
38546         * page/Chrome.h:
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):
38554
38555 2010-03-08  Adam Barth  <abarth@webkit.org>
38556
38557         Reviewed by Nate Chapin.
38558
38559         [V8] Block popups from inline script
38560         https://bugs.webkit.org/show_bug.cgi?id=35474
38561
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.
38565
38566         Test: http/tests/security/popup-blocked-from-window-open.html
38567
38568         * bindings/v8/ScriptController.cpp:
38569         (WebCore::ScriptController::processingUserGesture):
38570         (WebCore::ScriptController::evaluate):
38571
38572 2010-03-08  Stuart Morgan  <stuartmorgan@chromium.org>
38573
38574         Reviewed by Darin Adler.
38575
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.
38579
38580         https://bugs.webkit.org/show_bug.cgi?id=31265
38581
38582         No new tests: no functional changes.
38583
38584         * WebCore.gypi:
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:
38593         * page/Frame.cpp:
38594         (WebCore::Frame::setDocument):
38595         * page/Frame.h:
38596         * platform/SecureTextInput.cpp: Added.
38597         (WebCore::enableSecureTextInput):
38598         (WebCore::disableSecureTextInput):
38599         * platform/SecureTextInput.h: Added.
38600         (WebCore::enableSecureTextInput):
38601         (WebCore::disableSecureTextInput):
38602
38603 2010-03-08  Brady Eidson  <beidson@apple.com>
38604
38605         Reviewed by Anders Carlsson.
38606
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
38609
38610         Test: http/tests/cookies/third-party-cookie-relaxing.html
38611
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):
38616
38617         Ditto:
38618         * platform/network/mac/ResourceHandleMac.mm:
38619         (WebCore::ResourceHandle::start):
38620         (WebCore::ResourceHandle::loadResourceSynchronously):
38621
38622         I've filed <rdar://problem/7728508> to track changing the policy in our networking layer.
38623
38624 2010-03-08  Jian Li  <jianli@chromium.org>
38625
38626         Reviewed by Dmitry Titov.
38627
38628         Blob.slice support.
38629         https://bugs.webkit.org/show_bug.cgi?id=32993
38630         
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.
38640
38641         Also add ENABLE_BLOB_SLICE feature define.
38642
38643         Test: http/tests/local/send-sliced-dragged-file.html
38644
38645         * Configurations/FeatureDefines.xcconfig:
38646         * GNUmakefile.am:
38647         * WebCore.pri:
38648         * html/Blob.cpp:
38649         (WebCore::Blob::Blob):
38650         (WebCore::Blob::size):
38651         (WebCore::Blob::slice):
38652         * html/Blob.h:
38653         (WebCore::Blob::start):
38654         (WebCore::Blob::length):
38655         (WebCore::Blob::modificationTime):
38656         * html/Blob.idl:
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):
38673
38674 2010-03-08  Daniel Bates  <dbates@rim.com>
38675
38676         Reviewed by Simon Fraser.
38677
38678         https://bugs.webkit.org/show_bug.cgi?id=34819
38679
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.
38685
38686         Note, we always paint the caret when caret browsing is enabled.
38687
38688         Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html
38689
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:
38697
38698 2010-03-08  Eric Carlson  <eric.carlson@apple.com>
38699
38700         Reviewed by Darin Adler.
38701
38702         YouTube HTML5 video never starts playing on Windows
38703         https://bugs.webkit.org/show_bug.cgi?id=33954
38704
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:
38714
38715 2010-03-08  Eric Uhrhane  <ericu@chromium.org>
38716
38717         Reviewed by David Levin.
38718
38719         Remove the now-redundant Settings fields for the Database
38720         https://bugs.webkit.org/show_bug.cgi?id=35763
38721
38722         No new tests; this code isn't called.
38723
38724         * WebCore.base.exp:
38725         * page/Settings.cpp:
38726         (WebCore::Settings::Settings):
38727         * page/Settings.h:
38728
38729 2010-03-07  David Levin  <levin@chromium.org>
38730
38731         Chromium Linux build fix.
38732
38733         * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug
38734         only method returns a String.
38735
38736 2010-03-07  Mark Rowe  <mrowe@apple.com>
38737
38738         Chromium build fix.
38739
38740         * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image.
38741
38742 2010-03-07  Mark Rowe  <mrowe@apple.com>
38743
38744         Gtk build fix.
38745
38746         * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38747
38748 2010-03-07  Mark Rowe  <mrowe@apple.com>
38749
38750         Gtk build fix.
38751
38752         * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38753
38754 2010-03-07  Mark Rowe  <mrowe@apple.com>
38755
38756         Fix builds where USE_CG_SHADING is set.
38757
38758         * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set.
38759
38760 2010-03-07  Mark Rowe  <mrowe@apple.com>
38761
38762         Windows build fix.  Add some required includes.
38763
38764         * platform/graphics/win/ImageCGWin.cpp:
38765         * platform/network/cf/ResourceHandleCFNet.cpp:
38766         * platform/win/ClipboardWin.cpp:
38767
38768 2010-03-07  Mark Rowe  <mrowe@apple.com>
38769
38770         Gtk build fix.
38771
38772         * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header.
38773
38774 2010-03-07  Mark Rowe  <mrowe@apple.com>
38775
38776         Qt build fix.
38777
38778         * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38779
38780 2010-03-07  Mark Rowe  <mrowe@apple.com>
38781
38782         Gtk build fix.
38783
38784         * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image.
38785
38786 2010-03-07  Mark Rowe  <mrowe@apple.com>
38787
38788         Rubber-stamped by Cameron Zwarich.
38789
38790         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
38791
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:
38801         * page/Page.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:
38808
38809 2010-03-07  Mark Rowe  <mrowe@apple.com>
38810
38811         Chromium build fix.
38812
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.
38815
38816 2010-03-07  Mark Rowe  <mrowe@apple.com>
38817
38818         Qt build fix.
38819
38820         * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String.
38821
38822 2010-03-07  Kent Tamura  <tkent@chromium.org>
38823
38824         Reviewed by Eric Seidel.
38825
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
38829
38830         Test: fast/forms/ValidityState-valueMissing-radio.html
38831
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().
38836
38837 2010-03-07  Mark Rowe  <mrowe@apple.com>
38838
38839         Rubber-stamped by Cameron Zwarich.
38840
38841         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
38842
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:
38852
38853 2010-03-07  Mark Rowe  <mrowe@apple.com>
38854
38855         Completely remove two files that were deleted in r55635 from the Xcode project.
38856
38857         * WebCore.xcodeproj/project.pbxproj:
38858
38859 2010-03-07  Sam Weinig  <sam@webkit.org>
38860
38861         Reviewed by Dan Bernstein.
38862
38863         Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
38864         https://bugs.webkit.org/show_bug.cgi?id=35848
38865
38866         - Take the opportunity to fully autogenerate window.atob() and window.btoa().
38867
38868         * bindings/js/JSDOMWindowCustom.cpp:
38869         * page/DOMWindow.cpp:
38870         (WebCore::DOMWindow::btoa):
38871         (WebCore::DOMWindow::atob):
38872         * page/DOMWindow.idl:
38873
38874 2010-03-07  Dan Bernstein  <mitz@apple.com>
38875
38876         Reviewed by Simon Fraser.
38877
38878         <rdar://problem/7722008> Column breaking ignores floats
38879         https://bugs.webkit.org/show_bug.cgi?id=35837
38880
38881         Test: fast/multicol/float-truncation.html
38882
38883         Introduce an earlier column-break if otherwise a float that could fit
38884         inside a single column will be split between columns.
38885
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
38888         column.
38889
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:
38898
38899 2010-03-07  Dmitry Titov  <dimich@chromium.org>
38900
38901         Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.
38902
38903         REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
38904         https://bugs.webkit.org/show_bug.cgi?id=35819
38905
38906         * Android.jscbindings.mk:
38907         * Android.v8bindings.mk:
38908         * GNUmakefile.am:
38909         * WebCore.gypi:
38910         * WebCore.pro:
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:
38934
38935 2010-03-06  Mark Rowe  <mrowe@apple.com>
38936
38937         Rubber-stamped by Sam Weinig.
38938
38939         Remove unnecessary includes of wtf/Platform.h.  This is already pulled in by config.h.
38940
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:
38975
38976 2010-03-06  Sam Weinig  <sam@webkit.org>
38977
38978         Reviewed by Dan Bernstein.
38979
38980         Move debug only JS wrapper-set tracking code into its own file.
38981         https://bugs.webkit.org/show_bug.cgi?id=35839
38982
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.
38988
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.
38997
38998         * bindings/js/JSDOMWrapper.cpp: Added.
38999         (WebCore::DOMObject::~DOMObject):
39000         (WebCore::DOMObject::defineOwnProperty):
39001         Moved from JSDOMBinding.cpp.
39002
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.
39013
39014 2010-03-06  Sam Weinig  <sam@webkit.org>
39015
39016         Rubber-stamped by Dan Bernstein.
39017
39018         Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into
39019         their own files.
39020
39021         * GNUmakefile.am:
39022         * WebCore.gypi:
39023         * WebCore.pro:
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:
39053
39054 2010-03-06  Dan Bernstein  <mitz@apple.com>
39055
39056         Rubber-stamped by Sam Weinig.
39057
39058         Remove an unused method.
39059
39060         * rendering/RenderBlock.cpp:
39061         (WebCore::RenderBlock::layoutBlock): Changed comment.
39062         (WebCore::RenderBlock::floatRect): Removed.
39063         * rendering/RenderBlock.h: Removed floatRect().
39064
39065 2010-03-06  Pavel Feldman  <pfeldman@chromium.org>
39066
39067         Reviewed by Timothy Hatcher.
39068
39069         Web Inspector: make timeline overview bars transparent to mouse events.
39070
39071         https://bugs.webkit.org/show_bug.cgi?id=35832
39072
39073         * inspector/front-end/inspector.css:
39074
39075 2010-03-06  Pavel Feldman  <pfeldman@chromium.org>
39076
39077         Reviewed by Jeremy Orlow.
39078
39079         Web Inspector: switching to/from Timeline Panel moves scroller.
39080         (Also added couple of record details items as I was fixing it).
39081
39082         https://bugs.webkit.org/show_bug.cgi?id=35829
39083
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):
39091
39092 2010-03-06  Patrick Gansterer  <paroga@paroga.com>
39093
39094         Reviewed by Eric Seidel.
39095
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
39099
39100         * platform/wince/SystemTimeWince.cpp: Removed.
39101
39102 2010-03-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39103
39104         Reviewed by Eric Seidel.
39105
39106         https://bugs.webkit.org/show_bug.cgi?id=30895
39107         [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
39108
39109         This completes the fixing of the Atk table hierarchy which was started
39110         in bug #35418.
39111
39112         * accessibility/gtk/AccessibilityObjectAtk.cpp:
39113         (AccessibilityObject::accessibilityPlatformIncludesObject):
39114         * accessibility/AccessibilityRenderObject.cpp:
39115         (AccessibilityRenderObject::determineAccessibilityRole):
39116
39117 2010-03-06  MORITA Hajime  <morrita@google.com>
39118
39119         Reviewed by Darin Adler.
39120
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.
39126         
39127         Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
39128         https://bugs.webkit.org/show_bug.cgi?id=35723
39129
39130         No new test. No new functionality.
39131
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.
39137         
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.
39143         
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.
39150
39151 2010-03-06  Yuta Kitamura  <yutak@chromium.org>
39152
39153         Reviewed by Eric Seidel.
39154
39155         Fix decoration position in search input field.
39156
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.
39160
39161         Chromium bug: http://crbug.com/20439
39162
39163         [Chromium] Decoration of "search" input field is wrongly rendered
39164         https://bugs.webkit.org/show_bug.cgi?id=30245
39165
39166         No new tests, since this patch fixes an existing test
39167         (fast/forms/search-transformed.html) in Chromium layout tests.
39168
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.
39177
39178 2010-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
39179
39180         Reviewed by Pavel Feldman.
39181
39182         Web Inspector: in Timeline panel, click followed with mouse move resets popover.
39183
39184         https://bugs.webkit.org/show_bug.cgi?id=35827
39185
39186         * inspector/front-end/Popover.js:
39187         (WebInspector.PopoverHelper.prototype._mouseDown):
39188         (WebInspector.PopoverHelper.prototype._mouseMove):
39189         (WebInspector.PopoverHelper.prototype._handleMouseAction):
39190
39191 2010-03-05  Tony Chang  <tony@chromium.org>
39192
39193         Reviewed by Eric Seidel.
39194
39195         https://bugs.webkit.org/show_bug.cgi?id=33247
39196         Backwards cursor movement incorrect when previous block ends with <br>.
39197
39198         If the cursor is trying to move into a node that has a height of 0,
39199         skip over it.
39200
39201         Test: editing/execCommand/move-selection-back-line.html
39202
39203         * editing/visible_units.cpp:
39204         (WebCore::previousLinePosition):
39205
39206 2010-03-05  Andrey Kosyakov  <caseq@chromium.org>
39207
39208         Reviewed by Eric Seidel.
39209
39210         Enable resource loading callback while loading worker scripts
39211         https://bugs.webkit.org/show_bug.cgi?id=35744
39212
39213         * workers/WorkerScriptLoader.cpp:
39214         (WebCore::WorkerScriptLoader::loadSynchronously):
39215         (WebCore::WorkerScriptLoader::loadAsynchronously):
39216
39217 2010-03-05  Chris Fleizach  <cfleizach@apple.com>
39218
39219         Reviewed by Eric Seidel.
39220
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
39223
39224         Elements should not be ignored if they carry ARIA attributes in them.
39225
39226         Test: platform/mac/accessibility/div-containing-div-with-aria.html
39227
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:
39238
39239 2010-03-05  Dmitry Titov  <dimich@chromium.org>
39240
39241         Reviewed by Oliver Hunt.
39242
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
39245
39246         * manual-tests/clearTimeout-crash-bug29832.html: Added.
39247
39248 2010-03-05  Dmitry Titov  <dimich@chromium.org>
39249
39250         Reviewed by David Levin.
39251
39252         [v8] Remove wrong assert in GC callback
39253         https://bugs.webkit.org/show_bug.cgi?id=35757
39254
39255         Test: fast/workers/wrapper-map-gc.html
39256
39257         * bindings/v8/DOMData.h:
39258         (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread.
39259
39260 2010-03-05  Alex Milowski  <alex@milowski.com>
39261
39262         Reviewed by Kenneth Rohde Christiansen.
39263
39264         Added support for row layout with stretchy operators and
39265         adjusted the over spacing for over and underover accordingly.
39266
39267         Tests: mathml/presentation/mo.xhtml
39268                mathml/presentation/row.xhtml
39269
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:
39281
39282 2010-03-05  Dean Jackson  <dino@apple.com>
39283
39284         Reviewed by Simon Fraser.
39285
39286         https://bugs.webkit.org/show_bug.cgi?id=35772
39287         Animation fill modes should be supported in the shorthand property
39288
39289         Add CSSPropertyWebkitAnimationFillMode to the list of properties
39290         evaluated in the -webkit-animation shorthand.
39291
39292         Test: animations/animation-shorthand.html
39293
39294         * css/CSSParser.cpp:
39295         (WebCore::CSSParser::parseAnimationShorthand):
39296
39297 2010-03-05  Dean Jackson  <dino@apple.com>
39298
39299         Reviewed by Simon Fraser
39300
39301         https://bugs.webkit.org/show_bug.cgi?id=35815
39302         Animation Fill Modes fail on Windows
39303
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
39312
39313 2010-03-05  Csaba Osztrogonác  <ossy@webkit.org>
39314
39315         Unreviewed buildfix after r55593. (To fix Qt --minimal build.)
39316
39317         * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
39318
39319 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
39320
39321         Reviewed by Darin Adler.
39322
39323         ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
39324         https://bugs.webkit.org/show_bug.cgi?id=34065
39325         <rdar://problem/7573509>
39326         
39327         Fix one instance of this assertion (not necessarily the one seen on hulu.com).
39328         
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.
39333
39334         Test: compositing/geometry/object-clip-rects-assertion.html
39335
39336         * rendering/RenderLayer.cpp:
39337         (WebCore::RenderLayer::clippingRoot):
39338
39339 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
39340
39341         Reviewed by Dan Bernstein.
39342
39343         Child clipping compositing layers don't show the blue debug color
39344         https://bugs.webkit.org/show_bug.cgi?id=35807
39345
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.
39348
39349         * rendering/RenderLayerBacking.cpp:
39350         (WebCore::RenderLayerBacking::updateClippingLayers):
39351
39352 2010-03-05  Simon Fraser  <simon.fraser@apple.com>
39353
39354         Reviewed by Dan Bernstein.
39355
39356         MobileMe movie page is missing playback controls
39357         https://bugs.webkit.org/show_bug.cgi?id=35805
39358         <rdar://problem/7653169>
39359         
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
39364         not being visible.
39365         
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.
39370
39371         Test: compositing/overflow/overflow-compositing-descendant.html
39372
39373         * rendering/RenderLayerCompositor.cpp:
39374         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
39375
39376 2010-03-04  Dumitru Daniliuc  <dumi@chromium.org>
39377
39378         Reviewed by Adam Barth.
39379
39380         Adding support for the optional creation callback that could be
39381         passed to openDatabase().
39382
39383         Test: storage/open-database-creation-callback.html
39384
39385         https://bugs.webkit.org/show_bug.cgi?id=34726
39386
39387         * Android.jscbindings.mk
39388         * Android.v8bindings.mk
39389         * GNUmakefile.am:
39390         * WebCore.gypi:
39391         * WebCore.pro:
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:
39429
39430 2010-03-05  Chris Marrin  <cmarrin@apple.com>
39431
39432         Reviewed by Simon Fraser.
39433
39434         Fixed infinite recursion of composited video on Windows
39435         https://bugs.webkit.org/show_bug.cgi?id=35798
39436         
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.
39443         
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.
39448         
39449         I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF
39450         now makes a WebLayer subclass which implements the drawInContext()
39451         virtual method.
39452         
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.
39456
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:
39489
39490 2010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
39491
39492         Reviewed by David Levin.
39493
39494         [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible.
39495         https://bugs.webkit.org/show_bug.cgi?id=35797
39496
39497         No new tests, this is a latent compile break.
39498
39499         * WebCore.gypi:
39500
39501 2010-03-04  Eric Carlson  <eric.carlson@apple.com>
39502
39503         Reviewed by Adele Peterson.
39504
39505         <rdar://problem/7718442> Implement 'preload=none'
39506         https://bugs.webkit.org/show_bug.cgi?id=35789
39507
39508         Don't load any media data when preload is 'none'.
39509
39510         Test: media/video-preload.html
39511
39512         * html/HTMLMediaElement.cpp:
39513         (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method
39514             when autoplay is set.
39515
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.
39519
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
39527             has called play().
39528         (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload.
39529
39530 2010-03-04  Nate Chapin  <japhet@chromium.org>
39531
39532         Reviewed by Dimitri Glazkov.
39533
39534         [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning.
39535
39536         https://bugs.webkit.org/show_bug.cgi?id=35697
39537
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):
39542
39543 2010-03-05  Pavel Feldman  <pfeldman@chromium.org>
39544
39545         Not reviewed. Roll back r55522 since it regreses performance
39546         according to chromium's page cycler.
39547
39548         https://bugs.webkit.org/show_bug.cgi?id=35568
39549
39550 2010-03-05  Dean Jackson  <dino@apple.com>
39551
39552         Reviewed by Simon Fraser and Chris Marrin.
39553
39554         Bug 26869: Add fill modes for CSS Animations
39555         https://bugs.webkit.org/show_bug.cgi?id=26869
39556
39557         Tests: animations/fill-mode-removed.html
39558                animations/fill-mode-transform.html
39559                animations/fill-mode.html
39560
39561         * css/CSSComputedStyleDeclaration.cpp:
39562         * css/CSSParser.cpp:
39563         * css/CSSParser.h:
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
39575               old style.
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
39594
39595 2010-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
39596
39597         Reviewed by Pavel Feldman.
39598
39599         Web Inspector: Do not show link helper in popovers and/or for external resources.
39600
39601         https://bugs.webkit.org/show_bug.cgi?id=35785
39602
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):
39615
39616 2010-03-05  Fumitoshi Ukai  <ukai@chromium.org>
39617
39618         Reviewed by Alexey Proskuryakov.
39619
39620         WebSocket onmessageerror event handler
39621         https://bugs.webkit.org/show_bug.cgi?id=35570
39622
39623         Test: websocket/tests/error-detect.html
39624
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):
39636
39637 2010-03-04  Garret Kelly  <gdk@chromium.org>
39638
39639         Reviewed by Darin Fisher.
39640
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
39646
39647         * platform/PlatformTouchEvent.h:
39648         (WebCore::PlatformTouchEvent::~PlatformTouchEvent):
39649         * platform/PlatformTouchPoint.h:
39650         (WebCore::PlatformTouchPoint::~PlatformTouchPoint):
39651
39652 2010-03-04  Fumitoshi Ukai  <ukai@chromium.org>
39653
39654         Reviewed by Alexey Proskuryakov.
39655
39656         WebSocket crash bug when reloading the page while the WebSocket is busy
39657         https://bugs.webkit.org/show_bug.cgi?id=35732
39658
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:
39667
39668 2010-03-04  MORITA Hajime <morrita@google.com>
39669
39670         Reviewed by Alexey Proskuryakov.
39671
39672         Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
39673         https://bugs.webkit.org/show_bug.cgi?id=35630
39674
39675         Test: http/tests/xmlhttprequest/open-async-overload.html
39676
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:
39684
39685 2010-03-04  James Robinson  <jamesr@google.com>
39686
39687         Reviewed by Eric Seidel.
39688
39689         Styles do not have to be synchronously rematched after every event dispatch
39690
39691         https://bugs.webkit.org/show_bug.cgi?id=32580
39692
39693         * bindings/js/JSEventListener.cpp:
39694         (WebCore::JSEventListener::handleEvent):
39695         * bindings/v8/V8AbstractEventListener.cpp:
39696         (WebCore::V8AbstractEventListener::handleEvent):
39697
39698 2010-03-04  Luiz Agostini  <luiz.agostini@openbossa.org>
39699
39700         Reviewed by Kenneth Rohde Christiansen.
39701
39702         maemo spelled as mameo in WebCore.pro
39703         https://bugs.webkit.org/show_bug.cgi?id=35765
39704
39705         Spelling corrected.
39706
39707         * WebCore.pro:
39708
39709 2010-03-04  Tony Chang  <tony@chromium.org>
39710
39711         Reviewed by Eric Seidel.
39712
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.
39717
39718         Test: editing/input/option-page-up-down.html
39719
39720         * editing/EditorCommand.cpp:
39721         (WebCore::verticalScrollDistance):
39722
39723 2010-03-03  Oliver Hunt  <oliver@apple.com>
39724
39725         Reviewed by Gavin Barraclough.
39726
39727         Allow static property getters to interact with JSCs caching
39728         https://bugs.webkit.org/show_bug.cgi?id=35716
39729
39730         Update the obviously safe getters to allow caching
39731
39732         Test: fast/js/pic/cached-named-property-getter.html
39733
39734         * bridge/runtime_array.cpp:
39735         (JSC::RuntimeArray::getOwnPropertySlot):
39736         * bridge/runtime_method.cpp:
39737         (JSC::RuntimeMethod::getOwnPropertySlot):
39738
39739 2010-03-04  Mark Rowe  <mrowe@apple.com>
39740
39741         Reviewed by Sam Weinig.
39742
39743         <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
39744
39745         * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h
39746         in to the framework wrapper.
39747
39748 2010-03-04  James Robinson  <jamesr@chromium.org>
39749
39750         Reviewed by Dimitri Glazkov.
39751
39752         Handles setting HTMLSelectElement.length with mutation handlers present
39753         https://bugs.webkit.org/show_bug.cgi?id=33983
39754
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.
39758
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
39765
39766         * html/HTMLSelectElement.cpp:
39767         (WebCore::HTMLSelectElement::setLength):
39768
39769 2010-03-04  Csaba Osztrogonác  <ossy@webkit.org>
39770
39771         [Qt] Unreviewed buildfix after r55542 on Windows.
39772
39773         * WebCore.pro:
39774          - plugins/win/PluginDatabaseWin.cpp removed.
39775          - platform/win/WebCoreInstanceHandle.cpp added.
39776
39777         * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
39778
39779 2010-03-04  Nate Chapin  <japhet@chromium.org>
39780
39781         Reviewed by Kenneth Rohde Christiansen.
39782
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.
39786
39787         https://bugs.webkit.org/show_bug.cgi?id=35547
39788
39789         Test: fast/loader/repeat-same-document-navigation.html
39790
39791         * loader/FrameLoader.cpp:
39792         (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed.
39793
39794 2010-03-04  Simon Fraser  <simon.fraser@apple.com>
39795
39796         Build fix.
39797         
39798         const long long cMaxDistance = numeric_limits<long long>::max() created global
39799         initializers at the call sites, so replace with an inline function.
39800
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):
39808
39809 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39810
39811         Unreviewed attempt to fix Windows build.
39812
39813         * page/SpatialNavigation.cpp:
39814         (WebCore::spatialDistance):
39815
39816 2010-03-04  Simon Fraser  <simon.fraser@apple.com>
39817
39818         Build fix.
39819
39820         Delcare updateFocusCandidateIfCloser static to avoid warning.
39821
39822         * page/FocusController.cpp:
39823         (WebCore::updateFocusCandidateIfCloser):
39824
39825 2010-03-04  Darin Fisher  <darin@chromium.org>
39826
39827         Reviewed by Dmitry Titov.
39828
39829         [chromium] make history.{push,replace}State enabled at runtime
39830         https://bugs.webkit.org/show_bug.cgi?id=35753
39831
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:
39838
39839 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39840
39841         Unreviewed attempt to (again) fix Mac build.
39842
39843         * page/SpatialNavigation.cpp:
39844         (WebCore::spatialDistance):
39845
39846 2010-03-04  Dan Bernstein  <mitz@apple.com>
39847
39848         Based on a patch from Nick Jong.
39849
39850         Reviewed by Simon Fraser.
39851
39852         Improve selection in multi-column blocks when hitting points above or
39853         below a column rect.
39854
39855         Test: fast/multicol/hit-test-above-or-below.html
39856
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).
39861
39862 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39863
39864         Reviewed by Simon Fraser.
39865
39866         Attempt to fix Mac build.
39867
39868         * page/SpatialNavigation.cpp:
39869
39870 2010-03-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
39871
39872         Add SpatialNavigation header and cpp to Mac XCode project file.
39873
39874         Reviewed by Kenneth Christiansen.
39875
39876         * WebCore.xcodeproj/project.pbxproj:
39877
39878 2010-03-02  Antonio Gomes  <tonikitoo@webkit.org>
39879
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>
39883
39884         Extend keyboard navigation to allow directional navigation
39885         https://bugs.webkit.org/show_bug.cgi?id=18662
39886
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.
39892
39893         Highlights:
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
39898           performed.
39899
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)
39903           is be added.
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.
39908
39909         [1] http://en.wikipedia.org/wiki/Spatial_navigation
39910
39911         * Android.mk:
39912         * GNUmakefile.am:
39913         * WebCore.gypi:
39914         * WebCore.pro:
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:
39930         (WebCore::):
39931         * page/Settings.cpp:
39932         (WebCore::Settings::Settings):
39933         (WebCore::Settings::setSpatialNavigationEnabled):
39934         * page/Settings.h:
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.
39950         (WebCore::):
39951         (WebCore::FocusCandidate::FocusCandidate):
39952
39953 2010-03-04  Beth Dakin  <bdakin@apple.com>
39954
39955         Reviewed by Anders Carlsson.
39956
39957         This fixes the layering violation I committed yesterday by moving 
39958         Page::instanceHandle into its own file just in the WebCore 
39959         namespace.
39960
39961         Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
39962         * WebCore.vcproj/WebCore.vcproj:
39963         * page/win/PageWin.cpp: Removed.
39964
39965         Remove all instance handle code from Page.
39966         * page/Page.h:
39967
39968         New files.
39969         * platform/win/WebCoreInstanceHandle.cpp: Added.
39970         * platform/win/WebCoreInstanceHandle.h: Added.
39971         (WebCore::setInstanceHandle):
39972         (WebCore::instanceHandle):
39973
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):
39988
39989 2010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39990
39991         Unreviewed build fix.
39992         Patch by Antonio Gomes <tonikitoo@webkit.org>
39993
39994         'glib_file_name' renamed to 'gligFileName'.
39995
39996         * platform/graphics/gtk/ImageGtk.cpp:
39997         (WebCore::Image::loadPlatformResource):
39998
39999 2010-03-04  Pavel Feldman  <pfeldman@chromium.org>
40000
40001         Reviewed by Timothy Hatcher.
40002
40003         Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend.
40004
40005         https://bugs.webkit.org/show_bug.cgi?id=35720
40006
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):
40045
40046 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
40047
40048         Reviewed by Timothy Hatcher.
40049
40050         Web Inspector: Clicking on an error should take me to the error
40051
40052         https://bugs.webkit.org/show_bug.cgi?id=34860
40053
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):
40060
40061 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
40062
40063         Reviewed by Timothy Hatcher.
40064
40065         Web Inspector: Remove sync access to resourceTrackingEnabled.
40066
40067         https://bugs.webkit.org/show_bug.cgi?id=35693
40068
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):
40095
40096 2010-03-04  Antoine Quint  <ml@graougraou.com>
40097
40098         Reviewed by Darin Adler.
40099
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
40102
40103         Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html
40104
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
40109         tree.
40110
40111         * dom/ContainerNode.cpp:
40112         (WebCore::ContainerNode::insertBefore):
40113         (WebCore::ContainerNode::replaceChild):
40114         (WebCore::ContainerNode::appendChild):
40115         (WebCore::notifyChildInserted):
40116         (WebCore::dispatchChildInsertionEvents):
40117
40118 2010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
40119
40120         Reviewed by Holger Freyther.
40121
40122         Make paths relocatable on runtime on Windows
40123         https://bugs.webkit.org/show_bug.cgi?id=32711
40124
40125         * platform/graphics/gtk/ImageGtk.cpp:
40126         (get_webkit_datadir):
40127         (WebCore::Image::loadPlatformResource):
40128
40129 2010-03-04  Pavel Feldman  <pfeldman@chromium.org>
40130
40131         Reviewed by Timothy Hatcher.
40132
40133         Web Inspector: Popup for Timeline panel will work in a tooltip mode
40134
40135         https://bugs.webkit.org/show_bug.cgi?id=35680
40136
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:
40173
40174 2010-03-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40175
40176         Unreviewed build fix.
40177
40178         Build fix after r55464.
40179
40180         No new tests, no new functionality.
40181
40182         * inspector/InspectorController.cpp:
40183         (WebCore::InspectorController::populateScriptObjects):
40184
40185 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
40186
40187         Reviewed by Kenneth Rohde Christiansen.
40188
40189         Add EFL port files to platform/graphics/efl.
40190         http://webkit.org/b/35539
40191
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.
40198
40199 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
40200
40201         Reviewed by Kenneth Rohde Christiansen.
40202
40203         Add EFL port files to platform/text/efl.
40204         http://webkit.org/b/35740
40205
40206         * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added.
40207
40208 2010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
40209
40210         Reviewed by Holger Freyther.
40211
40212         https://bugs.webkit.org/show_bug.cgi?id=35726
40213         Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID
40214
40215         Removing orphaned #if USE.
40216
40217         * platform/ThreadGlobalData.h:
40218
40219 2010-03-03  Jeremy Orlow  <jorlow@chromium.org>
40220
40221         Reviewed by Darin Fisher.
40222
40223         Throttle sync requests sent to the LocalStorage background thread
40224         https://bugs.webkit.org/show_bug.cgi?id=34943
40225
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.
40232
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.
40240
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.
40244
40245         * storage/StorageAreaSync.cpp:
40246         (WebCore::StorageAreaSync::StorageAreaSync):
40247         (WebCore::StorageAreaSync::scheduleFinalSync):
40248         (WebCore::StorageAreaSync::syncTimerFired):
40249         (WebCore::StorageAreaSync::performSync):
40250         * storage/StorageAreaSync.h:
40251
40252 2010-03-04  Andrey Kosyakov  <caseq@chromium.org>
40253
40254         Reviewed by Pavel Feldman.
40255
40256         Added support for worker instrumentation in inspector
40257         (display list of active workers, allow debugging of workers
40258         by injecting fake JS implementation)
40259
40260         https://bugs.webkit.org/show_bug.cgi?id=35568
40261
40262         * English.lproj/localizedStrings.js:
40263         * WebCore.gypi:
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):
40273         * dom/Document.h:
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):
40341
40342 2010-03-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
40343
40344         Reviewed by Tor Arne Vestbø.
40345
40346         [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
40347
40348         This also allows shadow builds relying only on qmake to work properly.
40349
40350         * WebCore.pro:
40351
40352 2010-03-02  Holger Hans Peter Freyther  <zecke@selfish.org>
40353
40354         Reviewed by Simon Hausmann.
40355
40356         [Qt] Avoid calling QFont::detach too often from FontQt
40357         https://bugs.webkit.org/show_bug.cgi?id=35569
40358
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...
40365
40366         Avoid calling setLetterSpacing and setWordSpacing on QFont if
40367         the WebCore::Font has the default applied.
40368
40369         * platform/graphics/qt/FontQt.cpp:
40370         (WebCore::Font::font):
40371
40372 2010-03-04  Alexander Pavlov  <apavlov@chromium.org>
40373
40374         Reviewed by Pavel Feldman.
40375
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
40378
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):
40392
40393 2010-03-04  Vangelis Kokkevis  <vangelis@chromium.org>
40394
40395         Reviewed by Oliver Hunt.
40396
40397         getUniformLocation() now returns null if uniform requested 
40398         is not found.
40399         https://bugs.webkit.org/show_bug.cgi?id=34669
40400         
40401         Test:LayoutTests/fast/canvas/webgl/uniform-location.html
40402         (added missing test)
40403
40404         * html/canvas/WebGLRenderingContext.cpp:
40405         (WebCore::WebGLRenderingContext::getUniformLocation):
40406
40407 2010-03-04  John Abd-El-Malek  <jam@chromium.org>
40408
40409         Reviewed by Adam Barth.
40410
40411         Fix incorrect setup of DateExtension.
40412         https://bugs.webkit.org/show_bug.cgi?id=35710
40413
40414         * bindings/v8/DateExtension.cpp:
40415         (WebCore::DateExtension::setAllowSleep):
40416
40417 2010-03-04  Oliver Hunt  <oliver@apple.com>
40418
40419         Reviewed by Maciej Stachowiak.
40420
40421         https://bugs.webkit.org/show_bug.cgi?id=35603
40422         SVG incorrectly allows nested <use> elements in a <use> shadow tree
40423
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.
40428
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
40434
40435         * svg/SVGUseElement.cpp:
40436         (WebCore::SVGUseElement::buildPendingResource):
40437         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
40438         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
40439
40440 2010-03-04  Leandro Pereira  <leandro@profusion.mobi>
40441
40442         Reviewed by Gustavo Noronha Silva.
40443
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
40447
40448         * GNUmakefile.am:
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.
40463
40464 2010-03-04  Evan Stade  <estade@chromium.org>
40465
40466         Reviewed by David Levin.
40467
40468         https://bugs.webkit.org/show_bug.cgi?id=35261
40469         [skia] crash when attempting to render certain SVGs
40470
40471         This fixes the crash, but the SVG still doesn't render properly.
40472
40473         Test: svg/custom/tiling-regular-hexagonal-crash.svg
40474
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.
40479
40480 2010-03-04  Tony Chang  <tony@chromium.org>
40481
40482         Reviewed by Darin Fisher.
40483
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
40488
40489         * platform/network/chromium/ResourceResponse.h:
40490         (WebCore::ResourceResponse::ResourceResponse):
40491
40492 2010-03-03  Yuta Kitamura  <yutak@chromium.org>
40493
40494         Reviewed by Alexey Proskuryakov.
40495
40496         Add a new class that stores information about Web Socket handshake request.
40497
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.
40501
40502         WebSocketHandshake needs to provide request information
40503         https://bugs.webkit.org/show_bug.cgi?id=34784
40504
40505         No new tests, since the current tests will suffice (LayoutTests/websocket/*).
40506
40507         * GNUmakefile.am:
40508         * WebCore.gypi:
40509         * WebCore.pro:
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.
40524
40525 2010-03-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40526
40527         Reviewed by Kenneth Rohde Christiansen.
40528
40529         Build fix after r55452.
40530
40531         No new tests, this is a build fix.
40532
40533         * page/Settings.cpp:
40534         (WebCore::Settings::setDatabasesEnabled):
40535
40536 2010-03-03  Diego Gonzalez  <diego.gonzalez@openbossa.org>
40537
40538         Reviewed by Kenneth Rohde Christiansen.
40539
40540         Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
40541
40542         LayoutTests:
40543             fast/events/key-events-in-input-text.html
40544             fast/events/special-key-events-in-input-text.html
40545
40546         [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
40547         https://bugs.webkit.org/show_bug.cgi?id=35694
40548
40549         * platform/qt/PlatformKeyboardEventQt.cpp:
40550         (WebCore::keyIdentifierForQtKeyCode):
40551
40552 2010-03-03  Chad Faragher  <wyck@chromium.org>
40553
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.
40558
40559         https://bugs.webkit.org/show_bug.cgi?id=35690
40560
40561         Test: fast/events/zoom-dblclick.html
40562
40563         * dom/Node.cpp:
40564         (WebCore::Node::dispatchMouseEvent):
40565
40566 2010-03-03  David Levin  <levin@chromium.org>
40567
40568         No review, rolling out r55474.
40569
40570         The patch broke fast/frames/sandboxed-iframe-storage.html
40571
40572         Last one (I hope).
40573         
40574         * WebCore.xcodeproj/project.pbxproj:
40575
40576 2010-03-03  David Levin  <levin@chromium.org>
40577
40578         No review, rolling out r55474.
40579
40580         The patch broke fast/frames/sandboxed-iframe-storage.html
40581
40582         Unfortunately, (the webkit-patch rollout and) I missed these in r55485.
40583
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.
40589
40590 2010-03-02  Dumitru Daniliuc  <dumi@chromium.org>
40591
40592         Reviewed by Dimitri Glazkov.
40593
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.
40597
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
40607         that task.
40608
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.
40614
40615         https://bugs.webkit.org/show_bug.cgi?id=35624
40616
40617         * storage/SQLTransaction.cpp:
40618         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
40619
40620 2010-03-03  Darin Fisher  <darin@chromium.org>
40621
40622         Reviewed by Mark Rowe.
40623
40624         Page should not care about Chromium plug-in implementation details
40625         https://bugs.webkit.org/show_bug.cgi?id=35623
40626
40627         * WebCore.gypi: Compile PluginViewNone.cpp
40628         * page/Page.cpp:
40629         (WebCore::Page::privateBrowsingStateChanged): Remove conditional
40630         compilation for PLATFORM(CHROMIUM).
40631
40632 2010-03-03  David Levin  <levin@chromium.org>
40633
40634         No review, rolling out r55474.
40635         http://trac.webkit.org/changeset/55480
40636
40637         The patch broke fast/frames/sandboxed-iframe-storage.html
40638
40639         * Android.jscbindings.mk:
40640         * Android.v8bindings.mk:
40641         * GNUmakefile.am:
40642         * WebCore.gypi:
40643         * WebCore.pro:
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:
40661
40662 2010-03-03  David Levin  <levin@chromium.org>
40663
40664         No review, rolling out r55480.
40665         http://trac.webkit.org/changeset/55480
40666
40667         The patch broke fast/frames/sandboxed-iframe-storage.html
40668
40669         * storage/Database.cpp:
40670         * storage/Database.h:
40671
40672 2010-03-03  Mark Rowe  <mrowe@apple.com>
40673
40674         Reviewed by Geoff Garen.
40675
40676         Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
40677
40678         * platform/mac/PurgeableBufferMac.cpp:
40679         (WebCore::PurgeableBuffer::create):  Use the VM tag.
40680
40681 2010-03-03  Dumitru Daniliuc  <dumi@chromium.org>
40682
40683         Reviewed by nobody, build fix.
40684
40685         Move #include "DatabaseCallback.h" from Database.h to
40686         Database.cpp.
40687
40688         * storage/Database.cpp:
40689         * storage/Database.h:
40690
40691 2010-03-03  Darin Adler  <darin@apple.com>
40692
40693         Fixed Mac build.
40694
40695         * WebCore.xcodeproj/project.pbxproj: Marked a couple of headers "private" so they can
40696         be used in the WebKit project.
40697
40698 2010-03-03  Alexey Proskuryakov  <ap@apple.com>
40699
40700         Reviewed by Adele Peterson.
40701
40702         https://bugs.webkit.org/show_bug.cgi?id=35044
40703         Crash in XML tokenizer reloading zoom-coords-viewattr-01-b.svg
40704
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.
40708
40709         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::end): Be prepared that parsing remaining
40710         input will pause parsing.
40711
40712 2010-03-03  Dumitru Daniliuc  <dumi@chromium.org>
40713
40714         Reviewed by Adam Barth.
40715
40716         Adding support for the optional creation callback that could be
40717         passed to openDatabase().
40718
40719         Test: storage/open-database-creation-callback.html
40720
40721         https://bugs.webkit.org/show_bug.cgi?id=34726
40722
40723         * Android.jscbindings.mk
40724         * Android.v8bindings.mk
40725         * GNUmakefile.am:
40726         * WebCore.gypi:
40727         * WebCore.pro:
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:
40765
40766 2010-03-03  Alexander Pavlov  <apavlov@chromium.org>
40767
40768         Reviewed by Pavel Feldman.
40769
40770         Web Inspector: resources panel only shows uncompressed resource size.
40771         https://bugs.webkit.org/show_bug.cgi?id=35403
40772
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):
40802
40803 2010-03-03  Dan Bernstein  <mitz@apple.com>
40804
40805         Build fix.
40806
40807         * dom/ContainerNode.cpp:
40808         (WebCore::ContainerNode::removeChildren):
40809
40810 2010-03-03  Pavel Feldman  <pfeldman@chromium.org>
40811
40812         Reviewed by Timothy Hatcher.
40813
40814         Web Inspector: Get rid of synchronous debuggerEnabled, profilerEnabled calls.
40815
40816         https://bugs.webkit.org/show_bug.cgi?id=32331
40817
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):
40841
40842 2010-03-03  Eric Carlson  <eric.carlson@apple.com>
40843
40844         Reviewed by Adele Peterson.
40845
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
40849
40850         Tests: media/audio-constructor-preload.html
40851                media/video-dom-preload.html
40852
40853         * html/HTMLAttributeNames.in: Remove autobuffer, add preload
40854
40855         * html/HTMLAudioElement.cpp:
40856         (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of 
40857             autobuffer to true.
40858
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:
40868
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):
40878
40879         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
40880         (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload.
40881         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
40882
40883 2010-03-03  Dan Bernstein  <mitz@apple.com>
40884
40885         Reviewed by Sam Weinig.
40886
40887         <rdar://problem/7682756> Assertion failure when replacing the contents of a <select>
40888
40889         Test: fast/dom/remove-children-notification-order.html
40890
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
40897         removeChild().
40898
40899 2010-03-03  Adam Barth  <abarth@webkit.org>
40900
40901         Reviewed by Darin Adler.
40902
40903         Document cookieURL and firstPartyForCookies
40904         https://bugs.webkit.org/show_bug.cgi?id=35613
40905
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.
40909
40910         * dom/Document.h:
40911
40912 2010-03-03  Arno Renevier  <arno@renevier.net>
40913
40914         Reviewed by Gustavo Noronha Silva.
40915
40916         [Gtk]: assertion triggered when geolocation getCurrentPosition without an option argument.
40917         https://bugs.webkit.org/show_bug.cgi?id=35666
40918
40919         * platform/gtk/GeolocationServiceGtk.cpp:
40920         (WebCore::GeolocationServiceGtk::startUpdating):
40921
40922 2010-03-03  Fridrich Strba  <fridrich.strba@bluewin.ch>
40923
40924         Reviewed by Xan Lopez.
40925
40926         Miscellaneous little fixes for the windows build of webkit-gtk
40927         https://bugs.webkit.org/show_bug.cgi?id=35640
40928
40929         * GNUmakefile.am: dist two new files concerning mathml support.
40930
40931 2010-03-03  Xan Lopez  <xlopez@igalia.com>
40932
40933         Unreviewed distcheck fix.
40934
40935         Add new file to the build.
40936
40937         * GNUmakefile.am:
40938
40939 2010-03-03  Antti Koivisto  <koivisto@iki.fi>
40940
40941         Reviewed by Oliver Hunt.
40942
40943         Make IntPoint usable as a hash key
40944         
40945         https://bugs.webkit.org/show_bug.cgi?id=35586
40946
40947         * WebCore.pro:
40948         * WebCore.xcodeproj/project.pbxproj:
40949         * platform/graphics/IntPointHash.h: Added.
40950         (WTF::IntPointHash::hash):
40951         (WTF::IntPointHash::equal):
40952         (WTF::):
40953
40954 2010-03-02  Eric Uhrhane  <ericu@chromium.org>
40955
40956         Reviewed by David Levin.
40957
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.
40967
40968         No new tests; tested by existing storage tests.
40969
40970         https://bugs.webkit.org/show_bug.cgi?id=35310
40971
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):
40978
40979 2010-03-02  Tony Chang  <tony@chromium.org>
40980
40981         Reviewed by Darin Fisher.
40982
40983         add a flag to WebURLResponse so we can identify multipart content
40984         https://bugs.webkit.org/show_bug.cgi?id=35628
40985
40986         * platform/network/chromium/ResourceResponse.h:
40987         (WebCore::ResourceResponse::ResourceResponse):
40988         (WebCore::ResourceResponse::isMultipartPayload):
40989         (WebCore::ResourceResponse::setIsMultipartPayload):
40990
40991 2010-03-02  Tony Chang  <tony@chromium.org>
40992
40993         Not reviewed, test fix.
40994
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
40998
40999         * platform/graphics/skia/ImageSkia.cpp:
41000         (WebCore::BitmapImageSingleFrameSkia::create):
41001
41002 2010-03-02  Adam Barth  <abarth@webkit.org>
41003
41004         Reviewed by Darin Fisher.
41005
41006         Google Analytics triggers "blocked plugin" UI
41007         https://bugs.webkit.org/show_bug.cgi?id=35565
41008
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.
41014
41015         * dom/DOMImplementation.cpp:
41016         (WebCore::DOMImplementation::createDocument):
41017         * loader/FrameLoader.cpp:
41018         (WebCore::FrameLoader::requestObject):
41019         (WebCore::FrameLoader::allowPlugins):
41020         * loader/FrameLoader.h:
41021         (WebCore::):
41022         * loader/FrameLoaderClient.h:
41023         (WebCore::FrameLoaderClient::didNotAllowPlugins):
41024         * loader/MainResourceLoader.cpp:
41025         (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
41026         * loader/PluginDocument.cpp:
41027         (WebCore::PluginTokenizer::writeRawData):
41028         * page/Page.cpp:
41029         (WebCore::Page::pluginData):
41030         * plugins/MimeType.cpp:
41031         (WebCore::MimeType::enabledPlugin):
41032
41033 2010-03-02  Andreas Kling  <andreas.kling@nokia.com>
41034
41035         Reviewed by Simon Hausmann.
41036
41037         [Qt] Support the HTTP OPTIONS verb (needed for preflight requests)
41038
41039         https://bugs.webkit.org/show_bug.cgi?id=34647
41040
41041         * platform/network/qt/QNetworkReplyHandler.cpp:
41042         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41043         (WebCore::QNetworkReplyHandler::start):
41044
41045 2010-03-02  Evan Stade  <estade@chromium.org>
41046
41047         Reviewed by David Levin.
41048
41049         https://bugs.webkit.org/show_bug.cgi?id=35261
41050         [skia] crash when attempting to render certain SVGs
41051
41052         This fixes the crash, but the SVG still doesn't render properly.
41053
41054         Test: svg/custom/tiling-regular-hexagonal-crash.svg
41055
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.
41060
41061 2010-03-02  Arno Renevier  <arno@renevier.net>
41062
41063         Reviewed by Gustavo Noronha Silva.
41064
41065         [Gtk] use geoclue providers with don't provide update
41066         https://bugs.webkit.org/show_bug.cgi?id=35191
41067
41068         No new tests, behaviour depends on system.
41069
41070         * platform/gtk/GeolocationServiceGtk.cpp:
41071         (WebCore::GeolocationServiceGtk::startUpdating):
41072
41073 2010-03-02  John Abd-El-Malek  <jam@chromium.org>
41074
41075         Reviewed by Darin Adler.
41076
41077         Remove unnecessary check.
41078         https://bugs.webkit.org/show_bug.cgi?id=35513
41079
41080         * platform/ScrollView.cpp:
41081         (WebCore::ScrollView::updateScrollbars):
41082
41083 2010-03-02  Darin Fisher  <darin@chromium.org>
41084
41085         Fix chromium build bustage.
41086
41087         * page/Page.cpp:
41088         (WebCore::Page::privateBrowsingStateChanged): PluginView methods may
41089         not be called in the Chromium port.
41090
41091 2010-03-02  Beth Dakin  <bdakin@apple.com>
41092
41093         Reviewed by Darin Adler and Adam Roben.
41094
41095         Fix for <rdar://problem/7485289> WebKit crashes on systems that 
41096         don't support CoreAnimation
41097
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.
41103
41104         setHostWindow() and createRenderer() now both return bools that 
41105         indicate whether or not they have succeeded.
41106
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):
41115
41116 2010-03-02  Mark Rowe  <mrowe@apple.com>
41117
41118         Rubber-stamped by Jon Honeycutt.
41119
41120         ScriptDebugServer shouldn't care that Mac does not use PluginView for plug-ins.
41121
41122         * bindings/js/ScriptDebugServer.cpp:
41123         * plugins/PluginViewNone.cpp:
41124         (WebCore::PluginView::setJavaScriptPaused): Add an empty implementation of setJavaScriptPaused.
41125
41126 2010-03-02  Mark Rowe  <mrowe@apple.com>
41127
41128         Rubber-stamped by Jon Honeycutt.
41129
41130         Clean up the build fix r55437 by adding an empty implementation of privateBrowsingStateChanged in PluginViewNone.cpp
41131
41132         * page/Page.cpp:
41133         * plugins/PluginViewNone.cpp:
41134         (WebCore::PluginView::privateBrowsingStateChanged):
41135
41136 2010-03-02  Mark Rowe  <mrowe@apple.com>
41137
41138         Fix the Mac build.
41139
41140         * page/Page.cpp:
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.
41143
41144 2010-03-02  Andy Estes  <aestes@apple.com>
41145
41146         Reviewed by Maciej Stachowiak.
41147
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.
41151
41152         https://bugs.webkit.org/show_bug.cgi?id=35566
41153
41154         Test: fast/events/wheelevent-in-scrolling-div.html
41155
41156         * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for
41157         wheel events originating both from the platform and from
41158         JavaScript/ObjC.
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
41165         IE compatibility.
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.
41188
41189 2010-03-02  Mark Rowe  <mrowe@apple.com>
41190
41191         Reviewed by Darin Adler.
41192
41193         Bug 35576: WebKit should tell plug-in instances when private browsing state changes
41194         <http://webkit.org/b/35576>
41195
41196         Notify plug-in instances when the private browsing state changes to match the behavior of the
41197         Mac plug-in code.
41198
41199         * page/Page.cpp:
41200         (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that
41201         the private browsing state has changed.
41202         * page/Page.h:
41203         * page/Settings.cpp:
41204         (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state
41205         has changed.
41206         * plugins/PluginView.cpp:
41207         (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private
41208         browsing state.
41209         * plugins/PluginView.h:
41210
41211 2010-03-02  Mark Rowe  <mrowe@apple.com>
41212
41213         Reviewed by Oliver Hunt.
41214
41215         Bug 30348: Implement private mode for plug-ins on Windows
41216         <http://webkit.org/b/30348> / <rdar://problem/7562261>
41217
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.
41222
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):
41254
41255 2010-03-02  Anders Carlsson  <andersca@apple.com>
41256
41257         Reviewed by Sam Weinig.
41258
41259         Make the default constructor available to all platforms.
41260
41261         * platform/PlatformKeyboardEvent.h:
41262         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
41263         * platform/mac/KeyEventMac.mm:
41264
41265 2010-03-02  Jeremy Orlow  <jorlow@chromium.org>
41266
41267         Reviewed by David Levin.
41268
41269         Revert database thread changes that are no longer required
41270         https://bugs.webkit.org/show_bug.cgi?id=35519
41271
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.
41276
41277         * storage/DatabaseThread.cpp:
41278         (WebCore::DatabaseThread::DatabaseThread):
41279         (WebCore::DatabaseThread::databaseThread):
41280         * storage/DatabaseThread.h:
41281         (WebCore::DatabaseThread::getThreadID):
41282
41283 2010-03-02  Brady Eidson  <beidson@apple.com>
41284
41285         Reviewed by Sam Weinig.
41286
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
41289
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().
41293
41294 2010-03-02  Chris Fleizach  <cfleizach@apple.com>
41295
41296         Reviewed by Beth Dakin.
41297
41298         aria-label isn't respected on option elements
41299         https://bugs.webkit.org/show_bug.cgi?id=35400
41300
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.
41305
41306         Test: platform/mac/accessibility/option-with-arialabel.html
41307
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):
41324
41325 2010-03-02  Mads Ager  <ager@chromium.org>
41326
41327         Reviewed by Adam Barth.
41328
41329         [V8] V8 should be notified of context disposals
41330         https://bugs.webkit.org/show_bug.cgi?id=35526
41331
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.
41337
41338         * WebCore.gypi:
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):
41350
41351 2010-03-02  Pavel Feldman  <pfeldman@chromium.org>
41352
41353         Not reviewed: adding missing image files to WebKit.qrc and gypi.
41354
41355         * WebCore.gypi:
41356         * inspector/front-end/WebKit.qrc:
41357
41358 2010-03-02  Kim Grönholm  <kim.gronholm@nomovok.com>
41359
41360         Reviewed by Simon Hausmann.
41361
41362         [Qt] GraphicsLayer: Video element with 3d transform crashes when AC is enabled.
41363         https://bugs.webkit.org/show_bug.cgi?id=35516
41364
41365         No new tests.
41366
41367         * platform/graphics/qt/GraphicsLayerQt.cpp:
41368         (WebCore::GraphicsLayerQt::setContentsToMedia):
41369
41370 2010-03-02  Fridrich Strba  <fridrich.strba@bluewin.ch>
41371
41372         Reviewed by Xan Lopez.
41373
41374         Use unsigned instead of uint which does not exist on windows
41375         https://bugs.webkit.org/show_bug.cgi?id=35546
41376
41377         * platform/graphics/gtk/ImageGtk.cpp:
41378         (WebCore::getCairoSurfacePixel):
41379         (WebCore::getGdkPixbufPixel):
41380
41381 2010-03-02  Kenneth Russell  <kbr@google.com>
41382
41383         Reviewed by Darin Fisher.
41384
41385         Add EnabledAtRuntime attribute to WebGLArray constructors
41386         https://bugs.webkit.org/show_bug.cgi?id=35558
41387
41388         New functionality verified manually in Chromium; not possible to
41389         write layout test. Ran WebGL tests in WebKit as well.
41390
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:
41404
41405 2010-03-02  Nate Chapin  <japhet@chromium.org>
41406
41407         Reviewed by Dimitri Glazkov.
41408
41409         [V8] Fail gracefully if NPN_GetProperty tries to retrieve a property that doesn't exist.
41410
41411         https://bugs.webkit.org/show_bug.cgi?id=35588
41412
41413         Required for passing LayoutTests/plugins/netscape-plugin-property-access-exception.html on Chromium.
41414
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.
41417
41418 2010-03-02  Jian Li  <jianli@chromium.org>
41419
41420         Reviewed by Nate Chapin.
41421
41422         [V8] DOMCoreException should be visible as DOMException 
41423         https://bugs.webkit.org/show_bug.cgi?id=35552
41424
41425         Fix V8 code generator to use the correct visible name.
41426
41427         * bindings/scripts/CodeGeneratorV8.pm:
41428
41429 2010-03-02  Brady Eidson  <beidson@apple.com>
41430
41431         Reviewed by Sam Weinig.
41432
41433         REGRESSION(r51097) - Unable to log in to statefarm.com
41434         <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
41435
41436         Test: fast/loader/for-window-event-onload-scripts.html
41437
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.
41444
41445         * dom/ScriptElement.cpp:
41446         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
41447         * dom/ScriptElement.h:
41448
41449         * html/HTMLScriptElement.cpp:
41450         (WebCore::HTMLScriptElement::eventAttributeValue):
41451         * html/HTMLScriptElement.h:
41452
41453         * svg/SVGScriptElement.cpp:
41454         (WebCore::SVGScriptElement::eventAttributeValue):
41455         * svg/SVGScriptElement.h:
41456
41457         Add the event attribute name:
41458         * html/HTMLAttributeNames.in:
41459
41460
41461 2010-03-02  Simon Fraser  <simon.fraser@apple.com>
41462
41463         Reviewed by Dan Bernstein.
41464
41465         https://bugs.webkit.org/show_bug.cgi?id=35555
41466         QuickTime plugin content can spill outside the <object> tag
41467
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.
41470         
41471         Manual test because it relies on QuickTime, and pixel results depend on movie loading timing.
41472
41473         * manual-tests/plugins/object-clipping.html: Added.
41474         * platform/graphics/mac/GraphicsLayerCA.mm:
41475         (WebCore::GraphicsLayerCA::setupContentsLayer):
41476
41477 2010-03-02  Adam Roben  <aroben@apple.com>
41478
41479         Export SecurityOrigin::registerURLSchemeAsSecure
41480
41481         Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
41482         SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
41483
41484         Reviewed by Tim Hatcher.
41485
41486         * WebCore.base.exp: Added symbol, sorted file.
41487
41488 2010-03-02  Pavel Feldman  <pfeldman@chromium.org>
41489
41490         Reviewed by Timothy Hatcher.
41491
41492         Web Inspector: render breakpoints as border images instead of canvas.
41493
41494         https://bugs.webkit.org/show_bug.cgi?id=35535
41495
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:
41508
41509 2010-01-28  Holger Hans Peter Freyther  <zecke@selfish.org>
41510
41511         Reviewed by Ariya Hidayat.
41512
41513         [Qt] Special case Font::floatWidthForComplexText for single space
41514         https://bugs.webkit.org/show_bug.cgi?id=33876
41515
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.
41519
41520         * platform/graphics/qt/FontQt.cpp:
41521         (WebCore::Font::floatWidthForComplexText):
41522
41523 2010-02-28  Holger Hans Peter Freyther  <zecke@selfish.org>
41524
41525         Reviewed by Gustavo Noronha.
41526
41527         [Gtk] Support private browsing mode in plugins.
41528         https://bugs.webkit.org/show_bug.cgi?id=35500
41529
41530         Integrate the PluginViewQt.cpp changes from r55358 into Gtk+.
41531
41532         * plugins/gtk/PluginViewGtk.cpp:
41533         (WebCore::PluginView::getValue):
41534
41535 2010-03-02  Oliver Hunt  <oliver@apple.com>
41536
41537         Reviewed by NOBODY (Build fix).
41538
41539         Update Qt bridge to new named getter signature
41540
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:
41547
41548 2010-03-01  Philippe Normand  <pnormand@igalia.com>
41549
41550         Reviewed by Gustavo Noronha.
41551
41552         [GTK] Move gstreamer-related source files to platform/graphics/gstreamer
41553         https://bugs.webkit.org/show_bug.cgi?id=35518
41554
41555         Moved GStreamer-related files to platform/graphics/gstreamer so
41556         other ports could benefit from this media player implementation.
41557
41558         * GNUmakefile.am:
41559         * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.cpp.
41560         (_do_init):
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.
41661         (doInit):
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.
41693
41694 2010-03-01  Oliver Hunt  <oliver@apple.com>
41695
41696         Reviewed by Maciej Stachowiak.
41697
41698         Refactor named getter function signature to be in line with indexing getter signature
41699         https://bugs.webkit.org/show_bug.cgi?id=35563
41700
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.
41703
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:
41762
41763 2010-03-01  Oliver Hunt  <oliver@apple.com>
41764
41765         Reviewed by Gavin Barraclough.
41766
41767         PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier
41768         https://bugs.webkit.org/show_bug.cgi?id=35561
41769
41770         Update bindings generation and the few manual indexing getters we have to use
41771         the new PropertySlot API.
41772
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:
41779
41780 2010-03-01  Chris Fleizach  <cfleizach@apple.com>
41781
41782         Reviewed by Darin Adler.
41783
41784         AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
41785         https://bugs.webkit.org/show_bug.cgi?id=35514
41786
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.
41790
41791         Test: platform/mac/accessibility/stale-table-rows.html
41792
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):
41814
41815 2010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
41816
41817         Reviewed by Adam Barth.
41818
41819         Convert the zoom mode (page vs. text-only) into a proper enum.
41820         https://bugs.webkit.org/show_bug.cgi?id=35347
41821
41822         * GNUmakefile.am:
41823         * WebCore.base.exp: Substituted symbols __ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
41824         and __ZN7WebCore8Settings11setZoomModeENS_8ZoomModeE for __ZN7WebCore5Frame13setZoomFactorEfb
41825         and __ZN7WebCore8Settings16setZoomsTextOnlyEb, respectively.
41826         * WebCore.gypi:
41827         * WebCore.pro:
41828         * WebCore.vcproj/WebCore.vcproj:
41829         * WebCore.xcodeproj/project.pbxproj:
41830         * page/Frame.cpp:
41831         (WebCore::Frame::zoomMode):
41832         (WebCore::Frame::shouldApplyTextZoom):
41833         (WebCore::Frame::shouldApplyPageZoom):
41834         (WebCore::Frame::setZoomFactor):
41835         * page/Frame.h:
41836         * page/Settings.cpp:
41837         (WebCore::Settings::Settings):
41838         (WebCore::Settings::setZoomMode):
41839         * page/Settings.h:
41840         (WebCore::Settings::zoomMode):
41841         * page/ZoomMode.h: Added.
41842         (WebCore::):
41843         * svg/SVGSVGElement.cpp:
41844         (WebCore::SVGSVGElement::setCurrentScale):
41845
41846 2010-03-01  Alex Milowski  <alex@milowski.com>
41847
41848         Reviewed by Kenneth Rohde Christiansen.
41849
41850         Added support for the msubsup element that also handles the msup and msub elements.
41851
41852         Test: mathml/presentation/subsup.xhtml
41853
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::):
41867
41868 2010-03-01  Pavel Feldman  <pfeldman@chromium.org>
41869
41870         Reviewed by Timothy Hatcher.
41871
41872         Web Inspector: use dejavu sans mono 11px on linux.
41873
41874         https://bugs.webkit.org/show_bug.cgi?id=35527
41875
41876         * inspector/front-end/inspector.css:
41877
41878 2010-03-01  Thatcher Ulrich  <tulrich@google.com>
41879
41880         Reviewed by Darin Fisher.
41881
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
41886         a layout happens.
41887         https://bugs.webkit.org/show_bug.cgi?id=35184
41888
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:
41898
41899 2010-03-01  Fridrich Strba  <fridrich.strba@bluewin.ch>
41900
41901         Reviewed by Holger Freyther.
41902
41903         Dist some mathml related files
41904
41905         * GNUmakefile.am:
41906
41907 2010-03-01  Kenneth Russell  <kbr@google.com>
41908
41909         Reviewed by Oliver Hunt.
41910
41911         Integer overflow in WebGL arrays
41912         https://bugs.webkit.org/show_bug.cgi?id=35241
41913
41914         Test: fast/canvas/webgl/webgl-array-invalid-ranges.html
41915
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:
42006
42007 2010-03-01  Brady Eidson  <beidson@apple.com>
42008
42009         Reviewed by Sam Weinig.
42010
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
42013
42014         Test: fast/loader/api-test-go-to-current-back-forward-item.html
42015
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.
42019
42020         * page/Page.cpp:
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.
42023
42024 2010-03-01  Robert Hogan  <robert@webkit.org>
42025
42026         Reviewed by nobody, build fix.
42027
42028         Fix --minimal build. Add ENABLE(DATABASE) as compile time condition
42029         for building file GeolocationPositionCache.cpp.
42030
42031         * page/GeolocationPositionCache.cpp:
42032
42033 2010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
42034
42035         Reviewed by Dirk Schulze.
42036
42037         [OpenVG] Implement support for paths
42038         https://bugs.webkit.org/show_bug.cgi?id=34366
42039
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.
42045
42046         Also hooked up to PainterOpenVG and GraphicsContext.
42047
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.
42057
42058         Path::addArcTo() uses code by Yong Li <yoli@rim.com>.
42059
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.
42115
42116 2010-03-01  Pavel Feldman  <pfeldman@chromium.org>
42117
42118         Not reviewed, bring English.lproj/locallizedStrings.js back to binary (UTF) mode.
42119
42120         * English.lproj/localizedStrings.js:
42121
42122 2010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
42123
42124         Reviewed by Nikolas Zimmermann.
42125
42126         [OpenVG] Convert from TransformationMatrix to AffineTransform.
42127         https://bugs.webkit.org/show_bug.cgi?id=35445
42128
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.
42134
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:
42160
42161 2010-03-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
42162
42163         Reviewed by Simon Hausmann.
42164
42165         [Qt] Fix segfault when drawing NPAPI plugins on Mac
42166
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.
42169
42170         * plugins/mac/PluginViewMac.cpp:
42171
42172 2010-03-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
42173
42174         Reviewed by Simon Hausmann.
42175
42176         Fix the Qt build on Mac OS X/Cocoa 64-bit
42177
42178         Use the proper event/drawing-model guards instead of global 64-bit
42179         guard for the NPAPI plugin implementation (view and package).
42180
42181         * plugins/mac/PluginPackageMac.cpp: Change guards and fix warning
42182         * plugins/mac/PluginViewMac.cpp: Remove 64-bit guard
42183
42184 2010-02-27  Pavel Feldman  <pfeldman@chromium.org>
42185
42186         Reviewed by Timothy Hatcher.
42187
42188         Web Inspector: disable breakpoint upon Shift-click.
42189
42190         https://bugs.webkit.org/show_bug.cgi?id=35477
42191
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:
42198
42199 2010-02-28  Alexey Proskuryakov  <ap@apple.com>
42200
42201         Reviewed by Dan Bernstein.
42202
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
42205
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.
42211
42212 2010-02-28  Robert Hogan  <robert@roberthogan.net>
42213
42214         Reviewed by Simon Hausmann.
42215
42216         [Qt] Support private browsing mode in plugins
42217
42218         Add support for NPNVprivateModeBool property in plugins.
42219
42220         See also: https://developer.mozilla.org/En/Supporting_private_browsing_in_plugins
42221
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.
42230
42231         http://bugs.webkit.org/show_bug.cgi?id=33180
42232
42233         Test: plugins/private-browsing-mode-2.html
42234
42235         * plugins/qt/PluginViewQt.cpp:
42236         (WebCore::PluginView::getValue):
42237
42238
42239 2010-02-27  Joseph Pecoraro  <joepeck@webkit.org>
42240
42241         Reviewed by Timothy Hatcher.
42242
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
42245
42246         * inspector/front-end/StylesSidebarPane.js:
42247
42248 2010-02-27  Dan Bernstein  <mitz@apple.com>
42249
42250         Reviewed by Maciej Stachowiak.
42251
42252         <rdar://problem/7696607> Links do not respect -webkit-user-drag: none
42253         https://bugs.webkit.org/show_bug.cgi?id=35475
42254
42255         Test: fast/css/user-drag-none.html
42256
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().
42267
42268 2010-02-27  Pavel Feldman  <pfeldman@chromium.org>
42269
42270         Reviewed by Timothy Hatcher.
42271
42272         Web Inspector: REGRESSION: hangs when scrolling in Resource pane.
42273
42274         https://bugs.webkit.org/show_bug.cgi?id=35216
42275
42276         * inspector/front-end/TextEditorHighlighter.js:
42277         (WebInspector.TextEditorHighlighter):
42278         (WebInspector.TextEditorHighlighter.prototype.highlight):
42279         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
42280         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
42281
42282 2010-02-27  Xan Lopez  <xlopez@igalia.com>
42283
42284         Reviewed by Gustavo Noronha.
42285
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
42289         crash.
42290
42291         * plugins/gtk/PluginViewGtk.cpp:
42292         (WebCore::PluginView::platformStart):
42293
42294 2010-02-26  Pavel Feldman  <pfeldman@chromium.org>
42295
42296         Reviewed by Timothy Hatcher.
42297
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.
42300
42301         https://bugs.webkit.org/show_bug.cgi?id=35434
42302
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):
42320
42321 2010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42322
42323         Reviewed by Kenneth Rohde Christiansen.
42324
42325         Add EFL port files to platform/efl.
42326         http://webkit.org/b/35087
42327
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.
42333
42334 2010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42335
42336         Reviewed by Kenneth Rohde Christiansen.
42337
42338         Add EFL port files to platform/efl.
42339         http://webkit.org/b/35087
42340
42341         * platform/efl/CursorEfl.cpp: Added.
42342         * platform/efl/LocalizedStringsEfl.cpp: Added.
42343         * platform/efl/SearchPopupMenuEfl.cpp: Added.
42344
42345 2010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42346
42347         Reviewed by Kenneth Rohde Christiansen.
42348
42349         Add EFL port files to page/efl.
42350         http://webkit.org/b/35087
42351
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.
42356
42357 2010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42358
42359         Reviewed by Kenneth Rohde Christiansen.
42360
42361         Add EFL port files to platform/efl.
42362         http://webkit.org/b/35087
42363
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.
42370
42371 2010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42372
42373         Reviewed by Kenneth Rohde Christiansen.
42374
42375         Add EFL port files to platform/efl.
42376         http://webkit.org/b/35087
42377
42378         * WebCore/platform/efl/RenderThemeEfl.cpp: Added.
42379
42380 2010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42381
42382         Reviewed by Kenneth Rohde Christiansen.
42383
42384         Add EFL port files to platform/efl.
42385         http://webkit.org/b/35087
42386
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.
42392
42393 2010-02-26  Adam Barth  <abarth@webkit.org>
42394
42395         Reviewed by Darin Fisher.
42396
42397         Expose an API for ports to add schemes to the mixed content whitelist
42398         https://bugs.webkit.org/show_bug.cgi?id=35438
42399
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.
42403
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:
42411
42412 2010-02-26  Noam Rosenthal  <noam.rosenthal@nokia.com>
42413
42414         Reviewed by Kenneth Rohde Christiansen.
42415
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
42420    
42421         https://bugs.webkit.org/show_bug.cgi?id=35382
42422
42423         Test URL attached to the bug now works correctly.
42424
42425         * platform/graphics/qt/GraphicsLayerQt.cpp:
42426         (WebCore::GraphicsLayerQtImpl::computeTransform):
42427         (WebCore::GraphicsLayerQtImpl::flushChanges):
42428
42429 2010-02-26  Luiz Agostini  <luiz.agostini@openbossa.org>
42430
42431         Reviewed by Kenneth Rohde Christiansen.
42432
42433         Qt/Mac: Revert null timer removal (r51105)
42434         https://bugs.webkit.org/show_bug.cgi?id=35396
42435
42436         r51105 removed the null timer event of the carbon event model. This however
42437         breaks the flash of many sites.        
42438
42439         Applying patch suggested by Girish Ramakrishnan in bug comment #1.
42440
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):
42447
42448 2010-02-26  Noam Rosenthal  <noam.rosenthal@nokia.com>
42449
42450         Reviewed by Kenneth Rohde Christiansen.
42451
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
42455
42456         No new tests.
42457
42458         * platform/graphics/qt/GraphicsContext3DQt.cpp:
42459         (WebCore::GraphicsContext3D::blendColor):
42460
42461 2010-02-26  Kwang Yul Seo  <skyul@company100.net>
42462
42463         Reviewed by Kenneth Rohde Christiansen.
42464
42465         [BREWMP] Port EventHandler
42466         https://bugs.webkit.org/show_bug.cgi?id=34796
42467
42468         Add platform-specific code required to implement EventHandler.
42469
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):
42482
42483 2010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42484
42485         Reviewed by Kenneth Rohde Christiansen.
42486
42487         Add EFL port files to platform/efl.
42488         http://webkit.org/b/35087
42489
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.
42497
42498 2010-02-26  Robert Kroeger  <rjkroege@chromium.org>
42499
42500         Reviewed by Nate Chapin
42501
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.
42506         
42507         This patch adds such a matching implementation of wasCreatedFromMarkup
42508         to V8LazyEventListener.h.
42509         
42510         https://bugs.webkit.org/show_bug.cgi?id=35325
42511
42512         * bindings/v8/V8LazyEventListener.h:
42513         (WebCore::V8LazyEventListener::wasCreatedFromMarkup):
42514
42515 2010-02-26  Arno Renevier  <arno@renevier.net>
42516
42517         Reviewed by Gustavo Noronha Silva.
42518
42519         [Gtk] use geoclue_position_get_position_async to get geolocation position.
42520         https://bugs.webkit.org/show_bug.cgi?id=35355
42521
42522         No new tests, behaviour depends on system.
42523
42524         * platform/gtk/GeolocationServiceGtk.cpp:
42525         (WebCore::GeolocationServiceGtk::startUpdating):
42526         (WebCore::GeolocationServiceGtk::get_position):
42527         * platform/gtk/GeolocationServiceGtk.h:
42528
42529 2010-02-26  Yaar Schnitman  <yaar@chromium.org>
42530
42531         Chromium Win build fix.
42532
42533         * WebCore.gyp/WebCore.gyp: Added missing file to action input.
42534
42535 2010-02-12  Brett Wilson  <brettw@chromium.org>
42536
42537         Reviewed by Adam Barth.
42538
42539         Update the Google-URL version of KURL and the V8 bindings to the new
42540         behavior of KURL.IsStandard.
42541
42542         https://bugs.webkit.org/show_bug.cgi?id=34859
42543
42544         This is covered by fast/dom/Window/invalid-protocol.html
42545
42546         * bindings/v8/custom/V8LocationCustom.cpp:
42547         (WebCore::V8Location::protocolAccessorSetter):
42548         * platform/KURLGoogle.cpp:
42549         (WebCore::KURL::setProtocol):
42550         (WebCore::KURL::isHierarchical):
42551
42552 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
42553
42554         Reviewed by NOBODY (Build fix following r55312).
42555
42556         * bridge/qt/qt_pixmapruntime.cpp:
42557         (JSC::Bindings::QtPixmapInstance::invokeMethod):
42558
42559 2010-02-26  Yaar Schnitman  <yaar@chromium.org>
42560
42561         Reviewed by Dimitri Glazkov.
42562
42563         [V8] Auto-generate and split DerivedSourcesAllInOne.cpp
42564         https://bugs.webkit.org/show_bug.cgi?id=33048
42565
42566         * WebCore.gyp/WebCore.gyp:
42567         * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Added.
42568         * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
42569
42570 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
42571
42572         Reviewed by NOBODY (Build fix following r55312).
42573
42574         * bridge/qt/qt_pixmapruntime.cpp:
42575         (JSC::Bindings::QtPixmapInstance::invokeMethod):
42576
42577 2010-02-26  Alexey Proskuryakov  <ap@apple.com>
42578
42579         Reviewed by Anders Carlsson.
42580
42581         https://bugs.webkit.org/show_bug.cgi?id=35450
42582         Crash when a Java array property accessor raises an exception
42583
42584         Test: java/inaccessible-class.html
42585
42586         * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): Check if the result
42587         is null before interpreting it as an object or array.
42588
42589 2010-02-26  Dirk Schulze  <krit@webkit.org>
42590
42591         Reviewed by Nikolas Zimmermann.
42592
42593         Extend AffineTransform to mapQuad
42594         https://bugs.webkit.org/show_bug.cgi?id=35444
42595
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.
42599
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:
42605
42606 2010-02-26  Brady Eidson  <beidson@apple.com>
42607
42608         Reviewed by Pavel Feldman.
42609
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
42612
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.
42619
42620 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
42621
42622         Reviewed by Alexey Proskuryakov.
42623
42624         Bug 35401 - Fix handling of errors in handling calls over bridge,
42625         where base object bridge-type does not match method bridge-type.
42626
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.
42632
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.
42658
42659 2010-02-26  Oliver Hunt  <oliver@apple.com>
42660
42661         Reviewed by Geoff Garen.
42662
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.
42668
42669         * WebCore.xcodeproj/project.pbxproj:
42670         * bindings/scripts/CodeGeneratorJS.pm:
42671
42672 2010-02-26  Alex Milowski  <alex@milowski.com>
42673
42674         Reviewed by Kenneth Rohde Christiansen.
42675
42676         Added basic support for the munder, munderover, and mover elements.
42677
42678         Tests: mathml/presentation/over.xhtml
42679                mathml/presentation/under.xhtml
42680                mathml/presentation/underover.xhtml
42681
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::):
42696
42697 2010-02-24  Stephen White  <senorblanco@chromium.org>
42698
42699         Reviewed by Darin Adler.
42700
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
42703         be invoked.
42704         
42705         https://bugs.webkit.org/show_bug.cgi?id=35362
42706
42707         Covered by fast/canvas/canvas-bg.html, fast/canvas/canvas-bg-zoom.html,
42708         and many more.
42709
42710         * css/CSSParser.cpp:
42711         (WebCore::parseInt):
42712         (WebCore::CSSParser::parseColor):
42713
42714 2010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
42715
42716         Reviewed by Kenneth Rohde Christiansen.
42717
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.
42722
42723         * html/canvas/WebGLRenderingContext.cpp:
42724         (WebCore::WebGLRenderingContext::markContextChanged):
42725
42726 2010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
42727
42728         Reviewed by Kenneth Rohde Christiansen.
42729
42730         Compilation failed because functions glSampleCoverage, glBlendEquation
42731         and glActiveTexture were not available.
42732         https://bugs.webkit.org/show_bug.cgi?id=35423
42733
42734         * platform/graphics/qt/GraphicsContext3DQt.cpp:
42735         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
42736         (WebCore::GraphicsContext3D::activeTexture):
42737         (WebCore::GraphicsContext3D::blendEquation):
42738         (WebCore::GraphicsContext3D::sampleCoverage):
42739
42740 2010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
42741  
42742          Reviewed by Kenneth Rohde Christiansen.
42743
42744          https://bugs.webkit.org/show_bug.cgi?id=35380
42745          Fixed compilation error when WTF_USE_ACCELERATED_COMPOSITING=0
42746  
42747          * css/MediaQueryEvaluator.cpp:
42748          (WebCore::transform_3dMediaFeatureEval):
42749
42750 2010-02-26  Nicholas Young  <nicholas.young@nokia.com>
42751
42752         Reviewed by Tor Arne Vestbø.
42753
42754         [Qt] Incorrect painting after a size changed.
42755         https://bugs.webkit.org/show_bug.cgi?id=35412
42756
42757         No new tests. Bug fix in backend.
42758
42759         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
42760         (WebCore::MediaPlayerPrivate::paint): Provide the source rectangle, rather than inferring it.
42761
42762 2010-02-26  Nicholas Young  <nicholas.young@nokia.com>
42763
42764         Reviewed by Tor Arne Vestbø.
42765
42766         [Qt] Incorrect handling of MIME types in Media Player
42767         https://bugs.webkit.org/show_bug.cgi?id=35413
42768
42769         No new tests. Bug fix in backend.
42770
42771         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
42772         (WebCore::MediaPlayerPrivate::supportsType): Corrected logic.
42773
42774 2010-02-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
42775
42776         Reviewed by Xan Lopez.
42777
42778         https://bugs.webkit.org/show_bug.cgi?id=35418
42779         [Gtk] Every table, including layout tables, should be exposed as a table
42780
42781         This patch exposes layout tables as tables. (Addressing the problematic table
42782         hierarchy remains to be done.)
42783
42784         * accessibility/gtk/AccessibilityObjectAtk.cpp:
42785         (AccessibilityObject::accessibilityPlatformIncludesObject):
42786         * accessibility/AccessibilityRenderObject.cpp:
42787         (AccessibilityRenderObject::determineAccessibilityRole):
42788
42789 2010-02-26  Adam Barth  <abarth@webkit.org>
42790
42791         Reviewed by Darin Adler.
42792
42793         XSSAuditor is super super super slow
42794         https://bugs.webkit.org/show_bug.cgi?id=35373
42795
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.
42801
42802         * page/XSSAuditor.cpp:
42803         (WebCore::XSSAuditor::findInRequest):
42804         * page/XSSAuditor.h:
42805
42806 2010-02-26  Dirk Schulze  <krit@webkit.org>
42807
42808         Reviewed by Nikolas Zimmermann.
42809
42810         SVGResourceClipper needs to be moved to RenderSVGResourceClipper
42811         https://bugs.webkit.org/show_bug.cgi?id=35421
42812
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.
42818
42819         * Android.mk:
42820         * GNUmakefile.am:
42821         * WebCore.vcproj/WebCore.vcproj:
42822         * WebCore.xcodeproj/project.pbxproj:
42823         * rendering/RenderSVGResource.h:
42824         (WebCore::):
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:
42854         (WebCore::):
42855         (WebCore::SVGResource::isPaintServer):
42856         (WebCore::SVGResource::isFilter):
42857         (WebCore::SVGResource::isMarker):
42858         * svg/graphics/SVGResourceClipper.cpp: Removed.
42859         * svg/graphics/SVGResourceClipper.h: Removed.
42860
42861 2010-02-26  Ben Murdoch  <benm@google.com>
42862
42863         Reviewed by Kenneth Rohde Christiansen.
42864
42865         The element that a touchevent is dispatched to isn't always right
42866         https://bugs.webkit.org/show_bug.cgi?id=35431
42867
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.
42872
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.
42880
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
42889             fired.
42890         * page/EventHandler.h: Remove m_touchEventTarget.
42891
42892 2010-02-26  Dirk Pranke  <dpranke@chromium.org>
42893
42894         Reviewed by Darin Fisher.
42895
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
42900         changing.
42901
42902         http://bugs.webkit.org/show_bug.cgi?id=35180
42903
42904         Test: fast/loader/about-blank-hash-change.html
42905
42906         * bindings/v8/custom/V8LocationCustom.cpp:
42907         (WebCore::V8Location::hashAccessorSetter):
42908
42909 2010-02-26  Zhenyao Mo  <zmo@google.com>
42910
42911         Reviewed by David Levin.
42912
42913         texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha
42914         https://bugs.webkit.org/show_bug.cgi?id=34459
42915
42916         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
42917
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.
42924
42925 2010-02-26  Zhenyao Mo  <zmo@google.com>
42926
42927         Reviewed by David Levin.
42928
42929         Set viewport to canvas size upon context creation
42930         https://bugs.webkit.org/show_bug.cgi?id=35057
42931
42932         Covered by existing tests, in particular fast/canvas/webgl/gl-get-calls.html
42933
42934         * html/canvas/WebGLRenderingContext.cpp:
42935         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Set the viewport size to match the canvas size.
42936
42937 2010-02-26  Pavel Feldman  <pfeldman@chromium.org>
42938
42939         Not reviewed: touch InspectorController to force front-end deployment.
42940
42941         * inspector/InspectorController.cpp:
42942
42943 2010-02-26  Ilya Tikhonovsky  <loislo@chromium.org>
42944
42945         Reviewed by Pavel Feldman.
42946
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.
42952
42953         https://bugs.webkit.org/show_bug.cgi?id=33995
42954
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:
42971         (WebCore::):
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):
43001
43002 2010-02-26  Csaba Osztrogonác  <ossy@webkit.org>
43003
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
43006
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:
43015
43016 2010-02-25  Mark Rowe  <mrowe@apple.com>
43017
43018         Reviewed by Brady Eidson.
43019
43020         <rdar://problem/7688455> REGRESSION(r55205): Crash inside dispatchEventsOnWindowAndFocusedNode when clicking link from bookmarks view
43021
43022         Null-check the document's page to avoid dereferencing a null page.
43023
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.
43026
43027         * page/FocusController.cpp:
43028         (WebCore::dispatchEventsOnWindowAndFocusedNode):
43029
43030 2010-02-25  Oliver Hunt  <oliver@apple.com>
43031
43032         Reviewed by Simon Fraser.
43033
43034         Multiple repaints on apple.com
43035         https://bugs.webkit.org/show_bug.cgi?id=35409
43036
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.
43044
43045         * platform/graphics/transforms/AffineTransform.h:
43046         (WebCore::AffineTransform::isIdentityOrTranslationOrFlipped):
43047         * rendering/RenderBoxModelObject.cpp:
43048         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
43049         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
43050
43051 2010-02-25  Enrica Casucci  <enrica@apple.com>
43052
43053         Reviewed by Adele Peterson.
43054
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>
43058
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.
43061         
43062         Test: editing/inserting/rebalance-whitespace-1.html
43063
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:
43079
43080 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
43081
43082         Reviewed by Anders Carlsson.
43083
43084         https://bugs.webkit.org/show_bug.cgi?id=35406
43085         <rdar://problem/6945502> Make generic array methods work with JavaArray
43086
43087         Test: java/array-sort.html
43088
43089         Made RuntimeArray inherit from JSArray, keeping the promise given in ClassInfo.
43090
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):
43097
43098 2010-02-25  Dan Bernstein  <mitz@apple.com>
43099
43100         Reviewed by Alexey Proskuryakov.
43101
43102         Fixed a regression introduced in r44243, which made the assertion in checkListItems()
43103         ineffective.
43104
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.
43108
43109 2010-02-25  Dirk Schulze  <krit@webkit.org>
43110
43111         Reviewed by Nikolas Zimmermann.
43112
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
43115
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.
43121
43122         Test: svg/filters/filter-on-tspan.svg
43123
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
43136
43137 2010-02-25  Dirk Schulze  <krit@webkit.org>
43138
43139         Reviewed by Nikolas Zimmermann.
43140
43141         Use-element doesn't transform clipPath
43142         https://bugs.webkit.org/show_bug.cgi?id=35375
43143
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.
43147
43148         Test: svg/custom/use-on-clip-path-with-transformation.svg
43149
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):
43154
43155 2010-02-25  Jian Li  <jianli@chromium.org>
43156
43157         Reviewed by Dmitry Titov.
43158
43159         File.type support.
43160         https://bugs.webkit.org/show_bug.cgi?id=35361
43161
43162         Test: LayoutTests/editing/pasteboard/file-input-files-access.html
43163
43164         * html/File.cpp:
43165         (WebCore::File::File):
43166         * html/File.h:
43167         (WebCore::File::type):
43168         * html/File.idl:
43169
43170 2010-02-25  Alexander Pavlov  <apavlov@chromium.org>
43171
43172         Reviewed by Pavel Feldman.
43173
43174         Javascript console should not attempt to scroll to end of console if console is not visible
43175
43176         https://bugs.webkit.org/show_bug.cgi?id=22992
43177
43178         * inspector/front-end/ConsoleView.js:
43179         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
43180         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
43181         (WebInspector.ConsoleView.prototype.addMessage):
43182
43183 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
43184
43185         Qt and Gtk build fixes.
43186
43187         * GNUmakefile.am:
43188         * WebCore.pro:
43189         Added CRuntimeObject.{c,cpp}.
43190
43191 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
43192
43193         Windows build fix.
43194
43195         * WebCore.vcproj/WebCore.vcproj: Added CRuntimeObject.{c,cpp}.
43196
43197 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
43198
43199         Reviewed by Geoffrey Garen.
43200
43201         https://bugs.webkit.org/show_bug.cgi?id=35394
43202         <rdar://problem/7685262> Make passing objects between Java and plug-ins work
43203
43204         * WebCore.PluginHostProcess.exp: WebKit now subclasses RuntimeObject, so it needed more exports.
43205
43206         * bridge/runtime_object.cpp:
43207         (JSC::Bindings::callRuntimeObject):
43208         (JSC::Bindings::callRuntimeConstructor):
43209         Assert that a runtime object is passed as function.
43210
43211         * bridge/runtime_object.h: Moved RuntimeObject into Bindings namespace, matching other
43212         related classes.
43213
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.
43219
43220         * bridge/jni/jsc/JNIBridgeJSC.cpp:
43221         (JavaField::setValueToInstance): Pass rootObject to convertValueToJValue().
43222         (JavaArray::setValueAt): Ditto.
43223
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.
43226
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.
43230
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.
43235
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.
43252         (JSC::Bindings::):
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.
43262         (JSC::Bindings::):
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.
43273
43274 2010-02-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
43275
43276         Rubber-stamped by Xan Lopez.
43277
43278         Adopt the same string as the one that is expected by
43279         fast/parser/fragment-parser.html for the description used by the
43280         <isindex> element.
43281
43282         * platform/gtk/LocalizedStringsGtk.cpp:
43283         (WebCore::searchableIndexIntroduction):
43284
43285 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43286
43287         Reviewed by Timothy Hatcher.
43288
43289         Web Inspector: evaluate-on-hover does not work on HTML files.
43290
43291         https://bugs.webkit.org/show_bug.cgi?id=35378
43292
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):
43322
43323 2010-02-25  Xan Lopez  <xlopez@igalia.com>
43324
43325         Reviewed by Gustavo Noronha.
43326
43327         Simple style cleanups.
43328
43329         * plugins/gtk/PluginViewGtk.cpp:
43330         (WebCore::plugRemovedCallback):
43331         (WebCore::plugAddedCallback):
43332         (WebCore::PluginView::platformStart):
43333
43334 2010-02-25  Andreas Kling  <andreas.kling@nokia.com>
43335
43336         Reviewed by Darin Adler.
43337
43338         Optimize decoding of Latin-1 text by exploiting the fact that most of it will
43339         be ASCII-only data.
43340
43341         https://bugs.webkit.org/show_bug.cgi?id=35233
43342
43343         * platform/text/TextCodecLatin1.cpp:
43344         (WebCore::TextCodecLatin1::decode):
43345
43346 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43347
43348         Reviewed by Dimitri Glazkov.
43349
43350         Web Inspector: make script lines count calculation lazy.
43351
43352         https://bugs.webkit.org/show_bug.cgi?id=35392
43353
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):
43360
43361 2010-02-25  James Choi  <jchoi42@pha.jhu.edu>
43362
43363         Reviewed by David Levin.
43364
43365         Change hardcoded gcc paths to be Solaris friendly
43366         https://bugs.webkit.org/show_bug.cgi?id=35213
43367
43368         * bindings/scripts/CodeGeneratorObjC.pm:
43369         * bindings/scripts/IDLParser.pm:
43370         * css/make-css-file-arrays.pl:
43371         * dom/make_names.pl:
43372
43373 2010-02-25  Xan Lopez  <xlopez@igalia.com>
43374
43375         Reviewed by Gustavo Noronha.
43376
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.
43382
43383         * plugins/gtk/PluginViewGtk.cpp:
43384         (WebCore::plugAddedCallback):
43385         (WebCore::PluginView::platformStart):
43386
43387 2010-02-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43388
43389         Reviewed by Tor Arne Vestbø.
43390
43391         Add missing include guards
43392
43393         * loader/CrossOriginPreflightResultCache.h:
43394         * loader/MainResourceLoader.h:
43395
43396 2010-02-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43397
43398         Reviewed by Tor Arne Vestbø.
43399
43400         [Qt] Restrict the optimization flags for Symbian to release builds.
43401
43402         * WebCore.pro:
43403
43404 2010-02-25  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
43405
43406         Reviewed by Kenneth Rohde Christiansen.
43407
43408         Qt WebGL support
43409
43410         Adds GraphicsContext3D QtWebKit implementation.
43411         https://bugs.webkit.org/show_bug.cgi?id=35153
43412
43413         * WebCore.pri:
43414         * WebCore.pro:
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):
43569
43570 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43571
43572         Reviewed by Timothy Hatcher.
43573
43574         Web Inspector: Swap images for activate and deactivate breakpoints.
43575
43576         https://bugs.webkit.org/show_bug.cgi?id=35383
43577
43578         * WebCore.gypi:
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:
43583
43584 2010-02-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
43585
43586         Reviewed by Xan Lopez.
43587
43588         Go back on symlink resolution if we are loading the flash plugin,
43589         and the path contains /netscape/, following what Chromium does.
43590
43591         Thanks to Evan Martin for the help on this!
43592
43593         * plugins/gtk/PluginPackageGtk.cpp:
43594         (WebCore::PluginPackage::load):
43595
43596 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43597
43598         Reviewed by Timothy Hatcher.
43599
43600         Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh.
43601
43602         https://bugs.webkit.org/show_bug.cgi?id=35232
43603
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):
43638
43639 2010-02-25  Ben Murdoch  <benm@google.com>
43640
43641         Reviewed by Kenneth Rohde Christiansen.
43642
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
43645
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.
43650
43651         Tests:
43652         fast/events/touch/touch-target.html: Added.
43653         fast/events/touch/basic-single-touch-events.html: Updated.
43654
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.
43665
43666 2010-02-24  Antonio Gomes  <tonikitoo@webkit.org>
43667
43668         Reviewed by Simon Fraser.
43669         Patch by Antonio Gomes <tonikitoo@webkit.org>
43670
43671         Add a convenient center() method to IntRect
43672         https://bugs.webkit.org/show_bug.cgi?id=35346
43673
43674         As it is a convenience method, and implemention is
43675         based on FloatRect's one, patch does not provide a
43676         layout test.
43677
43678         * platform/graphics/IntRect.h:
43679         (WebCore::IntRect::center):
43680
43681 2010-02-25  Andrey Kosyakov  <caseq@chromium.org>
43682
43683         Reviewed by Pavel Feldman.
43684
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
43689
43690         * WebCore.gypi:
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:
43729
43730 2010-02-24  Nicholas Young  <nicholas.young@nokia.com>
43731
43732         Reviewed by Eric Carlson.
43733
43734         Add mediaPlayerOwningDocument() to MediaPlayerClient.
43735         https://bugs.webkit.org/show_bug.cgi?id=35374
43736
43737         No new tests. These are interface changes only.
43738
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.
43744
43745 2010-02-24  Andreas Kling  <andreas.kling@nokia.com>
43746
43747         Reviewed by Kenneth Rohde Christiansen.
43748
43749         Optimized Font::normalizeSpaces() by caching the String::characters()
43750         instead of repeatedly calling operator[]
43751
43752         https://bugs.webkit.org/show_bug.cgi?id=35336
43753
43754         * platform/graphics/Font.cpp:
43755         (WebCore::Font::normalizeSpaces):
43756
43757 2010-02-24  Jungshik Shin  <jshin@chromium.org>
43758
43759         Reviewed by David Levin.
43760
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
43763
43764         No visible change in the layout test.
43765
43766         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
43767         (WebCore::):
43768
43769 2010-02-24  Anthony Ricaud  <rik@webkit.org>
43770
43771         Reviewed by Pavel Feldman.
43772
43773         Web Inspector: Reduce the timer to show the eval popover
43774         https://bugs.webkit.org/show_bug.cgi?id=35344
43775
43776         * inspector/front-end/SourceFrame.js:
43777         (WebInspector.SourceFrame.prototype._mouseMove):
43778
43779 2010-02-24  Jay Campan  <jcampan@google.com>
43780
43781         Reviewed by David Levin.
43782
43783         Don't show the autofill popup when the input text is disabled or read only.
43784
43785         Test: manual-tests/chromium/no-autofill-on-readonly.html
43786
43787         https://bugs.webkit.org/show_bug.cgi?id=35129
43788
43789         * src/EditorClientImpl.cpp:
43790         (WebKit::EditorClientImpl::autofill):
43791         *  manual-tests/chromium/no-autofill-on-readonly.html: Added.
43792
43793 2010-02-24  Dominic Mazzoni  <dmazzoni@chromium.org>
43794
43795         Reviewed by Jeremy Orlow.
43796
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
43800
43801         No new tests.
43802
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:
43810
43811 2010-02-24  Maciej Stachowiak  <mjs@apple.com>
43812
43813         Unreviewed build fix.
43814
43815         Fix gtk build.
43816
43817         Include JSC headers as runtime/ instead of JavaScriptCore/
43818
43819         * bindings/js/JSDOMWrapper.h:
43820         * bindings/js/ScriptWrappable.h:
43821
43822 2010-02-24  Maciej Stachowiak  <mjs@apple.com>
43823
43824         Reviewed by Oliver Hunt.
43825
43826         Cache JavaScript wrappers inline in DOM nodes
43827         https://bugs.webkit.org/show_bug.cgi?id=35226
43828
43829         <rdar://problem/7664202>
43830         
43831         7.4% speedup on Dromaeo DOM Core tests.
43832         2.3% speedup on Hixie DOM Core tests.
43833
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
43840         
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
43859         cache.
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.
43870         
43871         Add new files to build.
43872
43873         * GNUmakefile.am:
43874         * WebCore.gypi:
43875         * WebCore.pro:
43876         * WebCore.vcproj/WebCore.vcproj:
43877         * WebCore.xcodeproj/project.pbxproj:
43878
43879
43880 2010-02-24  Jochen Eisinger  <jochen@chromium.org>
43881
43882         Reviewed by Jeremy Orlow.
43883
43884         Expose Database object of currently active task on the database thread
43885         https://bugs.webkit.org/show_bug.cgi?id=35341
43886
43887         * storage/DatabaseThread.cpp:
43888         (WebCore::DatabaseThread::DatabaseThread):
43889         (WebCore::DatabaseThread::databaseThread):
43890         * storage/DatabaseThread.h:
43891         (WebCore::DatabaseThread::getDatabaseOfCurrentTask):
43892
43893 2010-02-24  Nicholas Young  <nicholas.young@nokia.com>
43894
43895         Reviewed by Eric Carlson.
43896
43897         supportsMuting() should be an internal interface between MediaPlayer and MediaPlayerPrivate.
43898         https://bugs.webkit.org/show_bug.cgi?id=35327
43899
43900         No new tests. Refactoring Only.
43901
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()
43909
43910 2010-02-24  Adam Barth  <abarth@webkit.org>
43911
43912         Reviewed by Darin Fisher.
43913
43914         [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
43915         https://bugs.webkit.org/show_bug.cgi?id=35205
43916
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.
43921
43922         This patch adds a new FrameLoaderClient callback for when WebCore would
43923         like to execute JavaScript but fails to because JavaScript is disabled.
43924
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.
43930
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:
43947         (WebCore::):
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:
43960         (WebCore::):
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):
43983
43984 2010-02-24  Adam Barth  <abarth@webkit.org>
43985
43986         Reviewed by Darin Fisher.
43987
43988         Add call to FrameLoaderClient::allowPlugins everywhere arePluginsEnabled is called
43989         https://bugs.webkit.org/show_bug.cgi?id=34997
43990
43991         If we want to let the FrameLoaderClient override arePluginsEnabled,
43992         then we need to call out to the FrameLoaderClient every time we read
43993         the setting.
43994
43995         We don't have testing infrustructure for these changes, which is lame.
43996         I'm supposed to fix that in Bug 33991.
43997
43998         * dom/DOMImplementation.cpp:
43999         (WebCore::DOMImplementation::createDocument):
44000         * loader/MainResourceLoader.cpp:
44001         (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
44002         * loader/PluginDocument.cpp:
44003         (WebCore::PluginTokenizer::writeRawData):
44004         * page/Page.cpp:
44005         (WebCore::Page::pluginData):
44006         * plugins/MimeType.cpp:
44007         (WebCore::MimeType::enabledPlugin):
44008
44009 2010-02-24  James Robinson  <jamesr@chromium.org>
44010
44011         Reviewed by Dmitry Titov.
44012
44013         Do not fire focus events while a modal dialog is up.
44014         https://bugs.webkit.org/show_bug.cgi?id=33962
44015
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.
44019
44020         Manual tests only as DumpRenderTree does not support modal dialogs
44021
44022         * manual-tests/modal-dialog-blur-selfclose.html: Added.
44023         * manual-tests/modal-dialog-blur.html: Added.
44024         * page/FocusController.cpp:
44025         (WebCore::dispatchEventsOnWindowAndFocusedNode):
44026
44027 2010-02-24  Dan Bernstein  <mitz@apple.com>
44028
44029         Reviewed by Anders Carlsson.
44030
44031         <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element
44032
44033         Test: fast/parser/fragment-parser.html
44034
44035         Ensure that fragment parsing has no side effects on the fragment’s owner
44036         document.
44037
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.
44048
44049 2010-02-24  David Levin  <levin@chromium.org>
44050
44051         Reviewed by Darin Adler.
44052
44053         Need to create a CanvasSurface base class for HTMLCanvasElement.
44054         https://bugs.webkit.org/show_bug.cgi?id=35322
44055
44056         This is an initial step in making the OffscreenCanvas object.
44057
44058         No new functionality so no new tests.
44059
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.
44068
44069 2010-02-24  Peter Kasting  <pkasting@google.com>
44070
44071         Reviewed by Adam Barth.
44072
44073         Fix regression in calculating an animated image's start time.
44074         https://bugs.webkit.org/show_bug.cgi?id=35115
44075
44076         * platform/graphics/BitmapImage.cpp:
44077         (WebCore::BitmapImage::startAnimation):
44078
44079 2010-02-24  Dan Bernstein  <mitz@apple.com>
44080
44081         Reviewed by Simon Fraser.
44082
44083         <rdar://problem/7682827> Text with :first-letter lingers after being removed
44084
44085         Test: fast/css/first-letter-set-text.html
44086
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
44090         renderer.
44091
44092 2010-02-24  Ariya Hidayat  <ariya.hidayat@gmail.com>
44093
44094         Reviewed by Kenneth Rohde Christiansen.
44095
44096         [Qt] Faster cut-off for rectangle fill without shadow.
44097         https://bugs.webkit.org/show_bug.cgi?id=35337
44098
44099         * platform/graphics/qt/GraphicsContextQt.cpp:
44100
44101 2010-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44102
44103         Reviewed by nobody, build fix.
44104
44105         [Qt] Corrects build break of QtLauncher on Windows.
44106         The VERSION variable was not set anymore while building in trunk.
44107
44108         * WebCore.pro:
44109
44110 2010-02-24  Alexander Pavlov  <apavlov@chromium.org>
44111
44112         Reviewed by Pavel Feldman.
44113
44114         Web Inspector: Activate/Deactivate breaks does not look consistent with rest of the toolbar.
44115
44116         Fix style and add the new images to the related file sets.
44117         https://bugs.webkit.org/show_bug.cgi?id=35307
44118
44119         * WebCore.gypi:
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:
44124
44125 2010-02-24  Xan Lopez  <xlopez@igalia.com>
44126
44127         Reviewed by Gustavo Noronha.
44128
44129         Get rid of an extra call to
44130         setNPWindowIfNeeded. updatePluginWidget already calls this for us
44131         if needed.
44132
44133         * plugins/gtk/PluginViewGtk.cpp:
44134         (WebCore::PluginView::platformStart):
44135
44136 2010-02-24  Xan Lopez  <xlopez@igalia.com>
44137
44138         Reviewed by Gustavo Noronha.
44139
44140         Try to sanitize a bit the geometry management of plugins.
44141
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.
44146
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
44150         still work.
44151
44152         * plugins/gtk/PluginViewGtk.cpp:
44153         (WebCore::PluginView::updatePluginWidget):
44154         (WebCore::PluginView::setNPWindowIfNeeded):
44155
44156 2010-02-23  Geoff Garen  <ggaren@apple.com>
44157
44158         Reviewed by Oliver Hunt.
44159
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.
44164
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:
44175
44176 2010-02-23  Dmitry Titov  <dimich@chromium.org>
44177
44178         Reviewed by David Levin.
44179
44180         Chromium: Use V8::TerminateExecution to actually terminate workers.
44181         https://bugs.webkit.org/show_bug.cgi?id=35137
44182
44183         Test: existing fast/workers/stress-js-execution.html which is currently failing
44184         on Mac and Linux bots for Chromium.
44185
44186         * bindings/v8/WorkerContextExecutionProxy.cpp:
44187         (WebCore::WorkerContextExecutionProxy::evaluate):
44188         * bindings/v8/WorkerScriptController.cpp:
44189         (WebCore::WorkerScriptController::forbidExecution):
44190
44191 2010-02-23  Enrica Casucci  <enrica@apple.com>
44192
44193         Reviewed by Simon Fraser.
44194
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
44198
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.
44201         
44202         Test: editing/execCommand/delete-image-in-anchor.html
44203
44204         * dom/Position.cpp:
44205         (WebCore::Position::getInlineBoxAndOffset):
44206
44207 2010-02-23  Tony Chang  <tony@chromium.org>
44208
44209         Reviewed by Eric Seidel.
44210
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
44214         browsers.
44215
44216         Test: editing/pasteboard/paste-list-004.html
44217
44218         * editing/ReplaceSelectionCommand.cpp:
44219         (WebCore::ReplaceSelectionCommand::insertAsListItems):
44220
44221 2010-02-23  Brady Eidson  <beidson@apple.com>
44222
44223         Reviewed by Tim Hatcher and Pavel Feldman.
44224
44225         Regression (r55107) - WebInspector docking is busted.
44226         https://bugs.webkit.org/show_bug.cgi?id=35274
44227
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.
44235
44236         * inspector/InspectorFrontendHost.cpp:
44237         (WebCore::InspectorFrontendHost::canAttachWindow):
44238         * inspector/InspectorFrontendHost.h:
44239         * inspector/InspectorFrontendHost.idl:
44240
44241         * inspector/front-end/inspector.js:
44242         (WebInspector.toggleAttach): Before attaching, ask the front-end-host if attaching is allowed.
44243
44244 2010-02-23  Mark Rowe  <mrowe@apple.com>
44245
44246         Reviewed by Geoff Garen.
44247
44248         <http://webkit.org/b/35287> ImageSourceCG::frameIsCompleteAtIndex returns false for all frames until image has completed loading
44249
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.
44256
44257         * platform/graphics/cg/ImageSourceCG.cpp:
44258         (WebCore::ImageSource::frameIsCompleteAtIndex):
44259
44260 2010-02-23  Enrica Casucci  <enrica@apple.com>
44261
44262         Reviewed by Darin Adler.
44263
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
44267         
44268         createFragmentFromMarkup did not handle correctly the case where documentElement is
44269         not an HTMLElement. The static cast to HTMLElement was causing createContextualFragment to
44270         crash.
44271         
44272         Test: editing/execCommand/insert-list-xml.xhtml
44273
44274         * dom/Element.cpp:
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.
44283
44284 2010-02-23  Steve Falkenburg  <sfalken@apple.com>
44285
44286         Reviewed by Adam Roben.
44287
44288         WebCore should stop throwing away the CGImageSourceRef on Windows to improve GIF performance
44289         https://bugs.webkit.org/show_bug.cgi?id=35309
44290
44291         * platform/graphics/cg/ImageSourceCG.cpp:
44292         (WebCore::ImageSource::clear):
44293
44294 2010-02-23  Leandro Pereira  <leandro@profusion.mobi>
44295
44296         Reviewed by Gustavo Noronha Silva.
44297
44298         Changes references of GOwnPtr to reflect their new place.
44299         http://webkit.org/b/35084
44300
44301         * WebCore/platform/KURL.cpp
44302         * WebCore/platform/TextEncoding.cpp:
44303         * WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp: 
44304         * WebCore/platform/text/gtk/TextCodecGtk.cpp:
44305
44306 2010-02-23  Brady Eidson  <beidson@apple.com>
44307
44308         Reviewed by Alexey Proskuryakov.
44309
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
44312
44313         Test: http/tests/loading/307-after-303-after-post.html
44314
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):
44321
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:]):
44329
44330 2010-02-23  Crystal Zhang  <haizhang@rim.com>
44331
44332         Unreviewed build fix.
44333
44334         Fix build error when enable plugin proxy: 'toRenderEmbeddedObject' identifier not found.
44335         As RenderEmbeddedObject inherits RenderPartObject and 'toRenderEmbeddedObject' belongs
44336         to former one.
44337
44338         * html/HTMLMediaElement.cpp:
44339
44340 2010-02-23  Evan Martin  <evan@chromium.org>
44341
44342         Reviewed by Jeremy Orlow.
44343
44344         [chromium] fix previous SVG-disabling patch
44345         https://bugs.webkit.org/show_bug.cgi?id=35298
44346
44347         * WebCore.gypi: rename variable
44348         * WebCore.gyp/WebCore.gyp: actually use the variable
44349
44350 2010-02-23  Michael Lotz <mmlr@mlotz.ch>
44351
44352         Reviewed by David Levin.
44353
44354         [Haiku] Fix conversion from BString to String
44355         https://bugs.webkit.org/show_bug.cgi?id=35082
44356
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().
44360
44361         Covered by existing tests.
44362
44363         * platform/text/haiku/StringHaiku.cpp:
44364         (WebCore::String::String):
44365
44366 2010-02-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
44367
44368         Reviewed by Eric Carlson.
44369
44370         [Qt] Prevent the media backend from handling non-audio or -video mime types
44371
44372         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
44373
44374 2010-02-23  Evan Martin  <evan@chromium.org>
44375
44376         Reviewed by Jeremy Orlow.
44377
44378         [chromium] Allow building without SVG
44379         https://bugs.webkit.org/show_bug.cgi?id=31522
44380
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).
44384
44385 2010-02-23  Leandro Pereira  <leandro@profusion.mobi>
44386
44387         Reviewed by Gustavo Noronha Silva.
44388
44389         Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
44390         again.
44391         http://webkit.org/b/35084
44392
44393         * WebCore/platform/gtk/DataObjectGtk.h:
44394         * WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
44395
44396 2010-02-23  Ariya Hidayat  <ariya.hidayat@gmail.com>
44397
44398         Reviewed by Kenneth Rohde Christiansen.
44399
44400         [Qt] Faster cut-off for rectangle drawing without shadow.
44401         https://bugs.webkit.org/show_bug.cgi?id=35267
44402
44403         * platform/graphics/qt/GraphicsContextQt.cpp:
44404         (WebCore::GraphicsContext::drawRect):
44405
44406 2010-02-23  Steve Block  <steveblock@google.com>
44407
44408         Reviewed by Jeremy Orlow.
44409
44410         Removes redundant Settings::setGeolocationEnabled and Settings::geolocationEnabled
44411         https://bugs.webkit.org/show_bug.cgi?id=35242
44412
44413         No new tests, removing dead code only.
44414
44415         * page/Settings.cpp:
44416         * page/Settings.h:
44417
44418 2010-02-23  Ben Murdoch  <benm@google.com>
44419
44420         Reviewed by Eric Seidel.
44421
44422         pageX/Y co-ordinates of TouchEvent should be 0,0
44423         https://bugs.webkit.org/show_bug.cgi?id=35239
44424
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.
44426
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.
44430
44431 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
44432
44433         Reviewed by Eric Seidel.
44434
44435         [Haiku] Various improvements to EventHandlerHaiku.
44436         https://bugs.webkit.org/show_bug.cgi?id=34685
44437
44438         Covered by existing tests.
44439
44440         Fix the build by not including PlatformScrollBar.h.
44441
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
44448             would be correct.
44449         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
44450             Implemented.
44451         (WebCore::EventHandler::eventActivatedView):
44452             Removed notImplemented() and added note.
44453         (WebCore::EventHandler::passMousePressEventToSubframe):
44454             Implemented.
44455         (WebCore::EventHandler::passMouseMoveEventToSubframe):
44456             Implemented.
44457         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
44458             Implemented.
44459         (WebCore::EventHandler::accessKeyModifiers):
44460             Added note.
44461
44462 2010-02-23  Tony Chang  <tony@chromium.org>
44463
44464         Not reviewed.
44465         Revert r55135 because the layout test is failing on all the bots.
44466         https://bugs.webkit.org/show_bug.cgi?id=34634
44467
44468         * editing/ReplaceSelectionCommand.cpp:
44469         (WebCore::ReplaceSelectionCommand::insertAsListItems):
44470
44471 2010-02-17  Steve Block  <steveblock@google.com>
44472
44473         Reviewed by Ariya Hidayat.
44474
44475         Adds cache to store Geolocation positions between browser sessions.
44476         https://bugs.webkit.org/show_bug.cgi?id=34084
44477
44478         This is required to fully implement the Geolocation maximumAge property.
44479         See Bug 30676.
44480
44481         No new tests, will add tests for maximumAge once complete.
44482
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.
44498
44499 2010-02-23  Yuta Kitamura  <yutak@chromium.org>
44500
44501         Reviewed by Dan Bernstein.
44502
44503         Fix alignment of vertical-align: text-bottom inside an inline-block.
44504         
44505         This patch is based on a fix provided by Takahito Hirano.
44506
44507         display: inline-block + vertical-align: text-bottom causes misalignment.
44508         https://bugs.webkit.org/show_bug.cgi?id=30846
44509
44510         Test: fast/inline-block/inline-block-vertical-align-2.html
44511
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
44515         text metrics.
44516
44517 2010-02-23  Steve Block  <steveblock@google.com>
44518
44519         Reviewed by David Levin.
44520
44521         Sets default values of V8 runtime enabler flags to match behavior with JSC
44522         https://bugs.webkit.org/show_bug.cgi?id=35095
44523
44524         No new tests, modifies a Chromium feature only.
44525
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'.
44528
44529 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
44530
44531         Reviewed by Eric Seidel.
44532
44533         [Haiku] Fix various issues in keyboard event generation.
44534         https://bugs.webkit.org/show_bug.cgi?id=34685
44535
44536         Covered by existing tests.
44537
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().
44544
44545         * platform/haiku/PlatformKeyboardEventHaiku.cpp:
44546         (WebCore::keyIdentifierForHaikuKeyCode):
44547         (WebCore::windowsKeyCodeForKeyEvent):
44548         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
44549         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
44550         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
44551
44552 2010-02-23  Steve Block  <steveblock@google.com>
44553
44554         Reviewed by Darin Adler.
44555
44556         Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame
44557         https://bugs.webkit.org/show_bug.cgi?id=34962
44558
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.
44562
44563         No new tests, as this is for the purposes of browser UI only.
44564
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
44574
44575 2010-02-23  Tony Chang  <tony@chromium.org>
44576
44577         Reviewed by Eric Seidel.
44578
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
44582         browsers.
44583
44584         Test: editing/pasteboard/paste-list-004.html
44585
44586         * editing/ReplaceSelectionCommand.cpp:
44587         (WebCore::ReplaceSelectionCommand::insertAsListItems):
44588
44589 2010-02-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44590
44591         Reviewed by Laszlo Gombos.
44592
44593         [Qt] Correct build problems while building QtWebKit inside Qt.
44594         https://bugs.webkit.org/show_bug.cgi?id=34975
44595
44596         * WebCore.pro: Change the condition !standalone_package to !QTDIR_build
44597
44598 2010-02-23  Noam Rosenthal  <noam.rosenthal@nokia.com>
44599
44600         Reviewed by Ariya Hidayat.
44601
44602         [Qt] Connect video with accelerated compositing
44603         https://bugs.webkit.org/show_bug.cgi?id=35276
44604
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
44609
44610         Test: http://double.co.nz/video_test/test1.html with AC turned on
44611
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
44627
44628 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
44629
44630         Reviewed by Eric Seidel.
44631
44632         Fix various issues in PlatformWheelEventHaiku.
44633         https://bugs.webkit.org/show_bug.cgi?id=34685
44634
44635         Covered by existing tests.
44636         
44637         Fixed coding style violations.
44638         Synced extracting the correct coordinates with Haiku WebKit implementation.
44639         Added extracting modifier key flags.
44640
44641         * platform/haiku/PlatformWheelEventHaiku.cpp:
44642         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
44643
44644 2010-02-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
44645
44646         Reviewed by Eric Seidel.
44647
44648         Build fix for PluginView
44649         https://bugs.webkit.org/show_bug.cgi?id=35230
44650
44651         No new tests, build fix only.
44652
44653         * plugins/PluginView.cpp:
44654         * plugins/PluginView.h:
44655         * plugins/PluginViewNone.cpp:
44656
44657 2010-02-23  Kwang Yul Seo  <skyul@company100.net>
44658
44659         Reviewed by Eric Seidel.
44660
44661         [BREWMP] Port ScriptController::createScriptInstanceForWidget
44662         https://bugs.webkit.org/show_bug.cgi?id=34413
44663
44664         * bindings/js/ScriptControllerBrew.cpp: Added.
44665         (WebCore::ScriptController::createScriptInstanceForWidget):
44666
44667 2010-02-23  José Millán Soto  <jmillan@igalia.com>
44668
44669         Reviewed by Eric Seidel.
44670
44671         [Gtk] Webkit crashes when using orca
44672         https://bugs.webkit.org/show_bug.cgi?id=35169
44673
44674         Made webkit_accessible_text_get_caret_offset check if end selection
44675         node is null.
44676
44677         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44678         (webkit_accessible_text_get_caret_offset):
44679
44680 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44681
44682         Reviewed by Eric Seidel.
44683
44684         [Haiku] Implemented PopupMenu support.
44685         https://bugs.webkit.org/show_bug.cgi?id=35078
44686
44687         Covered by existing tests.
44688
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
44693         accordingly.
44694
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):
44713             Implemented.
44714         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
44715             Implemented according to Gtk port.
44716
44717 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44718
44719         Reviewed by Eric Seidel.
44720
44721         Fix various issues in PlatformMouseEventHaiku.
44722         https://bugs.webkit.org/show_bug.cgi?id=34685
44723
44724         Covered by existing tests.
44725         
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.
44730
44731         * platform/haiku/PlatformMouseEventHaiku.cpp:
44732         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
44733
44734 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44735
44736         Reviewed by Eric Seidel.
44737
44738         [Haiku] Implement creating and filling platform gradients.
44739         https://bugs.webkit.org/show_bug.cgi?id=34683
44740
44741         Covered by existing tests.
44742
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.
44753
44754 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44755
44756         Reviewed by Eric Seidel.
44757
44758         Build fix for debug builds of GlyphPageTreeNode.cpp
44759         https://bugs.webkit.org/show_bug.cgi?id=34528
44760
44761         Covered by existing tests.
44762
44763         * platform/graphics/GlyphPageTreeNode.cpp:
44764             include <stdio.h> since printf() is used if NDEBUG is not defined.
44765
44766 2010-02-22  Nate Chapin  <japhet@chromium.org>
44767
44768         Unreviewed, Chromium build fix.
44769
44770         Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements.
44771
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.
44775
44776         * bindings/scripts/CodeGeneratorV8.pm:
44777
44778 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
44779
44780         Rubber-stamped by Geoff Garen.
44781
44782         Rename RuntimeObjectImp to RuntimeObject.
44783
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):
44807         (JSC::Bindings::):
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):
44814         (JSC::Bindings::):
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:
44845
44846 2010-02-19  Peter Kasting  <pkasting@google.com>
44847
44848         Reviewed by Eric Seidel.
44849
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
44853
44854         Test: fast/images/bad-png.html
44855
44856         * platform/image-decoders/png/PNGImageDecoder.cpp:
44857         (WebCore::PNGImageReader::decode):
44858
44859 2010-02-22  Brady Eidson  <beidson@apple.com>
44860
44861         Reviewed by Tim Hatcher.
44862
44863         Disable WebView docking to views that are too small.
44864         <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
44865
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:
44872
44873 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
44874
44875         Build fix.
44876
44877         * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual!
44878
44879 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
44880
44881         Undo a small part of the previous commit.
44882
44883         * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local
44884         variable as RefPtr for safety.
44885
44886 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
44887
44888         Reviewed by Darin Adler.
44889
44890         https://bugs.webkit.org/show_bug.cgi?id=35260
44891         Eliminate __apple_runtime_object
44892
44893         No change in functionality, so no tests.
44894
44895         * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it.
44896
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.
44905
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
44910         name getters.
44911
44912         * bindings/js/JSPluginElementFunctions.h: Export pluginInstance().
44913
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
44921         RuntimeObjectImp.
44922
44923 2010-02-22  John Sullivan  <sullivan@apple.com>
44924         
44925         Reviewed by Tim Hatcher.
44926
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
44929
44930         No new tests because this code path is not used for JS-initiated changes.
44931
44932         * html/HTMLSelectElement.cpp:
44933         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
44934         Bail out if the to-be-selected index matches the already-selected index.
44935
44936 2010-02-22  Enrica Casucci  <enrica@apple.com>
44937
44938         Reviewed by Dan Bernstein.
44939
44940         Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
44941         <rdar://problem/7615758>
44942         https://bugs.webkit.org/show_bug.cgi?id=35060
44943
44944         Test: editing/selection/extend-byline-withfloat.html
44945
44946         * editing/visible_units.cpp:
44947         (WebCore::previousLinePosition): Skip elements with zero height.
44948         (WebCore::nextLinePosition): Skip elements with zero height.
44949
44950 2010-02-22  Nate Chapin  <japhet@chromium.org>
44951
44952         Unreviewed, Chromium build fix.
44953
44954         * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge.
44955
44956 2010-02-22  Nate Chapin  <japhet@chromium.org>
44957
44958         Reviewed by Dimitri Glazkov.
44959
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 
44963         except DOMWindow.
44964
44965         https://bugs.webkit.org/show_bug.cgi?id=35245
44966
44967         * Android.v8bindings.mk:
44968         * WebCore.gypi:
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:
44990         * dom/Node.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:
45000
45001 2010-02-22  Chris Fleizach  <cfleizach@apple.com>
45002
45003         Reviewed by Beth Dakin.
45004
45005         AX: AXFocused is not writable like it should be on nodes
45006         https://bugs.webkit.org/show_bug.cgi?id=35186
45007
45008         Test: platform/mac/accessibility/element-focus.html
45009
45010         * accessibility/AccessibilityRenderObject.cpp:
45011         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
45012
45013 2010-02-22  Simon Fraser  <simon.fraser@apple.com>
45014
45015         Reviewed by Dan Bernstein, Darin Adler.
45016
45017         Remove addScrolledContentOffset/subtractScrolledContentOffset
45018         https://bugs.webkit.org/show_bug.cgi?id=35225
45019
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.
45023         
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.
45026         
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):
45051
45052 2009-02-22  Adam Langley  <agl@google.com>
45053
45054         Reviewed by Darin Fisher.
45055
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
45059         for a new size.
45060
45061         This patch adds support for querying this via ChromiumBridge.
45062
45063         https://bugs.webkit.org/show_bug.cgi?id=33065
45064
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:
45077
45078 2010-02-22  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
45079
45080         Build fix for make distcheck.
45081
45082         * GNUmakefile.am:
45083
45084 2010-02-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
45085
45086         Reviewed by Kenneth Rohde Christiansen.
45087
45088         Fix compiler warning "suggest parentheses around"
45089         https://bugs.webkit.org/show_bug.cgi?id=35197
45090
45091         No new tests as there is no new functionality.
45092
45093         * wml/WMLVariables.cpp:
45094         (WebCore::substituteVariableReferences):
45095
45096 2010-02-22  Gustavo Noronha Silva  <gns@gnome.org>
45097
45098         Reviewed by Xan Lopez.
45099
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
45102
45103         Store message flags in WebCore objects, and set them on the
45104         SoupMessage, when creating one from them.
45105
45106         No behaviour change.
45107
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):
45122
45123 2010-02-22  Steve Block  <steveblock@google.com>
45124
45125         Reviewed by Nate Chapin.
45126
45127         Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded
45128         https://bugs.webkit.org/show_bug.cgi?id=35238
45129
45130         No new tests, build fix only.
45131
45132         * bindings/v8/V8DOMWrapper.cpp:
45133         (WebCore::globalObjectPrototypeIsDOMWindow):
45134
45135 2010-02-22  Steve Block  <steveblock@google.com>
45136
45137         Reviewed by Simon Fraser.
45138
45139         Simplifies calculation of the transform in RenderLayer::paintLayer
45140         https://bugs.webkit.org/show_bug.cgi?id=35101
45141
45142         No new tests, optimization only.
45143
45144         * rendering/RenderLayer.cpp:
45145         (WebCore::RenderLayer::paintLayer):
45146
45147 2010-02-22  Nicholas Young  <nicholas.young@nokia.com>
45148
45149         Reviewed by Tor Arne Vestbø.
45150
45151         [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7
45152
45153         https://bugs.webkit.org/show_bug.cgi?id=34631
45154
45155         No new tests. This patch only affects multimedia backend.
45156
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.
45220
45221 2010-02-22  Alexander Pavlov  <apavlov@chromium.org>
45222
45223         Not reviewed: mac build fix
45224
45225         * bindings/js/ScriptDebugServer.cpp:
45226         (WebCore::ScriptDebugServer::ScriptDebugServer):
45227
45228 2010-02-22  Alexander Pavlov  <apavlov@chromium.org>
45229
45230         Reviewed by Pavel Feldman.
45231
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
45234
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:
45261
45262 2010-02-22  Mark Rowe  <mrowe@apple.com>
45263
45264         Rubber-stamped by Sam Weinig and Maciej Stachowiak.
45265
45266         REGRESSION (r55039): Animation starts from near end when loaded over slow network
45267         <http://webkit.org/b/35222> / <rdar://problem/7673523>
45268
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.
45271
45272         * platform/graphics/BitmapImage.cpp:
45273         (WebCore::BitmapImage::startAnimation):
45274
45275 2010-02-22  Maciej Stachowiak  <mjs@apple.com>
45276
45277         Not reviewed, build fix.
45278         
45279         Revert the previous change.
45280         
45281 2010-02-21  Maciej Stachowiak  <mjs@apple.com>
45282
45283         Reviewed by Darin Adler.
45284
45285         Cache JavaScript wrappers inline in DOM nodes
45286         https://bugs.webkit.org/show_bug.cgi?id=35226
45287         <rdar://problem/7664202>
45288
45289         8.8% speedup on Dromaeo DOM Core tests.
45290         3.3% speedup on Hixie DOM Core tests.
45291         
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.
45315         
45316         Add new files to build.
45317
45318         * GNUmakefile.am:
45319         * WebCore.gypi:
45320         * WebCore.pro:
45321         * WebCore.vcproj/WebCore.vcproj:
45322
45323 2010-02-22  Pavel Feldman  <pfeldman@chromium.org>
45324
45325         Not reviewed: windows build fix.
45326
45327 2010-02-21  Pavel Feldman  <pfeldman@chromium.org>
45328
45329         Reviewed by Timothy Hatcher.
45330
45331         Web Inspector: stop on inline breakpoints on reload.
45332         - ScriptBreakpoint struct has been introduced and reused in InspectorController
45333           and debug server.
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
45338               BreakpointInfo.
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.
45350
45351         https://bugs.webkit.org/show_bug.cgi?id=28799
45352
45353         * GNUmakefile.am:
45354         * WebCore.base.exp:
45355         * WebCore.gypi:
45356         * WebCore.order:
45357         * WebCore.pro:
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):
45385         (WebCore::toPage):
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):
45497         * page/Page.cpp:
45498         (WebCore::Page::Page):
45499         * platform/android/TemporaryLinkStubs.cpp:
45500
45501 2010-02-21  Gavin Barraclough  <barraclough@apple.com>
45502
45503         Reviewed by Oliver Hunt.
45504
45505         Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const.
45506
45507         * platform/text/StringImpl.cpp:
45508         (WebCore::StringImpl::sharedBuffer):
45509         * platform/text/StringImpl.h:
45510
45511 2010-02-07  Yuzo Fujishima  <yuzo@google.com>
45512
45513         Reviewed by Eric Seidel.
45514
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
45519
45520         Test: printing/page-break-always-for-overflow.html
45521
45522         * rendering/RenderBlock.cpp:
45523         (WebCore::RenderBlock::paintChildren):
45524         * rendering/RenderBlock.h:
45525
45526 2010-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
45527
45528         Reviewed by Eric Seidel.
45529
45530         Remove auto_ptr usage in WebCore.
45531         https://bugs.webkit.org/show_bug.cgi?id=35157
45532
45533         The changes consists of:
45534
45535         - Changing auto_ptr arguments or return types to PassOwnPtr.
45536
45537         - Replacing local auto_ptr by OwnPtr.
45538
45539         - Removing now unneeded <memory> inclusion.
45540
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:
45556         (WebCore::):
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):
45577
45578 2010-02-21  Simon Fraser  <simon.fraser@apple.com>
45579
45580         Reviewed by Dan Bernstein.
45581
45582         https://bugs.webkit.org/show_bug.cgi?id=22215
45583         Avoid calling absoluteClippedOverflowRect() so many times
45584
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.
45590
45591         * rendering/RenderLayer.cpp:
45592         (WebCore::RenderLayer::updateLayerPositions):
45593         * rendering/RenderObject.cpp:
45594         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
45595         * rendering/RenderObject.h:
45596
45597 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
45598
45599         Reviewed by Maciej Stachowiak.
45600
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
45603
45604         * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for
45605         other JS types.
45606
45607 2010-02-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
45608
45609         Reviewed by Darin Adler.
45610
45611         Fix compiler warning "suggest parentheses around"
45612         https://bugs.webkit.org/show_bug.cgi?id=35197
45613
45614         No new tests as there is no new functionality.
45615
45616         * html/DateComponents.cpp:
45617         (WebCore::beforeGregorianStartDate):
45618         * plugins/PluginDatabase.cpp:
45619         (WebCore::PluginDatabase::findPlugin):
45620
45621 2010-02-20  Noam Rosenthal  <noam.rosenthal@nokia.com>
45622
45623         Reviewed by Laszlo Gombos.
45624
45625         [Qt] ENABLE_3D_RENDERING should be optional
45626         https://bugs.webkit.org/show_bug.cgi?id=35100
45627
45628         No new tests: this is a build fix.
45629
45630         * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test
45631
45632 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
45633
45634         Reviewed by Maciej Stachowiak.
45635
45636         https://bugs.webkit.org/show_bug.cgi?id=23742
45637         Applet methods can not return arrays to JS
45638
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.
45641
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.
45646
45647 2010-02-20  Pavel Feldman  <pfeldman@chromium.org>
45648
45649         Reviewed by Timothy Hatcher.
45650
45651         Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic.
45652
45653         https://bugs.webkit.org/show_bug.cgi?id=35192
45654
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):
45660
45661 2010-02-20  Pavel Feldman  <pfeldman@chromium.org>
45662
45663         Reviewed by Timothy Hatcher.
45664
45665         Web Inspector: need to highlight the evaluated expression used for popovers.
45666
45667         https://bugs.webkit.org/show_bug.cgi?id=35126
45668
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:
45676
45677 2010-02-20  Gustavo Noronha Silva  <gns@gnome.org>
45678
45679         Roll out 55047 because it causes layout, and API tests to fail
45680
45681 2010-02-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
45682
45683         Reviewed by Xan Lopez.
45684
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
45687
45688         Refactor updating of ResourceResponse objects from soup message
45689         objects, to avoid code duplication.
45690
45691         No behaviour change.
45692
45693         * platform/network/soup/ResourceHandleSoup.cpp:
45694         (WebCore::fillResponseFromMessage):
45695         * platform/network/soup/ResourceResponseSoup.cpp:
45696         (WebCore::ResourceResponse::updateFromSoupMessage):
45697
45698 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
45699
45700         Reviewed by Maciej Stachowiak.
45701
45702         https://bugs.webkit.org/show_bug.cgi?id=35190
45703         Don't use system malloc in Java bindings
45704
45705         * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector.
45706
45707 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
45708
45709         Reviewed by Maciej Stachowiak.
45710
45711         https://bugs.webkit.org/show_bug.cgi?id=9761
45712         LiveConnect string conversion fails for java.lang.Object
45713
45714         Can't test Java in DRT (I wonder why).
45715
45716         * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
45717         Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
45718
45719 2010-02-19  Maciej Stachowiak  <mjs@apple.com>
45720
45721         Reviewed by David Levin.
45722
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
45725
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.
45731
45732         * Configurations/FeatureDefines.xcconfig:
45733         * GNUmakefile.am:
45734         * WebCore.pri:
45735         * html/HTMLIFrameElement.cpp:
45736         (WebCore::HTMLIFrameElement::parseMappedAttribute):
45737
45738 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
45739
45740         Reviewed by Maciej Stachowiak.
45741
45742         https://bugs.webkit.org/show_bug.cgi?id=35132
45743         <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
45744
45745         * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse
45746         pointer when above a plug-in or applet to prevent flicker.
45747
45748 2010-02-18  Peter Kasting  <pkasting@google.com>
45749
45750         Reviewed by Adam Barth.
45751
45752         Fix regression in calculating an animated image's start time.
45753         https://bugs.webkit.org/show_bug.cgi?id=35115
45754
45755         * platform/graphics/BitmapImage.cpp:
45756         (WebCore::BitmapImage::startAnimation):
45757
45758 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
45759
45760         Reviewed by Geoffrey Garen.
45761
45762         https://bugs.webkit.org/show_bug.cgi?id=35178
45763         LiveConnect code uses hand-rolled fprintf logging
45764
45765         Changed to use LOG, LOG_ERROR and ASSERT.
45766
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.
45775
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
45778         needs.
45779
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):
45811
45812 2010-02-19  Dirk Schulze  <krit@webkit.org>
45813
45814         Reviewed by Nikolas Zimmermann.
45815
45816         RenderSVGResourceMasker causes an Assert on Wind builds during DRT
45817         https://bugs.webkit.org/show_bug.cgi?id=35182
45818
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
45825
45826         * rendering/RenderSVGResourceMasker.cpp:
45827         (WebCore::RenderSVGResourceMasker::invalidateClient):
45828
45829 2010-02-18  Peter Kasting  <pkasting@google.com>
45830
45831         Reviewed by Darin Fisher.
45832
45833         Make Pasteboard::writeImage() safe against NULL cachedImages, and clean
45834         up some code.
45835         https://bugs.webkit.org/show_bug.cgi?id=35136
45836
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().
45851
45852 2010-02-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
45853
45854         Rubberstamped by Noam Rosenthal, who wrote the original code.
45855
45856         Make mouse wheel scrolling work when using the GraphicsLayer.
45857
45858         * platform/graphics/qt/GraphicsLayerQt.cpp:
45859         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
45860
45861 2010-02-19  Nate Chapin  <japhet@chromium.org>
45862
45863         Reviewed by Dimitri Glazkov.
45864
45865         [V8] Fix Worker crash regression in r54972
45866
45867         https://bugs.webkit.org/show_bug.cgi?id=35166
45868
45869         * bindings/v8/V8DOMWrapper.cpp:
45870         (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext.
45871
45872 2010-02-19  Steve Block  <steveblock@google.com>
45873
45874         Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests
45875
45876         * bindings/generic/RuntimeEnabledFeatures.cpp:
45877         * storage/Database.cpp:
45878
45879 2010-02-19  Steve Block  <steveblock@google.com>
45880
45881         Reviewed by David Levin.
45882
45883         Sets default values of V8 runtime enabler flags to match behavior with JSC
45884         https://bugs.webkit.org/show_bug.cgi?id=35095
45885
45886         No new tests, modifies a Chromium feature only.
45887
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'.
45890
45891 2010-02-19  Alexander Pavlov  <apavlov@chromium.org>
45892
45893         Reviewed by Pavel Feldman.
45894
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
45898
45899         Test: inspector/elements-panel-xhtml-structure.xhtml
45900
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):
45912
45913 2010-02-19  Pavel Feldman  <pfeldman@chromium.org>
45914
45915         Not reviewed. Chromium build fix: reverting r54997 and r54998.
45916
45917         * bindings/v8/custom/V8LocationCustom.cpp:
45918         (WebCore::V8Location::protocolAccessorSetter):
45919         * platform/KURLGoogle.cpp:
45920         (WebCore::KURL::setProtocol):
45921         (WebCore::KURL::isHierarchical):
45922
45923 2010-02-17  Philippe Normand  <pnormand@igalia.com>
45924
45925         Reviewed by Eric Seidel.
45926
45927         [GTK] RTP/RTSP streams playback support
45928         https://bugs.webkit.org/show_bug.cgi?id=33662
45929
45930         Added live pipelines support in updateStates().
45931
45932         * manual-tests/video-rtsp.html: Added.
45933         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45934         (WebCore::MediaPlayerPrivate::seek):
45935         (WebCore::MediaPlayerPrivate::updateStates):
45936
45937 2010-02-18  Yaar Schnitman  <yaar@chromium.org>
45938
45939         Reviewed by Darin Adler.
45940
45941         Normalize custom ctors for Image, Option, Audio
45942         https://bugs.webkit.org/show_bug.cgi?id=34782
45943
45944         Test: fast/js/custom-constructors.html
45945
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:
45980
45981 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
45982
45983         No Review.
45984
45985         Remove a couple of extraneous spaces that got added to the project file
45986         by hand-ending.
45987
45988         * WebCore.xcodeproj/project.pbxproj:
45989
45990 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
45991
45992         Reviewed by Dan Bernstein.
45993
45994         <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
45995         
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.
45999         
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.
46005
46006 2010-02-18  Dan Bernstein  <mitz@apple.com>
46007
46008         Reviewed by John Sullivan.
46009
46010         <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;” element
46011         when there are pending style sheets
46012
46013         Test: fast/css/getComputedStyle/pending-stylesheet.html
46014
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.
46021
46022         * dom/Document.cpp:
46023         (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
46024         m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().
46025         * dom/Document.h:
46026         * dom/Element.cpp:
46027         (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().
46028
46029 2010-02-18  Dirk Schulze  <krit@webkit.org>
46030
46031         Reviewed by Nikolas Zimmermann.
46032
46033         Move SVGResources to Renderers, starting with Masker
46034         https://bugs.webkit.org/show_bug.cgi?id=35020
46035
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.
46043
46044         This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
46045         Another benefit is the much more useful result in DRT on using masker.
46046
46047         * Android.mk:
46048         * GNUmakefile.am:
46049         * WebCore.gypi:
46050         * WebCore.pro:
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:
46102         (WebCore::write):
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):
46118         (WebCore::write):
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:
46133         (WebCore::):
46134         (WebCore::SVGResource::isMarker):
46135         * svg/graphics/SVGResourceMasker.cpp: Removed.
46136         * svg/graphics/SVGResourceMasker.h: Removed.
46137
46138 2010-02-18  Dumitru Daniliuc  <dumi@chromium.org>
46139
46140         Reviewed by Dimitri Glazkov.
46141
46142         Allow creating/dropping virtual tables when the module is FTS2.
46143
46144         https://bugs.webkit.org/show_bug.cgi?id=34867
46145
46146         * storage/DatabaseAuthorizer.cpp:
46147         (WebCore::DatabaseAuthorizer::createVTable):
46148         (WebCore::DatabaseAuthorizer::dropVTable):
46149
46150 2010-02-18  Peter Kasting  <pkasting@google.com>
46151
46152         Not reviewed, Chromium build fix.
46153
46154         r54963 had a typo in the WebCore.gypi change.
46155         https://bugs.webkit.org/show_bug.cgi?id=35003
46156
46157         * WebCore.gypi:
46158
46159 2010-02-18  Vangelis Kokkevis  <vangelis@chromium.org>
46160
46161         Reviewed by Simon Fraser.
46162
46163         Changing forward declaration of TimingFunction in GraphicsLayer.h from
46164         class to struct to match its actual definition in TimingFunction.h
46165
46166         https://bugs.webkit.org/show_bug.cgi?id=35069
46167
46168
46169         * platform/graphics/GraphicsLayer.h:
46170            Change forward declaration from: class TimingFunction to:
46171            struct TimingFunction
46172
46173 2010-02-18  Noam Rosenthal  <noam.rosenthal@nokia.com>
46174
46175         Reviewed by Kenneth Rohde Christiansen.
46176
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.
46183
46184         Additions to existing tests: see WebKit/qt/tests
46185
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
46201
46202 2010-02-18  Peter Kasting  <pkasting@google.com>
46203
46204         Not reviewed, bustage fix.
46205
46206         An extraneous line in r54839 broke GIF animation.
46207
46208         * platform/image-decoders/gif/GIFImageReader.cpp:
46209         (GIFImageReader::read):
46210
46211 2010-02-18  Dan Bernstein  <mitz@apple.com>
46212
46213         Reviewed by Simon Fraser.
46214
46215         <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
46216         https://bugs.webkit.org/show_bug.cgi?id=34946
46217
46218         Test: fast/repaint/selection-gap-overflow-scroll-2.html
46219
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.
46224
46225 2010-02-17  Dumitru Daniliuc  <dumi@chromium.org>
46226
46227         Reviewed by Darin Adler.
46228
46229         Change the V8 and JSC SQLStatementErrorCallback to interpret
46230         'undefined' return values as 'true', as required by the spec.
46231
46232         https://bugs.webkit.org/show_bug.cgi?id=35048
46233
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:
46243
46244 2010-02-17  Ojan Vafai  <ojan@chromium.org>
46245
46246         Reviewed by Adam Barth.
46247
46248         keyboard selection sometimes moves the wrong end of the selection for Win/Linux
46249         https://bugs.webkit.org/show_bug.cgi?id=35066
46250
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
46254         extending.
46255
46256         Test: editing/selection/extend-after-mouse-selection.html
46257
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:
46268
46269 2010-02-18  Timothy Hatcher  <timothy@apple.com>
46270
46271         Add "with" to the list of keywords to syntax highlight.
46272
46273         http://webkit.org/b/35123
46274
46275         Reviewed by Pavel Feldman.
46276
46277         * inspector/front-end/SourceJavaScriptTokenizer.js:
46278         (WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords.
46279         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
46280         (WebInspector.SourceJavaScriptTokenizer): Ditto.
46281
46282 2010-02-17  Peter Kasting  <pkasting@google.com>
46283
46284         Reviewed by Adam Barth.
46285
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
46289
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=):
46302
46303 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46304
46305         Reviewed by Timothy Hatcher.
46306
46307         Web Inspector: multiple popovers on screen at the same time.
46308
46309         https://bugs.webkit.org/show_bug.cgi?id=35105
46310
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):
46316
46317 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46318
46319         Reviewed by Timothy Hatcher.
46320
46321         Web Inspector: Expand Object.__proto__ properly.
46322
46323         https://bugs.webkit.org/show_bug.cgi?id=35113
46324
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):
46335
46336 2010-02-18  Nate Chapin  <japhet@chromium.org>
46337
46338         Reviewed by Adam Barth.
46339
46340         [V8] Merge the DOMWindow and WorkerContext object wrapping code paths,
46341         and use a faster method of disambiguating between the types of contexts.
46342
46343         https://bugs.webkit.org/show_bug.cgi?id=35009
46344
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:
46351
46352 2010-02-12  Brett Wilson  <brettw@chromium.org>
46353
46354         Reviewed by Adam Barth.
46355
46356         Update the Google-URL version of KURL and the V8 bindings to the new
46357         behavior of KURL.IsStandard.
46358
46359         https://bugs.webkit.org/show_bug.cgi?id=34859
46360
46361         This is covered by fast/dom/Window/invalid-protocol.html
46362
46363         * bindings/v8/custom/V8LocationCustom.cpp:
46364         (WebCore::V8Location::protocolAccessorSetter):
46365         * platform/KURLGoogle.cpp:
46366         (WebCore::KURL::setProtocol):
46367         (WebCore::KURL::isHierarchical):
46368
46369 2010-02-18  Xan Lopez  <xlopez@igalia.com>
46370
46371         Reviewed by Gustavo Noronha.
46372
46373         Remove some duplication between PluginView and Widget methods, and
46374         move the setSelfVisible calls to the parent class.
46375
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):
46383
46384 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
46385
46386         Reviewed by Darin Adler.
46387
46388         <rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks
46389
46390         Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods
46391         used for Core Graphics gradient drawing.
46392
46393         * platform/graphics/Gradient.h:
46394         * platform/graphics/cg/GradientCG.cpp:
46395         (WebCore::Gradient::platformDestroy):
46396         (WebCore::Gradient::paint):
46397
46398 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46399
46400         Reviewed by Timothy Hatcher.
46401
46402         Web Inspector: on-hover evaluation renders nodes and arrays as strings.
46403
46404         https://bugs.webkit.org/show_bug.cgi?id=35103
46405
46406         * inspector/front-end/SourceFrame.js:
46407         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
46408
46409 2010-02-18  Brady Eidson  <beidson@apple.com>
46410
46411         Reviewed by Sam Weinig.
46412
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
46415
46416         Test: fast/loader/api-test-new-window-data-load-base-url.html
46417
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.
46423
46424 2010-02-18  Nate Chapin  <japhet@chromium.org>
46425
46426         Reviewed by Eric Seidel.
46427
46428         [V8] Correctly handle the case where the event field on the
46429         global object is a v8::Object, but not a DOM wrapper.
46430
46431         https://bugs.webkit.org/show_bug.cgi?id=34899
46432
46433         Test: fast/dom/Window/window-event-override-no-crash.html
46434
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:
46441
46442 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46443
46444         Not reviewed, Qt build fix.
46445
46446         * inspector/front-end/WebKit.qrc:
46447
46448 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46449
46450         Reviewed by Timothy Hatcher.
46451
46452         Web Inspector: Implement evaluate-on-hover for scripts panel.
46453
46454         https://bugs.webkit.org/show_bug.cgi?id=35003
46455  
46456         * WebCore.gypi:
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.
46500
46501 2010-02-18  Ben Murdoch  <benm@google.com>
46502
46503         Reviewed by Jeremy Orlow.
46504
46505         [v8] Complete upstreaming of V8 Touch Event bindings
46506         https://bugs.webkit.org/show_bug.cgi?id=35094
46507
46508         No new tests required.
46509
46510         * bindings/v8/V8Index.cpp: Add generated touch event headers.
46511
46512 2010-02-18  Steve Block  <steveblock@google.com>
46513
46514         Reviewed by Jeremy Orlow.
46515
46516         Updates Android V8 build to use DerivedSourcesAllInOne.cpp
46517         https://bugs.webkit.org/show_bug.cgi?id=35083
46518
46519         No new tests, build fix only.
46520
46521         * Android.derived.v8bindings.mk:
46522         * Android.v8bindings.mk:
46523
46524 2010-02-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
46525
46526         Reviewed by Xan Lopez.
46527
46528         fast/frames/iframe-reparenting.html crashing on GTK Debug bots
46529         https://bugs.webkit.org/show_bug.cgi?id=35081
46530
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
46533         away.
46534
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.
46538
46539         Test: fast/frames/iframe-reparenting.html
46540
46541         * platform/network/soup/ResourceHandleSoup.cpp:
46542         (WebCore::parseDataUrl):
46543
46544 2010-02-18  Ben Murdoch  <benm@google.com>
46545
46546         Reviewed by Nate Chapin.
46547
46548         [v8] [Android] V8 bindings for touch events are missing.
46549         https://bugs.webkit.org/show_bug.cgi?id=33795
46550
46551         No new tests as this just enables touch events in V8. Existing touch tests suffice.
46552
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.
46561
46562 2010-02-18  William Chan  <willchan@chromium.org>
46563
46564         Reviewed by Adam Barth.
46565
46566         https://bugs.webkit.org/show_bug.cgi?id=35071
46567         Disable loader limiting of requests per host for the chromium port.
46568
46569         No tests because we're only changing a constant.
46570
46571         * platform/network/chromium/ResourceRequest.cpp:
46572         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
46573
46574 2010-02-18  Xan Lopez  <xlopez@igalia.com>
46575
46576         Reviewed by Eric Seidel.
46577
46578         [Linux] Webkit incompatible with Java plugins
46579         https://bugs.webkit.org/show_bug.cgi?id=24912
46580
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.
46587
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):
46601
46602 2010-02-17  Dmitry Titov  <dimich@chromium.org>
46603
46604         Reviewed by David Levin, Darin Fisher, Simon Hausmann.
46605
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
46608
46609         Test: fast/frames/iframe-reparenting-new-page.html
46610
46611         * html/HTMLFrameElementBase.cpp:
46612         (WebCore::HTMLFrameElementBase::setName):
46613         Move the code setting the frame name into a separate function.
46614
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(...);
46619
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.
46625
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.
46636
46637         * page/Frame.cpp:
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.
46643
46644         * page/Frame.h:
46645
46646 2010-02-17  Tony Chang  <tony@chromium.org>
46647
46648         Reviewed by Eric Seidel.
46649
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
46652
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.
46656
46657         This change is covered by existing layout tests.
46658
46659         * editing/ReplaceSelectionCommand.cpp:
46660         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
46661         (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
46662         * editing/ReplaceSelectionCommand.h:
46663
46664 2010-02-17  Tony Chang  <tony@chromium.org>
46665
46666         Reviewed by Eric Seidel.
46667
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
46671         applied.
46672
46673         Test: editing/pasteboard/page-zoom.html
46674
46675         * editing/ReplaceSelectionCommand.cpp:
46676         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
46677
46678 2010-02-17  Tony Chang  <tony@chromium.org>
46679
46680         Reviewed by Eric Seidel.
46681
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
46686         be copied.
46687
46688         Small cleanups to insertAsListItems to make variable names
46689         more descriptive.
46690
46691         Test: editing/pasteboard/paste-list-003.html
46692
46693         * editing/ReplaceSelectionCommand.cpp:
46694         (WebCore::ReplaceSelectionCommand::doApply):
46695         (WebCore::ReplaceSelectionCommand::insertAsListItems):
46696
46697 2010-02-17  Kwang Yul Seo  <skyul@company100.net>
46698
46699         Reviewed by Eric Seidel.
46700
46701         [BREWMP] Port PlatformKeyboardEvent
46702         https://bugs.webkit.org/show_bug.cgi?id=34794
46703
46704         Retrieve the type, key code, text and modifiers from BREW's keyboard event.
46705
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):
46714
46715 2010-02-17  Hayato Ito  <hayato@chromium.org>
46716
46717         Reviewed by Eric Seidel.
46718
46719         Support CSS page-break-inside with a value of 'avoid'.
46720
46721         https://bugs.webkit.org/show_bug.cgi?id=34080
46722
46723         Test: printing/page-break-inside.html
46724
46725         * rendering/RenderBlock.cpp:
46726         (WebCore::RenderBlock::paintChildren):
46727
46728 2010-02-17  Fumitoshi Ukai  <ukai@chromium.org>
46729
46730         Reviewed by Alexey Proskuryakov.
46731
46732         WebSocket bufferedAmount should not be 0 when send after close.
46733         https://bugs.webkit.org/show_bug.cgi?id=34633
46734
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.
46738         
46739         Test: websocket/tests/bufferedAmount-after-close.html
46740
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:
46764
46765 2010-02-17  Yuzo Fujishima  <yuzo@google.com>
46766
46767         Reviewed by Eric Seidel.
46768
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
46772
46773         Test: fast/css/first-letter-first-line-hover.html
46774
46775         * dom/Node.cpp:
46776         (WebCore::Node::diff):
46777         * rendering/style/RenderStyle.cpp:
46778         (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
46779         * rendering/style/RenderStyle.h:
46780         * rendering/style/RenderStyleConstants.h:
46781         (WebCore::):
46782
46783 2010-02-17  Kwang Yul Seo  <skyul@company100.net>
46784
46785         Reviewed by Eric Seidel.
46786
46787         [BREWMP] Add WebCore::prefetchDNS
46788         https://bugs.webkit.org/show_bug.cgi?id=34873
46789
46790         DNS prefetching is not implemented because the maximum number
46791         of UDP sockets is quite small in most BREW devices.
46792
46793         * platform/network/brew/DNSBrew.cpp: Added.
46794         (WebCore::prefetchDNS):
46795
46796 2010-02-17  Kent Tamura  <tkent@chromium.org>
46797
46798         Reviewed by Eric Seidel.
46799
46800         Introduces new Icon loading interface in order to support
46801         asynchronous loading.
46802         https://bugs.webkit.org/show_bug.cgi?id=32054
46803
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.
46809
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.
46814
46815         The existing Icon::createIconForFiles() implementations should be
46816         moved to Chrome::iconForFiles(). We're going to remove
46817         Icon::createIconForFiles().
46818
46819         * loader/EmptyClients.h:
46820         (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation.
46821         * page/Chrome.cpp:
46822         (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles().
46823         * page/Chrome.h:
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):
46843
46844 2010-02-17  Mark Rowe  <mrowe@apple.com>
46845
46846         Reviewed by Darin Adler.
46847
46848         Bug 35065: Delay between page loading and animated GIF playing
46849         <http://webkit.org/b/35065> / <rdar://problem/7109548>
46850
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.
46857
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
46861         the next frame.
46862
46863 2010-02-17  Stephan Aßmus  <superstippi@gmx.de>
46864
46865         Reviewed by Eric Seidel.
46866
46867         Implemented homeDirectoryPath() and listDirectory() on the Haiku platform.
46868         https://bugs.webkit.org/show_bug.cgi?id=34687
46869
46870         Covered by existing tests.
46871
46872         * platform/haiku/FileSystemHaiku.cpp:
46873         (WebCore::homeDirectoryPath): Implemented
46874         (WebCore::listDirectory): Implemented
46875
46876 2010-02-17  Kwang Yul Seo  <skyul@company100.net>
46877
46878         Reviewed by Eric Seidel.
46879
46880         [BREWMP] Port userIdleTime
46881         https://bugs.webkit.org/show_bug.cgi?id=34259
46882
46883         Return an arbitrarily high userIdleTime so that releasing pages from the page
46884         cache isn't postponed.
46885
46886         * platform/brew/SystemTimeBrew.cpp: Added.
46887         (WebCore::userIdleTime):
46888
46889 2010-02-17  Dirk Schulze  <krit@webkit.org>
46890
46891         Rolling out r54909. Breaks SL and Win.
46892
46893 2010-02-17  Dumitru Daniliuc  <dumi@chromium.org>
46894
46895         Reviewed by Dimitri Glazkov.
46896
46897         Fix Chromium's bindings for Database.transaction(): a 'null'
46898         callback should be treated as no callback.
46899
46900         Test: storage/null-callbacks.html
46901
46902         https://bugs.webkit.org/show_bug.cgi?id=35047
46903
46904         * bindings/v8/custom/V8DatabaseCustom.cpp:
46905         (WebCore::createTransaction):
46906
46907 2010-02-17  Dirk Schulze  <krit@webkit.org>
46908
46909         Reviewed by Nikolas Zimmermann.
46910
46911         Move SVGResources to Renderers, starting with Masker
46912         https://bugs.webkit.org/show_bug.cgi?id=35020
46913
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.
46921
46922         This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
46923         Another benefit is the much more useful result in DRT on using masker.
46924
46925         * Android.mk:
46926         * GNUmakefile.am:
46927         * WebCore.gypi:
46928         * WebCore.pro:
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:
46980         (WebCore::write):
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):
46996         (WebCore::write):
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:
47011         (WebCore::):
47012         (WebCore::SVGResource::isMarker):
47013         * svg/graphics/SVGResourceMasker.cpp: Removed.
47014         * svg/graphics/SVGResourceMasker.h: Removed.
47015
47016 2010-02-17  Kenneth Russell  <kbr@google.com>
47017
47018         Reviewed by Oliver Hunt.
47019
47020         Refactor texImage2D and texSubImage2D taking Image to use common code
47021         https://bugs.webkit.org/show_bug.cgi?id=34458
47022
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.
47035
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.
47039
47040         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
47041
47042         * WebCore.gyp/WebCore.gyp:
47043         * WebCore.gypi:
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):
47059
47060 2010-02-17  Noam Rosenthal  <noam.rosenthal@nokia.com>
47061
47062         Reviewed by Ariya Hidayat.
47063
47064         [Qt] GraphicsLayer: support perspective and 3D transforms
47065         https://bugs.webkit.org/show_bug.cgi?id=34960
47066
47067         New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html
47068
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):
47075
47076 2010-02-17  Peter Kasting  <pkasting@google.com>
47077
47078         Unreviewed, build fix.
47079
47080         Fix crashes due to an omitted line in r54839.
47081
47082         * platform/image-decoders/png/PNGImageDecoder.cpp:
47083         (WebCore::decodingFailed):
47084
47085 2010-02-17  Alok Priyadarshi  <alokp@chromium.org>
47086
47087         Reviewed by Ariya Hidayat.
47088
47089         Bug 34900: Implement accelerated compositing for chromium.
47090         https://bugs.webkit.org/show_bug.cgi?id=34900
47091
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.
47094
47095         * WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp,
47096         and RenderLayerCompositor.cpp from excluded list.
47097
47098 2010-02-17  Jian Li  <jianli@chromium.org>
47099
47100         Reviewed by Darin Fisher.
47101
47102         [chromium] Remove the obsolete chromium interface for handling DownloadURL.
47103         https://bugs.webkit.org/show_bug.cgi?id=34982
47104
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):
47112
47113 2010-02-17  Dan Bernstein  <mitz@apple.com>
47114
47115         Reviewed by Darin Adler.
47116
47117         <rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns
47118
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.
47124
47125 2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
47126
47127         Reviewed by Xan Lopez.
47128
47129         Does not send an Accept header for subresources, causing some sites to break
47130         https://bugs.webkit.org/show_bug.cgi?id=33242
47131
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.
47135
47136         Test: http/tests/misc/image-checks-for-accept.html
47137
47138         * platform/network/soup/ResourceHandleSoup.cpp:
47139         (WebCore::startHttp):
47140
47141 2010-02-17  Marcus Bulach  <bulach@chromium.org>
47142
47143         Reviewed by Jeremy Orlow.
47144
47145         Fixes initialization order of members for GeolocationServiceChromium.
47146         https://bugs.webkit.org/show_bug.cgi?id=35034
47147
47148         * platform/chromium/GeolocationServiceChromium.cpp:
47149
47150 2010-02-17  Xan Lopez  <xlopez@igalia.com>
47151
47152         Reviewed by Gustavo Noronha.
47153
47154         [Linux] Webkit incompatible with Java plugins
47155         https://bugs.webkit.org/show_bug.cgi?id=24912
47156
47157         Resolve symlinks before trying to load plugins as modules, since
47158         GModule won't do it.
47159
47160         Based on original work by Gustavo Noronha.
47161
47162         * plugins/gtk/PluginPackageGtk.cpp:
47163         (WebCore::PluginPackage::load):
47164
47165 2010-02-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
47166
47167         Reviewed by Xan Lopez.
47168
47169         Protect the resource loader object from disappearing during
47170         parseDataUrl.
47171
47172         Tested by testdownload API test.
47173
47174         * platform/network/soup/ResourceHandleSoup.cpp:
47175         (WebCore::parseDataUrl):
47176
47177 2010-02-17  Marcus Bulach  <bulach@chromium.org>
47178
47179         Reviewed by Jeremy Orlow.
47180
47181         Implements GeolocationServices for Chromium.
47182         https://bugs.webkit.org/show_bug.cgi?id=32068
47183
47184         This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass.
47185
47186         * WebCore.gypi:
47187         * page/Geolocation.h:
47188         * platform/GeolocationService.h:
47189
47190 2010-02-17  Steve Block  <steveblock@google.com>
47191
47192         Reviewed by Ariya Hidayat.
47193
47194         Adds missing platform and feature guards to V8 bindings
47195         https://bugs.webkit.org/show_bug.cgi?id=34987
47196
47197         No new tests, build fix only.
47198
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
47202
47203 2010-02-17  Steve Block  <steveblock@google.com>
47204
47205         Reviewed by Ariya Hidayat.
47206
47207         Include WebCore's npruntime.h for Android in V8 bindings
47208         https://bugs.webkit.org/show_bug.cgi?id=35002
47209
47210         Currently, the V8 bindings include bindings/npruntime.h, which is a
47211         Chromium-specific file outside of the WebKit tree.
47212
47213         No new tests, build fix only.
47214
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:
47221
47222 2010-01-07  Philippe Normand  <pnormand@igalia.com>
47223
47224         Reviewed by Gustavo Noronha Silva.
47225
47226         [GStreamer] Should handle BUFFERING messages
47227         https://bugs.webkit.org/show_bug.cgi?id=30004
47228
47229         Initial support for on-disk buffering of videos. This works only
47230         for Quicktime and flv though.
47231
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
47244         variables.
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
47260         buffering process.
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.
47268
47269 2010-02-16  Chris Evans  <cevans@chromium.org>
47270
47271         Reviewed by Adam Barth.
47272
47273         Add a new setting which gives the option of assigning every file:///
47274         to its own unique domain.
47275
47276         https://bugs.webkit.org/show_bug.cgi?id=34778
47277
47278         Test: Pending in forthcoming separate change due to non-trivial
47279         dependencies.
47280
47281         * dom/Document.cpp:
47282         (WebCore::Document::initSecurityContext): Place file:/// URI documents
47283         into their own unique domains if the new setting requires it.
47284         * page/Settings.h:
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.
47291
47292 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47293
47294         Reviewed by Timothy Hatcher.
47295
47296         Web Inspector: drosera/demo.js not syntax highlighted correctly.
47297
47298         https://bugs.webkit.org/show_bug.cgi?id=35008
47299
47300         * inspector/front-end/SourceTokenizer.js:
47301         (WebInspector.SourceTokenizer.Registry):
47302         (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
47303
47304 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47305
47306         Reviewed by Timothy Hatcher.
47307
47308         Web Inspector: prefer smooth scrolling to instant highlight.
47309
47310         https://bugs.webkit.org/show_bug.cgi?id=34978
47311
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:
47318
47319 2010-02-16  Yael Aharon  <yael.aharon@nokia.com>
47320
47321         Reviewed by Nikolas Zimmermann.
47322
47323         SVG not rendered as background-image from data URI
47324         https://bugs.webkit.org/show_bug.cgi?id=33630
47325
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.
47330
47331         Test: svg/css/background-image-svg.html
47332
47333         * svg/graphics/SVGImage.cpp:
47334         (WebCore::SVGImage::nativeImageForCurrentFrame):
47335
47336 2010-02-16  Bryan Yeung  <bryeung@chromium.org>
47337
47338         Reviewed by Nikolas Zimmermann.
47339
47340         Remove the bounds on stroke width and miter for the skia platform.
47341         https://bugs.webkit.org/show_bug.cgi?id=34954
47342
47343         Test: svg/custom/stroke-width-large.svg
47344
47345         * platform/graphics/skia/PlatformContextSkia.cpp:
47346         (PlatformContextSkia::setupPaintForStroking):
47347
47348 2010-02-16  MORITA Hajime  <morrita@gmail.com>
47349
47350         Reviewed by Nikolas Zimmermann.
47351
47352         REGRESSION: SVG text disappaears after double click
47353         https://bugs.webkit.org/show_bug.cgi?id=34880
47354
47355         Tests: svg/text/selection-doubleclick.svg
47356                svg/text/selection-tripleclick.svg
47357
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.
47365
47366 2010-02-16  Jessie Berlin  <jberlin@webkit.org>
47367
47368         Reviewed by Timothy Hatcher.
47369
47370         Inspector should display Array lengths in the property lists.
47371         https://bugs.webkit.org/show_bug.cgi?id=20695
47372
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.
47379
47380 2010-02-16  Yusuke Sato  <yusukes@chromium.org>
47381
47382         Reviewed by Dimitri Glazkov.
47383
47384         [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
47385         https://bugs.webkit.org/show_bug.cgi?id=34735
47386
47387         Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs.
47388         
47389         Test: fast/css/font-face-opentype.html
47390
47391         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
47392         (WebCore::fillBMPGlyphs):
47393
47394 2010-02-16  Darin Adler  <darin@apple.com>
47395
47396         * page/MediaCanStartListener.h: Fixed license.
47397
47398 2010-02-16  Darin Adler  <darin@apple.com>
47399
47400         Reviewed by Sam Weinig.
47401
47402         Generalize delayed plug-in start for background tabs for use for other media
47403         https://bugs.webkit.org/show_bug.cgi?id=34981
47404
47405         Also did some simple cleanup of HTMLMediaElement to get ready to make it
47406         a client of the same mechanism.
47407
47408         * WebCore.base.exp: Added Page::setCanStartMedia and resorted.
47409         * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
47410
47411         * html/HTMLAudioElement.h: Added an implementation of isVideo since that
47412         is now a pure virtual function in HTMLMediaElement. Also made tagPriority
47413         private.
47414
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.
47418
47419         * page/Page.cpp:
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.
47428
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.
47432
47433         * page/MediaCanStartListener.h: Added.
47434
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.
47437
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.
47444
47445         * plugins/PluginView.h: Adopted MediaCanStartListener.
47446
47447 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
47448
47449         Reviewed by Dan Bernstein.
47450
47451         https://bugs.webkit.org/show_bug.cgi?id=34999
47452         Compositing layers inside overflow:scroll divs are not always updated on scrolling
47453         
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.
47459
47460         Test: compositing/overflow/scroll-ancestor-update.html
47461
47462         * rendering/RenderLayer.cpp:
47463         (WebCore::RenderLayer::scrollToOffset):
47464
47465 2010-02-16  Dan Bernstein  <mitz@apple.com>
47466
47467         Reviewed by Simon Fraser.
47468
47469         Allow FloatRect::center() to return fractional coordinates. It was
47470         mistakenly converting to integers.
47471
47472         * platform/graphics/FloatRect.h:
47473         (WebCore::FloatRect::center):
47474
47475 2010-02-16  Gavin Barraclough  <barraclough@apple.com>
47476
47477         Reviewed by Oliver Hunt.
47478
47479         https://bugs.webkit.org/show_bug.cgi?id=34964
47480         Leaks tool reports false memory leaks due to Rope implementation.
47481
47482         Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length()
47483         (matches WebCore::StringImpl).
47484
47485         * bridge/jni/jsc/JavaStringJSC.h:
47486         (JSC::Bindings::JavaStringImpl::length):
47487         * platform/text/AtomicString.cpp:
47488         (WebCore::AtomicString::add):
47489         (WebCore::AtomicString::find):
47490
47491 2010-02-15  Jon Honeycutt  <jhoneycutt@apple.com>
47492
47493         <rdar://problem/7288853> Message about missing plugin does not specify
47494         the type or download link for download
47495
47496         Reviewed by Mark Rowe.
47497
47498         * plugins/PluginDatabase.cpp:
47499         (WebCore::PluginDatabase::findPlugin):
47500         Only update the mimeType out param if we find a plug-in for the file
47501         extension.
47502
47503 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
47504
47505         Build fix for Tiger.
47506
47507         Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged().
47508         
47509         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
47510         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
47511
47512 2010-02-16  Csaba Osztrogonác  <ossy@webkit.org>
47513
47514         Reviewed by Eric Carlson.
47515
47516         Buildfix for r54826.
47517
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.
47520
47521         * rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added.
47522         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
47523
47524 2010-02-16  Julie Parent  <jparent@chromium.org>
47525
47526         Unreviewed: Chromium build fix.
47527
47528         http://trac.webkit.org/changeset/54823 introduced an unused variable.  Remove it.
47529
47530         * platform/image-decoders/ImageDecoder.cpp:
47531         (WebCore::ImageDecoder::create):
47532
47533 2010-02-16  Mark Rowe  <mrowe@apple.com>
47534
47535         Reviewed by Alexey Proskuryakov.
47536
47537         Bug 34974: Leak of ScheduledAction during layout tests
47538         <https://bugs.webkit.org/show_bug.cgi?id=34974>
47539
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.
47544
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.
47558         * page/DOMTimer.h:
47559         * page/DOMWindow.cpp:
47560         (WebCore::DOMWindow::setTimeout): Ditto.
47561         (WebCore::DOMWindow::setInterval): Ditto.
47562         * page/DOMWindow.h:
47563
47564 2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>
47565
47566         Reviewed by David Hyatt.
47567
47568         SVG units don't stay consistently sized on zoom
47569         https://bugs.webkit.org/show_bug.cgi?id=14004
47570
47571         Large step towards making WebKit an usable SVG viewer.
47572
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.
47578
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.
47583
47584         - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)
47585
47586         Cover all mentioned cases above by a new set of layout tests.
47587
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
47606
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):
47615         * page/Frame.cpp:
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().
47632
47633 2010-02-16  Julie Parent  <jparent@chromium.org>
47634
47635         Unreviewed: Chromium build fix.
47636
47637         https://bugs.webkit.org/show_bug.cgi?id=34998
47638
47639         Move include of JavaScriptProfile.h behind if (USE_JSC).
47640
47641         * inspector/InspectorController.cpp:
47642
47643 2010-02-16  Alexey Proskuryakov  <ap@apple.com>
47644
47645         Reviewed by Geoffrey Garen and Kevin Decker.
47646
47647         https://bugs.webkit.org/show_bug.cgi?id=34989
47648         <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
47649
47650         * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some
47651         comments about the way we pass events down to plug-ins.
47652
47653 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
47654
47655         Reviewed by Eric Carlson.
47656
47657         With hardware acceleration turned off, video frames never display if poster
47658         image is specified
47659         https://bugs.webkit.org/show_bug.cgi?id=34965
47660         
47661         HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
47662         the movie supplied its first video frame, so the poster would continue to show.
47663         
47664         Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
47665         each time a new frame is available. updatePosterImage() is cheap.
47666         
47667         Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
47668         ugly casts.
47669
47670         Test: manual-tests/media-elements/video-replaces-poster.html
47671
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().
47681
47682 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
47683
47684         Build fix for platforms without ACCELERATED_COMPOSITING defined.
47685
47686         mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.
47687         
47688         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
47689         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
47690
47691 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
47692
47693         Reviewed by Eric Carlson.
47694
47695         Autoplaying video with poster doesn't reliably show up
47696         https://bugs.webkit.org/show_bug.cgi?id=34966
47697         
47698         A timing issue with compositing updates when replacing the poster image
47699         with the video could cause the video to not display.
47700         
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.
47704
47705         Test: media/video-replaces-poster.html
47706
47707         * html/HTMLMediaElement.cpp:
47708         (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
47709         to kick off a compositing update.
47710
47711         * html/HTMLMediaElement.h:
47712         (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
47713
47714         * platform/graphics/MediaPlayer.cpp:
47715         (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
47716         (WebCore::MediaPlayer::platformLayer):
47717
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
47721         recalcStyle.
47722
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()
47735         here.
47736
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.
47742
47743         * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
47744         * rendering/RenderVideo.cpp: Ditto.
47745
47746 2010-02-12  Peter Kasting  <pkasting@google.com>
47747
47748         Reviewed by Adam Barth.
47749
47750         Code cleanup in ImageDecoders; no functional change.
47751         https://bugs.webkit.org/show_bug.cgi?id=28751
47752
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
47764
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:
47844         (WebCore::):
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):
47878
47879 2010-02-16  Csaba Osztrogonác  <ossy@webkit.org>
47880
47881         [Qt] Unreviewed buildfix.
47882
47883         * WebCore.pro: Missing backslash added.
47884
47885 2010-02-16  Mikhail Naganov  <mnaganov@chromium.org>
47886
47887         Reviewed by Pavel Feldman.
47888
47889         Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
47890
47891         https://bugs.webkit.org/show_bug.cgi?id=34848
47892
47893         * GNUmakefile.am:
47894         * WebCore.gypi:
47895         * WebCore.pro:
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):
47903         (WebCore::focus):
47904         (WebCore::exclude):
47905         (WebCore::restoreAll):
47906         (WebCore::finalize):
47907         (WebCore::ProfileClass):
47908         (WebCore::toJS):
47909         * bindings/js/JavaScriptProfile.h: Added.
47910         * bindings/js/JavaScriptProfileNode.cpp: Added.
47911         (WebCore::profileNodeCache):
47912         (WebCore::getFunctionName):
47913         (WebCore::getURL):
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):
47923         (WebCore::toJS):
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.
47929
47930 2010-02-16  Alexander Pavlov  <apavlov@chromium.org>
47931
47932         Reviewed by Pavel Feldman.
47933
47934         Web Inspector: Elements Panel: Limit the number of initially loaded element children
47935         https://bugs.webkit.org/show_bug.cgi?id=34421
47936
47937         Test: inspector/elements-panel-limited-children.html
47938
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):
47958         ():
47959         * inspector/front-end/inspector.css:
47960
47961 2010-02-16  Ismail Donmez  <ismail@namtrac.org>
47962
47963         Reviewed by Pavel Feldman.
47964
47965         Fix compilation with inspector disabled.
47966         https://bugs.webkit.org/show_bug.cgi?id=32724
47967
47968         * rendering/RenderLayerBacking.cpp:
47969         (WebCore::inspectorTimelineAgent):
47970
47971 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47972
47973         Reviewed by Timothy Hatcher.
47974
47975         Web Inspector: turn off line wrapping in source view.
47976
47977         https://bugs.webkit.org/show_bug.cgi?id=34935
47978
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:
47984
47985 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47986
47987         Reviewed by Timothy Hatcher.
47988
47989         Web Inspector: let search iterate over views in Resources
47990         and keep the view in Scripts.
47991
47992         https://bugs.webkit.org/show_bug.cgi?id=34968
47993
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):
48007
48008 2010-02-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
48009
48010         Reviewed by Ariya Hidayat.
48011
48012         [Qt] canvas clipping is buggy
48013         https://bugs.webkit.org/show_bug.cgi?id=32405
48014
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
48019
48020         Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right
48021
48022         * platform/graphics/qt/GraphicsContextQt.cpp:
48023         (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
48024         GraphicsContextCG
48025
48026 2010-02-16  Yury Semikhatsky  <yurys@chromium.org>
48027
48028         Not Reviewed, build fix.
48029
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.
48033
48034 2010-02-15  Dan Bernstein  <mitz@apple.com>
48035
48036         Reviewed by Simon Fraser.
48037
48038         <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout
48039
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
48044         second column.
48045
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.
48050
48051 2010-02-15  MORITA Hajime  <morrita@gmail.com>
48052
48053         Reviewed by Nikolas Zimmermann.
48054
48055         SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker
48056
48057         https://bugs.webkit.org/show_bug.cgi?id=34831
48058
48059         No new tests, no change of functionality.
48060
48061         * rendering/SVGCharacterLayoutInfo.h:
48062         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
48063         Removed setupBackground(), setupFill(), setupFillSelection(),
48064         setupStroke(), setupStrokeSelection(), setupForeground()
48065         and associated member variables.
48066         
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().
48088         
48089 2010-02-15  Dan Bernstein  <mitz@apple.com>
48090
48091         Try to fix the Chromium build.
48092
48093         * rendering/RenderThemeChromiumMac.mm:
48094         (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
48095
48096 2010-02-14  Gavin Barraclough  <barraclough@apple.com>
48097
48098         Reviewed by Darin Adler.
48099
48100         https://bugs.webkit.org/show_bug.cgi?id=33731
48101         Many false leaks in release builds due to PtrAndFlags
48102
48103         PtrAndFlags has now been removed; remove forwarding header.
48104
48105         * ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
48106
48107 2010-02-15  Gavin Barraclough  <barraclough@apple.com>
48108
48109         Reviewed by Geoff Garen.
48110
48111         Bug 34952 - String lengths in UString should be unsigned.
48112         This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
48113
48114         * bindings/js/JSDOMWindowCustom.cpp:
48115         (WebCore::JSDOMWindow::atob):
48116         (WebCore::JSDOMWindow::btoa):
48117
48118 2010-02-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
48119
48120         Reviewed by Xan Lopez.
48121
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
48124
48125         Set the URL in the newly created response, when parsing data:
48126         URIs.
48127
48128         Test: fast/harness/page-cache-crash-on-data-urls.html
48129
48130         * platform/network/soup/ResourceHandleSoup.cpp:
48131         (WebCore::parseDataUrl):
48132
48133 2010-02-15  Dan Bernstein  <mitz@apple.com>
48134
48135         Reviewed by Simon Fraser.
48136
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
48139
48140         Test: fast/multicol/client-rects.html
48141
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
48148         reference point.
48149
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
48172         do.
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
48192         point through.
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().
48200
48201 2010-02-12  Alexey Proskuryakov  <ap@apple.com>
48202
48203         Reviewed by Kevin Decker.
48204
48205         <rdar://problem/7130641> Browser objects identity is not preserved by Safari
48206
48207         Test: plugins/netscape-browser-object-identity.html
48208
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
48211         when this happens.
48212
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.
48217
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.
48225
48226 2010-02-15  Philippe Normand  <pnormand@igalia.com>
48227
48228         Rubber-stamped by Gustavo Noronha Silva.
48229
48230         Removed redefine of LOG_VERBOSE. This should not have commited in
48231         the first place.
48232
48233         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
48234
48235 2010-02-15  Pavel Feldman  <pfeldman@chromium.org>
48236
48237         Reviewed by Timothy Hatcher.
48238
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.
48243
48244         https://bugs.webkit.org/show_bug.cgi?id=34934
48245
48246         * inspector/front-end/SourceHTMLTokenizer.js:
48247         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
48248         * inspector/front-end/SourceHTMLTokenizer.re2js:
48249
48250 2010-02-15  Brady Eidson  <beidson@apple.com>
48251
48252         Reviewed by Dan Bernstein.
48253
48254         Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
48255         messages over to WebCore-style.
48256
48257         No new tests. (Logging changes only)
48258
48259         * loader/ProgressTracker.cpp:
48260         (WebCore::ProgressTracker::progressStarted):
48261         (WebCore::ProgressTracker::progressCompleted):
48262         (WebCore::ProgressTracker::finalProgressComplete):
48263         (WebCore::ProgressTracker::incrementProgress):
48264
48265         * platform/Logging.cpp:
48266         (WebCore::):
48267         (WebCore::getChannelFromName):
48268         * platform/Logging.h:
48269
48270 2010-02-15  Noam Rosenthal  <noam.rosenthal@nokia.com>
48271
48272         Reviewed by Simon Hausmann.
48273
48274         [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
48275         https://bugs.webkit.org/show_bug.cgi?id=34901
48276
48277         When a signal/slot/property is of type QWebElement, it can seamlessly
48278         connect with JS objects that hold a WebCore element.
48279
48280         New tests, see WebKit/qt/ChangeLog
48281
48282         * bridge/qt/qt_runtime.cpp:
48283         (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement
48284         constructor
48285         (JSC::Bindings::QtWebElementRuntime::get): A proxy to
48286         QWebElement::element
48287         (JSC::Bindings::convertValueToQVariant): handle QWebElement
48288         (JSC::Bindings::convertQVariantToValue): handle QWebElement
48289
48290 2010-02-15  Pavel Feldman  <pfeldman@chromium.org>
48291
48292         Not reviewed, Chromium build fix (force conversion of property names to
48293         strings in Web Inspector's injected script).
48294
48295         * inspector/front-end/InjectedScript.js:
48296         (injectedScriptConstructor):
48297
48298 2010-02-15  Pavel Feldman  <pfeldman@chromium.org>
48299
48300         Not reviewed: touch InspectorController in order to kick win bot tests
48301         with new injected script contents.
48302
48303         * inspector/InspectorController.cpp:
48304
48305 2010-02-14  Pavel Feldman  <pfeldman@chromium.org>
48306
48307         Reviewed by Timothy Hatcher.
48308
48309         Web Inspector: highlight actual search match in elements panel.
48310
48311         https://bugs.webkit.org/show_bug.cgi?id=34251
48312
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:
48328
48329 2010-02-14  Pavel Feldman  <pfeldman@chromium.org>
48330
48331         Reviewed by Timothy Hatcher.
48332
48333         Web Inspector: XPathResult objects are not expanded in console.
48334
48335         https://bugs.webkit.org/show_bug.cgi?id=34926
48336
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:
48346
48347 2010-02-10  Philippe Normand  <pnormand@igalia.com>
48348
48349         Reviewed by Gustavo Noronha Silva.
48350
48351         [Gtk] wrong video aspect ratio
48352         https://bugs.webkit.org/show_bug.cgi?id=34790
48353
48354         Fixed natural size calculation regarding pixel aspect ratio and
48355         display aspect ratio.
48356
48357         Test: media/video-display-aspect-ratio.html
48358
48359         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
48360         (WebCore::greatestCommonDivisor):
48361         (WebCore::MediaPlayerPrivate::naturalSize):
48362
48363 2010-02-14  Adam Barth  <abarth@webkit.org>
48364
48365         Reviewed by Darin Adler.
48366
48367         HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
48368         https://bugs.webkit.org/show_bug.cgi?id=33277
48369
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.
48374
48375         Test: http/tests/security/sandboxed-iframe-form-top.html
48376
48377         * loader/FrameLoader.cpp:
48378         (WebCore::FrameLoader::submitForm):
48379
48380 2010-02-14  Kent Tamura  <tkent@chromium.org>
48381
48382         No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.
48383
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.
48388
48389 2010-02-13  Pavel Feldman  <pfeldman@chromium.org>
48390
48391         Reviewed by Timothy Hatcher.
48392
48393         Web Inspector: cache created row, span and text elements
48394         in TextView to improve scroller performance on debug build.
48395
48396         https://bugs.webkit.org/show_bug.cgi?id=34921
48397
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):
48413
48414 2010-02-13  Kent Tamura  <tkent@chromium.org>
48415
48416         Reviewed by Darin Adler.
48417
48418         Refactor parsing/serialization functions in HTMLInputElement.
48419         https://bugs.webkit.org/show_bug.cgi?id=34852
48420
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().
48426         - Add serialize()
48427         
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.
48435
48436         No tests because of no functional changes.
48437
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):
48457
48458 2010-01-05  Ojan Vafai  <ojan@chromium.org>
48459
48460         Reviewed by Dan Bernstein.
48461
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
48466
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.
48470
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).
48474
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.
48478
48479         No new tests. Covered by existing tests.
48480
48481         * platform/graphics/mac/SimpleFontDataMac.mm:
48482         (WebCore::SimpleFontData::platformCharWidthInit):
48483         * rendering/RenderTextControl.cpp:
48484         (WebCore::):
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:
48497
48498 2010-02-11  Ariya Hidayat  <ariya.hidayat@gmail.com>
48499
48500         Reviewed by Kenneth Rohde Christiansen.
48501
48502         [Qt] Unnecessary QBrush construction for doing a solid color stroke
48503         https://bugs.webkit.org/show_bug.cgi?id=34874
48504
48505         Use the similar trick like in r54347, i.e. use the special brush for
48506         solid color to avoid expensive QBrush constructor.
48507
48508         * platform/graphics/qt/GraphicsContextQt.cpp:
48509         (WebCore::GraphicsContext::setPlatformStrokeColor):
48510
48511 2010-02-11  Darin Fisher  <darin@chromium.org>
48512
48513         Reviewed by Jeremy Orlow.
48514
48515         Pass the Document along to the ChromiumBridge cookie methods.
48516
48517         https://bugs.webkit.org/show_bug.cgi?id=34878
48518
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):
48526
48527 2010-02-12  Eric Seidel  <eric@webkit.org>
48528
48529         No review, rolling out r54694.
48530         http://trac.webkit.org/changeset/54694
48531         https://bugs.webkit.org/show_bug.cgi?id=34633
48532
48533         This appears to have caused crashes on the Leopard bot.  See
48534         bug 34898.
48535
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:
48558
48559 2010-02-12  Gavin Barraclough  <barraclough@apple.com>
48560
48561         Reviewed by Sam Weinig.
48562
48563         Workers' EventListeners should be removed before JSGlobalData is destroyed
48564         https://bugs.webkit.org/show_bug.cgi?id=34903
48565
48566         (Patch co-developed with Alexey Proskuryakov).
48567
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.
48574
48575         Remove all event listeners immediately prior to tearing down the JSGlobalData.
48576
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.
48585
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):
48592
48593 2010-02-12  Gavin Barraclough  <barraclough@apple.com>
48594
48595         Reviewed by Sam Weinig.
48596
48597         https://bugs.webkit.org/show_bug.cgi?id=33731
48598         Remove uses of PtrAndFlags from WebCore::StringImpl.
48599
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).
48604
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):
48626
48627 2010-02-12  Nikolas Zimmermann  <nzimmermann@rim.com>
48628
48629         Reviewed by Dirk Schulze.
48630
48631         Repaint bug on Text selection in foreignObject
48632         https://bugs.webkit.org/show_bug.cgi?id=16939
48633
48634         Tests: svg/overflow/overflow-on-foreignObject.svg
48635                svg/text/foreignObject-text-clipping-bug.xml
48636
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.
48642
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.
48646
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.
48650
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):
48671
48672 2010-02-12  Dan Bernstein  <mitz@apple.com>
48673
48674         Reviewed by Simon Fraser.
48675
48676         <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
48677         https://bugs.webkit.org/show_bug.cgi?id=34865
48678
48679         Test: fast/text/glyph-reordering.html
48680
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.
48696
48697 2010-02-12  Alexey Proskuryakov  <ap@apple.com>
48698
48699         Reviewed by David Levin.
48700
48701         https://bugs.webkit.org/show_bug.cgi?id=34866
48702         Leopard Debug Bot crashed on fast/forms/old-names.html
48703
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.
48707
48708 2010-02-12  Pavel Feldman  <pfeldman@chromium.org>
48709
48710         Reviewed by Timothy Hatcher.
48711
48712         Web Inspector: restore highlighting animation, bring back
48713         keyboard navigation, beautify search results.
48714
48715         https://bugs.webkit.org/show_bug.cgi?id=34853
48716
48717         * inspector/front-end/TextViewer.js:
48718         (WebInspector.TextViewer):
48719         (WebInspector.TextViewer.prototype.highlightLine):
48720         * inspector/front-end/textViewer.css:
48721
48722 2010-02-12  Anton Muhin  <antonm@chromium.org>
48723
48724         Reviewed by Adam Barth.
48725
48726         [v8] handle to the document can only own Objects, not Values
48727         https://bugs.webkit.org/show_bug.cgi?id=34854
48728
48729         * bindings/v8/V8DOMWindowShell.cpp:
48730         (WebCore::V8DOMWindowShell::updateDocumentWrapper):
48731         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
48732         * bindings/v8/V8DOMWindowShell.h:
48733         * bindings/v8/custom/V8DocumentCustom.cpp:
48734         (WebCore::toV8):
48735
48736 2010-02-12  Simon Hausmann  <simon.hausmann@nokia.com>
48737
48738         Reviewed by Holger Freyther.
48739
48740         Replaced stray CRLF with LF.
48741
48742         * wml/WMLInputElement.cpp:
48743         (WebCore::WMLInputElement::suggestedValue):
48744         * wml/WMLInputElement.h:
48745
48746 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48747
48748         Reviewed by Tor Arne Vestbø.
48749
48750         [Qt] Make qtlauncher and qgvlauncher use the generated headers
48751         path to make sure they are correctly generated.
48752
48753         * WebCore.pro:
48754
48755 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48756
48757         Reviewed by Tor Arne Vestbø.
48758
48759         [Qt] Ensure relative paths in generated .pri files to ensure that
48760         a source package with pre-generated derived sources can be compiled.
48761
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
48765         same content.
48766         - Remove private headers list variable from classheaders.pri
48767         - Use $$PWD in classheaders.pri
48768         - Remove classheaders.pri from the installed files
48769
48770         * WebCore.pro:
48771
48772 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48773
48774         Reviewed by Tor Arne Vestbø.
48775
48776         [Qt] Manually add support for the install target on Symbian.
48777
48778         This is required to copy the headers over the ones in Qt.
48779
48780         * WebCore.pro:
48781
48782 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48783
48784         Reviewed by Tor Arne Vestbø.
48785
48786         [Qt] Minor fixes on QtWebKit headers generation.
48787
48788         - Adds QtWebKit to the generated headers destination path
48789         - Improve compatibility with MinGW
48790
48791         * WebCore.pro:
48792
48793 2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
48794
48795         Reviewed by Alexey Proskuryakov.
48796
48797         WebSocket ignores HttpOnly cookies, but should use in Handshake.
48798         https://bugs.webkit.org/show_bug.cgi?id=34289
48799
48800         Test: websocket/tests/cookies/httponly-cookie.pl
48801
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.
48825
48826 2010-02-16  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
48827
48828         Reviewed by Gustavo Noronha Silva.
48829
48830         Notify about size changes in the WebKit GStreamer source.
48831         
48832         https://bugs.webkit.org/show_bug.cgi?id=34881
48833
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.
48843         
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.
48847         
48848         Also reset the size when stopping the source and send EOS
48849         on seeking failures. 
48850
48851 2010-02-11  Ariya Hidayat  <ariya.hidayat@gmail.com>
48852
48853         Reviewed by Kenneth Rohde Christiansen.
48854
48855         [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles.
48856
48857         https://bugs.webkit.org/show_bug.cgi?id=32375
48858
48859         * platform/graphics/qt/GraphicsContextQt.cpp:
48860         (WebCore::GraphicsContext::clipOut):
48861         (WebCore::GraphicsContext::clipOutEllipseInRect):
48862
48863 2010-02-11  Yuzo Fujishima  <yuzo@google.com>
48864
48865         Reviewed by Shinichiro Hamaji.
48866
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.
48870
48871         This doesn't change the code logic. Hence no new tests are required.
48872
48873         * css/CSSParser.cpp:
48874         (WebCore::CSSParser::parseValue):
48875
48876 2010-02-11  Joseph Pecoraro  <joepeck@webkit.org>
48877
48878         Reviewed by Timothy Hatcher.
48879
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
48882
48883         * inspector/front-end/Settings.js:
48884         (WebInspector.Settings.prototype._load): changed initial default to content tab
48885
48886 2010-02-11  Joseph Pecoraro  <joepeck@webkit.org>
48887
48888         Reviewed by Timothy Hatcher.
48889
48890         Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item
48891         https://bugs.webkit.org/show_bug.cgi?id=34872
48892
48893         * inspector/front-end/StylesSidebarPane.js:
48894         (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate
48895         (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling
48896
48897 2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
48898
48899         Reviewed by Eric Seidel.
48900
48901         Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint.
48902
48903         * platform/graphics/FloatSize.h:
48904         (WebCore::roundedIntSize):
48905
48906 2010-02-11  Kent Tamura  <tkent@chromium.org>
48907
48908         Reviewed by Darin Adler.
48909
48910         Fix two issues on maxLength.
48911         https://bugs.webkit.org/show_bug.cgi?id=34783
48912
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.
48916
48917         - Setting HTMLTextAreaElement::value didn't update the dirty flag.
48918
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:
48931
48932 2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
48933
48934         Reviewed by Alexey Proskuryakov.
48935
48936         WebSocket bufferedAmount should not be 0 when send after close.
48937         https://bugs.webkit.org/show_bug.cgi?id=34633
48938
48939         Test: websocket/tests/bufferedAmount-after-close.html
48940
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:
48963
48964 2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
48965
48966         Reviewed by Alexey Proskuryakov.
48967
48968         WebSocket in Worker failed to close
48969         https://bugs.webkit.org/show_bug.cgi?id=34785
48970
48971         Tests: websocket/tests/workers/close-in-shared-worker.html
48972                websocket/tests/workers/close-in-worker.html
48973
48974         * websockets/WorkerThreadableWebSocketChannel.cpp:
48975         (WebCore::WorkerThreadableWebSocketChannel::close):
48976
48977 2010-02-11  Kwang Yul Seo  <skyul@company100.net>
48978
48979         Reviewed by Eric Seidel.
48980
48981         [BREWMP] Add dummy Cursor
48982         https://bugs.webkit.org/show_bug.cgi?id=34672
48983
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):
49032
49033 2010-02-11  Nate Chapin  <japhet@chromium.org>
49034
49035         Reviewed by Dimitri Glazkov.
49036
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).
49040
49041         https://bugs.webkit.org/show_bug.cgi?id=34805
49042
49043         * bindings/scripts/CodeGeneratorV8.pm:
49044         * bindings/v8/V8DOMWrapper.cpp:
49045         (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext):
49046         (WebCore::V8DOMWrapper::instantiateV8Object):
49047         * bindings/v8/V8DOMWrapper.h:
49048
49049 2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
49050
49051         Reviewed by Dirk Schulze.
49052
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.
49057         
49058         Doesn't affect layout tests.
49059
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:
49072
49073 2010-02-11  David Hyatt  <hyatt@apple.com>
49074
49075         Reviewed by Dan Bernstein.
49076
49077         https://bugs.webkit.org/show_bug.cgi?id=34857
49078         Move InlineIterator and BidiRun into new files so subclasses can access them.
49079
49080         * GNUmakefile.am:
49081         * WebCore.gypi:
49082         * WebCore.pro:
49083         * WebCore.vcproj/WebCore.vcproj:
49084         * WebCore.xcodeproj/project.pbxproj:
49085         * rendering/BidiRun.cpp: Added.
49086         (WebCore::BidiRun::destroy):
49087         (WebCore::throw):
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):
49108
49109 2010-02-11  Steve Block  <steveblock@google.com>
49110
49111         Reviewed by Dimitri Glazkov.
49112
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
49115
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.
49119
49120         No new tests, build fix only.
49121
49122         * bindings/scripts/CodeGeneratorV8.pm:
49123
49124 2010-02-11  Pavel Feldman  <pfeldman@chromium.org>
49125
49126         Reviewed by Timothy Hatcher.
49127
49128         Web Inspector: split source code into chunks in order to improve text
49129         viewer performance on large files.
49130
49131         https://bugs.webkit.org/show_bug.cgi?id=34816
49132
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.
49138
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
49143         plain text chunk.
49144
49145         Complex stuff:
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.
49152
49153         * WebCore.gypi:
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):
49239
49240 2010-02-11  Csaba Osztrogonác  <ossy@webkit.org>
49241
49242         Reviewed by Tor Arne Vestbø.
49243
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
49246
49247         * WebCore.pri: Add ENABLE_RUBY=1 as default setting.
49248
49249 2010-02-11  Steve Block  <steveblock@google.com>
49250
49251         Reviewed by Jeremy Orlow.
49252
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
49255
49256         No new tests, build fix only.
49257
49258         * Android.derived.v8bindings.mk:
49259
49260 2010-02-11  Steve Block  <steveblock@google.com>
49261
49262         Reviewed by Jeremy Orlow.
49263
49264         Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp
49265         https://bugs.webkit.org/show_bug.cgi?id=34814
49266
49267         No new tests, build fix only.
49268
49269         * Android.derived.v8bindings.mk:
49270
49271 2010-02-11  Steve Block  <steveblock@google.com>
49272
49273         Reviewed by Nate Chapin.
49274
49275         Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp
49276         https://bugs.webkit.org/show_bug.cgi?id=34806
49277
49278         No new tests, build fix only.
49279
49280         * Android.derived.v8bindings.mk:
49281
49282 2010-02-11  Steve Block  <steveblock@google.com>
49283
49284         Reviewed by David Levin.
49285
49286         Guards SVG code in V8 bindings with ENABLE(SVG)
49287         https://bugs.webkit.org/show_bug.cgi?id=34812
49288
49289         Also updates Android V8 Makefile to generate required SVG headers.
49290
49291         No new tests, build fix only.
49292
49293         * Android.derived.v8bindings.mk:
49294         * bindings/v8/custom/V8CSSValueCustom.cpp:
49295         (WebCore::toV8):
49296         * bindings/v8/custom/V8DocumentCustom.cpp:
49297         (WebCore::toV8):
49298         * bindings/v8/custom/V8ElementCustom.cpp:
49299         (WebCore::toV8):
49300
49301 2010-02-08  Maciej Stachowiak  <mjs@apple.com>
49302
49303         Reviewed by Cameron Zwarich.
49304
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
49307
49308         * Configurations/FeatureDefines.xcconfig:
49309         * DerivedSources.make:
49310         * GNUmakefile.am:
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
49323
49324 2010-02-11  Kent Tamura  <tkent@chromium.org>
49325
49326         Reviewed by Darin Adler.
49327
49328         Step attribute support for date&time types.
49329         https://bugs.webkit.org/show_bug.cgi?id=30847
49330
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.
49334
49335         Tests: fast/forms/ValidityState-stepMismatch.html
49336                fast/forms/input-stepup-stepdown.html
49337
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:
49353
49354 2010-02-10  Oliver Hunt  <oliver@apple.com>
49355
49356         Reviewed by Gavin Barraclough.
49357
49358         postMessage does not send ImageData
49359         https://bugs.webkit.org/show_bug.cgi?id=34825
49360
49361         Implement serialisation of ImageData, and for testing reasons
49362         expose the ImageData constructor (which should already have
49363         been exposed).
49364
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:
49382
49383 2010-02-10  Adam Barth  <abarth@webkit.org>
49384
49385         Reviewed by Darin Adler.
49386
49387         Address last round of review comments on r53607
49388         https://bugs.webkit.org/show_bug.cgi?id=33940
49389
49390         Mostly renaming and cleaning up.
49391
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):
49420
49421 2010-02-10  Noam Rosenthal  <noam.rosenthal@nokia.com>
49422
49423         Reviewed by Ariya Hidayat.
49424
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.
49429
49430         https://bugs.webkit.org/show_bug.cgi?id=34761
49431
49432         No new tests.
49433
49434         * platform/graphics/qt/GraphicsLayerQt.cpp:
49435         (WebCore::GraphicsLayerQt::addAnimation): No need to delete here
49436         (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater
49437
49438 2010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
49439
49440         [wx] Build fix for wxMac/Cocoa.
49441
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.
49444         * wscript:
49445
49446 2010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
49447
49448         REGRESSION(24929): PDF page doesn't load in background tab
49449
49450         Reviewed by Dan Bernstein.
49451
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().
49456
49457 2010-02-10  Enrica Casucci  <enrica@apple.com>
49458
49459         Reviewed by Simon Fraser.
49460
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
49464         
49465         No tests added because the code is exercised by the existing tests.
49466         
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.
49469         
49470         * platform/graphics/win/GraphicsLayerCACF.cpp:
49471         (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF):
49472
49473 2010-02-10  Kwang Yul Seo  <skyul@company100.net>
49474
49475         Reviewed by Eric Seidel.
49476
49477         [BREWMP] Typedef DragImageRef
49478         https://bugs.webkit.org/show_bug.cgi?id=34791
49479
49480         Use IImage* as it is the BREW's image type.
49481
49482         * platform/DragImage.h:
49483
49484 2010-02-10  Beth Dakin  <bdakin@apple.com>
49485
49486         Reviewed by Simon Fraser and Darin Adler.
49487
49488         Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: 
49489         Mask not invalidating
49490
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.
49495
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:
49505
49506 2010-02-10  Stephan Aßmus  <superstippi@gmx.de>
49507
49508         Reviewed by David Levin.
49509
49510         Fixes to rect conversion and image rendering on Haiku
49511         https://bugs.webkit.org/show_bug.cgi?id=34684
49512
49513         Covered by existing tests.
49514
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
49522         that may be.
49523
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.
49530
49531         Use OwnPtr when creating the BBitmap to avoid future leaks with early returns.
49532
49533         Convert the bitmap data to non pre-multiplied until Haiku supports drawing
49534         pre-multiplied bitmaps.
49535
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
49542
49543 2010-02-10  Simon Fraser  <simon.fraser@apple.com>
49544
49545         Reviewed by David Levin.
49546
49547         Clean up unused member var and initialization in Document
49548         https://bugs.webkit.org/show_bug.cgi?id=34820
49549
49550         Remove unused m_secureForms member variable in Document.
49551         
49552         * dom/Document.cpp:
49553         (WebCore::Document::Document):
49554         * dom/Document.h:
49555
49556 2010-02-10  Kevin Watters  <kevinwatters@gmail.com>
49557
49558         Reviewed by Kevin Ollivier.
49559
49560         [wx] Add Windows complex text support and Mac support for containsCharacters.
49561         
49562         https://bugs.webkit.org/show_bug.cgi?id=34759
49563         
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):
49594         * wscript:
49595
49596 2010-02-10  Kwang Yul Seo  <skyul@company100.net>
49597         Reviewed by Eric Seidel.
49598
49599         [BREWMP] Add dummy Frame::dragImageForSelection
49600         https://bugs.webkit.org/show_bug.cgi?id=34792
49601
49602         Add FrameBrew.cpp which contains a dummy implementation of
49603         Frame::dragImageForSelection.
49604
49605         * page/brew/FrameBrew.cpp: Added.
49606         (WebCore::Frame::dragImageForSelection):
49607
49608 2010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
49609
49610         [wx] Build fix. Switch drawPattern to Image class like other platforms.
49611
49612         * platform/graphics/BitmapImage.h:
49613         * platform/graphics/wx/ImageWx.cpp:
49614         (WebCore::Image::drawPattern):
49615
49616 2010-02-10  Chris Marrin  <cmarrin@apple.com>
49617
49618         Reviewed by Darin Adler.
49619
49620         Added CA_PRINT_TREE functionality to WKCACFLayer implementation
49621         https://bugs.webkit.org/show_bug.cgi?id=34779
49622         
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
49626         
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:
49643         
49644 2010-02-10  Nate Chapin  <japhet@chromium.org>
49645
49646         Reviewed by Adam Barth.
49647
49648         Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate()
49649         to not use V8ClassIndex.
49650
49651         https://bugs.webkit.org/show_bug.cgi?id=34768
49652
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:
49664
49665 2010-02-10  Nate Chapin  <japhet@chromium.org>
49666
49667         Reviewed by Dimitri Glazkov.
49668
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).
49672
49673         * bindings/v8/ScheduledAction.cpp:
49674         (WebCore::ScheduledAction::execute):
49675
49676 2010-02-10  Kenneth Russell  <kbr@google.com>
49677
49678         Reviewed by Oliver Hunt.
49679
49680         Remove automatic viewport resizing
49681         https://bugs.webkit.org/show_bug.cgi?id=34766
49682
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.
49686
49687         Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html
49688
49689         * platform/graphics/mac/GraphicsContext3DMac.cpp:
49690         (WebCore::GraphicsContext3D::reshape):
49691
49692 2010-02-10  Ariya Hidayat  <ariya.hidayat@gmail.com>
49693
49694         Reviewed by Kenneth Rohde Christiansen.
49695
49696         [Qt] Implement image interpolation quality.
49697
49698         https://bugs.webkit.org/show_bug.cgi?id=34629
49699
49700         * platform/graphics/qt/GraphicsContextQt.cpp:
49701         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
49702         (WebCore::GraphicsContext::setImageInterpolationQuality):
49703         (WebCore::GraphicsContext::imageInterpolationQuality):
49704
49705 2010-02-10  Eric Seidel  <eric@webkit.org>
49706
49707         No review, Mac build fix.
49708
49709         Crash in Flash at http://www.cctv.com/
49710         https://bugs.webkit.org/show_bug.cgi?id=34673
49711
49712         * plugins/PluginViewNone.cpp:
49713         (WebCore::PluginView::getValueStatic):
49714
49715 2010-02-10  Gustavo Noronha Silva  <gns@gnome.org>
49716
49717         Reviewed by Xan Lopez.
49718
49719         [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
49720         https://bugs.webkit.org/show_bug.cgi?id=34773
49721
49722         When unsetting the adjustments from a ScrollView, also disconnect
49723         them from the Scrollbars.
49724
49725         Test: fast/frames/frame-crash-with-page-cache.html
49726
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:
49733
49734 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
49735
49736         Reviewed by Geoffrey Garen.
49737
49738         https://bugs.webkit.org/show_bug.cgi?id=34490
49739         WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
49740
49741         Test: fast/images/destroyed-image-load-event.html
49742
49743         * ForwardingHeaders/wtf/ValueCheck.h: Added.
49744
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
49758         old events, too.
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.
49763
49764         * loader/ImageLoader.h: Removed setLoadingImage().
49765
49766 2010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
49767
49768         Mac build fix. Unreviewed.
49769
49770         * WebCore.xcodeproj/project.pbxproj:
49771         Add PluginViewNone.cpp to the Mac project.
49772
49773 2010-02-10  Adam Roben  <aroben@apple.com>
49774
49775         Optimize ImageBuffer::toDataURL's CG implementation
49776
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.
49779
49780         Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates
49781         unnecessary memory under CoreGraphics
49782
49783         Reviewed by Sam Weinig.
49784
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.
49789
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.
49796
49797 2010-02-10  Dan Bernstein  <mitz@apple.com>
49798
49799         Reviewed by Dave Hyatt.
49800
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
49803
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.
49808
49809 2010-02-08  Jon Honeycutt  <jhoneycutt@apple.com>
49810
49811         <rdar://problem/7436875> Crash in Flash when visiting
49812         http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
49813
49814         Reviewed by Darin Adler.
49815
49816         Test: platform/win/plugins/plugin-delayed-destroy.html
49817
49818         * bridge/NP_jsobject.cpp:
49819         (_NPN_Evaluate):
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).
49824
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
49830         the instance map.
49831         (WebCore::PluginView::performRequest):
49832         The parent Frame is now a RefPtr; use .get().
49833         (WebCore::PluginView::status):
49834         Ditto.
49835         (WebCore::PluginView::didReceiveResponse):
49836         Ditto.
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
49843         asynchronously.
49844         (WebCore::PluginView::keepAlive):
49845         Find the PluginView in the map, and call its keepAlive() function.
49846
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):
49851         Use .get().
49852
49853         * plugins/gtk/PluginViewGtk.cpp:
49854         (WebCore::PluginView::updatePluginWidget):
49855         Use .get().
49856         (WebCore::PluginView::handleKeyboardEvent):
49857         Use .get().
49858         (WebCore::PluginView::handleMouseEvent):
49859         Use .get().
49860
49861         * plugins/PluginViewNone.cpp:
49862         (WebCore::PluginView::keepAlive):
49863         Stubbed.
49864
49865 2010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
49866
49867         Reviewed by Kenneth Rohde Christiansen.
49868
49869         Support frameset flattening
49870         https://bugs.webkit.org/show_bug.cgi?id=32717
49871
49872         Add support for enabling/disabling FrameSet Flattening on the Mac port.
49873
49874         * WebCore.base.exp:
49875
49876 2010-02-10  Jeremy Orlow  <jorlow@chromium.org>
49877
49878         Revert 54599 because it breaks a lot of tests on Windows Chrome
49879
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):
49889         ():
49890         * inspector/front-end/inspector.css:
49891
49892 2010-02-10  Adam Roben  <aroben@apple.com>
49893
49894         Fix bad paths in WebCore.vcproj
49895
49896         These were harmless in VS2005, but cause project conversion errors in
49897         VS2010 RC.
49898
49899         Fixes <http://webkit.org/b/34801>.
49900
49901         Reviewed by Dan Bernstein.
49902
49903         * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to
49904         JSHTMLFrameSetElement.{cpp,h}.
49905
49906 2010-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
49907
49908         Not reviewed (build fix).
49909
49910         * platform/graphics/win/FontCacheWin.cpp:
49911         (WebCore::FontCache::getLastResortFallbackFont): Return a
49912         SimpleFontData here.
49913
49914 2010-02-10 Julien Chaffraix  <jchaffraix@pleyo.com>
49915
49916         Reviewed by Eric Seidel.
49917
49918         Bug 23287 -  Avoid using FontPlatformData outside the FontCache
49919
49920         No functional change, only refactored the code using FontPlatformData to use SimpleFontData.
49921
49922         This change leaves the class FontCached as it needs some thoughts and more refactoring.
49923
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.
49935
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.
49958
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.
49963
49964 2010-02-10  Alexander Pavlov  <apavlov@chromium.org>
49965
49966         Reviewed by Pavel Feldman.
49967
49968         Web Inspector: Elements Panel: Limit the number of initially loaded element children
49969         https://bugs.webkit.org/show_bug.cgi?id=34421
49970
49971         Test: inspector/elements-panel-limited-children.html
49972
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):
49992         ():
49993         * inspector/front-end/inspector.css:
49994
49995 2010-02-10  Mikhail Naganov  <mnaganov@chromium.org>
49996
49997         Reviewed by Pavel Feldman.
49998
49999         Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for
50000         making JavaScriptDebugServer engine-agnostic.
50001
50002         https://bugs.webkit.org/show_bug.cgi?id=34795
50003
50004         * GNUmakefile.am:
50005         * WebCore.gypi:
50006         * WebCore.pro:
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):
50024
50025 2009-10-06  Yongjun Zhang  <yongjun.zhang@nokia.com>
50026
50027         Reviewed by Simon Hausmann.
50028
50029         Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
50030
50031         Will be reverted when the following winscw compiler bug is fixed.
50032         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
50033
50034         https://bugs.webkit.org/show_bug.cgi?id=28054
50035
50036         * bridge/jni/jsc/JavaInstanceJSC.h:
50037         * bridge/jni/v8/JavaInstanceV8.h:
50038
50039 2010-02-10  Yaar Schnitman  <yaar@chromium.org>
50040
50041         Reviewed by Adam Barth.
50042
50043         Simplified RuntimeEnabledFeatures and corresponding v8 generated code
50044         https://bugs.webkit.org/show_bug.cgi?id=34667
50045
50046         * WebCore.gypi:
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:
50077
50078 2010-02-09  Alexander Pavlov  <apavlov@chromium.org>
50079
50080         Reviewed by Pavel Feldman.
50081
50082         Web Inspector: Add two basic categories for the Audits panel
50083         https://bugs.webkit.org/show_bug.cgi?id=32930
50084
50085         * WebCore.gypi:
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):
50188
50189 2010-02-10  Adam Barth  <abarth@webkit.org>
50190
50191         Reviewed by Darin Adler.
50192
50193         Freeze sandbox attributes on creation
50194         https://bugs.webkit.org/show_bug.cgi?id=34184
50195
50196         This is how the spec works now.
50197
50198         Test: fast/frames/sandboxed-iframe-forms-dynamic.html
50199
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:
50207         * dom/Document.h:
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:
50215
50216 2010-02-09  Ariya Hidayat  <ariya.hidayat@gmail.com>
50217
50218         Rubber-stamped by Kenneth Rohde Christiansen.
50219
50220         [Qt] Remove old, outdated unused code block.
50221
50222         * platform/graphics/qt/GraphicsContextQt.cpp:
50223
50224 2010-02-09  Chris Guillory  <ctguil@google.com>
50225
50226         Reviewed by Darin Fisher.
50227
50228         [Chromium] Notify ChromeClientChromium of state change notifications.
50229         
50230         https://bugs.webkit.org/show_bug.cgi?id=34464
50231
50232         * accessibility/chromium/AXObjectCacheChromium.cpp:
50233         (WebCore::toChromeClientChromium):
50234         (WebCore::AXObjectCache::postPlatformNotification):
50235         * page/chromium/ChromeClientChromium.h:
50236
50237 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
50238
50239         Reviewed by Adam Barth.
50240
50241         [BREWMP] Port PlatformMouseEvent
50242         https://bugs.webkit.org/show_bug.cgi?id=34600
50243
50244         Retrieve the event type, position, key modifiers, time stamp
50245         and click count from AEEEvent.
50246
50247         * platform/PlatformMouseEvent.h:
50248         * platform/brew/PlatformMouseEventBrew.cpp: Added.
50249         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
50250
50251 2010-02-09  Avi Drissman  <avi@chromium.org>
50252
50253         Reviewed by Timothy Hatcher.
50254
50255         [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons
50256         https://bugs.webkit.org/show_bug.cgi?id=34544
50257
50258         Covered by layout tests when run on SL.
50259
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):
50271
50272 2010-02-09  Anton Muhin  <antonm@chromium.org>
50273
50274         Reviewed by Nate Chapin.
50275
50276         [v8] Check if returned wrapper is empty before operating on it.
50277         https://bugs.webkit.org/show_bug.cgi?id=34746
50278
50279         * bindings/v8/custom/V8DocumentCustom.cpp:
50280         (WebCore::toV8):
50281         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
50282         (WebCore::toV8):
50283         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
50284         (WebCore::toV8):
50285
50286 2010-02-09  Mikhail Naganov  <mnaganov@chromium.org>
50287
50288         Reviewed by Pavel Feldman.
50289
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.
50293
50294         https://bugs.webkit.org/show_bug.cgi?id=34706
50295
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:
50319
50320 2010-02-09  Gavin Barraclough  <barraclough@apple.com>
50321
50322         Rubber Stamped by Geoff Garen.
50323
50324         Rename StringBuilder::release && JSStringBuilder::releaseJSString
50325         to 'build()'.
50326
50327         * bindings/js/ScriptString.h:
50328         (WebCore::ScriptString::operator+=):
50329
50330 2010-02-09  Dan Bernstein  <mitz@apple.com>
50331
50332         Reviewed by Anders Carlsson.
50333
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
50336
50337         Tests: plugins/instance-available-before-stylesheets-loaded-object.html
50338                plugins/instance-available-before-stylesheets-loaded.html
50339
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.
50345
50346 2010-02-09  Alejandro G. Castro  <alex@igalia.com>
50347
50348         Reviewed by Darin Adler.
50349
50350         Problems navigating by caret in links whose text wraps onto
50351         subsequent lines.
50352         https://bugs.webkit.org/show_bug.cgi?id=25676
50353
50354         We should not search ahead if we are not in the last element.
50355
50356         * dom/Position.cpp:
50357
50358 2010-02-09  Dirk Schulze  <krit@webkit.org>
50359
50360         Reviewed by Nikolas Zimmermann.
50361
50362         More optimization for AffineTransform with SVG
50363         https://bugs.webkit.org/show_bug.cgi?id=34774
50364
50365         Some optimizations to safe unnecessary summations and multiplications.
50366         Optimize AffineTransform to handle an identity or translation matrix
50367         more efficient.
50368         Added translationRight to avoid multiplications of matrices as much as
50369         possible.
50370
50371         No tests added, no change of functionality.   
50372
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):
50390
50391 2010-02-09  Dirk Schulze  <krit@webkit.org>
50392
50393         Reviewed by Nikolas Zimmermann.
50394
50395         SVG patterns with some scale patternTransform are not displayed correctly for small elements
50396         https://bugs.webkit.org/show_bug.cgi?id=25484
50397
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.
50400
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
50404
50405         * svg/SVGPatternElement.cpp:
50406         (WebCore::SVGPatternElement::buildPattern):
50407
50408 2010-02-09  Darin Adler  <darin@apple.com>
50409
50410         * rendering/RenderObject.cpp:
50411         (WebCore::RenderObject::styleDidChange): Fixed typo in comment.
50412
50413 2010-02-09  MORITA Hajime  <morrita@gmail.com>
50414
50415         Reviewed by Nikolas Zimmermann.
50416
50417         SVG selection text foreground colour does not respect user settings
50418         https://bugs.webkit.org/show_bug.cgi?id=15997
50419
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().
50424         
50425         Tests: svg/text/selection-styles.xhtml
50426
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:
50439         (WebCore::):        
50440         Add callback hooks and its implementation for handle new
50441         subphases.
50442         
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.
50448         
50449         * svg/SVGFont.cpp:
50450         (WebCore::SVGTextRunWalker::walk):
50451         Relax ASSERT() condition to accept a part of text.
50452         
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().
50468
50469 2010-02-09  Nikolas Zimmermann  <nzimmermann@rim.com>
50470
50471         Reviewed by Dirk Schulze.
50472
50473         No scroll bars are displayed for standalone SVG image
50474         https://bugs.webkit.org/show_bug.cgi?id=11225
50475
50476         Height and width defined for svg element are not honored
50477         https://bugs.webkit.org/show_bug.cgi?id=24033
50478
50479         SVG file does not pan and has no scroll bars
50480         https://bugs.webkit.org/show_bug.cgi?id=24448
50481
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).
50485
50486         Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements.
50487
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
50499
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.
50511
50512 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
50513
50514         Reviewed by Eric Seidel.
50515
50516         [BREWMP] Port KURL::fileSystemPath
50517         https://bugs.webkit.org/show_bug.cgi?id=34516
50518
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.
50522
50523         As IWeb "file:" engine opens files in BREW's application-relative
50524         file namespace, we follow the same policy here.
50525
50526         * platform/brew/KURLBrew.cpp: Added.
50527         (WebCore::KURL::fileSystemPath):
50528
50529 2010-02-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
50530
50531         Reviewed by Kenneth Rohde Christiansen.
50532
50533         [Qt] the above website does not render properly when in compositing mode
50534         https://bugs.webkit.org/show_bug.cgi?id=34681
50535
50536         http://media.24ways.org/2009/15/spinner-alt.html now renders correctly
50537
50538         * platform/graphics/qt/GraphicsLayerQt.cpp:
50539         (WebCore::MaskEffectQt::MaskEffectQt): implement mask as
50540         QGraphicsEffect
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
50546
50547 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
50548
50549         Reviewed by Laszlo Gombos.
50550
50551         [BREWMP] Fix macro redefinition error in BREWMP simulator build.
50552         https://bugs.webkit.org/show_bug.cgi?id=34738
50553
50554         Remove warning: 'FAR' macro redefinition.
50555
50556         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
50557
50558 2010-02-07  Yuzo Fujishima  <yuzo@google.com>
50559
50560         Reviewed by Dan Bernstein.
50561
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
50565
50566         Tests: fast/css/inline-element-line-break.html
50567                fast/css/pseudo-element-line-break.html
50568
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.
50571
50572         * rendering/RenderBlockLineLayout.cpp:
50573         (WebCore::RenderBlock::findNextLineBreak):
50574
50575 2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>
50576
50577         Reviewed by Darin Adler.
50578
50579         Provide a way to get total number of pages to be printed
50580         https://bugs.webkit.org/show_bug.cgi?id=34699
50581
50582         Test: printing/numberOfPages.html
50583
50584         * WebCore.base.exp:
50585         * page/PrintContext.cpp:
50586         (WebCore::PrintContext::pageNumberForElement):
50587         (WebCore::PrintContext::numberOfPages):
50588         * page/PrintContext.h:
50589         (WebCore::PrintContext::pageRects):
50590
50591 2010-02-08  Dominic Cooney  <dominicc@google.com>
50592
50593         Reviewed by Adam Barth.
50594
50595         [V8] Move Element custom methods into generic bindings
50596
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>.
50602
50603         https://bugs.webkit.org/show_bug.cgi?id=34554
50604
50605         LayoutTests: None
50606
50607         * WebCore.gypi:
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):
50619
50620 2010-02-08  Hayato Ito  <hayato@chromium.org>
50621
50622         Reviewed by Darin Adler.
50623
50624         Schedule a loading request when there are many in-flight requests beyond
50625         the limit to avoid forever page loading.
50626
50627         https://bugs.webkit.org/show_bug.cgi?id=31227
50628
50629         Test: http/tests/loading/load-javascript-after-many-xhrs.html
50630
50631         * loader/loader.cpp:
50632         (WebCore::Loader::Host::servePendingRequests):
50633
50634 2010-02-08  David Levin  <levin@chromium.org>
50635
50636         Reviewed by Gavin Barraclough.
50637
50638         REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot.
50639         https://bugs.webkit.org/show_bug.cgi?id=34728
50640
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.
50644
50645         No new tests because current tests sufficiently cover this as evidenced as
50646         the buildbot crashes.
50647
50648         * bindings/js/JSDOMBinding.cpp:
50649         (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData
50650         being 0.
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.
50665
50666 2010-02-08  Kinuko Yasuda  <kinuko@chromium.org>
50667
50668         Reviewed by David Levin.
50669
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
50674         WebKit.
50675         https://bugs.webkit.org/show_bug.cgi?id=34567
50676
50677         Test: (for regression) editing/pasteboard
50678
50679         * platform/chromium/ClipboardChromium.cpp:
50680         (WebCore::ClipboardChromium::writeRange):
50681         * platform/chromium/PasteboardChromium.cpp:
50682         (WebCore::Pasteboard::writeSelection):
50683         (WebCore::Pasteboard::documentFragment):
50684
50685 2010-02-08  Darin Adler  <darin@apple.com>
50686
50687         Reviewed by Dan Bernstein.
50688
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
50692
50693         Test: fast/dynamic/position-change-layout.html
50694
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.
50699
50700 2010-02-08  Charlie Reis  <creis@chromium.org>
50701
50702         Reviewed by Darin Adler.
50703
50704         onbeforeunload not called at window close + frame or iframe focused
50705         https://bugs.webkit.org/show_bug.cgi?id=27481
50706         
50707         Chromium and WebKit on Windows will now fire beforeunload handlers
50708         even if an inner frame is focused.  
50709
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.
50713
50714         * manual-tests/onbeforeunload-focused-iframe.html: Added.
50715         * manual-tests/resources/focused-iframe.html: Added.
50716
50717 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
50718
50719         Addressing review feedback.
50720
50721         * bridge/c/c_instance.h: Removed argument name.
50722
50723 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
50724
50725         Reviewed by Darin Adler.
50726
50727         https://bugs.webkit.org/show_bug.cgi?id=34727
50728         Assertion crashes and freezes when plug-in property access results in an exception
50729
50730         Test: plugins/netscape-plugin-property-access-exception.html
50731
50732         * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to
50733         be called from CField.
50734
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.
50740
50741 2010-02-08  Dirk Schulze  <krit@webkit.org>
50742
50743         Unreviewed build fix of ChromiumWin.
50744
50745         * platform/graphics/chromium/TransparencyWin.cpp:
50746         (WebCore::):
50747         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
50748         (WebCore::TransparencyWin::setupTransformForKeepTransform):
50749         * platform/graphics/chromium/TransparencyWin.h:
50750         * rendering/RenderThemeChromiumWin.cpp:
50751         (WebCore::):
50752
50753 2010-02-05  Dumitru Daniliuc  <dumi@chromium.org>
50754
50755         Reviewed by Jeremy Orlow.
50756
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
50760
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).
50763
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):
50771
50772 2010-02-08  Dirk Schulze  <krit@webkit.org>
50773
50774         Unreviewed windows build-fix.
50775
50776         * page/win/FrameCGWin.cpp:
50777         (WebCore::drawRectIntoContext):
50778
50779 2010-02-08  Dirk Schulze  <krit@webkit.org>
50780
50781         Reviewed by Nikolas Zimmermann.
50782
50783         Add back an AffineTransform class for use by SVG
50784         https://bugs.webkit.org/show_bug.cgi?id=33750
50785
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.
50793
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:
50909         (WebCore::):
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:
50921         (WebCore::):
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):
51113
51114 2010-02-08  Stephen White  <senorblanco@chromium.org>
51115
51116         Reviewed by Dimitri Glazkov.
51117
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().
51122
51123         https://bugs.webkit.org/show_bug.cgi?id=34663
51124
51125         * platform/graphics/cg/GraphicsContextCG.cpp:
51126         (WebCore::sRGBColorSpaceRef):
51127         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
51128
51129 2010-02-08  Nate Chapin  <japhet@chromium.org>
51130
51131         Reviewed by Dimitri Glazkov.
51132
51133         [V8] Unify the WorkerContext V8 object wrapping code with
51134         the standard V8 object wrapping code.
51135
51136         https://bugs.webkit.org/show_bug.cgi?id=34658
51137
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:
51151         (WebCore::toV8):
51152
51153 2010-02-08  Kwang Yul Seo  <skyul@company100.net>
51154
51155         Reviewed by Darin Adler.
51156
51157         Use fastStrDup instead of strdup
51158         https://bugs.webkit.org/show_bug.cgi?id=33943
51159
51160         Replace strdup/free with fastStrDup/fastFree.
51161
51162         * bridge/IdentifierRep.h:
51163         (WebCore::IdentifierRep::IdentifierRep):
51164         * bridge/jni/JNIBridge.cpp:
51165         (JavaMethod::~JavaMethod):
51166         (appendClassName):
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):
51183
51184 2010-02-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
51185
51186         Reviewed by Simon Hausmann.
51187
51188         Fix Qt build on Windows.
51189
51190         nmake fails to pick the right cpp file, so we have to
51191         rename the file to to a unique name.
51192
51193         * WebCore.pro:
51194         * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp.
51195
51196 2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
51197
51198         Reviewed by Dirk Schulze.
51199
51200         All SVG *-expected.txt files contain wrong results
51201         https://bugs.webkit.org/show_bug.cgi?id=34703
51202
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.
51208
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.
51212
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.
51217
51218         Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them.
51219
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):
51244
51245 2010-02-07  Daniel Bates  <dbates@webkit.org>
51246
51247         Reviewed by Darin Adler.
51248
51249         https://bugs.webkit.org/show_bug.cgi?id=34402
51250
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>.
51253
51254         Test: fast/lists/w3-css3-list-styles-numeric.html
51255
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:
51272         (WebCore::):
51273         * rendering/style/RenderStyleConstants.h: Added numeric list style types
51274         and fixed indent level for the enum values.
51275         (WebCore::):
51276
51277 2010-02-07  Ismail Donmez  <ismail@namtrac.org>
51278
51279         Reviewed by Darin Adler.
51280
51281         Include wtf/StringExtras.h for strdup definition, which
51282         is needed for WinCE.
51283
51284         * bridge/IdentifierRep.h:
51285
51286 2010-02-07  Pavel Feldman  <pfeldman@chromium.org>
51287
51288         Reviewed by Timothy Hatcher.
51289
51290         Web Inspector: Fragment-held Elements Not Shown in Inspector.
51291
51292         https://bugs.webkit.org/show_bug.cgi?id=34680
51293
51294         * inspector/InspectorDOMAgent.cpp:
51295         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
51296         (WebCore::InspectorDOMAgent::buildObjectForNode):
51297         * inspector/front-end/ElementsTreeOutline.js:
51298         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
51299
51300 2010-02-07  Jian Li  <jianli@chromium.org>
51301
51302         Reviewed by Darin Fisher.
51303
51304         [chromium] Change chromium interface to handle DownloadURL format.
51305         https://bugs.webkit.org/show_bug.cgi?id=34655
51306
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):
51314
51315 2010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
51316
51317         No review, rolling out r54364.
51318         http://trac.webkit.org/changeset/54364
51319         https://bugs.webkit.org/show_bug.cgi?id=34464
51320
51321         Introduced asserts in layout tests, needs more testing
51322         locally.
51323
51324         * accessibility/chromium/AXObjectCacheChromium.cpp:
51325         (WebCore::AXObjectCache::postPlatformNotification):
51326         * page/chromium/ChromeClientChromium.h:
51327
51328 2010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
51329
51330         Reviewed by Adam Barth.
51331
51332         Using inlines and function-level statics don't mix, according to gcc.
51333         https://bugs.webkit.org/show_bug.cgi?id=34663
51334
51335         De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines.
51336
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.
51340
51341         No behavior change, so no new tests.
51342
51343         * platform/graphics/cg/GraphicsContextCG.cpp:
51344         (WebCore::deviceRGBColorSpaceRef):
51345         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
51346
51347 2010-02-05  Geoffrey Garen  <ggaren@apple.com>
51348
51349         Reviewed by Dan Bernstein.
51350
51351         Added an ASSERT to catch an implausible but theoretically possible leak.
51352         
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.
51356         
51357         This ASSERT is somewhat academic, since we don't use the same allocator
51358         in debug builds, but oh well.
51359
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.
51367
51368 2010-02-05  Chris Marrin  <cmarrin@apple.com>
51369
51370         Reviewed by Simon Fraser.
51371
51372         Fixed changed virtual function in GraphicsLayerCACF and call order issues
51373         https://bugs.webkit.org/show_bug.cgi?id=34348
51374         
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
51378         was changed.
51379         
51380         I also changed the order of a couple of calls in QTMovieWin to account
51381         for changed calling order from the logic above.
51382
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
51393
51394 2010-02-05  Enrica Casucci  <enrica@apple.com>
51395
51396         Reviewed by Simon Fraser.
51397
51398         Horizontal scrollbar works in reverse at milliondollarcu.be
51399         <rdar://problem/7556121>
51400         https://bugs.webkit.org/show_bug.cgi?id=33848
51401         
51402         Added a manual test.
51403
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):
51409
51410 2010-02-05  Ryan Leavengood  <leavengood@gmail.com>
51411
51412         Reviewed by David Levin.
51413
51414         Implementation of GlyphPage::fill() for Haiku port.
51415         https://bugs.webkit.org/show_bug.cgi?id=34527
51416
51417         Covered by existing tests.
51418
51419         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp
51420
51421 2010-01-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
51422
51423         Reviewed by Dave Hyatt.
51424
51425         Implement flattening of framesets
51426         https://bugs.webkit.org/show_bug.cgi?id=32717
51427
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.
51431
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
51434         frameset grids.
51435
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
51441
51442         * page/FrameView.cpp:
51443         (WebCore::FrameView::layout):
51444         (WebCore::FrameView::scheduleRelayout):
51445         * page/Settings.cpp:
51446         (WebCore::Settings::Settings):
51447         (WebCore::Settings::setFrameSetFlatteningEnabled):
51448         * page/Settings.h:
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:
51459
51460 2010-02-05  Simon Fraser  <simon.fraser@apple.com>
51461
51462         Reviewed by Dan Bernstein.
51463
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>
51467         
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.
51472         
51473         The fix is to call updateFocusAppearanceSoon() when attaching the input element,
51474         which will update the selection if necessary.
51475
51476         Test: fast/forms/restore-selection-after-layout.html
51477
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.
51484         * dom/Element.cpp:
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.
51489
51490 2010-02-05  Pavel Feldman  <pfeldman@chromium.org>
51491
51492         Reviewed by Timothy Hatcher.
51493
51494         Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns.
51495
51496         https://bugs.webkit.org/show_bug.cgi?id=34646
51497
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):
51523
51524 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
51525
51526         Reviewed by Timothy Hatcher.
51527
51528         Web Inspector: group cookies by frame, show total
51529         cookies size, allow sorting cookie table.
51530
51531         https://bugs.webkit.org/show_bug.cgi?id=34617
51532
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):
51555
51556 2010-02-05  Maxime Simone  <simon.maxime@gmail.com>
51557
51558         Reviewed by David Levin.
51559
51560         More robust conversion from BString to String for Haiku port.
51561         https://bugs.webkit.org/show_bug.cgi?id=34527
51562
51563         Covered by existing tests.
51564
51565         * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString.
51566
51567 2010-02-05  Steve Falkenburg  <sfalken@apple.com>
51568
51569         Reviewed by Adam Roben.
51570
51571         Windows build fix.
51572
51573         * WebCore.vcproj/WebCore.make:
51574
51575 2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>
51576
51577         Reviewed by Dirk Schulze.
51578         Rubber-stamped by Kenneth Rohde Christiansen.
51579
51580         [Qt] Modifying SVG path dumping to equal to other ports
51581         https://bugs.webkit.org/show_bug.cgi?id=33784
51582
51583         * platform/graphics/qt/PathQt.cpp:
51584         (WebCore::Path::debugString): Path dumping style is aproached to Mac.
51585
51586 2010-02-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
51587
51588         Reviewed by Gustavo Noronha.
51589
51590         Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure
51591         https://bugs.webkit.org/show_bug.cgi?id=34317
51592
51593         * GNUmakefile.am:
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.
51603
51604 2010-02-05  Nate Chapin  <japhet@chromium.org>
51605
51606         Reviewed by Dimitri Glazkov.
51607
51608         [V8] Clean up code for getting a v8::FunctionTemplate.
51609         
51610         https://bugs.webkit.org/show_bug.cgi?id=34606
51611
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):
51639
51640 2010-02-05  Siddharth Mathur  <siddharth.mathur@nokia.com>
51641
51642         Reviewed by Ariya Hidayat.
51643
51644         [Qt] Build break in QtWebkit on Symbian
51645         https://bugs.webkit.org/show_bug.cgi?id=34597
51646
51647         * plugins/PluginView.h:
51648
51649 2010-02-05  Yury Semikhatsky  <yurys@chromium.org>
51650
51651         Reviewed by Pavel Feldman.
51652
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.
51661
51662         https://bugs.webkit.org/show_bug.cgi?id=33592
51663
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):
51768
51769 2010-02-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
51770
51771         Reviewed by Simon Hausmann.
51772
51773         [Qt] Generate convenience headers (QWebView, etc) using qmake
51774
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.
51777
51778         These extra headers are installed alongside the normal headers.
51779
51780         * WebCore.pro: Use headers.pri based on DerivedSources instead
51781         of the one previously checked in in the source tree.
51782
51783 2010-02-05  Mikhail Naganov  <mnaganov@chromium.org>
51784
51785         Reviewed by Pavel Feldman.
51786
51787         Enable JAVASCRIPT_DEBUGGER in chromium port.
51788
51789         https://bugs.webkit.org/show_bug.cgi?id=34638
51790
51791         * page/Console.cpp:
51792         * page/Console.h:
51793         * page/Console.idl:
51794
51795 2010-02-05  Pavel Feldman  <pfeldman@chromium.org>
51796
51797         Reviewed by Timothy Hatcher.
51798
51799         Web Inspector: Tab width for javascript source is 8, should be 4
51800
51801         https://bugs.webkit.org/show_bug.cgi?id=31248
51802
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):
51809
51810 2010-02-05  Tony Chang  <tony@chromium.org>
51811
51812         Reviewed by Eric Seidel.
51813
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.
51819
51820         This matches Firefox and IE and makes the common activity of reordering a list
51821         work as expected.
51822
51823         This also adds a small helper method (isListItem) to htmlediting.h.
51824
51825         Test: editing/pasteboard/paste-list-002.html
51826
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:
51835
51836 2010-02-04  Mark Rowe  <mrowe@apple.com>
51837
51838         Reviewed by Timothy Hatcher.
51839
51840         Build fix.  Remove a symbol corresponding to an inline function from the linker export
51841         file to prevent a weak external failure.
51842
51843         * WebCore.base.exp: Remove symbol.
51844         * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
51845
51846 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
51847
51848         Reviewed by Oliver Hunt.
51849
51850         Updated to use new WeakGCPtr::clear interface.
51851
51852         * bindings/js/JSEventListener.cpp:
51853         * bindings/js/JSEventListener.h:
51854         (WebCore::JSEventListener::invalidateJSFunction):
51855
51856 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
51857
51858         Build fix: Added a forwarding header.
51859
51860         * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
51861
51862 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
51863
51864         Reviewed by Alexey Proskuryakov and Darin Adler.
51865
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>
51869         
51870         There were two bugs here:
51871         
51872         1. A stale wrapper would invalidate a node's event listeners, even if
51873         the node had a fresh wrapper keeping it alive.
51874         
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.
51878
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.)
51885         
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. 
51889
51890         * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
51891
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.
51903
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.
51917
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.
51953
51954
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.
51960
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.
51966
51967         * dom/EventListener.h:
51968         (WebCore::EventListener::invalidateJSFunction): ditto
51969
51970         * dom/EventTarget.h:
51971         (WebCore::EventTarget::markJSEventListeners):
51972         (WebCore::EventTarget::invalidateJSEventListeners): ditto
51973
51974 2010-02-04  Tony Chang  <tony@chromium.org>
51975
51976         Reviewed by Eric Seidel.
51977
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.
51982
51983         Test: editing/inserting/paragraph-outside-nested-divs.html
51984
51985         * editing/InsertParagraphSeparatorCommand.cpp:
51986         (WebCore::highestVisuallyEquivalentDiv):
51987         (WebCore::InsertParagraphSeparatorCommand::doApply):
51988
51989 2010-02-04  Dumitru Daniliuc  <dumi@chromium.org>
51990
51991         Reviewed by Eric Seidel.
51992
51993         1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always
51994         succeeds.
51995         2. Jump straight to the transaction error callback when a
51996         statement fails in a way that makes sqlite automatically rollback
51997         the transaction.
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
52000         rollback.
52001
52002         https://bugs.webkit.org/show_bug.cgi?id=34280
52003
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):
52019
52020 2010-02-04  Peter Kasting  <pkasting@google.com>
52021
52022         Not reviewed, rollback.
52023
52024         Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
52025
52026         * platform/chromium/ScrollbarThemeChromiumMac.h:
52027
52028 2010-02-04  Stephen White  <senorblanco@chromium.org>
52029
52030         Unreviewed, build fix.
52031
52032         Fix for Chromium/Mac after palindromic scrollbar change (54345).
52033
52034         Covered by many layout tests.
52035
52036         * platform/chromium/ScrollbarThemeChromiumMac.h:
52037         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
52038
52039 2010-02-04  Clemmitt Sigler  <cmsigler@gmail.com>
52040
52041         Reviewed by David Levin.
52042
52043         WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
52044         Updated WebCore/GNUmakefile.am to include needed files in build.
52045         
52046         https://bugs.webkit.org/show_bug.cgi?id=34387
52047
52048         No new tests.
52049
52050         * GNUmakefile.am:
52051
52052 2010-02-04  Stephan Aßmus  <superstippi@gmx.de>
52053
52054         Reviewed by David Levin.
52055
52056         Misc coding style fixes in Haiku port code.
52057         https://bugs.webkit.org/show_bug.cgi?id=34527
52058
52059         No tests needed.
52060
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
52065
52066 2010-02-04  Enrica Casucci  <enrica@apple.com>
52067
52068         Reviewed by Csaba Osztrogonac.
52069
52070         Fixed crash on QT introduced with the fix for
52071         https://bugs.webkit.org/show_bug.cgi?id=34609
52072
52073         The test has been added with the original patch.
52074         
52075         * platform/qt/ClipboardQt.cpp:
52076         (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData.
52077
52078 2010-02-04  Christian Dywan  <christian@twotoasts.de>
52079
52080         Reviewed by Xan Lopez.
52081
52082         Conditionalize third party cookie policy for libsoup 2.29.90.
52083
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):
52094
52095 2010-02-04  Christian Dywan  <christian@twotoasts.de>
52096
52097         Rubber-stamped by Gustavo Noronha Silva.
52098
52099         Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation.
52100
52101         * platform/gtk/GOwnPtrGtk.cpp:
52102
52103 2010-02-04  Alexey Proskuryakov  <ap@apple.com>
52104
52105         Reviewed by Darin Adler.
52106
52107         Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
52108         https://bugs.webkit.org/show_bug.cgi?id=34520
52109
52110         Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html
52111
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().
52117
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.
52122
52123 2010-02-04  Kevin Ollivier  <kevino@theolliviers.com>
52124
52125         [wx] Build fix after addition of Clipboard::writePlainText method.
52126
52127         * platform/wx/ClipboardWx.cpp:
52128         (WebCore::ClipboardWx::writePlainText):
52129         * platform/wx/ClipboardWx.h:
52130
52131 2010-02-04  Enrica Casucci  <enrica@apple.com>
52132
52133         Reviewed by Oliver Hunt.
52134
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
52138
52139         Test: editing/pasteboard/drop-inputtext-acquires-style.html
52140
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.
52146         
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
52153         in Editor.cpp
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:
52181
52182 2010-02-04  Steve Block  <steveblock@google.com>
52183
52184         Reviewed by Nate Chapin.
52185
52186         Fix bug in V8 convertNPVariantToJValue when converting float and double types
52187         https://bugs.webkit.org/show_bug.cgi?id=34593
52188
52189         No new tests, build fix only.
52190
52191         * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified.
52192         (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum.
52193
52194 2010-02-04  Chris Guillory  <chris.guillory@google.com>
52195
52196         Reviewed by Darin Fisher.
52197
52198         [Chromium] Notify ChromeClientChromium of AccessibilityObject state
52199         change notifications.
52200         
52201         https://bugs.webkit.org/show_bug.cgi?id=34464
52202
52203         * accessibility/chromium/AXObjectCacheChromium.cpp:
52204         (WebCore::toChromeClientChromium):
52205         (WebCore::AXObjectCache::postPlatformNotification):
52206         * page/chromium/ChromeClientChromium.h:
52207
52208 2010-02-04  Stephen White  <senorblanco@chromium.org>
52209
52210         Unreviewed, build fix for Chromium.
52211
52212         Revert r54341 ("[v8] Remove clear method from DOM object maps"),
52213         since it causes the worker tests to fail on Chromium.
52214
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):
52229
52230 2010-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
52231
52232         Reviewed by Xan Lopez.
52233
52234         [GTK] Crashes when an invalid hostname is pre-fetched
52235         https://bugs.webkit.org/show_bug.cgi?id=34602
52236
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.
52240
52241 2010-02-04  José Millán Soto  <jmillan@igalia.com>
52242
52243         Reviewed by Xan Lopez.
52244
52245         [Gtk] webkitgtk crashed when Orca open
52246         https://bugs.webkit.org/show_bug.cgi?id=34463
52247
52248         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52249         (textForObject):
52250         Checking if render objects are texts before calling toRenderText
52251
52252 2010-02-04  Xan Lopez  <xlopez@igalia.com>
52253
52254         Reviewed by Gustavo Noronha.
52255
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.
52260
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):
52269
52270 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
52271
52272         Reviewed by Timothy Hatcher.
52273
52274         Web Inspector: group cookies by domains, not frame's domains.
52275
52276         https://bugs.webkit.org/show_bug.cgi?id=34599
52277
52278         * inspector/front-end/CookieItemsView.js:
52279         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
52280         * inspector/front-end/inspector.js:
52281         (WebInspector.updateResource):
52282         (WebInspector._addCookieDomain):
52283
52284 2010-02-04  Nate Chapin  <japhet@chromium.org>
52285
52286         Reviewed by Dimitri Glazkov.
52287
52288         [V8] Delete V8CustomBinding.h and all references to V8Custom
52289
52290         https://bugs.webkit.org/show_bug.cgi?id=32638
52291
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:
52354
52355 2010-02-04  Ariya Hidayat  <ariya.hidayat@gmail.com>
52356
52357         Reviewed by Simon Hausmann.
52358
52359         [Qt] Unnecessary QBrush construction for doing a solid fill
52360         https://bugs.webkit.org/show_bug.cgi?id=34559
52361
52362         Use the similar trick like r37421, i.e. use the special brush for
52363         solid color to avoid creating QBrush again and again.
52364
52365         * platform/graphics/qt/GraphicsContextQt.cpp:
52366         (WebCore::GraphicsContext::setPlatformFillColor):
52367
52368 2010-02-04  Dan Bernstein  <mitz@apple.com>
52369
52370         Reviewed by Simon Fraser.
52371
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
52374
52375         Allow ScrollbarTheme to cap the overlap between pages, and set a cap of
52376         40 in ScrollbarThemeMac.
52377
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
52396         constants.
52397         * platform/haiku/PlatformWheelEventHaiku.cpp:
52398         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
52399         constants.
52400         * platform/mac/ScrollbarThemeMac.h:
52401         (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override
52402         that returns 40.
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
52408         constants.
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.
52414
52415 2010-02-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
52416
52417         Reviewed by Ariya Hidayat.
52418
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.
52423
52424         https://bugs.webkit.org/show_bug.cgi?id=34062
52425
52426         This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements.
52427
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
52432
52433 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
52434
52435         Reviewed by Timothy Hatcher.
52436
52437         Web Inspector: Cookies for resources are not shown in storage panel.
52438
52439         https://bugs.webkit.org/show_bug.cgi?id=34594
52440
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):
52448
52449 2010-02-04  Anton Muhin  <antonm@chromium.org>
52450
52451         Reviewed by Adam Barth.
52452
52453         [v8] Remove clear method from DOM object maps
52454         https://bugs.webkit.org/show_bug.cgi?id=34530
52455
52456         No new tests. Should be covered by existent testing infrastructure.
52457
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):
52464
52465 2010-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
52466
52467         Reviewed by Xan Lopez.
52468
52469         [Gtk] Check if the renderer() exists in textForObject.
52470
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.
52474
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
52478         the result.
52479
52480         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52481         (textForObject):
52482
52483 2010-02-04  Yury Semikhatsky  <yurys@chromium.org>
52484
52485         Reviewed by Pavel Feldman.
52486
52487         Provide strongly typed C++ interface for inspector's injected script.
52488
52489         https://bugs.webkit.org/show_bug.cgi?id=33616
52490
52491         * GNUmakefile.am:
52492         * WebCore.gypi:
52493         * WebCore.pro:
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):
52534
52535 2010-02-04  Philippe Normand  <pnormand@igalia.com>
52536
52537         Rubber stamped by Xan Lopez.
52538
52539         Missing include, build fix after landing of patch from the bug 34435.
52540
52541         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52542
52543 2010-02-02  Philippe Normand  <pnormand@igalia.com>
52544
52545         Reviewed by Gustavo Noronha Silva.
52546
52547         [Gtk] libsoup critical warning in media player http cookies injection code
52548         https://bugs.webkit.org/show_bug.cgi?id=34435
52549
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.
52555
52556         * GNUmakefile.am:
52557         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52558         (WebCore::mediaPlayerPrivateSourceChangedCallback):
52559         * platform/gtk/GOwnPtrGtk.cpp: Added.
52560         (WTF::SoupURI):
52561         (WTF::GstElement):
52562         * platform/gtk/GOwnPtrGtk.h: Added.
52563
52564 2010-02-04  Mikhail Naganov  <mnaganov@chromium.org>
52565
52566         Reviewed by Timothy Hatcher.
52567
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.
52571
52572         https://bugs.webkit.org/show_bug.cgi?id=34531
52573
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):
52598         * page/Page.cpp:
52599         (WebCore::Page::Page):
52600
52601 2010-02-03  Nicholas Young  <nicholas.young@nokia.com>
52602
52603         Reviewed by Eric Carlson.
52604
52605         Defer formatting of times displayed on media controls to the current theme.
52606         https://bugs.webkit.org/show_bug.cgi?id=34405
52607
52608         No new tests needed. Refactoring Only.
52609
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:
52620
52621 2010-02-03  Steve Falkenburg  <sfalken@apple.com>
52622
52623         Windows Debug_All build fix.
52624
52625         * platform/graphics/win/WKCACFLayer.cpp:
52626
52627 2010-02-03  Brady Eidson  <beidson@apple.com>
52628
52629         Reviewed by Alexey Proskuryakov.
52630
52631         REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
52632         <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550
52633
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
52638
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.
52642
52643 2010-02-03  Kwang Yul Seo  <skyul@company100.net>
52644
52645         Reviewed by Eric Seidel.
52646
52647         [BREWMP] Port TextBreakIteratorInternalICU
52648         https://bugs.webkit.org/show_bug.cgi?id=34515
52649
52650         Port TextBreakIteratorInternalICU.
52651
52652         * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added.
52653         (WebCore::currentSearchLocaleID):
52654         (WebCore::currentTextBreakLocaleID):
52655
52656 2010-02-03  Adele Peterson  <adele@apple.com>
52657
52658         Reviewed by Simon Fraser.
52659
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
52663
52664         Test: fast/css/counters/counter-before-selector-crash.html
52665
52666         * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check.
52667
52668 2010-02-03  Adele Peterson  <adele@apple.com>
52669
52670         Reviewed by Brady Eidson.
52671
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.
52674
52675         * page/PageGroup.cpp:
52676
52677 2010-02-03  Adele Peterson  <adele@apple.com>
52678
52679         Reviewed by Brady Eidson.
52680
52681         Fix for https://bugs.webkit.org/show_bug.cgi?id=34547
52682         static shouldTrackVisitedLinks is not initialized
52683
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.
52686
52687         * page/PageGroup.cpp:
52688
52689 2010-02-03  Dan Bernstein  <mitz@apple.com>
52690
52691         Reviewed by Simon Fraser.
52692
52693         <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
52694         https://bugs.webkit.org/show_bug.cgi?id=34546
52695
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.
52705
52706 2010-02-03  Nate Chapin  <japhet@chromium.org>
52707
52708         Unreviewed, Chromium mac build fix.
52709
52710         [V8] Remove unused V8Proxy* variable from generated wrapping code.
52711
52712         * bindings/scripts/CodeGeneratorV8.pm:
52713
52714 2010-02-03  Nate Chapin  <japhet@chromium.org>
52715
52716         Reviewed by Dimitri Glazkov.
52717
52718         [V8] Use toV8() to wrap in the custom bindings, and remove
52719         the old wrapping code from V8DOMWrapper.
52720         
52721         https://bugs.webkit.org/show_bug.cgi?id=32563
52722
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:
52769
52770 2010-02-03  Sam Weinig  <sam@webkit.org>
52771
52772         Reviewed by Anders Carlsson.
52773
52774         Fix drawing buttons in viewless WebKit.
52775
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.
52779
52780 2010-02-03  Yael Aharon  <yael.aharon@nokia.com>
52781
52782         Reviewed by Kenneth Rohde Christiansen.
52783
52784         [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
52785         https://bugs.webkit.org/show_bug.cgi?id=34425
52786
52787         Reverting r54279, it was a misunderstanding.
52788
52789         * platform/network/qt/SocketStreamHandlePrivate.h:
52790         * platform/network/qt/SocketStreamHandleQt.cpp:
52791         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
52792         (WebCore::SocketStreamHandlePrivate::send):
52793         (WebCore::SocketStreamHandlePrivate::close):
52794
52795 2010-02-03  Drew Wilson  <atwilson@chromium.org>
52796
52797         Reviewed by Alexey Proskuryakov.
52798
52799         SharedWorkerScriptLoader should not be an ActiveDOMObject
52800         https://bugs.webkit.org/show_bug.cgi?id=34513
52801
52802         Test: Existing tests suffice (fixes test downstream in Chrome).
52803
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.
52813
52814 2010-02-03  Pavel Feldman  <pfeldman@chromium.org>
52815
52816         Reviewed by Timothy Hatcher.
52817
52818         Web Inspector: Inspector renders blank scripts on reloading the webpage.
52819
52820         https://bugs.webkit.org/show_bug.cgi?id=34537
52821
52822         * inspector/front-end/ResourcesPanel.js:
52823         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
52824
52825 2010-02-03  Yury Semikhatsky  <yurys@chromium.org>
52826
52827         Reviewed by Pavel Feldman.
52828
52829         Provide strongly typed C++ interface for inspector's injected script.
52830
52831         https://bugs.webkit.org/show_bug.cgi?id=33616
52832
52833         * WebCore.gypi:
52834         * WebCore.pro:
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):
52873
52874 2010-02-03  Andras Becsi  <abecsi@webkit.org>
52875
52876         Unreviewed build fix.
52877
52878         [Qt] Roll-out r54281 because it broke the build on the Qt Release bot.
52879
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):
52898
52899 2010-02-02  Bryan Yeung  <bryeung@google.com>
52900
52901         Reviewed by Darin Adler.
52902
52903         Avoid using an invalidated KURL object in baseURI.
52904
52905         https://bugs.webkit.org/show_bug.cgi?id=34492
52906
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
52911
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.
52914
52915         * dom/Element.cpp:
52916         (WebCore::Element::baseURI):
52917
52918 2010-02-02  Joel Stanley  <joel@jms.id.au>
52919
52920         Reviewed by David Levin.
52921
52922         [Chromium] Make setCaretBlinkInterval static.
52923         https://bugs.webkit.org/show_bug.cgi?id=31704
52924
52925         This is so it can be called from the newly exposed Chromium API setter
52926         method.
52927
52928         * rendering/RenderThemeChromiumLinux.cpp:
52929         * rendering/RenderThemeChromiumLinux.h:
52930
52931 2010-02-02  Yael Aharon  <yael.aharon@nokia.com>
52932
52933         Reviewed by Kenneth Rohde Christiansen.
52934
52935         [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
52936         https://bugs.webkit.org/show_bug.cgi?id=34425
52937
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.
52942
52943         No new tests, since no new functionality is introduced.
52944
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):
52951
52952 2010-02-03  Shinichiro Hamaji  <hamaji@chromium.org>
52953
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.
52957
52958         [V8] Generate toV8 conversion helpers, a la JSC bindings.
52959         https://bugs.webkit.org/show_bug.cgi?id=32563
52960
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):
52996         (WebCore::):
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:
53090         (WebCore::toV8):
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):
53110
53111 2010-02-03  Mikhail Naganov  <mnaganov@chromium.org>
53112
53113         Reviewed by Pavel Feldman.
53114
53115         Start unforking debugger and profiler code.
53116
53117         Remove custom implementation of Console.
53118         Add 'ScriptProfiler' and 'ScriptProfile' types.
53119         Start migration to engine-neutral types in InspectorController.
53120
53121         https://bugs.webkit.org/show_bug.cgi?id=34481
53122
53123         * GNUmakefile.am:
53124         * WebCore.gypi:
53125         * WebCore.pro:
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):
53164         * page/Console.h:
53165         (WebCore::):
53166         (WebCore::Console::create):
53167         (WebCore::Console::profiles):
53168         * page/Console.idl:
53169
53170 2010-02-02  Kent Tamura  <tkent@chromium.org>
53171
53172         Reviewed by Darin Adler.
53173
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
53177
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.
53184
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):
53207
53208 2010-02-02  Roland Steiner  <rolandsteiner@chromium.org>
53209
53210         Reviewed by Adele Peterson.
53211
53212         Bug 34198 -  Ruby text should not inherit line-height
53213         (https://bugs.webkit.org/show_bug.cgi?id=34198)
53214         
53215         Resetting line-height to 'normal' in the default UA style sheet.
53216         Adding layout-test to check for this.
53217
53218         Test: fast/ruby/ruby-line-height.html
53219
53220         * css/html.css:
53221
53222 2010-02-02  James Robinson  <jamesr@chromium.org>
53223
53224         Reviewed by Dmitry Titov.
53225
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
53228
53229         Test: fast/gradients/crash-on-1px-border.html
53230
53231         * rendering/RenderBoxModelObject.cpp:
53232         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
53233
53234 2010-02-02  Kent Tamura  <tkent@chromium.org>
53235
53236         Reviewed by Darin Adler.
53237
53238         rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
53239         month, time and week
53240         https://bugs.webkit.org/show_bug.cgi?id=34483
53241
53242         Tests: fast/forms/ValidityState-rangeOverflow.html
53243                fast/forms/ValidityState-rangeUnderflow.html
53244
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.
53251
53252 2010-02-02  Fumitoshi Ukai  <ukai@chromium.org>
53253
53254         Reviewed by Alexey Proskuryakov.
53255
53256         WebSocket set pending activity to avoid unexpected GC.
53257         https://bugs.webkit.org/show_bug.cgi?id=34014
53258
53259         Test: websocket/tests/websocket-pending-activity.html
53260
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.
53269
53270 2010-02-02  Gustavo Noronha Silva  <gns@gnome.org>
53271
53272         No review, rolling out r54261.
53273         http://trac.webkit.org/changeset/54261
53274         https://bugs.webkit.org/show_bug.cgi?id=34435
53275
53276         Causes crashes on release builds
53277
53278         * GNUmakefile.am:
53279         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
53280         (WebCore::mediaPlayerPrivateSourceChangedCallback):
53281         * platform/gtk/GOwnPtrGtk.cpp: Removed.
53282         * platform/gtk/GOwnPtrGtk.h: Removed.
53283
53284 2010-02-02  David Levin  <levin@chromium.org>
53285
53286         No review, rolling out r54245.
53287         http://trac.webkit.org/changeset/54245
53288         https://bugs.webkit.org/show_bug.cgi?id=34492
53289
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).
53292
53293         * dom/Element.cpp:
53294         (WebCore::Element::baseURI):
53295
53296 2010-02-02  Steve Falkenburg  <sfalken@apple.com>
53297
53298         Reviewed by Darin Adler.
53299
53300         Copyright year updating for Windows version resources should be automatic
53301         https://bugs.webkit.org/show_bug.cgi?id=34503
53302
53303         * WebCore.vcproj/QTMovieWin.rc:
53304
53305 2010-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
53306
53307         No review, rolling out r54257.
53308         http://trac.webkit.org/changeset/54257
53309         https://bugs.webkit.org/show_bug.cgi?id=34491
53310
53311         [Chromium] broke thousands of Win tests and a few of Linux tests.
53312
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:
53318
53319 2010-02-02  Philippe Normand  <pnormand@igalia.com>
53320
53321         Reviewed by Gustavo Noronha Silva.
53322
53323         [Gtk] libsoup critical warning in media player http cookies injection code
53324         https://bugs.webkit.org/show_bug.cgi?id=34435
53325
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.
53331
53332         * GNUmakefile.am:
53333         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
53334         (WebCore::mediaPlayerPrivateSourceChangedCallback):
53335         * platform/gtk/GOwnPtrGtk.cpp: Added.
53336         (WTF::SoupURI):
53337         (WTF::GstElement):
53338         * platform/gtk/GOwnPtrGtk.h: Added.
53339
53340 2010-02-02  Nate Chapin  <japhet@chromium.org>
53341
53342         Reviewed by Dimitri Glazkov.
53343
53344         [V8] Use toV8() to wrap in the custom bindings, and remove
53345         the old wrapping code from V8DOMWrapper.
53346         
53347         https://bugs.webkit.org/show_bug.cgi?id=32563
53348
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:
53393
53394 2010-02-02  Garret Kelly  <gdk@chromium.org>
53395
53396         Reviewed by David Levin.
53397
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
53403
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.
53406
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:
53412
53413 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
53414
53415         Reviewed by Eric Seidel.
53416
53417         Use WTF::getLocalTime instead of localtime_r in FTPDirectoryDocument
53418         https://bugs.webkit.org/show_bug.cgi?id=34409
53419
53420         Platform guards for localtime_r are not needed because we already have
53421         WTF::getLocalTime which does the same thing.
53422
53423         * loader/FTPDirectoryDocument.cpp:
53424         (WebCore::processFileDateString):
53425         * loader/FTPDirectoryParser.cpp:
53426         (WebCore::gmtimeQt):
53427
53428 2010-02-02  Adam Roben  <aroben@apple.com>
53429
53430         Copy WebCore's bindings generation scripts to the PrivateHeaders
53431         directory on Mac
53432
53433         This will allow other projects to use these scripts.
53434
53435         Fixes <http://webkit.org/b/34498>.
53436
53437         Reviewed by Mark Rowe.
53438
53439         * WebCore.xcodeproj/project.pbxproj: Added the bindings generation
53440         scripst to the Copy Headers phase, and marked them as Private.
53441
53442 2010-02-02  Adam Roben  <aroben@apple.com>
53443
53444         Copy WebCore's bindings generation scripts to a more sensible location
53445
53446         Part of Bug 34496: Clean up WebCore's IDL/script copying
53447         <https://bugs.webkit.org/show_bug.cgi?id=34496>
53448
53449         Reviewed by Steve Falkenburg.
53450
53451         * WebCore.vcproj/WebCore.make:
53452         * WebCore.vcproj/WebCoreGenerated.vcproj:
53453         Instead of copying to obj/WebKit/DOMInterfaces, copy to obj/WebCore/scripts.
53454
53455 2010-02-02  Adam Roben  <aroben@apple.com>
53456
53457         Rename the scripts used to copy WebCore's bindings generation scripts
53458
53459         Part of Bug 34496: Clean up WebCore's IDL/script copying
53460         <https://bugs.webkit.org/show_bug.cgi?id=34496>
53461
53462         Reviewed by Steve Falkenburg.
53463
53464         * WebCore.vcproj/MigrateScripts: Renamed from WebCore/WebCore.vcproj/MigrateIDLAndScripts.
53465         * WebCore.vcproj/migrate-scripts.sh: Renamed from WebCore/WebCore.vcproj/migrate-idls.sh.
53466
53467         * WebCore.vcproj/WebCoreGenerated.vcproj: Updated for renames.
53468
53469 2010-02-02  Adam Roben  <aroben@apple.com>
53470
53471         Stop copying IDL files into $(WebKitOutputDir)
53472
53473         No one uses these anymore (as of r52921).
53474
53475         Part of Bug 34496: Clean up WebCore's IDL/script copying
53476         <https://bugs.webkit.org/show_bug.cgi?id=34496>
53477
53478         Reviewed by Steve Falkenburg.
53479
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.
53483
53484 2010-02-02  Bryan Yeung  <bryeung@google.com>
53485
53486         Reviewed by Darin Adler.
53487
53488         Avoid using an invalidated KURL object in baseURI.
53489
53490         https://bugs.webkit.org/show_bug.cgi?id=34492
53491
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
53496
53497         * dom/Element.cpp:
53498         (WebCore::Element::baseURI):
53499
53500 2010-02-02  Alexey Proskuryakov  <ap@apple.com>
53501
53502         Reviewed by Darin Adler.
53503
53504         https://bugs.webkit.org/show_bug.cgi?id=34076
53505         <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute
53506
53507         Test: fast/forms/misplaced-img-form-registration.html
53508
53509         * html/HTMLFormElement.cpp:
53510         (WebCore::HTMLFormElement::registerImgElement): Assert that the same image isn't added
53511         to vector again.
53512         (WebCore::HTMLFormElement::removeImgElement): Similarly, assert that we're removing something
53513         that's actually registered.
53514
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.
53518
53519 2010-02-02  Alexander Pavlov  <apavlov@chromium.org>
53520
53521         Reviewed by Pavel Feldman.
53522
53523         Web Inspector: Eliminate some of the platform flavor-specific stylesheet selectors
53524
53525         Extract OS version into WebInspector.platformFlavor
53526         https://bugs.webkit.org/show_bug.cgi?id=34469
53527
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):
53539
53540 2010-02-02  Steve Block  <steveblock@google.com>
53541
53542         Reviewed by Ariya Hidayat.
53543
53544         Adds utility functions for converting between JavaInstance and NPAPI types
53545         https://bugs.webkit.org/show_bug.cgi?id=34468
53546
53547         This is required by Android for injecting objects into V8 JavaScript.
53548
53549         No new tests, added utility functions only.
53550
53551         * Android.v8bindings.mk: Modified. Added JavaNPObjectV8.cpp
53552         * bridge/jni/v8/JavaNPObjectV8.cpp: Added.
53553         (JSC::Bindings::AllocJavaNPObject):
53554         (JSC::Bindings::FreeJavaNPObject):
53555         (JSC::Bindings::):
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.
53563
53564 2010-02-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
53565
53566         Reviewed by Ariya Hidayat.
53567
53568         [Qt] Symbian plugins include a wrong header file for QPixmap
53569         https://bugs.webkit.org/show_bug.cgi?id=34475
53570
53571         * plugins/symbian/PluginViewSymbian.cpp:
53572
53573 2010-02-02  Pavel Feldman  <pfeldman@chromium.org>
53574
53575         Reviewed by Timothy Hatcher.
53576
53577         Web Inspector: URLs are not syntax-higlighted as links in source view.
53578
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
53583         common location.
53584
53585         https://bugs.webkit.org/show_bug.cgi?id=34364
53586
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:
53611
53612 2010-02-02  Simon Hausmann  <simon.hausmann@nokia.com>
53613
53614         Reviewed by Ariya Hidayat.
53615
53616         [Qt] Install libraries and headers in package builds
53617         https://bugs.webkit.org/show_bug.cgi?id=34325
53618
53619         Add the QtWebKit libraries to the installable items, except on
53620         Symbian where the libraries are always linked in their final
53621         destination.
53622
53623         Also include the headers generated by syncqt in the installation.
53624
53625         * WebCore.pro:
53626
53627 2010-02-02  Kavita Kanetkar  <kkanetkar@chromium.org>
53628
53629         Reviewed by Dmitry Titov.
53630
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
53635
53636
53637         * bindings/v8/custom/V8DOMWindowCustom.cpp:
53638         (WebCore::WindowSetTimeoutImpl):
53639
53640 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
53641
53642         Reviewed by Eric Seidel.
53643
53644         [BREWMP] Port Screen
53645         https://bugs.webkit.org/show_bug.cgi?id=34299
53646
53647         Get the screen size and depth from the main display bitmap.
53648
53649         * platform/brew/ScreenBrew.cpp: Added.
53650         (WebCore::getDisplayInfo):
53651         (WebCore::screenRect):
53652         (WebCore::screenAvailableRect):
53653         (WebCore::screenDepth):
53654         (WebCore::screenDepthPerComponent):
53655         (WebCore::screenIsMonochrome):
53656
53657 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
53658
53659         Reviewed by Eric Seidel.
53660
53661         [BREWMP] Port LocalizedStrings
53662         https://bugs.webkit.org/show_bug.cgi?id=34257
53663
53664         Port LocalizedStrings to BREWMP.
53665
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):
53738
53739 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
53740
53741         Reviewed by Eric Seidel.
53742
53743         [BREWMP] Port systemBeep
53744         https://bugs.webkit.org/show_bug.cgi?id=33601
53745
53746         Implement systemBeep with IShell_Beep.
53747
53748         * platform/brew/SoundBrew.cpp: Added.
53749         (WebCore::systemBeep):
53750
53751 2010-02-02  Shinichiro Hamaji  <hamaji@chromium.org>
53752
53753         Reviewed by Eric Seidel.
53754
53755         [Win] Utilize PrintContext to share the printing code with other ports
53756         https://bugs.webkit.org/show_bug.cgi?id=34312
53757
53758         No new tests as this is just a small refactoring.
53759
53760 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
53761
53762         Reviewed by Eric Seidel.
53763
53764         [BREWMP] Add conversions between IntPoint and AEEPoint
53765         https://bugs.webkit.org/show_bug.cgi?id=34194
53766
53767         Make it easy to convert between IntPoint and AEEPoint.
53768
53769         * platform/graphics/IntPoint.h:
53770         * platform/graphics/brew/IntPointBrew.cpp: Added.
53771         (WebCore::IntPoint::IntPoint):
53772         (WebCore::IntPoint::operator AEEPoint):
53773
53774 2010-02-02  Steve Block  <steveblock@google.com>
53775
53776         Reviewed by Adam Barth.
53777
53778         Adds virtual destructors for AbstractWeakReferenceMap and AbstractWeakReferenceMap::Visitor
53779         https://bugs.webkit.org/show_bug.cgi?id=34434
53780
53781         No new tests, build fix only.
53782
53783         * bindings/v8/V8DOMMap.h: Modified.
53784         (WebCore::AbstractWeakReferenceMap::~AbstractWeakReferenceMap): Added.
53785         (WebCore::AbstractWeakReferenceMap::Visitor::~Visitor): Added.
53786
53787 2010-02-02  Avi Drissman  <avi@chromium.org>
53788
53789         Reviewed by Eric Seidel.
53790
53791         Sync up Chromium Mac render theme to Mac render theme
53792         https://bugs.webkit.org/show_bug.cgi?id=34340
53793
53794         Covered by existing layout tests.
53795
53796         * platform/chromium/ThemeChromiumMac.mm:
53797         (WebCore::updateStates):
53798         (WebCore::checkbox):
53799         (WebCore::paintCheckbox):
53800         (WebCore::radio):
53801         (WebCore::paintRadio):
53802         (WebCore::listButtonSizes):
53803         (WebCore::setupButtonCell):
53804         (WebCore::button):
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):
53833
53834 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
53835
53836         Reviewed by Eric Seidel.
53837
53838         [BREWMP] Port Logging
53839         https://bugs.webkit.org/show_bug.cgi?id=34300
53840
53841         Log calls to notImplemented() by default.
53842
53843         * platform/brew/LoggingBrew.cpp: Added.
53844         (WebCore::InitializeLoggingChannelsIfNecessary):
53845
53846 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
53847
53848         Reviewed by Eric Seidel.
53849
53850         [BREWMP] Port FileChooser
53851         https://bugs.webkit.org/show_bug.cgi?id=34261
53852
53853         Port FileChooser to BREWMP.
53854
53855         * platform/brew/FileChooserBrew.cpp: Added.
53856         (WebCore::FileChooser::basenameForWidth):
53857
53858 2010-02-01  Zoltan Horvath  <zoltan@webkit.org>
53859
53860         Reviewed by Darin Adler.
53861
53862         Allow custom memory allocation control for IconDatabaseClient class
53863         https://bugs.webkit.org/show_bug.cgi?id=33252
53864
53865         Inherits the following struct from Noncopyable because it is 
53866         instantiated by 'new' and no need to be copyable:
53867
53868         class name               - instantiated at: WebCore/'location'
53869         class IconDatabaseClient - loader/icon/IconDatabase.cpp:89
53870
53871         * loader/icon/IconDatabaseClient.h:
53872
53873 2010-02-01  Kwang Yul Seo  <skyul@company100.net>
53874
53875         Reviewed by Eric Seidel.
53876
53877         [BREWMP] Port MIMETypeRegistry
53878         https://bugs.webkit.org/show_bug.cgi?id=34220
53879
53880         Port MIMETypeRegistry with an extension map as other ports do.
53881
53882         * platform/brew: Added.
53883         * platform/brew/MIMETypeRegistryBrew.cpp: Added.
53884         (WebCore::):
53885         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
53886
53887 2010-02-01  Dmitry Titov  <dimich@chromium.org>
53888
53889         Not reviewed, revert r54194 that fails new test on Qt and Chromium.
53890         https://bugs.webkit.org/show_bug.cgi?id=34382
53891
53892         * html/HTMLFrameElementBase.cpp:
53893         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
53894         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
53895         * html/HTMLFrameElementBase.h:
53896         * page/Frame.cpp:
53897         * page/Frame.h:
53898
53899 2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
53900
53901         Reviewed by Eric Seidel.
53902
53903         Provide a way to get page number with layoutTestController
53904         https://bugs.webkit.org/show_bug.cgi?id=33840
53905
53906         Test: printing/page-break-always.html
53907
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:
53917
53918 2010-02-01  Kwang Yul Seo  <skyul@company100.net>
53919
53920         Reviewed by Eric Seidel.
53921
53922         [BREWMP] Add conversions between IntSize and AEESize
53923         https://bugs.webkit.org/show_bug.cgi?id=34197
53924
53925         Make it easy to convert between IntSize and AEESize.
53926
53927         * platform/graphics/IntSize.h:
53928         * platform/graphics/brew/IntSizeBrew.cpp: Added.
53929         (WebCore::IntSize::IntSize):
53930         (WebCore::IntSize::operator AEESize):
53931
53932 2010-02-01  Stephen White  <senorblanco@chromium.org>
53933
53934         Reviewed by Eric Seidel.
53935
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
53943         on each draw.
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.
53948
53949         https://bugs.webkit.org/show_bug.cgi?id=24534 
53950
53951         Covered by svg/custom/pattern-y-offset.svg,
53952         svg/custom/pattern-cycle-detection.svg, and many more.
53953
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.
53977
53978 2010-02-01  Daniel Bates  <dbates@webkit.org>
53979
53980         Reviewed by Adam Barth.
53981
53982         https://bugs.webkit.org/show_bug.cgi?id=27312
53983
53984         Implements support for full page blocking via the X-XSS-Protection header.
53985
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
53997
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.
54004
54005 2010-02-01  Kwang Yul Seo  <skyul@company100.net>
54006
54007         Reviewed by Eric Seidel.
54008
54009         [BREWMP] Port SharedTimer with IShell_SetTimerEx.
54010         https://bugs.webkit.org/show_bug.cgi?id=33599
54011
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.
54015
54016         * platform/brew/SharedTimerBrew.cpp: Added.
54017         (WebCore::invokeCallback):
54018         (WebCore::setSharedTimerFiredFunction):
54019         (WebCore::setSharedTimerFireTime):
54020         (WebCore::stopSharedTimer):
54021
54022 2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
54023
54024         [Chromium] Unreviewed attempt to fix the chromium build.
54025
54026         Corresponding change: http://trac.webkit.org/changeset/54182
54027
54028         * bindings/scripts/CodeGeneratorV8.pm:
54029         * bindings/v8/ScriptController.cpp:
54030         (WebCore::ScriptController::processingUserGesture):
54031         * bindings/v8/ScriptController.h:
54032
54033 2010-02-01  Dmitry Titov  <dimich@chromium.org>
54034
54035         Reviewed by David Levin.
54036
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
54039
54040         Test: fast/frames/iframe-reparenting-new-page.html
54041
54042         * html/HTMLFrameElementBase.cpp:
54043         (WebCore::HTMLFrameElementBase::setName):
54044         Move the code setting the frame name into a separate function.
54045
54046         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
54047         (WebCore::HTMLFrameElementBase::updateLiveFrame):
54048         Update frame tree, reset page in the contentFrame and re-set the name.
54049
54050         (WebCore::HTMLFrameElementBase::insertedIntoDocument): 
54051         * html/HTMLFrameElementBase.h:
54052
54053         * page/Frame.cpp:
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).
54057
54058 2010-02-01  Brady Eidson  <beidson@apple.com>
54059
54060         Reviewed by Tim Hatcher.
54061
54062         Add common IRC ports to port blocking.
54063         <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
54064
54065         * platform/KURL.cpp:
54066         (WebCore::portAllowed):
54067
54068 2010-01-29  Jeremy Orlow  <jorlow@chromium.org>
54069
54070         Reviewed by Nate Chapin.
54071
54072         [V8] Add compile time guards for IndexedDB custom functions
54073         https://bugs.webkit.org/show_bug.cgi?id=34368
54074
54075         * bindings/v8/custom/V8IDBRequestCustom.cpp:
54076         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
54077
54078 2010-01-29  Gavin Barraclough  <barraclough@apple.com>
54079
54080         Reviewed by Sam Weinig + Oliver Hunt.
54081
54082         Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
54083
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.
54087
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:
54103         * dom/Event.cpp:
54104         (WebCore::Event::isUserEvent):
54105         * dom/Event.h:
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):
54124
54125 2010-02-01  Andreas Kling  <andreas.kling@nokia.com>
54126
54127         Reviewed by Kenneth Rohde Christiansen.
54128
54129         [Qt] Use the fallback style on Maemo 5
54130
54131         https://bugs.webkit.org/show_bug.cgi?id=34376
54132
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:
54139
54140 2010-02-01  Kavita Kanetkar  <kkanetkar@chromium.org>
54141
54142         Reviewed by Nate Chapin.
54143
54144         [V8] Making V8 generated classes' GetTemplate() function public
54145         https://bugs.webkit.org/show_bug.cgi?id=34026
54146
54147         * bindings/scripts/CodeGeneratorV8.pm: Generated code need not depend on V8CustomBinding.h, made GetTemplate() signature public.
54148
54149 2010-02-01  Steve Block  <steveblock@google.com>
54150
54151         Reviewed by Ariya Hidayat.
54152
54153         Adds V8-specific JNI bridge classes
54154         https://bugs.webkit.org/show_bug.cgi?id=34166
54155
54156         This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
54157
54158         No new tests, build fix only.
54159
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):
54168
54169 2010-02-01  Steve Block  <steveblock@google.com>
54170
54171         Reviewed by Ariya Hidayat.
54172
54173         Adds V8-specific JNI utility functions.
54174         https://bugs.webkit.org/show_bug.cgi?id=33901
54175
54176         This is the V8 equivalent of bridge/jni/jsc/JNIUtilityPrivate.
54177
54178         No new tests, build fix only.
54179
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.
54185
54186 2010-02-01  Steve Block  <steveblock@google.com>
54187
54188         Reviewed by Ariya Hidayat.
54189
54190         Adds V8 version of JavaClass
54191         https://bugs.webkit.org/show_bug.cgi?id=33898
54192
54193         This is the V8 equivalent of bridge/jni/jsc/JavaClassJSC
54194
54195         No new tests, build fix only.
54196
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.
54204
54205 2010-02-01  Steve Block  <steveblock@google.com>
54206
54207         Reviewed by Ariya Hidayat.
54208
54209         Adds V8 version of JavaInstance
54210         https://bugs.webkit.org/show_bug.cgi?id=33951
54211
54212         This is the V8 equivalent of bridge/jni/jsc/JavaInstanceJSC.
54213         Also fixes a typo in a comment in JavaInstanceJSC.cpp.
54214
54215         No new tests, build fix only.
54216
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):
54237
54238 2010-02-01  Dumitru Daniliuc  <dumi@chromium.org>
54239
54240         Reviewed by Eric Seidel.
54241
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
54246         on the DB thread.
54247
54248         https://bugs.webkit.org/show_bug.cgi?id=34152
54249
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):
54257
54258 2010-02-01  Sam Weinig  <sam@webkit.org>
54259
54260         Reviewed by Beth Dakin.
54261
54262         Fix EXPERIMENTAL_SINGLE_VIEW_MODE build.
54263
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):
54277
54278 2010-02-01  Nate Chapin  <japhet@chromium.org>
54279
54280         Unreviewed, Chromium build fix.
54281
54282         Failed to properly add new files for http://trac.webkit.org/changeset/54150.
54283
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.
54297
54298 2010-01-27  Matt Perry  <mpcomplete@chromium.org>
54299
54300         Reviewed by Eric Seidel.
54301
54302         Add support for addUserScript to chromium port.
54303
54304         * bindings/v8/ScriptController.cpp:
54305         (WebCore::ScriptController::evaluateInWorld):
54306         * bindings/v8/ScriptController.h:
54307
54308 2010-02-01  Eric Carlson  <eric.carlson@apple.com>
54309
54310         Reviewed by Dan Bernstein.
54311
54312         https://bugs.webkit.org/show_bug.cgi?id=34448
54313         <rdar://problem/7598130>
54314
54315         RenderVideo::intrinsicSizeChanged infinite recursion
54316
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.
54325
54326 2010-02-01  Nate Chapin  <japhet@chromium.org>
54327
54328         Reviewed by Dimitri Glazkov.
54329
54330         [V8] Generate toV8() converter for most WebCore->V8 conversions,
54331         and defined custom converters in their respective V8<class>Custom.cpp.
54332
54333         Old converters in V8DOMWrapper will be deleted in a later patch.
54334
54335         https://bugs.webkit.org/show_bug.cgi?id=32563
54336
54337         * Android.v8bindings.mk:
54338         * WebCore.gyp/WebCore.gyp:
54339         * WebCore.gypi:
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.
54381
54382 2010-02-01  Alexander Pavlov  <apavlov@chromium.org>
54383
54384         Reviewed by Pavel Feldman.
54385
54386         Web Inspector: lazy-load textual resources to avoid UI hangup
54387         https://bugs.webkit.org/show_bug.cgi?id=34332
54388
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):
54394
54395 2010-02-01  Brady Eidson  <beidson@apple.com>
54396
54397         Reviewed by Adele Peterson.
54398
54399         Crash in Safari opening new tabs to "same page"
54400         <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
54401
54402         Test: fast/loader/crash-copying-backforwardlist.html
54403
54404         * loader/FrameLoader.cpp:
54405         (WebCore::FrameLoader::loadItem): Null check currentItem().
54406
54407         * page/Page.cpp:
54408         (WebCore::Page::goToItem): Ditto.
54409
54410 2010-02-01  Kevin Watters  <kevinwatters@gmail.com>
54411
54412         Reviewed by Kevin Ollivier.
54413
54414         [wx] Remove unused file that doesn't seem to belong to the port.
54415         
54416         https://bugs.webkit.org/show_bug.cgi?id=34445
54417
54418         * platform/wx/KeyEventWin.cpp: Removed.
54419
54420 2010-02-01  Eric Carlson  <eric.carlson@apple.com>
54421
54422         Reviewed by Adele Peterson.
54423
54424         Fullscreen API should be on HTMLVideoElement
54425         https://bugs.webkit.org/show_bug.cgi?id=34438
54426         
54427         Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement.
54428
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:
54441
54442 2010-02-01  Pavel Feldman  <pfeldman@chromium.org>
54443
54444         Reviewed by Timothy Hatcher.
54445
54446         Web Inspector: Syntax highlighting in source view of
54447         Resources pane stops half-way.
54448
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.
54454
54455         https://bugs.webkit.org/show_bug.cgi?id=34359
54456
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:
54471
54472 2010-02-01  Ben Murdoch  <benm@google.com>
54473
54474         Reviewed by Darin Adler.
54475
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
54478
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.
54481
54482 2010-02-01  Dirk Schulze  <krit@webkit.org>
54483
54484         Reviewed by Simon Fraser.
54485
54486         Add back an AffineTransform class for use by SVG
54487         https://bugs.webkit.org/show_bug.cgi?id=33750
54488
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.
54498
54499         No new tests. The new AffineTransformation code is tested by fast/canvas.
54500
54501         * Android.mk:
54502         * GNUmakefile.am:
54503         * WebCore.gypi:
54504         * WebCore.pro:
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):
54614
54615 2010-01-29  Philippe Normand  <pnormand@igalia.com>
54616
54617         Reviewed by Eric Carlson.
54618
54619         [GTK] set playbin mute property depending on volume value
54620         https://bugs.webkit.org/show_bug.cgi?id=31586
54621
54622         New API in MediaPlayer for mute control. 3 new methods are
54623         introduced:
54624
54625         - bool supportsMuting() const;
54626         - bool muted() const;
54627         - void setMuted(bool);
54628
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.
54634
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:
54669
54670 2010-02-01  Henry Haverinen  <henry.haverinen@nokia.com>
54671
54672         Reviewed by Simon Hausmann.
54673
54674         [Qt] Build without SSL support is broken
54675
54676         Added missing #ifdefs for OpenSSL support and one null-pointer
54677         check for the socket.
54678
54679         https://bugs.webkit.org/show_bug.cgi?id=34416
54680
54681         * platform/network/qt/SocketStreamHandlePrivate.h:
54682         * platform/network/qt/SocketStreamHandleQt.cpp:
54683         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
54684         (WebCore::SocketStreamHandlePrivate::send):
54685
54686 2010-02-01  Pavel Feldman  <pfeldman@chromium.org>
54687
54688         Reviewed by Timothy Hatcher.
54689
54690         Web Inspector: Fix rest of the NativeTextViewer (line numbers,
54691         conditional breakpoints, selection).
54692
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):
54710
54711 2010-02-01  Steve Block  <steveblock@google.com>
54712
54713         Reviewed by Ariya Hidayat.
54714
54715         Adds implementation of JavaString for V8.
54716         https://bugs.webkit.org/show_bug.cgi?id=33953
54717
54718         No new tests, build fix only.
54719
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):
54727
54728 2010-02-01  Alex Milowski  <alex@milowski.com>
54729
54730         Reviewed by Darin Adler.
54731
54732         Added compile time debug support for mathml layout (block boundary & baseline)
54733
54734         * mathml/RenderMathMLBlock.cpp:
54735         (WebCore::RenderMathMLBlock::stretchToHeight):
54736         (WebCore::RenderMathMLBlock::paint):
54737         * mathml/RenderMathMLBlock.h:
54738
54739 2010-02-01  Philippe Normand  <pnormand@igalia.com>
54740
54741         Rubber stamped by Xan Lopez.
54742
54743         Fixed compilation warning about unsigned vs signed comparison.
54744
54745         * plugins/gtk/PluginViewGtk.cpp:
54746         (WebCore::PluginView::paint):
54747
54748 2010-01-31  Kent Tamura  <tkent@chromium.org>
54749
54750         Unreviewed. Revert r54112 and r54124 because of Windows build error.
54751
54752         * Android.mk:
54753         * GNUmakefile.am:
54754         * WebCore.gypi:
54755         * WebCore.pro:
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):
54792
54793 2010-01-31  Kwang Yul Seo  <skyul@company100.net>
54794
54795         Reviewed by Darin Adler.
54796
54797         Limit the scope of packing alignment to avoid MSVC C4103 warning.
54798         https://bugs.webkit.org/show_bug.cgi?id=34390
54799
54800         Use pack(push, 16) and pack(pop) to limit the scope of packing
54801         alignment change.
54802
54803         * bindings/js/JSSVGPODTypeWrapper.h:
54804
54805 2010-01-31  Kent Tamura  <tkent@chromium.org>
54806
54807         Reviewed by Darin Adler.
54808
54809         Fix valueAsNumber calculation for type=month.
54810         https://bugs.webkit.org/show_bug.cgi?id=34304
54811
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.
54815
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.
54828
54829 2010-01-31  Dan Bernstein  <mitz@apple.com>
54830
54831         Reviewed by Timothy Hatcher.
54832
54833         Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center
54834         https://bugs.webkit.org/show_bug.cgi?id=34398
54835
54836         * inspector/front-end/inspector.css: Specify line-height: normal for
54837         ".console-message .bubble" and ".sidebar-tree-item .status .bubble".
54838
54839 2010-01-28  Ojan Vafai  <ojan@chromium.org>
54840
54841         Reviewed by Darin Adler.
54842
54843         Implement CSSOM Range.getClientRects for collapsed selections
54844         https://bugs.webkit.org/show_bug.cgi?id=34239
54845
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.
54849
54850         * rendering/InlineTextBox.cpp:
54851         (WebCore::InlineTextBox::selectionRect):
54852         * rendering/RenderText.cpp:
54853         (WebCore::RenderText::absoluteQuadsForRange):
54854
54855 2010-01-31  Oliver Hunt  <oliver@apple.com>
54856
54857         Reviewed by Simon Fraser.
54858
54859         Animated scaling of background-image is too slow
54860         https://bugs.webkit.org/show_bug.cgi?id=33808
54861
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.
54866
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:
54891
54892 2010-01-31  Dirk Schulze  <krit@webkit.org>
54893
54894         Reviewed by Simon Fraser.
54895
54896         Add back an AffineTransform class for use by SVG
54897         https://bugs.webkit.org/show_bug.cgi?id=33750
54898
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.
54908
54909         No new tests. The new AffineTransformation code is tested by fast/canvas.
54910
54911         * Android.mk:
54912         * GNUmakefile.am:
54913         * WebCore.gypi:
54914         * WebCore.pro:
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):
55020
55021 2010-01-31  Pavel Feldman  <pfeldman@chromium.org>
55022
55023         Reviewed by Timothy Hatcher.
55024
55025         Web Inspector: [REGRESSION] Breakpoint source line is not displayed
55026         in the breakpoint manager.
55027
55028         * inspector/front-end/SourceFrame.js:
55029         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
55030
55031 2010-01-31  Pavel Feldman  <pfeldman@chromium.org>
55032
55033         Reviewed by Timothy Hatcher.
55034
55035         Web Inspector: Introduce NativeTextViewer.
55036
55037         This change handles rendering highlighted text, using browser's
55038         selection/drag/drop/click logic. Breakpoint decorations and
55039         program counter is working.
55040
55041         Todo: line numbers are painted 'under' the text when scrolling
55042         horizontally, search is not yet implemented.
55043
55044         https://bugs.webkit.org/show_bug.cgi?id=34391
55045
55046         * WebCore.gypi:
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:
55092
55093 2010-01-31  Benjamin Poulain  <benjamin.poulain@nokia.com>
55094
55095         Reviewed by Eric Seidel.
55096
55097         [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms
55098         https://bugs.webkit.org/show_bug.cgi?id=34168
55099
55100         Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded
55101         and Symbian
55102
55103         * WebCore.pro:
55104
55105 2010-01-31  Yury Semikhatsky  <yurys@chromium.org>
55106
55107         Reviewed by Pavel Feldman.
55108
55109         Make ScriptState destructor protected since all non-empty
55110         ScriptStates are managed by GC. Remove obsolete constructor.
55111
55112         https://bugs.webkit.org/show_bug.cgi?id=34266
55113
55114         * bindings/v8/ScriptState.cpp:
55115         * bindings/v8/ScriptState.h:
55116
55117 2010-01-30  Simon Fraser  <simon.fraser@apple.com>
55118
55119         Reviewed by Dan Bernstein.
55120
55121         Use CGGradient on Leopard and later, since it's faster than CGShading
55122         https://bugs.webkit.org/show_bug.cgi?id=34384
55123
55124         Use CGGradient on Leopard and later, rather than CGShading, for
55125         performance.
55126
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.
55131
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.
55138
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
55144
55145 2010-01-30  Simon Fraser  <simon.fraser@apple.com>
55146
55147         Reviewed by Adele Peterson.
55148
55149         Do color animations on premultiplied colors
55150         https://bugs.webkit.org/show_bug.cgi?id=34383
55151         
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.
55155
55156         Test: transitions/color-transition-premultiplied.html
55157
55158         * page/animation/AnimationBase.cpp:
55159         (WebCore::blendFunc):
55160
55161 2010-01-30  Gustavo Noronha Silva  <gns@gnome.org>
55162
55163         Build fixes needed for make distcheck.
55164
55165         * GNUmakefile.am:
55166
55167 2010-01-29  Mark Rowe  <mrowe@apple.com>
55168
55169         Stop copying an IDL file in to the framework wrapper.
55170
55171         * WebCore.xcodeproj/project.pbxproj:
55172
55173 2010-01-29  Mark Rowe  <mrowe@apple.com>
55174
55175         Sort Xcode projects.
55176
55177         * WebCore.xcodeproj/project.pbxproj:
55178
55179 == Rolled over to ChangeLog-2010-01-29 ==