Extract UTI mapping and allow for additions
[WebKit-https.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<